목록TEAM PROJECT (9)
어리바리 신입 개발자의 얼렁뚱땅 개발 기록 ✨
학원 팀프로젝트에서 제이쿼리를 사용하다 보니 서버와 비동기 통신을 해야 할 때 ajax로만 데이터를 주고 받았다. 하지만 최근에는ajax 대신 fetch와 axios를 많이 쓴다고 한다. - fetch와 axios는 더 간결하고 직관적이다. - Promise 객체로 리턴해주기 때문에 데이터를 다루기 쉽다. - 자바스크립트의 async/await 구문과 잘 작동하여 코드를 더욱 읽기 쉽고 관리하기 쉽게 만든다. [ fetch와 axios의 차이점 ] [ fetch ] 자바스크립트의 기본 api이기 때문에 별도의 설치가 필요없다. 오래된 브라우저에서는 지원하지 않을 수 있다. (현재는 거의 지원한다고 한다.) json 데이터를 자바스크립트 객체로 변환하는 과정이 필요하다. (response.json()) 오..

[ Lombok - 롬복] 개발을 할 때 기계적으로 작성하는 코드들이 많다. 이런 코드들을 자동화해서 코드를 간략하게 만드는 Java 라이브러리다. DTO, Model, Entity의 Getter, Setter, toString, 의존성 주입 등을 대신하기 위해서 사용한다. 롬복은 코드를 작성할 때는 어노테이션을 사용해서 코드를 줄이고, 컴파일하는 과정에서 생략된 코드를 생성해 주는 방식으로 동작하는 라이브러리이기 때문에 코드의 가독성과 생선성은 높지만, 실제로 눈에 보이는 코드는 롬복과 관련된 어노테이션 뿐이기 때문에 코드에 대한 직관성이 떨어질 수 있다. [ 설치 방법 ] 1. File - Settings - Plugins - Lombok 검색해서 Install (IntelliJ 2020.03 이후 ..
[ DTO (Data Transfer Ojbect) ] DTO(Data Transfer Object) : 계층 간 데이터 전송을 위해 도메인 모델 대신 사용되는 객체( View Controller ) 도메인 모델 : 소프트웨어의 주요 비즈니스 로직과 관련된 데이터와 동작을 표현하는 객체나 개념들의 모음 오직 데이터를 저장하고, 데이터에 대한 getter, setter 용으로만 사용되어야 한다. 어떠한 비즈니스 로직을 가져서는 안된다. 비즈니스 로직(도메인 로직, 애플리케이션 로직) : 프로그램의 핵심 로직, 사용자의 눈에는 보이지 않지만 데이터가 생성, 저장, 수정되는 방법을 정의한 것 저장, 검색, 직렬화, 역직렬화와 관련된 로직만을 가져야 한다. 직렬화 : DTO를 Byte, Json, Xml 등의 ..

[ Google Java Style Guide ] 회사 혹은 팀 프로젝트를 진행할 때 다른 사람들과 함께 협업을 하게 된다. 이 때 각자 작업하되 통일된 코드 스타일을 적용할 필요가 있다. 자바스크립트를 사용했을 때는 Pritter라는 Code Formatter 플러그인을 사용했었다. 자바를 사용해서 코드를 작성하는 경우 빠르고 쉽게 통일된 코드 스타일을 적용하기 위해서 구글에서 정해둔 스타일 가이드를 활용할 수 있다. 구글 자바 스타일 가이드 링크 Google Java Style Guide 1 Introduction This document serves as the complete definition of Google's coding standards for source code in the Java™..

[ 조건 ] - 매일 자정 체크 - cup_return_limit_date 컬럼의 시간과 현재 날짜 비교 - return_status 컬럼의 값이 "N"인 행만 선택 (N = 반납하지 않은 상태 / Y = 반납 완료 / F = 연체) - 만약 컵 반납 예정일을 지났을 경우 return_status 컬럼의 값을 "F" 로 UPDATE 한다. // 이벤트 스케줄러 ON/OFF 상태 확인하기 SHOW VARIABLES LIKE 'event%'; // 이벤트 스케줄러 ON/OFF SET GLOBAL event_scheduler = ON; 이벤트 스케줄러를 ON/OFF 할 때 만약 이 에러가 발생한다면? ERROR 1227 (42000): Access denied; you need (at least one of)..

데이터 테이블은 부트스트랩에서 제공되는 테이블 중 하나이다. 이미 제이쿼리 파일 안에 데이터 정렬, 페이지네이션, 검색, 페이지개수 등 구현되어 있어서 잘 가져다 쓰기만 하면 된다. 나는 이걸 몰라서 프로젝트 내내 제이쿼리로 열심히 그리다가 거의 끝나갈 때 쯤 알게 됐다...! ㅎㅎㅎㅎㅎㅎㅎㅎㅎㅎ 아무튼 데이터 테이블을 써서 구현하면서 사용한 정보들을 정리해봤다. [ 1. 데이터 테이블의 옵션 ] - 테이블의 가로 길이 자동 설정 autoWidth : true - 화면에 한 번에 나타나는 데이터 행 개수를 선택하는 select box / 나는 별로 안 쓰고 싶어서 false로 해놨다. lengthChange : false - 화면에 한 번에 나타나는 데이터 행 개수 - lengthChange 안 쓰고 그..

Uncaught TypeError: Cannot read properties of undefined (reading 'style') at bt (jquery.dataTables.min.js:1:29409) at ot (jquery.dataTables.min.js:1:22201) at t (jquery.dataTables.min.js:1:45564) at HTMLTableElement. (jquery.dataTables.min.js:1:45651) at Function.each (jquery.min.js:1:2967) at S.fn.init.each (jquery.min.js:1:1453) at S.fn.init.Qt [as dataTable] (jquery.dataTables.min.js:1:40646)..

[ 1. 구현 ] - 스크립트단에서 테이블 태그 생성 후 데이터 받아와 동적으로 넣어주는 코드 필요 - 테이블 태그에 들어갈 태그의 텍스트 노드에 데이터베이스의 컬럼명을 바로 넣어주고자 함 for(let list of pointStandardList){ for(let arr in list){ const addTh = $(`${arr}`); $('thead').find('tr').append(addTh); } } // 조회 결과를 담은 리스트 변수 = pointStandardList // 리스트 변수에서 자바스크립트 for of와 for in을 통해 컬럼명을 담은 변수 = arr - 컬럼과 데이터의 순서를 정해서 테이블에 넣어주고 싶었음 (유효기간코드 / 유효기간 / 사용유무 / 최초등록일 / 관리자ID ..

Multiple markers at this line - The type java.lang.Object cannot be resolved. It is indirectly referenced from required .class files - The type java.lang.String cannot be resolved. It is indirectly referenced from required .class files 프로젝트 파일을 실행하니 이런 에러가 발생하면서 실행이 되지 않았다. 다른 팀원들에게 실행해보라고 해보니 정상적으로 실행되는 것을 확인했다. 1. Project 마우스 오른쪽 버튼 - Properties - Java Build Path - Libraries - Add Library 2. J..