2peopledesu

2peopledesu

For the future

Chromium trash data is really big!

최근에 프록시 주소를 모은 후, 어떠한 작업을 하는 봇을 만들었다. Headless 모드로 4개의 크롬을 동시적으로 키고, 2분내에 작업을 종료하고를 반복하는데 내 맥의 Storage가 6TB를 초과했다고 Alert이 나오는 것이다! 그래서 도대체 문제가 뭘까, 하면서 첫 번째로는 로그 관련해서 열심히 찾아봤는데 아니었고, 두 번째로 수상하던 Chromium관련 데이터들을 뒤져보다가 이 녀석을 발견했다, 지금은
1 min read

Let's read the GO source code #1 dial.go

Dial.go는 네트워크의 연결 설정을 위한 코드입니다. 변수, 함수별로 끊어서 분석을 해보도록 하겠습니다. const ( defaultTCPKeepAliveIdle = 15 * time.Second defaultTCPKeepAliveInterval = 15 * time.Second defaultTCPKeepAliveCount = 9 defaultMPTCPEnabledListen = true defaultMPTCPEnabledDial = false ) defaultTCPKeepAliveIdle: TCP 연결이 비활성 상태일 때 초기 Idle 시간입니다. defaultTCPKeepAliveInterval: Keep-alive 패킷을 전송하는 간격입니다. defaultTCPKeepAliveCount: TCP_KEEP_CNT를 통해 시도하는 Keep-alive 패킷
23 min read

이전 블로그 글을 보게 되었다.

매일매일 많은 양의 공부를 해가며 알게 된 지식을 기록을 열심히 해왔었다. 최근에는 Obsidian을 사용하면서 블로그를 잘 이용하지 않고 있었다. 열정적으로 기록했던 예전을 보니 다시 한번 의욕이 생겨온다. 앞으로 학습하게 되는 것들을 조금씩 더 꾸준히 기록하도록 해야겠다.  그 지식이 고급적이고 어려운 테크닉이 아니면 어떠한가? 내 스스로 발전해나가는 증거이고, 나의 결실일 텐데
1 min read
Security

How to defense / prevent DDOS attack?

DDOS 공격이란, 사실 우리가 단순히 아는 것과는 달리 자세히 들어가면 많이 복잡하고, 방어하는것도 상당히 까다로운 공격이다. 단순하게 요약해서 DDOS가 뭔지 말하자면 대상의 인터넷 서비스를 압도적인 쓰레기 트래픽을 처리하게 만들어서 서버의 리소스를 부족하게 만드는 것이다. 이 쓰레기 트래픽은 단순 패킷일수도, HTTP요청일수도 있고, 혹은 이와는 다른 무언가일수도 있다. DDOS방어가 어려운 대표적인 이유
3 min read
OffTopic Featured

2024년 회고록

오랜만에 회고록을 작성해 볼까 한다, 사실 2024년은 아쉬움이 많았던 한 해라서 회고록을 작성하지 않으려 했으나, 그만큼 더 노력해서 2025년 회고록에는 더 많이 좋은 내용들을 넣고 비교하기 위하여 작성한다. 아쉬운 사업 결말 훌륭한 동료들과 함께 사업을 시작했다. 준비 기간, 아이디어 수립 등등 여러 가지 시간을 포함하면 실제 일한 기간은 더 길
5 min read
Security

Basic Spring Boot Security

고급적인 기술도 아니고, 내용도 아니지만 완전 기본적인 취약점들의 방어 방법을 러프하게 작성해보려고 합니다. 굳이 Spring Boot라고 언어 주제를 잡긴했지만, 모든 언어들에 적용되는 내용들이고 매우 기초적인 내용들입니다. 리얼월드에서는 아래 방법만으로는 막을 수 없는 수많은 취약점이 발생할 것이지만, 최소한의 방어법이라고 볼 수 있습니다. Input validation 사용자가 제공한 입력의 충분한 검증 부족은 공격의
4 min read
DB

6x Speed Improvement in Join Queries with GIN Indexing

여러 개의 Table에서 %asdf%와 같은 단어가 포함된 Content를 가져와야하는 상황이었고, 수십 만개의 데이터가 있었다. 어느순간 특정 부분에서 Slow query가 발견되었길래 확인을 해보니 매우 복잡한 조건을 걸고 단어를 검색하면 1.8초 가량의 시간이 시간이 걸렸다. 처음에는 성능을 확장해야하나, 쿼리를 더 효율적으로 바꿀 방법이있나? 등등 여러가지 부분들을 고려하였다. 최종적으로 해결한 방법은
1 min read

Computer Networking: A Top-Down Approach

Amazon.com 해당 책으로 네트워크를 공부하고 있다. 이해가 잘 되게끔 설명이 되어있으며, 세세한 지식부터 넓은 지식까지 정말 잘 정리가 되어있다. 네트워크 지식에 관심이 깊은 사람이면 몇 번이고 읽어보면 좋을 것 같다. 사실 이렇게 말하는 나도, 내가 하고있는 분야에 관련된 공부가 너무 쌓여있어서 훑듯이 넘겨서 많이 체화는 못했지만, 시간이 나면 다시금
1 min read
DevOps

Kubernetes and Docker Swarm

Container는 배포와 확장을 매우 빠르고 쉽게 만들어줍니다. 전세대가 가상 OS를 사용했다라고 하면, 현재는 Docker의 시대라고 할 수 있습니다. 이러한 Container를 잘 활용하기 위해서는 orchestration tool이 필요하고, 쿠버네티스와 도커 스웜은 대표적인 orchestration tool들입니다. Kubernetes와 Docker Swarm의 아키텍쳐 표를 비교해보면, Kubernetes가 훨씬 많은 구성요소로 이루어져 있습니다. 물론 그만큼 학습이 어렵고, 사용이 복잡합니다.
2 min read