본인은 아직 인텔맥을 사용 중이다.19년 모델 i9 인텔맥 제일 좋은 옵션이라.. 바꾸고는 싶은데 못바꾸고 계속 쓰고있다.. 혹시 모를 미래의 나와, 나같은 사람들을 위해 기록해본다.1-1. Homebrew로 Maven 설치# homebrew가 설치되어있는지 확인brew -v# homebrew가 설치되어 있지 않다면 이 명령어로 설치/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" 1-2. Apache 공식 사이트에서 Maven 설치특수한 상황이 아니라면 위의 homebrew를 사용하는 방식을 사용하자.본인은 Spring Cloud, Spring Boot 상황에 맞춰 원하는 버전의 M..
Backend
0. 들어가며 외주가 들어왔다. 전 회사에서 새로운 개발자 채용 또는 내부에서 처리하겠다고 한건이 퇴사한 나에게 넘어왔다.웹앱 출시 후 실제 결제 API로 변경과 결제취소 구현이 남아있었는데.. 결국 돌고돌아 내가 다시 맡게되었다.다른 유지보수 건들도 있었는데 그건 다 끝나고.. 카카오페이 API는 몇번 만져봤으니 후딱 해치워보자. 물론, 실제 비지니스에 직결되어있으며, 금액 관련 기능이라 꼼꼼히 살펴봐야한다. 1. 공식문서 살펴보기https://developers.kakaopay.com/docs/payment/online/cancellation 카카오페이 | 개발자센터새로운 기회와 가치를 함께 만들어봐요developers.kakaopay.com Request Response 다른 응답값들에 대한 변수들..
이 글은 스터디를 진행하며 '스프링 핵심 원리 - 기본편 (김영한)' 강의를 듣고 정리한 글입니다. 스프링이란? - 자바 언어 기반의 프레임워크 - 자바 언어의 가장 큰 특징 - 객체 지향 언어 - 객체 지향 언어가 가진 강력한 특징을 살려내는 프레임워크 - 좋은 객체 지향 애플리케이션을 개발할 수 있게 도와주는 프레임워크 스프링 프레임워크 - 핵심 기술: 스프링 DI 컨테이너, AOP, 이벤트, 기타 - 웹 기술: 스프링 MVC, 스프링 WebFlux - 데이터 접근 기술: 트랜잭션, JDBC, ORM 지원, XML - 기술 통합: 캐시, 이메일, 원격접근, 스케줄링 - 테스트: 스프링 기반 테스트 지원 - 언어: 코틀린, 그루비 - 최근에는 스프링 부트를 통해서 스프링 프레임워크의 기술들을 편리하게 ..
실시간 알림 기능은 현대 웹 애플리케이션에서 거의 필수적인 요소가 되었습니다. 사용자 경험을 향상시키고, 애플리케이션의 상호작용성을 높이기 위해 진행중이던 프로젝트에도 SSE를 도입하게 되었습니다. 이 글에서는 Spring Framework와 Server-Sent Events(SSE)를 사용하여 프로젝트를 진행하며 직접 실시간 알림 기능을 구현한 방법에 대해 소개하겠습니다. 1. SSE(Server-Sent Events)란?SSE는 웹 애플리케이션에서 서버로부터 데이터를 비동기적으로 전송받을 수 있는 기술 중 하나입니다. 이를 통해서 서버는 새로운 정보가 있을 때마다 실시간으로 클라이언트에게 데이터를 푸시할 수 있습니다. 웹 애플리케이션에서 실시간 알림기능을 구현할때 매우 유용합니다. 2. 왜 SSE를..
Java 컴파일 과정 자바의 컴파일 과정은 크게 다섯 단계로 나눌 수 있습니다. 개발자가 작성한 소스코드(.java)부터 시작하여, 실행 가능한 애플리케이션으로 변환될 때까지의 과정을 함께 살펴보겠습니다. 1. 자바 소스코드 작성 모든 것은 개발자가 자바 소스코드(.java 파일)를 작성하는 것으로 시작됩니다. 이 코드는 애플리케이션의 로직을 정의하며, 자바의 문법에 따라 구성됩니다. 2. 자바 컴파일러(Java Compiler)에 의한 컴파일 작성된 소스코드는 자바 컴파일러(javac)에 의해 컴파일됩니다. 컴파일 과정에서 소스코드는 자바 바이트코드(.class 파일)로 변환됩니다. 이 바이트코드는 JVM이 이해할 수 있는 중간 형태로, 아직 기계가 직접 실행할 수는 없습니다. 바이트 코드의 각 명령어..
1JVM이란 무엇이고 왜 필요할까? JVM이란? JVM(Java Virtual Machine)은 자바 코드를 컴파일하여 생성된 바이트코드를 실행하는 가상의 실행 환경입니다. 이는 자바 프로그램이 다양한 운영 체제에서 변경 없이 실행될 수 있도록 하여, 개발자가 플랫폼에 구애받지 않고 코드를 작성할 수 있게 해줍니다. JVM은 자동 메모리 관리, 보안 기능, 성능 최적화 등을 제공하여, 개발의 효율성을 높이고 애플리케이션의 안정성과 보안을 강화합니다. JVM의 장점과 특징 플랫폼 독립성 JVM은 다양한 운영 체제에서 동일한 바이트코드를 실행할 수 있게 해줍니다. 개발자는 운영 체제의 차이를 걱정하지 않고 애플리케이션을 개발할 수 있으며, 이는 소프트웨어의 이식성을 크게 향상시킵니다. 보안 JVM은 코드 실..