Programming(219)
-
토비의 스프링 부트 - 이해와 원리 : 섹션5. 독립 실행형 스프링 애플리케이션 - Dependency Injection & 의존성 오브젝트 DI 적용
Dependency Injection스프링 프레임워크에서 DI(Dependency Injection) 기능은 IoC 컨테이너를 통해 제공되며, 이 컨테이너를 흔히 Spring IoC 컨테이너 또는 DI 컨테이너라고 부른다.이 컨테이너는 애플리케이션을 구성하는 객체(Bean)들의 생성과 의존성 주입을 전담한다.덕분에 개발자는 객체를 직접 생성하거나 연결하는 대신 필요한 의존 객체를 컨테이너로부터 주입받아 사용할 수 있다. 예를 들어, 우리가 앞서 만들었던 구조를 보면 HelloController --------------> SimpleHelloService와 같이 형성되어 있다. 아니 언제 의존 관계를 만들었지? 싶지만 사실 의존관계는 별게 아니라 HelloController는 S..
2025.08.07 -
Gradle
Gradle이란 Gradle은 빌드를 자동화해주는 도구(Build Tool)이다.단순하게 컴파일만 하는게 아니라 아래 작업들을 자동으로 처리해준다.코드 컴파일애플리케이션 실행테스트 자동 수행.jar 또는 .war 패키징외부 라이브러리 다운로드빌드 결과 캐싱 및 병렬 처리쉽게 말하면 빌드 + 실행 + 테스트 + 배포까지 한번에 도와주는 자동화 도구이다. Gradle이 필요한 이유자바를 개발할때는 여러 복잡한 작업들을 사용자가 직접 실행시켜줘야만 한다.위에 작성된 모든 일들을 사용자가 직접 입력 해서 처리를 해주는데 이런 과정을 Gradle은 자동으로 수행해주면서 생산성과 일관성을 보장한다. 단적으로 컴파일과 실행에 대해서 예시를 들어보자. Gradle이 없으면 자바로 직접 파일을 지정하여 컴파일을 해줘야..
2025.08.06 -
웹 스크래핑-준비
파이썬을 공부하다 보면 웹 크롤링과 웹 스크래핑에 대해서 이야기 한다.이 차이점는 무엇일까? 웹 크롤링인터넷에는 수많은 웹사이트와 수많은 페이지들이 존재하고 이를 대상으로 필요한 정보를 직접 찾아 모으기란 번거롭고 시간이 오래걸리는 작업이다.웹 크롤링은 이런 작업들을 자동으로 해주는 기술이다.Crowling은 영어 뜻대로 기어다닌다는 의미로 모든 정보를 긁어 오는 것을 의미한다. 웹 스크래핑웹 스크래핑은 이렇게 글을 전부를 뽑아오는게 아니라 원하는 정보만 골라서 추출해주는 것이다.웹 스크래핑은 HTML을 가져와서 그 안에 원하는 정보들을 골라 내서 사용한다. xpathxpath(XML Path Language)는 HTML이나 XML 문서에서 원하는 요소를 정확하게 찾아내기 위한 경로 지정 언어이다.웹 페..
2025.07.28 -
모듈로 자체 실행
파이썬 모듈 내부에 특정 코드를 작성하면 해당 모듈로 직접 코드의 실행이 가능해진다.이는 모듈이 import될때 실행되는 것이아니라 직접 실행 될때만 코드가 실행되도록 만들어주는 진입점(entry point) 역할을 한다. __name____name__은 파이썬이 현재 실행 중인 모듈(파일)의 이름을 담고 있는 내장 변수로 해당 변수가 작성된 파이썬 파일에서 직접 실행을 하면 값으로 "__main__"을 가지게 된다.만약 해당 파일이 import된 상태에서 다른 외부에서 실행을 할 경우에는 "모듈명"을 값으로 가진다. module.py라는 파일을 하나 만들어서 내부에 print로 __name__을 출력하도록 작성한 후에 해당 파일에서 실행해보면__main__을 출력한다. 이제 이 모듈 파일을 외부에서 i..
2025.07.22 -
패키지
파이썬에서 패키지란 여러개의 모듈(.py파일)을 하나로 묶은 디렉터리 구조를 의미한다.간단하게는 모듈을 여러개를 담고 있는 폴더 라고 생각하면 된다. 이 패키지 파일은 __init__.py를 포함하며 이 파일은 해당 디렉터리가 패키지임을 파이썬한테 인식시켜주는 역할을 하며 내부에는 내용을 작성하지 않아도 되나 일반적으로 초기화 코드를 실행시키거나 서브모듈을 외부에 노출시키거나 패키지 수준에서 사용할 이름을 정의해둔다 . 한번 패키지를 만들어보자. 패키지 생성우선 패키지는 하나의 디렉터리를 생성함으로써 시작된다.먼저 package라는 임의의 명칭의 디렉터리를 하나 생성해주고 그 내부에 두개의 모듈을 추가해주자.그리고 각각의 내부에 클래스를 생성해주고 내부에는 info라는 명칭으로 내부에서 출력만 하는 메서..
2025.07.21 -
모듈과 __all__
파이썬에서 모듈(module)이란 파이썬 코드(.py 파일)를 하나의 단위로 묶은 파일로서, 다른 파이썬 파일에서 재사용 가능하도록 만든 코드 집합을 의미한다간단하게 재사용이 가능한 클래스, 함수, 변수등을 담고 있는 파이썬 파일 하나를 모듈이라고 한다. 간단하게 산술을 위한 모듈을 하나 만들어보자.먼저 파이썬 파일을 하나 생성해 주고 사칙 연산에 관련된 함수들을 정의해주자.이제 모듈을 불러올텐데 모듈을 불러올때의 차이점이 존재한다 import module위와 같이 사용하게 되면 모듈 전체를 불러오나 함수의 사용시에 namespace를 사용해줘야한다그래서 함수의 사용시에는 아래와 같이 모듈명을 앞에 붙여줘야만 한다.print(module.add(1, 2))이렇게 사용하면 네임 충돌에 대한 위험성이 없고..
2025.07.21