안녕하세요, 지난번 발표에 이어서 또 다시 기술 세미나를 맡아 시작하게 되었습니다. 2024.02.02 - [Language/Java ☕️] - 자바의 가비지 컬렉션 자바의 가비지 컬렉션 안녕하세요, 이번에 Kernel 360 과정에 참여하게 되면서 기술 세미나를 맡아 준비하게 되었는데요. 거의 대부분의 팀들이 Java 와 Spring Framework 환경으로 프로젝트를 진행하고 있었습니다 (역시,, 자 stonehee99.tistory.com 특별히 지난번 가비지 컬렉션 발표에 이어서 또 다른 컬렉션에 대해 발표를 해보면 어떨까? 하는 생각에 (농담입니다) 객체지향에서 크루분들이 어려워하는 개념 중 하나인 일급 컬렉션에 대해 발표를 진행하기로 하였답니다. 일급 컬렉션(first-class-collec..
이길어때가 더 궁금하다면? 2024.02.06 - [회고/프로젝트 🖥️] - [이길어때] 목차 [이길어때] 목차 프로젝트 이길어때의 개발 과정을 정리합니다. 서비스 주소 📍 https://yigil.co.kr/ 이길로그 나의 너무 멋진 장소 yigil.co.kr 깃허브 주소 🐈⬛ https://github.com/Kernel360/f1-Yigil GitHub - Kernel360/f1-Yigil Con stonehee99.tistory.com 지난 번 postgreSQL을 적용한 경험에 이어서 DB 레플리케이션을 적용한 경험을 공유하고자 합니다. 우선 저희 프로젝트는 기존의 DB 를 한대만 운영했기 때문에, DB의 의존성이 너무나 심하게 걸려있는? 그런 형태였습니다. 예를 들어, 멀티 모듈로 구성하여 ..
이길어때가 더 궁금하다면? https://stonehee99.tistory.com/entry/%EC%9D%B4%EA%B8%B8%EC%96%B4%EB%95%8C-%EB%AA%A9%EC%B0%A8 [이길어때] 목차 프로젝트 이길어때의 개발 과정을 정리합니다. 서비스 주소 📍 https://yigil.co.kr/ 이길로그 나의 너무 멋진 장소 yigil.co.kr 깃허브 주소 🐈⬛ https://github.com/Kernel360/f1-Yigil GitHub - Kernel360/f1-Yigil Con stonehee99.tistory.com 저는 프로젝트의 로그인 파트 개발을 담당하게 되어서 개발을 시작하였습니다. 로그인은 사용자 경험 측면에서의 편리함을 주기위해, 각종 소셜 로그인 서비스를 이용한 로그..
오늘은 비동기 프로그래밍에 관해 함께 알아보는 시간을 갖도록 하겠습니다. 비동기 프로그래밍에 대해 잘 알기 위해서는 동기와 비동기의 차이를 알아야 합니다. 이 둘의 차이는 무엇일까요? 동기 vs 비동기 동기(Synchronous) 와 비동기(Asynchronous) 는 데이터 처리와 작업 실행 방식을 나타내는 용어입니다. 동기 먼저 동기 방식은 작업들이 순차적으로 진행됩니다. 즉, 한 작업이 완료되기 전에는 다음 작업이 시작되지 않습니다. 이 방식은 작업의 순서가 중요할 때 유용한 방식입니다. 예를 들어, 어떤 데이터를 먼저 처리하고 그 결과를 이용해서 다음 작업을 수행할 경우에 적합하겠죠? 하지만 이렇게 동기적으로 작업이 처리될 경우 전체 작업의 효율성이 떨어질 수 있습니다. 하나의 작업이 지연되면 전..
의존성 주입(Dependency Injection, DI)은 객체 지향 프로그래밍에서 널리 사용되는 설계 기법입니다.처음 보면 이해하기 어렵게 느껴지지만, 핵심은 객체가 필요한 의존성을 직접 생성하지 않고 외부에서 전달받도록 만드는 것입니다. 이 글에서는 DI의 개념, 필요성, 그리고 실제 코드 적용 방법을 예제를 통해 차례로 설명합니다.이를 통해 DI가 제공하는 유연성, 확장성, 테스트 용이성을 자연스럽게 이해할 수 있습니다.Dependency Injection이란?Dependency Injection(DI)은 객체가 필요한 의존성을 직접 생성하지 않고외부에서 주입받는 설계 방식입니다. 이 방식에서 객체는 무엇이 필요한지만 정의하고,어떻게 생성되는지는 외부에 맡깁니다. DI를 적용하면 다음과 같은 효과..
오늘은 제어의 역전(Inversion of Control, IoC)의 개념과 현대 소프트웨어 개발에서 이 개념이 중요한 이유를 알아보겠습니다.또한 전통적인 방식과 IoC 방식의 코드를 비교하여 두 접근 방식의 차이를 살펴보고, 마지막으로 IoC가 제공하는 장단점을 정리해볼게요. IoC란 무엇인가?제어의 역전(Inversion of Control, IoC)은 객체 생성과 의존성 연결 같은 제어 권한을 애플리케이션 코드가 아니라 외부(컨테이너나 프레임워크)가 담당하도록 하는 설계 원칙입니다. 기존에는 개발자가 직접 흐름을 제어했지만, IoC에서는 외부가 이 역할을 대신합니다. 즉, 제어의 주도권이 코드 내부에서 외부로 이동하는 구조가 IoC의 핵심입니다. 전통적인 방식class TraditionalServi..