본문 바로가기

SMALL

분류 전체보기

(53)
🔥전자렌지에 금속을 넣으면 왜 불꽃이 튈까?🔥 오늘부터 알쓸신잡이라는 카테고리를 하나 만들어봤다. (※ 물론 지식이 대단한 건 아니지만, 문득 떠오르는 궁금증은 꼭 풀고 싶어지는 성격이라...) 일상생활 하다 보면 가끔 "어? 이거 왜 이러지?" 싶은 순간이 생기는데, 그럴 때마다 그냥 넘기지 말고 하나씩 정리해서 기록해보자는 취지다. 첫 타자는, 다들 한 번쯤은 들어봤을 그 얘기 "전자렌지에 금속 넣으면 왜 불꽃이 튈까?" 다. 그 이유는 와이프와 함께 요리를 하다가 이거 금속 재질인데 넣으면 안되지 않을까? 라고 자연스럽게 말하는 우리를 보고 근데 이유가 뭘까?라는 생각이 들었기 때문이다. 📚 전자렌지의 원리는 뭐냐면?전자렌지는 마이크로파라는 전자기파를 이용해서 물 분자(※난 물을 활용한다는 것도 이글을 쓰면 알게되었다.. )를 흔들어댄다. 물..
C++ LoadLibrary Null 반환 문제 포스팅 계기 이번 글은 내가 정말 고생해서 해결한 LoadLibrary 관련 오류를 기록해 두고자 작성하게 되었다. 어느 날 평소처럼 LoadLibrary(_T("특정. dll"))을 호출했는데, 특정 PC에서만 NULL을 반환하는 문제가 발생했다. GetLastError()로 확인해 보니 193 (ERROR_BAD_EXE_FORMAT)이라는 낯선 값이 나왔고, 처음엔 단순히 비트 수 불일치 문제인가 했지만… 디버깅은 생각보다 훨씬 깊고 길었다. 혹시 이 글을 보고 계신 분도 비슷한 상황이라면, 제 경험이 힌트가 되기를 바란다. ( 이 글을 읽고 나처럼 많은 시간을 투자하지 않고 해결할 수 있기를 바란다.) LoadLibrary가 NULL을 반환하는 주요 케이스LoadLibrary()는 DLL을 로딩할 ..
C++ 개발자의 반성 포스팅 계기 개발을 하다 보면 문득 이런 생각이 들 때가 있다. “C++만 잘하면 충분하지 않을까?” 얼마전 까지 나의 생각은 그랬다. 성능, 메모리, 하드웨어 자원까지 고려해야 하는 임베디드 환경에서 C++을 파고들며, 다른 언어에 눈을 돌릴 필요가 없다고 생각했다. 하지만 시간이 흐르고 다양한 프로젝트를 경험하면서, 언어보다 더 본질적인 것이 있다는 걸 깨닫게 되었다. 그 이야기를 오늘 풀어보고자 한다. 언어보다 중요한 것은 '분야에 대한 이해'C++은 정말 강력한 언어다. 하지만 개발자는 단순히 언어를 다루는 사람이 아니다. 진짜 중요한 건 ‘무엇을 개발하느냐’에 대한 이해다. 아래 예시 사례는 내가 경험했던 분야와 주변에 있는 개발자 친구들에게 조언을 얻어 작성하였다.EX 1) 자동차 내비게이션..
프로그래머스 - 대장균의 크기에 따라 분류하기 2 2025.02.11 - [분류 전체 보기] - 프로그래머스 - 부모의 형질을 모두 가지는 대장균 찾기 에 이어 대장균 시리즈 Level3인 대장균의 크기에 따라 분류하기 2 문제를 가지고 왔다. 해당 문제를 풀기 전에 사전 지식이 있으면 좋을 것 같다. 바로 WITH 절과 NTITLE 함수다. 그래서 해당 포스팅을 쓰기 전에 WITH 절과 NTITLE 함수를 설명하기 위해 포스팅을 하나 했는데 참고하면 좋을 것 같다.※ 2025.02.12 - [DB] - WITH 절과 NTILE 함수로 SQL 분위(Percentile) 분석하기 알고리즘 난이도 및 시간 ( ※ 개인적인 의견 )난이도 : Level 4( ※ Min : 0, Max : 10 )풀이 시간 : 5분제출 횟수 : 1번 풀이 결과 : Pass문..
✔ SW 아키텍트란 무엇인가? 소프트웨어 개발을 하다 보면, '이 프로젝트의 전체 구조를 설계하는 사람은 누구일까?'라는 생각이 들 때가 있다. 바로 그 역할을 맡는 사람이 소프트웨어 아키텍트(SW Architect) 🏗️ 다.  단순히 코드를 작성하는 개발자가 아니라, 시스템이 어떻게 돌아가야 하는지 큰 그림을 그리고 최적의 기술적 결정을 내리는 사람이다.사실 나도 대학교 때부터 SW 아키텍트라는 역할을 하고 싶었다. 하지만 당시에는 실무 경험이 부족했고, 결국 개발자로 먼저 커리어를 시작했다. 내가 직접 개발을 경험하면 나중에 설계할 때 더 도움이 될 거라 생각했기 때문이다. 그리고 이제는 실무 경험도 쌓였고, 시스템을 바라보는 시야도 넓어졌다. 개발뿐만 아니라 설계까지 고려하며 아키텍처를 고민할 수 있는 역량을 갖추게 되었다고..
성공적인 리더가 갖춰야 할 8가지 핵심 역량 왜 리더의 역량이 중요한가? 어떤 조직에서든 리더의 역량은 팀의 성과와 분위기에 결정적인 영향을 미친다. 좋은 리더는 단순히 지시하는 사람이 아니라, 팀원들과 함께 성장하며 목표를 달성할 수 있도록 돕는 사람이다. 그렇다면 진정한 리더가 되기 위해서는 어떤 역량을 갖춰야 할까?  성공적인 리더가 갖춰야 할 8가지 역량1) 팀원의 입장에서 생각하는 태도 리더는 팀원들이 겪는 어려움을 이해하고 공감하는 능력이 필요하다. 자신의 관점에서만 바라보는 것이 아니라, 팀원들의 입장에서 고민하고 해결책을 제시할 수 있어야 한다. 이러한 태도가 팀원들에게 신뢰를 주고, 더욱 적극적으로 일할 수 있도록 돕는다.2) 팀원이 고충이 있을 때 직접 참여해보기 책상 앞에서 지시만 하는 것이 아니라, 팀원이 어려움을 겪고 있는 ..
CAPM 자격증 완벽 가이드: 비용부터 준비 방법까지 왜 PM 자격증이 필요할까? 개발자로 시작한 많은 사람들이 경력이 쌓이면서 프로젝트를 관리하고 팀을 이끄는 역할을 맡게 된다. ( 최근에 내가 PM 관련 정보에 관심이 많은 이유다.) 자연스럽게 프로젝트 관리(PM)에 대한 관심이 증가하며, 기술적인 역할에서 관리적인 역할로 전환하는 고민을 하게 된다. 하지만 단순히 경험만으로는 효과적인 PM이 되기 어렵기 때문에, 체계적인 프로젝트 관리 지식을 습득하고 이를 공식적으로 인증받는 것이 중요하다. 프로젝트 매니저(Project Manager, PM)는 팀을 이끌고 프로젝트를 성공적으로 수행하는 역할을 맡는다. 하지만 처음부터 PM 역할을 수행하기는 쉽지 않다. 따라서 PM 관련 지식과 역량을 검증할 수 있는 자격증이 중요하며, 이를 통해 경력 전환이나 성장..
실무에서 경험한 C++ 멀티스레딩과 스마트 포인터 문제 및 해결 방법 포스팅 계기 C++에서 멀티스레딩을 구현할 때, 스마트 포인터를 활용하면 자원 관리가 편리해질 것 같지만, 오히려 더 복잡한 문제를 초래할 수도 있다. 특히, 직접 스마트 포인터를 구현해서 사용하면서 데드락(Deadlock), 레이스 컨디션(Race Condition), Dangling Reference, Reference Count 문제, 성능 이슈 등을 모두 경험하면서 많은 시행착오를 겪었다. 이 글에서는 직접 스마트 포인터를 구현하면서 발생한 문제와 해결 방법을 공유하고, 실무에서 멀티스레딩을 안전하게 구현하는 팁을 정리해 보겠다. 직접 스마트 포인터를 구현한 이유 일반적으로 std::shared_ptr이나 std::unique_ptr을 사용하면 안전한 메모리 관리를 할 수 있다. 하지만 특정한 환..

LIST