분류 전체보기

·코딩테스트
import java.util.Arrays; 모든 메서드가 static으로 인스턴스 생성이 불필요하다. Arrays는 배열을 위한 필수 유틸리티 클래스이다. Arrays를 사용하면 아주 편리한 배열 관련 기능을 쓸 수 있다 🤩🤩 정렬Arrays.sort(arr); 출력용Arrays.toString(arr);Arrays.deepToString(arr2);int[] arr = {1, 2, 3};System.out.println(arr); // [I@15db9742 (주소)System.out.println(Arrays.toString(arr)); // [1, 2, 3] ✅int[][] arr2 = new int[][]{{1, 2, 3}, {4, 5, 6}};System..
·코딩테스트
Java에는 여러가지 배열이 있다.코딩테스트에서 자주 쓰는거는 그냥 배열([]), ArrayList 정도 될거 같다. 그 2개의 가장 큰 차이점은 고정 크기이냐 가변 크기이냐의 차이다. 그냥 배열은 고정 크기로 크기를 바꿀 수 없다. ArrayList는 동적 할당을 하여 크기를 바꿀 수 있다. 배열은 어떻게 선언/할당할까여기 보다시피크기만 정해서 빈배열을 만들거나정식 방법과 약식 문법이 있다. 약식 문법은 선언할때만 가능하여 할당 할때는 사용할 수 없다.ArrayList는 어떻게 선언/할당할까List.of와 Arrays.asList를 사용해서 리스트를 할당할 수 있는데List.of는 null 값을 처리하지 못한 다는 것을 기억하자.만약 ArrayList를 배열로 바꾸고 싶으면 이렇게 2가지 방법이 있..
·클라우드
Stateless 아키텍처가 무엇인지 궁금했었다. Load Balancer를 공부하며 Sticky Session에 대해 알게 되었고,요즘에는 Sticky Session 대신 어떤 것을 더 선호하는지 알아보자. Stick Session(Session Affinity)Affinity는 친밀감을 뜻한다.Session Affinity는 말 그대로 세션을 특정 서버에 붙여두는 것을 뜻한다.서버가 세션 데이터를 로컬 메모리에 저장하기 때문에같은 사용자의 요청을 같은 서버로 보내야저장된 세션에 접근이 가능하다.보통 이것을 쿠키로 구현하는데Duration-based cookie(기간 기반)Application-based cookie(애플리케이션 기반)항목Duration-basedApplication-based쿠키 생성..
·클라우드
저번 프로젝트를 진행할때 cert-manager와 Let's encrypt를 썼었다. HTTPS를 위해 꼭 필요한 SSL/TLS에 대해 일단 알아보자. SSL/TLS우선 SSL(Secure Sockets Layer)를 업그레이드 한것이 TLS(Transport Layer Security)이다. (무려 1999년에)모두 client와 서버간 암호화를 위해 만들어진 통신 프로토콜이다. HTTPS의 S도 이 TLS를 이용해 Secure 한다는 뜻이다. SSL은 현재 쓰이지 않고 TLS를 쓰지만 관용적으로 그냥 TLS 대신 SSL라고 부르기도 한다.(현실에서 SSL를 거의 TLS 의미로 계속 쓰고 있는 듯 하다) TLS Handshake, 인증서TLS 암호화 통신을 하려면↓ TLS Handshake 필요하고 ..
·코딩테스트
프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 구현 문제처럼 보이는 BFS 문제였다. 문제 요약이 문제는 알파벳 블록을 특정 수단을 이용하여 제거하고 남은 컨테이너의 수를 구하는 문제이다.입력으로는 전체 블록들의 배치와각 회차별 수단과 제거 알파벳이 주어진다. (["A", "BB", "A"]) 알파벳이 한번만 나오면 지게차를 사용하고 (예시: A)두번 나오면 크레인을 사용한다. (예시: AA) 지게차를 사용할 경우 외부에서 접근 가능한 블록들만 제거가 가능하다. 단, 순차적으로 지게차를 이용해 제거하고 접근 가능한 블록을 연쇄적으로 제거하는 것이 아닌각 회차별 딱 그 시점에서 제거 가능한 블록들만 제거 가능하..
·클라우드
정의부터 살펴보자 IOPS는 Input/Output Operations Per Second를 의미한다.초당 수행할 수 있는 입출력 작업 횟수를 나타낸 것이다. 반면에 Throughput은 한국말로 처리량이다. 초당 전송할 수 있는 데이터의 양을 나타낸다. IOPS는 빈도를 나타내고 Througpht은 양을 나타낸다. 비유로 이해해보자. 만약 고속도로에 작은 차가 많이 있다면 높은 IOPS에 낮은 Throughtput를 의미하고큰 트럭들이 적게 있다면 낮은 IOPS에 높은 Throughtput를 의미한다. 현실에서는 어떤 상황에서 각각이 중요할까? 만약 큰 파일을 읽어야 한다면 당연히 Throughput이 중요할 것이다. 반면에 데이터베이스 쿼리를 많이 해야한다면 IOPS가 중요하다. 수학적으로 본다..
·코딩테스트
프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 각 차들의 입차, 출차 시간이 주어지고 그 시간을 합해서 총 요금을 계산하는 문제다.특별한 조건으로는 만약 입차만 기록되어 있고, 출차가 없을 경우 11:59분에 출차했다고 생각하면 된다. 입력으로는기본 시간, 기본 요금, 추가 시간 단위, 추가 요금 그리고 기록들이 주어진다. 출력으로는차량번호를 오름차순으로 각 차량의 총 요금을 출력하면 된다. 나는 각 기록에 대해서차량번호를 오름차순으로 정렬하기 위한 ArrayList 한개입차 기록을 저장하기 위한 HashMap 한개각 차량의 총 시간을 저장하기 위한 HashMap 한개 이렇게 3개의 자료구조를 사용했다. ..
·코딩테스트
프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 이 문제를 풀려면 10진법을 N 진법으로, N진법을 10진법을 바꾸는 방법 에 대해서 정확하게 알고 있어야 한다. 그 기법을 정리하기에도 좋은 문제이다. 이 문제의 경우 2~9진법을 제한을 두었지만 지금은 제한이 없다고 생각해보자.그래야 각 함수가 왜 문자열을 쓰는지 이해할 수 있다. 10진법 ➡️ N진법public static String toString(int i, int radix) i 를 radix 진법으로 바꾼다. 왜 return 하는게 String 이냐면 11진법 이후로는 알파벳이 생기기 때문이다."알..
yolang
'분류 전체보기' 카테고리의 글 목록