개발자

· 💻기술
Apple의 Vision Pro가 출시되었습니다. 20만 대 사전 예약, 반품 행렬 등 그동안 수많은 사건이 있었고 논란도 많았습니다. 현재 시점으로 조금 정리된 것 같은데, 메타에서는 이 기회를 틈타 자사의 VR기기를 홍보하고 있습니다. 특히 메타의 경우 LG와 협력하여 새로운 퀘스트 4를 출시할 계획이라는 루머도 도는데요. 이 포스트에서는 왜 VR콘텐츠 보급이 어려운지, 킬러앱의 등장은 없는 건지 여부에 대해 개발자의 시선에서 소개하겠습니다. 1. 기존의 VR 컨텐츠 개발 우선 몇 가지 도구가 필요합니다. 기존 소프트웨어&게임 개발의 경우 컴퓨터만 있어도 충분했으나 VR콘텐츠의 경우 기본적으로 요구하는 성능이 높습니다. 채도가 높아질수록 어지러움을 덜 느낀다는 연구도 있을 만큼, 콘텐츠 자체가 화려해..
신입 개발자 취업을 하다 보면 기초 지식에 대한 질문을 받기도 합니다. 아래 면접 질문은 정말 자주 나오는 유형이기도 하고 기초라고 하기엔 고급 질문도 섞여있기 때문에 개념적인 측면에서도 증명할 수 있습니다. 만약 아래 질문에 대해 막힘없이 서술이 가능하다면 적어도 면접은 충분히 통과할 거라 믿습니다. 그러나 요새는 프로젝트 자체에 대한 질문이 많아지는 추세입니다. 면접관이 깃허브 레포를 하나하나 들여다보면서 기술적 개념에 대해 물어보게 됩니다. 자신이 어떤 기술을 쓰고 있느냐에 따라 답변이 달라지니 사용한 기술에 대해 준비하시는걸 권장드립니다. 그럼에도 아래 나와있는 질문을 종종 물어보시기 때문에 알아두시면 면접하는 데 있어 유리하게 작용하실 겁니다. 이 포스트에서는 신입 프론트엔드 개발자를 위한 자바..
· 💻기술
포트폴리오는 지원자의 첫인상을 결정합니다. 특히 개발자에게 포트폴리오는 작업물을 공유하고 기업에게 어필하기 위한 가장 좋은 수단입니다. 반대로 기업은 지원자의 기술 역량을 파악하고 성향과 코드 스타일까지 확인할 수 있기에 협업에 유리한 인재인지 아닌지를 알게 됩니다. 그렇기에 지원자는 포트폴리오 관리에 신경 쓸 수밖에 없습니다. 이번 포스트에서는 신입 개발자(프론트엔드 and 백엔드)를 위한 포트폴리오 작성법을 소개합니다. 1. 팀 프로젝트와 개인 프로젝트를 적절하게 팀 프로젝트는 협업 능력을 측정하기 위한 중요한 포트폴리오입니다. 평생 개인 프로젝트만 해온 사람 즉, 독학러들은 상대적으로 깃허브 브랜치 전략이나 실무 협업을 경험해보지 못해 입사 초기부터 버벅거릴 수 있습니다. 기업 입장에서 이런 사람을..
· 💻기술
TypeScript는 전 세계 개발자들에게 사랑받는 JS 런타임 중 하나입니다. 저 역시도 기존 자바스크립트로 진행하던 프로젝트를 모두 타입스크립트로 리팩토링하기도 했죠. 이전 대비 엄청난 생산성과 더불어 다시는 Type Error를 보게 되지 않았다는 점도 장점입니다. 근데 대게 타입스크립트를 처음 배우고 적용하는데 어려움을 겪습니다. 겉으로만 보면 JavaScript와 크게 달라지지도 않아 보이는데 굳이 불편하게 적용할 이유는 없어 보이기도 합니다. 학습 난이도와 합리적이지 않은 개발 과정 때문에 주니어 개발자분들은 그 필요성을 잘 못 느끼시는 편입니다. 그러나 제 주변에도 타입스크립트!, 취업 시장에서도 타입스크립트!를 부른다면 거기에는 합리적인 이유가 있다는 증거입니다. 왜 자바스크립트 대신에 타..
· 비즈니스
이 글은 링크드인에 써놓은 글을 약간 수정한 글입니다. 글의 원문은 제 링크드인에 있습니다. 인간관계는 어렵습니다. 특히 저처럼 매번 연락하지 않는 사람들, 인간관계에 큰 공을 들이지 않는 사람들에게는 더욱 그렇습니다. 몇 년 전 저는 인간관계를 수월하게 관리할 수 있는 몇 가지 정리를 만들었고 지금까지 유지해오고 있습니다. 이 정리를 통해 나름 괜찮은 인간관계를 유지했고 관계의 번잡함을 해결했습니다. 그럼, 이 포스트에서는 어쩌면 (제 입장에서) 완벽에 가까운 인간관계 전략을 알아봅니다. 1. 지성적 사고를 독려하는 사람들과 데카르트는 저서 에서 논리학의 번잡한 규정 대신 스스로 만든 규칙으로 결단을 내렸습니다. 아래 4개의 결단은 데카르트가 앞으로 성취할 인식과 학업에서 주요한 역할을 했습니다. 첫째..
해커톤을 나가거나 실무를 한다면 협업은 필수입니다. 이때 어떤 사람은 끝에 세미콜론을 안 붙이거나, 같은 알고리즘을 짜더라도 가독성을 신경 쓰지 않거나, Tab vs Space 논쟁이 시사하는 것처럼 컨벤션을 다르게 하기도 합니다. 이때마다 "컨벤션을 통일합시다"라고 말하기에는 각자의 코드 스타일이 너무 명확해서 오히려 불편해지고 생산성이 떨어지는 문제를 낳습니다. 그럴때 VSCode에는 협업을 위한 익스텐션이 여러 개 존재합니다. 이 포스트에서는 유용한 VSCode 익스텐션을 살펴보고 어떤 이점이 있는지 살펴봅니다. 1. Prettier - Code formatter 코드 포멧팅 도구입니다. 사실상 협업의 필수이기도 하고 앞서 언급했듯 Tab vs Space 논쟁을 한 번에 일축할 최고의 도구입니다. ..
프로그래밍 언어, Javascript. 특정한 소프트웨어를 만드는 데 있어 언어의 제약은 없지만, 개발 목적에 따라 특화된 언어는 존재한다. C#은 윈도우즈 개발, Java는 쉬운 코드와 안정성 범용성, Python은 ML. JavaScript는 웹이다. 현대의 산업은 웹에서 시작해, 웹으로 끝난다. 그만큼 인터넷과 웹의 범위는 상당하고 또 중요하다. 대부분의 전자상거래가 인터넷으로 이루어진 만큼, 개발자는 사용자에게 필요한 기능을 빠르고 안정적으로 제공해야 한다. 개발자가 선택할 수 있는 플랫폼은 두 가지다. 웹이냐 앱이냐. 앱 개발은 개발 비용이나 복잡성만큼이나, 빠르게 개발하기는 어렵다. 배포도 웹만큼 간편하지 않다. 심지어 플랫폼 업자에게 심사까지 받아야 한다. 반면 웹 개발에는 제한요소가 없다...
클린 아키텍처 클린 아키텍처는 프로젝트가 확장될 때 그 위력을 발휘한다. 프로젝트가 확장됨에 따라 로직이 여러 차례 바뀌게 되고 데이터 의존성은 뒤죽박죽 되기 십상이다. 이를 사전에 방지하기 위해서는 처음부터 견고하게 프로젝트 구조를 잡아야 한다. 클린 아키텍처는 객체 지향 설계를 원칙으로 한다. 이 원칙은 SOLID 원칙이라고도 불리는데 의존성 분리가 핵심이다. 예를 들어 로그인을 위해 아이디와 패스워드를 입력하는 유저가 있다고 해보자. 로그인 시 해당 정보는 사전에 정의된 api경로로 요청을 보낸다. 이후 API 서버에서는 해당 경로의 컨트롤러로 정보를 보내주고 컨트롤러는 해당하는 정보가 있는지 모델에서 알맞은 정보를 가져온다. 알맞은 정보가 있다면 로그인 성공이라는 메시지를 사용자에게 반환해준다. ..
DipokalHHJ
'개발자' 태그의 글 목록