
AOP는 공통 기능을 한곳에 모아 관리함으로써 핵심 로직을 더 깔끔하게 만드는 스프링의 중요한 개념이다. 로깅, 보안, 트랜잭션 같은 반복 코드를 분리하여 유지보수를 쉽게 해준다.

스프링에서 DI(의존성 주입)는 객체 간의 결합을 낮추고 더 유연한 구조를 만들기 위한 핵심 개념이다. 필요한 객체를 직접 생성하지 않고 외부에서 주입받아, 유지보수성과 확장성이 크게 향상된다.

LLM(거대 언어 모델) 자체는 '기억'이 없습니다(Stateless). 매번의 API 호출은 완전히 독립적입니다. "안녕"이라고 말한 뒤 "내 이름이 뭐야?"라고 물으면, LLM은 "안녕"이라는 이전 대화를 모르기 때문에 대답할 수 없습니다.'기억'을 구현한다는 것은

안녕하세요. AICE 시험을 준비하며 꼭 알아야 할 머신러닝 핵심 개념들을 정리해 보았습니다.1\. 데이터 스케일링 (Scaling) 3대장데이터를 모델에 학습시키기 전, 피처들의 단위를 맞춰주는 전처리 과정입니다. 왜 할까요? 만약 '키(cm)'와 '나이(세)'를 함

Jetpack Compose 기반 캘린더 오픈소스 라이브러리 "PhotoCalendar" 프로젝트 기여하기

안녕하세요! 오늘은 Compose를 사용하면서 Preview 코드가 너무 길어져 고민했던 경험과 이를 개선한 방법에 대해 공유하려고 합니다.버튼 컴포넌트를 만들고, 피그마 디자인에 있는 모든 버튼 스타일을 Preview로 확인할 수 있도록 코드를 작성하다 보니 Prev

아래 내용은 네이버 지도 앱으로 특정 위치(좌표)를 표시하려는 기능을 구현하는 과정에서 발생한 문제와, 이를 해결하는 과정을 정리한 글입니다. 문제 상황 기존 코드는 다음과 같은 방식으로, 기기에 런처 아이콘이 있는 앱들을 전부 조회(queryIntentActivities)한 뒤, 결과 목록이 비어 있으면 “네이버 지도 설치 필요”로 판단하여 마켓으로 이...

Hilt 라이브러리를 이용해 의존성을 주입하는 경우에 Module에서 abstract class에는 @Binds 어노테이션이, object에는 @Provides 키워드가 붙게 되는데 어떤 이유에서인지 알아보겠습니다.작성한 예시 코드를 보여드리며 설명하겠습니다.@Bind

이제 4학년 1학기.. 마지막으로 연합동아리를 할 수 있는 기회.. 공고가 올라오자마자 바로 넣어야겠다 생각했다.여러 연합동아리가 있었지만 SOPT라는 동아리가 유명하다는 것도 주변 사람들을 통해 알고 있었고 졸업 프로젝트를 SOPT OB분과 같이 했었는데 잘하셔서 꼭

멀티 모듈 구조란 하나의 안드로이드 앱 프로젝트를 여러 개의 모듈로 나누어 개발하는 구조에요. 각 모듈은 독립적으로 기능을 수행하며, 필요에 따라 서로 간에 데이터나 기능을 공유할 수 있어요.일반적으로 멀티 모듈 구조는 도메인 모듈, 데이터 모듈, 프레젠테이션 모듈 등

저는 이번 블로그 포스팅은 그 동안의 피드백 부분을 가지고 다시 한번 정리하면서 기록해볼까 합니다. 사실 이해가 잘 되지 않았습니다.. (그래서 공부하면서 정리하겠다고 했습니다..)한 클래스는 종종 다른 클래스를 참조합니다. 예를 들면, Car라는 클래스는 Engine

여러분, 데이터베이스 선택이 얼마나 중요한지 아시나요? 현대 애플리케이션에서 데이터베이스는 그야말로 중심 역할을 합니다. 올바른 데이터베이스를 선택하는 것은 프로젝트의 성공을 결정짓는 중요한 요소 중 하나입니다. 저는 이번 글에서 대표적인 관계형 데이터베이스인 MySQ

SOPT 1주차 과제는 Wavve 클론 코딩이고, 3가지(필수과제, 심화과제, 도전과제)로 나누어져 있습니다.그 중 가장 첫번째 필수과제 스터디 내용을 공유해보려고 합니다. SignInActivityHide, Show 에 따라 비밀번호 visible 구현putExtra

일단 먼저 SOPT 에서 협업을 하기 전에 git 과 github 에 대해서 간략하게 설명해주신다고 하셔서 듣게 되었습니다.SOPT에서 배우고 싶은 부분이 깃과 깃허브 및 협업 방식이었기 때문에 달려갔습니다.초기 내용을 요약하자면 Git 과 GitHub 에 대한 설명을

탐욕 알고리즘 또는 그리디 알고리즘(greedy algorithm)은 문제를 해결할 때 매 순간 가장 최적이라고 생각되는 선택을 하는 알고리즘 설계 기법입니다. 이러한 선택은 그 순간에 대해서는 지역적으로는 최적이지만, 그 선택들을 계속 수집하여 최종적(전역적)인 해답

디자인 패턴(Design Pattern) 객체 지향 프로그래밍 설계 시 자주 발생하는 문제를 해결하기 위해 디자인 패턴을 사용합니다. 특히 여러 사람이 협업하는 개발 환경에서, 다른 사람이 작성한 코드나 기존 코드를 이해하고 수정하는 것은 매우 어려운 작업입니다.

설명: 하나의 화면을 나타내는 컴포넌트로, 사용자와 상호작용할 수 있는 UI 요소입니다.역할: 사용자 인터페이스를 구성하고, 사용자의 입력을 처리하며, 화면 간 전환을 관리합니다.예시: 로그인 화면, 홈 화면, 설정 화면 등 각각의 화면이 액티비티로 구현됩니다.중요한

모든 객체는 this 라는 키워드로 자신에 대한 참조를 엑세스할 수 있습니다.특정 객체에 대해 인스턴스 메서드가 호출될 때 메서드의 본문은 this 키워드를 암시적으로 사용하여 객채의 인스턴스 변수 및 기타 메서드를 참조합니다.클래스의 코드를 사용하여 어떤 개체를 조작

클래스 구축, 클래스 멤버에 대한 엑세스 제어, 생성자 생성에 대해 자세히 알아보기문제가 발생했음을 나타내기 위해 예외를 throw 하는 방법을 보여줍니다.구성(Composition) - 클래스가 다른 클래스의 객체에 대한 참조를 멤버로 가질 수 있게 해주는 기능입니다