본문 바로가기

반응형

분류 전체보기

(120)
AES-128 학습목표 암호화 방식들에 대해서 알아보자. 깊게 파고들순 없어도, 개론수준까지는 알고있도록 하자. 이번 포스팅에서는 여러 암호화 방식중 AES-128 암호화에 대해서 알아보도록 하자. AES-128 AES는 의 약자로 '고급 암호화 표준'라는 의미이다. AES는 미국 표준 기술 연구소에 의해서 연방 정보 처리 표준으로 지정된 암호화 방식이며 NSA에 의해 1급 비밀에 사용할 수 있도록 승인된 암호화 알고리즘 중 유일하게 공개된 알고리즘이다. Hash암호화와는 다르게 '대칭키'를 가지고 암호화와 복호화를 진행한다. AES 뒤에 붙는 128,192,256은 대칭키 bit수로 AES-128은 128bit의 대칭키를 쓰은 암호와 알고리즘 이다. 128bit는 16Byte이므로, 키가 16자이다.(192bit =..
완전탐색 - Lv1(모의고사)-1(ing) 문제 설명 수포자는 수학을 포기한 사람의 준말입니다. 수포자 삼인방은 모의고사에 수학 문제를 전부 찍으려 합니다. 수포자는 1번 문제부터 마지막 문제까지 다음과 같이 찍습니다. 1번 수포자가 찍는 방식: 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, ... 2번 수포자가 찍는 방식: 2, 1, 2, 3, 2, 4, 2, 5, 2, 1, 2, 3, 2, 4, 2, 5, ... 3번 수포자가 찍는 방식: 3, 3, 1, 1, 2, 2, 4, 4, 5, 5, 3, 3, 1, 1, 2, 2, 4, 4, 5, 5, ... 1번 문제부터 마지막 문제까지의 정답이 순서대로 들은 배열 answers가 주어졌을 때, 가장 많은 문제를 맞힌 사람이 누구인지 배열에 담아 return 하도록 solution 함수를 작..
Comparator의 동작방식 학습목표 어제 프로그래머스의 '가장 큰 수' 알고리즘을 풀고, 포스팅을 하면서 Compare와 Comparator 그리고 String의 대소비교에 대해서 명확히 알고자 포스팅을 했다. 그런데 마지막 실습코드 디버깅중에 이상한 현상이 발견되었다. Comparator의 compare(Objecjt o1, Object o2)의 설명에는 o1은 첫번째로 비교하는 파라미터, o2가 두번째로 비교하는 파라미터라고 되어있다. 나는 당연히 o1과 o2는 배열의 순서대로 들어올줄 알았다. 그러나 arr[n]과 arr[n+1]을 비교할때마다 o1 = arr[n+1]이 할당되고, o2 = arr[n]이 할당되는 것을 디버깅을 하면서 알게되었다. 도대체 왜그럴까?.... compare는 에초에 Comparator 인터페이스에..
Comparator VS Comparable 학습목표 정렬 알고리즘을 풀다가, String비교연산의 특징과 Comparable, Comparator의 사용법에 익숙치 않아 풀지못하고, 타 블로그를 참고해서 푼 문제가 있다. 분명 처음 접근을 Comparator를 써야겠다. 생각했었으나, 사용법과 String 비교연산에 대한 개념?이 없어 시동하다가 도중에 포기했다. 이번에 해당 내용을 학습하면서 명확히 기억해보도록 하자!! String 대소비교 Comparable Comparator 실습 코드 String 대소비교 compareTo(); 기준값.compareTo(비교값);의 형태로 사용되는 메소드다. 기준 값과 비교 값의 대소를 비교해 리턴해준다. String에 선언되어있는 compareTo의 코드를 살펴 보자. public int compareT..
정렬알고리즘 - Lv2(가장 큰수)-1(completed) 가장 큰 수 문제 설명 0 또는 양의 정수가 주어졌을 때, 정수를 이어 붙여 만들 수 있는 가장 큰 수를 알아내 주세요. 예를 들어, 주어진 정수가 [6, 10, 2]라면 [6102, 6210, 1062, 1026, 2610, 2106]를 만들 수 있고, 이중 가장 큰 수는 6210입니다. 0 또는 양의 정수가 담긴 배열 numbers가 매개변수로 주어질 때, 순서를 재배치하여 만들 수 있는 가장 큰 수를 문자열로 바꾸어 return 하도록 solution 함수를 작성해주세요. 제한 사항 numbers의 길이는 1 이상 100,000 이하입니다. numbers의 원소는 0 이상 1,000 이하입니다. 정답이 너무 클 수 있으니 문자열로 바꾸어 return 합니다. 입출력 예 numbers return [..
ReadTimeout Timeout 이란?... 사전적으로 프로그램이 특정 시간 내에 성공적으로 수행되지 않아 진행이 자동적으로 중단되는 것 응답을 무한정 기다릴 수 없기 때문에 기다릴 시간을 지정해야 한다. EX)서버에서 맺을 수 있는 커넥션 수를 초과했다면, 커넥션을 맺기 위해 무한정 대기한다. Timeout 활용 사례 Socket(양방향 통신),Http(단방향 통신)에서 다양하게 활용 됨 JDBC JDBC Dirver Type4는 소켓을 사용해 DBMS에 연결 DB커넥션을 요청했으나, 시간 내에 연결이 안될 때 → Connection Timeout 발생 채팅 프로그램 채팅 프로그램에서, 서버로부터 특정 시간 응답이 없을 때 → SocketTimeout 발생 WEB 클라이언트에서 서버로 요청을 보낸 후, 연결 되지 않은 ..
정적 언어와 동적언어 그리고 덕 타이핑 학습목표 멘토링 시간에 정적타입 언어와 동적타입 언어에 대해서 답변하지 못했다... 분명 한번 봤던거 같은데.... 머릿속에서는 컴파일 언어와 인터프리터 언어일까?... 하고 생각이 들긴 했다. 깊게 파고들지는 않아도 된다고 하니, 개념정도만 훑어 봐야 겠다. 정적타입 언어와 동적타입 언어 쉽게 말해 정적타입 언어는 컴파일시 데이터타입을 정하는 언어이고, 동적타입 언어는 런타임시 데이터타입을 정하는 언어이다. 정적타입에는 흔히 C,C++,Java등이 있으며, 동적타입에는 'var'키워드를 사용하는 python,Javascript, Perl등이 있다. 정적타입 언어의 장점은, 데이터타입을 컴파일러가 검사하기 때문에, 사소한 버그들에 대해서 훨씬 잘 캐치할수 있다는 점(General의 장점이 여기서도!.....
정렬알고리즘 - Lv2(가장 큰수)-1(ing) 가장 큰 수 문제 설명 0 또는 양의 정수가 주어졌을 때, 정수를 이어 붙여 만들 수 있는 가장 큰 수를 알아내 주세요. 예를 들어, 주어진 정수가 [6, 10, 2]라면 [6102, 6210, 1062, 1026, 2610, 2106]를 만들 수 있고, 이중 가장 큰 수는 6210입니다. 0 또는 양의 정수가 담긴 배열 numbers가 매개변수로 주어질 때, 순서를 재배치하여 만들 수 있는 가장 큰 수를 문자열로 바꾸어 return 하도록 solution 함수를 작성해주세요. 제한 사항 numbers의 길이는 1 이상 100,000 이하입니다. numbers의 원소는 0 이상 1,000 이하입니다. 정답이 너무 클 수 있으니 문자열로 바꾸어 return 합니다. 입출력 예 numbers return [..

반응형