일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- Client
- github
- TLS
- mariadb
- jdbc
- 책 정리
- 프로그래머스
- Java
- WebHook
- window
- AWS
- Linux
- 코딩테스트
- vagrant
- SSL
- ssh
- centos7
- spring boot
- EC2
- Git
- TypeScript
- db
- spring
- Spring Legacy Project
- DISTINCT
- Hibernate
- docker
- Jenkins
- sample
- 토비의스프링
- Today
- Total
목록분류 전체보기 (106)
개발하나도모르겠다
framework? 프레임워크는 뼈대나 기반구조를 뜻하고, 제어의 역전 개념(IOC)이 적용된 대표적인 기술. 소프트웨어에서의 프레임워크는 '소프트웨어의 특정 문제를 해결하기 위해서 상호 협력하는 클래스와 인터페이스의 집합' 이라 할 수 있으며, 완성된 어플리케이션이 아닌 프로그래머가 완성시키는 작업을 해야한다. 객체 지향 개발을 하게 되면서 통합성, 일관성의 부족이 발생되는 문제를 해결할 방법중 하나. 라이브러리? 라이브러리는 단순 활용가능한 도구들의 집합. 즉, 개발자가 만든 클래스에서 호출하여 사용, 클래스들의 나열로 필요한 클래스를 불러서 사용하는 방식을 취하고 있다. 프레임워크와 라이브러리의 차이점 제어의 흐름(flow)이 누구에게 있는지가 중요하다. (흐름의 주도성을 누가 갖고 있는가?) 프레..
예를 들어서 관리자가 성적 조회 어플리케이션을 사용한다고 가정한다. 그 과정은 1. 조회(데이터 취득) 2. 수정 (데이터 갱신) 3. 성적 입력(데이터 등록) 등이 있을 수 있다. 일련의 과정을 거치면서 매 작업마다 DB접속이 있어난다. 한명이 이러한 작업을 할 경우 별 문제 없지만, 수백, 수천의 사람이 동시에 작업한다면 문제가 생긴다. 이러한 문제를 해결하기 위해 나온 기법이 Connection pool 이다. 커넥션 풀(Connection pool)이란, DB와 연결할 Connection 객체들을 Pool에 저장해 놓았다가 클라이언트 요청이 오면 커넥션을 빌려주고, 볼일이 끝나면 다시 반납받아서, pool에 저장하는 방식이다. DB를 연결할 때, 커넥션 풀을 사용하면, 미리 연결을 맺고 있는 커넥..
JAVA에서의 메모리 영역은 크게 Heap, Stack, Static 영역으로 나뉠 수 있다. Static 영역 하나의 JAVA 파일(Class)은 크게 필드(field), 생성자(constructor), 메소드(method)로 구성된다. 그 중 필드 부분에서 선언된 변수(전역변수)와 static키워드가 붙은 자료형 혹은 메소드는 Static 영역에 데이터를 저장한다. Static 영역의 데이터는 프로그램의 시작부터 종료가 될 때까지 메모리에 남아있게 된다. 다르게 말하면 전역변수가 프로그램이 종료될 때까지 어디서든 사용이 가능한 이유이기도 하다. 따라서 전역변수를 무분별하게 많이 사용하다 보면 메모리가 부족할 우려가 있어 필요한 변수만 사용할 필요가 있다. Stack 영역 New를 통해서 인스턴스 객체..
메뉴바 메뉴바 안의 내용을 넣습니다.
Dynamic Web Project에서는 상대경로로 그냥 js파일이나 css파일을 읽어 올 수 있었다. 그런데, Spring STS 를 사용해서 프로젝트를 만들었을 경우 (Spring Legacy Project --> Spring MVC Project) 상대경로로 읽을 시 경로를 계속 읽을 수 없다고 나왔다. 그래서 찾아보니 프로젝트 안에 있는 servlet-context.xml에서 해당 파일들을 불러오는 디렉토리를 미리 설정해 놓고 있었다. servlet-context의 역활 : web application내에 있는 모든 서블릿들을 관리하며 정보공유할 수 있게 도와 주는 역할을 담당한다. 쉽게 말하면 웹 애플리케이션의 등록정보 정도로 생각하면 좋을 듯. servlet이란?? : 클라이언트가 어떠한 요청..
Inversion of Control(IOC) IOC : Inversion of Control (제어의 역전): 프로그래머가 작성한 프로그램이 재사용 라이브러리의 흐름 제어를 받게 되는 소프트웨어 디자인 패턴을 말한다. 전통적인 프로그래밍에서 흐름은 프로그래머가 작성한 프로그램이 외부 라이브러리의 코드를 호출해 이용한다. 하지만 제어 반전이 적용된 구조에서는 외부 라이브러리의 코드가 프로그래머가 작성한 코드를 호출한다. 설계 목적상 제어 반전의 목적은 다음과 같다. 작업을 구현하는 방식과 작업 수행 자체를 분리한다. 모듈을 제작할 때, 모듈과 외부 프로그램의 결합에 대해 고민할 필요 없이 모듈의 목적에 집중할 수 있다. 다른 시스템이 어떻게 동작할지에 대해 고민할 필요 없이, 미리 정해진 협약대로만 동작..
1. Spring Bean이란? 자주 사용하는 객체를 singleton으로 만들어 놓고 어디서든 불러쓸 수 있도록 한 것. Repository, Service, Controllor 역활을 하는 java클래스를 Bean이라고 생각하면 될 것 같다. ******* 스프링에서의 POJO(Plain Old Java Object)를 Bean이라고 한다. 2. POJO란? POJO Plain Old Java Object, 간단히 POJO는 말 그대로 해석을 하면 오래된 방식의 간단한 자바 오브젝트라는 말로서 Java EE 등의 중량 프레임워크들을 사용하게 되면서 해당 프레임워크에 종속된 "무거운" 객체를 만들게 된 것에 반발해서 사용되게 된 용어이다. 2000년 9월에 마틴 파울러, 레베카 파슨, 조쉬 맥킨지 등이..
************************* 참고 ************************** MVC모델을 만들때 각 영역의 이름을 아래 처럼 두고 하는 경우가 많다고 함(알파벳 순이라 보기 편한듯) 1. domain : 데이터 객체 2. repo(싱글턴으로 구현) : Repository 3. service(싱글턴으로 구현) : Service 4. web(싱글턴으로 구현) -- 컨트롤러가 여기로 들어간다 ********************************************************** 프로그램이 거대해 짐에 따라 XML을 이용하여 IOC Container 를 설정하는 것이 점점 어려워졌고, 그에 따라 어노테이션(Annotation)이란것이 등장을 했다. 어노테이션은 코드에 메..