일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- programmers
- 운영체제
- C
- docker
- Linux
- Elasticsearch
- Python
- Spring
- 쿠버네티스
- 코딩테스트
- 카카오
- 파이썬
- 알고리즘
- 자바
- 도커
- 프로그래머스 #카카오 #IT #코딩테스트
- 개발자
- springboot
- Kakao
- 스프링부트
- 엘라스틱서치
- 백엔드
- 리눅스
- DPDK
- 네트워크
- 프로그래머스
- 스프링
- IT
- Java
- 캐시
- Today
- Total
목록전체 글 (185)
저고데

들어가며최근 스타트업에서 검색 및 추천 엔진과 관련된 인공지능 시스템 추가 예정과 동시에 사내 시스템에서 MLOps를 공부해야할 일이 있었다.따라서, 스타트업에서도 MLOps를 도입하는 것이 효율적일 것 같아서, 공부한 내용을 이렇게 정리한다. 이전부터 AI의 관심이 높아지면서, 인공지능을 사용하지 않는 기업 찾기는 어려워졌다.그만큼 AI의 성과가 매우 뛰어나다는 것인데, 반면에 AI를 도입하여 좋은 성과를 이루어내는 것은 매우 어려운 일이다.왜냐하면, 인공지능이라는 것은 어린 아이를 가르치는 것과 유사하기 때문이다. 어린 아이에게 고양이와 강아지를 구별하는 방법에 대해서 알려준다고 해보자.가장 간단한 방법은 고양이와 강아지의 차이에 대해서 설명하기 보다, 수많은 강아지와 고양이를 보게 해주면서 스스로 ..
들어가며Linux 시스템을 관리하다 보면 systemctl이라는 명령어를 자주 보게 되는데, 이번 시간에는 이와 관련해서 이야기 해보도록 하겠다.우선 Daemon에 대해서 알고 넘어가야할 필요가 있다.Daemon은 사용자 개입 없이 백그라운드에서 지속적으로 실행되는 프로그램으로, 시스템의 여러 작업을 자동으로 수행한다.이러한 Daemon들 중에서는 네트워크 관리 및 하드웨어 설정 등과 같이 OS가 안정적으로 운영하기 위한 역할을 하는 daemon들도 존재한다.Linux는 이러한 데몬들이 시스템 부팅 시에 자동으로 실행되도록 설정할 수 있는데, 이를 관리하는 핵심 요소가 바로 systemd와 systemctl이다.그럼 본격적으로 각각에 대해서 알아보자. Daemon이란Daemon은 기본적으로 사용자가 직접..

들어가며이번 시간에는 Docker container끼리는 어떻게 통신을 하고, 외부에서는 어떻게 Docker container로 접근하는 지에 대해서 알아보자.먼저 사건의 발단은 다음과 같다.# docker-comnpose.ymlversion: '1'services: container: image: "image" restart: on-failure container_name: container deploy: resources: limits: memory: 50G logging: driver: syslog environment: TZ: "Asia/Seoul" volumes: - /data/devel:/h..

들어가며금일은 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)..

들어가며우선 웹과 인터넷의 차이를 알 필요가 있다."웹은 인터넷과 동일하지 않나?"라고 생각한다면 아직 네트워크의 개념을 정확하게 익히지 못한 셈이다. (그리고 아마 당신은 바보 대장임에 틀림없다 !)결론부터 말하자면 웹은 인터넷을 기반으로 동작하는 서비스 중 하나이다.따라서, 웹보다 인터넷이 훨씬 더 넓고 큰 개념이다. 웹 vs 인터넷그렇다면 웹과 인터넷의 차이는 뭔데? 어렸을 때, 종이컵에 실을 메달아서 친구와 전화기 놀이를 했던 기억이 있을 것이다.사람의 성대에서 발생한 진동이 종이컵을 통해서 모아지고, 실이라는 매개체를 통해서 반대편의 종이컵까지 전달하는 간단한 원리가 유년 시절에 재미를 준 셈이다.이 진동을 전자 신호로 바꾸면 네트워크 통신이 가능해지고, 그 규모가 전세계적으로 커지게 되면 인터..