일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |
- springboot
- Spring
- 리눅스
- Python
- 프로그래머스
- 백엔드
- 카카오
- Java
- 운영체제
- 스프링
- programmers
- Elasticsearch
- 스프링부트
- Linux
- 쿠버네티스
- IT
- 파이썬
- 개발자
- 프로그래머스 #카카오 #IT #코딩테스트
- 자바
- 도커
- 네트워크
- 캐시
- 코딩테스트
- docker
- DPDK
- 엘라스틱서치
- 알고리즘
- C
- Kakao
- Today
- Total
목록C (3)
저고데

들어가며금일은 DPDK 라이브러리에서 제공하는 Cuckoo Hash Table에 대해서 알아보고 예시를 작성해보도록 하자.Hash Table은 다들 많이 들어본 적이 있을 것이다.시간 복잡도가 O(1)로 매우 빠른 속도로 데이터를 저장하고 접근할 수 있는 자료구조이기에 실무에서도 자주 사용된다.하지만, Hash table은 치명적인 단점이 존재하는데 !바로 '해쉬 충돌'이다. Cuckoo Hash Table은 이러한 해쉬 충돌 문제를 방지하기 위해서 만들어졌다.전통적인 Hash Table에서는 해쉬 충돌이 발생하면, Chaining 등과 같은 방법으로 문제를 해결한다.그러나, 이는 데이터를 재배치하기 때문에 효율이 낮다고 말할 수 있다.반면, Cuckoo Hash Table은 그렇지 않다.아예 다른 두 ..

들어가며이번시간에는 DPDK에 대해서 간단하게 알아보고, 이를 Linux 환경에서 적용해보는 시간을 가져보자.DPDK란, Data Plane Development Kit의 약자로 intel에서 개발한 오픈소스이다.그러면 얘를 왜 사용하는 것일까?다양한 이유가 있겠지만 가장 큰 이유는 속도 때문이다.기존 Linux에서는 대부분 kernel이 관여하게 되는데, User mode에서 Kernel mode로 system call을 호출하는 과정에서 추가적인 task가 일어나고 속도가 느려진다.반면, DPDK는 그렇지 않다.운영체제의 도움을 받지 않고 오버헤드 없이 사용자 어플리케이션이 직접 하드웨어를 독점 제어할 수 있는 자체 인터페이스를 제공한다.한 마디로, 커널을 우회하는 것이다.(Kernel Bypass)..
들어가며프로그램을 개발하고 배포하였다고 생각해보자.이제 모든 작업이 끝난 것일까?전혀 아니다.사용자에게 있어서 편리한 기능을 제공하는 것도 중요하지만, 보안상의 문제로 인하여 신뢰가 떨어지게 된다면 더 이상 사용자들은 당신의 제품을 사용하지 않을 것이다.그렇다면 어떤 점을 인지해야 할까?바로 시큐어 코딩이다. 시큐어 코딩(Secure Coding)?시큐어 코딩이란 소프트웨어 개발 과정에서 보안 취약점을 최소화하고 악의적인 공격으로부터 시스템을 보호하기 위해 설계된 코딩 기법과 원칙을 의미한다.해당 개념은 소프트웨어가 다양한 보안 위협에 노출되는 현대의 복잡한 IT 환경에서 점점 더 중요해지고 있다.하나의 모바일 서비스를 사용했을 때, 이전보다 기능이 더 많아진 것을 느낄 수 있지 않는가?이 역시도 다양한..