Programming

Programming/Spring

[Spring] Security: 권한 부여 및 암호화 구현

🌿Spring Security 지금까지 사용한 인증 방식은 세션 기반으로 직접 처리하는 방식을 사용했다. 이 방식은 자바가 아니더라도 다른 언어나 플랫폼에서 대부분 인증 처리에 사용하는 방식이기도 하다. Spring Framework는 반복적인 행동에 대한 틀을 제공하며, 마찬가지로 Spring에서 인증에 관련한 처리에 대한 틀로서 Spring Security Project를 제공한다. 모든 회원이 접근할 수 있는 경로와 가입된 회원이 접근할 수 있는 경로, 관리자 권한이 있어야 접근할 수 있는 경로를 만들어 보면서 권한(Role)을 부여하고, Security를 구현해 보도록 하자. 🌿프로젝트 설정 pom.xml org.springframework.security spring-security-web 5...

Programming/Spring

[Spring] Socket Communication: 채팅 구현

🌿Socket Socket은 네트워크상에서 통신을 하기 위한 도구(무전기, 전화기)이다. 프로그래밍 언어는 대부분 소켓이라는 규격을 구현해서 소켓 통신을 할 수 있게 만들었다. 그래서 자바에도 소켓이 있고, 자바스크립트에도 소켓이 있다. 인터넷을 통해 데이터를 주고받는 모든 방식은 소켓 방식으로 통신을 한다. 요즘에는 웹으로 넘어가면서 소켓으로 통신을 구현하는 업무가 많이 사라졌다. 별도로 소켓을 만들어서 네트워크를 구현하지 않아도 되게 되었기 때문이다. WebSocket WebSocket은 웹 상에서 구현된 소켓을 의미한다. WebSocket은 Ajax와 유사하지만, Ajax(웹)는 단방향 통신이고, WebSocket은 양방향 통신 정도로 생각하면 된다. 이때 단방향은 무전기이고, 양방향은 전화기이다...

Programming/Spring

[Spring] MyBatis: Interface Mapper

🌿Interface Mapper [Spring] MyBatis: Connection Pool (Commons DBCP, HikariCP) 🌿MyBatis 영속성 계층 (데이터베이스 조작 계층) Mybatis는 자바 오브젝트와 SQL사이의 자동 매핑 기능을 지원하는 ORM(Object relational Mapping) 프레임워크이다. MyBatis는 Spring 기술이 아닌 독립적인 기술 isaac-christian.tistory.com 1. XML Mapper를 사용하는 방식 2. Interface Mapper를 사용하는 방식 이전 MyBatis 글에서 MyBatis를 사용하는 방식은 위 두 가지가 있다고 했다. 이번에는 Interface Mapper 방식으로 사용해 보도록 하자. 🌿프로젝트 설정 po..

Programming/Spring

[Spring] REST API: Client 구축

🌿REST API를 이용한 Client 구축 [Spring] REST API, RESTful API (CSR: Client Side Rendering) 🌿REST REST(Representational State Transfer)는 웹 상의 자원(문서, 이미지, 영상 등)을 자원명으로 표시해서 상태를 주고받는 규칙을 의미한다. HTTP URI를 통해서 자원을 명시하고, HTTP Method를 통해서 자원 isaac-christian.tistory.com 이전의 REST API 글에서 이어진다. REST Server의 기능을 이용한 주소록 관리 프로그램을 만들어 보도록 하자. 내가 필요한 기능을 입출력할 수 있는 Open API가 있다고 생각하고, 해당 Open API만을 이용해서 화면을 만들 예정이다. ..

Programming/Spring

[Spring] REST API, RESTful API (CSR: Client Side Rendering)

🌿REST REST(Representational State Transfer)는 웹 상의 자원(문서, 이미지, 영상 등)을 자원명으로 표시해서 상태를 주고받는 규칙을 의미한다. HTTP URI(Uniform Resource Identifier)를 통해서 자원을 명시하고, HTTP Method(POST, GET, PUT, DELETE, PATCH 등)를 통해서 해당 자원에 대한 CRUD를 처리하는 방식이다. 즉, REST는 인터넷 주소를 어떻게 만들지에 대한 규칙이라고 할 수 있다. Spring과 독립된 기술로, 주소의 형식만 갖추면 Servlet/JSP로도 사용할 수 있다. URI(URL) 표기 방식 게시판을 만든다는 걸 가정해서 URI 표기 방식의 차이를 알아보도록 하자. 이전 방식 목록보기: GET ..

Programming/Spring

[Spring] AOP: 어노테이션 방식

🌿Spring AOP [Spring] 관점 지향 프로그래밍 AOP: Aspect Oriented Programming 🌿Spring AOP Aspect Oriented Programming 관점 지향 프로그래밍(AOP)은 애플리케이션의 핵심 비즈니스 로직에서 분리된 관심사(Concern)를 모듈화 하여 코드의 가독성과 유지보수성을 향상하는 기술이다. isaac-christian.tistory.com AOP는 주 업무가 들어있는 파일에 보조 업무를 구현하지 않는다. 즉, 주 업무와 보조 업무를 분리하는 작업을 하며, 추후 주 업무 보조 업무가 동시(before, after 등의 특정 시점)에 실행되도록 한다. 이전에는 AOP를 콘솔과 XML 방식으로 사용했지만, 이번에는 AOP를 어노테이션 방식으로 사용하..

Programming/Spring

[Spring] 파일 입출력: 다중 파일 업로드, File Drop, 지도 데이터

[Spring] 파일 입출력 (commons-io) 🌿파일 업로드 설정 pom.xml 4.0.0 com.test file FileTest war 1.0.0-BUILD-SNAPSHOT 11 5.0.7.RELEASE 1.6.10 1.6.6 org.springframework spring-context ${org.springframework-version} commons-logging commons-logging org.springframework spring-webmvc ${or isaac-christian.tistory.com 파일 입출력 글에서 이어진다. 🌿파일 생성 FileTest script.sql Controller MultiFileController com.test.file.model FileDA..

Programming/Spring

[Spring] 파일 입출력 (commons-io)

🌿파일 업로드 설정 pom.xml 4.0.0 com.test file FileTest war 1.0.0-BUILD-SNAPSHOT 11 5.0.7.RELEASE 1.6.10 1.6.6 org.springframework spring-context ${org.springframework-version} commons-logging commons-logging org.springframework spring-webmvc ${org.springframework-version} org.aspectj aspectjrt ${org.aspectj-version} org.slf4j slf4j-api ${org.slf4j-version} org.slf4j jcl-over-slf4j ${org.slf4j-version} ..

Isaac-Christian
'Programming' 카테고리의 글 목록 (10 Page)