Amazon EC2 Amazon Elastic Compute Cloud(Amazon EC2)는 scalable computing capacity를 제공한다. Amazon EC2는 harware upfront에 투자할 필요성을 제거한다, 결과적으로 어플리케이션을 더 빠르게 개발하고 배포할 수 있도록 해준다. 필요한 만큼 virtual server를 실...
Amazon VPC
Amazon VPC Amazon Virtual Private(Amazon VPC)는 virtual network에서 AWS 리소스들을 실행하도록 해준다. virtual network는 자신만의 데이터 센터에서 구축된 전통적인 네트워크와 유사하다. AWS의 scalable 인프라를 사용할 수 있다는 장점이 있다. Amazon VPC conce...
Krafton 온보딩 키트 리뷰
조금 늦었지만 크래프톤에 입사한뒤 받은 온보딩 키트에 대해서 리뷰를 해보려고 한다. 구성품에는 스트레스볼, 크래프톤의 독립 게임 스튜디오들의 스티커, Stanley Mug, 손 세정제, 노트 등이 들어있다. 개인적으로 스티커 구성품중 Attitude of a champion. Hustle like an underdog. 이라는 문구가 마음에 든...
[Effective SQL] item1 : 모든 테이블이 PK를 가지고 있는지 검증하라.
먼저 Chapter 1부터 소개를 하자면, 제목이 Data Model Design이다. 저자는 bad data model design을 가진 디비에서 효과적인 SQL을 작성하기는 힘들다고 말한다. 즉, data model이 적절히 정규화되어 있지도 않고 테이블 > 관계도 정확히 설정되어 있지 않은 경우는 효과적인 SQL을 작성하는것이 어렵...
Default Method
Java에서는 인터페이스에 디폴트 메소드를 정의할 수 있다. 먼저, 다음과 같은 인터페이스가 있다고 가정하자. public interface TimeClient { void setTime(int hour, int minute, int second); void setDate(int day, int month, int year); ...
Binary Search 문제 corner case
Leetcode이 문제는 전형적인 바이너리 서치 문제이다. 이 문제에서 실수할 만한 코너 케이스가 있다. class Solution { public int findMin(int[] nums) { int ans = nums[0]; int l = 0, r = nums.length-1; while (l &...
[Leetcode - LRU Cache] Priority Queue에서 값을 업데이트 할때, 생길수 있는 오류
리트코드에서 LRU Cache 문제를 풀때, 한시간넘게 디버깅한 적이있다. 즉, PriorityQueue에 저장된 객체의 값을 업데이트 할때, heapify 과정이 자동으로 일어난다고 생각했기 때문이다. public int get(int key) { if (map.containsKey(key)) { Info...
[HTTP Definitive Guide - Chapter 14]Secure HTTP 정리
Chapter 14 - Secure HTTP 대학생 재학시절 정보보호론 과목에서 배우면서 알던 내용들도 많아서, 모르는 내용 위주로 정리해보았다. HTTP vs HTTPS HTTPS는 HTTP에 transport-level에 security layer(주로 Secure Sockets Layer - SSL, Transport Layer Securi...
Hashing
Hashing 1. Static Hashing static hashing 에서 dictionary pair가 hash table(ht) 에 저장된다. hash table은 b 개의 bucket(ht[0], … , ht[b-1]) 으로 나누어진다. 각각의 bucket은 s 개의 slot으로 나누어진다. key가 k인 dictionary pair의 ...
N+1 문제
N+1 Problem Car 객체 컬렉션(또는 db rows)가 있다고 가정하자, 각각의 Car 는 Wheel 객체를 갖공 있다. 즉, Car 과 Wheel 은 1-to-many 관계이다. 이때 모든 자동차들 정보를 쿼리한다고 가정해보자. naive 방법은 아래와 같을 것이다. SELECT * FROM Cars; 그리고 각각의 Car에 대해서 ...