전체 글

전체 글

    Collection 함수 정리

    정렬 관련 Arrays.copyOfRange() 전달받은 배열의 지정된 범위에 해당하는 요소만을 새로운 배열로 복사하여 반환 public static int [] copyOfRange (int [] 복사할 원본 배열, int 원본 배열에서 복사할 범위의 시작 인덱스, int 원본 배열에서 복사할 범위의 끝 인덱스) 반환값 원래 배열에서 지정된 범위를 포함하는 새 배열. (필요한 길이를 얻기 위해 잘리거나 0으로 채워짐) 예외 ArrayIndexOutOfBoundsException - 초기 인덱스, 즉 (from_index)가 원래 배열의 범위를 벗어난 경우 발생 IllegalArgumentException - form_index > to_index 인 경우 NullPointerException - 원래 ..

    RestAPI

    1. HTTP에서의 Representation HTTP GET 메서드의 정의 The GET method requests transfer of a current selected representation for the target resource.target resource에 대한 현재의 선택된 representation 하나를 반환함. target resource : URI가 가리키는 리소스 = HTTP 요청의 대상(정적 리소스+동적 리소스) representation : 어떤 리소스의 특정 시점 상태(state)를 반영하고 있는 정보 구성 representation data representation metadata cf) 여기서의 상태(state) : 리소스의 상태를 뜻함. 애플리케이션의 상태가 아님..

    [NoSQL] Redis

    [NoSQL] Redis

    : NoSQL의 key-value DataBase 중 하나로서 문자열, 리스트, 해시 등 다양한 데이터를 지원한다. 특징 싱글스레드로 동작하며 다양한 자료구조를 지원 ⇒ 개발의 편의성 증가, 난도 감소, 다양한 기능 구현 가능 ex) 데이터 정렬의 속도 DBMS 느림 ( ∵ DB에 데이터를 저장하고 저장된 데이터를 정렬하여 다시 읽어오는 과정은 디스크에 직접 접근이 필요 ) Redis 빠르고 간단 ( ∵ Sorted-Set이라는 자료구조를 사용 ) 모든 데이터를 메모리에 저장하고 조회하는 인메모리 데이터베이스로서 영속성을 지원함 ⇒ 서버가 내려가더라도 DISK에 저장된 데이터를 읽어서 메모리에 로딩함 데이터를 DISK에 저장하는 방식 RDB(Snapshotting. 스냅샷팅) 방식 순간적으로 메모리에 있..

    [네트워크] TCP, UDP

    [네트워크] TCP, UDP

    TCP UDP 정의 연결 지향형 프로토콜 ⇒ 즉, 가상 회선을 만들어 신뢰성을 보장하도록 하는 프로토콜 데이터를 데이터 그램단위로 전송하는 프로토콜 신뢰성 보장 O (흐름/혼잡/오류 제어) 신뢰성 보장 X (단, 개발자의 추가적인 정의를 통해 신뢰성을 보장 O) 속도 느림 (∵ 신뢰성) 빠름 우선 순위 신뢰성 연속성 용도 파일 전송 - 스트리밍 - RTP (Real-time Transport Protocol. IP 네트워크 상에서 오디오와 비디오를 전달하기 위한 통신 프로토콜) 서비스 비유 소중한 고객의 택배 상자 배달러가 뿌리는 명함 - TCP 장치들 사이에 논리적인 접속/종료를 성립(establish) 시키기 위해 3/4 Way Handsake를 수행 과정을 거친다. 3 Way Handshake 발생..

    [DP] 백준 11052 - 카드 구매하기

    [DP] 백준 11052 - 카드 구매하기

    더보기 - 문제 요즘 민규네 동네에서는 스타트링크에서 만든 PS카드를 모으는 것이 유행이다. PS카드는 PS(Problem Solving)분야에서 유명한 사람들의 아이디와 얼굴이 적혀있는 카드이다. 각각의 카드에는 등급을 나타내는 색이 칠해져 있고, 다음과 같이 8가지가 있다. 전설카드 레드카드 오렌지카드 퍼플카드 블루카드 청록카드 그린카드 그레이카드 카드는 카드팩의 형태로만 구매할 수 있고, 카드팩의 종류는 카드 1개가 포함된 카드팩, 카드 2개가 포함된 카드팩, ... 카드 N개가 포함된 카드팩과 같이 총 N가지가 존재한다. 민규는 카드의 개수가 적은 팩이더라도 가격이 비싸면 높은 등급의 카드가 많이 들어있을 것이라는 미신을 믿고 있다. 따라서, 민규는 돈을 최대한 많이 지불해서 카드 N개 구매하려고..

    [DP] 백준 11727 - 2×n 타일링 2

    [DP] 백준 11727 - 2×n 타일링 2

    더보기 - 문제 2×n 직사각형을 1×2, 2×1과 2×2 타일로 채우는 방법의 수를 구하는 프로그램을 작성하시오. 아래 그림은 2×17 직사각형을 채운 한가지 예이다. - 입력 첫째 줄에 n이 주어진다. (1 ≤ n ≤ 1,000) 2 8 12 - 출력 첫째 줄에 2×n 크기의 직사각형을 채우는 방법의 수를 10,007로 나눈 나머지를 출력한다. 3 171 2731 - 정의 D[N] = 1×2, 2×1과 2×2 타일로 채우는 방법의 수 = D[1*2] + D[2*1] + D[2*2] = 2*D[N-1] + D[N-2] (XXX) = D[N-1] + 2*D[N-2] (OOO) 2*2를 하나짜리로 쳐서 1개의 타일이라고 생각했는데 크기 2가 빠지니까 n-2이다. (2*1를 2개 놓는 꼴이니까 n-2과 같은..

    [INFO] 더 나은 자바 개발자가 되기 위해

    [INFO] 더 나은 자바 개발자가 되기 위해

    [번역 원본 글] https://dzone.com/articles/10-tips-to-become-a-better-java-developer-in-2018 요약 자바 8을 공부하는 것부터 JVM의 내부까지 공부하는 것까지, 당신의 IDE를 더욱 효율적으로 사용하고, Kotlin에 손을 대려고 하기까지...당신이 더 나은 자바 개발자가 되기 위한 몇 가지 조언들을 준비해보았습니다. 서론 필자는 종종 독자들로부터 어떻게 하면 더 나은 자바 개발자가 될지에 관한 이메일을 받습니다. 무엇을 공부해야 하고 어느 지역에 취업을 해야 유리할지 등의 내용입니다. 수년간 그들에게 개별로 응답을 해주고 난 지금, 몇 가지를 적어보려고 합니다. 이 몇 가지는 당신이 더 나은 자바 개발자로 거듭나게 해 줄 것입니다. 아직 읽..