본문 바로가기

전체 글

(330)
로드 밸런서(Load Balancer) 로드 밸런서는 서버그룹과 클라이언트 사이에 위치해서 트래픽을 여러 서버에 분산시킵니다. 이를 통해 서비스의 성능과 안정성을 향상시킵니다. (트래픽이 과도하게 몰려서 서비스가 중단되는 일을 막습니다.) 실제 프로젝트에서 사용했던 방식은 AWS 로드밸런서의 ALB(Application Load Balancer)입니다. ALB는 HTTP헤더 또는 SSL 세션 ID와 같은 요청 콘텐츠를 확인해서 트래픽을 리다이렉션합니다. (http요청이 들어오면 https로 리다이렉션)
시간 계산하기(손코딩) 수정전 ver1 public class Time { public static void main(String[] args) { System.out.println(solution("23:55:45","07:03")); } public static int cal(String time){ char[] arr = time.toCharArray(); int sum = 0; sum += Integer.parseInt(arr[0])*10*3600; sum += Integer.parseInt(arr[1])*3600; sum += Integer.parseInt(arr[3])*10*60; sum += Integer.parseInt(arr[4])*60; sum += Integer.parseInt(arr[6])*10; sum ..
서버사이드 렌더링? 렌더링 : 요청해서 받은 내용을 화면에 표시하는 것. 1. 서버사이드 렌더링 페이지를 이동할 때 마다 새로운 페이지를 요청한다. 서버 연산을 통해 렌더링하고 완성된 페이지 형태로 응답 장점 : 검색엔진최적화(SEO)가 가능하다 * 검색엔진 최적화란? 검색 사이트에서 검색했을 때 결과가 사용자에게 많이 노출될 수 있도록 최적화하는 기법 OG Tag를 페이지별로 적용하기 위해서는 서버 사이드 렌더링이 효과적임. *OG(오픈 그래프) : SNS를 통해 사이트가 공유될 때, 사이트에 대한 메타정보를 보여주기 위한 태그. 만약 메타태그를 지정하지 않을 경우 직접 크롤링하여 표시하게 된다. 2. 클라이언트 사이드 렌더링 서버에서 받은 데이터로 브라우저가 렌더링을 처리한다. 장점 : 빠른 인터렉션을 구현할 수 있다...
재귀함수와 반복문의 차이점 피보나치 문제 : https://school.programmers.co.kr/learn/courses/30/lessons/12945 피보나치 문제를 푸는 경우 재귀함수를 이용하거나 반복문을 이용해서 해결할 수 있다. 피보나치 class Solution { static int[] memo; public int solution(int n) { memo = new int[n+1]; int answer = fibo(n); return answer; } public int fibo(int n){ if(n==0){ return 0; } if(n==1){ return 1; } // 메모이제이션 작업(피보나치 이전 결과를 배열에 저장) if(memo[n]!=0){ return memo[n]; } memo[n]=(fib..
Stream<String>에서 String으로 변환하기 중복된 문자 제거 문제 풀이 https://school.programmers.co.kr/learn/courses/30/lessons/120888 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr Q) 문자열 my_string이 매개변수로 주어집니다. my_string에서 중복된 문자를 제거하고 하나의 문자만 남긴 문자열을 return하도록 solution 함수를 완성해주세요. import java.util.*; import java.util.regex.Pattern; import java.util.stream.*; class Solution { public ..
소수 구하기 1000까지 소수를 구해보자 버전 1) 총 연산횟수는 78022 public class PrimeNumber1 { public static void main(String[] args) { int count=0; second: for(int i=2;i
실무에서 모니터링 사용하기 모니터링 관찰 시 전체-> 점점 좁게 모니터링 3단계 1.애플리케이션 추적(하나만 쓴다면 핀포인트를....) 각각의 HTTP 요청을 추적. 장애 생겼을 때 찾기 쉬움.... 요청 쿼리까지 다 나옴! https://github.com/pinpoint-apm/pinpoint GitHub - pinpoint-apm/pinpoint: APM, (Application Performance Management) tool for large-scale distributed systems. APM, (Application Performance Management) tool for large-scale distributed systems. - GitHub - pinpoint-apm/pinpoint: APM, (Applic..
비즈니스 메트릭(모니터링) 주문수, 취소수 등 비즈니스에 특화된 부분을 모니터링 할 수 있도록 비즈니스 메트릭을 이용해보자. 마이크로미터를 사용해서 메트릭을 직접 등록할 수 있다. * 마이크로미터 핵심기능 : Counter, Gauge, Timer, Tag 참고: Tag를 사용하면 데이터를 나누어서 확인할 수 있다.(ex. 성별, 주문상태 등등...) @Counted 어노테이션을 이용해서 쉽게 등록할 수 있다.(이미 마이크로미터에서 구성요소를 등록해두었음) @Counted("my.order") @Override public void cancel() { log.info("취소"); stock.incrementAndGet(); } @Counted("메트릭이름") tag 에 method 를 기준으로 분류해서 적용한다 이때, config..