| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | ||
| 6 | 7 | 8 | 9 | 10 | 11 | 12 |
| 13 | 14 | 15 | 16 | 17 | 18 | 19 |
| 20 | 21 | 22 | 23 | 24 | 25 | 26 |
| 27 | 28 | 29 | 30 |
- 파이썬 알고리즘 인터뷰
- 비동기
- REACT
- NestJS
- execution context
- codestates
- 알고리즘
- java
- 개발공부
- Operating System
- 글또
- 코드스테이츠
- 파이썬
- typeScript
- 자바
- python algorithm
- node.js
- JavaScript
- Computer Science
- useState
- 테스트코드
- OS
- algorithm
- 컴퓨터공학
- Python
- 자바스크립트
- react 기초
- Zerobase
- 자료구조
- 운영체제
- Today
- Total
목록전체 글 (119)
Back to the Basics
개발 4년, 그리고 2026년의 변화2022년 4월에 개발을 시작했고, 2026년 4월이 되면 어느덧 딱 4년이 된다.4년이라는 시간이 흘렀지만, 유독 2026년에 들어서면서 많은 것이 달라졌다고 느낀다. 이직을 했고, 생활 패턴도 바뀌었고, 무엇보다도 코드를 직접 작성하는 시간보다 프롬프트로 코드를 만들어 가는 시간이 훨씬 많아졌다.개발을 처음 시작했을 때만 해도 AI는 딥러닝, 비전, 자연어처리처럼 하나의 기술 분야에 가까웠다. 그러다 개발을 시작한 지 1년에서 1년 반쯤 지났을 무렵, 처음으로 LLM이라는 개념을 접했다. 그리고 얼마 지나지 않아, 그 LLM은 어느새 내 일상과 업무 한가운데로 들어왔다.지금 돌아보면, 개발자로서 보낸 지난 4년 중에서도 요즘이 가장 큰 변화의 시기인 것 같다.첫 시..
파이썬의 event loop에 대해 알아보자. Nodejs의 event loop 기반의 논블로킹 싱글 스레드 기반의 환경과 어떻게 다른 지도 간단하게 정리하였다1. Python에서 비동기를 작성하는 방법(문법 레벨)NodeJs나 Python이나 async await이라는 문법이 존재한다. 두 언어에서 각각 비동기 함수를 정의하고 실행하는 역할을 한다는 공통점이 있다. 문법은 같은데 무엇이 다를까? 일단 NodeJs는 non-blocking이 기본 실행 환경이고 Python은 기본적으로 synchronous 실행 모델 이라는 실행 철학에 차이가 있다.1.1 async/ await 문법python의 async/await은 구문은 파이썬 "언어 차원"에서 제공되는 문법이며(PEP492) 이를 기반으로 동시성 ..
최근에 사용하게 된 Awaited type에 대해 알아보고자 한다.공식문서 링크 : https://www.typescriptlang.org/docs/handbook/utility-types.html#awaitedtype Documentation - Utility TypesTypes which are globally included in TypeScriptwww.typescriptlang.org Awaited type이란?Awaited type은 await 했을 때 실제로 얻는 값의 타입을 의미한다. 이 타입은 typescript 4.5 버전에 새로 추가된 타입이다.그럼 4.5 버전 이전에는 await 했을 때 실제 얻는 값의 타입을 확인할 수 없었을까? 한다면 그것은 아니다. 아래의 예시와 같이 4...
이전 포스팅에서는 [[NestJS] Monorepo로 구축하기 1 : pnpm workspace] pnpm에 대하 알아보았다.이번 포스팅에서는 공식문서를 참고하여 간단한 모노레포를 구성해 보고 정리해 보았다참고한 공식문서 : https://docs.nestjs.com/cli/monorepo Documentation | NestJS - A progressive Node.js frameworkNest is a framework for building efficient, scalable Node.js server-side applications. It uses progressive JavaScript, is built with TypeScript and combines elements of OOP (Objec..
25년 토스 메이커스 컨퍼런스를 다녀왔다. 우리 팀에서 운 좋게 두 명이 추첨이 되어 다녀오게 되었다.총 3일간 진행을 하였고 day1은 product day, day2는 design day day3는 engineering day이며 나는 day3에 참석하였다.다른 회사에서 하는 컨퍼런스는 2023 우아콘을 다음으로 두 번째 참석해 본다. 이번 컨퍼런스를 통해 토스의 개발 파트는 어떤 문제를 갖고 있는지, 이 문제를 해결하기 위해 어떻게 하는지 살짝 볼 수 있었다.내가 들은 세션은 아래와 같다1. 20년 레거시를 넘어 미래를 준비하는 시스템 만들기2. 현장 결제 서비스의 분산 트랜잭션 관리학 개론3. 수천개의 API/배치 서버를 하나의 설정 체계로 관리하기4. 가맹점은 변함없이 결제창 시스템 전면 재작성..
기존의 프로젝트는 모든 기능이 하나의 단일 코드베이스에서 관리되는 모놀리식 아키텍처(Monolithic Architecture)를 사용하고 있는 거대한 레거시였다.CSAP 인증을 받기 위해 테이블구조도 큰 변경이 필요했고 서비스가 커지면서 개발 유지보수를 힘들게 만드는 현재의 구조를 변경하기 위해 모노레포 아키텍처로 코드베이스를 변경하기로 논의가 되었다.이번 블로그는 모노레포를 구성하면서 조사했던 것들에 대해 정리를 해보고자 한다.첫 번째로, mono repo 구축을 위한 package workspace에 대해 간단히 정리를 해보았다Monorepo를 구축하는 방법 : pnpm workspace monorepo를 구축하는 방법으로는 yarn worskapce와 같은 package workspace 나 le..
NestJS에서 모듈은 애플리케이션에서 비슷한 기능을 논리적으로 묶은 단위이다. 유사한 기능을 하는 컴포넌트들을 한데 모아 관리하는 컨테이너 역할을 한다. 만약 Auth 서비스(로그인, 회원가입 등), 사용자 관련 서비스(사용자 정보 조회, 사용자 정보 수정 등), 주문 관련 서비스(주문 생성, 주문조회 등)가 있다고 한다면 이들 각가이 하나의 모듈이 된다. 이런 특성으로 코드를 깔끔하게 정리할 수 있고 다른 모듈과 독립적으로 동작하도록 한다.NestJS 모듈은 @Module() 데코레이터가 달린 단일 클래스이며 이 데코레이터를 통해 애플리케이션 구조를 구성하는데 필요한 메타데이터를 제공받는다. 제공받는 메타데이터는 아래와 같이 네 가지가 존재한다.imports다른 모듈에서 export하는 기능을 사용..
들어가며1장에서는 리팩터링이 무엇인지 감을 잡기 위한 것이었다면, 2장은 리팩터링의 정의와 이유, 시기, 그리고 리팩터링 시 고려해야 할 다양한 측면들을 다룬다.2장 요약2.1 리팩터링의 정의코드를 정리하거나 구조를 바꾸는 작업을 재구성(restructuring)이라고 하며, 리팩터링은 이러한 재구성의 한 형태다. 리팩터링의 핵심 목적은 코드를 더 이해하기 쉽고 수정하기 쉽게 만드는 것이다. 구체적으로 리팩터링은 "기본 동작은 그대로 유지한 채, 여러 기법들을 사용해서 소프트웨어를 재구성하는 것"을 의미한다.리팩터링은 작은 단계들을 통해 코드를 점진적으로 수정하고, 이러한 단계들이 연결되어 궁극적으로 큰 변화를 만들어낸다. 가장 중요한 점은 코드의 구조는 변경하지만, 프로그램의 전반적인 기능은 그대로 유..