개인의 기록
  • 소개
  • 프로젝트
  • 글
  • 링크

© 2026 newgirok

글

언어

JavaScriptJavaScript의 간략한 역사 (1994~2025)6월 23일
TypeScripttsconfig — TypeScript 컴파일러 설정 파일12월 3일
TypeScript모듈 — TypeScript에서 코드를 나누고 가져오는 방법12월 1일
TypeScript선언 파일(.d.ts) — JavaScript 라이브러리에 타입 입히기11월 29일
TypeScript데코레이터 — 클래스와 메서드에 기능을 추가하는 문법11월 27일
TypeScript조건부 타입 — 타입 시스템의 if문11월 26일
TypeScript맵드 타입 — 기존 타입의 모든 프로퍼티를 변환하기11월 24일
TypeScriptkeyof와 typeof — 타입에서 타입을 만드는 연산자11월 22일
TypeScript유틸리티 타입 — 기존 타입을 변환하는 내장 도구11월 20일
TypeScript제네릭 — 타입을 변수처럼 다루기11월 19일
TypeScriptNarrowing — 타입 범위를 좁히는 방법11월 17일
TypeScript타입 시스템 — TypeScript가 JavaScript에 더한 것11월 15일
TypeScript유니온과 교차 타입 — 타입을 조합하는 두 가지 방법11월 13일
TypeScriptInterface — 객체의 형태를 정의하는 계약11월 12일
TypeScriptType Alias — 타입에 이름 붙이기11월 10일
TypeScript타입 어노테이션과 타입 추론 — 명시와 추론의 균형11월 8일
TypeScript기본 타입 — TypeScript가 다루는 값의 종류11월 6일
JavaScript상태와 불변성 — 예측 가능한 변경을 만드는 방법9월 8일
JavaScript에러 처리 — 예외가 발생했을 때 무너지지 않는 코드9월 6일
JavaScript비동기 프로그래밍 — JavaScript가 기다리는 방법9월 4일
JavaScriptPromise — 미래의 값을 다루는 방법9월 2일
JavaScript이벤트 루프 — 싱글 스레드가 동시성을 흉내내는 방법9월 1일
JavaScript모듈 — 코드를 나누고 연결하는 방법8월 30일
JavaScript프로토타입 — JavaScript 상속의 실제 구조8월 28일
JavaScript클로저 — 렉시컬 환경을 기억하는 함수8월 26일
JavaScriptthis — 호출 방식과 바인딩 규칙8월 25일
JavaScript실행 컨텍스트 — 코드가 실행되는 환경8월 23일
JavaScript스코프 — 변수가 살아있는 범위8월 21일
JavaScript값과 참조 — 변수의 정체와 복사 전략8월 19일

라이브러리

ReactZustand — 간결한 전역 상태 관리 라이브러리6월 21일
TypeScriptZod — 런타임 데이터 검증과 TypeScript 타입 추론6월 19일
테스트Vitest — Vite 기반 테스트 프레임워크6월 17일
빌드도구Vite — 빠른 개발 서버와 번들링을 제공하는 빌드 도구6월 15일
ReactTanStack Query — 서버 상태를 캐시하고 동기화하는 라이브러리6월 14일
CSSTailwind CSS — Utility First CSS 프레임워크6월 12일
ReactStorybook — UI 컴포넌트를 독립적으로 개발하고 문서화하는 도구6월 10일
Reactshadcn/ui — Radix UI와 Tailwind 기반 재사용 컴포넌트6월 8일
ReactRadix UI — 접근성을 고려한 Headless 컴포넌트6월 6일
ReactMotion — React 애니메이션 라이브러리6월 5일
ReactReact Testing Library — 사용자 관점에서 컴포넌트를 테스트6월 3일
ReactReact Hook Form — 폼 상태와 유효성 검증 라이브러리6월 1일
ReactReact Router — SPA URL 기반 라우팅 라이브러리5월 30일
ReactContext API — Props 없이 컴포넌트 간 데이터 공유5월 28일
ReactConcurrent Rendering — 우선순위 기반 렌더링5월 27일
ReactState Lifecycle — 상태 변경부터 화면 반영까지5월 25일
ReactComponent Lifecycle — 컴포넌트 생성부터 제거까지5월 23일
ReactReact 렌더링 전략 — CSR / SSR / SSG / ISR5월 21일
ReactHydration — SSR HTML에 React 기능을 연결하는 과정5월 20일
ReactServer Components — 서버에서 렌더링되는 React 컴포넌트5월 18일
ReactMemoization — 불필요한 렌더링을 줄이는 최적화5월 16일
ReactControlled / Uncontrolled Component — 폼 데이터 관리 방식5월 14일
ReactRef — DOM과 값을 직접 참조하는 방법5월 12일
ReactKey — 리스트 요소를 식별하는 고유 값5월 11일
ReactVirtual DOM — 변경 사항을 효율적으로 계산하는 방법5월 9일
ReactReconciliation — 변경된 UI를 계산하는 과정5월 7일
ReactRendering — React가 UI를 계산하여 화면에 반영하는 과정5월 5일
ReactuseEffect — 렌더링 이후 Side Effect를 처리하는 Hook5월 3일
ReactHooks — 함수형 컴포넌트에서 상태와 생명주기를 사용하는 API5월 2일
ReactEvent Handling — React에서 사용자 이벤트를 처리하는 방식4월 30일
ReactState — 컴포넌트 내부의 변경 가능한 데이터4월 28일
ReactProps — 부모가 자식에게 전달하는 데이터4월 26일
ReactComponent — UI를 독립적인 단위로 분리4월 24일
ReactJSX — JavaScript 안에서 UI를 표현하는 문법4월 23일
코드스타일Prettier — 코드 스타일을 자동으로 맞추는 포맷터4월 21일
테스트MSW — 브라우저와 Node에서 API를 Mocking하는 라이브러리4월 19일
ReactReact Philosophy — React가 해결하려는 문제4월 17일
코드품질ESLint — 코드 품질을 검사하는 정적 분석 도구4월 16일
HTTPAxios — HTTP 요청을 처리하는 클라이언트 라이브러리4월 14일

프레임워크

Next.jsNext.js Caching — 요청/데이터/라우트 캐싱 전략6월 12일
Next.jsNext.js 성능 최적화 — 번들 크기와 렌더링 최적화6월 10일
Next.jsNext.js 프로젝트 구조 — 실무 폴더 구성 방법6월 8일
Next.jsNext.js 배포 — Vercel과 self-hosting 옵션6월 6일
Next.jsNext.js 환경 변수 — 클라이언트와 서버 환경 변수 분리6월 4일
Next.jsNext.js Middleware — 요청 처리 전에 실행되는 함수6월 2일
Next.jsNext.js Metadata — SEO를 위한 메타 태그 관리5월 31일
Next.jsNext.js Image Optimization — 이미지를 자동 최적화하는 방법5월 29일
Next.jsNext.js ISR — 정적 페이지를 주기적으로 재생성하는 방법5월 27일
Next.jsNext.js SSR — 요청마다 서버에서 HTML을 생성하는 방법5월 25일
Next.jsNext.js SSG — 빌드 시 HTML을 미리 생성하는 방법5월 23일
Next.jsNext.js API Routes — App Router에서 API 엔드포인트 만들기5월 21일
Next.jsNext.js Server Actions — 서버 함수를 직접 호출하는 방법5월 19일
Next.jsNext.js Data Fetching — 서버에서 데이터를 가져오는 방법5월 17일
Next.jsNext.js Client Components — 브라우저에서 실행되는 컴포넌트5월 14일
Next.jsNext.js Server Components — 서버에서만 실행되는 컴포넌트5월 12일
Next.jsNext.js Layout — 공통 UI를 감싸는 레이아웃 컴포넌트5월 10일
Next.jsNext.js Routing — 파일 경로가 URL이 되는 방식5월 8일
Next.jsNext.js App Router — 파일 시스템 기반 최신 라우팅5월 6일
Next.jsNext.js란? — React 위에 올린 풀스택 웹 프레임워크5월 4일
NestJSNestJS 프로젝트 구조 — 실무 폴더 구성 방법3월 26일
NestJSNestJS Testing — 단위 테스트와 E2E 테스트3월 24일
NestJSNestJS Configuration — 환경 변수와 설정을 관리하는 방법3월 22일
NestJSNestJS Repository — 데이터베이스와 직접 통신하는 계층3월 20일
NestJSNestJS Lifecycle — 요청 처리 전체 흐름3월 18일
NestJSNestJS Exception Filter — 예외를 중앙에서 처리하는 방법3월 16일
NestJSNestJS Interceptor — Controller 전후를 가로채는 방법3월 14일
NestJSNestJS Pipe — 입력 데이터의 검증과 변환을 담당하는 파이프3월 12일
NestJSNestJS Guard — 인증과 인가를 처리하는 실행 가드3월 10일
NestJSNestJS Middleware — Controller 이전에 실행되는 함수3월 8일
NestJSNestJS Entity — 데이터베이스 테이블과 매핑되는 클래스3월 6일
NestJSNestJS DTO — 계층 간 데이터를 전달하는 객체3월 3일
NestJSNestJS Decorator — 클래스와 메서드에 메타데이터를 추가하는 문법3월 1일
NestJSNestJS Dependency Injection — 의존성을 자동으로 주입하는 방식2월 27일
NestJSNestJS Provider — DI 컨테이너가 관리하는 객체2월 25일
NestJSNestJS Service — 비즈니스 로직을 담당하는 클래스2월 23일
NestJSNestJS Controller — HTTP 요청을 처리하는 클래스2월 21일
NestJSNestJS Module — 관련 기능을 묶는 기본 단위2월 19일
NestJSNestJS Application — 애플리케이션 시작점2월 17일
NestJSNestJS란? — 구조화된 Node.js 백엔드 프레임워크2월 15일
ExpressExpress 성능 최적화 — 압축, 캐시, 클러스터링2월 13일
ExpressExpress 보안 — XSS, CSRF, SQL Injection 방어2월 11일
ExpressExpress Middleware — 실무에서 자주 사용하는 라이브러리2월 9일
ExpressExpress 프로젝트 구조 — MVC와 Layered 패턴2월 7일
ExpressExpress Request Lifecycle — 요청이 처리되는 전체 흐름2월 5일
ExpressExpress Template Engine — 서버사이드 HTML 렌더링2월 3일
ExpressExpress Static File — 정적 파일을 제공하는 방법2월 1일
ExpressExpress Error Handling — 에러를 중앙에서 처리하는 방법1월 30일
ExpressExpress Router — 라우터를 분리하는 방법1월 28일
ExpressExpress Middleware — 요청과 응답 사이에서 동작하는 함수1월 25일
ExpressExpress Response 객체 — 서버 응답을 보내는 방법1월 23일
ExpressExpress Request 객체 — 클라이언트 요청 데이터 접근1월 21일
ExpressExpress Routing — HTTP 메서드와 경로를 연결하는 방법1월 19일
ExpressExpress Application — app 객체와 서버 시작1월 17일
ExpressExpress.js란? — Node.js 위에 올린 웹 프레임워크1월 15일

아키텍처

MeshService Mesh — 서비스 간 통신을 인프라 수준에서 관리하는 방법1월 13일
BFFBackend For Frontend — 클라이언트별 전용 백엔드를 두는 패턴1월 11일
SagaSaga Pattern — 분산 트랜잭션을 관리하는 방법1월 9일
CQRSCQRS — 조회와 명령을 분리하는 아키텍처 패턴1월 7일
DDDDomain Driven Design — 비즈니스 도메인을 중심으로 설계하는 방법1월 5일
EDAEvent Driven Architecture — 이벤트 발생을 중심으로 서비스가 협력하는 방식1월 3일
MQMessage Queue — 서비스 간 비동기 메시지를 처리하는 큐1월 1일
CacheCaching Strategy — 자주 쓰는 데이터를 임시 저장하는 전략12월 30일
LBLoad Balancer — 트래픽을 분산하는 방법12월 28일
ProxyReverse Proxy — 클라이언트와 서버 사이의 중간자12월 26일
MSAMicroservices Architecture — 독립 배포 가능한 서비스 분리12월 24일
MonolithicMonolithic Architecture — 하나의 배포 단위로 구성하는 방법12월 22일

인프라

AWSDocker — 컨테이너로 애플리케이션 실행4월 12일
AWSLocalStack — AWS 서비스를 로컬에서 테스트4월 10일
AWSX-Ray — 분산 트레이싱4월 8일
AWSCodePipeline — CI/CD 자동화4월 7일
AWSSecrets Manager — 비밀 값 안전하게 저장4월 5일
AWSParameter Store — 환경 변수 및 설정값 저장4월 3일
AWSAWS CDK — 코드로 인프라 정의4월 1일
AWSCloudFormation — 인프라를 코드로 관리 (IaC)3월 30일
AWSCloudWatch — 로그와 모니터링3월 29일
AWSAPI Gateway — REST·HTTP·WebSocket API 서비스3월 27일
AWSEventBridge — 이벤트 기반 시스템 연결3월 25일
AWSSNS — Pub/Sub 메시징3월 23일
AWSSQS — 비동기 메시지 큐3월 22일
AWSElastiCache — 관리형 Redis / Memcached3월 20일
AWSFargate — 서버 없이 컨테이너 실행3월 18일
AWSECS — 컨테이너 오케스트레이션3월 16일
AWSECR — Docker 이미지 저장소3월 14일
AWSLambda — 서버리스 함수 실행3월 13일
AWSCloudFront — CDN 서비스3월 11일
AWSRoute 53 — DNS 서비스3월 9일
AWSAuto Scaling — 트래픽에 따라 서버 자동 조절3월 7일
AWSELB — 로드 밸런서 (ALB / NLB)3월 5일
AWSRDS — 관리형 관계형 데이터베이스3월 4일
AWSS3 — 객체 스토리지3월 2일
AWSSecurity Group & NACL — AWS 네트워크 방화벽2월 28일
AWSVPC — AWS 안에 나만의 네트워크 구축2월 26일
AWSEC2 — AWS 가상 서버2월 24일
AWSIAM — AWS 인증과 권한 관리2월 23일
AWSAWS 글로벌 인프라 — Region, AZ, Edge Location2월 21일
AWS클라우드 컴퓨팅 — On-Premise와 Cloud의 차이2월 19일
DockerDocker Compose 프로젝트 구조 — 실무 파일 구성 방법1월 7일
DockerDocker Compose 로깅 — 여러 서비스의 로그를 관리하는 방법11월 5일
DockerDocker Compose 모니터링 — Prometheus와 Grafana를 Compose로 구성11월 3일
DockerDocker Compose 프로덕션 환경 구성 — 실무 배포를 위한 설정10월 30일
DockerDocker Compose 개발 환경 구성 — 로컬 개발을 위한 실무 설정10월 29일
DockerDocker Compose Secrets — 민감한 정보를 안전하게 주입하는 방법10월 27일
DockerDocker Compose Override — 환경별 설정을 재정의하는 방법8월 17일
DockerDocker Compose Profiles — 선택적으로 서비스를 실행하는 방법8월 10일
DockerDocker Compose Resource Limits — CPU와 메모리 자원을 제한하는 방법8월 9일
DockerDocker Compose Restart Policy — 컨테이너 재시작 정책8월 7일
DockerDocker Compose Port Mapping — 호스트와 서비스 포트를 연결8월 5일
DockerDocker Compose Build — Dockerfile에서 이미지를 빌드하는 방법8월 3일
DockerDocker Compose Health Check — 서비스 상태를 확인하는 방법8월 2일
DockerDocker Compose depends_on — 서비스 시작 순서를 제어하는 방법7월 31일
DockerDocker Compose 환경 변수 — 설정값을 외부에서 주입하는 방법7월 29일
DockerDocker Compose Volumes — 데이터를 영구 저장하는 방법7월 27일
DockerDocker Compose Networks — 서비스 간 통신을 설정하는 방법7월 26일
DockerDocker Compose Services — 각 컨테이너를 서비스로 정의하는 방법7월 24일
Dockerdocker-compose.yml — Compose 파일 구조와 문법7월 22일
DockerDocker Compose란? — 다중 컨테이너를 선언적으로 관리7월 20일
DockerDocker Compose 개요 — 다중 컨테이너를 함께 실행하는 도구 (소개)7월 19일
DockerDocker Registry — 이미지를 저장하는 프라이빗 레지스트리7월 17일
DockerDocker 프로덕션 배포 — 실무 배포 전략7월 15일
DockerDocker 이미지 최적화 — 빌드 캐시와 레이어 최소화7월 13일
DockerDocker 보안 — 컨테이너 보안 체크리스트7월 12일
DockerMulti-stage Build — 이미지 크기를 줄이는 빌드 최적화7월 10일
DockerDocker Logging — 컨테이너 로그를 수집하는 방법7월 8일
DockerDocker Health Check — 컨테이너 상태를 모니터링하는 방법7월 6일
DockerDocker 환경 변수 — 컨테이너에 설정값을 전달하는 방법7월 5일
DockerDocker Port Mapping — 호스트와 컨테이너 포트를 연결하는 방법7월 3일
DockerDocker Network — 컨테이너 간 통신을 설정하는 방법7월 1일
DockerDocker Volume — 컨테이너 데이터를 영구 저장하는 방법6월 29일
DockerDocker Hub — 이미지를 저장하고 공유하는 레지스트리6월 28일
Docker.dockerignore — 빌드 컨텍스트에서 제외할 파일 지정6월 26일
DockerDockerfile — 이미지를 빌드하는 명세서6월 24일
DockerDocker CLI — 자주 사용하는 명령어 정리6월 22일
DockerDocker Container — 이미지로 실행되는 격리된 프로세스6월 21일
DockerDocker Image — 컨테이너를 만드는 읽기 전용 템플릿6월 18일
DockerContainer vs VM — 가상화 방식의 차이6월 16일
DockerDocker란? — 컨테이너로 애플리케이션을 격리하는 기술6월 14일

데이터베이스

RedisRedis 분산 락 — 동시 요청 충돌 방지2월 12일
RedisRedis 모니터링 — INFO, SLOWLOG, LATENCY로 상태 파악하기2월 10일
RedisRedis 트랜잭션 — MULTI/EXEC로 여러 명령 원자적 실행2월 8일
RedisRedis Streams — 신뢰성 있는 메시지 큐2월 7일
RedisRedis Pub/Sub — 실시간 메시지 브로드캐스트2월 5일
RedisRedis 파이프라인 — 네트워크 왕복 줄이기2월 3일
RedisRedis Sentinel — 자동 장애 복구와 고가용성2월 1일
RedisRedis Cluster — 데이터 샤딩과 수평 확장1월 30일
RedisRedis 복제 — Master/Replica 구조와 읽기 분산1월 29일
RedisRedis Persistence — 메모리 데이터를 디스크에 저장하는 방법1월 27일
RedisRedis TTL — 키 만료와 자동 삭제1월 25일
RedisRedis 캐시 전략 — Cache Aside, Write Through, Write Back1월 23일
RedisRedis Sorted Set — 점수 기반 정렬 집합과 랭킹1월 21일
RedisRedis Set — 중복 없는 집합과 집합 연산1월 20일
RedisRedis Hash — 객체를 필드 단위로 저장하기1월 18일
RedisRedis List — 순서 있는 목록과 큐 구현1월 16일
RedisRedis String — 가장 기본적인 자료구조1월 14일
RedisRedis 자료구조 — 용도에 맞는 타입 선택하기1월 13일
RedisRedis Architecture — 단일 스레드로 빠른 이유1월 11일
RedisRedis — 메모리에 데이터를 저장하는 데이터베이스1월 9일
SupabaseSupabase 프로젝트 구조 — 실무 폴더 구성 방법5월 2일
SupabaseSupabase 보안 — RLS와 API 키 관리 체크리스트4월 30일
SupabaseSupabase 환경 변수 — API 키를 안전하게 관리하는 방법4월 28일
SupabaseSupabase Type Generation — 스키마 기반 타입 자동 생성4월 26일
SupabaseSupabase Migration — 데이터베이스 변경을 코드로 관리하는 방법4월 24일
SupabaseSupabase CLI — 로컬 개발 환경 구성 도구4월 22일
SupabaseSupabase Edge Functions — 서버리스 함수로 백엔드 로직 실행4월 20일
SupabaseSupabase RPC — PostgreSQL 함수를 API처럼 호출하는 방법4월 18일
SupabaseSupabase Realtime — 데이터베이스 변경을 실시간으로 구독4월 16일
SupabaseSupabase Storage — 파일을 저장하고 제공하는 방법4월 14일
SupabaseSupabase REST API — 테이블에서 자동 생성되는 API4월 12일
SupabaseSupabase JavaScript Client — SDK로 데이터베이스 조작4월 10일
SupabaseSupabase Authorization — 권한 기반 접근 제어4월 7일
SupabaseSupabase Authentication — 사용자 인증 내장 기능4월 5일
SupabaseRow Level Security — 행 단위 접근 권한 제어4월 3일
SupabaseSupabase Table — 데이터를 저장하는 기본 구조4월 1일
SupabaseSupabase PostgreSQL — 관계형 데이터베이스 기반3월 30일
SupabaseSupabase란? — PostgreSQL 기반 오픈소스 BaaS3월 28일

네트워크

WebSocketWebSocket — 실시간 양방향 통신10월 23일
UDPUDP — 사용자 데이터그램 프로토콜10월 22일
TLSTLS/SSL — 전송 계층 보안10월 20일
TCPTCP — 전송 제어 프로토콜10월 18일
TCP/IPTCP/IP 모델 — 인터넷의 표준 프로토콜 스택10월 16일
TCPTCP 4-Way Handshake — 연결 종료 과정10월 14일
TCPTCP 3-Way Handshake — 연결 수립 과정10월 13일
Subnet서브넷 — 네트워크를 더 작은 단위로 분할하는 방법10월 11일
SSESSE — 서버 전송 이벤트10월 9일
Socket소켓 — 네트워크 통신의 엔드포인트10월 7일
Session세션 — 서버가 사용자 상태를 기억하는 방법10월 6일
Routing라우팅 — 패킷의 최적 경로를 결정하는 방법10월 4일
Port포트 — 프로세스를 구분하는 번호10월 2일
OSIOSI 7계층 — 네트워크 통신의 계층 구조9월 30일
NATNAT — 네트워크 주소 변환9월 29일
HTTPKeep-Alive — 지속 연결9월 27일
IPIP — 인터넷 프로토콜9월 25일
HTTPSHTTPS — 보안 HTTP9월 23일
HTTPHTTP/3 — QUIC 기반의 차세대 HTTP9월 22일
HTTPHTTP/2 — 멀티플렉싱과 헤더 압축9월 20일
HTTPHTTP — 하이퍼텍스트 전송 프로토콜9월 18일
Gateway게이트웨이 — 서로 다른 네트워크를 연결하는 장치9월 16일
DNSDNS — 도메인 네임 시스템9월 15일
Cookie쿠키 — 브라우저에 저장하는 작은 데이터9월 13일
CIDRCIDR — 클래스 없는 도메인 간 라우팅9월 11일
ARPARP — 주소 결정 프로토콜9월 9일

AI

Claude CodeClaude Code 완전 가이드 — 해커톤 우승자의 74가지 팁6월 23일
MCPPlaywright MCP — LLM이 브라우저를 제어하는 방법1월 8일
MCPMCP Shrimp Task Manager — AI 에이전트 태스크 관리 MCP1월 7일
MCPAgentMemory — AI 에이전트 세션 간 메모리 엔진1월 6일
Claude CodeBest Practices — Claude Code 효율적으로 사용하기1월 5일
Claude CodeSubagents — 작업을 다른 에이전트에 위임하기1월 4일
Claude CodeTool Use — Claude Code가 실제로 일하는 방식1월 2일
Claude CodePrompt Engineering — Claude Code에 효과적으로 지시하기12월 31일
Claude CodePlugins — Claude Code 기능 확장12월 29일
Claude CodeMCP — 외부 시스템과 Claude Code 연결하기12월 27일
Claude CodeSkills — 복잡한 워크플로를 패키징하기12월 26일
Claude CodeSlash Commands — 반복 작업을 명령 하나로12월 24일
Claude CodeHooks — Claude Code 이벤트에 셸 명령 자동 실행12월 22일
Claude CodeSession & Context — 대화와 작업 상태 유지하기12월 20일
Claude CodeContext Management — 컨텍스트 윈도우 효율적으로 사용하기12월 19일
Claude CodeAgent Lifecycle — Claude Code가 작업을 처리하는 순서12월 17일
Claude CodePermission System — Claude Code 도구 실행 권한 관리12월 15일
Claude CodeCLAUDE.md — Claude Code에 프로젝트 규칙 알려주기12월 13일
Claude CodeConfiguration — Claude Code 설정 파일 구조12월 11일
Claude CodeClaude Code란? — CLI 기반 Agentic Coding 도구12월 10일

비즈니스

SaaS1인 회사 트렌드 — 조용히 수십억 버는 사람들6월 11일
SaaSHealthchecks.io 클론 SaaS — 만들어볼 만한가6월 11일

투자

주식로켓랩 (RKLB) — 투자 검토 기록6월 30일
ETFKODEX 코리아소버린AI (0115E0) — 투자 검토 기록6월 15일
주식원익머트리얼즈 (104830) — 투자 검토 기록6월 12일
주식동진쎄미켐 (005290) — 투자 검토 기록6월 11일

커리어

자격증2월 17일
자격증2월 16일
자격증2월 14일