No Image

2019 카카오 블라인드 신입 개발자 공채가 시작됩니다!

2018-08-28 KENNETH 0

2019 카카오 블라인드 신입 개발자 공채가 시작됩니다! 카카오는 여전히 같은 생각입니다. 개발자가 자신의 가치를 증명할 수 있는 것은 자소서나 스펙이 아니라 코드라고 말이죠! 올해는 카카오를 포함하여 5개 공동체가 함께 합니다. 지금 바로 도전하세요! new developer coming! [2019 카카오 블라인드 신입 개발자 공채] ▶ 접수 기간 : 8월 27일 (월) 15:00 ~ 9월 11일 (화) 23:59 ▶ 지원 접수 : www.welcomekakao.com ▶ 문의 사항 : [email protected] ▶ 모집 회사 : (주)카카오 / (주)카카오 게임즈 / (주)카카오 모빌리티 / (주)카카오페이지 / (주)카카오 페이 (총 5개 기업 중 1개 기업에 지원 가능) 2019 카카오 신입 개발자 공채는 스펙보다는 성장 가능성과 잠재력, 창의성 등이 뛰어난 신입 개발자 분들을 선발하기 위해 학력, 경력 등 스펙이 아닌 코딩 능력으로만 검증하는 ‘블라인드’ 전형으로 실시될 예정입니다. 블라인드 전형 취지에 맞게 응시자는 학력, 나이, 성별, 경력 등을 기입하지 않고 이름/메일/ 연락처 등만 입력한 후 본인 계정을 생성하면 코딩 테스트에 [ more… ]

No Image

코드 페스티벌 2018 예선전 이야기

2018-08-09 KENNETH 0

코드 페스티벌 2018 예선전 이야기 카카오 코드 페스티벌 예선전, 많은 관심 감사합니다! 작년에 이어 두 번째로 진행된 카카오 코드 페스티벌, 온라인 예선이 지난 8월 4일 토요일에 진행됐습니다. 작년보다 더욱 많은 6,000여 명의 참가자들이 6시간 동안 뜨거운 열정을 발휘했는데요, 특히 실시간으로 바뀌는 스코어보드를 보면서 치열한 접전을 느낄 수 있었습니다. 여기 예선 문제와 해설, 그리고 결과를 공유합니다. 참가해주신 모든 모든 분들께 감사드립니다! 문제 설명 및 풀이 상금 헌터 제출자 3120명 정답자 2686명 문제 풀러 가기 대회에 참가해서 얼마의 상금을 받을 수 있을지를 계산하는 문제로, 주어진 조건대로 구현하면 됩니다. if문을 사용해서, a와 b가 어떤 범위가 있는지에 따라 상금을 구하거나, 크기가 101인 배열 A[0..101]와 65인 배열 B[0..64] 두 개를 만들어서, 각각 1회/2회 대회에서 i등을 하면 얼마의 상금을 받는지를 저장한 뒤 계산하는 방법 등이 있습니다. 인형들 제출자 2138명 정답자 942명 문제 풀러 가기 길이가 N인 수열이 주어졌을 때, 이 중 K개 이상의 연속된 수를 선택하여 [ more… ]

No Image

MySQL Ascending index vs Descending index

2018-06-19 KENNETH 0

MySQL Ascending index vs Descending index 용어 정리 이 설명에서는 인덱스의 정렬 순서와 데이터 읽기 순서 등 방향에 대한 단어들이 혼재하면서, 여러 가지 혼란을 초래하기 쉬운 설명들이 있을 것으로 보인다. 그래서 우선 표준 용어는 아니지만, 나름대로 몇 개 단어들에 대해서 개념을 정립하고 그 단어를 번역 없이 영어로 그대로 표기하도록 하겠다. Ascending index : 작은 값의 인덱스 키가 B-Tree의 왼쪽으로 정렬된 인덱스 Descending index : 큰 값의 인덱스 키가 B-Tree의 왼쪽으로 정렬된 인덱스 Forward index scan (Forward scan) : 인덱스 키의 크고 작음에 관계없이 인덱스 리프 노드의 왼쪽 페이지부터 오른쪽으로 스캔 Backward index scan (Backward scan) : 인덱스 키의 크고 작음에 관계없이 인덱스 리프 노드의 오른쪽 페이지부터 왼쪽으로 스캔 Descending index 지원 MySQL 4.x 버전부터 Feature Request로 등록되어 있던 “Descending index” 기능이 드디어 MySQL 8.0에 도입되었다. MySQL 8.0부터는 이제 아래와 같이 역순으로 정렬되는 인덱스(Descending index)를 생성할 수 있게 되었으며, 필요에 따라서 [ more… ]

사용하면서 알게 된 Reactor 예제 코드로 살펴보기

2018-05-29 KENNETH 0

사용하면서 알게 된 Reactor 예제 코드로 살펴보기 Reactor는 Pivotal의 오픈소스 프로젝트로, JVM 위에서 동작하는 논블럭킹 애플리케이션을 만들기 위한 리액티브 라이브러리입니다. Reactor는 RxJava 2와 함께 Reactive Stream의 구현체이기도 하고, Spring Framework 5부터 리액티브 프로그래밍을 위해 지원되는 라이브러리입니다. RxJava에 익숙한 필자가 Reactor를 사용하면서 느낀 것은 RxJava와 많은 공통점이 있으며 큰 차이점이 있다면 Reactor는 최소 Java8에서 동작하며 Java8의 피쳐를 잘 지원한다는 점입니다. 본문에서는 필자가 스프링 프레임워크 WebFlux환경에서 개발을 할 때 Reactor에 대해서 알게 된 점을 공유하고자 합니다. 쉬운 이해를 위해 간단한 자바 애플리케이션 예제 코드를 통해 소개하도록 하겠습니다. 본 예제에서 사용된 자바 버전은 Java8이며, Reactor 버전은 3.1.7 임을 알려드립니다. Mono와 Flux 우선 예제에 들어가기 앞서 Mono와 Flux의 차이점을 알 필요가 있습니다. Mono는 0-1개의 결과만을 처리하기 위한 Reactor의 객체이고, Flux는 0-N개인 여러 개의 결과를 처리하는 객체입니다. Reactor를 사용해 일련의 스트림을 코드로 작성하다 보면 보통 여러 스트림을 하나의 결과를 모아줄 때 Mono를 쓰고, 각각의 Mono를 [ more… ]

NumPy와 C++ Extensions의 성능 비교

2018-05-15 KENNETH 0

NumPy와 C++ Extensions의 성능 비교 파이썬은 놀라운 생산성을 발휘하는 언어입니다. 하지만 성능 문제는 늘 발목을 잡게 합니다. 이 문제를 극복하는 방법으로 일반적으로 C Extension을 작성하는 방법이 권장되며, 여기서는 표준 편차를 구하는 함수를 작성하여 순수 파이썬의 성능과 NumPy, 각종 C++ Extensions의 성능을 비교해 보도록 합니다. Python 표준 편차를 구하는 파이썬 코드는 아래와 같이 작성할 수 있습니다. def mean(lst): return sum(lst) / len(lst) def standard_deviation(lst): m = mean(lst) variance = sum([(value – m) ** 2 for value in lst]) return math.sqrt(variance / len(lst)) NumPy NumPy로는 매우 간단하게 한 줄로 처리 가능합니다. np.std(lst) NumPy를 사용하면 코드가 간단해지고, 일반적으로 NumPy는 C로 최적화한 매우 효율적인 라이브러리로 알려져 있으나 NumPy는 싱글 코어와 대형 배열에 최적화된 라이브러리라는 한계가 존재합니다. 실제로 배열의 크기가 100개 이내인 경우 NumPy는 순수 파이썬 구현 보다도 오히려 낮은 성능을 보입니다. C++ Extension 여기서는 C++로 Extension을 작성하여 성능을 최적화 해보도록 합니다. C++로 표준 편차를 [ more… ]