목록2024/03 (28)
csct3434
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/enn7WD/btsGedR7zp6/TiG6KQju3aGbu665FaIyZ0/img.jpg)
중앙 집중식 로깅의 필요성 AWS에서 오토 스케일링을 사용하는 경우, 다음과 같은 로그 관리의 어려움을 겪게 된다. Scale out : 다중 서버로 인한 로그 분산 Scale in : 인스턴스 삭제로 인한 로그 분실 분산된 로그를 단일화된 저장소에서 관리하는 중앙 집중식 로깅(Centralized Logging)을 활용하여 이러한 문제점을 해결할 수 있다. 이 글에서는 logback-awslogs-appender 라이브러리와 AWS CloudWatch 서비스를 활용한 중앙 집중식 로깅 구현 방법에 대해 알아본다. 1. CloudWatch Log Group 생성 스프링 애플리케이션에서 전송된 로그를 보관하는 저장소인 CloudWatch Log Group을 생성해준다. Log group name : 로그 ..
https://github.com/orgs/community/discussions/25651 Github secret truncated after "$" · community · Discussion #25651Hello, I found a bug in github secrets. If the secret contains “$”, for example “hello$world”. Then when used in github actions, we will only get “hello” and everything after and including the doll...github.comGithub Actions Workflow에서 '$'는 특수한 목적으로 사용되는 문자입니다.이로 인해 Github Actions..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bgrnY9/btsF2MOLAdR/AKwdFOZ1kKMXua6ZdKb0hK/img.jpg)
인트로작년 11월 구름에서 주최한 해커톤에 참가하여 24절기를 테마로 한 일기 서비스를 개발했습니다.해커톤 당시에는 데모 수준에 그쳤지만, 팀의 좋은 분위기로 인해 해커톤 이후로도 약 3개월 간 추가로 서비스를 개발하며 서비스를 정식으로 출시했습니다.장애 대응백엔드 개발자로서 서비스 출시를 앞두고 가장 우려되는 부분은 트래픽 증가로 인한 장애 발생이었습니다.오프라인 행사와 온라인 플랫폼(에브리타임, 인스타그램 광고)에서 홍보를 동시에 진행할 예정이었기에, 어느 정도로 부하가 발생할 지 예측하기 힘든 상황이었습니다. 이에, 비용이 많이 발생하더라도 최대한 안정적으로 서버를 운영할 수 있도록 인프라를 재구성했습니다.WASWAS의 경우 AWS ALB와 EC2 Auto Scaling을 활용하여 부하에 따라 수평..
문제 링크 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr import java.util.*; class Solution { public int solution(int x, int y, int n) { Set visited = new HashSet(); Queue queue = new LinkedList(); queue.add(new int[]{x, 0}); while (!queue.isEmpty()) { int[] info = queue.poll(); int number = info[0], count = info[1]; int[] nextNumbers =..
문제 링크 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr import java.util.*; class Solution { public int solution(String begin, String target, String[] words) { int n = words.length; int targetIdx = -1; int[][] diff = new int[n][n]; for (int i = 0; i < n; i++) { if (words[i].equals(target)) { targetIdx = i; } for (int j = i + 1; j < n; ..
문제 링크 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr class Solution { public int solution(int n, int[][] computers) { int answer = 0; boolean[] visited = new boolean[n]; for(int i=0; i
문제 링크 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr import java.util.*; class Solution { public int solution(int[][] routes) { int answer = 0, last = -30001; Arrays.sort(routes, Comparator.comparingInt(a -> a[1])); for(int[] route : routes) { if(route[0] > last) { last = route[1]; answer++; } } return answer; } }
문제 링크 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr import java.util.*; class Solution { private int[] parent; public int solution(int n, int[][] costs) { int answer = 0, count = 0, total = (n * n - n) / 2; parent = new int[n + 1]; for (int i = 1; i a[2])); for (int[] cost : costs) { int px = find(cost[0]); int py = find(cost[1]); ..
문제 링크 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr import java.util.*; class Solution { public int[] solution(String[] operations) { PriorityQueue ascPriorityQueue = new PriorityQueue(); PriorityQueue descPriorityQueue = new PriorityQueue(Comparator.reverseOrder()); for (String op : operations) { String[] tokens = op.split(" "); S..
문제 링크 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr import java.util.*; class Solution { public int solution(int[][] jobs) { int answer = 0; int time = 0, idx = 0, completed = 0; PriorityQueue pq = new PriorityQueue(Comparator.comparingInt(a -> a[1])); Arrays.sort(jobs, Comparator.comparingInt(a -> a[0])); while(completed < jobs.le..