IT 알쓸신잡12 혼자 할 땐 몰랐던 커밋 메시지의 중요성 최근 팀 프로젝트를 하면서 Git을 본격적으로 사용하게 되었고, 커밋 메시지를 언제, 어떻게 작성해야 하는지 참 어렵게 느껴졌다.혼자 프로젝트를 할 땐 늘 "아 오늘은 여기까지! 커밋!" 하루 작업 단위로만 커밋을 진행했다.작업 내용이 명확하게 드러나지 않고, 무슨 작업이었는지 나조차도 기억하기 힘들었다. 그래서 나는"커밋 메시지, 이제는 아무렇게나 쓰면 안 되겠다."는 생각이 들었고,그동안 배운 것들을 정리해보려 한다.📌 왜 커밋 메시지가 중요할까?코드 히스토리 추적이 쉬워짐협업 시 변경 내용 이해가 쉬움PR 리뷰, 디버깅 효율 증가좋은 커밋 메시지는 프로젝트의 유지보수성을 높이고, 개발 팀 내에서의 협업을 강화하는 데 기여한다.따라서 커밋 메시지 작성은 단순한 기록을 넘어서 프로젝트 관리의 핵심 요.. 2025. 4. 4. 굳바이 styled-components😢 styled-components 막 즐겁게 배우고 있는 찰나. . 안타까운 소식을 접했다. 띠로리 Thank you - styled-componentsFirst and foremost, thank you to everyone who has contributed to styled-components over the years. Open Source is hard work, and many of the larger feature and/or refactoring drives probably would never have shipped without your support! As...opencollective.com이 글에서 말하고자 하는 주요 내용:styled-components 프로젝트가 "유지 보수 모드.. 2025. 4. 1. 모노레포 접근법 작은 프로젝트들을 하나의 파일에서 관리하고싶어서 찾고찾다가 발견했다.모노레포(Monorepo)여러 프로젝트나 패키지를 단일 코드 저장소에서 관리하는 소프트웨어 개발 접근법monolithic repository의 줄임말로, 관련된 여러 프로젝트의 코드를 하나의 버전 관리 저장소에 보관하는 방식각 프로젝트를 개별 저장소(멀티레포)로 관리하는 전통적인 방식과 대비된다.monorepo/├── packages/ # 개별 프로젝트들│ ├── project-a/ # 첫 번째 프로젝트│ │ ├── package.json│ │ └── src/│ ├── project-b/ # 두 번째 프로젝트│ │ ├── package.json│ │ └── src/│ .. 2025. 3. 19. 프로그래밍 언어와 기술 ? 회사 공고들을 살펴보던 중, 프로그래밍 언어와 기술 스택의 구분에 혼동이 와서 헷갈리기 시작했다.취업을 준비하는 내가 공부한 언어와 다룰 수 있는 기술 스택에 대해 정확히 말할 수 있어야 한다는 생각이 들었다. 그래서 애매하게 알고 있던 개념들을 명확히 정의하고, 자신 있게 설명할 수 있도록 정리해보기로 했다. 프로그래밍 언어 (Programming Language)프로그래밍 언어는 컴퓨터와 소통하기 위해 개발자가 사용하는 문법과 구성 요소를 정의하는 규칙이다.문법 : 언어는 코드의 구문과 구조를 정의한다.명령어 : 개발자가 작성한 명령어를 컴퓨터가 이해할 수 있도록 변환한다.컴퓨터는 인간의 언어를 이해할 수 없기 때문에 기계가 알아들을 수 있는 언어가 필요하다.저급언어기계어 : 컴퓨터가 해석할 수 있는.. 2025. 3. 4. 사용자 / 클라이언트 / 서버 사용자(User)웹사이트나 애플리케이션을 이용하는 사람웹사이트에 접속하고, 검색을 하고, 버튼을 클릭하는 모든 행위를 하는 주체가 사용자사용자의 역할클라이언트(브라우저, 앱 등)를 조작하여 서버와 상호작용데이터를 입력하거나 조회하는 등의 활동 수행웹 서비스나 앱을 소비하는 최종 주체클라이언트(Client)사용자가 서버와 통신하기 위해 사용하는 프로그램 또는 장치사용자가 서버에 요청을 보내고 응답을 받는 역할클라이언트의 역할사용자의 입력을 받아 서버에 요청을 보냄 (예: 검색어 입력 후 엔터)서버의 응답을 받아 사용자에게 보여줌 (예: 검색 결과 표시)클라이언트의 종류웹 브라우저 → 크롬(Chrome), 엣지(Edge), 사파리(Safari) 등모바일 앱 → 인스타그램, 유튜브, 네이버 앱 등데스크톱 앱 .. 2025. 2. 19. GitHub 원격 저장소와 연결하고 변경 사항 푸시하기 GitHub 원격 저장소와 연결하고 변경 사항 푸시하는 방법 !! 푸시푸시 베이베 1. Git 저장소 초기화새로운 프로젝트에서 Git 버전 관리를 시작하려면 먼저 로컬 디렉토리에서 Git 저장소를 초기화해야 한다.git init 2. GitHub 원격 저장소 연결GitHub에서 생성한 원격 저장소의 URL을 로컬 Git 저장소와 연결git remote add origin 원격 저장소가 정상적으로 추가되었는지 확인 git remote -v 3. 변경 사항 스테이징로컬 저장소에서 변경된 모든 파일을 GitHub 원격 저장소로 푸시하려면 먼저 변경된 파일을 스테이징해야한다.git add . 4. 커밋하기변경 사항을 커밋하려면 아래 명령어를 입력git commit -m "첫 커밋 메시지" 5. 로컬 저장소를.. 2025. 1. 24. 프레임워크와 라이브러리의 차이점 프레임워크 (Framework)란? 소프트웨어 개발을 위한 기본적인 구조와 기능을 미리 제공하는 플랫폼기본적인 틀을 제공하고, 그 틀 안에서 개발자가 필요한 부분을 추가하거나 수정하는 방식으로 동작한다.프레임워크는 개발을 더 빠르고 효율적으로 할 수 있게 도와주는 도구 프레임워크의 특징기본 구조 제공: 프레임워크는 애플리케이션의 기본적인 구조나 작동 방식을 미리 정의해 둔다. 재사용 가능한 코드: 다양한 기능을 미리 구현해 두어서 개발자가 그 기능을 재사용할 수 있게 해준다.규약에 따른 개발: 프레임워크는 특정한 규약(Convention)을 따르도록 유도합니다. 규약을 따르는 개발 방식은 일관성을 유지하며, 다른 개발자들도 쉽게 이해하고 협업할 수 있게 해줍니다. 확장성: 필요에 따라 더 많은 기능을 추.. 2025. 1. 1. 동기 I/O와 비동기 I/O가 무엇일까? Node.js는 비동기 I/O 방식으로 작동한다. 비동기는 뭐고 I/O는 대체 뭘까..I/O는 입력(Input) / 출력(Output)을 뜻한다.I/O의 구성 요소입력 (Input):프로그램이 외부에서 데이터를 받는 과정예시: 키보드 입력, 마우스 클릭, 파일 읽기, 네트워크 요청 받기 등.출력 (Output):프로그램이 외부로 데이터를 내보내는 과정예시: 화면에 텍스트 출력, 파일 저장, 네트워크 응답 보내기 등.I/O의 종류파일 시스템 I/O: 파일을 읽거나 쓰는 작업 (예: 파일에서 데이터를 읽기(입력), 데이터를 파일에 저장하기(출력)).네트워크 I/O: 네트워크를 통해 데이터를 보내거나 받는 작업 (예: 웹 서버와 클라이언트 간의 HTTP 요청과 응답).디바이스 I/O: 하드웨어 장치와의 데이터.. 2025. 1. 1. 서버와 리소스 접근의 기초: IP, DNS, URL 식당에서 음식을 서빙하는 것처럼, 서버는 클라이언트에게 데이터를 전달한다.반대로 클라이언트는 서버에게 정보를 요청하여 이를 받아가는 역할을 한다. 클라이언트 측 개발은 주로 프론트엔드라고 하며, 사용자와의 직접적인 상호작용을 담당한다.서버 측에서는 백엔드가 데이터베이스 관리, API 처리, 서버 로직 구현 등을 맡아 서버의 동작을 담당한다. 이러한 서버와 클라이언트 간의 상호작용은 IP 주소를 통해 서버를 식별하고, DNS를 사용해 도메인 이름을 IP로 변환하여 실제 서버에 연결한 후, URL을 통해 요청하는 리소스를 지정하는 방식으로 이루어진다.IP와 DNSIP(Internet Protocol)IP는 컴퓨터나 서버의 주소로, 전화번호와 같은 역할을 한다.우리가 어떤 서버에게 요청을 보내고 싶으면 IP .. 2024. 12. 29. 이전 1 2 다음