joonbread의 등록된 링크

키자드에 등록된 총 1673개의 포스트를 확인하실 수 있습니다.

Naver Blog

SQL(MySQL/MariaDB) - 행 번호를 컬럼값으로 변경(ROW NUMBER)

SQL(MySQL/MariaDB) - 행 번호를 컬럼값으로 변경(ROW NUMBER) - 이전에 다뤘던 GRUOP_CONCAT을 다루면서 넣었던 데이터의 번호를 컬럼행으로 변경하고자 한다. - GROUP_CONCAT을 모르겠다면 아래 사이트를 참고해주시길 바란다. SQL(MySQL/MariaDB) - 행 번호를 컬럼값으로 변경 방법(ROW NUMBER) 1. Table의 내용은 아래와 같은데, 이 데이터를 행 수에 맞춰서 넣어보고자 한다. 2. ROW_NUMBER()을 통해 값을 변경해준다. - 위의 내용을 보면 알 수 있듯이, @rownum:=@rownum+1이란 쿼리 결과값을 행을 의미한다. - (select @rownum:=0 )TT은 @rownum을 쓰기 위해 임의의 테이블을 선언한 것이다. 3. 이제, @rownum을 통해 구한 행값.......

Naver Blog

JSP / Servlet - 엑셀파일을 JSP 파일로 다운로드하기

JSP / Servlet - 엑셀파일을 JSP 파일로 다운로드하기 - JSP파일에서도 엑셀파일을 지원하는 것을 알게되어 작성하게 된 글이다. JSP / Servlet - 엑셀파일을 JSP 파일로 다운로드 방법 1. JSP파일 위에 아래 내용을 작성하면 된다. - jsp file의 '<%@ %>'을 통해 페이지 설정을 통해 contentType을 엑셀로 하고, 현재 우리나라가 사용하는 UTF-8에 맞춰 작성한다. - "Content-Disposition"는 contents가 브라우저에 전달되는 data에 대해 작성할 수 있는데, attachment라는 값과 파일명을 작성하여 body값을 다운로드 하게 설정한다. - "Content-Description" 또한 헤더에 content에 대한 설명을 의미한다.......

Naver Blog

SQL(MySQL/MariaDB) - 형변환(CONVERT, CAST)

SQL(MySQL/MariaDB) - 형변환(CONVERT, CAST) - 형변환으로 사용되는 함수를 알아보자 SQL(MySQL/MariaDB) - 형변환(CONVERT, CAST) 예시 - 간단히 보자면, CAST와 CONVERT는 차이가 없으며 둘 다 값을 원하는 데이터 타입으로 변경하는 방식이다.

Naver Blog

SQL(MySQL/MariaDB) - 특정 값을 우선 정렬

SQL(MariaDB, MySQL) - 특정 값을 우선 정렬 - 보통 ORDER BY를 통해서 컬럼을 기준으로 정렬하는데, 해당 컬럼의 특정 값을 우선 정렬하는 방법이 있다. SQL(MariaDB, MySQL) - 특정 값을 우선 정렬 방법 - MYSQL에서는 FILED(컬럼명,특정값1,특정값2..)를 통해 ORDER BY의 적용 컬럼에서 또 특정 값을 기준으로 정렬할 수 있다.

Naver Blog

SQL(MySQL/MariaDB) - 문자열 반대 출력

SQL(MariaDB, MySQL) - 문자열 반대 출력 - 간단히 REVERSE()란 문자열 함수를 사용하여 반대를 출력할 수 있다.

Naver Blog

SQL(MySQL/MariaDB) - 기준 문자를 나눈 문자열을 사용하기

SQL(MariaDB, MySQL) - 기준 문자를 나눈 문자열을 사용하기 - 기준 문자를 나눈 문자열을 사용하는 SUBSTRING_INDEX() 함수이다. SQL(MariaDB, MySQL) - 기준 문자를 나눈 문자열을 사용하는 방법 * 결과 - SUBSTRING_INDEX() 함수를 통해 사용할 수 있다. - INDEX값이 초과됬을 경우 INDEX값과 상관없이 모든 값이 출력된다.

Naver Blog

HTML5 / CSS - outline 적용 불가 시 대체 방법

HTML5 / CSS - outline 적용 불가 시 대체 방법 - bootstrap을 통해 outline을 사용하던 도중, IE에서 적용이 안되는 상황을 경험하여 대처하는 방법에 대해 작성한 글이다. HTML5 / CSS - outline 적용 불가 시 대체 방법 - 간단히 보면, outline은 윤곽선인만큼 대처방안으로 테두리인 border를 주면 끝

Naver Blog

HTML5 / CSS - input file을 a태그로 대체하기

HTML5 / CSS - input file을 a태그로 대체하기 - input type="file"인 태그를 사용할 때 focus시 안 이쁘게 나오는 게 보여서 수정하고자, a태그로 대체하는 방법을 작성하게 되었다. HTML5 / CSS - input file을 a태그로 대체 방법 - 간단하게, type="file"인 input 태그를 display로 감춘 뒤 a태그 onclick 속성을 통해 감춘 태그를 실행하는 방법이다.

Naver Blog

Java 기초 50 - HttpServletRequest를 이용한 Device 구분

Java 기초 50 - HttpServletRequest를 이용한 Device 구분 - HttpServletRequest객체를 이용하여 PC, 모바일, Tablet을 구분하는 방법을 다루는 글이다. HttpServletRequest를 이용한 Device 구분 방법 - HttpServletRequset 객체의 header에서 User-Agent에 내용이 나와있다. - User-Agent의 사이트를 보면 헤더의 User-Agent를 통해 Device만 구분할 수 있는 것이 아니라 웹 브라우저, OS, 하드웨어 타입 등을 알 수 있다.

Naver Blog

JavaScript - 요소 위치 이동

JavaScript - 요소 위치 이동 - 자바스크립트의 insertBefore()로 요소 위치를 이동하는 방법에 다뤄본다. JavaScript - 요소 위치 이동 방법 - 제이쿼리의 insertBefore와 유사하다. * 실행 - 버튼 클릭 - 위로 옮겨진것을 볼 수 있다.

Naver Blog

Jquery - 태그 클릭 시 특정 태그 위치로 이동

Jquery - 태그 클릭 시 특정 태그 위치로 이동 - 태그 클릭 시 특정 태그 위치로 이동하는 방법을 다뤄보자 Jquery - 태그 클릭 시 특정 태그 위치로 이동 방법 - html요소에서 animate의 scroll을 통해 위치 이동을 한다.

Naver Blog

Plugin - slick.js

Plugin - alertify.js - 흔히 쓰는 슬라이드에 사용되는 플러그인이다. - 이 플러그인의 장점은 하나하나 모든 예제를 아래 사이트에서 확인해볼 수 있다는 점인것 같다. * 플러그인 사이트(다운로드 밑 Github 주소가 같이 있다.) - 사용법은 해당 사이트 아래에 내려가면 예시와 함께 서술되어있다. Plugin - slick.js cdn 및 사용 모습 - 해당 slick.js의 cdn이다. * 슬라이드 하나 * 다중 슬라이드 * 출처

Naver Blog

삶은 왜 짐이 되었는가 - 독후감

- 해당 책은 노원정보도서관에서 대여하여 읽은책이다. - 이책을 통해 느낀점은 기술과학을 통해 살아가는데 있어, 사물이 주가 아닌 사용하는 자기 자신이 주가 되야한다는 걸 느겼다. - 근데, 보면 볼 수록 현재 우리나라에서 살아가기엔 너무 꿈같은 얘기를 하지 않았나 싶을 정도로 느끼게 해준 책이다. - 사물과 사람에 대해 사용하고자 하는 용도, 스스로에게 끊임없이 갈망하는 욕구, 누군가로부터 인정받고 싶은 욕망 등을 갖고 바라보는 것이 아닌 근원을 깨닫고 그것을 다루거나 마주쳐야 한다는 것을 일깨워준 책이 아닌가 싶다.

Naver Blog

Plugin - 이클립스에서 자바스크립트 자동완성(Tern.java)

Plugin - 이클립스에서 자바스크립트 자동완성 - 이클립스에서 플러그인을 통해 자바스크립트 자동완성을 사용할 수 있는 Tern.java를 다룬 글이다. 이클립스에서 자바스크립트 자동완성(Tern.java) 다운로드 방법 1. github를 이용한 Tern.java 다운로드하기 (아래 사이트 참고) - 아래 그림에서 볼 수 있듯이 Download ZIP을 통해 압축파일을 다운로드할 수 있다. 2. 이클립스 마켓 플레이스를 이용한 다운로드 2-1. 상단의 Help - Eclipse Marketplace를 클릭 2-2. tern을 검색한 다음 아래 그림에 나와있는 플러그인의 install 버튼 클릭 2-3. 라이선스 동의를 선택 후 finish 클릭 2-4. 모두 설치가 됐을 경우 restart now 버튼 클릭(재시작.......

Naver Blog

HTML5 / CSS - iframe 태그

HTML5 / CSS - iframe 태그 - HTML문서 내에 다른 문서를 포함시킬 때 사용하는 태그를 말한다. - src 속성에 URL값을 사용하여 현재 HTML문서에 다른 HTML내용을 보여줄 수 있다. HTML5 / CSS - iframe 사용 방법 - iframe에 속성과 그 안에 내용을 쓰거나 iframe이 시작되기 전에 사용할 수 있다. HTML5 / CSS - iframe 속성 - 여느 태그와 많이 차이나진 않지만, 문서 내에 다른 문서를 가져올 수 있는만큼 그만큼의 장점이 있다. - 약간 자바스크립트의 팝업 속성과 비슷한 느낌 HTML5 / CSS - iframe css 기본 값 - iframe은 말 그대로 인라인 프레임에 걸맞게 block형태의 윤곽선이 없는 프레임이란 걸 보여준다. HTML5 / CSS - iframe DOM.......

Naver Blog

HTML5 / CSS - iframe을 이용한 유튜브 동영상 보기

HTML5 / CSS - iframe을 이용한 유튜브 동영상 보기 - 이전글의 iframe에서 이어지는 글이며, iframe을 통해 유튜브를 문서 내에 볼 수 있다. HTML5 / CSS - iframe을 이용한 유튜브 동영상 보기 방법 1. 먼저 사용하고자 할 유튜브 동영상 우클릭 > 동영상 URL 복사를 누른다. 2. iframe의 src에 넣어주면 되는데, src에 넣을 때 복사한 URL 마지막 /이후 내용(ID값)과 embed 속성을 통해 사용한다. - URL을 복사할 경우 실제 URL과 달리, 'https://youtu.be/동영상 id값'이 나오는데 이를 실제 유튜브와 동일하게 변경하되, embed 속성을 사용하여 공유할 수 있다. - 만약 embed가 아닌 다른 방법을 쓰고 싶다면 아래 사이트의 유.......

Naver Blog

HTML5 / CSS - outline

HTML5 / CSS - outline - outline(윤곽선) 속성에 대해 알아보자 outline 속성들 - outline의 style은 border와 거의 동일하다.(예: solid, dashed, dotted 등..) - outline의 color는 말 그대로 색상(RGB값 포함)을 설정한다.

Naver Blog

JavaScript - 팝업창 닫으면서 새로고침하기

JavaScript - 팝업창 닫으면서 새로고침하기 - 팝업창의 기능을 마친 후 팝업창을 닫으면서 새로고침을 하는 방법을 작성한 글이다. JavaScript - 팝업창 닫으면서 새로고침하기 - 여기서 self와 window는 현재 사용하고 있는 팝업창을 의미한다. - opener는 현재 사용하고 있는 팝업창을 열었던 부모창을 의미하며, 자바스크립트에서 location.reload()의 기능을 그대로 사용한 것 - 만약 새로고침이 아닌 부모창의 다른 자바스크립트 함수를 쓰고자 한다면 맨 앞에 opener.를 붙여주면 된다.

Naver Blog

어떻게 분노를 다스릴 것인가? 독서 후기

-해당 책은 노원정보도서관에서 대여하여 읽은책이다. - 이 책은 분노란 감정을 컨트롤에 따라 안 좋은 결과가 아닌 스스로 뿐만 아니라 주변까지 이로운 영향을 주는 법에 대해 얘기한다. - 분노를 갖고 화를 내지 않는 것이 첫 번째로 중요하며, 만약 화를 냈다면 화를 멈추는 것이 두 번째, 마지막으로 주변의 화를 치유하는게 세 번째로 중요하다는 것을 느꼈다.

Naver Blog

SQL(Oracle 기준) - Outer Join(+) 사용

SQL(Oracle 기준) - Outer Join(+) 사용 - 늘 ANSI Outer Join만 사용하다가 오라클용 Outer Join이 있다고 해서 작성한 글이다. SQL(Oracle 기준) - Outer Join(+) 사용 방법 - ANSI Outer Join : FROM 테이블 A (LEFT/RIGHT/FULL) OUTER JOIN 테이블 B ON 조인 조건 - Oracle Outer Join : 테이블을 각자 적되, where문에서 ANSI Outer Join와 같게 값이 없는 쪽에 (+)를 위치시킨다. - 조인조건을 WHERE문에 적는 만큼 조건으로 한개가 아닌 여러 컬럼을 조인할 수 있다.

Naver Blog

JSTL - if문을 이용한 삼항 연산자 사용

JSTL - if문을 이용한 삼항 연산자 사용 - jsp에서 삼항 연산자를 사용하는 방법에 대해 작성한 글이다. JSTL - if문을 이용한 삼항 연산자 사용 방법 - java의 if문 삼항 연산자와 똑같다.

Naver Blog

자바 문제 14) - Java Bitecode BAEKJOON 21867

자바 문제 14) - Java Bitecode BAEKJOON 21867 - 입력한 문자열에서 'J' / 'A' / 'V'를 제외한 문자를 출력하는 문제 - 사용한 프로그래밍 언어는 자바 BAEKJOON 21867 문제 내용 어서 내 손을 JAVA~ 태한이는 JAVA를 싫어한다. 매우 싫어한다. 아주 앙증맞게 깨물고 싶을 정도다. 그래서 태한이는 코딩을 할 때 알파벳 J, A, V는 사용하지 않는다. 또한 기존의 코드에서도 J, A, V가 보이면 전부 이빨로 깨물어 제거한다. 기존의 코드에서 J, A, V를 깨물어 제거한 코드를 JAVA Bitecode라고 부른다. 입력으로 길이가 N인 코드 S가 주어지면, 그 코드의 JAVA Bitecode를 구해보자! 입력 첫째 줄에 코드의 길이를.......

Naver Blog

자바 문제 15) - 미적분학 입문하기 BAEKJOON 21868

자바 문제 15) - 미적분학 입문하기 BAEKJOON 21868 - 입실론 - 델타 논법을 이용한 극한의 정의란다.. 입실론이란게 소설 속 용어인줄 알았는데 처음 들어본다.. - 입실론-델타 논법에 대해선 아래 사이트를 참조하자 https://namu.wiki/w/%EC%97%A1%EC%8B%A4%EB%A1%A0-%EB%8D%B8%ED%83%80%20%EB%85%BC%EB%B2%95 - 사용한 프로그래밍 언어는 자바 BAEKJOON 21868 문제 내용 이공계 대학생들은 대학교에 입학하면 반드시 입실론-델타 논법을 배운다. 위의 식은 입실론-델타 논법을 이용한 극한의 정의다. 21학번 신입생들이 수강하고 있는 연세대학교 공학수학 I의 2차 퀴즈가 저번 주에 있었다. 국렬이는 연세대학교 신입생들에게 극한의 정의에.......

Naver Blog

Library - div 영역 이미지로 저장(html2canvas.js)

Library - div 영역 이미지로 저장(html2canvas.js) - 특정 영역을 이미지로 저장하는 방법을 알게 되어 작성하는 글이다. Library - div 영역 이미지로 저장(html2canvas.js) 예시 1. html객체를 canvas로 변환해주는 라이브러리인 html2canvas.js를 다운받거나 cdn을 이용하자 https://html2canvas.hertzen.com/ - npm과 yarn을 통해 다운로드 하거나, 아래 js와 min.js상자를 클릭하여 해당 소스를 다른 이름으로 저장하면 끝 2. 특정 영역 이미지화 3. 결과 - 버튼 클릭 시 이미지 다운로드 - 다운로드 된 이미지

Naver Blog

SQL - FUNCTION과 PROCEDURE의 차이

SQL - FUNCTION과 PROCEDURE의 차이 - FUNCTION과 PROCEDURE 둘 모두 특정 값에 따른 결과값을 반환하는 공통점이 있는데, 왜 굳이 2개로 나눠서 사용하는지 조금 의문이 있어서 작성하게 되었다. * PROCEDURE에 대해 작성한 이전 글 - 이전 글에서 다뤘던 내용에서 알 수 있듯이, 실행 후 반환여부를 선택하는 점이 차이점이라는 것으로 알고 있었으나, 이것 뿐만이 아니라 다른 차이점이 존재하는 것을 알 수 있었다. - 간단히 보자면 PROCEDURE는 서버단, FUNCTION은 화면단에서 동작한다. * PROCEDURE - 클라이언트 정보를 가지고 서버에서 동작한 결과를 반환하는 방식 - 리턴값의 유무를 선택할 수 있으며 리턴 값을 여러개 반환할 수 있다.......

Naver Blog

SQL(MySQL/MariaDB) - FUNCTION 생성

SQL(MySQL/MariaDB) - FUNCTION 생성 - MySQL에서 FUCNTION 생성하는 방법에 대해서 알아본다. SQL(MySQL/MariaDB) - FUNCTION 생성 예시 * DEFINER - 해당 FUNCTION을 정의한 사용자를 의미한다. - DEFINER은 DB명@(HOST_NAME 또는 IP주소 또는 도메인명)으로 작성된다. - 기본값은 현재 FUNCTION을 생성한 사용자로 정의된다.(생략 가능)

Naver Blog

HTML5 / CSS - box-sizing 미 적용 시 해결 방법

HTML5 / CSS - box-sizing 미 적용 시 해결 방법 - 크로스 브라우징을 신경쓰다보니 IE 8 버전 이하에서 box-sizing:border box가 적용되지 않아서 어려움을 겪었는데 다른 사람들은 나처럼 어지럽지 않길 바란다. - 아래 코드를 추가하면 끝 - 위의 내용중 if lt IE 9는 만약 IE 9버전보다 작을 경우에 실행된다는 뜻이다. - 결국, IE 9버전 미만인 IE 8버전 이하부터 스크립트를 읽는다.

Naver Blog

HTML5 / CSS - media query IE 8 version 이하 적용

HTML5 / CSS - media query IE 8 version 이하 적용 - 크로스 브라우징을 하던 도중 media query(이하 미디어 쿼리)가 동작되지 않아서 해결책을 작성하게 되었다. - 아래 그림과 같이 미디어 쿼리를 사용하는데 IE 8 version 이하는 지원하지 않음을 확인할 수 있다. media query IE 8 version 이하 적용방법 - 결론부터 말하자면 2가지 방법이 있다. 1. Respond.js를 다운로드받기 - CDN을 통해 다운로드하는 방법이다. - IE8이하부터는 미디어 쿼리를 지원하지 않았던 만큼 respond.js를 통해 강제로 미디어 쿼리를 적용시키고자 했지만, 미디어쿼리의 모든 내용이 아닌 극히 일부만을 지원한다. - 모바일 2. css3-mediaqueries.js를 다운로드.......

Naver Blog

DB - DBeaver 설치(Windows 10 64bits 기준 - 설치일자 : 2021-06-20)

DB - DBeaver 설치(Windows 10 64bits 기준 - 설치일자 : 2021-06-20) - DBeaver 설치하는 방법에 대해 알아보자 준비사항 - OS : WINDOWS 10 64bit DB - DBeaver 설치(Windows 10 64bits 기준) 방법 1. DBeaver 설치 페이지로 이동( OS별 설치목록이 있음) - Windows의 Windows 64 bit(installer)를 선택 2. 다운로드 받은 아이콘 클릭 3. 설치할 언어 선택 (기본값 - 한국어 ) 4. 다음 클릭 5. 동의함 클릭 6. DBeaver 설치여부(커뮤니티와 관련됨)를 선택한 뒤 다음 클릭 7. 6번의 관리자 권한 실행 후 3~5번 내용 다시 반복하면 아래와 같이 뜨는데, 다음 클릭 8. 설치할 위치 선택 후 다음 클릭 9. 설치 클릭 10. 다운로드 이후 설치 완료 1.......

Naver Blog

DB - DBeaver 사용 방법

DB - DBeaver 사용 방법 - DBeaver 사용 방법에 대해 다뤄본다. DB - DBeaver 사용 방법 예시 1. 좌측 파일 메뉴 아래 콘센트+ 아이콘 클릭 2. 사용하고자 할 Database(이하 DB) 검색 후 선택, 다음 클릭 3. 접속할 DB의 내용을 작성한 다음 Test Connection ...을 클릭 - Authentication에서 username과 password는 실제 연결할 내용을 작성해주셔야 한다. 4. 친절하게 세팅할 드라이버를 찾아준다. 확인 후 download 클릭 5. 만약 아래와 같은 문제가 생겼을 경우(5~7번 확인) - SID가 틀려서 나온 상황 6. 서비스에 들어가서 O를 눌러서 OracleJobScheduler..의 다음 문자를 확인 - 필자는 XE였다. 7. 서비스 이름에 맞춰 ORCL > XE로 변경.......

Naver Blog

자바 문제 13) 소용돌이 예쁘게 출력하기 - BAEKJOON 1022

자바 문제 13) 소용돌이 예쁘게 출력하기 - BAEKJOON 1022 - 가운데에서 반시계 방향으로 회전하며 숫자가 증가하는 소용돌이를 만드는 문제 - 사용한 프로그래밍 언어는 자바 BAEKJOON 1022 문제 내용 크기가 무한인 정사각형 모눈종이가 있다. 모눈종이의 각 정사각형은 행과 열의 쌍으로 표현할 수 있다. 이 모눈종이 전체를 양의 정수의 소용돌이 모양으로 채울 것이다. 일단 숫자 1을 0행 0열에 쓴다. 그리고 나서 0행 1열에 숫자 2를 쓴다. 거기서 부터 소용돌이는 반시계 방향으로 시작된다. 다음 숫자는 다음과 같이 채우면 된다. 이 문제는 위와 같이 채운 것을 예쁘게 출력하면 된다. r1, c1, r2, c2가 입력으로 주어진다. r1, c1은 가.......

Naver Blog

JSTL - textarea 관련 엔터 치환

JSTL - textarea 관련 엔터 치환 - textarea의 value를 DB에 넣은 뒤 다시 꺼내서 사용할 때, value값 중 개행문자를 <br/>태그로 바꾸고자 한다. JSTL - textarea 관련 엔터 치환 방법 - 간단하게 replace를 사용하여 개행문자를 br태그로 변환한다.

Naver Blog

Jquery - keyboard event

Jquery - keyboard event - 키보드 이벤트에 대해서 복습하고자 이 글을 작성했다. - 아래 내용은 동적 태그를 기반으로 한다. Jquery - enterkey event 예시 - press는 압력을 가하다는 뜻으로 특정 값을 키보드로 입력할 경우 실행 - down은 내려가는 뜻으로 키보드를 눌렀을 때 실행된다. - up은 올라가는 뜻으로 키보드를 손으로 눌러놓은 것을 땟을 때 실행된다. keydown과 keypress간에 차이점 1. keypress는 한글, 방향키, del키 등, 키보드 이벤트를 발생하지 않는다. 2. keypress는 키로 입력받은 값의 키 코드를 반환하기 때문에 영어와 숫자에만 이벤트 발생이 된다. 3. 같은 영어나 숫자를 키보드에서 눌렀을 때 keydown이벤트는 한.......

Naver Blog

JavaScript - 빈 문자열 확인 방법

JavaScript - 빈 문자열 확인 방법 - 자바스크립트로 빈 문자열을 확인하는 방법을 다뤄보고자 한다. - 대체로 '===' 연산자와 length를 이용한 2가지 방법이 있다. JavaScript - 빈 문자열 확인 방법 예제 1. === 연산자 사용 1-2. 결과 - ''나 ""에 상관없이 해당 값이 비어있을 경우 true를 반환한다. 2. length 사용 2-2. 결과 - length를 이용하면 빈 문자열이 0이란 것을 알 수 있다.

Naver Blog

MyBatis(마이바티스) - 다중 INSERT

MyBatis(마이바티스) - 다중 INSERT - 마이바티스에선 foreach문으로 다중 insert를 사용할 수 있다고 하여 이를 다뤄보고자 한다. MyBatis(마이바티스) - 다중 INSERT 예시 * Oracle - 오라클의 INSERT ALL을 사용하는 방법 * Mysql, MariaDB - foreach문을 통해 값을 반복적으로 넣은뒤 실행한다.

Naver Blog

MyBatis(마이바티스) - 다중 UPDATE

MyBatis(마이바티스) - 다중 UPDATE - 마이바티스에서 다중 UPDATE하는 방법을 다루는 글이다. MyBatis(마이바티스) - 다중 UPDATE 예시 1. application.properties에서 spring.Datasource.url 설정 맨 뒤에 '&allowMultiQueries=true'를 추가해준다. 2. 마이바티스에서 update 전체를 foreach문안에 작성

Naver Blog

자바 문제 12) 추첨을 통해 커피를 받자 - BAEKJOON 21866

추첨을 통해 커피를 받자 - BAEKJOON 21866 - 2021 연세대학교 신입생 프로그래밍 경진대회에서 만든 문제 중 하나 - 사용한 프로그래밍 언어는 자바 BAEKJOON 21866 문제 내용 연세대학교 컴퓨터과학과 프로그래밍 경진대회는 2015년부터 지금까지 총 6번 진행되었다. 지금까지 진행했던 대회의 수상자는 대부분 고학번 학생들이었다. 이러한 이유로 국렬이는 신입생들에게 알고리즘 문제 풀이에 대한 동기를 부여하기 위해 2021 연세대학교 신입생 프로그래밍 경진대회를 열게 되었다. 국렬이는 가능한 많은 사람들이 대회에 많이 참여하는 것을 원하기 때문에, 대회에 참가한 학생들 중 수상자를 제외한 나머지 사람들에게 추첨을 통해서 커피.......

Naver Blog

Java 기초 49 - String.mathces()를 이용한 문자열 포함 확인

Java 기초 49 - String.mathces()를 이용한 문자열 포함 확인 - 백준 문제를 풀다가 특정 문자 정규식을 작성하는 방법을 찾다가 알게 되었다. String.mathces() 사용 예시 - 포함여부를 확인하기 위해 .(임의의 한 문자)와 *(앞 문자 0~무한개)를 포함값 양 옆에 적었다. ( .*[0-9].* >> 0~9까지의 수 / .*a.* >> 문자열에 "a" 포함) String.mathces() 사용 결과 - str, str2 둘다 "a"를 포함하지만 숫자는 str만 포함하기 때문에 str만 나온다.

Naver Blog

Jquery - radio 버튼 readonly 적용

Jquery - radio 버튼 readonly 적용 - radio버튼은 readonly 속성이 먹히지 않는데, 그를 적용하는 방법이 있다. Jquery - radio 버튼 readonly 적용 예시 - 클릭 시 false를 반환하여 클릭속성을 막는다.

Naver Blog

JavaScript - 태그 제거

JavaScript - 태그 제거 - 자바스크립트에서 정규식을 이용하여 태그를 제거할 수 있는 방법을 다룬다. JavaScript - 태그 제거 예시 1. 변수명.replace()로 정규식을 이용해서 태그를 없앨 수 있다. 2. 결과 - <br>태그와 <br/>태그 모두 적용된 걸 볼 수 있다.

Naver Blog

기본키가 2개 이상, 중복 여부

기본키가 2개 이상, 중복 여부 - 이글을 보는 사람이라면, 대부분 기본키가 어떤 의미인지는 안다고 생각한다. - 필자는 DBMS의 테이블에서 서로 연결 시 기준값을 정할 식별자를 기본키로 알고 있었고, 해당 기본키는 중복값이 없는 고유의 값이 들어가는 점이라는 걸 알고 있었다. - 근데, 생각해보니 기본키가 2개 이상(ex- 기본키 A, 기본키 B)일 때, 기본키의 중복 여부를 각각 A는 A끼리, B는 B끼리 중복이 되면 안되는지에 대해 헷갈렸다. - 기본키가 2개(A,B)일 경우 각 기본키끼리(A=1, A =1로 중복 또는 B=1, B=1로 중복) 중복 여부를 확인하는 게 아닌 기본키 전체(A=1,B=1 / A=1, B=1)를 봤.......

Naver Blog

SQL(MySQL/MariaDB) - GROUP_CONCAT

SQL(MySQL/MariaDB) - GROUP_CONCAT - MariaDB에서 특정 조회값을 문자열로 합쳐서 보려고 할 때 GROUP_CONCAT를 사용한다. SQL(MySQL/MariaDB) - GROUP_CONCAT 예시 1. 오라클 디벨로퍼로 MariaDB 내용을 사용하기 위해 먼저 임의의 데이터베이스를 접속해주자.(필자는 포트번호가 3307, 기존 포트번호는 3306이다.) 2. 실행 - 특정 조회 컬럼명을 GROUP_CONCAT안에 넣은 뒤, 특정 기준 컬럼명으로 묶으면 조회값을 하나의 문자열로 볼 수 있다. - SELECT 기준 컬럼명, GROUP_CONCAT(특정 조회 컬럼명) FROM EXT GROUP BY 기준 컬럼명; 3. 결과 - SELECT * FROM EXT; - SELECT SEQ, GROUP_CONCAT(NAME) FROM EXT GROUP BY SEQ; - 특정 구분자를.......

Naver Blog

JQuery - 동적 태그 이벤트 처리

JQuery - 동적 태그 이벤트 처리 - html에 작성해놓은 태그가 아닌, 특정 처리를 통해 태그를 생성할 수 있는데 동적 태그가 이 내용에 포함된다. - 가끔 동적으로 생긴 태그에 대해서 이벤트를 처리하고자 할 때, 이벤트가 적용이 안된 경우가 있었다. - 이번엔 동적 태그 이벤트 처리에 대해 다뤄보고자 한다. JQuery - 동적 태그 이벤트 처리 예시 - 작성한 선택자에 이벤트 명이 실행됬을 때 함수가 실행되는 방식이다. - 만약 'id=btn'를 클릭해서 body태그를 '<span>버튼 클릭</span>'으로 수정한다면 아래와 같이 작성한다.

Naver Blog

Jquery - contains()

Jquery - contains() - 문자열에서 특정 문자가 포함된 요소를 찾는 메소드명이다. Jquery - contains() 예시 - 위와 같이 특정 선택자에서 찾을 문자가 포함된 요소를 찾는다. - 위와 같이 그대로 쓸 경우 object로 인식하는데, 만약 :contains()를 이용해 특정 문자 포함 여부를 알고 싶다면 뒤에 .length를 붙여서 확인하는 방법이 있다. - :contains()는 대소문자를 구분하기 때문에 주의해서 사용해야 한다.

Naver Blog

JSTL - 특정 문자열을 구분자를 이용하여 처리

JSTL - 특정 문자열을 구분자를 이용하여 처리 - 문자열이 특정 구분자(',')로 이뤄진 문자열일 경우 해당 값을 반복문을 통해 하나하나씩 추출하여 사용하고 싶을 때 사용한다. - 보통 Java에선 split("구분자")와 token을 사용하는 방법이 있듯이 jstl에서도 비슷한 방법이 있다. JSTL - 특정 문자열을 구분자를 이용하여 처리 예제 1. 먼저 jstl 태그를 사용하기 위해 아래의 내용을 맨 위에 선언해주자 2-1. split을 이용한 방법 - 자바와 동일하게 split을 하면 해당 값은 문자열 배열로 사용하기 때문에 그 배열값을 다시 c:forEach 태그로 문자열 배열 안의 요소를 사용하는 방식이다. 2-2. token을 사용한 방법 - to.......

Naver Blog

Plugin - alertify.js

Plugin - alertify.js - 경고, 확인 등 알림 팝업 창을 예쁘게 꾸미는 플러그인 중 하나이다. - 특정 조건에 따라 알림창을 활성화할 때 해당 알림창의 디자인을 변경해주는 플러그인이다. - 예를 들어 JS에서 if문, ajax 등의 문법을 사용할 때 쓰면 좋다. * 플러그인 사이트(다운로드 밑 Github 주소가 같이 있다.) - 사용법은 해당 사이트 아래에 내려가면 예시와 함께 서술되어있다. * alert창 * Confirm 창 * Prompt 창

Naver Blog

니체씨, 긍정은 어떤 힘이 있나요 독서 후기

- 노원정보도서관에서 대여받아 읽은 책이다. - 니체란 철학자의 방대한 내용을 목차로 나눠서 작성하였는데 보면 볼 수록 니체란 사람이 계속 해서 다르게 보일 정도로 이해하기 어려웠다. - 니체가 생각한 가치관은 누구나 이해할 수 있거나 이해할 수 없는 생각을 갖게 해준다.

Naver Blog

우리고전으로 보는 우리시대 내면읽기 의산문답 독서 후기

- 노원정보도서관에서 대여하여 읽은 책이다. - 이 책은 홍대용이 쓴 의산문답의 원문을 읽기 쉽게 풀이한 책이다. - 조선시대에 문답법을 생각해낸 사람이 아닌가 싶을 정도로 그의 생각에서 많은 것을 보고 느낄 수 있었던 책이다.

Naver Blog

SQL(MariaDB 기준) - 특정 개수 row 조회

SQL(MariaDB 기준) - 특정 개수 row 조회 - MariaDB에서 특정 개수의 행을 조회 하는 방법을 알아보자 SQL(MariaDB 기준) - 특정 개수 row 조회 예시 - 특정 행부터 특정 행까지 가져오는 경우도 있으나, 보통 맨 위에서 특정 행까지, 즉 순위를 가져올 때 사용한다. - 첫번째 줄은 0으로 처리하기에 따로 작성하지 않지만, 숫자가 2개일 경우 시작값과 끝값으로 인식한다.

Naver Blog

SQL(MariaDB 기준) - 한글 입력 시 ? 현상 수정

SQL(MariaDB 기준) - 한글 입력 시 ? 현상 수정 - MariaDB에서 한글을 입력 시 '?' 처리되는 것을 수정하고자 한다. - show variables like 'c%'; 를 실행하면 아래와 같이 문자열과 관련된 설정값이 나오는데, 여기에 우린 한글 처리를 해야한다. SQL(MariaDB 기준) - 한글 입력 시 ? 현상 수정 예시 1. MariaDB 파일의 my.ini파일을 찾기 - 보통 C:\Program Files\MariaDB 10.5\data 위치에 있다. 2. my.ini파일에서 아래와 같이 수정(복붙하는게 빠름) 3. MariaDB 서비스를 다시시작 하기 4. 확인 * 그래도 한글 입력이 안될 경우

Naver Blog

MyBatis(마이바티스) - trim, where

MyBatis(마이바티스) - trim, where - 마이바티스에선 DB에서 사용했던 쿼리문을 대부분 사용할 수 있다. - where 엘리먼트 이후 if문을 썻을 때, where 뒤에 아무것도 없는 내용을 실행할 수 있도록 만든 엘리먼트이다. MyBatis(마이바티스) - trim, where 예시 - 해당 내용의 if문의 조건이 모두 해당되지 않을 경우 실행되는 쿼리문은 'SELECT * FROM BLOG WHERE'가 될 것이다. - 하지만 이를 보완하는 방법으로 WHERE을 쓸 수 있는데, 그 내용은 다음과 같다. * trim - trim을 이용하여 trim실행 내용 앞이나 뒤에 내용을 붙이거나, 없앤 것을 실행할 수 있다. * where - where을 대신할 엘리먼트이다. * 출처 : https://mybatis.o.......

Naver Blog

MyBatis(마이바티스) - foreach

MyBatis(마이바티스) - foreach - 마이바티스에선 DB에서 사용했던 쿼리문을 대부분 사용할 수 있다. - foreach엘리먼트를 사용하여 collection의 요소를 반복 사용할 수 있다. MyBatis(마이바티스) - foreach 예시 - map, list, set등과 같은 반복가능한 객체를 사용할 때 쓴다. * 출처 : https://mybatis.org/mybatis-3/ko/dynamic-sql.html

Naver Blog

MyBatis(마이바티스) - bind

MyBatis(마이바티스) - bind - 마이바티스에선 DB에서 사용했던 쿼리문을 대부분 사용할 수 있다. - 파라미터를 이용하여 변수를 생성하는 엘리먼트로 파라미터에 내용을 추가하여 사용하는 방식이다. - 해당 엘리먼트는 OGNL(Object Graph Navigation Language) 표현식을 사용한다. MyBatis(마이바티스) - bind 예시 - bind를 통해 'pattern' 파라미터 값을 '%pattern%"인 값을 가진 title로 변환하는 과정을 볼 수 있다. - bind의 name에는 변수이름을, value에는 파라미터 값에 추가할 내용을 작성 * 출처 : https://mybatis.org/mybatis-3/ko/dynamic-sql.html

Naver Blog

DB - MariaDB 설치(2021.05.23 기준)

준비사항 - OS : WINDOWS 10 64bit MariaDB 설치(2021.05.23 기준) 1. 아래 사이트에서 원하는 버전 설치 - 홈페이지 - 필자는 Stable 상태중 가장 최신인 10.5.10을 선택 - windows 64bit 중 설치의 편의성을 위해 msi파일 설치 2. 설치된 파일 실행 - 다음 클릭 - 동의 체크한 뒤 다음 - 원하는 위치 선택, 없으면 다음 - 비밀번호 설정 후 다음 - 필자는 mysql을 따로 안 쓸 경우엔 3306을 그대로 쓰거나, 추후 사용할 때 변경(필자는 현재 mysql도 사용하기 때문에 포트번호를 3307로 변경)할 수 있으며 문제가 없으면 다음 - 설치 클릭 - 설치 완료 MariaDB 설치 확인 방법 - MySQL 클라이언트 클릭하기(mariadb검색) - 방금 설치할 때 적었.......

Naver Blog

SQL(MariaDB 기준) - 데이터베이스 생성, 삭제

SQL(MariaDB 기준) - 데이터베이스 생성, 삭제 - MariaDB에서 데이터베이스 생성, 조회, 삭제하는 방법을 알아보자 준비사항 - OS : WINDOWS 10 64bit - DBMS : MariaDB 10.5.10 - Tools : Oracle Sql Developer SQL(MariaDB 기준) - 데이터베이스 생성, 삭제 예시 1. 오라클 디벨로퍼로 MariaDB 내용을 사용하기 위해 먼저 임의의 데이터베이스를 접속해주자.(필자는 포트번호가 3307, 기존 포트번호는 3306이다.) 2. 데이터베이스를 생성, 확인, 제거 3. 결과 - 처음 생성한 후 조회시 BJ_TEST 데이터베이스가 보이며, 제거 후 조회 시 사라진걸 확인할 수 있다.

Naver Blog

SQL(MariaDB 기준) - 테이블 생성, 삭제

SQL(MariaDB 기준) - 테이블 생성, 삭제 - MariaDB에서 테이블 생성, 삭제하는 방법을 알아보자 준비사항 - OS : WINDOWS 10 64bit - DBMS : MariaDB 10.5.10 - Tools : Oracle Sql Developer SQL(MariaDB 기준) - 테이블 생성, 삭제 예시 1. 오라클 디벨로퍼로 MariaDB 내용을 사용하기 위해 먼저 임의의 데이터베이스를 접속해주자.(필자는 포트번호가 3307, 기존 포트번호는 3306이다.) 2. 테이블 생성, 삭제 3. 결과 - 생성 하기 전 현 db에 아무런 테이블이 없지만, 생성한 후 테이블이 조회되며, 제거 시 테이블이 존재하지 않는 것을 볼 수 있다.

Naver Blog

SQL(MariaDB 기준) - 유저 생성, 조회, 삭제

SQL(MariaDB 기준) - 유저 생성, 조회, 삭제 - MariaDB에서 유저 생성, 조회, 삭제하는 방법을 알아보자 준비사항 - OS : WINDOWS 10 64bit - DBMS : MariaDB 10.5.10 - Tools : Oracle Sql Developer SQL(MariaDB 기준) - 유저 생성, 조회, 삭제 예시 1. 오라클 디벨로퍼로 MariaDB 내용을 사용하기 위해 먼저 임의의 데이터베이스를 접속해주자.(필자는 포트번호가 3307, 기존 포트번호는 3306이다.) 2. 유저 생성, 조회, 제거 - 오라클과 달리 유저 생성 시 유저명과 접속가능한 공간을 명시하며 그 사이에 '@'를 붙인다. - 내부에서만 접속가능하기 위해선 '유저명'@'localhost'로 작성해주며 어디에서나 접속.......

Naver Blog

SQL(MariaDB 기준) - NULL 관련 함수

SQL(MariaDB 기준) - NULL 관련 함수 - MariaDB에서 NULL 관련 함수를 알아보자 준비사항 - OS : WINDOWS 10 64bit - DBMS : MariaDB 10.5.10 - Tools : Oracle Sql Developer SQL(MariaDB 기준) - 유저 생성, 조회, 삭제 예시 1. 오라클 디벨로퍼로 MariaDB 내용을 사용하기 위해 먼저 임의의 데이터베이스를 접속해주자.(필자는 포트번호가 3307, 기존 포트번호는 3306이다.) 2. IF, IFNULL, NULLIF 실행 - SELECT IFNULL(1번째 인자, 2번째 인자) 첫번째 인자값이 NULL이 아니면 첫번째 인자값 아닐 경우 첫번째 인자값 또는 2번째 인자값을 반환한다. - SELECT NULLIF(1번째 인자, 2번째 인자) 첫번째 인자값과 두번째 인자값이 TRUE면 NULL .......

Naver Blog

SQL(MariaDB 기준) - merge

SQL(MariaDB 기준) - merge - MariaDB에서 merge 방법을 알아보자 준비사항 - OS : WINDOWS 10 64bit - DBMS : MariaDB 10.5.10 - Tools : Oracle Sql Developer SQL(MariaDB 기준) - merge - 기본 문법 - 위의 SELECT문의 테이블명에서 중복되는 키가 있을 경우 수정될 컬럼값을 UPDATE하며, 없을 경우 컬럼값을 삽입한다. - 참고로 해당 테이블에서 트리거가 활성화 된 경우 기준 키 설정을 할 수 없으므로 사용 불가능하다.(순차적인 값으로 인해 비교할 대상인 키가 없기 떄문에 매우 중요하다.) - 또한, 중첩된 INSERT문에서도 사용이 불가능하다.

Naver Blog

JavaScript - input 숫자만 입력

JavaScript - input 숫자만 입력 1. input태그 'type="number"' 2. 정규식 이용 3. 자바스크립트 이용

Naver Blog

MyBatis(마이바티스) - constructor

MyBatis(마이바티스) - constructor - 마이바티스에선 DB에서 사용했던 쿼리문을 대부분 사용할 수 있다. - constructor, 자바로 쉽게 말하면 생성자와 같다. 클래스 안 필드(변수)를 생성자를 생성하여 값을 설정하면 그대로 사용하는 방법이다. 마이바티스 constructor 예시 - 생성자로 사용할 파라미터와 칼럼명이 일치한 클래스 - 값을 생성자에 넣기 위해 생성자를 만들자. - 생성자의 매개변수에 맞춰 생성자 순서대로 작성하는 것이 가장 합리적 - 그렇지 않을 경우 v3.4.3 이후부터 순서와 상관없이 사용 가능한데, 그 방법은 매개변수에 name을 작성, 매개변수의 이름과 형태가 같을 경우 javaType을 생략할 수 있다. - constructor의 속.......

Naver Blog

MyBatis(마이바티스) - Auto-mapping

MyBatis(마이바티스) - Auto-mapping - 마이바티스에선 DB에서 사용했던 쿼리문을 대부분 사용할 수 있다. - 결과를 자동으로 매핑할 수 있거나, 직접 결과매핑을 만들 필요가 있는데 두가지 방법을 적절히 혼용한 방법이다. 마이바티스 Auto-mapping 예시 - 매핑될 클래스 - 실제 작동 쿼리문 - resultMap 내용 - 두가지 예제를 봤을 때, 별칭으로 작성된 id와 userName 칼럼은 자동매핑되며, hashed_password는 resultMap의 내용으로 인해 수동매핑된다. 자동매핑 종류 - FULL 자동매핑은 같은 같은 파라미터명을 써도 사용도가 다른 클래스에 사용될 경우(예를 들어 동물 종류의 이름) 문제가 발생할 수 있다. - 그런점을 방지하려면 자동매핑.......

Naver Blog

자바 기초 48 - List와 String[]간의 변환 방법

자바 기초 48 - List와 String[]간의 변환 방법 - request.getParameterValues()를 통해 '해당 name의 파라미터를 String[]으로 받은 값이 한 문자열이 아닌 리스트형태의 문자열일 때 리스트로 변환할 수 있을까?' 란 생각에서 시작된 의문이 있어 이 글을 작성하게 되었다. List와 String[]간의 변환 방법 String[] List : Arrays.asList List String[] : List.toArray List와 String[]간의 변환 예시 List와 String[]간의 변환 예시 결과 - 어찌보면 단순하게도, 대체로 생성자 함수를 통해 만들 경우 Object[] 로 반환되었다. - 그럼, Object를 우리가 원하는 형태로 만들기 위해선 형변환을 해야하는데, 리스트나 배.......

Naver Blog

DB - Oracle SQL Developer MySQL 연동

DB - Oracle SQL Developer MySQL 연동 - 오라클 디벨로퍼로 MySQL을 연동하고자 한다. - 참고로 이 글은 Oracle SQL Developer와 MySQL가 설치된 상황 기준이다. 만약 설치되어 있지 않다면 아래 내용을 참고하길 바란다. - Oracle SQL Developer 설치방법 - mysql 설치 방법 Oracle SQL Developer MySQL 연동 방법 1. Mysql JDBC를 다운로드 받자 2. Platform Independent를 선택 한 후 go to Download page 클릭 3. 맨 아래 no thanks를 클릭해서 비로그인으로 설치하자 4. 다운로드 받은 압축파일에서 jar파일 하나만 압축풀기 5. 압축푼 파일을 선택하기 쉽게 sqlDevleoper > jdbc > lib에 넣어주자 6. MySQL JDBC를 오라클 디벨로퍼.......

Naver Blog

서울시 노원구 상계동 피체리아 1830 칠리피자

주소 : 서울시 노원구 상계동 1830피자 메뉴 : 칠리피자 배달 앱 : 요기요 주문 날짜 : 2020/05/15 - 리치골드 - 기본

Naver Blog

MyBatis(마이바티스) - cache-ref

MyBatis(마이바티스) - cache-ref - 마이바티스에선 DB에서 사용했던 쿼리문을 대부분 사용할 수 있다. - cache-ref란 네임스페이스 간 캐시 설정과 인스턴스를 공유하는 방법이다. 마이바티스 cache-ref 예시 * 출처 : https://mybatis.org/mybatis-3/ko/sqlmap-xml.html

Naver Blog

MyBatis(마이바티스) - if

MyBatis(마이바티스) - if - 마이바티스에선 DB에서 사용했던 쿼리문을 대부분 사용할 수 있다. - if란 만약이란 의미에 맞춰 조건내용을 작성할 수 있다. 마이바티스 if 예시 - select문이 실행될 때 파라미터 'title'의 값이 null이 아닐 경우 if문 안의 내용이 실행되는 쿼리문이다. - 우리가 자바단에서 데이터를 조회한 후 조건에 따라 가공하는 것이 아닌, 쿼리 자체에서 조건을 통해 실행한 데이터를 가져와서 가공하므로, 대용량의 데이터일 경우 보다 더 빠르게 데이터를 조회하는 방식이다. - 물론 조건이란 말에 맞게 crud 방식에 쓰일 뿐만 아니라 여러 쿼리문에서도 사용가능하다. * 출처 : https://mybatis.org/mybatis-.......

Naver Blog

대학-중용 도서 리뷰

- 이 책은 노원정보도서관에서 대여받은 책이다. - 이 책은 사람으로서의 도리를 알려준 책이다. - 대학과 중용란 고서의 전체내용을 알 순 없었지만 해당 책을 통해 성인은 타고나는 것이 아닌 되는 것을 조금이나마 느끼지 않았나 싶다. - 이 책은 '중도'를 주로 얘기하는데, 중도는 자신의 위치와 사회에 맞는 행동만 얘기하는 것이 아니라 마음가짐과 생각을 갖춰야 함을 주로 얘기한다. - 몸과 마음가짐을 늘 깨끗이 여기며 성실한 마음가짐과 행동이 인생에서 매우 큰 이정표라는 걸 느꼈다.

Naver Blog

MyBatis(마이바티스) - choose, when, otherwise

MyBatis(마이바티스) - choose, when, otherwise - 마이바티스에선 DB에서 사용했던 쿼리문을 대부분 사용할 수 있다. - 기준값을 가지고 선택사항에 맞춰서 실행하는, 프로그래밍 문법으로 Switch 구문과 가깝다. 마이바티스 - choose, when, otherwise 예시 * 예제 내용의 choose로 인해 SELECT * FROM BLOG WHERE state = ‘ACTIVE’ 다음에 붙을 실행 내용이 3가지이다. ①. title 파라미터 값이 null이 아닐 경우 'AND title like #{title}'이 실행된다. ②. title이 null이되, author파라미터 값이 null이 아니고 author파라미터의 name값이 null이 아닐 경우 'AND author_name like #{author.name}'이 실행된다.......

Naver Blog

논어 독서 후기

- 해당 책은 노원정보도서관에서 대여하여 읽은 책이다. - 논어란, 공자와 그의 제자들이 문답한 내용을 저술한 책으로써 사람이란 무엇인가에 대해서 역사를 통해 얘기하는 책이다. - 사람들은 다른 사람을 객관적으로 본다고 하지만, 실질적으로 보면 현재 자신의 환경과 사회적 위치 등을 기반으로 하여 남을 주관적으로 평가하기 마련인데, 이는 자신이 내뱉은 말과 다른 사람의 행동이 따로 노는 경우가 있다. - 그런 점에서 보면, 논어는 이를 분리하여 사람을 객관적으로 보는 것과 자신을 제대로 보는 것에 주력한 문답이였으며, 어진 것이란 무엇인가에 대해 의문을 갖게 해줬다. - 개인적으로 좋아하는 문구는 '통달이란 정직하고.......

Naver Blog

JavaScript - a태그 클릭 시 페이지 이동 막기

- a태그는 클릭하면 작성된 href, 경로로 이동되는 걸 알 수 있는데, 클릭 시 추가 옵션을 적용할 수 있는 방법이 있다. - a태그의 onclick 속성에 값을 적는 것인데, 클릭 시 href로 이동하기 싫다면 onclick="return false;"란 조건을 줘서 클릭 시 href를 수행하지 않는 방법이 있다.

Naver Blog

MyBatis(마이바티스) - select

MyBatis(마이바티스) - select - 마이바티스에선 DB에서 사용했던 쿼리문을 대부분 사용할 수 있다. - 소위 ,CRUD(생성, 읽기, 수정, 삭제)의 옵션 중 하나인 SELECT를 알아보자 마이바티스 select 예시 - 기존의 select의 SQL문법은 사용할 DB에 맞춰서 사용하면 되며 select를 사용하는데 select를 사용하기 위해 필요한 id명과 결과를 반환받기 위해 필요한 resultType은 반드시 작성해야한다. - 그럼, 그중에 알아야 할 것들이 있을텐데, 위에서 생소한 #{userId}, #{userPw}가 보일 것이다. - #{변수명}을 사용하면 해당 변수값을 사용할 수 있는 것인데, 이는 주로 preparedStatement에서 변수명으로 받은 값을 넣기에 제적이다. 마이바티.......

Naver Blog

MyBatis(마이바티스) - insert, update, delete

MyBatis(마이바티스) - insert, update, delete - 마이바티스에선 DB에서 사용했던 쿼리문을 대부분 사용할 수 있다. - CRUD(생성, 읽기, 수정, 삭제)의 옵션 중 수정과 삭제를 알아보자 마이바티스 insert, update, delete 예시 - db에서 동작하는 SQL문법에 따라 insert는 내용을 삽입, update는 수정, delete는 삭제를 실행한다. - 쿼리문 실행 시 해당 구문의 id에 맞춰 #{변수명}의 파라미터 값에 따른 쿼리문을 실행한다. 마이바티스 insert, update, delete 속성 - 또한, insert, update 그리고 delete은 마이바티스에서 같은 속성을 쓰므로 속성을 알면 insert, update, delete 모두 적용할 수 있다.(사실 select와 같은 속성을 쓴다.) -.......

Naver Blog

꿈의 해석 독서 후기

- 본 책은 노원정보서관에서 대여받은 책입니다. - '불면증이 심해서 잠을 잘 때 도움이 되지 않을까?'란 생각으로 시작하여 읽게된 책이다. - 프로이트는 사람들의 정신 상담을 통해 상담받는 사람들이 얼만큼 현실과 동떨어진 상황이거나 지극히 현실적인 꿈을 해석하면서 본질 또는 욕구를 끄집어 내는 공식을 구현한 사람이 아닌가 싶었다. - 물론, 자신이 다뤘던 상담건에 대해 모든 꿈을 해석하는 공식을 만들순 없겠지만, 정신 상담을 통해 꿈이란 크게 소망, 욕망, 무의식, 과거, 왜곡 5가지로 나눠진 걸 알 수 있었다. - 꿈은 사람에게 심리적 방벽이 가장 낮아진 상황에서 자신이 봤었던 과거로부터 무의식에 있던 내용과 왜.......

Naver Blog

MyBatis(마이바티스) - selectkey

MyBatis(마이바티스) - selectkey - 마이바티스에선 DB에서 사용했던 쿼리문을 대부분 사용할 수 있다. - 흔히 순서를 나타내는 값을 넣을때 우린 sequence(이하 시퀀스)를 해당 순서값 컬럼에 순차적으로 증가된 값을 넣었는데, 마이바티스에선 selectkey가 시퀀스와 같은 기능을 수행할 수 있다. 마이바티스 selectKey 예시 - selectKey구문을 쓰기 위해 insert구문 안에서 작성한 걸 볼 수 있다. - selectkey의 키프로퍼티를 'no'로 설정하여 insert문에 사용한 걸 볼 수 있다.(해당 selectkey에 사용되는 'no'는 setter / getter 메소드가 존재해야한다.) - order는 insert구문이 실행되기 전/후를 결정짓는 속성으로 in.......

Naver Blog

MyBatis(마이바티스) - 파라미터(Parameter)

MyBatis(마이바티스) - 파라미터(Parameter) - 마이바티스에선 DB에서 사용했던 쿼리문을 대부분 사용할 수 있다. - 데이터를 주고 받을 땐 특정 매개변수를 주고 받는데 이러한 매개변수를 파라미터라고 한다. 마이바티스 parameter 예시 - 일반적으로 SELECT문을 쓸 때 보통 ID명과 반환타입, 파라미터 타입을 명시하여 사용하는게 대부분의 형태인데, 이런 방법이 아닌 파라미터에 직접 데이터 타입을 명시할 수 있다. - parameterMap의 파라미터와 칼럼명이 일치한 클래스가 있을때 - 위의 클래스명을 파라미터맵의 class에 작성한 다음 파라미터맵에 들어갈 키(파라미터명)과 그에 해당하는 타입을 작성한다음, 파라미터맵을 그대로 사용하.......

Naver Blog

MyBatis(마이바티스) - ResultType, ResultMap

MyBatis(마이바티스) - ResultType, ResultMap - 마이바티스에선 DB에서 사용했던 쿼리문을 대부분 사용할 수 있다. - result, 즉 결과(반환)과 관련된 속성으로 resultType = 반환타입, resultMap = 반환타입이 작성된 Map을 의미한다. 마이바티스 resultType, resultMap 예시 - 해당 쿼리문을 실행했을 때 resultType="int"에 의해 조회 반환타입은 반드시 int형으로 나와야한다. - resultMap의 파라미터와 칼럼명이 일치한 클래스가 있을때 - 해당 resultMap에 타입을 적어준뒤 그 안에 사용될 파라미터 id와 반환될 파라미터의 내용을 작성한 다음 아래와 같이 사용할 수 있다. - resultMap 속성과 설명은 다음과 같.......

Naver Blog

MyBatis(마이바티스) - id, result

MyBatis(마이바티스) - id, result - 마이바티스에선 DB에서 사용했던 쿼리문을 대부분 사용할 수 있다. - 그냥 이름에 맞게 간단한 매핑을 할 수 있다. id면 id를 result면 result를 쓰면 된다. 마이바티스 id, result 예시 - 기본적인 형태로 구분자로 사용될 property와 매핑된 칼럼명을 작성한다. - 또한 id, result 속성과 설명은 다음과 같다. * 출처 : https://mybatis.org/mybatis-3/ko/sqlmap-xml.html

Naver Blog

MyBatis(마이바티스) - JDBC 타입

MyBatis(마이바티스) - JDBC 타입 - 마이바티스에선 DB에서 사용했던 쿼리문을 대부분 사용할 수 있다. - DB를 연결하여 사용하는 만큼 지원하는 JDBC 타입이 있다. 마이바티스 JDBC 타입 - 공식 홈페이지의 JDBCTYPE은 다음과 같이 설명한다. - NULL이 들어갈 수 있는 값에만 설정이 가능하단 점.. 말곤 딱히 필요성을 느낄지 모르겠지만 타입종류는 아래와 같다. * 출처 : https://mybatis.org/mybatis-3/ko/sqlmap-xml.html

Naver Blog

Plugin - Timeline.js

Plugin - Timeline.js - Timeline.js은 무료 플러그인으로, 타임라인을 보여주고 사용하는 플러그인이다. - 특정 기간의 내용을 작성할 때 사용한다. - 해당 플러그인과 사용용도는 아래의 홈페이지에서 볼 수 있다. - 대체로 사용법을 봤을 때, 입력란 선택 시 아래와 같이 표현된다. - 개발자도구로 봤을 때 날짜와 관련된 div창이 생기는 것을 볼 수 있으며, 선택한 값에 맞춰 prev(선택 값의 바로 이전 위치), active(선택 값의 위치), next(선택 값의 바로 다음 위치)로 다루는 걸 볼 수 있다. Timeline.js의 주요 옵션 - 자동 사용 - 보여지는 속도 조절 - 클래스명을 이용하여 커스터마이징 - 선택한 값과 이전, 다음 위치의 값 설정 - 자.......

Naver Blog

Plugin - ScrollMe

Plugin - ScrollMe - ScrollMe은 무료 플러그인으로, 스크롤의 위치에 따라 페이지 안 요소 상태를 변경하는 플러그인이다. - 메인 페이지나, 스크롤의 위치에 따라 특정 요소를 강조할 때 도움이 된다. - 해당 플러그인과 사용용도는 url(http://scrollme.nckprsn.com/)에서 볼 수 있으며 아래 github를 통해 다운받을 수 있다. - 사용 방법과 예제는 해당 url에서 사용할 수 있다. - 대체로 사용법을 봤을 때, 스크롤 위치에 따라 이벤트가 적용되는 걸 볼 수 있다. - 개발자도구로 봤을 때 js파일에 스크롤과 관련된 div창에 애니메이션 효과를 줘서 스크롤 이동에 따라 해당 클래스에 애니메이션 효과를 주는 걸 볼 수 있다. ScrollMe 옵션들.......

Naver Blog

Plugin - PagePiling.js

Plugin - PagePiling.js -PagePiling.js은 무료 플러그인으로, 페이지의 레이아웃 영역을 파일화하여 스크롤에 맞춰 파일을 보여주는 웹 반응형 페이지 원 스크롤링 플러그인이다. - 오래된 브라우저와 최신 브라우저 모두 작동되며, 모바일도 작동되는 점이 가장 큰 강점인것 같다. - 다운로드와 예제는 아래의 홈페이지에서 볼 수 있다. - 대체로 사용법을 봤을 때 스크롤 영향받는 페이지를 로딩하는 만큼, 화면이 높은 화질이 요구할 경우 시간이 걸리는 듯한 느낌이 조금 있기에, 그렇게 가벼워보이진 않는다. - 개발자도구로 봤을 때 날짜와 관련된 div창이 생기는 것을 볼 수 있으며, 스크롤이나 페이지의 위치에 따라 'active'.......

Naver Blog

오늘일기 - 1일차

밤을 샌 날이다보니 현재 피곤하고, 헤어스타일을 바꾸기 위해 아침부터 미용실에 가서 펌을 한 다음, 친구와 만나며 롤도 하고 술도 먹고 한 날

Naver Blog

Plugin - multiscroll.js

Plugin - multiscroll.js - multiscroll.js은 분할 스크롤 기능을 통해 콘텐츠를 스크롤 할 때 원하는 분할 화면을 만드는 플러그인이다. * 해당 플러그인과 사용용도는 아래의 홈페이지에서 볼 수 있다. - 플러그인 예시 홈페이지 - github 홈페이지 - 설명 홈페이지를 보니, div창 2개를 두고,section영역에서 left와 right div창에 class에 active를 작성하여 적용하는 걸 볼 수 있었다.

Naver Blog

자바 기초 47 - JUnit

자바 기초 47 - JUnit - 자바용 단위 테스트 도구로 사용되는 라이브러리로, 방대한 코드에서 테스트를 진행할 때 사용하는 라이브러리이다. JUnit 추가 1. 사용할 프로젝트에 JUnit 라이브러리를 추가하기 위해 프로젝트 우 클릭 > Build Path > Add Libraries를 클릭 2. JUnit을 클릭한 뒤 next 3. finish를 눌러주자 4. JUNIT 5란 라이브러리가 추가된 걸 볼 수 있다. JUnit의 주요 Annotation JUnit의 주요 메서드 - 테스트란 이름에 맞춰 조건 내용인 a를 넣어 b(개발자가 원한 값)이 나오기 위해 비교한다. - assertEquals(a, b)를 쓸 때 b를 'is'로 감싸 is(b)로도 작성이 가능하다. (가독성 용이) - assertEquals(a, b)를.......

Naver Blog

Persistence Framework(퍼시스턴스 프레임워크)

Persistence Framework(퍼시스턴스 프레임워크) - 이름을 해석하면 지속성 프레임워크로 데이터를 다루는데 필요한 저장, 조회, 변경, 삭제를 구현하기 위한 클래스 및 설정 파일들의 집합이다. - 흔히 JDBC 프로그래밍의 복잡함과 번거로움을 조금이나마 줄여준 방법 - 퍼시스턴스 프레임워크는 SQL문장으로 DB를 다루는, 쿼리문에 초점을 둔 'SQL 매퍼'프레임워크와 자바 객체를 통해 간접적으로 DB를 다루는 'ORM'프레임워크가 있다. - SQL 매퍼 : SQL문을 매핑해서 데이터를 객체화한 기술, DB 설계가 복잡할 경우 추천하는 방식이며 사용하는 프레임워크로 iBatis, MyBatis가 있다. - ORM : '오브젝트 관계형 매핑.......

Naver Blog

Persistence Framework - MyBatis(마이바티스)

Persistence Framework - MyBatis(마이바티스) - MyBatis(이하 마이바티스) 'SQL매퍼' 프레임워크 중 하나로, 공식 홈페이지에 의하면 마이바티스는 'SQL문장으로 실행하는 내용들과 그에 맞춰 연결된 매핑, 파라미터 설정들을 대신하는 퍼시스턴스 프레임워크'라고 설명하고 있다. - 모든 마이바티스 애플리케이션은 SqlSessionFactory 인스턴스를 사용하는데, 이 SqlSessionFactory 인스턴스는 애플리케이션이 실행되는 동안에만 존재해야하는 인스턴스로, 한번 생성한 뒤, 재생성하거나 삭제할 필요가 없다. - 애플리케이션 스코프에 SqlSessionFactory인스턴스를 사용하며 생명주기를 싱글톤 방식으로 관리한다. - SqlSe.......

Naver Blog

에이트 씽크 독서 후기

- 본 책은 노원정보도서관에서 대여받은 책이다. - 이 책은 최근 코로나로 인해 비대면 서비스가 성장하고, 투기성이 팽배한 사회에서 비트코인과 주식으로 돈을 버는 세상인만큼 수학과 과학을 공부하면 적어도 눈뜨고 코베이진 않는다는 걸 얘기하지 않았나 싶다. - 책을 읽으며 느낀건 삶을 살아가는데 있어 가장 중요하게 여기는 것으로 끝나는 게 아닌, 실제로 생각하고 행동하는 것을 설명하는 책이였다. - 필자가 읽은 지금까지의 자기 계발 책은 사회적 지위와 위치보다 자신을 돌아보고 생각의 전환을 통해 유연성을 강조하여 자신의 성장력을 멈추는 반면, 이 책은 새삼 다르게 인문학에 대해 설명하며, 옛 현인들의 글을 통해 얻는 지.......

Naver Blog

유니티 - 오브젝트 위치 배치 및 설정

유니티 - 오브젝트 위치 배치 및 설정 - 본 글은 유니티에서 오브젝트 위치 배치 및 설정을 다루는 글이다. 오브젝트 위치 배치방법 및 설정 1. 새 프로젝트에서 시점을 조절하기 위해 우측 상단, 사각형에 원뿔 4개가 달린게 보일텐데 원뿔 부분을 클릭해서 'z'를 위로 'x'를 우측으로 변경해놓자 - 수학시간에 배웠던 좌표와 조금 동일하기에 X를 우측으로 냅뒀다. 2. 바닥을 만들기 위해 좌측 Hierarchy 아래 '+'를 클릭, 3d object > cube를 클릭하면 가운데에 큐브가 생성된다. - cube로 한 이유는 정육면체인만큼 좌표를 설명하는데 편리하기 때문이다. 3. cube를 선택하면 해당 큐브의 좌표가 찍히는데.......

Naver Blog

지적 대화를 위한 넓고 얕은 지식 1 독서 후기

지적 대화를 위한 넓고 얕은 지식 1 독서 후기 - 해당 책은 노원정보도서관에서 대여하여 읽은 책이다. - 어찌보면 어렵지만 당연히 알아야 할 5가지의 큰 범주를 간략하게 다룬 책으로 사회에 맞춰 넓지만 얕은 지식을 간략하게 다루는 책이다. - 이 책은 순서대로 읽기를 권장하지만, 자신의 원하는 목차를 선택하여 읽어도 어렵지 않은 책이며, 원하는 부분만 읽어도 5가지의 내용이 유기적이기에 읽다보면 자연스레 5가지 목차를 다 읽을정도로 꽤 괜찮게 본 책이였다. - 현 사회에서 자신의 스탠스를 어떻게 유지해야할 지 모르는 사람들, 일상을 살아가는데 바쁘게 사는 젊은 세대에게 추천하는 책이다.

Naver Blog

아티스트 웨이: 나를 위한 12주간의 창조성 워크숍 독서 후기

아티스트 웨이: 나를 위한 12주간의 창조성 워크숍 독서 후기 - 해당 책은 노원정보도서관에서 대여하여 읽은 책이다. - 이 책은 아티스트 웨이, 즉 예술가의 길을 설명하면서 '모든 사람은 창조물이자 창조자이다'란 전제조건을 갖추고 시작한다. - 아티스트, 즉 예술가란 자신의 상황에 맞춰서 다른 사람들과 마찰이 있을 수 밖에 없는 만큼 현대사회에서 다른 사람들의 요구사항, 사회에서 필요한 것을 어쩔수 없이 배우고 행하며 잃어버린 자신에 대해서 찾아가는 길을 단계적으로 밟아가는 것을 제시한다. - 현대 사회에서 자극적인 매체와 생활을 접한 현대인들에게 자신의 본질을 깨닫고 독립적인 영혼으로서 살아가는 방법에 대.......

Naver Blog

Plugin - jQuery Date Range Picker

Plugin - jQuery Date Range Picker - jQuery Date Range Picker은 무료 플러그인으로, 사용자가 날짜 범위를 선택할 수 있는 jQuery 플러그인이다. - 날짜 범위를 선택 기능을 필요로 할 때 사용하자 - 해당 플러그인과 사용용도는 아래의 홈페이지에서 볼 수 있다. - 대체로 사용법을 봤을 때, 입력란 선택 시 아래와 같이 표현된다. - 개발자도구로 봤을 때 날짜와 관련된 div창이 생기는 것을 볼 수 있으며, focus를 벗어나거나, 입력란과 하단 div창을 제외한 공간을 클릭 할 경우 'display:none;'이 되는 것을 볼 수 있다. - 참고로 우측의 show Config를 누르면 해당 소스를 볼 수 있다. jQuery Date Range Picker의 주요 기능.......

Naver Blog

Plugin - bxSilder

Plugin - bxSilder - bxSilder은 무료 플러그인으로, 이름에서 볼 수 있듯이, 슬라이드와 관련된 플러그인이다. - 주로, 쇼핑몰과 같은 이미지를 슬라이드로 넘기는 메인 화면에 쓰인다. - 해당 플러그인과 사용용도는 아래의 홈페이지에서 볼 수 있다. - 대체로 사용법을 봤을 때, 버튼 클릭 시 다음 이미지를 보여준다. - 개발자도구로 봤을 때 슬라이더에 보여질 이미지를 각각의 div창에 넣은 뒤 그것을 감싼 div창을 구현한 것으로 보인다. bxSilder의 용도와 사용방법 - 위의 설명에서 볼 수 있듯이, 특정 파일(사진과 그림)을 슬라이드에 구현할 때 주로 쓰이는 걸 볼 수 있다. 1) bxSilder 파일 연결 - 다운로드 받은 파일 연결 - CDN을.......

Naver Blog

jqueryscript.net - 제이쿼리 플러그인 모음 사이트

jqueryscript.net https://www.jqueryscript.net/ - 해당 사이트는 제이쿼리 플러그인 모음 사이트이다. - 헤더를 봤을 때, home과 카테고리, 최근 제이쿼리 플러그인, 가장 많이 사용하는 플러그인, 추천 플러그인, blog로 구성되어 있다. - 카테고리를 봤을 때 여러 종류가 많은 것을 볼 수 있다. - 내용을 봤을 때 대체로 무료 플러그인으로 추정되며, 찾아봤을 때 무료인지 유료인지 인지하길 바란다. * 플러그인 내용과 사용방법 - 해당 파일에 대한 내용을 기술하고 있으며 하단 아래에 사용방법이 작성되어 있다.

Naver Blog

소크라테스의 변명 독서 후기

소크라테스의 변명 - 해당 책은 노원정보도서관에서 대여하여 읽은 책이다. - 책을 읽으며 소크라테스의 죽음에 대해 군중 심리를 통해 보여지는 다수결의 불합리성과 그로 인해 발생하는 일반화의 오류를 볼 수 있었다. - 우리가 단체로 의견을 모으거나 제시할 때 기본적으로 지키는 3가지 원칙이 있다. 첫번째는 개인의 환경과 생각, 두번째로 사회적 통념, 세번째로 적용 대상자의 상태와 환경이다. - 책에서 말하는 소크라테스의 죽음은 각자의 사회적 위치와 살아왔던 환경으로 인해 옳고 그름을 구별하지 못하는 현 시대의 문제점을 조금이나마 보는 느낌을 받았는데, 자극적인 기사와 방송을 통해 정보를 접한 사람들이 사실확인과 상관.......

Naver Blog

C# - 상속

C# - 상속 - 상속, 즉 누군가로부터 어떤 걸 물려 받는 걸 의미한다. - C#은 객체 지향 프로그래밍 방식인만큼 객체를 모듈화하여 사용한다고 했다. - 모듈에서 특정 속성을 빼서 사용하고 싶을 때 상속을 사용한다고 할 수 있다. - 즉, 부모 클래스의 기능을 자식 클래스가 물려받으며 물려받은 내용을 사용할 수 있는 방식이다. 실행환경 - OS : Windows 10 64bit - IDE : Visual Studio 2019 프로젝트 생성 및 실행 절차 1. VS 2019에서 Console Application 프로젝트 생성 후, 아래와 같이 작성 - 각각 자식, 부모 클래스를 작성한뒤 자식 클래스명 뒤에 ' : 부모클래스명 '을 작성하여 상속관계를 나타낸다. - C#은 base란 키워드.......

Naver Blog

C# - 다형성

C# - 다형성 - 다형성, 다양한 형태를 의미한다. - 콜라로 예로 들면 콜라는 대체로 코카 콜라와 펩시가 말하지만 둘 다 콜라다. - 얼핏 보면 같지만(색상과 탄산도 비슷하다) 맛보면(자세히 보면) 다르듯이 다형성이 이런 의미를 갖고 있다. - 객체지향 프로그래밍 방식에서는 다형성의 2가지 개념이 있는데, 오버로딩과 오버라이딩이 있다. - 오버로딩 : 이름이 같지만, 매개변수와 반환타입이 다른 method로도 사용한다. - 오버라이딩 : 부모 클래스의 method를 자식 클래스에서 재정의하여 사용한다. - 이번 글은 오버라이딩과 오버로딩을 다루고자 한다. 실행환경 - OS : Windows 10 64bit - IDE : Visual Studio 2019 프로젝트 생성 및 실.......

Naver Blog

C# - 추상 클래스

C# - 추상 클래스 - 흔히 리모컨으로 조종한다고 할 때, 버튼으로 빨리감기 또는 되감기를 진행할 수 있듯이, 조종 버튼이란 큰 범주 내에 빨리감기, 되감기 기능등의 작은 범주를 구현하는 것처럼 공통 기능의 틀은 갖추되 사용 목적에 따라 다르게 해석될 수 있는 클래스를 의미한다. - 추상 클래스 : 추상적인 틀을 갖춘 구체적이지 않은 클래스 - 추상 메서드 : 선언부(접근제한자, 반환타입, 명칭은 적시)는 있지만, 구현부(실행 내용은 적시되지 않음)는 없다. - 이번 글은 C#에서 사용하는 추상클래스와 그 안에서 존재하는 추상 메서드, 즉 선언부는 있지만, 구현부가 없는 내용이 없는 메소드를 알아보고자 한다. - VS 2019의 Console A.......