분류 전체보기57 SQL EXPLAIN: 쿼리 성능 분석의 핵심 DB에서 쿼리를 실행할때, 아래의 단계를 거칩니다. 파싱: SQL 쿼리의 문법을 검사최적화: 가장 효율적인 쿼리 실행 방법 옵티마이저실행: 최적화된 계획에 따라 데이터를 처리 및 결과 메모리 로드결과 반환: 사용자에게 최종 결과 전달쿼리가 느릴 때, 어디서 문제가 발생하는지 파악하고 성능을 최적화하는 데 필수적인 도구로 EXPLAIN에 대해 알아보고자 합니다. 1. EXPLAIN 항목 설명id: 쿼리 내에서 각 작업의 순서를 나타냄. 숫자가 같으면 동시에 실행될 수 있는 작업이며 숫자가 다르면 숫자가 큰 것부터 먼저 실행select_type: 쿼리의 유형SIMPLE: 가장 기본적인 SELECT 문으로 서브쿼리나 UNION 등이 없는 단일 쿼리PRIMARY: 복잡한 쿼리(UNION, 서브쿼리 등)에서 가장.. 2025. 7. 15. 관계의 불안, 성장의 발판이 되다 우리는 살면서 수많은 관계를 맺고 그 안에서 다양한 감정을 경험합니다.때로는 편안하고 안정적인 관계 속에서 위로를 얻지만, 예상치 못한 불안과 갈등은 우리를 당황하게 만들기도 합니다. 하지만 『관계의 불안은 우리를 어떻게 성장시키는가』는불안과 불일치의 순간들이 오히려 우리가 더 단단하고 지혜롭게 성장하는 계기가 된다고 말합니다.1. 불안에 대한 새로운 시각: '괜찮지 않음'을 마주하는 용기홀로코스트 생존 부모의 이야기처럼, 과거의 상실이나 충격적인 경험은 때로 우리가힘든 감정을 무조건 '괜찮다'고 억누르거나 회피하게 만들 수 있습니다. 이는 생존을 위한 본능적인 방어 기제일 수 있지만, 장기적으로는 감정적 성장을 가로막습니다. 하지만 아기 상어 노래에 아기들이 매료되는 이유처럼, '위험'에서 '안전'으로.. 2025. 7. 14. Nginx 성능 최적화 Nginx, 왜 성능 최적화가 필요할까요?Nginx는 Apache보다 가벼워 정적 페이지 처리에 특히 강한 웹 서버입니다. 하지만 기본 설정으로는 많은 사용자를 감당하기 어렵고\대량 트래픽을 처리하려면 시스템과 Nginx 설정을 조정해야 의도하지 않은 결과를 피할 수 있습니다.1. 시스템 설정 확인: ulimitNginx 설정 별개로 시스템 자체가 허용하는 최대 프로세스 수나 오픈 파일 수가 적으면 이미 file IO에서 손해ulimit 으로 현재 설정을 확인하고 늘려야함# 현재 ulimit 설정 확인ulimit -a특히 open files (오픈 파일 수)와 max user processes (최대 사용자 프로세스 수) 확인이 수치가 낮다면 /etc/security/limits.conf 파일을 수정해서.. 2025. 7. 13. 파이썬 에코시스템 왜 파이썬은 전 세계 개발자들의 선택이 되었을까?파이썬이 오늘날 가장 인기 있는 프로그래밍 언어 중 하나로 자리잡은 것은 단순히 "배우기 쉽다" 는 이유만으로는 설명할 수 없습니다. 물론 직관적인 문법과 낮은 러닝커브가 초보자들에게 매력적인 진입점을 제공한 것은 사실입이나파이썬의 진정한 힘은 풍부하고 다양한 생태계에 있습니다.생태계가 만들어낸 선순환 구조파이썬의 성공 비결은 언어 자체의 단순함과 생태계의 복잡함 사이의 절묘한 균형에 있습니다.빠른 프로토타이핑: 아이디어를 코드로 구현하는 속도가 빠름풍부한 라이브러리: 바퀴를 재발명할 필요 없는 Ready-to-use 솔루션들활발한 커뮤니티: 지속적인 개선과 새로운 도구들의 등장범용성: 웹 개발부터 AI까지 거의 모든 분야를 아우름이러한 요소들이 서로 맞물.. 2025. 6. 9. JS에서 이터레이터와 이터러블 차이 IterableSymbol.iterable 메서드를 가진 객체 - 반복 가능한 객체//내장 이터러블const arr = [1,2,3];const str = 'STRING';const map = new Map();const set = new Set();//커스텀 이터러블const myIerable = { data:[1,2,3], [Symbol.iterator](){ let idx = 0; const data = this.data; return{ next(){ if(idx Iteratornext() 메서드를 가진 객체 - 실제 값을 하나씩 반환하는 객체// 이터레이터 직접 사용const arr = [1, 2, 3].. 2025. 6. 8. Redux 직접 구현해보는 과정 Redux는 JavaScript 애플리케이션의 상태 관리를 위한 라이브러리로 널리 사용되고 있으며 그 핵심 개념은 매우 단순합니다.이번 포스트에서는 Redux의 핵심 기능을 처음부터 직접 구현해 보면서 그 동작 원리를 이해해보고자 합니다.Redux의 핵심 개념Redux는 다음 세 가지 핵심 원칙을 기반으로 합니다:단일 스토어(Single Source of Truth): 애플리케이션의 모든 상태는 하나의 스토어에 저장됩니다.상태는 읽기 전용(State is Read-Only): 상태를 변경하는 유일한 방법은 액션을 디스패치하는 것입니다.순수 함수로 변경(Changes are made with Pure Functions): 리듀서는 이전 상태와 액션을 받아 새로운 상태를 반환하는 순수 함수입니다.Redux .. 2025. 3. 17. Pandas활용한 데이터 처리 최적화 팁 Pandas Python을 활용한 데이터 처리 최적화 연산에 대해 알아보려고 합니다.1) 벡터화된 연산(Vectorized operations)일반적으로 df(dataframe)을 읽어 처리하고자 한다면 for 방식을 취하게 됩니다.for idx in file.index: con = file.loc[idx, "@message"] email = re.findall(r'(?어떤 메세지(@message)에서 email을 추출하여 새로운 필드에 넣는 코드인데,이 방식은 각 행을 하나씩 순회하기에 속도가 느립니다. 벡터화된 연산으로 변경하면,df['email'] = df['@message'].str.extract(r'(?이 방식은 Pandas가 내부적으로 C로 구현된 최적화된 연산을 이용하여 모든 행을.. 2025. 1. 15. [책리뷰] 대규모 머신러닝 시스템 디자인 패턴 ChatGPT, Gemini, Claude와 같은 대규모 언어 모델(LLM)들의 인터페이스가 일반화되면서, AI 개발의 진입 장벽이 크게 낮아졌습니다.모델명개발사API 제공 여부주요 특징GPT-4OpenAI✓- 가장 널리 사용되는 LLM- ChatGPT Plus를 통해 접근 가능- 텍스트 및 이미지 처리 가능Claude 3Anthropic✓- Opus, Sonnet, Haiku 3가지 버전 제공- 높은 정확도와 분석능력- 이미지 처리 가능GeminiGoogle✓- Ultra, Pro, Nano 버전 제공- Bard/Gemini를 통해 접근 가능- 멀티모달 기능 지원LLAMA 2Meta✓- 오픈소스 모델- 상업적 사용 가능- 다양한 크기의 모델 제공PaLM 2Google✓- 다국어 지원에 강점- Googl.. 2024. 12. 29. [책리뷰] 시작! AWS 엣지 컴퓨팅과 그리드 컴퓨팅이라는 용어가 지나고, 공기 같은 클라우드 환경에 살고 있습니다.한때 “구름? 뜬구름 잡는 이야기 같은데? “라며 낯설었던 클라우드라는 개념은 이제 AWS, GCP, Azure 같은 플랫폼을 빼놓고는 개발을 논할 수 없는 상황이 되었습니다. 그중에서도 AWS는 전 세계 개발자들 사이에서 가장 대중적이고, 빠른 개발과 서비스 출시를 위해 꼭 거쳐야 할 도구로 자리 잡았습니다. 오늘은 이 AWS를 쉽게 배우고 실무에 활용할 수 있도록 돕는 한빛미디어의 '시작! AWS'를 리뷰해보고자 합니다.과거와 현재의 AWS제가 처음 AWS를 사용하던 시절, 서울 리전이 없어서 일본 도쿄 리전에 서버를 두고,(현재 가용리전 살펴보기 : https://aws.amazon.com/ko/about-a.. 2024. 11. 28. [책리뷰] 테라폼으로 시작하는 IaC 현대 클라우드 환경에서 인프라 관리는 더 이상 수동적인 작업이 아닌 코드를 통한 자동화가 필수가 되었습니다. HashiCorp사의 Terraform은 이러한 IaC (Infrastructure as Code) 패러다임을 실현하는 대표적인 오픈소스 도구입니다.IaC라고 불리는 컨셉을 이용하여 기존의 베어메탈을 매뉴얼 하게 관리하기에는 요즘 사용하는 서비스들은 code로 관리하고자 하는 니즈가 굉장히 많아지게 되었습니다. 이런 흐름에서 한빛미디어의 테라폼으로 시작하는 IaC 도서를 리뷰해보고자 합니다. 왜 사용하는가?Terraform은 인프라스트럭처를 코드로 정의하고 관리할 수 있는 기능을 제공하여,프로비저닝 및 인프라 관리의 효율성을 크게 향상시킵니다. 일반적으로 Docker를 활용해 이미지를 생성한 후,.. 2024. 10. 27. SSH known_host 원격에서 실행하는 스크립트를 작성하고 있는데 SSH기반이다.(참고로 다른 플젝에서 사용하는 Ansible 역시 SSH) SSH로 다른 HOST에 접근하기 위해서는 접속하려는 서버의 FingerPrint를 등록하는 과정이 필요한데접속할 건지 물어보는 프롬프트 때문에 스크립트 중간에 멈춰버리거니 입력을 받지 못하는 경우가 발생한다. 한번 Fingerorint를 등록해 놓으면 상관없지만 좀 더 알아보니~/.ssh/known_hosts라는 파일에 등록되기에 보안상 문제없이 접속하게 하는 방법이 필요하다이때 사용하는게 ssh-keyscan으로 원격 호스트의 SSH키를 수집하여 등록할 수 있다.ssh-ketscan -p {PORT} -t rsa {IP} 1> ~/.ssh/known_hosts 2>/dev/null .. 2024. 10. 9. [책] 코드 밖 커뮤니케이션 SW개발자를 포함하여 IT분야에 종사하고 있다면 다른 직군의 실무자와 협업을 진행하여커뮤니케이션에 대한 어려움을 맞을 수밖에 없습니다. 또한 1인 개발을 하지 않은 이상 결국 누군가와 함께 일하게 되고 이런 과정에서 ‘함께’ 할 수 있는 스킬이 필요한데한빛 미디어의 ‘코드 밖 커뮤니케이션’를 리뷰해보며 어떤 방식으로 소통하는지 리뷰해 보도록 하겠습니다. 커뮤니케이션이란? 사전적 정의를 빌려보자면 다음과 같습니다.아이디어와 감정 표현타인에게 정보전달정보를 공유하거나 교환공통의 상징, 기호, 태도즉 공통의 기호등을 통해 정보를 공유하거나 공동의 이해를 도모하는 것입니다.하지만 부서간 개인 간 다양한 부분에서 불통이 일어나는 것일까 이 책은 이러한 부분의 이해와 다양한 방법 및 사례를 다룹니다. 총 4부로 구.. 2024. 9. 29. 이전 1 2 3 4 5 다음