The journey to becoming a developer

My future is created by what I do today, not tomorrow.

Total 23

팀 프로젝트에 꼭 필요한 Commit Convention: 이슈 번호와 커밋 타입으로 관리하기

💬 Motivation 2022년 10월부터 Pullanner 프로젝트를 진행하면서, 프론트엔드 팀원과 함께 커밋 컨벤션을 정리해 보았다. 사실 작년 11월 24일에 완성했지만 팀 노션에만 저장해 두었다. 이번에 블로그에 업로드하게 된 계기는 원티드 프리온보딩 프론트엔드 인턴십 과정에 참가하여 팀 프로젝트를 하게 된 것이다. 함께 하게 된 팀원들과 커밋 컨벤션을 정해야 했고, 이때 정리된 문서를 보여주게 된다면 더 효과적일 것이라 생각했다. 팀원들이 나 포함 8명이었기 때문에 꽤 많았고, 각자가 사용해 왔던 커밋 컨벤션들을 돌아가면서 말하게 되었다. 이때 나는 정리해뒀던 커밋 컨벤션을 팀원분들께 보여드렸고, 이것이 최종 선택이 되었다. 여기서 깨달았던 것은, 정리해 둔 것은 언젠가 빛을 발할 수 있다는 ..

Programming/Git 2023.02.22

JSON 뜯어보기 (Feat.JSON.stringify, JSON.parse)

JSON (JavaScript Object Notation) JSON은 무엇을 목적으로 만들어졌을까? 자바스크립트에서는 어떤 메서드를 지원하고, 어떻게 사용할까? 이에 대한 궁금증을 해소하기 위해 정리해 본 글이다. A lightweight data-interchange format JSON은 데이터 교환을 목적으로 만들어졌다. 클라이언트와 서버가 HTTP 통신을 할 때 사용되는 텍스트 데이터 포맷이다. JSON은 JavaScript에서 사용할 목적으로 만들어진 포맷이다. 그러나 JavaScript에 종속되지 않는 언어 독립적인 데이터 포맷 (language-independent data format)이 되었고, 대부분의 프로그래밍 언어에서 사용할 수 있다. JSON 형식의 데이터를 파싱하고 생성하는 코..

Programming 2023.02.13

🌳 Git subtree: 여러 개의 Repository 하나로 합치기

Motivation 내가 처음 GitHub 계정을 만든 날은 2021년 6월 6일. 벌써 3년을 향해 달리고 있다는 사실이 믿기지 않을 정도로 시간이 빠르게 흘렀다. 이렇게 시간이 흐르는 동안, 나의 GitHub repository 갯수는 계속 늘어만 갔다. 뭔가를 새롭게 공부할 때나 프로젝트를 시작할 때마다 새로 만드니 당연한 거였다. 하지만 repository 개수가 60개를 넘어가니, 좀 정리를 해줘야겠다고 생각했다. 그런데 막상 repository 그냥 삭제하자니, 과거의 커밋 내역까지 사라지는 게 아쉬웠다. 과거의 커밋 내역을 살리면서 repository를 하나로 합칠 순 없을까? 궁금해서 구글링을 해봤고, 방법을 찾아낼 수 있었다. 핵심은 git 명령어 중 subtree를 쓰는 것이었다. gi..

Programming/Git 2023.02.11

Objects in JavaScript: 자바스크립트에서 객체 4가지로 분류하기

Objects in JavaScript setTimeout과 setInterval 함수에 대한 설명을 읽고 있었는데, 이것들이 호스트 객체라는 설명을 보았다. 처음에 이 말을 보고 정확히 와닿지 않아서 더 알아보기로 했다. 찾아 보니 자바스크립트에서 객체는 크게 4가지 정도로 분류가 가능했다. 모던 자바스크립트 딥 다이브 책을 읽고 나니, 이제는 자바스크립트에서 객체를 바라볼 때 큰 틀에서 4가지로 분류해서 볼 수 있는 시야가 생겼다. 전역 객체의 특징에서 암묵적 전역(Implicit global)이 전역 객체의 프로퍼티가 된다는 말이 있었다. 사실 전역 객체에 프로퍼티를 등록하는 코드를 지금까지 작성해서 사용해 본 적이 없고, 앞으로도 없지 않을까 예상해본다. 선언하지도 않은 변수에 값을 할당하는 것은..

디버깅 짚고 넘어가기 (Feat. VS Code에서 디버깅하기)

What is a “software bug”? software bug, 혹은 줄여서 bug는 소프트웨어가 예상치 못한 잘못된 결과를 내는 것을 말한다. 버그는 프로그램의 소스 코드에서의 잘못된 부분이나 설계 과정에서의 오류 때문에 발생한다. 버그는 사소한 것부터 심각한 것까지 다양한 수준으로 발생할 수 있다. 어떤 소프트웨어 버그는 재난과 같을 수 있다. 1996년 European Space Agency의 10억 달러 프로토타입 Ariane 5 로켓은 on-board guidance 컴퓨터 프로그램의 버그로 인해 발사 후 1분도 되지 않아 파괴되었다. 2002년 미국 상무부(US Department of Commerce)의 국립표준 기술연구소(National Institute of Standards an..

Programming 2023.02.03

JavaScript - Variable, Closure

2주 만에 재개된 자바스크립트 스터디. 오늘은 저번에 했던 단원들을 묶어서 복습하는 식으로 진행했다. 앞으로 당분간은 오늘같은 식으로 단원을 묶어서 진행할 예정이다. 제이와 난정은 사정이 있어 참석하지 못했고 칸, 앨런, 도트와 함께 넷이서 진행했다. 코드스쿼드 수료 이후의 첫 스터디였고 그동안 약간 풀어진 나사를 다시 조이는 계기가 되었다. 얕게 스쳐만 지나갔던 개념들을 선명하게 머릿속에 집어넣고 제대로 말할 수 있을 정도로 반복을 해야겠다고 느꼈다. 기억을 오래 남기고 싶어 다시 한 번 정리하는 시간을 가져본다. 🧩 Variable 변수란 무엇이고, 왜 필요한가? 변수란 결국 프로그래밍을 할 때 데이터 관리를 용이하게 하기 위해 사용하는 것. 재사용하고 싶은 값을 메모리에 저장하고, 그 값을 읽기 위..

UUID: Universally Unique Identifier

# UUID란? 소프트웨어를 개발할 때는 다양한 형태의 식별자가 필요하다. 식별자를 만들 때 가장 범용적으로 사용하는 것이 범용 고유 식별자(UUID)이다. 이것은 컴퓨터 시스템 내에서 고유한 객체를 식별하기 위해 사용되는 값이다. UUID는 네트워크상에 존재하는 여러 컴퓨터를 식별하기 위해 사용되기 시작했다. # UUID의 구조 하이픈(-) 4개와 16진수 32개로 구성되어 있다. 8-4-4-4-12 구조를 유지한다. 하이픈은 UUID 값을 읽기 편하게 추가한 구분자로서 생략하는 경우도 많다. UUID 값을 저장할 때는 하이픈을 제외한 16진수만 저장한다. 16진수 하나를 표현하는 데 4비트(0.5byte)가 필요하다. UUID 개수는 32개이므로 32 x 4 = 128bit, 총 16byte가 필요하..

Programming 2022.05.06

OAuth 학습 정리

Web을 지탱하는 기술 중 하나인 OAuth Restful API가 서로 다른 두 애플리케이션 간 데이터를 간편하게 전달하기 위해 만든 관례라면, OAuth는 데이터를 간편하고 안전하게 주고받기 위해 만들어진 표준이라고 한다. OAuth는 ID, 비밀번호 대신 Access token을 기반으로 사용자를 식별한다 이 토큰은 API를 제공하는 Resource server만 발급할 수 있다. 일정 시간이 지나면 폐기될 수 있다. 모든 토큰은 필요한 권한만 지니게 할 수 있어서 서버는 클라이언트의 접근 권한을 쉽게 제어할 수 있다. 예를 들어, 페이스북 API를 사용할 때 "읽기 권한"만 가진 Access token을 만들 수 있다. 모바일 앱이 페이스북 인증을 지원하고 읽기 전용 토큰만 사용한다면 이 앱은 t..

Programming 2022.04.25
1 2 3