원지의 개발
728x90
article thumbnail
[네트워크] 로드 밸런싱, 공인 IP & 사설 IP
Study/Network 2023. 9. 1. 03:20

로드 밸런싱 load balancing 쏟아지는 트래픽을 여러 대의 서버로 분산시켜주는 기술 네트워크 또는 서버에 가해지는 부하(Load)를 분산시켜 처리해주는 기법 가용성, 확장성, 보안 및 성능 향상 목적 또 다른 보안 계층을 추가할 수 있는 보안 기능이 내장 정적 라운드 로빈 방식 클라이언트로부터 받은 요청을 순서대로 할당하는 방식 로드 밸런싱 대상 서버의 성능이 동일하고 처리 시간이 짧은 애플리케이션의 경우 균등 분산 가중 기반 라운드 로빈 방식 우선 순위 또는 용량에 따라 각 서버에 서로 다른 가중치 할당 가중치가 높으면 더 많은 트래픽 수신 IP 해시 방식 클라이언트 IP 주소에 해싱을 수행하여 숫자로 변환한 다음 개별 서버에 매핑 사용자가 항상 동일한 서버로 연결되는 것을 보장 동적 최소 연..

article thumbnail
[Spring] 스프링 입문을 위한 자바 객체 지향의 원리와 이해
Study 2023. 7. 19. 13:39

배경 Assembly - 0과 1로 이루어진 기계어를 일상 용어로 만들기 위해 일대일로 매칭하는 코드표 기존에는 기계의 종류에 맞는 프로그램 소스 파일이 필요했는데, C언어의 등장으로 하나의 소스 파일(싱글 소스)만 가지면 알아서 컴파일러로 소스를 생성 인간 언어 체계와 기계어의 매칭이 1:1 → m:n 변환 CBD SOA 클래스 vs 객체 나이의 유무에 따라 구분 클래스 - 분류에 대한 개념 (실체x), 같은 속성과 기능을 가진 객체를 총칭하는 개념 객체(속성 + 기능) - 실체 = 클래스의 인스턴스 추상화: 모델링 구체적인 것을 분해해서 관찰자가 관심 있는 특성만 가지고 재조합 하는 것 클래스 설계에서 추상화가 사용됨 Spring IoC/DI AOP PSA - 일관서 있는 서비스 추상화 자바와 절차적..

article thumbnail
[Java] java.io 패키지 - 로그 파일에서 ip 접속 횟수 출력
프로그래밍 언어/Java 2023. 7. 5. 14:18

- 로그 파일은 문자열이 기록된 파일이므로 Character Stream 사용 - 읽을 때 네이티브 메소드 호출 횟수를 줄이기 위해 버퍼 사용하는 것이 좋음 - BufferedReader 이용 '-' 는 0임 split 사용해서 공백 뒤의 자리 더하기 각각이 몇번 접속했는지 확인 똑같은 아이피가 나오면 count Map은 똑같은게 있으면 덮는게 아님 있으면 1, 또 있으면 1에 추가 마지막으로 sort (내림차순) 조건 로그 파일 읽기 하나의 ip가 몇 번 접속했는지 확인 가장 많이 접속한 ip부터 순차 출력 과정 1. BufferedReader 객체 생성 package logTest; import java.io.BufferedReader; import java.io.FileReader; import j..

article thumbnail
[자료구조&알고리즘] 해시, 해시법(체인법, 오픈주소법)

해시데이터의 추가와 삭제를 효율적으로 수행할 수 있는 방법String 기반으로 정보를 기록하고 관리할 때 사용1. 전화번호부와 같음2. key가 String인 경우가 대부분3. put / get / getOrDefault해시법 (hashing)데이터를 저장할 위치(인덱스)를 간단한 연산으로 구현하는 것표에 정리한 값을 해시 값(hash value)이라고하며, 데이터에 접근할 때 사용해시 테이블의 요소 = 버킷인덱스012345678키 값56142029343751-해시 값56522716-해시값 = 각 요소의 값을 배열의 사이즈로 나눈 나머지 변경인덱스012345678키 값1-3729--145134-키 값2--20--56--더보기기존의 배열에 값을 추가하는 방법1. 이진검색법으로 삽입할 위치 조사2. 그 위치..

article thumbnail
[자료구조&알고리즘] 트리, 이진 트리, 이진 검색 트리

트리 비선형구조 그래프는 사이클이 있고, 트리는 사이클이 존재하지 않음 계층 관계를 나타내는 자료구조 트리는 저장위치를 찾아서 저장해야 하고, 삭제시 트리의 일부를 재구성해야하므로 링크드 리스트보다 추가/삭제 시간이 더 걸리는 대신 배열이나 링크드 리스트에 비해 검색과 정렬 기능이 더 뛰어남 용어 노드(node) 마디 A, B, C, D, E, F, G 간선(edge) 가지, 링크 루트(root) 트리의 가장 윗부분에 위치하는 노드 A 리프(leaf) 단말 노드(terminal node) 바깥 노드(external node) 트리의 가장 아랫부분(가장 마지막)에 위치하는 노드 D, E, F, G 간 노드(non-terminal node) 안쪽 노드 루트 포함, 리프가 아닌 노드 A, B, C 자식(chi..

article thumbnail
[SQL] DATE_FORMAT, Null 처리

DATE_FORMAT date 타입을 원하는 형식의 문자열로 변환할 수 있는 함수 SELECT DATE_FORMAT(NOW(),'%Y-%m-%d') AS DATE FROM DUAL; Date and Time Format Specifiers 문서 https://dev.mysql.com/doc/refman/8.0/en/date-and-time-functions.html#function_date-format Specifier Description %a Abbreviated weekday name (Sun..Sat) %b Abbreviated month name (Jan..Dec) %c Month, numeric (0..12) %D Day of the month with English suffix (0th, 1..

article thumbnail
[Spring] DAO, VO, DTO, Entity
Server/Spring 2023. 6. 20. 13:51

DAO Data Access Object 데이터베이스의 data에 접근하기 위한 객체, 데이터베이스의 통신 데이터베이스에 접근하기 위한 로직을 분리하기 위해 사용 Repository DTO & VO DTO Data Transfer Object Table 계층 간 데이터 교환을 하기 위해 사용하는 객체 Entity 비슷하지만 목적 자체가 전달이므로 일회성으로 사용되는 성격이 강함 로직을 가지지 않는 순수한 데이터 객체 - getter & setter만 가진 클래스 (setter 있으면 가변 객체) DB의 데이터가 Presentation Logic Tier로 넘어오게 될 때는 DTO의 모습으로 바뀌어 오고 가는 것 setter의 경우 변조 가능성이 있으므로 생성자로 값을 넣어주면 변조 불가능하게 만듦 (불변..

article thumbnail
[Heap] Priority Queue(우선 순위 큐)
프로그래밍 언어/Java 2023. 6. 12. 13:39

Priority Queue큐의 구조인 FIFO를 가지면서 데이터가 들어온 순서로 나가는 것이 아닌,우선 순위를 먼저 결정해서 그 우선 순위가 높은 데이터가 먼저 나가는 자료구조내부 요소는 힙으로 구성되어 이진트리 구조로 이루어짐시간 복잡도는 O(NlogN)선언, 사용import java.util.PriorityQueue;import java.util.Collections;//낮은 숫자 기준인 우선순위 큐, 오름차순PriorityQueue priorityQueueLow = new PriorityQueue();//높은 숫자 기준인 우선순위 큐, 내림차순PriorityQueue priorityQueueHigh = new PriorityQueue(Collections.reverseOrder());//String..

article thumbnail
[GitHub] Binary file not shown
GitHub 2023. 6. 8. 03:40

문제 push 후 github 확인시 bin 폴더의 파일까지 올라가 버림 Binary file not shown. 이라고 뜸 해결 1. .git - info 폴더에 attributes 파일 생성 후 2. 다음 내용 적어주기 *.java diff *.js diff *.pl diff *.txt diff *.ts diff *.html diff 참고 https://github.com/GitbookIO/git/blob/master/ko/5df2cd67efa240af8f2f5c58c0e09464/55e30ce39d9fcc439dd09c25fcfe8815.md GitHub - GitbookIO/git: ProGit Book Fork generated using GitBook ProGit Book Fork genera..

728x90
250x250