
2026-03-09 js 개념 2대 구성 구조 변수 (variable): 변하는 수 값 (Data) 숫자 문장 논리 객체 함수 2대 제어 요소 조건문: if, else if, else 반복문: while, for

문서 객체 모델자바스크립트에서 HTML을 접근할 수 있는에어컨 리모컨이라고 생각하면 됨UI가 부드럽게 바뀌는 것처럼 느껴짐프론트엔드 생태계가 생성alert 함수: 창이 뜨게 하는 것variable (변수) : 지역 변수임에도 불구하고, 밖에서 접근 가능한 버그 발생

리액트로 모달(Modal)이나 툴팁(Tooltip)을 만들다 보면, 분명 z-index를 9999로 줬는데도 배경 뒤로 숨거나 부모 박스 안에서 잘려 보이는 현상을 겪을 수 있다 이때 필요한 것이 바로 createPortal이다

기존 방식에서는 각 클래스가 필요한 객체를 내부에서 직접 만들었음. Scanner나 Service가 필요할 때마다 new를 남발하니 관리가 안 됨.문제점: 객체들이 파편화되어 제어가 힘들고, 특히 테스트할 때 외부에서 입력을 넣어줄 방법이 없음.이 문제를 해결하기 위해

보통 공통 함수를 모아두는 Util 클래스를 만들다 보면 온갖 메서드가 다 섞이게 됨. 파일 처리, JSON 변환, 날짜 계산 등이 한곳에 때려 박히는 상황이 발생함.가독성 저하: Util.toString()이라고 하면 이게 JSON으로 바꾼다는 건지, 단순히 객체를

1. 왜 바로 JSON으로 못 바꿀까? 예를 들어, 아래 코드에서 볼 수 있듯이 WiseSaying 같은 커스텀 객체는 자바만 이해하는 복잡한 구조임. 하지만 JSON은 단순한 문자열 데이터임. Util.json.toString() 메서드는 모든 객체의 내부 구조를

1. 강한 결합의 문제점 처음 코드를 짤 때는 ArticleController가 사용자 요청 받고, 검증하고, 리스트에 저장하고, HTML 응답까지 혼자서 처리했음. 문제점: 요구사항이 하나만 바뀌어도 컨트롤러의 코드를 다 뒤져야 함. 클래스 하나가 너무 많은 걸 처

프로젝트 실행 중 갑자기 NullPointerException이 발생했음. 로그를 따라가 보니 ArticleController 내부의 articleService가 비어 있다는 오류 메시지를 확인함. 분명 Container에 객체를 등록해 두었는데 무엇이 문제였을까.문제

메인 쿼리의 값을 서브쿼리에 전달해서 한 행씩 비교하는 방식임.동작 방식: 직원 한 명 한 명한테 물어보기홍길동(1번 부서) 차례: "1번 부서 최고 연봉 얼마야?" -> "6000" -> "나는 5000만원이니까 탈락"홍길순(1번 부서) 차례: "1번 부서 최고 연봉

@Controller는 해당 클래스가 Spring의 IoC 컨테이너에 의해 관리되는 '빈'임을 선언함과 동시에, DispatcherServlet이 찾을 수 있는 '핸들러' 객체로 등록하는 역할을 수행함.동작 원리: 스프링 부트 실행 시 컴포넌트 스캔(Component

1. 영속성 전이(Cascade)의 정의 영속성 전이는 특정 엔티티를 영속화할 때 연관된 엔티티도 함께 영속화되도록 강제하는 설정임. 이는 데이터베이스의 참조 무결성과는 별개의 개념으로, JPA의 영속성 컨텍스트(Persistence Context) 관리 관점에서 이

스프링과 JPA를 사용할 때 가장 중요한 전제는 DB 커넥션은 한정된 자원이라는 점임. 별도의 설정이 없다면 스프링은 Repository 메서드 단위로 세션을 관리함. 즉, 데이터 조회가 끝나면 즉시 커넥션을 반납하여 다른 요청이 사용할 수 있도록 함.기본 동작 방식:

MemberService 내부에서 Repository를 직접 new로 생성하면, 테스트 클래스에서 만든 Repository와 서비스 내부의 Repository는 이름만 같을 뿐 완전히 다른 메모리 주소를 가진 객체가 됨.현상: 테스트 코드에서는 memberReposit

문제원인해결문제원인해결문제원인해결전 (RestClient 방식)후 (Spring AI ChatClient 방식)Before/After 비교문제원인해결문제원인해결문제원인해결

도커 컨테이너는 기본적으로 백그라운드에서 혼자 실행됨. 컨테이너 내부 터미널로 진입하여 직접 조작하고 싶을 때 -it 옵션을 사용함.\-i (Interactive): 사용자의 키보드 입력을 컨테이너 표준 입력(stdin)으로 전달함.\-t (TTY): 가상 터미널을 할
"Wedge는 AI로 프리랜서의 첫인상을 만들고, 예비부부의 첫 질문에 답한다. 소개글 AI 생성(A)과 견적서 챗봇(B)은 독립된 기능이 아니라 하나의 매칭 플로우입니다." ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 최종 요약
찜 목록 조회에서 N+1 문제 발생 — fetch join 누락 > Wedge 프로젝트에서 찜(북마크) 목록 조회 API를 개발하던 중 N+1 문제가 발생했다. > 한 번 잡았다고 생각했는데, categoryId 필드를 추가하는 과정에서 같은 문제가 다시 터졌다. >
네! 위 형식으로 3개 이슈 다시 작성해드릴게요.FE 챗봇 → 프리랜서 탐색 페이지 카테고리 연동웨딩 견적 챗봇에서 선택한 서비스가 프리랜서 탐색 페이지의 카테고리 필터로 자연스럽게 연결되도록 한다.현재는 챗봇 결과의 "프리랜서 탐색하기" 버튼이 가격 파라미터만 넘기고