Java (41) 썸네일형 리스트형 Rest 아키텍처 이번 글에서는 HTTP 웹서비스와 RESTful API 웹 서비스에 대해서 작성해보겠습니다. REST(Representational State Transfer)는 아키텍처는 하나의 규약이라고 볼 수 있으며, 웹서비스의 사실상 표준입니다. 먼저, 용어에 대해 정리 진행하겠습니다. Service는 어플리케이션, 노드끼리 데이터를 교환하고 통신을 진행합니다. 그 통신 규약을 HTTP 프로토콜을 사용한다면 이것을 웹서비스라고 할 수 있습니다. 웹 서비스에 대한 표준화 작업이 2000년대 초반에 이뤄졌는데, xml을 통해 공식적인 표준을 SOAP라 할 수 있습니다. SOAP로 통신을 진행하다보니 더 좋은 방법들이 오픈소스 커뮤니티 중심으로 만들어지게 됩니다. 이것이 REST이며 지금은 사실상의 표준인 REST에 .. Spring 개발 환경 설정 개발 환경 설정 1. JDK 설치 Spring 5.0 (스프링부트 2.0)을 위해서는 jdk8 이상 필요합니다. jdk 1.8에셔는 함수형 프로그램을 지원해줍니다. 2. 스프링 개발 툴 설치 스프링 개발툴은 현재 2가지 정도가 실무에서 많이 쓰입니다. 이클립스 계열인 스프링에서 공식 지원하는 STS와 JetBrains에서 만든 Intellij IDEA 입니다. STS는 무료이며 간편하게 사용가능하며, IntelliJ IDEA는 상용이지만 기능이 좀 더 강력합니다. Spri 3. IntelliJ IDEA 설치 IntelliJ IDEA설치도 필요합니다. 상용버전을 설치하는 것이 좋지만, 저는 communiry버전을 이용해 학습하겠습니다. https://www.jetbrains.com/idea/ Intelli.. Framework란 2 -Spring boot 기초 정의 스프링부트는 스프링을 설정하고 사용하기 편하게 하기 위한 스프링 best practice를 모아놓은 스프링래퍼입니다. 스프링을 개선한 새로운 프레임워크가 아닙니다. 스프링은 범용, 경량급, 엔터프라이즈 기반 오픈소스 프레임워크입니다. Spring의 역사 로드 존슨이 출판한 도서 'Expert One-on-One J2EE Design and Development' 에 소개한 내용이 근간이 되었습니다. 당시에는 EJB라는 무거운 .. 이 책을 중심으로 커뮤니티 형성, 오픈소스 공개 등이되었습니다. 스프링은 2.5 버전 이후로 많은 변화가 일어났습니다. Spring Framework 란? 프레임워크란 프로그램의 구조가 미리 정해져있는 것입니다. 프레임워크의 장점이라고 하면 어떤 application을 개.. Framework란 1. 프레임 워크란? 디자인패턴 + 라이브러리 프레임워크는 어플리케이션을 개발할 때 사용하는 '틀'입니다. 디자인패턴과 라이브러리들을 모아서 프로그램 형태로 만들어 둔 것으로 프레임워크를 통해 여러 기능들을 사용할 수 있고 이 덕분에 원하는 부분에 집중하여 개발이 가능해집니다. - 디자인 패턴(Design Pattern)? 기존에 개발된 건들 중 설계가 잘된 케이스들에 이름, 목적, 용도, 구현 방법 등을 정리한 것이 '디자인 패턴'입니다. 디자인 패턴을 활용하여 설계하면 보다 효율적으로 설계가 가능합니다. -라이브러리(Library)? 어떤 기능을 다른 사람들도 사용할 수 있게 만들어 놓은 것으로 jar등의 형태로 제공하는 것입니다. 2. 스프링 프레임워크 (Spring Framework) Spring.. JUnit Test JUnit이란 Java에서 독립된 단위테스트를 지원해주는 프레임워크 Spring-Test 란 @RunWith, @ContextConfiguration 등의 어노테이션을 활용해 Spring Framework에서 조금 더 편하게 테스트를 지원할 수 있게 해줍니다. annotation 의 의미 @RunWith JUnit 프레임워크의 테스트 실행 방법을 확장할 때 사용하는 어노테이션입니다. 즉, JUnit에 내장된 Runner 대신 그 클래스를 실행하게 됩니다. SpringJUnit4ClassRunner라는 Runner클래스를 설정해주는 것이 일반적입니다. SpringJUnit4ClassRunner라는 Junit용 테스트 컨텍스트 프레임워크 확장 클래스를 지정해주면 JUnit이 테스트를 진행하는 중에 테스트가 .. Spring Security 스프링 시큐리티란 Spring Framework 기반 인증, 권한 프레임워크입니다. 스프링 시큐리는 기존에 자체적으로 세션체크, redirect했던 부분을 체계적인 옵션으로 지원해주고 있습니다. 구현은 Servlet Filter 와 Spring *AOP 기반으로 동작하기 때문에 spring MVC와 분리되어 관리, 동작합니다. 또한, 유연한 설계로 다양한 확장과 커스터마이징이 가능합니다. Spring Security Architecture User가 request를 보낼 때 Spring Security 를 사용하지 않는다면 Servlet으로 바로 가지만 Security 사용시 default 12개의 필터로 가게 됩니다. 이 필터에 대한 보다 자세한 그림은 아래와 같습니다. JDBC 연동 - 내부 지원하기.. Spring Project _ Day2(github에 코드 올리기) 실제 로컬에서 개발한 코드는 실서버에 올리기 전 git/svn 등의 버전관리 시스템에 올린 후 개발 서버/ 실 서버에 올리게됩니다. 이번 글에서는 local에서 작성한 코드를 github.com에 올리는 방법을 작성하겠습니다. 사전환경 - github 계정 - 로컬에 sourcetree라는 프로그램 설치(github.com에 올릴 때 활용할 예정) SourceTree 설치하기 먼저 sourcetree 사이트로 이동하여 다운로드를 받습니다 https://www.sourcetreeapp.com/ Sourcetree | Free Git GUI for Mac and Windows A Git GUI that offers a visual representation of your repositories. Source.. Spring Project _ Day1 Spring boot를 활용한 간단한 project를 수행해보려합니다. CRUD 기본 개념을 활용한 게시판 구현에 대해서 정리를 진행하려합니다. - 로컬 서버에서 구현하는 법 - 원격 서버에 배포하는 법 위와 같은 순서로 개발을 진행할 것이며 구체적인 개발환경은 아래와 같습니다. - 로컬 PC에서 개발 환경 Setting - GitHub 에 개발한 소스코드 배포 (git push) - 원격 서버(우분투 서버)에서 빌드한 코드를 배포할 예정 (git pull) 1. 개발환경 Setting - DevTools - Mustache - Web 선택한 Spring boot Project 생성 이렇게 설정한 부분은 pom.xml에 설정된 것을 볼 수 있습니다. spring boot를 활용하면 좌측 하단의 boot .. 이전 1 2 3 4 5 6 다음