일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 29 | 30 | 31 |
- Linux ls
- Linux 파일 관리 명령어
- 자바스크립트 런타임
- Linux pwd
- EC2 HTTP 호스팅
- HTTP Web Server
- Linux rmdir
- Linux cd
- 서버의 서비스 방식
- Linux mkdir
- javascript 정렬
- Linux apt
- Linux apt-get
- 자바스크립트 이벤트 루프
- Linux 디렉터리 명령어
- JavaScript EventLoop
- EC2 zsh
- Navigation Pattern
- linux background
- JavaScript 실행 디버깅
- EC2 oh my zsh
- EC2 Apache2
- Linux oh my zsh
- Linux 디렉터리 구조
- AWS EC2 서버 만들기
- Linux cat
- linux foreground
- Logback
- javascript scope
- Linux 디렉터리 역할
- Today
- Total
목록Spring Framework (11)
HyunJun 기술 블로그
1. MyBatis란? 2001년 클린턴 비긴이 만든 iBATIS 프로젝트의 3.0에서 포크된 프로젝트로 아파치 라이센스 2.0에 따라 배포되는 무료 소프트웨어입니다. SQL 실행 결과를 자바 빈즈 또는 Map 객체에 매핑해주는 Persistence 솔루션으로 관리합니다. 기존 ORM 프레임워크와 달리 Java 객체를 데이터베이스 테이블에 매핑하지 않고, Java 메서드를 SQL에 매핑합니다. SQL문을 소스코드가 아닌 XML 파일로 관리합니다. MyBatis를 사용하는 가장 큰 이유는, SQL문이 독립되어 유지 보수가 편리해지고, 개발자 수준별로 코드를 분리할 수 있기 때문입니다. JPA는 ORM 기술이고, MyBatis는 SQL Builder 또는 SQL Mapper의 한 종류입니다. JPA는 ..
1. JDBC(Java Database Connectivity)란? Java에서 사용하는 DB Connection 및 SQL문 수행을 위한 API입니다. 관계형 데이터베이스에서 쿼리를 직접 사용하는 것처럼, 자바에서 데이터베이스에 접근하여, 데이터를 검색, 삽입, 수정, 삭제할 수 있게 해줍니다. myBatis, Hibernate 등 여러 가지 관련된 기술들이 있지만, 해당 기술들도 DB에 접근하기 위해서는 모두 내부적으로 JDBC를 사용하고 있습니다. 일반적으로 Java 개발자 입장에서 Application과 Database를 연동할 때 가장 기초가 되는 기술이라고 할 수 있습니다. 2. Connection (Connection Pool) 2-1. Connection Database Connectio..
1. 게시판 구현하기 기능 구현에 있어서 CRUD(Create, Read, Update, Delete)라는 표현을 많이 사용하는데 CRUD를 연습하기에 게시판같이 좋은 것이 없다고 생각합니다. 이 글에서는 단순 CRUD보다는 파일 입출력에 더 초점을 맞춰서 진행해 볼까 합니다. 간단한 게시판 기능 File Download, Upload를 같이 구현할 예정. File들을 조회 시 URL로 반환. (모든 확장자) -> exe, zip 파일은 업로드 불가. 2. 게시판 (파일 업, 다운로드) 로직 기본적으로 아래와 같은 로직으로 구현하려 합니다. 게시글 작성 시 json, 멀티 파트로 게시글 제목, 내용, 파일 여러 개(확장자 제한 기능)를 받는다. 확장자 제한 확인 후, 파일 자체는 프로젝트 루트 내 ex..
1. 스프링 시큐리티란? Spring 기반의 애플리케이션의 보안(인증, 인가)을 담당하는 스프링 하위 프레임워크이다. 보안 관점에서의 인증과, 권한에 따른 인가 설정을 Filter로 처리한다. Filter는 Dispatcher Servlet으로 가기 전에 적용된다. 이 글에서는 기본적인 시큐리티, JWT Access Token 활용법만 기술합니다. 2. 구현하기 타임 리프 + 스프링 시큐리티(JWT)로 회원가입 페이지 -> 로그인 페이지 -> 메인 페이지 -> 권한 필요 페이지 4가지를 표현하도록 구현해 볼게요. 권한은 멤버, 프라이빗 멤버, VIP 멤버, 관리자로 4가지 권한을 나누어 보았습니다. 프런트엔드 서버가 따로 있는 게 아닌 스프링 하나로 서버사이드 렌더링으로 HTML을 표현하고 있기 때..
1. 배치와 스케줄러란? 스프링 배치는 데이터의 일괄처리를 할 수 있게 해 주는 프레임워크이고, 스케줄러는 일정한 시간 간격 또는 일정한 시각에 특정 로직이 동작할 수 있게 해주는 기능입니다. batch -> 데이터의 일괄 처리 scheduler -> 특정 시간에 동작 여기서 잠깐, 그렇다면 데이터의 일괄 처리를 할 때 batch는 어떻게 동작을 시켜줘야 할까요? 거의 대부분 배치 처리는 스케줄러와 같이 쓰이고 이때 쓰이는 스케줄러가 Spring Scheduler, Quartz 등입니다. -> 결론은 배치 처리는 스케줄러에 의해 실행된다라고 보셔도 될 것 같습니다. 그러면 batch와 scheduler를 사용하여 로그 각각 데이터에 대해서 특정 기간이 지났을 때 삭제되는 로직을 구현해 보도록 하겠습니다..
1. 로그 저장의 필요성? 로그를 분석 및 관리하고 시간이 지나더라도 해당 시간대의 로그를 확인하고 싶다면 로그를 저장할 필요성이 있다. 2. 로그 저장 플랫폼 이 전까지 작성했던 로그 관련 글의 순서대로 기술해 보자면, Consol Log -> Slack, Discord, Telegram Log 전송의 순서대로 발전해 왔다. 하지만 직접 로그를 자동으로 Messenger로 보내는 로직을 구현해 본 사람이라면 아래와 같은 불편한 점을 느꼈을 것이라고 생각한다. 슬랙, 디스코드, 텔레그램 등으로 로그를 전송하는 것도 좋지만 해당 기능은 기본적으로 특정 인원만 메시지를 받을 수 있고, 아무래도 모바일로도 알람이 가는 만큼 무분별하게 전송하게 된다면.... 알람이 매우 울릴 것이므로 Warn, Error 등 ..