일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- ORM
- 파이썬
- java
- 스프링 부트
- python3
- HTTP
- mysql
- rabbitmq
- node.js
- 스프링부트
- 장고
- 웹 개발
- 파이썬3
- JPA
- 웹
- 디자인 패턴
- Spring Boot
- 자료구조
- db
- BCI
- django
- 스프링
- 데이터베이스
- 보안
- bytecode
- 개발
- Python
- 자바
- 안드로이드
- Spring
- Today
- Total
목록개발/Java (34)
semtax의 개발 일지
스프링 AOP를 이용해서 반복되는 유저 인증 코드를 리팩토링 한 내용입니다.
스프링으로 테스트 전용의 전자 결제 Mocking 시스템을 만든 내용을 올려봅니다. (popit 에서 go로 구현한 내용을 스프링+kotlin으로 포팅해보았습니다.) 출처 : https://www.popit.kr/%EC%BB%A4%EB%A8%B8%EC%8A%A4-%EC%BD%94%EB%93%9C-%EC%9E%90%EC%82%B0%ED%99%94-%EA%B0%9C%EB%B0%9C%EC%9D%BC%EC%A7%80-6-%EA%B2%B0%EC%A0%9C-%EB%8C%80%ED%96%89-%EC%84%9C%EB%B9%84%EC%8A%A4%EB%A5%BC-%ED%85%8C/
HTTP 프로토콜을 이용해서 스프링으로 대용량 파일을 업로드 하는 기능을 구현한 내용입니다.
Hexagonal Architecture 개요 이번 포스팅 에서는, 육각형 아키텍처(Hexagonal Architecture) 에 대해서 알아보고 간단한 예제를 통해 실제로 어떻게 육각형 아키텍처를 적용 하는지에 대해서도 알아보도록 하겠습니다. 계층화 없는 코드 = 스파게티 먼저 육각형 아키텍처를 설명하기 전에, 제가 첫 프로젝트를 진행했을때의 이야기를 해보겠습니다. 제가 모 기관에서 안드로이드 APK 보안취약점 분석을 수행해주는 서비스를 진행했을때, 저는 모듈화나 아키텍처에 대한 개념이 거의 없었습니다. 그래서 저는 입력값 검증 로직, 실제 비즈니스 로직, 데이터베이스 저장 로직 들을 전부 컨트롤러에 해당하는 메소드에 몰아넣어서 작성 하였습니다. 사실 맨 처음에 개발을 할때는 코드가 몇 줄 되지 않아서..
개요 이번 포스팅에서는 JPA에서 @GeneratedValue 를 사용할때 주의할 점에 대해서 설명하도록 하겠다. 특히, 이번시간에는 주의할 점 중에서도 Batch Insert와 관련된 내용을 다루려고 한다. @GeneratedValue 값 생성 전략 @GenerateValue 는 일반적으로, PRIMARY 키의 기본값을 자동으로 생성할때 사용한다. 대략적으로, 아래와 같은 생성전략이 존재한다. 생성 전략 설명 GenerationType.IDENTITY 데이터베이스에 키 생성방법을 위임 GenerationType.AUTO 각 데이터베이스 방언에 따라 자동으로 지정(기본 값) GenerationType.TABLE GenerationType.SEQUENCE 데이터베이스의 시퀸스를 이..
개요 이번 포스팅에서는 톰캣 에서 JSESSIONID를 어떤 방식으로 만드는지에 대해서 포스팅 해보겠습니다. 왜 하필 톰캣인가? 사실 자바 서블릿은 완전한 구현체가 아닌 일종의 표준 내지 가이드 라인입니다. 즉, 껍데기만 존재하고 실제로는 서블릿 컨테이너를 구현하는 각 컨테이너 구현체 마다 실제적인 구현 방법은 전부 다릅니다. 따라서, JSESSIONID 를 만드는 방식도 각 서블릿 컨테이너 구현체 마다 다릅니다. 그리고, 다른 서블릿 컨테이너 구현체도 많지만.. 그래도 가장 유명(?) 하고 가장 오래된 서블릿 컨테이너 구현체가 톰캣이라, 톰캣을 고르게 되었습니다. 그럼 JSESSIONID는 뭐하는데 쓰는 것일까? 먼저, JSESSIONID가 무엇인지 알..
개요 이번 포스팅에서는 JPA를 이용해서 MySQL에 위치정보를 저장하는 법에 대해서 다뤄보도록 하겠다. 공간 정보(Geometry 타입)? MySQL(사실, 다른 RDB에서도) 에서는, GPS좌표나 다각형과 같은 공간/기하 데이터를 저장할 수 있는 Geometry 타입을 제공한다. MySQL과 같은 경우 아래 목록의 타입들을 제공한다 데이터 타입 설명 Point 좌표 공간에서 한 지점의 위치를 표시 [ Ex : Point(10,10) ] LineString 다수의 점을 연결해주는 선분 [ Ex : LINESTRING(10 10, 20 25, 15 40) ] Polygon 다수의 선분들이 연결되있는 다각형 [ Ex : POLYGON(10 10, 10 20, 20 20, 2..
개요 이번 포스팅에서는, javax.xml.Parsers.DocumentBuilder 에서 UTF-8로 인코딩된 XML 파일을 파싱하는 법에 대해 알아보도록 하겠습니다. 일단 그냥 파싱해보자 먼저 DocumentBuilder 를 이용해서 UTF-8로 인코딩 된 XML 파일을 파싱 해봅시다. String path = "./example1.xml" File xmlFile = new File(path); DocumentBuilderFactory docBuilderFactory = DocumentBuilderFactory.newInstance(); DocumentBuilder docBuilder = docBuilderFactory.newDocumentBuilder(); Document do..