일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- html
- 커스텀 데이터 학습
- javascript
- 2021 제9회 문화공공데이터 활용경진대회
- AWS
- C++
- Spring Boot
- 졸프
- google 로그인
- STT
- 양방향 매핑
- marksense.ai
- JPA
- matplotlib
- google cloud
- @Transactional
- oauth
- Spring
- idToken
- Loss Function
- pandas
- react native
- 순환참조
- YOLOv5
- google login
- Expo
- 코드업
- yolo
- OG tag
- skt fellowship 3기
- Today
- Total
목록분류 전체보기 (168)
민팽로그
10월 6일에 특화 프로젝트가 끝났다. 그동안 면접도 준비해야 했고 처음 진행하는 멀티 플레이 게임 프로젝트도 해야하고 정신없이 바빴던 것 같다. 최종합격은 결국 못했지만, 프로젝트도 열심히 하면서 최우수상을 수상했고 만족한다! 프로젝트를 진행하면서 세 가지가 기억에 남았고 간단하게 기록하려고 한다. 1. Web Socket 웹으로 멀티 플레이 게임을 구현해야 했기 때문에 웹 소켓은 우리 프로젝트의 주 기술이었다. 웹 소켓을 통해 게임을 구현하면서 대충만 알았던 웹 소켓을 한 번 정리하고 싶었다. WebSocket? 1. 양방향 통신 하나의 TCP 접속에 전이중 통신 채널을 제공하는 컴퓨터 통신 프로토콜 즉, 서버와 클라이언트가 양방향으로 정보를 주고받는 애플리케이션 계층의 전송 프로토콜이다. 서버와 클..
[Spring] DTO 사용 시 필요한 lombok annotation [Spring] DTO 사용 시 필요한 lombok annotation 요즘 프로젝트 리팩토링을 하면서, DTO에 작성하는 여러개의 lombok 어노테이션의 사용 이유를 정확히 알지 못하고 사용하는 것 같아서 하나하나 고찰(?) 해보기로 했다. 일단, DTO는 Data Transfer Object codingwell.tistory.com 자바 리플렉션 (Reflection) 기초 자바 리플렉션 (Reflection) 기초 리플렉션 (Reflection) JVM은 클래스 정보를 클래스 로더를 통해 읽어와서 해당 정보를 JVM 메모리에 저장한다. 그렇게 저장된 클래스에 대한 정보가 마치 거울에 투영된 모습과 닮아있어, 리플렉션 hudi...

1. CustomException 나중에 에러 추적 & 디버깅을 위한 로그를 남기고 프론트쪽에 에러에 대한 정확한 메세지를 전달해주기 위해 에러 코드와 에러 원인을 반환해주어야 할 필요성을 느낌 RuntimeException을 상속받는 커스텀 예외 클래스를 만들어서 사용 에러는 에러 코드와 에러 메세지로 enum 클래스에 상수 형태로 관리 예외 처리를 위해 오류를 검사하는 역할을 하는 클래스를 따로 만들어 둠 컨트롤러에서 CustomException이 발생하면 이를 처리하는 RestControllerAdvice 클래스를 구현 에러 내용을 기록하는 로깅도 필요할 것 같음 구현 사진 더보기 2. Swagger 전에는 POSTMAN에 API 명세서를 만들었는데 이 작업이 상당히 귀찮았음.. Swagger를 사..
프레임워크 vs 라이브러리 프레임워크와 라이브러리의 가장 큰 차이 -> 코드의 흐름을 제어하는 쪽이 어디에 있는가? 프레임워크 소프트웨어를 개발하기 위한 기본 뼈대를 미리 만들어 놓은 것. 개발자는 프레임워크가 요구하는 방식대로 프로그램을 만들게 됨. 개발자가 만든 코드를 프레임워크가 호출해 주어 생명주기를 프레임워크가 관리함. 프레임워크가 제어의 흐름을 가지고 있음. 라이브러리 개발자가 단순히 호출하여 사용하는 도구들을 모아놓은 집합. 개발자가 코드의 흐름을 직접 관리. Spring 프레임워크 자바로 앤터프라이즈급 애플리케이션을 만들 때 사용하는 오픈 소스 프레임워크. 개발자가 low level에 신경쓰지 않고 비즈니스 로직을 개발하는데 전념할 수 있도록 해줌. 스프링 프레임워크는 경량 컨테이너로, 자..

https://www.acmicpc.net/problem/2533 2533번: 사회망 서비스(SNS) 페이스북, 트위터, 카카오톡과 같은 사회망 서비스(SNS)가 널리 사용됨에 따라, 사회망을 통하여 사람들이 어떻게 새로운 아이디어를 받아들이게 되는가를 이해하는 문제가 중요해졌다. 사회망 www.acmicpc.net 문제 페이스북, 트위터, 카카오톡과 같은 사회망 서비스(SNS)가 널리 사용됨에 따라, 사회망을 통하여 사람들이 어떻게 새로운 아이디어를 받아들이게 되는가를 이해하는 문제가 중요해졌다. 사회망에서 사람들의 친구 관계는 그래프로 표현할 수 있는데, 이 그래프에서 사람은 정점으로 표현되고, 두 정점을 잇는 에지는 두 정점으로 표현되는 두 사람이 서로 친구 관계임을 표현한다. 예를 들어, 철수와 ..
https://www.acmicpc.net/problem/13460 13460번: 구슬 탈출 2 첫 번째 줄에는 보드의 세로, 가로 크기를 의미하는 두 정수 N, M (3 ≤ N, M ≤ 10)이 주어진다. 다음 N개의 줄에 보드의 모양을 나타내는 길이 M의 문자열이 주어진다. 이 문자열은 '.', '#', 'O', 'R', 'B' www.acmicpc.net 문제 스타트링크에서 판매하는 어린이용 장난감 중에서 가장 인기가 많은 제품은 구슬 탈출이다. 구슬 탈출은 직사각형 보드에 빨간 구슬과 파란 구슬을 하나씩 넣은 다음, 빨간 구슬을 구멍을 통해 빼내는 게임이다. 보드의 세로 크기는 N, 가로 크기는 M이고, 편의상 1×1크기의 칸으로 나누어져 있다. 가장 바깥 행과 열은 모두 막혀져 있고, 보드에는 ..
1. RANK() 즐겨찾기가 가장 많은 식당 정보 출력하기 SELECT FOOD_TYPE, REST_ID, REST_NAME, FAVORITES FROM (SELECT FOOD_TYPE, REST_ID, REST_NAME, FAVORITES, RANK() OVER (PARTITION BY FOOD_TYPE ORDER BY FAVORITES DESC) AS RA FROM REST_INFO) T WHERE RA 소수점 아래 a자리까지 표시. 소수점 아래 a+1자리에서 반올림 두 번째 파라미터가 음수 a -> a자리에서 반올림. - ROUND(반올림 할 수 또는 컬럼, 반올림 할 자리 수) - TRUNCATE(버림 할 수 또는 컬럼, 버림 할 자리 수) 12. GROUP BY문제: 식품분류별 가장 비싼 식품의..
게임을 진행하는 동안 사람들이 말하게 되는 숫자들의 총 갯수는 최소 m*(t - 1) + p개임. 따라서 m*t 길이 까지만 계산하면 될 것 같음. 0부터 시작하여 연속되는 n진수 문자열을 길이 m*t정도까지 구한 후 p 순서의 사람이 말하게 될 인덱스를 찾아 answer에 넣어주는 식으로 생각함. #include #include #include using namespace std; map mm = {{10, 'A'}, {11, 'B'}, {12, 'C'}, {13, 'D'}, {14, 'E'}, {15, 'F'}}; string solution(int n, int t, int m, int p) { string answer = ""; string res = "0"; for(int i = 1; res.si..
지난 프로젝트에서는 순환참조 문제 해결을 위해 어노테이션(@JasonManagedReference, @JsonBackReference)을 사용했는데, 면접에서 다른 방법을 알고 있냐는 질문에 대답하지 못하였다. 좀 더 알아보니 컨트롤러에서 엔티티를 반환하기 보다는, 가능하면 DTO를 사용하여 반환하는게 가장 좋은 방법이라는 것을 알게 됐다. 엔티티를 DTO로 감싸서 반환하면 좀 더 안전하게 사용할 수 있다. 일단 엔티티 객체는 테이블과 매핑되는 객체이기 때문에 값을 쉽게 수정해서는 안된다. 따라서 @Setter 어노테이션은 가급적 사용하지 않아야 한다. DTO는 데이터를 전달하기 위한 객체이기 때문에 @Getter, @Setter를 모두 사용해도 괜찮다. DTO에 필요한 데이터만 선정해서 반환해줄 수도 ..

배포 환경에서 발생하는 쿼리나 오류 로그를 알 수 없어 파일에 저장하는 김에, 개발 환경과 배포 환경의 로그 환경을 분리하여 설정하게 됨. https://velog.io/@shawnhansh/SpringBoot-logback-%EB%8D%94-%EC%89%BD%EA%B2%8C-%EC%84%A4%EC%A0%95%ED%95%98%EA%B8%B0application.properties%EC%99%80-logback-spring.xml https://livenow14.tistory.com/64 https://oingdaddy.tistory.com/256 요로캐 참고했음. spring boot는 application-properties에 적힌 로그 설정 먼저 확인 후 resources 폴더에 있는 logback-..