본문 바로가기

분류 전체보기

(17)
외국계 기업 이직 준비: 이력서 작성법 외국계 기업 이직을 준비하며: 이력서 작성의 모든 것이번 이직은 외국계 기업을 목표로 준비했다. 그중에서도 가장 먼저 손봐야 했던 건 바로 이력서(Resume)였다. 국내 기업과는 다른 기준을 갖고 있는 외국계 기업의 이력서 작성 팁을 정리해봤다. 깔끔함이 핵심 : 심플한 포멧인터넷을 검색하면 수많은 이력서 디자인이 나온다.컬러풀한 양식, 2단 구성, 사진이나 아이콘이 들어간 포맷 등 다양하다. 하지만 외국계 기업에서는 디자인보다 내용이 훨씬 중요하다. 오히려 복잡한 디자인은 이력서의 핵심 내용을 읽는 데 방해가 될 수 있다. 그래서 나는 가장 단순한 레이아웃을 택했다. 불필요한 장식 없이, 정보 전달에 집중된 형태로 구성했다. 개인정보는 과감히 빼자한국 이력서는 생각보다 많은 개인 정보를 요..
[Spring] JPA Enum Converter 개선기 - 반복 코드 줄이기 배경 특정 데이터가 DB에서는 숫자로 표현되는 경우가 다수 있다. 예를 들어, 사용자 타입에 대한 정보를 저장할 경우 아래처럼 정의할 수 있다. 값 설명 1 정상회원 2 탈퇴회원 3 정지회원 4 블랙회원 해당 데이터를 그대로 사용하게 된다면 아래와 같게 된다. if (userInfo.getStatus() == 3) { // Do Something } 위 코드 같은 경우 직관적으로 해당 값이 무엇을 의미하는지 알 수 없어 DB 명세서를 자주 확인해봐야한다. 만약 이전 코드처럼이 아니라 아래처럼 되어 있다면?? if (userInfo.getStatus().equals(UserStatusType.SUSPENDED)) { // Do Something } 단순 숫자 값을 사용했을 때 보다 훨씬 더 직관적이고 명세..
이진수로 음수 표현하기 (2의 보수) -5를 이진수로 표현하려면 어떻게 해야할까? 여러 방법이 있지만 그 중에 가장 잘 알려진 방법이 바로 2의 보수(two's complement)를 구해서 해당 값을 음수로 간주하는 것이다. 2의 보수의 사전적 의미는 "어떤 수를 그보다 큰 2^n에서 뺀 값"이다. 예를 들어, 101의 보수는 101보다 큰 2^4 = 1000에서 101을 뺀 011이다. (급하다면 아래 부분을 건너뛰고 넘고 마지막 부분을 확인!) 아래 공식을 참고해서 빼기를 진행하면 된다. - 1에서 0을 빼면 1 - 1에서 1을 빼면 0 - 0에서 0을 빼면 0 - 0에서 1을 빼려면 왼쪽에서 가장 가까운 1을 빌린다. 빌려준 값은 0이 되고 빌린 값은 2가 되어, 거기서 1을 빼 1이 남는다. 그럼 빼기를 진행해보자 1) 101보다 ..
이진수를 십진수로 변환하는 방법 (이진법|십진법) 정의 지난 글에 이진법을 다음과 같이 정의했다. 이진법(binary) 0과 1만으로 숫자를 표현하는 방법이다. 이진법은 숫자가 1을 넘어가는 시점에 자리 올림 한다. 십진수 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 이진수 0 1 10 11 100 101 110 111 1000 1001 1010 1011 1100 1101 1110 1111 10000 10001 이렇듯 자리에 1이 생기면, 그 다음 숫자를 표현하기 위해서는 다음 자리가 1이 된다. 패턴 여기서 몇가지 패턴을 살펴볼 수 있다. 1. n bit로 표현할 수 있는 숫자의 개수는 2^n개다. ex) bit 3개로 표현 가능한 수는 2^3 = 8개다. 2. n bit로 표현 가능한 가장 큰 양수는 2^n - 1이..
비트, 바이트, 십진법, 이진법, 십육진법 컴퓨터가 이해할 수 있는 정보는 모두 0과 1로 표현된다. 비트(bit) 이때 컴퓨터가 이해할 수 있는 가장 작은 정보 단위를 비트(bit)라고 한다. 1 비트로 표현할 수 있는 정보는 (0), (1), 총 2개다. 2 비트로 표현할 수 있는 정보는 (00), (01), (10), (11), 총 4개다. 3 비트로 표현할 수 있는 정보는 (000), (001), (010), (011), (100), (101), (110), (111),총 8개다. 이쯤되면 패턴이 보일 것이다. n비트로 표현할 수 있는 정보의 개수는 2^(n)이다. 바이트 (byte) 바이트는 비트보다 한 단계 큰 단위로 8bit의 묶음을 뜻하고 따라서 2^8, 즉 256개의 정보를 표현할 수 있다. 추가로 우리가 흔히 메모리 사이즈를 측..
SEED 암호화 - KISA 설명 KISA에서 SEED 암호화 소스코드를 제공하지만 오래전에 작성되었던 탓인지 python으로 된 파일이 없었다. 그래서 검색으로 여러 사이트를 참고해 암호화 클래스를 작성했다. SEED 암호화란? SEED는 128 bit의 대칭키를 이용하여 임의의 길이를 갖는 입력 메시지를 블록단위로 처리하는 128 bit 블록암호 알고리즘이다. - 대칭키 암호화 => 암호화 키와 복호화 키가 같은 암호 방식 - 128bit = 16 byte bit | byte | hex bit 컴퓨터에서 사용되는 가장 작은 데이터 단위 2진수로 0과 1을 가질 수 있다. byte 8 bits으로 구성된다 (즉, 8 bits = 1 byte) bits으로 이루어진 byte array는 2진수로 이루어진 데이터이지만 사람이 읽기 어려워 ..
SEED 암호화 코드 - KISA 암호화 클래스 from cryptography.hazmat.backends.openssl.backend import backend from cryptography.hazmat.primitives.ciphers import algorithms, base, modes import base64 class SEED128: def encrypt(self, key, txt): key_bytes = self.convert_key_to_byte_array(key) padded_txt_bytes = self.convert_txt_to_padded_byte_array(txt) encrypted_txt_bytes = self.seed_encrypt(key_bytes, padded_txt_bytes) b64_encrypted..
[번역] 최신 모드, "use strict" 원글 The modern mode, "use strict" 오랫동안 자바스크립트는 호환성 문제 없이 진화했다. 이전 기능은 변경되지 않으면서 새로운 기능이 언어에 추가 되었다. 이 사실은 기존에 작성한 코드가 절대 깨지지 않는다는 장점이 있었다. 하지만 단점은 자바스크립트의 제작자들이 한 실수나 불완전한 결정은 영원히 그 언어에 남게 된다는 것이다. 2009년 ECMAScript 5(ES5)가 등장하기 전까지는 그랬다. ES5는 언어에 새로운 기능을 추가했고 기존에 있던 몇 가지 기능들을 수정했다. 이전 코드가 계속 작동되도록 하기 위해 이러한 수정 내용은 기본적으로 해제되어 있다. "use strict"라는 특별한 지시어로 명시적으로 활성화해야 한다. "use strict" 지시어는 문자열 형태이다: ..