• 시리즈1.CSS 기본 원리와 렌더링 이해-1편.CSS는 어떻게 브라우저에서 동작하는가?

    HTML에 <div> 하나 추가했는데 갑자기 전체 레이아웃이 무너지거나, CSS 속성 하나만 바꿨는데 페이지가 버벅거리기 시작하는 경험이 있으신가요? 무엇 때문에 이런일이 벌어지는지 의문을 품었었다면, 이번 글이 답을 줄 수 있습니다. CSS는 단순히 “꾸미기”가 아니라, 브라우저의 렌더링 엔진과 긴밀히 연결된 하나의 시스템입니다. 이 시스템을 이해하면, 왜 어떤 CSS 속성은 성능에 악영향을 주고,...


  • Java 21 Visitor Pattern - 로직과 구조의 분리

    Java에서 객체 타입별로 다른 처리가 필요할 때 instanceof 남발로 인한 복잡한 코드와 확장성 문제를 Visitor Pattern으로 해결하는 방법을 다룹니다. 음악 스트리밍 서비스 예제를 통해 패턴의 원리를 단계별로 설명하고, Java 21의 최신 기능들과 실무 적용 방법까지 다룹니다. 오늘도 평범한(?) 목요일 아침, 커피를 마시며 코드를 보던 중 이런 생각이 들었습니다. “아, 또...


  • 자바 제네릭 super 와일드카드와 PECS 원칙

    지금까지 제네릭 클래스, 제네릭 메소드, 와일드카드의 extends에 대해서 알아보았습니다. 드디어 우리의 목표 메소드를 완전히 해석할 수 있는 마지막 퍼즐 조각인 super 키워드에 대해 알아보겠습니다. public <T extends Comparable<? super T>> T max(Collection<? extends T> col) [리스트 1] 드디어 완전히 해석할 목표 super 와일드카드의 필요성 앞선 포스트에서 extends 와일드카드를 배웠는데, 왜...


  • AI 시대, 개발자가 살아남는 방법

    AI가 개발 전반에 걸쳐 개입하는 시대가 정말로 왔습니다. 간단한 요구사항만 던져주면 AI 에이전트가 알아서 프로젝트를 만들고, 코드를 생성하고, 심지어 배포까지 해주죠. 처음 AI가 만든 결과물을 본 순간… 정말 경악했습니다. “곧 우리는 짤리겠구나…” 현실은 그렇게 호락호락하지 않더군요 하지만 실무에서 AI를 활용한 개발을 해보니 오히려 시간이 더 걸리는 경우가 허다했습니다. 원래 잘...


  • Windows에 Gradle 9 설치하기

    요구사항 Gradle 최신 버전(9.0.0)은 Java JDK 17 이상이 설치되어 있어야 합니다. 주요 OS에서 대부분 설치가 가능합니다. 자바 버전은 아래 명령어로 확인할 수 있습니다. 자바버전 확인 java -version Gradle은 Groovy Library를 포함하여 배포되기 때문에 특별히 따로 설치할 필요는 없습니다. 기존에 설치되어 있는 Groovy가 있어도 그 버전은 무시합니다. 설치파일 다운로드 다운로드 페이지에서...