
순서가 있는 목록은이렇게 앞에 1. 2. 3. ... 이렇게 붙히면 된다.예시)\~~\~~\~~...순서가 없는 목록은이렇게 앞에 - 를 붙히면 된다.예시)순서가 없는 목록순서가 없는 목록순서가 없는 목록...텍스트의 종류로는 기본적으로기울기 와 굵게 가 있다.이렇게

버전은 유의미한 수정을 의미정말 유명한 사진이고 나도 실제로 이랬던 경험이 있다.코드의 경우 따로 코드를 저장해두지 않으면Ctrl+Z 말고는 돌릴 방법이 없다.그래서 필요한 것이 버전 관리이고,버전 관리 시스템을 사용하는 것이다.버전 관리의 중요성으로는변경 사항 추적코

Git은 소스 코드 관리 도구로, 버전 관리와 협업에 매우 유용하게 사용된다.이 글에서는 Git의 기본적인 사용법과 자주 사용하는 명령어들에 대해 알아보겠다.CLI (Command Line Interface): 명령 줄 인터페이스로,글자와 명령어를 입력하여 컴퓨터와 상

깃허브와 브랜치는 개발자라면 꼭 알아야 하는 필수 개념이다.깃허브를 처음 접하는 사람도 쉽게 따라 할 수 있도록, 기본적인 사용법과 브랜치의 활용법을 정리해봤다.깃허브 레포지토리를 만들고, 프로젝트를 업로드하거나내려받는 방법부터 브랜치를 만들어 관리하는 방법까지 작성해

깃 브랜치 관리와 전략은 협업의 효율성을 결정짓는 중요한 요소이다.깃 브랜치를 잘 이해하고 적절한 규칙과 전략을 세우면 프로젝트의 흐름을 체계적으로 관리할 수 있다.오늘은 깃 브랜치 이름 규칙부터 병합 전략까지,깃 브랜치를 효과적으로 사용하는 방법을 알기 쉽게 정리 해

오늘은 웹이란 무엇이고, 웹 개발의 직무의 간단한 소개와기초적인 HTML 구조에 대해서 작성해보려고 한다.인터넷은 전 세계의 모든 컴퓨터를 하나의 통신망으로 연결하는 개념으로,International Network의 약자이다.즉, 우리는 인터넷을 통해 모든 사람과 연결

오늘은 프론트엔드라면 꼭 알아야하는 CSS와 Javascript에 대해 알아보겠다.Cascading Style Sheets 의 약자로, HTML을 꾸며주는 언어이다.문서를 통째로 한번에 꾸며주는 것이 아니라, HTML 태그를 하나하나 꾸며준다.HTMl에 CSS를 적용하

백엔드는 어떻게 동작할까?오늘은 백엔드의 구조를 이해하고 Node.js를 활용 방법을 알아보겠다.웹에서 클라이언트가 서버에 요청을 보내고, 서버가 응답하는 과정이다.1\. 클라이언트 : 사용자가 웹 사이트에 접속하면 요청을 보낸다.2\. 웹 서버 (Web Server)

백엔드 개발자는 API를 만든다.API는 "Application Programming Interface"의 줄임말이다.쉽게 말하면, 원하는 기능을 편하게 사용할 수 있도록 도와주는 것이다.예를 들면,지하철 도착 알림 앱이나, 카카오맵, 네이버 지도와 같은 서비스가 있다

웹에서 데이터를 주고받을 때,목적에 따라 적절한 HTTP Method를 사용해야 한다.POST : 생성(등록)GET : 조회PUT : 전체 수정(덮어쓰기)PATCH : 부분 수정DELETE : 삭제기타 : HEAD, OPTIONS, CONNECT, TRACE예를 들어,

오늘은 기존 html 모듈을 대신해 express 모듈로 실습을 진행해보았다.이 과정 중에 Node.js의 기본 생태계와html & express 모듈 간의 차이점,JSON 기초에 대해 학습하고 느낀 내용을 정리해보겠다.Node.js 는 단순한 서버 실행 환경이 아니다

오늘은 express 를 사용하여 간단하게 api 를 만들고 테스트를 진행해보았다.파라미터가 어떤 타입으로 반환되는지 확인하기 위해실습한 demo 코드이다.유튜브 링크를 활용해v(영상 ID)와 t(시간)을 추출하여 JSON 형태로 반환해보는 실습을 해봤다.간단하게 Ma

오늘은 기존 Get 방식으로 데이터를 조회해봤던 유튜버 실습 코드를Postman을 활용해 Post 방식도 실습해보았다.Postman은 API를 개발, 테스트, 디버깅하는 데 유용한 도구이다.간단하게 말하면, 클라이언트와 서버 간의 HTTP 요청을 쉽게 보낼 수 있도록

오늘은 새로 유튜브를 운영한다고 가정하고이전 코드들을 활용해 API 설계를 해보고 직접 실습해보는 시간을 가졌다.우선 핸들러에 대해 간략하게 알아보았다.핸들러는 HTTP 요청이 발생하면 자동으로 호출되는 메소드이다.Node.js:콜백 함수로 app.HTTPMETHOD(

저번에 완성하지 못하고 넘겼던 로그인 기능과추가적으로 예외처리, 고도화를 실습하였다.db.forEach() 를 사용하여 아이디가 존재하는지 우선 확인을 해야한다.우선 body에서 넘어온 userId 가 db에 존재하면 console.log("같은 아이디") 로 출력하고

오늘은 youtube-demo 프로젝트 안에 있는user-demo.js , channel-demo.js 를 합치기 위해 라우터(router) 에 대해 학습하였다.또한 중간중간에 if/else 구문 을 더 고도화 시키면서 예외처리를 강화해봤다.우선 라우터(Router)

오늘은 데이터베이스(Database, DB)에 간단하게 알아보았고,앞서 했던 실습에도 적용하는 시간을 가졌다.데이터베이스(Database, DB)는데이터를 체계적으로 저장하고 효율적으로 관리하기 위한 집합체이다.데이터를 구조화하여 저장함으로써 중복을 방지하고, 보다 빠

오늘은 데이터베이스(Database)를 실습하면서기존에 배웠던 INSERT, SELECT를 더 자세히 사용해보고JOIN에 대해서도 학습했다.직접 코드를 작성하고 실행해보았다.정상적으로 수정된 모습JOIN은 여러 개의 테이블을 결합하여 데이터를 조회하는 SQL 연산이다.

기존 channels.js 코드에서 데이터를 검증하는 기능이 부족하고,에러 처리 방식이 일관되지 않은 문제가 있었다.그래서 오늘은 유효성 검사에 대해 알아보는 시간을 가졌다.이번 리팩토링에서는 express-validator를 활용하여 입력값 검증을 추가하고,데이터베이

오늘은 JWT 와 .env 를 사용해 보안을 신경쓴 코드를 학습했다.로그인 과정예: 쇼핑몰에서 상품을 볼 때는 인증 불필요하지만, 구매하려면 로그인 필요권한 부여 과정예: 같은 사이트에서도 관리자는 모든 기능 접근 가능하지만, 일반 사용자는 일부 기능만 접근 가능클라이

오늘은 팀원과 함께 멘토님의 과제를 하면서 코드리뷰를 한 내용 말고는따로 학습한 내용이 없다.다만 Node.js 기반의 REST API로 새로 프로젝트를 시작하기에 앞서강사님이 와이어 프레임과 요구사항을 공유해주셨다.API 문서에 맞게 response 포맷정돈ex. 변

프로젝트 2에 들어가기 전 api 설계 를 진행했다.: 이미지 주소, 8개씩 전송해줘야 한다.: new : true => 신간 조회(기존 : 출간일 30일 이내): 이미지 주소, 8개씩 전송해줘야 한다.: 장바구니에서 주문된 상품은 delete오늘 이렇게 api 설계를
프로젝트 관리 솔루션은 팀원 간의 협업을 원활하게 하고, 일정 및 작업을 효과적으로 관리할 수 있도록 도와주는 도구이다. 각 솔루션마다 특성이 다르므로, 프로젝트 성격과 팀의 필요에 따라 적절한 도구를 선택하는 것이 중요하다.특징: 칸반(Kanban) 방식을 기반으로

새로운 프로젝트로 주제는 Book Shop 을 만드는 것이다.오늘은 app.js를 설정하고 routes 의 users.js 를 먼저 작성해보았다.app.js 는 프로젝트의 루트 파일로 다른 경로들로 연결 다리 역할을 했다.dotenv 라이브러리를 활용해 예민한 port

오늘은 저번 시간에 이어서 회원 관련해 회원가입, 로그인, 비밀번호 초기화 요청, 비밀번호 초기화 기능을 구현했다.앞서 코드가 너무 길어지는 것을 방지해 프로젝트 구조에 대해 알아보았다. 라우터는 사용자의 요청(req)이 들어오면 적절한 경로를 찾아주는 역할을 한다.

오늘은 도서와 관련된 API를 구현해보았다.처음에 기획할 때에는 도서 전체 조회와 카테고리 별 도서 조회를 구분해서 기획하였지만route가 같은 문제를 해결하기 위해서 합쳐서query 에 category_id 값이 있다면 카테고리 별 도서 조회로,아니면 도서 전체 조회

오늘은 BookController.js 에 있는 allBooks 를 간소화를 하였고SQL 시간 범위를 구하는 방법으로 한 달을 기준으로 신간 도서도 조회할 수 있는 기능과페이징 기능을 추가하는 시간을 가졌다.특정 날짜를 기준으로 시간을 더하거나 빼고 싶다면DATE_AD

오늘은 도서별로 좋아요를 추가하는 기능과좋아요 수를 확인하고, 유저에 따라서 좋아요 여부를 확인 할 수 있는 기능을 구현하였다.추후에는 user_id를 토큰으로 받아오는 것을 추가할 것이라지금은 임시로 body 에 받아오기로 했고기존에 다른 코드들과 유사해 코드를 짜는

오늘은 장바구니와 관련된 기능을 구현하는 시간을 가졌다.장바구니 추가선택한 장바구니 삭제선택한 장바구니에 있는 상품 전체 조회장바구니를 추가하고 삭제하는 기능은 앞서 많이 해봤기 때문에 사용한 코드만 첨부했다.이 부분은 강의와 다르게 혼자 진행해보았다.우선 select

오늘은 주문과 관련된 기능을 구현하는 시간을 가졌다.테스트를 위해서 SQL 연결은 다 테스트를 통과시키고 주석 처리를 해두었다.추후에 리팩토링을 할 예정이다.성공적으로 주문에 성공을 했다.

비동기 처리 방법, async

오늘은 주문 API를 끝냈다.자세한 내용은 아래와 같다.주문 시 장바구니 삭제주문 전체 조회주문 상세 조회각 기능별로 코드와 설명을 함께 살펴보자.사용자가 주문을 완료하면 장바구니에 담긴 항목들을 삭제해야 한다. 이를 처리하는 코드의 흐름은 다음과 같다.배송 정보 저장

오늘은 좋아요 기능에 body로 받던 userId 를 JWT를 이용해header에 받는 기능으로 수정하였다.JWT(JSON Web Token)는 일정 시간이 지나면 만료된다. 이를 확인하는 방법은 JWT를 검증할 때 TokenExpiredError가 발생하는지를 확인하

3월 10일에 시작한 도서 구매 플랫폼 프로젝트가 오늘 끝이났다.오늘은 회원 인증을 모듈화 하였고 모듈화를 기반으로 코드를 정리하고도서 전체 조회에 pagination 도 정리를 하였다.../utils/auth.js 로 따로 ensureAuthorization 모듈을

오늘 길고 긴 백엔드 프로젝트를 끝내고 마침내 프론트엔드에 대해 시작을 했다.오늘은 가볍게 JavaScript 언어의 특징과 간단히 개념들에 대해 알아보았다.JavaScript는 대표적인 인터프리터 언어이다.인터프리터 언어란 소스 코드를 한 줄씩 해석하여 실행하는 언어

JavaScript 핵심 개념 정리 표현식과 문(Expression & Statement) JavaScript에서 표현식(Expression)은 값을 만들어내는 코드 조각을 의미하며, 문(Statement)은 특정 동작을 수행하는 코드 단위를 뜻한다. 표현식: 5
오늘은 C언어로 변수와 자료형을 배웠다.하지만 정리는 따로 JavaScript 로 정리하겠다.변수는 데이터를 저장하고 관리하기 위한 메커니즘으로, 값의 변경이 가능한 저장 공간이다. JavaScript에서는 var, let, const 키워드를 사용하여 변수를 선언할

오늘은 C언어로 연산자와 반복문, 포인터, 함수에 대해서 배웠다.하지만 정리는 따로 JavaScript 로 정리하겠다.JavaScript에서 연산자는 값을 조작하는 데 사용된다.대표적인 연산자로는 산술 연산자, 할당 연산자, 비교 연산자, 논리 연산자 등이 있다.분기문
프로그래밍 언어마다 다양한 개념이 존재하지만, 많은 개념이 공통적으로 사용된다.오늘 학습한 내용을 JavaScript를 기반으로 프로그래밍의 핵심 개념을 정리하겠다.JavaScript에서는 함수도 객체이기 때문에,함수 자체를 변수에 저장하고 다른 함수의 인자로 넘길 수

Javascript 에서는 변수에 어떤 데이터 타입의 값도 할당할 수 있다.이러한 유연성은 편리하지만, 예기치 않은 오류를 유발할 가능성이 있다.위와 같이 변수의 타입이 의도치 않게 변경되면,코드의 안정성이 떨어지고 오류가 발생할 가능성이 높아진다.하지만 Javascr

오늘은 객체 리터럴과 배열, 클래스 등 다양한 개념을 학습하고 실습을 해보았다.객체 리터럴은 중괄호 {}를 사용하여 객체를 생성하는 방식으로,TypeScript 에서도 기본적으로 사용된다.하지만 객체 리터럴을 사용할 때, 명확한 타입을 지정하지 않으면예기치 않은 값을

리액트(React)는 페이스북에서 개발한 자바스크립트 기반의 사용자 인터페이스(UI) 라이브러리이다. 리액트는 웹 애플리케이션의 복잡한 UI를 효율적으로 구성하고 관리할 수 있도록 돕는 도구로, 단방향 데이터 흐름과 컴포넌트 기반 구조를 핵심 개념으로 삼는다.컴포넌트

리액트를 공부하면서 가장 많이 마주치는 키워드 중 하나는 클래스형 컴포넌트와 함수형 컴포넌트다.여기에 더해 state, 구조 분해 할당, 데이터 반복 처리도프로젝트를 구성할 때 굉장히 많이 사용되는 개념이다.오늘은 이 네가지 개념에 대해 학습을 하였다.React에서 초

React에서 props는 컴포넌트 간 데이터를 전달할 때 사용하는 속성이다. 부모 컴포넌트에서 자식 컴포넌트로 값을 넘겨주기 위해 사용하며, 자식은 이 값을 읽기만 할 수 있다.위 예제에서 App 컴포넌트는 Welcome 컴포넌트에 name이라는 props를 전달했다

React로 프로젝트를 만들 때 가장 먼저 고민하는 것은 프로젝트 구조와 개발 환경 구성이다.특히 Vite와 TypeScript를 함께 쓰면 빌드 속도도 빠르고,타입 안정성도 챙길 수 있어 훨씬 쾌적한 개발이 가능하다.오늘은 React 프로젝트 구조를 어떻게 잡을 수

React로 프로젝트를 만들 때 가장 먼저 고민하는 것은 프로젝트 구조와 개발 환경 구성이다.특히 Vite와 TypeScript를 함께 쓰면 빌드 속도도 빠르고,타입 안정성도 챙길 수 있어 훨씬 쾌적한 개발이 가능하다.오늘은 React 프로젝트 구조를 어떻게 잡을 수

React를 사용할 때 상태를 업데이트할 수 있는 여러 방법이 있다.가장 기본적으로는 useState 훅이 있지만,상태가 복잡해지거나 구조적으로 관리가 필요할 때는 useReducer를 쓰게 된다.이때 등장하는 것이 바로 dispatch다.dispatch는 "행동을 전

React에서 상태 관리를 할 때 Redux를 쓰는 경우가 많고,백엔드 없이 빠르게 서버 기능을 붙일 땐 Firebase가 유용하다.그런데 이 둘을 함께 쓸 때 구조를 어떻게 잡아야 할지 고민이 생기기 마련이다.오늘은 Firebase와 Redux Store가 각각 어떤

리액트 프로젝트를 처음 시작할 때 디렉토리 구조를 어떻게 짜야 할지 막막할 수 있다.프로젝트가 커질수록 구조가 엉키기 쉬운데, 초반에 잘 정리해두면 유지보수와 협업이 훨씬 수월해진다.오늘은 일반적인 React 앱 구조를 기준으로 각 디렉토리의 역할을 작성해본다.정적 파

React 로 프로젝트를 구성할 때, 컴포넌트 하나하나 만드는 것도 중요하지만더 중요한 건 화면의 뼈대, 즉 레이아웃과 전역 스타일을 잘 설계하는 것이다.오늘은 레이아웃의 필요성과 함께, 글로벌 스타일,그리고 Styled-Components를 활용한 스타일 관리까지 정

오늘은 실제 styled-components를 활용해Button, Title, InputText 컴포넌트를 구현한 예제를 통해어떻게 타입과 테마를 활용해서 유지보수하기 좋은 UI 컴포넌트를 구성할 수 있는지 정리했다.UI 컴포넌트를 타입 안전하게 구성하기theme과 s

🚦 API 통신 모듈 구성과 React 라우팅 패턴 프론트엔드에서 API와 통신하는 일은 매우 흔하지만, 코드의 유지보수성과 가독성을 위해 구조화된 흐름이 중요하다. 오늘은 React 프로젝트에서 API 통신을 어떻게 모듈화하면 좋은지, 그리고 React에서 라우팅

React 를 사용한 웹 애플리케이션에서는URL 쿼리 스트링을 통해 페이지 상태를 유지하거나 데이터를 전달하는 일이 잦다.이럴 때 URLSearchParams를 활용하면 URL 쿼리를 쉽게 파싱하고 조작할 수 있다.URLSearchParams는 URL 쿼리 문자열을 다

낙관적 업데이트는 서버 응답을 기다리지 않고,요청이 성공할 거라고 가정하고 UI를 먼저 업데이트하는 방식이다.즉, 사용자가 어떤 액션을 했을 때, 바로 화면이 바뀌고 이후 서버에 요청을 보낸다. 성공하면 그대로 유지하고, 실패하면 롤백하는 전략이다.빠른 사용자 피드백느

React 프로젝트를 하다 보면 반복적으로 작성해야 하는 코드들이 많다.예를 들어 useState, useEffect, 컴포넌트 생성 등은 거의 매번 작성하게 된다.이럴 때 코드 스니펫(snippet) 기능을 활용하면 생산성을 확실히 높일 수 있다.오늘은 VS Code

프론트엔드 개발을 하다 보면 실제 백엔드 API가 완성되기 전에 화면을 개발하거나,다양한 서버 응답을 테스트해야 하는 상황이 발생한다.이때 필요한 것이 바로 모킹 서버다.모킹 서버를 이용하면 실제 API가 없어도 프론트엔드 개발을 계속 진행할 수 있다.모킹(Mock)은

React를 사용해 웹 애플리케이션을 개발할 때,데스크톱 환경뿐만 아니라 모바일 환경에서도 잘 동작하도록 만드는 것이 중요하다.사용자들의 많은 비율이 모바일 기기를 사용하기 때문에 모바일 대응은 필수가 되었다.반응형 웹(Responsive Web)은 다양한 화면 크기에

오픈소스 소프트웨어를 사용할 때는해당 소프트웨어가 어떤 라이선스를 따르고 있는지 확인하는 것이 매우 중요하다.라이선스에 따라 사용, 수정, 배포에 대한 권한과 제한이 다르기 때문이다.이번 글에서는 대표적인 오픈소스 라이선스들의 특징을 정리해본다.MIT 라이선스 는 가장

오픈소스 프로젝트를 선택하거나 기여할 때 해당 커뮤니티가 건강한지 확인하는 것은 매우 중요하다.건전한 커뮤니티는 지속적인 유지보수와 활발한 피드백, 안정적인 개발 흐름을 가능하게 한다.오늘은 오픈소스 커뮤니티의 건강성을 평가할 수 있는 기준들을 소개한다.건전한 커뮤니티

오픈소스에 기여하는 일은 개발 실력을 높이는 데에 도움이 될 뿐만 아니라,전 세계 개발자들과 협업하며 소프트웨어 생태계에 기여할 수 있는 뜻깊은 활동이다.하지만 처음에는 막막하게 느껴질 수 있다.오늘은 오픈소스 프로젝트에 컨트리뷰트하는 방법과 팁을 정리한다.처음부터 거

오픈소스 소프트웨어는 개발 생산성을 크게 향상시켜주는 도구지만,무심코 사용했다가 라이선스 위반이나 보안 이슈로 문제가 생길 수 있다.오늘은 안전하고 효율적으로 오픈소스를 사용하기 위해,사전에 반드시 확인해야 할 사항들을 체크리스트로 정리해본다.공식 문서나 저장소가 존재

오픈소스에 컨트리뷰트하고 싶은 마음은 있지만,막상 어떤 프로젝트를 고르면 좋을지 막막할 때가 있다.오늘은 내가 관심 있는 분야와 실력에 맞는 오픈소스 프로젝트를 찾는 방법을 소개한다.프로젝트를 찾기 전에 먼저 다음 질문에 스스로 답해보자.내가 자주 사용하는 오픈소스 도

도커(Docker)는 애플리케이션을 컨테이너라는 단위로 패키징하고배포, 실행할 수 있도록 해주는 오픈소스 플랫폼이다.그중에서도 도커 컨테이너는 가장 핵심적인 개념으로,오늘은 컨테이너가 무엇인지, 왜 사용하는지, 어떻게 동작하는지를 간단히 설명한다.도커 컨테이너는 운영체

젠킨스(Jenkins)는 오픈소스로 제공되는 자동화 서버로,소프트웨어 개발 과정에서 지속적인 통합(Continuous Integration, CI)과지속적인 배포(Continuous Delivery, CD)를 지원한다.다양한 플러그인을 통해 여러 개발, 테스트, 배포

쿠버네티스(Kubernetes, 줄여서 K8s)는컨테이너화된 애플리케이션의 배포, 확장 및 관리를 자동화해주는 오픈소스 플랫폼이다.오늘은 쿠버네티스를 시작하는 데 필요한 기본 사용 방법을 정리했다.Pod: 하나 이상의 컨테이너를 담고 있는 가장 작은 배포 단위Node:

CD(Continuous Delivery 또는 Continuous Deployment)는애플리케이션이 자동으로 빌드, 테스트, 배포되는 일련의 흐름을 의미한다.오늘은 CD 파이프라인의 개념과 구축 방법을 간단한 예제를 통해 소개한다.CD 파이프라인은 코드 변경 사항이

인수 테스트(acceptance test)는 시스템이 요구사항을 충족하는지 확인하는 테스트다.보통 실제 사용자의 시나리오를 기반으로 테스트하며, 기능이 제대로 동작하는지를 검증한다.이 테스트를 자동화하면 품질을 유지하면서 빠른 배포가 가능해진다.인수 테스트는 사용자의

오픈소스(Open Source)란소스 코드가 공개되어 누구나 열람, 수정, 배포할 수 있는 소프트웨어를 의미한다.단순히 '공짜 소프트웨어'가 아니라, 협업과 공유의 철학을 바탕으로 한 개발 문화다.그 속에서 우리는 컨트리뷰터(contributor)로 참여할 수 있다.공

MDN Web Docs는 웹 개발자를 위한 가장 신뢰받는 문서 중 하나로,Mozilla가 주도하고 전 세계 커뮤니티가 함께 기여하는 오픈소스 문서 프로젝트다.오늘은 MDN Web Docs에 기여하는 방법과 이슈 테이블 관리에 대해 정리해본다.Mozilla가 운영하는 웹

오픈소스 프로젝트에서 좋은 문서는 프로젝트의 신뢰도를 높이고,외부 기여를 유도하며, 개발 흐름을 체계적으로 만든다.GitHub는 문서 템플릿을 통해 이 과정을 쉽게 시작할 수 있도록 돕는다.GitHub의 문서 템플릿은 이슈 생성, PR 생성, 또는 프로젝트 참여를 위한

오픈소스에 기여하고 싶지만 어디서부터 시작해야 할지 막막한 경우가 많다.이럴 땐 먼저 자신에게 맞는 오픈소스 프로젝트를 찾는 것이 중요하다.오늘은 오픈소스 프로젝트를 탐색하는 방법과 기준에 대해 작성했다.GitHub Explore: https://github.

Pull Request(이하 PR)는 오픈소스 협업과 코드 리뷰 과정에서 핵심적인 역할을 한다.하지만 PR을 수동으로 검토하고 관리하는 데 시간이 많이 소요될 수 있다.GitHub Actions를 활용하면 PR 관리 프로세스를 자동화할 수 있다.오늘은 GitHub PR

오픈소스로 만든 JavaScript 라이브러리를 더 많은 사람들과 공유하고 싶다면,가장 널리 사용되는 패키지 매니저인 npm(Node Package Manager)을 통해 배포할 수 있다.오늘은 npm에 오픈소스를 배포하는 기본적인 과정을 정리해보려 한다.Node.js

개발자로 일하다 보면 다양한 기술 명세서(technical specification, tech spec)를 접하게 된다.특히 새로운 기능을 개발하거나 외부 API와 연동할 때명세서를 빠르고 정확하게 해석하는 능력은 생산성과 품질을 크게 좌우한다.오늘은 기술 명세서를 효

개발을 시작하기 전,명확한 계획을 세우는 것은 프로젝트의 방향성과 효율성을 결정짓는 중요한 요소다.오늘은 개발 계획을 수립할 때 고려해야 할 핵심 요소와 실질적인 작성 방법을 정리해본다.목표 명확화: 무엇을, 왜 개발하는지를 분명히 함일정 관리: 현실적인 일정 추정과

프론트엔드 개발은 단순히 UI를 그리는 것을 넘어, 유지보수성과 확장성까지 고려한 구조 설계가 중요하다.오늘은 실제 프로젝트를 시작할 때 고민해야 할FE 구조 설계의 핵심 포인트와 디렉토리 설계 방법에 대해 정리해본다.협업 생산성 향상: 누구나 빠르게 코드를 이해하고

현대 개발 환경에서는 클라우드나 Kubernetes와 같은 분산 시스템에서 애플리케이션이 운영된다.하지만 모든 테스트와 개발을 실제 클라우드 환경에서 진행하는 것은 비효율적일 수 있다.그래서 로컬 클러스터(Local Cluster) 를 활용해 개발 및 테스트 환경을 시

프론트엔드 개발에서는 UI가 사용자와 직접 맞닿아 있기 때문에,전체적인 사용자 흐름이 의도대로 동작하는지 확인하는 것이 매우 중요하다.이때 사용하는 것이 바로 E2E(End-to-End) 테스트이며,이를 자동화함으로써 개발 효율과 서비스 신뢰성을 높일 수 있다.사용자가

서비스 개발의 마지막 단계는 배포(Deployment)이다.아무리 잘 만든 애플리케이션도 사용자가 접근할 수 없다면 무용지물이다.오늘은 배포 환경의 개념과, 실무에서 자주 사용하는 배포 도구들을 정리한다.애플리케이션이 실행될 실제 서버 혹은 서비스 환경개발(Dev):

업로드중..애플리케이션의 품질을 높이기 위해 꼭 필요한 것이 테스트 자동화이다.오늘은 단위 테스트(Unit Test)와 코드 커버리지(Code Coverage)에 대해 정리한다.코드의 가장 작은 단위(함수, 모듈 등)가 기대한 대로 동작하는지를 검증하는 테스트기능 수정

컴퓨터는 0과 1로 이루어진 이진수 세계에서 살아간다.우리가 사용하는 숫자, 문자, 이미지, 동영상 등 모든 정보는 결국 디지털 형태로 표현되고컴퓨터는 이를 처리하기 위해 치밀한 설계를 바탕으로 동작한다.오늘은 컴퓨터가 정보를 어떻게 표현하고, 어떻게 연산을 수행하며,

개발자로서 시스템의 근본 원리를 이해하는 것은 필수이다.특히 컴퓨터 구조와 운영체제는 프로그래밍의 기반이 되는 개념으로,이를 이해하면 더 효율적인 코드 작성과 디버깅이 가능하다.컴퓨터 구조는 하드웨어의 동작 원리와 구성 요소들을 이해하는 분야이다.보통 아래 세 가지 관

인터넷과 네트워크는 모든 소프트웨어가 동작하기 위한 기반이다.이를 더 잘 이해하려면 OSI 7계층 모델과 각 계층에서 사용되는 프로토콜을 이해하는 것이 중요하다.OSI(Open Systems Interconnection) 7계층은 네트워크 통신을 계층별로 나눈 개념 모

서비스를 안정적으로 운영하기 위해서는CI/CD 파이프라인과 클러스터 상태를 실시간으로 모니터링하는 것이 매우 중요하다.자동화된 시스템이더라도 언제든지 예기치 못한 문제가 발생할 수 있기 때문에,이를 조기에 파악하고 대응하는 능력이 필요하다.파이프라인 모니터링은코드가 변

클라우드는 오늘날 IT 인프라에서 선택이 아닌 필수가 되었다.개발자로서 클라우드의 동작 원리와 이를 가능하게 하는 기술 및 원칙을 이해하는 것은 매우 중요하다.오늘은 클라우드 컴퓨팅의 기반 기술과 주요 설계 원칙들을 정리했다.가상화는 하나의 물리적 서버를 여러 개의 가