간단히 적고 추후 포트폴리오의 형태로 변경 Python- Django- FastAPI- Celery KafKa- Kafka Connect- Debezium RDBMS- PostgreSQL- MySQL IMDBS- Redis Testing- Playwright- Selenium- locust Security & ASM Development- Attack Surface Management- OSINT Collection- Web Vulnerability Scanning - Portscan & Service Fingerprinting (NMAP, NSE)- SSL/TLS analysis (SSLyze)- Credential Stuffing & Automated Login Testing
HTTP Streaming을 제공하는 서버에 Python의 requests 라이브러리를 사용하여 GET 요청을 보낼 경우, 요청이 끝나지 않고 대기 상태가 지속되는 문제가 발생할 수 있다. 본 글에서는 이러한 문제의 원인과 해결 방법을 정리하고, 최적의 해결책을 제시한다.1. 문제 상황HTTP Streaming 방식으로 데이터를 지속적으로 전송하는 서버에 대해 requests.get()을 호출할 경우, 요청이 종료되지 않고 계속 응답을 받는 상태가 유지된다. 이로 인해 크롤러나 자동화된 스크립트가 다음 명령으로 진행하지 못하고 멈춰버리는 문제가 발생 가능 참고로 문제가 발생했던 대상의 경우 다음의 apache example 을 사용하고 있었음https://github.com/jesperfj/buildpa..

올해 있었던 사건들 & 정리 많은 개발자 분들은 회고를 진행한다. 나는 아직 그정도로 좋은 개발자라는 생각이 들지 않아, 개발자로서의 회고가 아닌 그냥 갓 졸업한 사회 초년생으로서 내게 무슨 일이 있었는가를 10개 정도 정리해보는 시간을 가져봤다. 1. 감기로 꽤나 고생- 1~2월 동안 거의 6주 가까이를 감기로 고생했다.- 건강 관리가 매우 중요하단 것을 알 수 있었다.2. 막 학기 & 취업 준비 시작- 24년 1학기는 건국대학교에서의 막학기였다..- 많은 회사들에 지원하고 떨어졌었다. 면접 준비와 코테 준비는 정말 꾸준히 해야 한다.- 수업 중엔 "대학생을 위한 금융상품의 이해" 과목이 가장 유익했고 열심히 공부한 것 같다.3. 토익 스피킹 취득- 처음으로 어학 자격증을 따봤다.- 지하철 왔다갔다 하..
with ?파이썬으로 코드 작성을 하다 보면 with ~ as ~ 구문을 마주하게 된다 이게 어떤 기능을 하고 어떤 원리에 의해 동작하는지 정리해보자 일단 다음과 같은 예시의 코드를 살펴보자with open("example.txt", "w") as file: file.write("Hello, World!")# 파일은 블록 종료 시 자동으로 닫힌다. File Descriptor 같은 경우 write 후 바로 종료되어야 하는 상황에서 위와 같이 사용한다. 그럼 이건 구체적으로 어떻게 가능한걸까? Context Manager 에 의해 가능하다 ContextManager앞서 살펴본 예시는 "리소스" 관리를 위해 필요한 것이었다. 이를 파이썬에서는 ContextManager 라는 개념으로 커버한다. Con..
임시 작성 1. wsgi - gunicorn 사용해서 병목 현상 해결2. sync_playwright 의 with 을 통한 자원관리(asyncio loop 혼동 문제) 트러블슈팅3. Eureka 를 운영하면서 발생할 수 있는 SPOF 문제의 해결 주말에 할것1. 올해 뭐 했는지 정리하기2. HF의 Inferernce API가 별로인 것을 확인했으므로 직접 llama 구축해서 Q&A 및 감정 분석 테스트3. 웨이팅 시스템 고도화 방안 찾기 -> 응답 속도 및 정합성을 중심으로4. with 을 통한 상태 관리 자세히 확인 (ContextManager 가 어케 구현되는건지)
문제부터 빠르게 살펴보자 https://www.acmicpc.net/problem/31848 도토리가 빠지는 구멍들이 정렬이 안 되어 있어 이분 탐색에 어려워보인다. 하지만 시뮬레이션을 생각해보면, 어차피 큰 구멍 사이에 있는 작은 구멍은 의미가 없다. 이런 경우에는 기존에 더 큰 값으로 덮어씌워도 된다. 그러면 최대값을 갱신해가며 기록하면 된다. 즉 오름차순으로 배열이 생겨나게 된다. 여기서 lower_bound 를 깔끔하게 써주면 문제를 해결할 수 있다. 코드#include#includeusing namespace std;int N, M;vector minHoles;int main() { cin.tie(0); cin.sync_with_stdio(false); cin >> N; int maxV = 0;..
- Total
- Today
- Yesterday
- 그리디
- Til
- SQL
- 힙
- 코딩테스트
- requests
- django testcase
- jwt
- Python
- 백준
- endl을절대쓰지마
- 프로그래머스
- 최대한 간략화하기
- docker-compose update
- BOJ
- 불필요한 값 무시하기
- vscode
- SSL
- 이것도모르면바보
- cipher suite
- Event Sourcing
- Remote
- 삽질
- 스택
- django test
- Javascript
- factory_pattern
- 우선순위큐
- 위상정렬
- 파이썬
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |