FrameWork 54

FrameWork/Spring
컨테이너에 빈 등록 및 조회

오늘은 스프링 컨테이너에 빈 등록, 조회를 하는 방법에 대해 알아보자. 컨테이너에 빈 등록하기스프링 컨테이너에 빈을 등록하는 방법은 2가지가 있다. @Bean을 통해 직접 등록하는 방법@Configurationpublic class AppConfig { @Bean public MemberRepository memberRepository(){ return new MemoryMemberRepository(); }} @Configuration 구성 정보에 @Bean 어노테이션을 통해 스프링 컨테이너에 직접 빈을 등록할 수 있다. 빈 객체로 등록하고 싶은 메서드 위에 @Bean 어노테이션을 추가해 사용한다.  @ComponentScan을 이용하여 자동으로 빈 등록하는 방법@Confi..

FrameWork/Spring
IoC, DI 컨테이너

오늘은 IoC, DI 컨테이너에 대해서 알아보고자 한다.  IoC, DI 컨테이너를 보기 전, 객체지향부터 확인하기일단 IoC, DI 컨테이너를 보기 전 좋은 객체 지향 설계의 5가지 원칙에 대해 보는 것이 살펴보고 가자.  디자인 패턴과 SOLID 원칙최근 객체 지향 프로그래밍을 자주 하게 되면서 해당 로직이 어떻게 더 깔끔하게 작성할지, 또는 코드의 유지보수성이 잘 되었으면 하는 생각에 여러 주제를 찾아보다가 디자인 패턴을 접하jheaon.tistory.com 객체지향으로 코드를 작성하기 위해서는 다음과 같은 규칙을 따르는 것이 좋다. 역할과 구현을 분리한다.클라이언트는 역할(인터페이스만 알면 된다)클라이언트는 내부 구조와 구조의 변경이 일어나도 영향을 받지 않는다. 클라이언트는 구현 대상 자체를 변..

FrameWork/Spring
Thymeleaf

오늘은 Spring에서 Thymeleaf 라이브러리를 사용하는 방법에 대해 알아보고자 한다.   Thymeleaf타임리프란 템플릿 엔진의 일종으로 html 태그에 속성을 추가하여 페이지를 동적으로 값을 추가하거나 처리 할 수 있도록 만들어주는 Spring 라이브러리를 말한다.  해당 라이브러리를 사용하기 위해서는 Gradle에 아래처럼 라이브러리를 추가해준 다음 빌드 한다.implementation 'org.springframework.boot:spring-boot-starter-thymeleaf'  사용 방법사용예시를 들기 위해 HelloController와 templates폴더 아래 hello.html 파일을 만들어 작동시켜 보았다. 주의 : 스프링부트는 템플릿 의존성 라이브러리를 추가하게 되면 자동..

FrameWork/Spring
JDBC (내용 추가 예정)

오늘은 JDBC에 대해서 알아보고자 한다.  JDBC JDBC(Java Database Connectivity)로 DB에 접근할 수 있도록 Java에서 제공하는 API을 말한다.JDBC에 연결해야하는 DB의 JDBC 드라이버를 제공하면 DB연결 로직을 변경할 필요없이 DB변경이 가능하다.     JDCB Template JDBC의 등장으로 손쉽게 DB교체가 가능해졌지만 아직도 DB에 연결하기 위해 여러가지 작업 로직들을 직접 작성해야한다는 불편함을 해결하기 위해 커넥션 연결, statement 준비 및 실행, 커넥션 종료 등의 반복적이고 중복되는 작업들을 대신 처리해주는 JdbcTemplate이 만들어 졌다.

FrameWork/Spring
Controller

오늘은 Spring Controller을 다루는 법에 대해서 정리해보고자 한다.   ControllerMVC 패턴과 내용이 이어집니다 참고하세요 :) MVC Pattern오늘은 Spring MVC 패턴에 대해 알아보고자 한다.    Spring MVC흔히 말하는 MVC 패턴이란 Model-Veiw-Controller의 약자로, 소프트웨어 디자인 패턴 중 하나를 의미한다.    Model : 데이터와 비즈니스 로jheaon.tistory.com Spring Controller에서 정적페이지와 동적페이지를 처리할 수 있다.  정적페이지정적페이지 같은 경우 말 그대로 html을 그대로 클라이언트에게 넘겨주는 경우이다. SpringBoot서버에 html파일을 요청하면 해당 html 파일을 static 폴더에서 ..

FrameWork/Spring
MVC Pattern

오늘은 Spring MVC 패턴에 대해 알아보고자 한다.    Spring MVC흔히 말하는 MVC 패턴이란 Model-Veiw-Controller의 약자로, 소프트웨어 디자인 패턴 중 하나를 의미한다.    Model : 데이터와 비즈니스 로직을 담당하며, 데이터베이스와 연동하여 데이터를 저장하고 불러오는 등의 작업을 수행한다. View : 사용자 인터페이스를 담당한다. 사용자가 보는 화면과 버튼, 폼 디자인을 하고 구현한다. Controller : Model과 View 사이의 상호작용을 조정하고 제어한다. 사용자의 입력을 받아 Model에 전달하고, Model의 결과를 바탕으로 View를 업데이트한다. 여기서 Spring Web MVC는 Servlet API기반으로 구축된 웹 프레임워크로 중앙에 있는..

FrameWork/Unity
Unity Cinemachine

이번에는 유니티의 카메라 라이브러리 시네머신을 다루는 방법에 대해서 정리해보고자 한다. 준비 일단 시네머신을 사용하기전에, Unity에서 기본으로 제공하는 starter pack 사용해서 진행하였다. 해당 에셋을 설치하게 되면, 시네머신도 의존성에 의해 같이 설치되어 있으므로 시네머신 카메라를 함께 사용할 수 있다. Freelook 일반적인 자유 카메라를 의미하며, Follow, LookAt에 따라서, 카메라가 따라다닐 오브젝트와, 바라보는 오브젝트를 설정할 수 있다. BlendList 블랜드리스트 카메라는 자연스러운 카메라 회전이 필요할 때 사용된다. 블랜드리스트 카메라를 생성하게 되면 여러 가상카메라들이 생기는데 오른쪽에 있는 BlendIn 옵션에 따라서, 카메라 전환을 자유롭게 하게 만들 수 있다...

FrameWork/Django
django-seed을 통해 더미데이터 만들기

이번에는 django-seed 라이브러리를 통해 더미 데이터를 만들어 비어있는 DB 채워주는 것을 알아보고자 한다. django-seed django-seed는 Faker라이브러리를 사용하여 django 모델에 대한 테스트 데이터를 생성해 주는 라이브러리이다. 설치 터미널을 통해 설치한다. 참고로 psycopg2를 설치하니 오류가 발생하여, 바이너리 버전인 psycopg2-binary을 설치하여 진행하였다. pip install django-seed pip install psycopg2-binary 그다음 settings.py에 들어가 앱을 등록한다. INSTALLED_APPS = ( ... 'django_seed', ) 아래 명령어를 통해 다음 생성하고자 하는 앱과 --number 옵션을 작성하여 더미..

FrameWork/Django
settings.py 분리하여 관리하기

Settings.py을 분리한다는 것이 무슨 말이죠? 장고를 사용하다보면 기능 구현을 위해 여러 라이브러리나 모듈, 미들웨어 등을 추가하면서 몸집을 키워나가게 되는데 이 과정에서 settings.py 파일의 크기가 커진 나머지 내가 어떤 것을 추가하였는지 대해 찾기도 어려울 뿐더러, 배포을 할때에는 사용자에게 보여주면 안되는 세부정보들을 제공하지 않기 위해 개발용 세팅과, 배포용 세팅을 따로 둘 필요성이 있습니다. 따라서 이런 이유로 장고 개발자들은 본래 프로젝트를 시작하면 만들어지는 settings.py을 settings 라는 폴더를 만들고 그 안에 common.py, prod.py 등으로 쪼개서 관리하시는 식으로 프로젝트를 관리하고 있습니다. 한문장으로 설명하자면 : 그냥 프로젝트에 사용되는 설정 코..