>

전체 글 87

SQLAlchemy, Alembic, PostgreSQL

SQLAlchemy파이썬용 오픈 소스 SQL 툴킷이자 ORM(Object Realtional Mapper).*ORM: SQL을 직접 작성하지 않고도 파이썬 객체로 DB 테이블을 정의하고 조작할 수 있다. 장점- DB 독립성(MySQL, PostgreSQL, SQLite 등 다양한 DB 지원.)- 생산성: 객체 지향적으로 DB를 다루므로 코드 가독성과 유지보수성이 향상됨.- 유연성: ORM 뿐 아니라 원시 SQL도 함께 사용 가능. 모델 정의 예시class User(Base): __tablename__ = "users" id = Column(Integer, primary_key=True) name = Column(String) AlembicSQLAlchemy와 함께 쓰이는 데이터베이스 마..

TIL 2025.12.17

토이 플젝 - BRD

개발관련 이슈나 기술들을 모아볼 수 있는 사이트 BeRealDev 핵심 기능 기능설명포함 여부키워드 설정React 앱에서 사용자 관심 기술 스택 입력✔자동 크롤링GitHub Trending, Reddit(r/programming), StackOverflow Hot Topics, geek news 크롤링✔API 기반 수집Google Trends API / StackExchange API✔데이터 저장PostgreSQL 테이블 구조 설계✔검색/필터기간별, 기술별 조회✔시각화 대시보드Line Chart, Bar Chart, Tag Cloud✔자동 라벨링NLP 기반 → 언어, 프레임워크, CS Topic 분류✔스케줄링매일 정해진 시간에 자동 수집✔통계 + 알림(선택)Slack/Webhook 보내기보류배포AWS ..

실습 2025.12.15

Git 사용하기(재정리)

Git 설치일단 처음 사용하는 경우에는 Git 홈페이지에서 적절한 릴리즈를 찾아 설치한다. 원격저장소 Github을 이용하는 경우에는 당연히! Github 가입이 되어있어야합니다🐸 Git 사용 시 두 가지 경우둘 중 자신의 상황에 맞는 방법을 선택해주세용 1. 원격 Repository를 내려받기 (이미 존재하는 원격 저장소를 내려받는 경우)cd 폴더명git clone #github에서 code버튼 누르면 주소를 찾을 수 있다위 코드를 터미널에 한 줄씩 작성해 실행. *Visual Studio Code를 기준으로 설명함 이 경우에 첫 push를 시도할 때 다음과 같은 오류가 발생할 수 있는데 이는 현재 작업 중인 브랜치가 원격 저장소(origin)에 아직 연결되지 않았기 때문이다. To push the..

TIL 2025.12.04

파이썬 all(), any()

📑 파이썬의 all()과 any() 함수예시 코드nums = [2, 4, 6, 8]# all: 모두 짝수인지 확인print(all(n % 2 == 0 for n in nums)) # True# any: 하나라도 홀수인지 확인print(any(n % 2 == 1 for n in nums)) # False 아래 코드카타 1번에서 사용함 ALGORITHM CODE KATAⅠ. 정수 l과 r이 주어졌을 때, l 이상 r이하의 정수 중에서 숫자 "0"과 "5"로만 이루어진 모든 정수를 오름차순으로 저장한 배열을 return 하는 solution 함수를 완성해 주세요. 만약 그러한 정수가 없다면, -1이 담긴 배열을 return 합니다.(school.programmers.co.kr)def solution(l..

카테고리 없음 2025.12.02

코드카타 - 나선형으로 정수 배치하기, 주사위 게임

📑 ALGORITHM CODE KATAⅠ. 양의 정수 n이 매개변수로 주어집니다. n × n 배열에 1부터 n2 까지 정수를 인덱스 [0][0]부터 시계방향 나선형으로 배치한 이차원 배열을 return 하는 solution 함수를 작성해 주세요. (school.programmers.co.kr)def solution(n): answer = [[0] * n for _ in range(n)] directions = [(0,1), (1,0), (0,-1), (-1,0)] dir_idx = 0 # 현재 방향 x, y = 0, 0 # 시작 위치 num = 1 # 채울 숫자 while num Ⅱ. 1부터 6까지 숫자가 적힌 주사위가 네 개 있습니다. 네 주사..

TIL 2025.08.27

decorators.xml 파일

📑 decorators.xml 웹 어플리케이션을 구성하고 있는 웹 페이지들은 대부분은 페이지 레이아웃이 동일하게 구성되어 있다. 따라서 동일한 레이아웃을 여러 페이지에 적용하게 된다. 이를 쉽게 할 수 있게 해주는 것이 tiles, velocity, siteMesh 등의 기술이다.Apache Tiles(프레임워크) - , 와 비슷한 역할. 하지만 tiles의 성능이 더 우수.Apache Velocity(템플릿 엔진) - Java 코드에 정의된 객체를 참조하는 템플릿 언어를 제공함. 웹 애플리케이션에서 프레젠테이션 계층과 비즈니스 계층 MVC 패턴에 맞게 분리하는 것을 목표로 함. Tiles나 Velocity 방식이 전체 페이지 중 내용 부분에 해당하는 코드만을 생성하는 방식이라면, SiteMesh는 완..

JAVA 2025.01.17

Spring AOP

📑 Spring AOPAOP(Aspect-Oriented Programming): 스프링 프레임워크에서 제공하는 관점 지향 프로그래밍 기술이다.로깅, 보안, 트랜잭션 관리와 같은 공통 관심사를 모듈화하여 코드의 중복을 줄이고 재사용성, 유지보수성, 확장성을 향상시킬 수 있게한다. 객체지향프로그래밍(OOP)의 핵심단위가 클래스인 반면, AOP는 Aspect가 모듈화 단위가 되기 때문에 OOP를 보완해준다.핵심 관심사(원래 각 객체의 기능)와 공통 관심사(여러 객체에서 반복적으로 쓰이는 코드)로 나누어 프로그래밍. AOP의 주요 개념과 구성요소Aspect - 공통관심사항을 정의하는 모듈. Advice, PointCut 및 Introduction의 세 가지 주요 구성 요소를 포함함.Advice - Aspec..

JAVA 2025.01.13

Transaction, 생성자와 this, 생성자 주입, json 역직렬화

📑 Transaction논리적 작업 단위(LUW, Logical Units of Work)데이터베이스 시스템에서 복구 및 병행 시행(SELECT, INSERT, UPDATE, DELETE) 시 처리되는 작업의 논리적 단위. 데이터베이스에서 트랜잭션을 조작하는 기능은 사용자가 데이터베이스 완전성(integrity) 유지를 보장하게 한다.*데이터베이스 시스템은 각각의 트랜잭션에 대해 원자성(Atomicity), 일관성(Consistency), 독립성(Isolation), 영구성(Durability)을 보장한다. 이 성질을 각 첫글자를 따 ACID라고 한다. 이 ACID를 보장하는 것이 트랜잭션 기능. 간단한 트랜잭션은 아래 양식의 SQL 언어로 데이터베이스 내에서 실행된다.Begin the transact..

JAVA 2025.01.09

Mybatis foreach문

📑 Mybatis foreach문동적으로 SQL을 처리하는 반복문. collection = 전달받은 인자값(Array 또는 List여야한다)index = 목록의 위치값(index, count, first, last ..)에 대한 참조 지정item = 전달받은 인자값의 새 이름(foreach문에서 사용할 변수명)open = 해당 구문이 시작할 때 넣을 문자close = 해당 구문이 끝날 때 넣을 문자separator = 한번 이상 반복할 때 반복되는 사이에 넣어줄 구분자.  #{item} foreach문에 nullable="true"를 추가하면 컬렉션이 null인 경우 foreach가 무시된다.   사용예시 UPDATE T_BSN_CTMMNY SET USE_YN = 'Y' , UPD..

JAVA 2025.01.08