
최신 글
블로그에 새롭게 올라온 이야기를 만나보세요.
WSL과 Rocky Linux
로컬 윈도우와 RHEL 계열 서버의 환경 불일치를 해결하기 위해 가상 머신 대신 WSL 2를 사용하고, 기본 우분투 대신 록키 리눅스(Rocky Linux)를 설치합니다. 공식 WSL 이미지를 직접 가져와 사용자 설정과 dnf 패키지 업데이트 등의 초기 구축을 완료합니다. 이를 통해 패키지 관리자와 보안 설정 등이 서버 환경과 완벽히 일치하는 일관된 로컬 개발 환경을 완성할 수 있습니다.
[Cloud Infra] 도커의 시작
본 글은 Rocky Linux 서버에 도커를 설치하고 이미지와 컨테이너의 개념 및 차이점을 설명합니다. 효율적인 빌드 캐시 최적화와 멀티스테이지 빌드를 활용해 가벼운 도커 이미지를 제작하는 방법을 실습 코드와 함께 다룹니다. 마지막으로 컨테이너의 라이프사이클과 포트 매핑을 직접 확인하며 다음 단계인 도커 컴포즈와 볼륨 활용을 위한 기초를 마련합니다.
[Cloud Infra] 서버와 SSH
이 글은 안전한 서버 배포를 위해 SSH 비대칭 키를 이용한 원격 접속 및 간편 설정 방법을 소개합니다. 또한 저스펙 서버의 OOM(메모리 부족) 에러 방지를 위한 스왑 메모리 할당과 패키지 업데이트 과정을 다룹니다. 마지막으로 SSH 기본 포트 변경, SELinux 정책 허용, 방화벽 설정을 통해 외부 침입을 예방하는 기초적인 서버 보안 구축 방법을 제시합니다.
NestJS 기초 — 모듈·컨트롤러·프로바이더부터
NestJS는 모듈과 의존성 주입(DI) 구조를 강제하여 높은 예측 가능성과 개발 편의성을 제공하는 TypeScript 기반 백엔드 프레임워크입니다. 데코레이터와 생성자 주입 방식 등 Spring Boot와 유사한 아키텍처를 공유하여 기존 스프링 개발자가 적응하기 쉽습니다. 핵심 개념인 모듈, 컨트롤러, 프로바이더는 DI를 통해 유기적으로 결합되어 애플리케이션의 명확한 역할 분담과 경계를 지원합니다.
[Tools] Rust 기반 JS/TS 툴킷 Oxc(Oxlint) 이해와 프로젝트 적용 가이드
Oxc(Oxlint, Oxfmt)는 기존 ESLint와 Prettier의 병목을 해결해 검사 속도를 초 단위에서 밀리초(ms) 단위로 단축함으로써 개발 흐름의 지연을 최소화합니다. 규칙의 지속적인 통제를 위해 자동 마이그레이션 대신 필요한 규칙만 직접 작성해 운용하는 것이 효과적입니다. 아직 베타 단계인 Oxfmt의 특성을 고려하여, 프로젝트 요구사항에 따라 단독 교체하거나 기존 도구와 레이어로 병행하여 실용적으로 도입할 수 있습니다.
[Kotlin Spring Boot] 롬복(Lombok) 버리기 - OAuth2 핸들러 리팩토링
본 글은 자바에서 코틀린으로 전환하며 롬복을 걷어내고 OAuth2 로그인 성공 핸들러를 리팩토링한 과정을 다룹니다. 주 생성자와 val을 활용해 의존성의 불변성을 보장하고, 안전한 캐스팅(as?)과 엘비스 연산자를 적용해 런타임 널(Null) 에러를 방지했습니다. 또한, if-else 표현식을 사용하여 불필요한 가변 변수를 제거함으로써 코드의 안정성과 가독성을 높였습니다.
시리즈
주제별로 묶인 연재 글을 확인해 보세요.
IaaS 배포 실전
이 시리즈에 대한 설명이 없습니다.
멀티캠퍼스 JAVA 풀스택 개발자 아카데미 6회차
멀티캠퍼스 JAVA 풀스택 개발자 아카데미 6회차에서 배운 내용을 기록합니다.