분류 전체보기 썸네일형 리스트형 부동소수점의 함정과 해결법 자바 개발자가 알아야 할 부동소수점의 함정과 해결법1. 부동소수점이란 무엇인가요?컴퓨터는 숫자를 2진수로 저장합니다. 정수는 비교적 정확하게 표현되지만, 실수(예: 0.1, 1.5 등)는 부동소수점(Floating Point) 형식으로 저장됩니다. 자바는 IEEE 754 표준을 따르며 float(32비트), double(64비트) 두 가지 형식을 사용합니다.하지만 이 방식은 모든 실수를 정확히 표현하지 못합니다. 오차가 생길 수밖에 없으며, 이 오차는 때로 예상치 못한 버그로 이어질 수 있습니다.2. 왜 0.1 + 0.2는 0.3이 아닌가요? System.out.println(0.1 + 0.2); // 출력: 0.30000000000000004우리가 기대하는 0.3과는 조금 다른 값이 출력됩니다. 그 이.. 더보기 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[] .. 더보기 이전 1 2 3 4 ··· 36 다음