728x90
반응형

분류 전체보기 476

[Swagger2] SpringBoot 설정 및 적용

Swagger Controller의 각 메서드에 해당하는 API를 개발하기 위해서는 명세를 관리해야 하는데, 이때 명세란 해당 API가 어떤 로직을 수행하는지 설명하고 이 로직을 수행하기 위해 어떤 값을 요청하며, 그에 따른 응답값으로는 무엇을 받을 수 있는지를 정리한 자료입니다. API는 개발 과정에서 계속 변경되므로 작성한 명세 문서도 주기적인 업데이트가 필요합니다. 또한 명세 작업은 번거롭고 시간 또한 오래걸리는데, 이와 같은 문제를 해결하기 위해 Swagger 라는 오픈소스 프로젝트를 활용할 수 있습니다. 또한 API 명세 뿐만 아니라Talend API Tester 혹은 PostMan을 주로 사용하는데 이를 대체하여 명세기능을 수행하는 Swagger에서 이를 대체하여 테스트를 진행할 수 도 있습니..

[Spring Data JPA] 연관관계 매핑 LeftJOIN / InnerJOIN , @ManyToOne / @OneToOne , 단방향 / 양방향

Master : board (PK - id / FK - userid) Detail : member (PK - id) board 테이블의 userid컬럼은 member테이블의 id 컬럼을 참조합니다. 아래와 같이 Entity 클래스를 구현합니다. @Entity @Table(name="board") public class Board { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Integer id; private String title; @Column private String content; /* Join - member Entity의 userid와 연결되어있다. * member테이블과 함께 조회할때 사용. * 어떤 회원이 쓴 게시글인..

[Thymeleaf] 자바스크립트, QueryString, PathVariable, 페이지 참조replace (include/import)

자바스크립트 형태 : [[${변수}]] -> 서버단 컨트롤러로 부터 넘겨받은 변수를 자바스크립트에서 받을 때 ${변수} 형태를 [대괄호]로 두번감싸 표현한다. 굳이? 라는 생각이 든다. 특별한 경우가 없다면 그냥 EL표현식을 통해 자바스크립트로 받아서 처리해도 상관 없을것 같다. 라고 생각했지만... 일반 자바스크립트로 받아서 사용한다고 하더라도 EL 표현식을 사용하기 위해서는 JSTL 라이브러리를 받아야하기 때문에... 쉽게 타임리프로 하는걸로.... 타임리프 기본 형태 ${객체.필드} => 값을 표현할때는 {중괄호} 앞에 $ 달러를 @{/매핑주소} => 경로,주소를 표현할 때는 {중괄호} 앞에 @ 골뱅이를 붙힌다. context-relative URL 형태 : @{/url} 설명 : 서버 내 특정 위..

카테고리 없음 2022.11.18

[React] 이벤트함수 bind(this) / (setInterval함수 등)

[자바스크립트 bind(this)] 순수 자바스크립트 코드에서 이벤트 핸들러 함수의 this는 무엇을 가르킬까? 이벤트 핸들러가 적용된 Element객체를 가르킨다. 만약 위와 동일한 코드에서 이벤트 핸들러 함수에 bind(this)를 한다면 어떻게될까? Global 객체인 Window객체를 가르키게된다. HTML 태그의 이벤트 속성으로 함수를 호출해본다. 테스트다 bind를 하지 않았을 때에는 Global객체인 Window를 가르킨다.. 테스트다 bind(this) 처리 한 뒤, 이윽고 결실을 맺었다...! [bind() 함수를 통해 객체에 값 전달] 다음은 bind함수를 통해 값을 전달해본다. 위에서 다루었던것과 같이 순수 자바스크립트 코드 상에서 bind(this)를 선언하면, 이벤트핸들러 함수 내..

JavaScript/ReactJS 2022.11.17

자바스크립트 event 속성값 추출 dataset

[dataset] HTML태그의 Attribute(prop) 속성에 값을 싣고 자바스크립트를 통해 값을 불러올때 dataset을 사용한다. 형태는 아래코드와 같다. 우선 HTML 태그에서 data-'속성명' 의 형태로 속성을 기제하고 값을 부여한다. 이후 자바스크립트에서 이벤트객체를 통해 값을 추출할 때 e.target.dataset.'속성명' 으로 접근할 수 있게 된다. https://developer.mozilla.org/ko/docs/Learn/HTML/Howto/Use_data_attributes

JavaScript 2022.11.14

IntelliJ 에서 Eclipse 다크 테마 / Keymap 단축키 적용하기.

이클립스 Keymap 단축키 설정은 글 최하단에 작성되어 있다.(엄청 쉬움!) IntelliJ Community버전의 경우 JAVA 테마가 조금 밋밋하다. 고수라면 괜찮을지 모르지만 중급개발자 미만은 코드가독성 면에서 조금 떨어질 수가 있다고 생각한다. (필자는 Interface와 Class의 색상이 모두 싱겁게 회색으로 출력되는것에 굉장히 예민해서 설정함) 만약 이클립스를 사용하던 개발자라면 이클립스 테마를 적용할 수 있다. (약 90%이상 흡사함.) 1. file탭 - Settings창 열기 2. 좌측 탭에서 Plugins 선택 Plugins를 누르면 처음에 무엇이 설치되었는지 Installed 탭이 자동으로 클릭되어있다. MarketPlace 탭으로로 선택/변경 후 검색란에 eclipse dark ..

IDE 도구/IntelliJ 2022.11.09

IntelliJ 빌드/실행 플랫폼 변경 및 소스코드 자동반영 설정

우선 Eclipse나 STS는 정적파일 같은 경우에는 바로 자동반영이 되지만 서버단 JAVA코드같은 경우에는 jLebel이라는 유료 플러그인을 사용하여야한다. IntelliJ에서도 정적파일 같은 경우에는 설정을통해 자동으로 반영할 수 있다. (서버단 코드는 반영되지 않음. 이클립스에서 java파일 저장시 서버가 새롭게 로드되는 불편한? 증상과 비슷한 원리로 로딩됨...) 1. gradle.build 파일을 연다. 2. dependencies에 아래 코드 를 추가한다. 각종 디펜던시의 캐시OFF 등(개발시 필요없음) 캐시란? 직전에 저장된 요소를 반복호출할 때 변경점이 없다면 캐시를 통해서 호출함으로써 속도증가되는 장점이 있다. 위와같이 캐시를 써버리면 소스코드를 변경했을 때 변경 전 내용이 나올 수도 있..

IDE 도구/IntelliJ 2022.11.09

람다식과 인터페이스 익명구현 객체

람다식 자바는 객체 지향 프로그래밍이 소프트웨어 개발의 주요 패러다임이었던 1990년대에 디자인 되었다. 객체 지향 프로그래밍이 나오기 오래 전부터 Lisp 또는 Scheme와 같은 함수적 프로그래밍 언어들이 있었다. 하지만 학계를 제외하고는 현업에서는 큰 호응을 얻지 못하였다. 최근 함수적 프로그래밍이 다시 부각되고 있는데, 병렬 처리와 이벤트 지향 프로그래밍에 적합하기 때문이다. 따라서 객체 지향 프로그래밍과 함수적 프로그래밍을 혼합함으로써 더욱 효율적인 프로그래밍이 될 수 있도록 프로그램 개발 언어가 변하고 있다. 자바는 함수적 프로그래밍을 위해 자바 8부터 람다식(Lambda Expressions)을 지원하면서 기존의 코드 패턴이 많이 달라졌다. 람다식은 수학자 알론조 처치(Alonzo Churc..

JAVA/BASIC 2022.10.27

사무자동화 산업기사 기출, 계산파일 (엑셀 / 액세스 정리)

계산식 풀이집 파일들은 유투브 방과후컴퓨터로 6회차 문제 2번정도 돌리시구 집중해서 풀어보세요. 절대! 첨부터푸시지마세요 액셀, 액세스, 파워포인트 모두 양식에 맞는 파일이름으로 저장 후 감독관이 나눠주는 USB에 파일을 옴겨 출력장소로 가서 출력을 해야한다. 때문에 처음 파일을 만들 때 다른이름으로 저장을 한 뒤 작업을 완료할 때 마다 저장 혹은 최종적으로 저장한다. 액셀저장 : 파일 - 다른이름으로 저장 - 바탕화면 - 안내에따라 파일명지정 액세스저장 : 빈 데이터베이스 - 좌측 폴더아이콘 선택 후 경로 지정 - 파일 이름 입력상자에 파일명 지정 - 만들기 인쇄설정법 : 파일 - 인쇄 - 페이지설정 - [페이지] - 자동맞춤, [여백] 위쪽 - 6 / 페이지 가운데 맞춤 - 가로 체크 금액에 대한 수..

Ajax 정리 - 미완성

[ Ajax ] 컨트롤러로 부터 return 응답을 받는 데이터의 형태이며 text, xml, json, html 등이 가능하다. 문자열이라면 text이고 객체나 Map 혹은 List라면 Json으로 지정해 주면 된다. 'JSON' 서버의 데이터를 JSON 형태로 받아온다. 조회 작업을 할 때 return을 통해 데이터를 JSON형태로 받아온다. 'TEXT' 서버의 데이터를 text형태로 받아온다. 보통 (입력,수정,삭제) 작업 성공시 return을 통해 success문자열을 반환받기 위해 사용한다. ex) 컨트롤러 : return "success"; 스크립트 : if(data == "success"){} 성공에대한 문자열 반환은 text가 아닌 JSON으로 지정되어있다면 Map형태로 Key:Value형..

HTML 태그로 구성된 라디오 버튼에 checked 옵션 부여

1번 2번 3번 위와같이 라디오버튼에 대한 html코드가 구성되어있다. 위코드처럼 두번째에 해당하는 #btnYn2 id 속성을 가진 라디오버튼에 checked옵션을 부여할 수 있다. 위처럼 한번에 옵션 부여가 가능하다. name속성이 frm인 form태그에서 input name이 btnYn인 요소 중 value속성이 2인 요소를 찾은후 prop 함수를 통해 checked 속성을 부여하는 로직이다.

JavaScript 2022.05.19

Document객체의 ready이벤트 연결

문서가 준비되면 ready() 함수의 매개변수에 해당하는 콜백함수를 실행하라는 의미로써, jQuery 이벤트 중 하나이다. jQuery의 또 다른 표현방식은 다음과 같다 자바스크립트에서 다음코드와 비슷한 기능을 수행한다. 2022.01.18 - [JavaScript/DOM & Event] - window객체와 이벤트 (BOM/DOM) window.onload window객체와 이벤트 (BOM/DOM) window.onload 브라우저 객체 모델 BOM, Browser Object Model은 웹 브라우저와 관련된 객체의 집합을 의미한다. 대표적인 브라우저 객체 모델로는 Window, Location, Navigator, history, screen, document 객체가 있다. window.. u-it..

JavaScript/jQuery 2022.05.11

RadioBOX와 Label의 포함관계 <선택된 Value의 Text값 가져오기>

사용 사용 input 태그와 label 태그를 연동시키지 않으면 "사용" 텍스트를 눌렀을 때 라디오 버튼이 선택되지 않는다. 연동시키는 방법 1) label 태그로 input 태그를 감싸는 방법 2) label 태그에 input의 ID를 지정해주는 방법 label 태그는 input 태그를 제어하여 상태를 변경하게 도와주는 태그로서, 클릭시 유효범위 정도 라고 정의한다. 다시말해 라디오선택 동그라미를 클릭하지 않고 Label로 감싸준 Text를 클릭해도 원하는 라디오동그라미에 체크가 된다. label에 for 속성을 사용할 경우 부모 input 요소의 id명과 같은 값을 선언해야한다. Label의 text를 가져오기 위해서는 다음과같이 사용한다. $("input[name=searchYn]:checked")..

JavaScript 2022.05.09