안녕하세요. 최근에 마스커스 0.3 버전이 출시되었습니다. 이에 따라 기존 트래킹 개선 및 편의기능이 추가되었고 맥북 환경에서 원활하게 돌아갈 수 있을 정도로 성능을 향상했습니다. 이 포스트에서는 저희 회사에서 개발한 마스커스를 소개하고 누구나 1분 안에 버튜버로 데뷔해 볼 수 있는 튜토리얼을 소개하겠습니다. 1. 마스커스 소개 마스커스는 데벤트에서 개발한 3D 얼굴캡처 소프트웨어입니다. 웹 브라우저로 설치 없이 간편하게 사용할 수 있습니다. 현재 두 가지 페이스 옵션을 제공하며 버튜버 옵션 또한 존재합니다. 사용자가 VRM파일을 업로드해서 커스텀할 수 있고 기본 버튜버 모델로도 충분히 가능합니다. 웹캠만 있으면 언제 어디서든 버튜버를 할 수 있으며 아래에서 바로 체험해 보실 수 있습니다. + 꼭 웹캠이..
전체 글
안녕하세요 🔭 소프트웨어 개발자 허형준입니다. 개인적인 에세이와 대중적인 기술 칼럼을 쓰고 있습니다. 테스트베드 스타트업 데카르트좌표계를 창립하고 bleeding edge 기술을 다루고 있습니다.신입 개발자 취업을 하다 보면 기초 지식에 대한 질문을 받기도 합니다. 아래 면접 질문은 정말 자주 나오는 유형이기도 하고 기초라고 하기엔 고급 질문도 섞여있기 때문에 개념적인 측면에서도 증명할 수 있습니다. 만약 아래 질문에 대해 막힘없이 서술이 가능하다면 적어도 면접은 충분히 통과할 거라 믿습니다. 그러나 요새는 프로젝트 자체에 대한 질문이 많아지는 추세입니다. 면접관이 깃허브 레포를 하나하나 들여다보면서 기술적 개념에 대해 물어보게 됩니다. 자신이 어떤 기술을 쓰고 있느냐에 따라 답변이 달라지니 사용한 기술에 대해 준비하시는걸 권장드립니다. 그럼에도 아래 나와있는 질문을 종종 물어보시기 때문에 알아두시면 면접하는 데 있어 유리하게 작용하실 겁니다. 이 포스트에서는 신입 프론트엔드 개발자를 위한 자바..
포트폴리오는 지원자의 첫인상을 결정합니다. 특히 개발자에게 포트폴리오는 작업물을 공유하고 기업에게 어필하기 위한 가장 좋은 수단입니다. 반대로 기업은 지원자의 기술 역량을 파악하고 성향과 코드 스타일까지 확인할 수 있기에 협업에 유리한 인재인지 아닌지를 알게 됩니다. 그렇기에 지원자는 포트폴리오 관리에 신경 쓸 수밖에 없습니다. 이번 포스트에서는 신입 개발자(프론트엔드 and 백엔드)를 위한 포트폴리오 작성법을 소개합니다. 1. 팀 프로젝트와 개인 프로젝트를 적절하게 팀 프로젝트는 협업 능력을 측정하기 위한 중요한 포트폴리오입니다. 평생 개인 프로젝트만 해온 사람 즉, 독학러들은 상대적으로 깃허브 브랜치 전략이나 실무 협업을 경험해보지 못해 입사 초기부터 버벅거릴 수 있습니다. 기업 입장에서 이런 사람을..
VR기기를 플레이하다 보면 안전경계가 거슬리는 지점이 옵니다. 사용자 보호를 위해 만들어놓은 경계인데, 넓게 잡지 않는 이상 플레이하는 데 있어 어려움이 있습니다. 같은 이유로 AR앱을 켜고 밖을 돌아다닐 수 없습니다. 저는 개발자 입장이기에 안전경계를 끄고 AR앱을 개발하고 싶지만, 메타에서는 안전상의 이유로 경계 해제를 불가능하게 만들어놨습니다. 이 포스트에서는 안전경계를 끄는 방법을 살펴봅니다. 1. 개발자 계정 생성 https://developer.oculus.com/manage/ Oculus Developer Center | Authenticate developer.oculus.com 오큘러스 개발자 센터로 접속해줍니다. 로그인 버튼을 클릭해 줍니다. 이제 개발자 계정을 등록할 페이스북 또는 인..
NextJS를 먹어보던 중 에러가 발생했다. 이거 이거 CRA랑 판박이네, 그냥 설정해 봐야지. 하다가 또 당했다. 이 포스트에서는 NextJS를 처음 시작하다가 마주한 요상한 에러에 대해 알아본다. 1. 원인 Create next app를 사용해 앱을 실행시키려니 다음과 같은 에러가 등장했다. 무슨 파일을 열지 못한다는데 이상한 에러다. 그래서 검색을 했고 3초만에 답을 알아냈다. (base) ➜ next-learn git:(main) ✗ PORT=3003 npm run start > my-app@0.1.0 start > next start ▲ Next.js 14.1.0 - Local: http://localhost:3003 [Error: ENOENT: no such file or directory, ..
가끔 로컬에서 개발하다 보면 보안 정책 때문에 HTTPS를 적용할 필요가 생깁니다. Native API를 사용하거나 통신상 HTTPS 여야만 가능하다거나 하는데 이때마다 인증서를 발급하고 적용하기란 여간 귀찮은 일이 아니죠. 이런 이유로 CRA(create-react-app)에서는 자체 HTTPS를 제공합니다. 그 실행 방법도 너무나 간편해서 누구나 쉽게 따라 할 수 있습니다. 1. 명령어 먼저 create-react-app를 설치해줍니다. 타입스크립트를 사용한다면 뒤에 --template typescript를 추가하면 되고, 그렇지 않다면 아래 명령어를 입력하기만 하면 됩니다. npx create-react-app my-app 앱 디렉토리로 이동한 후 아래 명령어로 실행해주기만 하면 끝납니다. HTTP..
TypeScript는 전 세계 개발자들에게 사랑받는 JS 런타임 중 하나입니다. 저 역시도 기존 자바스크립트로 진행하던 프로젝트를 모두 타입스크립트로 리팩토링하기도 했죠. 이전 대비 엄청난 생산성과 더불어 다시는 Type Error를 보게 되지 않았다는 점도 장점입니다. 근데 대게 타입스크립트를 처음 배우고 적용하는데 어려움을 겪습니다. 겉으로만 보면 JavaScript와 크게 달라지지도 않아 보이는데 굳이 불편하게 적용할 이유는 없어 보이기도 합니다. 학습 난이도와 합리적이지 않은 개발 과정 때문에 주니어 개발자분들은 그 필요성을 잘 못 느끼시는 편입니다. 그러나 제 주변에도 타입스크립트!, 취업 시장에서도 타입스크립트!를 부른다면 거기에는 합리적인 이유가 있다는 증거입니다. 왜 자바스크립트 대신에 타..
이 글은 링크드인에 써놓은 글을 약간 수정한 글입니다. 글의 원문은 제 링크드인에 있습니다. 인간관계는 어렵습니다. 특히 저처럼 매번 연락하지 않는 사람들, 인간관계에 큰 공을 들이지 않는 사람들에게는 더욱 그렇습니다. 몇 년 전 저는 인간관계를 수월하게 관리할 수 있는 몇 가지 정리를 만들었고 지금까지 유지해오고 있습니다. 이 정리를 통해 나름 괜찮은 인간관계를 유지했고 관계의 번잡함을 해결했습니다. 그럼, 이 포스트에서는 어쩌면 (제 입장에서) 완벽에 가까운 인간관계 전략을 알아봅니다. 1. 지성적 사고를 독려하는 사람들과 데카르트는 저서 에서 논리학의 번잡한 규정 대신 스스로 만든 규칙으로 결단을 내렸습니다. 아래 4개의 결단은 데카르트가 앞으로 성취할 인식과 학업에서 주요한 역할을 했습니다. 첫째..