목록전체 글 (174)
The Debugging Chronicles : "코드의 미학"
비동기로 넘어온 데이터가 없는데 불구하고 스크롤이 멈추지 않고 계속 스크롤이 작동되었다.데이터가 마지막이거나 없는 경우를 인지하고 스크롤 이벤트를 제거할 수 있도록 하였다. 해결방안let isLastPage = false; // 마지막 페이지 여부를 나타내는 플래그 전역변수로 마지막 페이지인지 확인하는 플래그를 추가한다. //마지막 페이지인지 체크if (data.length === 0) { console.log("마지막 페이지 인지 체크") isLastPage = true; window.removeEventListener('scroll', onScroll); // 스크롤 이벤트 리스너 제거} 비동기 실행가 실행되어 response 가 성공하였을 때 넘온 데이터의 사이즈를 체크하여플래그를..
JmxAdminException, ExecutionException 오류 발생 : 잘못된 아티팩트 설정으로 인하여 생긴 오류 오류원인 서칭IntelliJ에서 패싯을 잘못 설정하여 생긴 오류로 패싯 경로 제대로 설정 JMX란?JMX (Java Management Extensions) : Java 애플리케이션 관리, 모니터링 프레임워크애플리케이션의 상태를 모니터링, 리소스 관리, 성능 분석시 사용가능MBean(Monitoring Bean) 객체를 통해 시스템 상태를 추적,설정 변경 시 사용
일반 POJO파일로 만들면 된다. sql은 더 이상 xml로 빼서 더이상 필요없다. 더 줄여 보자 주의해야할 사항! content라는 문자열과 condition을 비교해야하기 때문에비교대상이 반드시 존재해야한다. 그래서 condition은 null 이 아니여야한다. return에는 mybatis를 사용하기로 했고 selectList가 필요하다 그 안에는 1. 어떤 SQL를 부를지2. 그때 어떤 파라미터 값을 부를지가들어가면 된다. 값을 넣어보자 네임스페이. id명이 들어가면 된다. mybatis 가 필요하다.mybatis도 template기반이다.주입을 해보자 selectOne, insert도 넣어보자. 여기서 insert는 output이 뭔지 확인하는 것이 중요!리턴 값이 int이다.근데 ..
**ORM 플러그인; DB 로직 파트를 자동화 시키려는 목적으로 설정을 추가함- 코드 모음집 == 플러그인- Object Relational Mapping- (객체 지향 프로그래밍) 관계형 데이터베이스 관리 시스템 - 객체 (DTO ,VO) 테이블,SQL 구문 및 그 결과"마이바티스" 라는 프레임워크를 이 프로젝트에 추가 시킨 상황이다.또 다른 일하는 주체를 들여왔기 때문에 마이바티스를 위한 설정 파일이 필요하다. "sql-map-config.xml" 이 추가 되어야한다 로직 자동화를 위해 추가한 것이다.추가해야하는 곳 위치! 설정 파일로 만들어야한다.applicationContext.xml 과 같은 라인에 있어야 한다.configuration 이라는 루트 엘리먼트 안에, 가장 최..
1. 자바코드가 짧아진다 >> 가독성이 좋아짐2. SQL구문을 전부 .xml로 분리해서 관리 >> 결합도가 낮아진다. >> 응집도 높아진다. >> 유지보수 용이해진다.3. SQL 구문에 변경사항이 발생했을 때에는 과거에는 .java가 변경 -> 재컴파일 지금은 .xml이 변경됨 -> 컴파일 XXX 이클립스에서 설치 IntelliJ 에서 설치따로 설치가 필요없고 pom.xml에 의존성 설정을 해주면 된다. org.mybatis mybatis 3.5.6 org.mybatis mybatis-spring 2.1.0
핵심기능, 핵심관점, 비즈니스 메서드, 서비스, CRUD 비즈니스 메서드는 애플리케이션의 핵심 비즈니스 로직을 수행하는 메서드를 의미한다. 비즈니스 메서드는 주로 서비스 계층(Service Layer)에 위치하며, 애플리케이션의 주요 기능을 구현한다.1. 데이터 계층과의 상호작용: 비즈니스 메서드는 데이터 계층(DAO 또는 Repository)을 통해 데이터베이스와 상호작용한다. 보통 서비스 계층에서 DAO 또는 Repository를 호출하여 데이터를 조회, 저장, 업데이트하는 작업을 처리한다.2. DTO를 통한 데이터 변환: 비즈니스 메서드는 클라이언트와 상호작용하기 위해 데이터를 특정 형식으로 변환하는 경우가 많다. 이때, 서비스 계층에서 DTO(Data Transfer Object)를 사용하여 ..
최종 프로젝트 마감일이 코앞으로 다가왔다. 프로젝트를 하다가 스프링에서 문제가 생겨서 이클립스를 지우고 다시 설치하는 것을 권유 받았다. 이럴 바에는 사용하기 힘든 이클립스를 사용하지 말고 인텔리제이를 사용해야겠다는 생각이 들었다.강사님께 여쭤보니 완전 강추 받아서 적극적인 신입으로 보일 겸 인텔리제이를 결제했다. 설치하고 설정을 알고 실행되기까지 오래 걸렸지만 프로젝트를 원할하게 돌리는 데까지 성공!조원들도 같이 결제해서 함께 인텔리제이로 갈아탔다. 그러면서 깃도 연결해서 사용하기로 결정! 카톡과 노션에서 코드 복붙하는 일은 이제 바이바이! 노션 관리를 하고있음 >> 이미 하고있으니까 이부분어필 노션관리 어필을 어떻게 할지 ---------------------------깃을 버전관리를 ..
create table image( imageid int primary key auto_increment, path varchar(10000) not null, bid int not null ); 사용할 image table과 데이터 필요! 이미지를 변경하거나 업로드하는 로직 추가 view에서 넘겨 줘야할 데이터 hidden으로 보내주고 있음 미리보기 preview.js 파일 board.jsp로 올 때 data만 보내는 것이 아니라 image의 path도 전달 해야하기 떄문에command 객체를 추가 이미지 업로드를 활요하는 DTO에 멤버변수로 MultipartFile타입을 추가!!스프링에서 제공해주고 있다. commons-fileupload commons-fileu..