목록[Web]/[Spring] (38)
요르딩딩
Bean 1. 빈 또는 빈 오브젝트는 스프링 Ioc방식으로 관리하는 오브젝트라는 뜻입니다. 2. 스프링에서 사용하는 모든 오브젝트가 다 Bean은 아닙니다. 3. 스프링이 직접 생산과 제어를 담당하는 오브젝트만을 Bean이라 부릅니다. Bean Factory 1. 스프링의 Ioc를 담당하는 핵심 컨테이너입니다. 2. 보통은 이를 바로 사용하지 않고, ApplicationContext를 이용합니다. 3. Bean의 생성과 제어 관점에서 얘기할때 부릅니다. Application Context [설명] 1. 이는 Ioc컨테이너, 스프링컨테이너, 빈 팩토리라고 부르기도 합니다. 2. 이는 BeanFactory인터페이스를 상속했으므로 BeanFactory의 확장 Ioc컨테이너라고 보시면 됩니다. (Applicat..
MVC 패턴 (Model , View, Controller) - 디자인패턴 : 과거 소프트웨어 개발과정에서 발견된 설계의 노하우를 축적하여 이름붙여 이후에 재사용하기 좋은 형태로 특정규약을 만들어서 정리한것 (효율적인 코드를 위한 방법론) - 동작 순서 : user > controller > model > contoller > veiw > uesr Model : 어플리케이션의 데이터, 자료 및 이러한 데이터 가공을 책임지는 컴포넌트를 말합니다. 1. 사용자가 편집하길 원하는 모든 데이터를 가지고 있어야 합니다. 2. 뷰나 컨트롤러에 대해서 어떤 정보도 알지 말아야 합니다. 3. 변경이 일어나면, 변경 통지에 대한 처리방법을 구현해야한 합니다. (모델은 재사용이 가능해야하며, 다른 인터페이스에서도 변하지 ..
이번시간에는 properties암호화에 대해서 공부해 보겠습니다. Spring에서 개발시 DB접속정보와 같은 값을 properties에서 관리할때 암호화를 해야 정보유출을 막을 수 있습니다. 이때 spring내에서 암호화를 진행하는것보다는 터미널에서 Jasypt 라이브러리를 사용하면 보다 편리하게 암복호화할 수 있습니다. [실행방법] Jasypt 라이브러리를 다운받습니다. 접속 : http://www.jasypt.org/download.htm DOWNLOAD JASYPT (from GitHub) 클릭 하단의 Download distributable: jasypt 1.9.3 (binaries and javadocs) 터미널 접속 > jasypt -1.9.3 > bin 경로로 이동 아래의 암/복호화 명령어 ..
이번시간에는 JDBC와 JPA의 차이에 대해서 공부해 보겠습니다. 1. JDBC Java DataBase Connectivity의 약자이고, Java에서 DB 연결을 위해 제공하는 API 입니다.DB와의 연결설정을 위해 일괄된 형태를 제공합니다. DB 제작업체에서 제공하는 드라이버만 있다면 DB의 종류와는 상관없이 JDBC를 이용하여 프로젝트와 DB를 연결 가능한것이 장점입니다. DB연결뿐 아니라, SQL수행 및 트랜잭션 관리까지 DB운용에 필요한 다양한 기능을 제공합니다. 그러나 JDBC를 사용해본다면 알 수 있는 두가지 단점이 있습니다. (1) JDBC를 사용하기 위해서는 꽤 복잡한 프로그래밍을 필요로 한다는 것과 (2) 작성되는 코드가 중복된다는 것입니다. (1)번 단점인 JDBC의 복잡성은 JDB..
이번시간에는 Spring과 Spring Boot의 차이에 대해 간략하게 공부해 보겠습니다. 두 용어에대한 간~~~략한 의미 Spring : 개발자들의 겨울이 끝났다 이제 봄이다~ Spring Boot : 조금 더 봄이다~ 이제 두 프레임워크의 차이에 대해 알아보겠습니다. (1) Spring : dependency가 길다 (버전까지 정확하게 적어야한다.) Spring Boot : dependency가 짧다. (버전관리도 권장버전으로 자동설정 가능) (2) Spring: Configuration(aunotation, bean 설정을 해줘야한다.) Spring Boot : gradle을쓰면 더 짧게 설정 가능, application properties만 쓰면된다 -> 요듬은 yml파일을 더 많이 쓴다고한다. ..
이번시간에는 uri, urm, url에 대해서 공부해보겠습니다. 위 그림과 같이 URI는 URN과 URL을 포함하고 있습니다. URI는 Uniform Resource Identifier : 통합 자원 식별자(Uniform Resource Identifier, URI)는 인터넷에 있는 자원을 나타내는 유일한 주소이다. URN은 Uniform Resource Name : urn:scheme 을 사용하는 URI를 위한 역사적인 이름이다. URN은 영속적이고, 위치에 독립적인 자원을 위한 지시자로 사용하기 위해 1997년도 RFC 2141 문서에서 정의되었다. URL은 Uniform Resource Locator : 파일식별자, 유일자원지시기)은 네트워크 상에서 자원이 어디 있는지를 알려주기 위한 규약이다. 즉..
자바에서 ssh를 활용해서 다른 서버로 접속하여 명령어를 실행해야 되는 경우가 있었다. 이럴때는 jsch를 활용하면 쉽게 사용이 가능하다. Jsch를 활용한 개념은 3단계로 이루어 진다. 1. Jsch 클래스를 생성한다. 2. ssh를 통해서 연결한다. 3. 원하는 행위를 연결한 서버로 전송한다. 우선 SFTP란 무엇인가?? FTP의 형태를 가지고 있지만 그 안에서는 SSH를 이용해 연결하는게 SFTP이다! 간단하게 FTP보다 보안이 강화된 전송 방식이다. 포트는 22( FTP의 경우 21)를 사용한다. SFTP를 사용하기 위해 JSch라는 라이브러리를 다운 받았고 아래 링크에서 다운받으면 된다. [pom.xml] com.jcraft jsch 0.1.54 다음은 원격 서버에 파일을 올리는 코드입니다. p..
Session을 이용한 서버기반의 인증방식이 많이 사용되어왔으나, 규모나 한계로 인하여 Token을 이용한 토큰기반의 인증방식이 많이 사용되고 있다고 합니다. 이번에 Session, Token의 동작원리 및 장단점을 살펴보도록 하겠습니다. 1. Session(세션) : 서버기반의 인증방식 사용자가 인증할때, 서버가 사용자정보를 저장하는데 이를 Session(세션)이라고 부릅니다. [동작원리] 서버기반의 인증방식은 서버 측에서 사용자정보를 기억하고 있어야합니다. 사용자정보를 기억하기 위해서는 Session을 유지해야하고, Session은 메모리,디스크,DB등을 통해 관리합니다. 서버기반의 인증방식은 클라이언트로 부터 요청을 받으면, 클라이언트는 상태를 계속 유지하고 그 정보를 서비스에 이용합니다. 이러한 ..