반응형

전체 글 201

[Django 프레임 워크] 2. 프로젝트 생성

1. 본 프로젝트를 위한 config 프로젝트 생성 django-admin startproject config 2. 만들어진 config 프로젝트와 manage.py를 root 레벨로 옮기기 이때 권장되는 확장 프로그램 설치하기. 3. 엔진으로서 동작하는 Python을 pipenv로 변경 4. linting 관련 확장 프로그램이나 툴을 사용할 수도 있음 5. 파일 구성 확인(https://docs.djangoproject.com/ko/3.2/) manage.py는 장고 프레임워크에서 강제하는 파일이다. config 폴더 하위의 __init__.py는 파이썬 문법상 존재해야하는 파일이다. settings.py는 장고에서 애플리케이션을 만드는데 필요한 내용이 담겨 있다. urls.py wsgi.py 6. 파..

[Django 프레임 워크] 1. Django 프레임 워크를 위한 설정

1. Python 3 버전 설치(설치시 PATH에 파이썬 경로 추가) https://www.python.org/ Welcome to Python.org The official home of the Python Programming Language www.python.org 2. PATH 추가 확인 파이썬 설치 과정에서 추가한 PATH가 정상작동 했다면 아래 스크린샷과 같이 python을 입력했을 때, 설치된 파이썬의 버전이 나타나면서 프롬프트의 모양이 >>>로 바뀌게 된다. 3. pipenv 설치 pip 명령어로 패키지 등을 설치를 하게 되면 글로벌 영역에 설치되어, 다른 프로젝트와 섞여 각 라이브러리 등의 버전관리가 힘들게 된다. 따라서 프로젝트 별로 나누어 설치해주는 명령어가 필요한데, 이것이 pip..

[스프링 프레임워크 과외] 5. 어노테이션 설정

지금까지의 과외내용을 요약해보면 xml 파일을 설정함으로써 많은 내용들을 컨트롤 할 수 있었고, 특히 Java 소스코드를 건드리지 않고도 프로그램의 동작을 어느정도 제어할 수 있다는 것이 핵심이었다. 하지만 이와 같은 xml 파일 설정도 양이 많아지면 부담이 되기 때문에 스프링 프레임워크에서는 어노테이션을 이용한 설정을 지원하고 있다. 이번 강의에서는 어노테이션의 종류와 그 설정 방법에 대해서 알아보자. 0. 어노테이션 설정을 위한 설정(applicationContext.xml) 1) Context 네임스페이스(ns) 추가 2) 컨포넌트 스캔(Component-scan) 설정 applicationContext.xml 파일의 태그 안에 과 같이 작성해준다. 그러면 "com.itisik"로 시작하는 모든 패..

[스프링 프레임워크 과외] 4. 의존성 주입

0. 도입 스프링 프레임워크의 특징 중 하나는, 객체의 생성과 의존관계를 컨테이너가 자동으로 관리한다는 점이다. 이것이 바로 제어의 역행(IoC)의 핵심 원리인데, 스프링은 IoC를 다음 두 가지 형태로 지원한다. - Dependency lookup : 지금까지 실시했던 방식으로, 컨테이너를 통해서 bean을 찾아오는 방식이다. - Dependency Injection : 이번 포스트에서 배울 방식으로, 스프링 설정 파일(xml)을 수정함으로써 의존성 설정을 변경할 수 있다. 이러한 의존성 주입 방식은 Setter 메서드를 기반으로 하는 Setter Injection과 생성자를 기반으로 하는 Constructor Injection으로 나뉜다. 두 방식 모두 멤버변수를 원하는 값으로 설정하는 것에 목적이 ..

[스프링 프레임워크 과외] 3. 컨테이너 및 설정 파일(applicationContext.xml)

0. 도입 대부분의 IoC 컨테이너는 각 컨테이너에서 관리할 객체들을 위한 별도의 설정파일이 있다. Servlet 컨테이너는 web.xml 파일에 있고, EJB 컨테이너는 ejb-jar.xml 파일에 해당 컨테이너가 생성 및 생명주기를 관리할 클래스들(bean)을 등록한다. 가장 근본적은 구동 프로세스는 아래와 같다. 1) Spring 컨테이너(GenericXmlApplicationContext)를 구동한다. 2) 구동된 Spring 컨테이너로부터 필요한 객체(bean)를 요청(get)한다. 3) Spring 컨테이너 구동을 종료한다. 이 프로세스를 코드로 표현하면 아래와 같다. 1) AbstractApplicationContext factory = new GenericXmlApplicationConte..

[스프링 프레임워크 과외] 2. 프레임 워크 개요

1. 프레임 워크를 사용하는 이유 1) 아키텍처에 대한 골격 코드를 제공하기 때문에, 비즈니스 로직에 대한 구현 시간이 빨라진다. 2) 아키텍처가 동일하므로 유지보수 및 관리가 쉽다. 3) 개발자 간 역량 차이를 어느정도 완화 해줄 수 있다. 2. 스프링 프레임 워크의 특징 한 줄 요약 : IoC와 AOP를 지원하는 경량의 컨테이너 프레임워크 1) 경량(LightWeight) : jar로 작성된 여러개의 가벼운 모듈로 구성되어 있으며, POJO형태의 가벼운 객체를 관리하기 때문에 기존의 EJB에 비해서 가볍다. 2) IoC(Inverse of control) | 제어의 역행 : 객체 생성을 자바 코드로 직접 처리하는 것이 아니라 스프링의 핵심인 컨테이너가 대신 처리하기 때문에 객체간의 의존관계가 컨테이너..

[스프링 프레임워크 과외] 1. 실습(개발) 환경 구축

1. JDK 설치한다. (https://www.oracle.com/java/technologies/downloads/#license-lightbox) 2. IDE 툴은 이클립스를 사용한다. (https://www.eclipse.org/downloads/) 3. 서버는 톰캣을 사용한다. 이클립스에 톰캣 8버전을 연결한다. (https://tomcat.apache.org/download-80.cgi) 4. DB를 구축한다. (https://itisik.tistory.com/158) 5. STS(Spring Tool Suite) 플러그인을 설치한다. (이클립스에서 Help > Eclipse Marketplace에서 검색하여 다운로드 받거나, https://spring.io/tools 에서 이미 셋팅된 이클립스..

DAO, DTO, VO 개념 및 차이

DAO(Data Access Object) - Database 접근을 위한 객체이다. - Data 삽입(INSERT), 수정(UPDATE), 삭제(DELETE), 조회(SELECT)를 조작/수행한다. - 보통 DB와 연결할 Connection까지 설정하는 경우가 많다. DTO(Data Transfer Object) - 일반적으로 DB(Database)에 접근한 뒤 가져오거나(SELECT) 삽입(INSERT)할 값들을 담기 위해서 만든다. - 담긴 값들은 계층간 데이터 교환을 위해 쓰이는 자바빈즈(beans)이다. (계층의 예 : Controller, Service, View 등...) - 보통 멤버변수는 DB 테이블의 컬럼들이며, getter와 setter를 갖는다. VO(Value Object) - D..

[자바스크립트 과외] 9. Day4 요점정리

[객체로서의 함수] 자바스크립트에서의 함수는 Function이라는 객체이다. 객체의 특징을 그대로 따르기 때문에, 함수는 속성과 메서드를 갖는다. 또한 함수는 다음과 같은 특징들을 갖는다. 1. 함수는 변수나 프로퍼티나 배열 요소에 대입할 수 있다. 2. 함수는 함수의 인수로 사용할 수 있다. 3. 함수는 함수의 반환값으로 사용할 수 있다. 4. 함수는 프로퍼티와 메서드를 가질 수 있다. 5. 함수는 이름없는 리터럴로 표현할 수 있다. (익명 함수) 6. 함수는 동적으로 생성할 수 있다. 이러한 특징을 가진 객체를 가리켜 일급객체라고 하고, 일급 객체인 함수를 일급 함수라고 한다. 자바스크립트 함수는 일급함수이기 때문에, 함수형 프로그래밍을 할 수 있다. Function객체의 프로퍼티는 아래와 같다. 프..