분류 전체보기(250)
-
[SpringBoot] Annotation을 이용해 Slack에 Error log 남기기
이번 프로젝트에서 인프라를 도맡았습니다. 배포한 개발 서버와 운영 서버의 로그를 CloudWatch에 파일로 관리하였습니다. 하지만 1) 모든 팀원이 AWS에 접속하여 로그를 확인하는 것은 번거롭다고 느껴졌습니다. 2) AWS lambda는 요금 폭탄이 터질 수 있어서(재귀 호출) 제가 속한 교육기관에서 지원하지 않는 서비스였습니다. 3) Error 레벨의 로그는 신속한 대응이 필요하다고 생각했으며, 모든 팀원에게 빠르게 공유될 수 있어야 한다고 생각했습니다. 따라서 사용중인 협업 툴 중 슬랙을 이용해 알림을 받도록 설정했습니다. Pull Request logback-slack-appender 처음에는 Logback 설정으로 에러 로그를 Slack에 전송했습니다. 하지만 가독성이 좋지 못하고, 사용자의..
2023.03.18 -
프로그래머스: 파괴되지 않은 건물(lv2) [Java] - 포포
https://school.programmers.co.kr/learn/courses/30/lessons/92344 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 이 문제는 정확도 + 효율성 두 가지를 요하는 문제다. 행렬 N*M에 Skill을 퍼붓는데, 1
2023.01.07 -
백준 5427: 불 [Java] -포포
문제 상근이는 빈 공간과 벽으로 이루어진 건물에 갇혀있다. 건물의 일부에는 불이 났고, 상근이는 출구를 향해 뛰고 있다. 매 초마다, 불은 동서남북 방향으로 인접한 빈 공간으로 퍼져나간다. 벽에는 불이 붙지 않는다. 상근이는 동서남북 인접한 칸으로 이동할 수 있으며, 1초가 걸린다. 상근이는 벽을 통과할 수 없고, 불이 옮겨진 칸 또는 이제 불이 붙으려는 칸으로 이동할 수 없다. 상근이가 있는 칸에 불이 옮겨옴과 동시에 다른 칸으로 이동할 수 있다. 빌딩의 지도가 주어졌을 때, 얼마나 빨리 빌딩을 탈출할 수 있는지 구하는 프로그램을 작성하시오. 입력 첫째 줄에 테스트 케이스의 개수가 주어진다. 테스트 케이스는 최대 100개이다. 각 테스트 케이스의 첫째 줄에는 빌딩 지도의 너비와 높이 w와 h가 주어진다..
2023.01.03 -
22/12/26
1. 게시판 과제 리팩토링 멘토님들께 Pull Request를 날리기 전에 게시판 과제를 조금 수정했다. 큰 수정은 아니었고 테스트 코드를 in-memory h2를 이용하도록 변경한 것과 게시글을 조회할 때 사용하는 파라미터(Long cursorId, int size)를 PostRequestDto로 결합했다. 이외에도 게시글 수정 메소드를 호출하고, 기존 작성자와 동일한 작성자의 요청인지 검증하는 로직도 추가했다. 이런 자잘한 것들 손봤다. 2. A-Z 과제 리팩토링 이전에 A-Z 과제를 제출했었다. 영화를 예매하고 리뷰를 조회하는 단순한 사이트다. 문서화 작업과 Mockmvc 테스트를 실습하고자 기존에 했던 토이 프로젝트들을 뒤지다가 A-Z 과제를 발견했다. 과제를 제출했을 때가 여행가기 직전이라 그런..
2022.12.27 -
스트림(Stream) 소개
본 포스팅에서는 [모던 자바 인 액션] Chapter 4를 읽고 정리하였다. 따라서 포스팅에 사용한 자료들은 저자와 출판사에 귀속된다. 개요 4.1 스트림이란? 4.2 스트림 시작하기 4.3 스트림과 컬렉션 4.4 스트림 연산 1. 스트림이란? 오늘날 자바 어플리케이션에서 컬렉션은 필수라고 할 수 있다. 스트림은 자바 8 API에 새로 추가된 기능으로, 컬렉션 데이터를 멋지게 처리하는 기능이다. 뜬금없지만 저칼로리의 요리명을 반환하고, 칼로리를 기준으로 요리를 정렬하는 코드를 살펴볼 것이다. 자바 7의 코드와 스트림을 이용한 자바 8의 코드를 비교해보자. 먼저 요리(Dish) 클래스는 다음과 같이 불변형 클래스다. Dish.class package com.study.ch4stream; public cla..
2022.12.25 -
22/12/23
1. 알고리즘 두 문제 풀었다(다익스트라) https://www.acmicpc.net/problem/4485 4485번: 녹색 옷 입은 애가 젤다지? 젤다의 전설 게임에서 화폐의 단위는 루피(rupee)다. 그런데 간혹 '도둑루피'라 불리는 검정색 루피도 존재하는데, 이걸 획득하면 오히려 소지한 루피가 감소하게 된다! 젤다의 전설 시리즈의 주 www.acmicpc.net https://www.acmicpc.net/problem/14938 14938번: 서강그라운드 예은이는 요즘 가장 인기가 있는 게임 서강그라운드를 즐기고 있다. 서강그라운드는 여러 지역중 하나의 지역에 낙하산을 타고 낙하하여, 그 지역에 떨어져 있는 아이템들을 이용해 서바이벌을 www.acmicpc.net 둘 다 무지성으로 다익스트라를 ..
2022.12.24