[회고] 블로그를 시작하며
2024년을 맞이하여 나의 흔적들을 남기고 기록하기 위해 기술 블로그를 시작했다. 2023년보다 더 나은 “나 자신”이 되기 위해, 스스로에게 부끄럽지 않은 “나 자신”이 되기 위해 꾸준히 기록하는 습관을 들이고자 한다. 기록하는 습관을 들이려는 이유? “동트기 전에 일어나라. 기록하기를 좋아하라. 쉬지말고 기록해라. 생각이 떠오르면 수시로...
2024년을 맞이하여 나의 흔적들을 남기고 기록하기 위해 기술 블로그를 시작했다. 2023년보다 더 나은 “나 자신”이 되기 위해, 스스로에게 부끄럽지 않은 “나 자신”이 되기 위해 꾸준히 기록하는 습관을 들이고자 한다. 기록하는 습관을 들이려는 이유? “동트기 전에 일어나라. 기록하기를 좋아하라. 쉬지말고 기록해라. 생각이 떠오르면 수시로...
@NoArgsConstructor, @RequiredArgsConstructor, @AllArgsConstructor Lombok 라이브러리에서 제공하는 애너테이션으로, 생성자를 자동으로 생성해주는 역할을 한다. Lombok Java의 라이브러리로 반복되는 메소드를 Annotation을 사용해서 자동으로 작성해주는 라이브러리 ...
MSA란? MicroService Architecture의 줄임말로 어플리케이션을 다양한 MicroService들로 구성하여 느슨하게 결합된 서비스의 모임으로 구조화하는 서비스 지향 아키텍처(SOA) 스타일의 소프트웨어 개발 기법입니다. 독립적으로 실행이 가능하며 배포가 가능한 서비스를 의미합니다. MSA 특징 각각의 마이크로 서...
TDD 테스트 주도 개발 (Test Driven Development) 테스트를 먼저 설계 및 구축 후 테스트를 통과할 수 있는 코드를 짜는 것 선 테스트 코드 작성 후 실제 코드 개발 애자일 개발 방식 중 하나 짧은 개발 주기의 반복에 의존하는 개발 프로세스 ...
[Java]의 타입 Java에서 데이터 타입은 크게 Primitive Type(원시 타입)과 Reference Type(참조 타입)으로 나뉘어짐 최근 자바는 오토박싱, 언박싱이 잘 되어 있어, 원시 타입과 참조 타입을 코드 구현 상에서 같이 사용해도 큰 불편함이 없다. Auto Boxing(오토박싱) & UnBoxing(...
String, StringBuffer, StringBuilder 자바에서의 문자열 클래스 String, StringBuffer, StringBuilder → 문자열을 저장하고 관리하는 클래스 왜 구분해야 되는거지? 연산횟수가 적다면 사실 어떤걸 써도 관계가 없다. 하지만 연산횟수가 많아지거나, 멀티쓰레드, Race conditi...
Java의 메모리 영역 Java 프로그램이 실행되면 JVM(자바 가상 머신)은 OS로부터 메모리를 할당받고, 그 메모리를 용도에 따라 여러 영역으로 나누어 관리한다. JVM의 메모리 공간(Runtime Data Area)는 크게 Method(Static) 영역, Stack 영역, Heap 영역으로 구분되고 데이터 타입에 따라 각 영역에 나눠서 할당 되...
public? static? final? 1. 접근 제어자 (Access Modifier) 변수나 메서드의 사용 권한 설정 객체 사용자가 객체 내부적으로 사용하는 변수나 메서드에 접근함으로써 개발자가 의도하지 못한 오동작을 일으키는 것 방지 접근 제어자 private de...
1. 운영체제에 비종속적이다. Java는 다른 프로그래밍 언어와 다르게 OS(운영체제)에 종속되지 않는다. Java의 응용프로그램은 OS나 하드웨어가 아닌 JVM하고만 통신을 하고, JVM이 응용프로그램으로부터 전달받은 명령을 해당 운영체제가 이해할 수 있는 기계어로 변환하여 전달하기 때문에 Java는 운영체제와 통신할 일이 없다. 그렇기에 ‘...