TIL 27

[32] 아무일도 없었...

오늘 배운 내용 한 일목업 디자인 만들기 (Figma)에픽/스토리 구성등.. 기획 설계회고TIL은 거의 두달 만...인가요? 사실 더 일찍 올 수 있었지만 꾸준히 하다가 중단하고 다시 시작하는건 역시 어렵네요11월 중순에 TIL을 올리고 안온 이유는 싸피에서 1학기 마지막 마무리인 관통프로젝트라는 마지막 평가가 있었기 때문인데요사실 두명이서 거의 한달 반 동안 뭔가 한다는게 그렇게 어려웠나 싶었지만 매일 밤새고 밤낮이 바뀌는 생활을 했던걸 보니 그냥 힘든거였나봐요그래서 프로젝트 발표 전날 큰 감기를 얻어서 일주일간 진짜 병자처럼 지냈습니다...그렇게 2026년을 맞이하고 2학기에 들어왔는데 이번에 6명이서 하는 프로젝트를 진행하게 되었습니다.저번 처럼 블로그 내팽겨치면 진짜 돌이킬 수 없을 것 같아서 다..

Programming/TIL 2026.01.19

[31] 🍧 베스킨라빈스 3131~

오늘 배운 내용1. MyBatis (SQL 매핑 프레임워크)역할: 복잡한 JDBC 코드를 없애고 SQL문과 자바 객체(VO/DTO)를 자동으로 연결(매핑)해주는 프레임워크이다.핵심 요소:SqlSession: DB와 실제로 소통하며 SQL을 실행하는 인터페이스 (사용 후 꼭 닫아야 함)Mapper XML: 실제 SQL(SELECT, INSERT 등)을 작성하는 파일설정: mybatis-config.xml에서 DB 연결 정보와 별칭(typeAliases) 등을 관리한다.2. Spring 연동 및 동적 SQLSpring 연동: SqlSessionTemplate을 통해 Spring이 SqlSession의 생명주기와 트랜잭션을 자동으로 관리해 다.동적 SQL: 상황(조건)에 따라 SQL이 실시간으로 바뀌는 기능J..

Programming/TIL 2025.11.17

[30] 💊 (알러지) 약 때문에 너무 졸린 날

오늘 배운 내용인터셉터 (Interceptor)정의: `HandlerInterceptor`를 구현한 객체로, 스프링의 컨트롤러(핸들러) 실행 과정에서 요청을 가로채 처리한다.특징:비즈니스 로직과 분리된 반복적이고 부수적인 로직 처리에 사용된다. (예: 접근 제어, 로그)설정 파일(`addInterceptors`)을 통해 등록하며, URL 패턴을 지정하거나 제외할 수 있다.여러 개를 등록하여 체인으로(등록 순서대로) 동작시킬 수 있다.주요 메서드 및 흐름:`preHandle()`컨트롤러(핸들러) 실행 전에 호출된다.true를 반환해야 컨트롤러가 실행되며, false 반환 시 요청이 중단된다.(컨트롤러 실행)`postHandle()`컨트롤러 실행 후, 뷰(View)가 렌더링 되기 전에 호출된다.컨트롤러에서 ..

Programming/TIL 2025.11.11

[29] 🔨 Maven은 안해봤어요ㅜ.ㅜ

오늘 배운 내용스프링 부트 (Spring Boot)란?스프링 부트는 스프링(Spring)을 더욱 편리하게 사용할 수 있도록 돕는 도구이다. 복잡한 설정을 간소화하고, 호환되는 라이브러리 버전을 자동으로 관리해준다.가장 큰 특징은 "Just run" 즉, 독립적으로 실행 가능한 프로덕션 수준의 애플리케이션을 쉽게 만들 수 있다는 점이다.주요 특징내장 Tomcat 서버: 별도의 웹 서버(Tomcat)를 설치하고 WAR 파일을 배포할 필요 없이 JAR 파일만으로 애플리케이션을 독립 실행할 수 있다.'starter' 의존성: `spring-boot-starter-web`처럼 특정 기능에 필요한 라이브러리 묶음을 'starter'로 제공해, 빌드 구성을 매우 단순화한다.자동 버전 관리: 스프링 및 서드파티(3rd..

Programming/TIL 2025.11.10

[28] · –  – – –  · – – ·

오늘 배운 내용관점 지향 프로그래밍 (AOP)AOP는 애플리케이션 로직을 핵심기능 과 부가기능 으로 나누어 바라보는 프로그래밍 방식이다.핵심기능(Core Concern): 객체가 제공하는 고유의 기능 (ex: 게시글 작성, 상품 주문)부가기능(Cross-Cutting Concern): 핵심기능 전반에 걸쳐 공통으로 필요한 보조기능 (ex: 로그추적, 시간측정, 트랜잭션 관리, 보안)AOP는 흩어져있는 부가기능(Aspect)을 핵심기능 코드와 분리(모듈화)해 관리한다. AOP는 OOP를 대체하는 것이 아닌 OOP를 도와주는 보조적인 기술이다. AOP 작동 원리 : 프록시(Proxy)Spring AOP는 프록시 패턴을 기반으로 동작합니다. 프록시는 '대리인'이라는 뜻으로 실제 핵심 기능을 수행하는 객체(Ta..

Programming/TIL 2025.11.05

[27] ❄️ 나는 윈터가 좋드라 (Spring Framework - DI)

오늘 배운 내용Spring Framework: 웹 애플리케이션을 만들 때 필요한 공통 기능(요청 처리, 세션관리, 리소스 관리 등)을 Spring이 대신 처리해준다.생산성 향상 : 복잡한 기반 기능 대신 핵심 기능 개발에만 집중할 수 있음개발 시간 단축 : 완성된 구조에 기능을 구현하는 거라 개발 속도가 빨라짐핵심특징POJO (Plain Old Java Object)IoC (Inversion of Control, 제어의 역전)DI (Dependency Injection, 의존성 주입)AOP (Aspect Oriented Programming, 관점 지향 프로그래밍)Spring IoC ContainerSpring의 핵심 엔진으로, Bean(스프링이 관리하는 객체)의 생명주기(생성, 조립, 관리, 소멸)를 ..

Programming/TIL 2025.11.04

[26] 그동안 왜 TIL이 없었냐고요?...☠️

오늘 배운 내용데이터베이스 모델링: 현실 세계의 데이터(개체, 업무 규칙 등)를 컴퓨터가 이해할 수 있는 데이터베이스 구조로 변환하는 설계 과정주요 목적데이터 중복 최소화데이터 무결성 보장(정확성 유지)시스템 유지보수 용이성 확장데이터베이스 모델링 3단계개념적 모델링현실 세계의 요구사항을 분석해 핵심 개체(Entity), 속성(Attribute), 관계(Relationship)을 파악한다.산출물로는 ERD(개체-관계 다이어그램)가 있다.논리적 모델링개념 모델을 테이블, 컬럼, 기본키, 외래키 등 관계형 데이터베이스 구조로 변환한다.정규화(Normalization)를 통해 데이터 중복을 제거한다.특정 DBMS에 종속되지 않는다.물리적 모델링특정 DBMS 환경에 맞게 실제 구현 가능한 구조로 변환한다.데이터..

Programming/TIL 2025.11.03

[25] 뭔지 모르겠지만 일단 하는 나

오늘 배운 내용1. 탐색적 데이터 분석 (EDA)EDA의 개념: 데이터를 다양한 각도에서 관찰하고 이해하는 모든 과정을 의미데이터셋: Seaborn 라이브러리의 'mpg' (차량 연비) 데이터셋을 사용분석 과정:데이터의 크기, 컬럼 정보, 결측치를 확인 (`df.info()`)데이터의 통계적 요약 정보(개수, 평균, 표준편차 등)를 확인 (`df.describe()`)데이터의 분포, 상관관계를 시각화하여 데이터의 특징과 패턴을 파악 (`histplot`, `pairplot`, `heatmap`)2. Scikit-learn (사이킷런)소개: 머신러닝 모델을 만들고 평가하는 데 사용되는 라이브러리데이터 전처리:결측치 처리: 누락된 데이터를 채우는 방법을 학습 (`SimpleImputer`)표준화: 데이터의 ..

Programming/TIL 2025.10.14

[24] 연휴 끝 AI 시작 🤖

오늘 배운 내용Python 기초 문법변수 선언, if 조건문, for 반복문 사용법함수 정의 및 리스트 자료구조클래스(Class)와 생성자(__init__), 특수 메서드(매직 메서드)Numpy와 기초 수학AI 학습에 필요한 선형대수학(벡터, 행렬), 미적분 등 수학의 중요성Numpy 배열을 생성하고, 스칼라 곱, 행렬 곱(@), 전치(T) 등 기본 연산데이터 시각화Matplotlib와 Seaborn 라이브러리를 사용해 간단한 그래프(라인 플롯, 산점도)를 그리는 방법Pandas 기초데이터 분석용 라이브러리 PandasCSV 파일을 데이터프레임(DataFrame)으로 읽고, 특정 열(column)을 제거하거나 조건에 맞는 행(row)을 필터링하는 방법AI, ML, DL의 관계AI (인공지능): 인간의 지..

Programming/TIL 2025.10.13

[23] DB는 재밌어! 🗂️

오늘 배운 내용Select 응용집계 함수(Aggregate Function)- 여러 행을 하나로 묶어서 요약된 값을 반환하는 함수- 복수 행 함수, 통계 함수, 그룹 함수- 테이블 전체, 또는 GROUP BY 절과 함께 사용해 묶은 그룹 단위로 계산집계 함수 종류COUNT() : 행의 개수를 세는 함수SUM() : 숫자 값의 합계를 구함AVG() : 평균 값을 구함MIN(), MAX() : 최솟값, 최댓값을 구함COUNT(*): NULL 포함 집계 함수 특징NULL 처리 : 대부분의 집계 함수는 NULL을 무시GROUP BY 절과 함께 사용하여 그룹별 요약 결과를 반환할 수 있음 (없으면 전체 테이블)집계 함수는 여러 행을 묶어 하나의 결과 값을 반환WHERE : 집계하기 전에 행을 필터링HAVING :..

Programming/TIL 2025.10.01