본문 바로가기
반응형

전체 글211

자바에서 배열 Reverse 하는 2가지 방법 자바에서 배열 Reverse 하는 2가지 방법 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.*; public class Main { // 9 // 0 9 public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); StringTokenizer st = new StringTokenizer(br.readLine()); int n = Integer.parseInt(st.nextToke.. 2023. 11. 14.
알고리즘_정리 에라토스테네스의 체 - 소수구하기 // 해당 수를 제외하고 배수를 모두 지운다 아나그램 - 같은 단어로 배열만 바꾼것 [해시 + 슬라이딩윈도우 ] 팰린드롬 - 앞으로해도 뒤로해도 같은 단어 [ 문자열(StringBuilder.reverse) + replaceAll ] 최대매출 - [ SlidingWindow ] 창문 형태로 밀어내기 창문의 첫번째 값을 빼고 마지막값을 더한다 반복 배열 합치기, 공통원소 구하기 - [ twopointer ] p1,p2 혹은 lt,rt로 두가지 포인트를 잡아서 진행한다. 후위식연산 - 스택으로 넣어서 진행 먼저들어간 숫자 lt, 나중에 들어간숫자 rt로 연산 피보나치수열 - [ Array ] (i-1) + i 값은 i+2 값과 일치한다. K번째큰수 - 중복제거가 필요할땐 H.. 2023. 11. 13.
트랜잭션 스크립트 패턴과 도메인 모델 패턴 트랜잭션 스크립트 패턴과 도메인 모델 패턴 마틴 파울러가 재창한 두개의 개념으로, 비즈니스 로직을 처리하는 2가지 패턴을 말한다. 책임 소재가 Domain Level이냐 Script Level이냐의 차이에 따라 구분된다. 1. 도메인 모델 패턴 (Domain Model Pattern) 이란 Domain 부분에서 비즈니스 로직을 가지고 객체 지향의 특성을 적극 활용 하는 것을 도메인 모델 패턴이라 한다. 대부분의 비즈니스 로직이 엔티티 안에 구성되어있으며 서비스 계층은 엔티티에 필요한 역할을 위임하는 역할을 한다. 엔티티 안에 비즈니스 로직을 가지고 객체지향을 활용하는 기법이다. 도메인 모델? 도메인을 모든 사람이 동일한 관점에서 이해할 수 있고 공유할 수 있도록 단순화 시킨 것. 즉, 특정 도메인을 개념.. 2023. 11. 10.
쿠버네티스란? 쿠버네티스는 컨테이너화된 워크로드와 서비스를 관리하기 위한 이식성이 있고, 구글에서 만든 확장가능한 오픈소스 플랫폼이다. 전통적인 배포 시대: 초기 조직은 애플리케이션을 물리 서버에서 실행했었다. 한 물리 서버에서 여러 애플리케이션의 리소스 한계를 정의할 방법이 없었기에, 리소스 할당의 문제가 발생했다. 예를 들어 물리 서버 하나에서 여러 애플리케이션을 실행하면, 리소스 전부를 차지하는 애플리케이션 인스턴스가 있을 수 있고, 결과적으로는 다른 애플리케이션의 성능이 저하될 수 있었다. 이에 대한 해결책은 서로 다른 여러 물리 서버에서 각 애플리케이션을 실행하는 것이 있다. 그러나 이는 리소스가 충분히 활용되지 않는다는 점에서 확장 가능하지 않았으므로, 물리 서버를 많이 유지하기 위해서 조직에게 많은 비용이.. 2023. 11. 10.
커넥션 풀이란? 커넥션 풀 커넥션풀이란, 그때그때 세션을 새로 잡기엔 서버에 부하가 많이 찰 수 있어서 미리 세션을 풀에 잡아놓고 필요할때 주고 사용후에는 반납하는 원리이다. 쓰레드 풀과 비슷하다고 보면 될것같다. 적절한 커넥션 풀 숫자는 서비스의 특징과 애플리케이션 서버 스펙, DB 서버 스펙에 따라 다르기 때문에 성능 테스트를 통해서 정해야 하며, 커넥션 풀은 서버당 최대 커넥션 수를 제한할 수 있다. 따라서 DB에 무한정 연결이 생성되는 것을 막아주어서 DB를 보호하는 효과도 있다. 커넥션 풀은 개념적으로 단순하기에 직접 구현할 수도 있지만, 사용도 편리하고 성능도 뛰어난 오픈소스 커넥션 풀이 많기 때문에 오픈소스를 사용하는 것이 좋다. 대표적인 커넥션 풀 오픈소스는 commons-dbcp2 , tomcat-jdb.. 2023. 11. 10.
캐시화 문제 직면 및 해결 Html 헤더와 바디가 포함된 화면 자체를 캐시화 해야하는 문제발생 Dofilter에서 특정 url을 골라낸후 ContentCachingResponseWrapper 객체를 생성하여 response를 담고 Request와 response를 arguments로 filter.dofilter로 넘기고 결과값을 담은 response를 헤더와 바디를 분리하여 바이트화시켯고 그 값을 캐시화시켜서 파일로 만들었다, 그러고 특정 url이 호출되면 특정 경로에 특정 파일이 존재하는지 확인하여 없으면 파일을 만들면서 보여주고 있으면 만들어진 캐시 파일을 보여주도록 했다. 그러던중 서버부하문제로 매일 특정 조건의 보여줘야할 품목데이터(약 150~200개)를 뽑아서 해당 데이터를 스케줄러로 캐시화시켜서 만들어놔야하는 문제가 발.. 2023. 11. 10.
반응형

loading