클래스 의존성과 연관 관계 (다이어그램으로 표현하기)
개발자들은 의존성, 연관 관계에 대한 이야기를 흔하게 들을 수 있습니다. 저는 이 용어에 익숙하지 않을 때 많이 헷갈렸던 것 같습니다. 여러 가지 관계에 대해 다이어그램으로 표현하는 방법이 다양해서 혼란스러웠는데요. 저와 같은 경험을 하시는 분들이 계실 것 같아서 클래스의 다양한 관계들…
개발자들은 의존성, 연관 관계에 대한 이야기를 흔하게 들을 수 있습니다. 저는 이 용어에 익숙하지 않을 때 많이 헷갈렸던 것 같습니다. 여러 가지 관계에 대해 다이어그램으로 표현하는 방법이 다양해서 혼란스러웠는데요. 저와 같은 경험을 하시는 분들이 계실 것 같아서 클래스의 다양한 관계들…
여러분은 다른 사람이 작성한 복잡한 쿼리를 분석하느라 고생한 경험이 있으신가요? 저는 암호라고 해도 될 정도로 복잡한 쿼리를 만나서 매우 당황했던 기억이 있습니다. 하나의 쿼리가 다양한 일을 하고, 심지어 불필요한 작업들을 포함하기도 합니다. 쿼리를 몇 번이고 반복해서 읽으며 정확히 분석하지 않으면…
Junit 테스트에 대해서 알고 있는 java 개발자 분들이 많을 것이다. 개발자들 사이에서 단위 테스트(Unit Test)가 중요하다는 말을 쉽게 들을 수 있다. Java 개발자가 JUnit 테스트의 첫 발을 뗄 수 있도록 돕기 위해 이 글을 작성했다. 시작이 반이다. 일단 시도해보길 권한다….
재귀함수를 이해하는 과정은 험난하지만 개발자로서 실력을 한 단계 높이기 위해 반드시 거쳐야 할 관문 중 하나다. 필자는 재귀 함수를 이해하는 데 꽤 긴 시간이 걸렸다. 그 과정에서 알게 된 세 가지 규칙을 공유한다. 재귀함수 예제를 활용해 쉽게 이해할 수 있도록…
프로그래머스 1835. 단체사진 찍기 프로그래머스 1835. 단체사진 찍기 문제를 풀면서 얻어갈 수 있는 것들이 무엇이 있는지 살펴보고 뜯어 먹어보자. 이 문제는 완전 탐색으로 모든 케이스를 확인하면 시간 내에 정답을 구할 수 있는 문제이다. 재귀 함수와 완전 탐색에 대한 이해가 필수적이다….
HashMap은 Key, Value의 쌍으로 데이터를 관리할 수 있는 자료 구조이다. 순서를 보장하지 않으며, Key의 중복을 허용하지 않는다. HashMap의 Hash는 자료를 조회하는 방법과 관련이 있고 Map은 자료의 특성과 관련이 있다. 자바(java)에서 자주 사용되는 Collection 중 하나다. 필자는 객체가 이미 존재하는 경우에…
프로그래머스 92334. 신고 결과 받기 신고 결과 받기 문제를 풀면서 얻어갈 수 있는 것들이 무엇이 있는지 살펴보고 뜯어 먹어보자. 간단한 문제이지만 다양한 상황에 쓰일 수 있는 유용한 기본 스킬들을 배울 수 있다. 얻어 가야 하는 것 요즘 파이썬을 공부하면서 파이썬으로…
프로그래머스 42888. 오픈채팅방 오픈채팅방 문제를 풀면서 얻어갈 수 있는 것들이 무엇이 있는지 살펴보고 뜯어먹어보자. 얻어 가야 하는 것 자료구조 HashMap 특정 값을 찾기 위해 저장된 데이터를 모두 순회하기에는 데이터가 너무 많을 경우에 Map을 사용할 수 있다.(모두 순회하면 O(N), HashMap 조회는…
동기 비동기 차이점을 이해하기까지 험난했던 과정을 공유하기 위해 이 글을 작성했다. 이 글을 참고하여 내가 겪었던 시행착오를 여러분들은 겪지 않기를 바란다. 🙏 비동기와의 첫 만남 Java, C++을 사용하다가 자바스크립트를 처음 사용해봤을 때 강렬한 경험을 했다. 분명히 함수를 호출하고 나면 결과를…
JavaScript sleep 함수 JavaScript 코드를 작성하다 보면 잠깐 동안 아무 것도 하지 않고 기다리는 sleep 함수가 필요한 경우가 있습니다. JavaScript에는 sleep 함수가 없죠. 그래서 아무것도 몰랐던 저는 sleep과 비슷한 setTimeout 함수를 사용해 테스트 해봤습니다. setTimeout 사용 (실패) [예상 출력 결과]…