전체 글

개발 관련된 글을 포스팅할 예정입니다.
·백엔드
최근 면접에서 ORM을 사용해서 N+1 문제가 발생하면 ORM을 쓰지 않으면 되는거 아니냐 라는 질문을 받았다.당시 나는 ORM기술을 적용하면 간편하다고만 알았지 구체적으로 어떤 장단점이 있는지는 알지 못했다. 그래서 이번에는 ORM기술을 사용하는 이유와 장단점에 대해 알아보려고 한다. ORM이란? ORM (Object-Relational Mapping)은 객체 지향 프로그래밍 언어의 객체와 관계형 데이터베이스(RDB)의 테이블을 자동으로 연결(매핑)하여, 마치 객체처럼 데이터베이스를 다룰 수 있게 해주는 기술입니다. 즉, 개발자가 복잡한 SQL 쿼리를 직접 작성하지 않고도 객체 지향적인 코드로 데이터베이스를 조작할 수 있도록 도와줍니다. 그렇기 때문에 ORM은 사용하면 다음과 같은 장점이 있다. OR..
·백엔드
N+1 문제는 주로 JPA를 사용해서 쿼리를 조회할 때 조회하는 객체랑 연관관계가 있는 데이터를 조회할 때 N+1개의 쿼리가 발생해 N+1문제라 한다.N+1 문제는 데이터베이스와 ORM(Object-Relational Mapping)을 사용할 때 자주 발생하는 성능 문제입니다. 주로 연관 관계가 있는 데이터를 조회할 때, 불필요하게 많은 SQL 쿼리가 실행되는 상황을 의미합니다. 이를 예시와 함께 자세히 설명하겠습니다. N+1 문제란?N: 연관된 엔티티의 개수.+1: 부모 엔티티를 조회하기 위한 최초의 쿼리.즉, 부모 엔티티를 조회한 뒤, 연관된 자식 엔티티를 개별적으로 조회하기 위해 N번의 추가 쿼리가 발생하는 문제입니다.주로 ORM 프레임워크(예: Hibernate, JPA, Django ORM 등)..
·백엔드
이번 글은 협업플랫폼 개발 프로젝트에서 Kafka를 적용하기까지 공부한 내용과 과정을 담을 예정이다.Kafka(카프카)란?Apache Kafka는 실시간으로 기록 스트림을 게시, 구독, 저장 및 처리할 수 있는 분산 데이터 스트리밍 플랫폼입니다. 기록 스트림은 데이터 스트림을 기반으로 한 데이터를 저장하거나 처리하는 것을 의미합니다. 데이터 스트림(data stream)은 데이터가 지속적으로 생성되고, 시간에 따라 값이 변하는 데이터의 흐름을 의미합니다. 기본 개념Kafka는 발행-구독(pub-sub) 메시징 시스템을 기반으로 하며, 데이터 스트림을 처리하는 분산 플랫폼입니다. LinkedIn에서 개발되었으며, 현재는 Apache 소프트웨어 재단에서 관리하고 있습니다. 주요 특징1. 고성능: 초당 수백만..
면접 전날 6시에 코테가 끝나구 그때부터 면접 준비를 하기 시작했다.면접 준비 나는 24시 카페에 가서 새벽 3시까지 면접 준비를 했다. 오전 9시 면접이지만 좀 졸리더라도 면접 준비가 먼저지우선 잡플래닛 면접 리뷰를 찾아 봤다. 흠 기술 질문이 많이 나온단다.그래서 내가 자소서에 쓴 기술들과 프로젝트에 사용한 기술들을 다시 한번 보면서 개념 정리와 어디에 사용했는지 정리하기 시작했다.(결과적으로 기술질문 준비는 면접에 큰 도움이 안되었다. 인성 질문 위주로 나왔기 때문) 그렇게 기술 질문 정리가 끝나고 간단한 인정질문 정리 후 잠을 자고 오전에 면접으로 보러갔다. 복장 복장 관련한 주의사항은 없었기 때문에 무난한 정장을 입고 갔다.위치  엔코아는 5호선 공덕역과 애오개역 사이에 있어서 위치가 장점이다...
·취준
수료하고 두달하고 일주일 정도 더 지나고 한화시스템 beyond sw캠프 디스코드에 엔코아 연계 공고가 올라왔다.이미 이전에도 연계 공고가 두번 떳었는데 둘다 서류에서 떨어졌다..이번이 3번째 공고이고 나는 이번에도 지원을 했다.지원서 양식 지원서는 매니저님이 이력서 양식을 주시고 거기에 맞춰 나의 경험을 적으면 된다.일반 이력서와 비슷하게 핵심역량/강점, 플젝 경험, 기술 스택, 자소서 문항 등이 있다.나는 이력서 첫번째 페이지에 있는 핵심역량/강점에서 내 자소서를 보는 사람의 관심을 끄려고 노력했고, 5번 정도의 수정을 거쳐서 가독성 좋게 나의 강점을 어필하려고 했다. 진짜 뒤의 자소서 내용보다 나의 강점 3개를 위해 더 많은 시간을 쏟았던거 같다(같은 말이라도 표현을 더 확 이끌리게 하려고 노력함 ..
캠프를 수료한지 어느덧 3달 가까워지고 있는데 그동안 취준에 시간을 많이 들였지만 아직 취직에 성공하진 못했다.이전 포스팅에서는 수강하길 잘했다 했는데 아직까지 취직하지 못한것을 보면 의아할 수도 있다. 이번 글은 부캠 수강 후기와 그동안 내가 느낀 점들이 될 것이다. 부트캠프 위치 6개월 동안 신대방 삼거리에 있는 엔코아 플레이데이터에서 오프라인으로 수업을 들었다. 집에서 door to door 약 50분 정도 걸려서 막 멀지 않은 거리다. 출퇴근 시간에 지하철을 타며 나도 나름 열심히 살고 있는 느낌도 얻을 수 있다. 점심 주변에 음식점이랑 맛집들이 꽤 있어 동기들이랑 나가서 먹거나 역과 부캠 사이에 할인마트가 있는데 거기서 컵밥이나 빵같은 종류를 사서 부캠에서 먹어도 된다. 나는 초반에는 나가서 먹..
24년 4월 한창 취업을 준비하던 시기에 인스타 광고로 한화시스템 부트캠프 내용을 봤다.원래는 프론트엔드 개발 관련한 경험 밖에 없었지만 백엔드 개발을 해보고 싶다는 생각은 항상 마음 속에 있었기 때문에 지원을 하게 되었다. 홍보 페이지는 위와 같다.현재 모집은 끝난거 같지만 만약 지원할 사람은 다음 기수에 지원하면 될거 같다. STEP. 1 지원서 제출 지원서 제출은 자기소개서를 쓰는게 아닌 간단한 정보만 입력 후 지원만 하면 되서 어렵지 않았다. (다른 부트캠프와 달리 자소서 검토, 코딩테스트 과정이 없어서 경쟁률이 낮을거라고 생각했다) 지원서를 작성하고 바로 다음날 인터뷰 일정 조율 관련 연락이 왔다.  STEP. 2온라인 인터뷰 나는 딱히 인터뷰 준비를 하지 않았다. 면접이 아닌 인터뷰라 써있어서..
벨로그 글 티스토리로 이전합니다https://velog.io/@panda-sh/%ED%95%9C%ED%99%94%EC%8B%9C%EC%8A%A4%ED%85%9C-BEYOND-SW-CAMP-4%EC%A3%BC%EC%B0%A8-%ED%9A%8C%EA%B3%A0 누적합(구간합) 알고리즘이란? 합 배열을 이용하여 시간" data-og-host="velog.io" data-og-source-url="https://velog.io/@panda-sh/%ED%95%9C%ED%99%94%EC%8B%9C%EC%8A%A4%ED%85%9C-BEYOND-SW-CAMP-4%EC%A3%BC%EC%B0%A8-%ED%9A%8C%EA%B3%A0" data-og-url="https://velog.io/@panda-sh/한화시스템-BEYO..
·프론트엔드
벨로그 글 티스토리로 이전합니다https://velog.io/@panda-sh/Fitnee-map-%EB%A0%8C%EB%8D%94%EB%A7%81-%EC%95%88%EB%90%98%EB%8A%94-%EB%AC%B8%EC%A0%9C [Fitnee] - map 렌더링 안되는 문제오래만에 피트니 리팩토링 하던 중 map 으로 exercises를 순회해서 보여주려는데Card 컴포넌트가 렌더링 되지 않는다..알고보니 습관적으로 중괄호를 썻던것이 문제였다중괄호를 쓰면 return을 생략velog.io
·프론트엔드
벨로그 글 티스토리로 이전 합니다 https://velog.io/@panda-sh/Fitnee-%EA%B2%BD%EB%A1%9C-%EC%98%A4%EB%A5%98 [Fitnee] - 경로 오류피트니 리팩토링을 시작하려고 git clone 을 하고 expo를 실행하던 중 다음과 같은 오류가 발생했다..!Unable to resolve "@/pages/home/Home" from "src/navigators/HomeNav.tsx"프로젝트에서 @/pages/hovelog.io
말감78
코딩 감자 일지