| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |
- MySQL
- PETERICA
- 티스토리챌린지
- 오블완
- CKA
- kotlin
- 코틀린 코루틴의 정석
- AWS EKS
- Linux
- AI
- Spring
- Pinpoint
- 바이브코딩
- aws
- CloudWatch
- 공부
- SRE
- go
- APM
- kotlin coroutine
- tucker의 go 언어 프로그래밍
- 정보처리기사 실기 기출문제
- 기록으로 실력을 쌓자
- Kubernetes
- minikube
- 컨텍스트 엔지니어링
- CKA 기출문제
- Java
- golang
- kotlin querydsl
- Today
- Total
목록Programming (214)
피터의 개발이야기
ㅁ 개요 ㅇ DTO를 생성하다보면 파일의 수가 엄청나게 많게 된다. ㅇ 더러는 거의 비슷하거나, DTO 파일 중에 중복되는 컬럼들이 많다. ㅇ 이를 해결할 수 있는 Inner Class 사용법을 정리하였다. ㅁ 중첩된 Dto는 하나의 파일로 모아야 함. public class User { @Data @AllArgsConstructor @NoArgsConstructor public static class UserInfoDto { private String name; private String age; private String sex; } @Data @AllArgsConstructor @NoArgsConstructor public static class UserJoinDto { private String ..
Mac에서 React Native 개발환경을 세팅하는 과정을 정리하였습니다. 기본 설치 프로그램Mac에 개발을 위한 기본적인 프로그램을 우선 확인 및 설치해 보도록 하겠습니다. [홈브루 설치]brew --version설치 방법은 여기를 참조하세요. [node 설치]node --versionnpm --versionnode.js 설치 확인 node패치지 관리자인 npm(Node Packaged Manager) 설치확인합니다. 설치방법brew install node [java 설치]brew cask install adoptopenjdk8java는 안드로이 스튜디오를 위한 기본 프로그램입니다. java --version자바 버젼 확인방법 모바일 개발 프로그램지금까지는 기본적인 프로그램을 설..
코드를 관리하는 방법은 다양합니다. 대표적으로 enum으로 관리할 수도 있지만, 코드들이 다양하고 정말 변하지 않는 것도 있을 수 있지만 때때로 변경 추가 삭제 작업이 필요한 경우가 있습니다. 이런 코드들을 대부분 동일한 데이터를 디비에서 조회하게 되는데요, 이것을 Bean으로 데이터를 저장하여 관리하는 방법에 대해서 정리하였습니다. 테스트 코드 테이블 생성 create table code_data ( id int auto_increment primary key, group_name varchar(10) not null, code_name varchar(20) not null, code_value varchar(20) not null, memo varchar(100) null comment '설명', c..
Spring에서 환경변수를 배열로 불러올 경우가 있습니다. 다중환변 변수를 리스트로 불러오는 방법을 정리하였습니다. application.properties # get the element as an array base.module.elementToSearch=1,2,3,4,5,6 base.module.elementToSearch2=a;b;c;d;e;f DemoController.java @Value("${base.module.elementToSearch}") private String[] elementToSearch; @Value("#{'${base.module.elementToSearch2}'.split(';')}") private String[] elementToSearch2; @GetMapping..
개발하면서 발생한 에러에 대한 정리입니다. JPA에서 데이터를 불러오는 쪽에서 에러가 발생하였습니다. 에러내용 2021-01-18 16:08:05.931 [http-nio-8080-exec-9] ERROR com.xxxxx.util.LoggerAspect [LoggerAspect.java:32] - err=org.springframework.dao.InvalidDataAccessResourceUsageException: could not extract ResultSet; SQL [n/a]; nested exception is org.hibernate.exception.SQLGrammarException: could not extract ResultSet at org.springframework.orm.j..
개발자는 데이터를 다루는 사람들입니다. 데이터는 다양한 형태와 속성으로 존재하고 있고 또 어디론가 전달됩니다. 이런 데이터의 흐름과 관련된 용어를 공부하였습니다. 아래의 내용은 여기 블러그를 공부한 내용을 복붙하였습니다. 직렬화, 역직렬화란? 직렬화 - 객체에 저장된 데이터를 I/O 스트림에 쓰기(출력) 위해 연속적인(serial) 데이터로 변환하는 것 역직렬화 - I/O 스트림에서 데이터를 읽어서(입력) 객체를 만드는 것 자바에서 직렬화와 역직렬화는 객체를 파일로 저장하거나 네트워크를 통해 전송하기 위해 제공되는 기능이다. 객체는 '인스턴스 변수의 집합'이므로 객체를 저장/전송하는 것은 객체의 인스턴스 변수의 값을 저장/전송하는 것과 동일하다. ObjectInputStream과 ObjectOutputS..
파일을 S3에 업로드 하는 로직 개발 중 파일명을 고객이 입력한 값으로 해달라는 요청이 있었습니다. 근데 그 고객이 "1054_20210113_ 👍.JPEG" 이름을 지정해 주셨습니다. 긴급 패치... 이럴 줄이야... 그면 우선 긴급 패치한 내용부터 정리합니다. replaceAll @Test public void fileNameFilterTest(){ String fileName = "이상한 파일 이름_1234_20210120 ㅎㅎㅎ 👍 !!#&.jpeg"; fileName = fileName .replaceAll("[^a-zA-Z0-9가-힣_.]", "") // 알파벳과 한글, 숫자, 언더바와 점만 허용한다. .replaceAll(" ",""); // 빈칸제거한다. System.out.println(..
서론 데이터 백업 작업 시에 파일을 읽고 쓰는 로직이 필요하여 정리를 하였습니다. 자바8 이후 자원의 생성과 해제가 자동입니다. Java - Try-with-resources로 자원 쉽게 해제 Java7 이전에, try-catch-finally 구문에서 자원을 해제하였습니다. Java8에서는 try-with-resources는 try(...)에서 선언된 객체들에 대해서 try가 종료될 때 자동으로 자원을 해제해주는 기능입니다. try에서 선언된 객체가 AutoCloseable을 구현하였다면 Java는 try구문이 종료될 때 객체의 close() 메소드를 호출해 줍니다. File Read @Test public void fileReadTest() throws FileNotFoundException { tr..
서론회사에서 Intercom을 사용하고 있습니다. 고객과의 상담 내용을 백업하고자 Intercom API를 연동하는 작업을 정리하였습니다.백업의 필요성Note를 보면 Conversation(대화방)은 2년동안의 데이터만 확인 할 수 있어 과거 상담내역은 따로 백업을 해야합니다. 그리고 저장된 상담내용은 1. 고객과의 분쟁에서 사실관계 입증을 하고 2. IBM 왓슨으로 만들 자동상담 시스템을 위한 학습데이터가 됩니다.Intercom data back-up을 위한 용어의 정의Conversation : 대화방, 각각의 conversation ID가 있음.Conversation parts : 카톡으로 따지면 하나의 버블, Conversation > Transcript > 여기서 오간 하나하나의 대화를 Par..
서론 백엔드 개발을 위해서 제일 먼저 하는 일은 라이브러리 추가입니다. 간혹 gradle을 추가하였지만 특정 Jar들이 로딩되지 않는 문제점이 있습니다. 그런 상황에서 repository를 추가하면 해결됩니다. repository 중 JCenter에 대해서 정리하였습니다. 라이브러리를 가져오지 못하는 상황 build.gradle에 라이브러리를 추가하였습니다. 하지만... 컴파일 단계에서 라이브러리가 없다는 에러가 확인됩니다. gradle은 compile 목록을 확인하고 repository에서 해당 라이브러리를 다운받아 자바 어플리케이션을 컴파일합니다. 하지만 repository에서 라이브러리를 찾지 못하는 경우 이런 에러가 발생합니다. 해결 repositories { mavenCentral() jcent..