전체 글 (19) 썸네일형 리스트형 [Spring] 빈 생명주기 콜백 Spring Framework를 사용하여 애플리케이션을 개발할 때, 빈의 생명주기를 관리하는 것은 매우 중요합니다. 빈이 생성되고 초기화되는 시점과, 애플리케이션이 종료되거나 빈이 소멸되는 시점을 제어하면 애플리케이션의 안정성을 높이고, 리소스를 효율적으로 관리할 수 있습니다. 이번 블로그 글에서는 빈 등록, 초기화, 소멸 메서드 지정 및 @PostConstruct, @PreDestroy 애노테이션에 대해 설명하겠습니다.빈 생명주기 콜백이란?Spring에서 빈 생명주기 콜백을 통해 빈이 생성되고 소멸되는 시점을 제어할 수 있습니다. 주요 방식으로는 다음과 같습니다:초기화 및 소멸 메서드 지정@PostConstruct와 @PreDestroy 애노테이션 사용초기화 및 소멸 메서드 지정빈을 초기화하고 소멸시킬.. [C++] 재귀함수를 이용한 조합 조합(combination)은 특정 집합에서 순서를 고려하지 않고 선택한 부분집합을 의미합니다. 이 글에서는 재귀함수를 이용한 조합 생성 코드를 설명합니다.함수 정의void combi(int start, vector b) { if (b.size() == k) { print(b); return; } for (int i = start + 1; i 주요 요소start: 현재 조합에서 다음 요소를 선택하기 시작할 위치를 의미합니다.b: 현재까지 선택된 요소들을 저장하는 벡터입니다.k: 선택할 요소의 개수입니다.n: 선택 가능한 전체 요소의 개수입니다.print(b): 완성된 조합을 출력하는 함수입니다.작동 원리조합의 완성 조건:if (b.size() == k) 부분에서 .. [Spring] 스프링 4.3이상에서 @Autowired 애노테이션 생략과 생성자 주입 방식 스프링 프레임워크는 다양한 방식의 의존성 주입(Dependency Injection, DI)을 지원합니다. 그 중 생성자 주입은 가장 권장되는 방식으로, 불변성을 보장하고 객체의 상태를 안전하게 유지할 수 있게 합니다. 스프링 4.3부터는 이러한 생성자 주입을 더욱 간편하게 사용할 수 있는 기능이 추가되었습니다. 이번 글에서는 스프링 4.3에서 @Autowired 애노테이션을 생략하는 방법과 생성자 주입 방식에 대해 알아보겠습니다.생성자 주입 방식의 DI생성자 주입은 객체가 생성될 때 필요한 의존성을 주입하는 방식입니다. 이 방식은 의존성이 항상 초기화 단계에서 설정되므로 객체의 불변성을 보장할 수 있으며, 테스트 용이성도 높습니다. 아래는 생성자 주입 방식의 예제입니다.@Componentpublic c.. [C++] 효율적인 문자열 분할(split) 함수 구현 C++ 표준 라이브러리(STL)는 문자열 분할(split) 함수를 기본적으로 지원하지 않습니다. 그러나 문자열을 구분자를 기준으로 분할하는 작업은 많은 프로그래밍 문제에서 자주 요구됩니다. 따라서 우리는 이 작업을 효율적으로 수행할 수 있는 사용자 정의 split 함수를 작성해야 합니다. 이번 글에서는 이를 위한 빠르고 효율적인 split 함수 구현 방법을 소개하고, 상수 참조의 이점과 성능 최적화 기법을 함께 설명합니다.상수 참조(const reference)란?참조(reference): C++에서 참조는 특정 변수의 별명을 만들어 줍니다. 즉, 참조는 변수 자체가 아니라 그 변수에 대한 별명입니다.상수(const): 상수는 값을 변경할 수 없음을 의미합니다. const 키워드는 해당 변수나 객체가 변.. [Java] 자바에서 효율적인 싱글톤 패턴 구현하기: Double-Checked Locking 싱글톤 패턴은 소프트웨어 디자인 패턴 중 하나로, 특정 클래스의 인스턴스가 하나만 생성되도록 보장하는 패턴입니다. 자바에서 싱글톤 패턴을 구현하는 다양한 방법이 있지만, 그 중에서도 Double-Checked Locking 패턴은 성능과 스레드 안전성을 모두 만족시키는 효율적인 방법입니다. 이번 글에서는 Double-Checked Locking 패턴을 중심으로 싱글톤 패턴을 구현하는 방법과 그 이유를 설명하겠습니다.싱글톤 패턴의 기본 구현기본적인 싱글톤 패턴은 다음과 같이 구현할 수 있습니다:public class SingletonService { // 유일한 인스턴스를 저장할 정적 변수 private static SingletonService instance; // private 생성자.. 스타트업 2년차 개발자의 업무 프로세스와 팁: 빠른 서비스 배포 주기에서의 태스크 관리 방법 오늘은 스타트업 2년차(라고 쓰고 만 10개월차인) 개발자의 업무 프로세스와 정리하는 팁을 작성해보려고 합니다. 우선 현재 다니고 있는 기업의 경우 서비스의 배포 주기가 1 ~ 1.5주일 정도로 굉장히 속도감있게 진행됩니다. 이러한 환경에서 일을 하며 현재 제가 어떤 방식으로 일을 하고 있는지 간략하게 소개해보겠습니다. 미술 학원 관리 LMS 서비스의 MVP를 개발하고 있는 현재는 대부분의 경우에 신규 기능을 개발하는 경우가 많은데, 하나의 도메인단위로 작업이 진행됩니다. 최근 저의 작업을 예로 들면, 미술학원에서 수업을 진행하며 나오는 그림과 작품들을 ‘포트폴리오’라는 도메인으로 정의하여 작업하였습니다. 저는 보통 새로운 도메인 기획이 나왔을 때, 다음과 같이 타이트하게 업무일 5일을 잡고 일을 진행합.. [C89] 포인터 목차 1. 포인터 2. 주소 연산자 3. 역참조 연산자 4. 널 포인터 5. 포인터 연산 6. 포인터와 const 7. 포인터 배열 포인터 포인터는 메모리 주소값을 저장하기 위한 특별한 변수 구분이 없다면 어떤게 값이고 주소인지 헷갈림 주소 연산자 주소 연산자 & num이란 변수가 있으면 &num은 그 변수가 위치한 메모리 주소 보통 주소 16진수 주소에 저장된 자료형은? int num = 10; int* num_address = &num 위의 예시처럼 선언하여 num_address에 담긴 값에 가면 int형이 저장되어있다는것을 알려줌 포인터는 오른쪽에서 왼쪽으로 읽음 위의 코드를 예로 들면, num_address는 포인터이다. int로 향하는(pointer to an int) 역 참조 연산자 * 주소로.. [C89] C언어 기본 문법 목차 1. 헬로월드 2. C언어의 기본 문법 2-1. 다양한 것 2-2. 스택 메모리 헬로월드 #include #include의 동작 방법 C의 #include는 헤더 파일(*.h)을 열어서 그 내용을 복붙 main(void) 함수 C 코드를 빌드해서 나온 실행파일(.exe 또는 .out)을 실행하면 자동으로 실행(프로그램의 진입점) 반드시 int 반환 -> return 0; /* 프로그램에 문제가 없었다는 뜻 */ 프로그램 종료 코드 확인하기 - echo %errorlevel%(윈도우 CMD 기준) - $ echo $?(Shell) C언어의 기본 문법 기본 자료형 signed가 기본(char는 예외) unsigned는 사용하려면 명시해줘야함 char 최소 8비트 1바이트 = CHAR_BIT(char 크.. 이전 1 2 3 다음