본문 바로가기
반응형

전체글589

가장 좋아하진 않는 프로그래밍 요즘 받아 보는 고민 중에 "가장 좋아하는 일이 프로그래밍이 아니다는 것을 인정하기 힘들다"는 것이 있다. 예를 들면 이런 것인데, 본인은 시간이 날때마다 그림을 그리는데 그 시간이 너무 재밌다는 것이다. 그래서 그림 그리러 가는 시간이 항상 기다려지고 빨리 퇴근하고 싶은 생각을 계속 한다는 것이다. 그래서 주변에서는 프로그래밍보다 그림 그리는 것을 더 좋아하는 것 같다고 농담으로 이야기하는데, 자긴 그걸 인정할 수 없다는 것이다. 근데 나는 아무리 고민을 들어봐도 프로그래밍 보다 그림을 그리는 것을 더 좋아한다고 느꼈다. 그리고 그게 왜 문제지? 라는 생각을 했다. 좀 더 고민을 들어보니 프로그래머로서 프로그래밍보다 더 좋아하는게 있어선 안된다고 믿고 있던 것이였다. 커리어 초반에 같은 팀에 있던 사수.. 2023. 10. 9.
Eclipse Mat 메모리 할당 크기 조정 (Mac OS) Heap Dump를 분석하기 위해 Eclipse mat를 종종 사용한다. 너무 큰 덤프 파일을 불러오면 다음과 같이 OOM 이슈가 발생한다. An internal error occurred during: "Parsing heap dump" Out of Memory mat 에 할당된 메모리를 높여야만 대용량의 덤프 파일을 불러 올 수가 있다. 이를 위한 설정은 다음과 같다. 설정 모든 설정은 MAC OS를 기준으로 한다. mat 설정은 /Applications/mat.app/Contents/Eclipse/MemoryAnalyzer.ini 위치에 존재한다. 그래서 필요한 에디터로 (여기서는 vi) 해당 파일을 열어서 vim /Applications/mat.app/Contents/Eclipse/MemoryAn.. 2023. 10. 8.
Hibernate Fetch Join시 메모리에서 페이징 처리 사전 차단하기 Hibernate (Spring Data JPA) 를 사용하다보면 종종 HHH000104: firstResult/maxResults specified with collection fetch; applying in memory! 의 WARN (경고) 로그 메세지를 만난다. 해당 로그는 페이징 처리할때 여러 엔티티를 Fetch Join 을 하면 발생한다. Fetch Join은 N+1 문제를 해결하는 가장 자주 사용되던 방식이다. 하지만, 경고 메시지에서 언급했듯이 페이징 처리시에 사용할 경우 페이징이 전혀 적용되지 않고, 조건에 해당하는 모든 데이터를 가져와 메모리에 올려두고 사용한다. 조건에 해당 하는 데이터 전체를 가져오기 때문에 당연히 성능 상 이슈가 되며, 이를 메모리에 올려두고 페이징을 처리하니 이.. 2023. 10. 2.
2023 인프콘 회고 올해 2월부터 준비한 인프콘이 2023.08.15 에 성황리에 마무리 되었다. 인프콘의 모든 발표는 인프런에 무료로 공유되어 있다. 회고 써야지 써야지 하다가, 이제야 쓴다. 인프콘 컨퍼런스 운영에 대해서는 관여를 하지 않았다. TF 멤버분들이 100% 진행해주셔서 감사할 따름이다. 그래서 인프콘을 어떻게 준비했는지 그 과정이 궁금하신 분들은 아래 회고들을 참고해보면 좋다. 인프콘 2023 현장 스케치 인프콘 TF 회고 인프콘 TF 리드 - 앨리스의 회고 이번 후기는 인프콘 사이트 개발과 개인 발표자로서의 회고이다. 인프콘 사이트 준비 작년 인프콘 준비 기간 동안 개발 리소스가 거의 없어서, 공식 사이트 개발을 DevOps와 디자이너 두명이서 워드프레스로 테마 골라서 만들자로 결론내고 진행했었다. 그리고.. 2023. 9. 17.
소설에 몰입하기 고민 상담을 하다보면 자존감에 대한 고민을 많이 듣는다. 타인과의 비교 타인의 비난, 시기, 질투 내가 어쩔 수 없는 상황에 대한 불안감 등등 부정적인 감정을 만나게 될 때가 많다. 이런 부정적인 감정, 태도, 상황에서 어떻게 자존감을 지킬 수 있냐는 고민과 함께 나는 그 감정과 그 상황을 어떻게 잘 넘기는지에 대한 질문이 이어졌다. 부정적인 기분을 잘 처리하는 사람인가? 하는 생각이 드는 것과 별개로 남들이 보기에 그랬다면 어떻게 그랬을까? 곰곰히 생각해봤다. 그러다가 도둑맞은 집중력의 내용을 보고 답을 찾을 수 있었다. 우리는 소설을 읽을 때 다른 사람의 머릿속에 있는 경험에 푹 빠져든다. 사회적 상황을 그려보고, 깊고 복잡하게 타인과 그들의 경험을 상상한다. … 키스 오틀리 교수는 소설을 많이 읽으.. 2023. 9. 10.
좋은 예외(Exception) 처리 좋은 예외 처리는 견고한 프로그램을 만들고, 좋은 사용자 경험을 줄 수 있다. 예외 처리를 통해 애플리케이션이 예기치 않게 종료되는 것을 방지하고, 갑작스런 종료 대신 사용자는 무엇이 잘못되었는지, 그리고 가능하다면 어떻게 바로잡을 수 있는지에 대한 의미 있는 오류 메시지를 받을 수 있다. 뿐만 아니라 좋은 예외처리는 개발자가 문제를 진단하는 데 큰 도움이 되어 이로 인해 문제 해결 시간이 단축된다. 특히, 복잡한 시스템에서 여러 단계의 프로세스가 있는 경우 예외는 프로세스의 위치에 따라 다르게 처리되어 적절한 예외 처리는 이러한 프로그램의 프로세스를 관리하는 데 유연성을 제공한다. 반면, 이를 위해 과도하게 사용하면 메인 비즈니스 로직이 무엇인지 파악하기 힘들 정도로 너무 많은 오류 처리를 가지고 있는.. 2023. 9. 5.

728x90
반응형