분류 전체보기 썸네일형 리스트형 NOT IN 쿼리는 신중하게 사용하자 개발을 하다 보면 특정 조건에 해당하지 않는 데이터를 조회해야 할 때가 많습니다. 이럴 때 흔히 사용하는 게 바로 NOT IN이죠. 예를 들어 다음과 같은 형태입니다:SELECT * FROM users WHERE status NOT IN ('inactive', 'banned');혹은 MongoDB에서는 이렇게도 사용하죠: db.users.find({ status: { $nin: ["inactive", "banned"] } });딱 봐도 직관적이고 쓰기 편해 보입니다. 하지만 실무에서는 조심해서 써야 할 몇 가지 함정이 존재합니다. 이번 글에서는 제가 겪은 실제 사례를 바탕으로 NOT IN 쿼리의 문제점과 이를 최적화하는 방법까지 정리해보려고 합니다.⚠️ NOT IN이 느려지는 이유인덱스를 타지 못하는 경.. 더보기 HashSet<URL> 기반 악성 URL 중복 제거 로직의 함정과 해결기 개요보안 시스템에서 수집되는 악성 URL들은 다양한 형태로 존재하며, 이들을 정규화하고 중복 제거하는 과정은 분석의 정확성과 효율성을 위해 필수적입니다. 이를 위해 Java의 HashSet을 활용해 중복을 제거하는 구조로 구성이 되어 있었지만, 예상치 못한 DNS 트래픽이 내부망에서 발생하는 문제가 나타났습니다.단순히 중복이 제대로 제거되지 않는 수준이 아니라, 각 URL 객체 생성 시마다 DNS 쿼리가 자동 발생하며 내부 DNS 서버에 부하를 주는 현상이 발생한 것이죠. 이 글에서는 해당 현상의 원인과 실제 네트워크 패킷 분석을 통해 검증한 과정, 그리고 최종적으로 적용한 해결 방안을 공유합니다. 현상: 내부망 DNS 트래픽 급증보안 로그 처리 중, 내부 DNS 서버에 반복적으로 DNS 쿼리가 찍히는 .. 더보기 YAPP 직장인 동아리 서류합격 및 면접후기 목차· 직장인 동아리에 왜 지원했을까?· 서류준비과정· 서류합격 및 면접후기· 결과· 다짐 직장인 동아리에 왜 지원했을까 ?회사에서 하는 업무 외에도, 다른 직장인 개발자들은 어떤 방식으로 협업하고, 어떤 개발 문화를 가지고 있을지 항상 궁금했어요.나와 비슷한 고민을 가진 사람들과 함께, 더 자율적이고 주도적인 방식으로 의미 있는 개발을 해보고 싶다는 생각도 컸고요.그러다 알게 된 게 바로 YAPP 이었어요.둘 다 실력 있는 사람들이 모여서 사이드 프로젝트를 진지하게 운영하는 커뮤니티라는 점에서 큰 매력을 느꼈고,"이왕 하는 거, 나를 좀 더 몰아붙일 수 있는 곳에 도전해보자" 싶어서 지원하게 됐습니다. 서류준비과정서류는 단순히 내가 어떤 기술을 쓸 줄 아는지를 나열하기보단,왜 그 기술을 선택했고, .. 더보기 CKA 자격증 공부 CKA 실전 문제 & 명령어 정리📦 Pod 관련 명령어🟡 1. 파드 갯수 확인 (namespace가 없으면 default로)kubectl get pods -n kubectl get pods # default 네임스페이스 🟡 2. Nginx 이미지를 사용하는 파드 생성kubectl run nginx --image=nginx🟡 3. 파드가 어떤 이미지로 생성되었는지 확인kubectl describe pod 🟡 4. 파드의 상세 정보 확인 (Node, IP 등 포함)kubectl get pods -o wide🟡 5. 파드 삭제kubectl delete pod ⚙️ YAML을 이용한 Pod 생성 및 수정🟡 6. 잘못된 이미지로 Pod 생성 (Dry-run & YAML 저장)kubectl run .. 더보기 CKA 정리 보호되어 있는 글입니다. 더보기 AWS Certified Solutions Architect - Associate (SAA-C03) 합격 후기 시험 후기 (feat. 멘탈 바사삭)3월 29일, 범계역에서 AWS Certified Solutions Architect - Associate (SAA-C03) 시험을 보고 왔습니다. 처음엔 "이거 그냥 AWS 서비스 몇 개 외우면 되는 거 아냐?" 했다가 문제를 보는 순간 멘탈이 부서지는 경험을 했네요. 그래도 미리 준비를 철저히 해서 다행히 한 번에 합격했습니다! (매일 루틴이 같았다 ... 출근하면서 덤프풀고.. 출근하고 퇴근해서 운동하고... 집와서 다시 공부하고 주말에도 공부하고,, 쳇바퀴를 돌아버렸다) 어떻게 공부했나?1. 유데미 강의 - 기초 다지기처음엔 AWS가 뭔지조차 몰라서 유데미 강의를 들었습니다. 그냥 따라가다 보면 어느 순간 "아~ 이런 느낌이구나" 하고 감이 옵니다. 실습을 꼭 .. 더보기 Effective java 정복기 6장 아이템_35 ordinal 메서드 대신 인스턴스 필드를 사용하라 나쁜예시public enum Rank { FIRST, SECOND, THIRD; public static Rank fromOrdinal(int ordinal) { for (Rank rank : values()) { if (rank.ordinal() == ordinal) { return rank; } } throw new IllegalArgumentException("Invalid ordinal: " + ordinal); }}public class Main { public static void main(String[] .. 더보기 Effective java 정복기 5장 아이템_26 로 타입은 사용하지 말자 제네릭 클래스,제네릭 인터페이스- 클래스, 인터페이스 선언에 타입 매개변수가 쓰일 경우 public class Book { private T t; public T get() { return t; } public void set(T t) { this.t = t; }}로타입(raw type)- 제네릭 타입에서 타입 매개변수를 전혀 사용하지 않았을 경우ex) List에서 로타입은 List이다 즉, 정리하자면 로 타입을 사용하는 것을 자바 언어 차원에서 막아 놓지는 않았지만 사용하지 않는 것을 권장하며 그 이유는 앞선 코드에서 보았듯이 로 타입 사용시 제네릭이 안겨주는 안정성과 표현력을 모두 잃게 되기 때문으로 정리할 수 있.. 더보기 이전 1 2 3 4 ··· 36 다음