본문 바로가기
반응형

웹개발/기타19

mybatis Foreach & List변수로 동적으로 쿼리 생성하기 1. List 형태의 데이터를 사용해서 만들기. 밑에 inputList ,inputList2가 List 형태 변수다. SELECT '${map2.키값}' AS COL_${idx2} FROM table WHERE ROWNUM = 1 UNION ALL 2. 또한 포문을 사용하지 않고 직접적으로 #{inputList[0].키값} 이런식으로 직접 접근도 가능하다. 2023. 7. 7.
Mybatis selectKey 컬럼 여러 개 사용 1. selectKey 컬럼 여러 개 사용 Mybatis 3.2.6 버전부터는 selectKey에 여러 개 컬럼의 데이터를 조회할 수 있다. 여러 개의 컬럼을 가져오기 위해서는 keyColumn이라는 속성을 설정해주어야 한다. INSERT INTO user(user_id, user_name, column1, column2) VALUES (#{userId}, #{userName}, #{column1}, #{column2}) SELECT user_id, user_name FROM user WHERE column1 = #{column1} AND column2 = #{column2} 데이터가 삽입된 이후에 특정한 조건에 맞는 컬럼들의 데이터를 조회한다. 주의할 점은 selectKey를 통해서 나오는 데이터의 r.. 2023. 7. 7.
IE실행시 자동으로 무조건 EDGE가 열린다면.. IE를 꼭 써야하는 상황이 있는데 EDGE로 무조건 넘어갈때가 있다. 그럴때는 밑에 코드를 bat 파일로 만들어 관리자 권한으로 실행시키면 된다. 자동으로 레지스트리를 수정해준다. (테스트는 윈도우 10에서만 했습니다. 11사용자는 주의필요.) Copyright (C) 2023 NPIX Studio. 김루노 레지스트리 관련 기술지원. 2CPU 커뮤니티의 dateno1님 감사합니다. -------------------------------------------------------------------------------------------- @echo off TITLE IE 브라우저 실행 시 엣지브라우저로 리디렉션 방지 REM 개새닷컴(https://gaesae.com) REM Copyright (C.. 2023. 5. 9.
mybatis 한번에 여러개 쿼리 작성하기. MS-SQL 은 별도에 선언문 없이 이어서 쿼리를 여러개 작성 가능하다. 하지만 ORACLE같은 경우는 밑에와 같은 구조로 선언해야한다. PL/SQL의 블록 구조 -- 전체가 하나의 블록이고 구성요소는 아래와 같다 DECLARE -- 선언부(옵션, 생략가능) -- 변수나 상수를 정의 BEGIN -- 실행부 (필수, BEGEN-END) -- 로직 수행 (일반 SQL문, 조건문, 반복문 등) EXCEPTION -- 예외 처리부(옵션, 생략 가능) - 보통생략한다. END; 2023. 3. 29.
웹 소스 브라우저에 디버깅하기 - 디비깅 기초부터 총괄 https://youtu.be/L52UucF_y0U?list=PL8fa6cNjxD5vvtB7SjKy3ShYhzHXJLbMG - 디버깅시 console 활용법 https://www.youtube.com/watch?v=LEcExA5TGZg&list=PL8fa6cNjxD5vvtB7SjKy3ShYhzHXJLbMG&index=6 - HTML 특정요소에 이벤트 유무 및 자동으로 중단점 추가하기 https://youtu.be/ZdBv8h5Jteo?list=PL8fa6cNjxD5vvtB7SjKy3ShYhzHXJLbMG - HTML 특정요소에 속성(setValue등에 구문에서 멈춤),하위트리수정,노드삭제시 중단점 추가하기 - XHR(비동기 통신) 중단점 추가하기 https://youtu.be/P.. 2023. 3. 18.
spring modleAndView 404 OR tomcat 404 페이지를 못찾는 경우. 1. spring 에서 404가발생하는 경우는 DispatcherServlet에 정의 된 viewResolver의 prefix경로를 확인해봐야한다. 설정된 경로와 확장자가 이상없는지 확인해봐야한다. 자세한 내용 : https://hello-walnuty.tistory.com/16 1. spring 설정에 전혀 문제가 없다면 톰캣에 work 디렉토리를 살펴봐야한다. work 디렉토리는 그 이름에서 알 수 있듯이 runtime에 필요한 파일들, 예를들어 JSP로부터 변환된 서블릿코드(java파일), 또 그것을 compile하여 발생된 class파일 그리고 세션 파일들이 상주하는 공간이다. 이곳에 문제가 생겨 jsp파일을 읽지 못하는 경우도 있다. 이경우는 work디렉토리를 다른곳에 백업 후 삭제. 톰캣을 재.. 2022. 11. 24.
네이버 (웹에디터) 스마트 에디터 네이버 스마트에디터가 가장깔끔하고 오픈소스에 심플한 느낌.. 일단 네이버 Developers 경로 https://developers.naver.com/opensource/tools/editor/ 배포경로가 https://github.com/naver/smarteditor2로 바뀌었습니다. SmartEditor 3.0은 대외 공개하고 있지 않습니다. 라고 한다. GitHub에서 받을 수 있고 매우 친절하다? 유저 가이드 http://naver.github.io/smarteditor2/user_guide/ SmartEditor2는 JavaScript로 구현된 웹 기반의 WYSIWYG 편집기이다. 글꼴, 글자 크기, 줄 간격 등을 자유롭게 설정할 수 있으며, 단어 찾기/바꾸기와 같은 편리한 기능을 제공한다. .. 2022. 11. 23.
웹 캐시 저장 방지하기 밑에 설정들은 캐시 방지용이지 기존에 있던 캐시를 삭제하는 기능은 아니다. 기존에 있던 캐시를 무시하는건 쿼리스트링에 ver을 넣어 호출하는 방법이 있다. (이렇게 하면 스크립트 버전을 관리해야하기 때문에 불편해질수 있다.) => 참고 : https://domdom.tistory.com/m/entry/%EC%BA%90%EC%8B%9C%EB%B0%A9%EC%A7%80-%EC%9B%B9-%EA%B0%9C%EB%B0%9C-%EC%8B%9C-CSS-JS-Image-%EC%BA%90%EC%8B%9C-%EB%B0%A9%EC%A7%80%ED%95%98%EB%8A%94-%EB%B2%95 HTML 파일에 설정 : JSP 파일에 설정 : Spring MVC Controller methods 설정 : @Controller .. 2022. 10. 17.
이클립스에서 변경된 소스 자동으로 refresh 하기 로컬에서 web경로로 이미지 업로드 및 이클립스가 아닌 외부 프로그램(넥사크로등)에서 웹소스를 변경시이클립스에서 F5 refresh 를 하지 않는 이상은 로컬 서버(톰캣)에서 인식하지 못한다. window-preference -> general-workspace 에refresh using native hooks or polling 과 save automatically before build 이 두 항목을 체크해주면빌드 되기전에 리프레시를 먼저 하여 파일을 인식할 수 있게 된다.  Preferences -> Run/Debug -> Launching -> "Save required dirty editors before launching"을 Always로... 2022. 10. 17.
Spring + MyBatis 쿼리 수정 시 재 시작 없이 반영하기 출처 : https://shxrecord.tistory.com/196 Spring + MyBatis 환경에서 개발하다보면 xml 파일을 수정할 때마다 서버를 재실행해주어야하는 불편함을 느끼셨을 겁니다. 아마도 가장 큰 불편함은 특정 페이지를 개발하다가 서버를 재실행하면 세션이 끊겨 다시 그 페이지로 가는 과정(+또는 행동)을 거쳐야하는 게 아닐까 싶습니다. 본 포스팅에서는 xml 파일 수정시 서버의 재실행없이 반영되게 하는 방법을 정리해보았습니다. ※ 테스트 환경 jdk 1.8 Eclipse 2019-06 Spring Framework 4.3 MyBatis 3.4.6 MariaDB 설정을 하기 앞서 Class 파일이 필요하다. 아래 소스를 원하는 패키지 경로에 추가한다. RefreshableSqlSess.. 2022. 7. 26.
쿠키의 보안 취약점 출처사이트 : https://uoonleen.tistory.com/m/65 쿠키의 보안 취약점 1) XSS(Cross-Site Scripting) 공격 XSS 공격은 자바스크립트가 사용자의 컴퓨터에서 실행된다는 점을 이용한 공격입니다. 자바스크립트에서 "document.cookie"라는 명령어는 사이트에서 쿠키 값을 활용할 수 있게 하는 역할을 하지만 공격자들은 쿠키 값을 탈취하기 위해서 사용하기도 합니다. 2) 스니핑(Sniffing) 공격 스니핑이란 단어의 사전적 의미는 '코를 훌쩍이는, 킁킁거리며 냄새를 맡는' 입니다. 사전적 의미와 같이 스니핑 공격은 네트워크의 중간에서 남의 패킷 정보를 도청하는 해킹 유형의 하나입니다. 수동적 공격에 해당하며, 도청할 수 있도록 설치되는 도구를 스니퍼(Sniff.. 2022. 2. 18.
WebtoB 에서 TLSv1.2 지원 확인하는 방법 출처사이트 : https://sarc.io/index.php/was/2026-webtob-tlsv1-2 1. 개요 2020년 상반기, 주요 브라우저의 TLSv1.2 미만 지원 종료 건 관련하여 많은 웹시스템들의 Openssl 버전 업그레이드 및 WEB서버의 업그레이드 등이 이루어지고 있는데요, Openssl을 사용하지 않는 WebtoB의 경우에는 WBSSL 이라는 모듈을 사용하기 때문에 WebtoB만 업그레이드 해주면 됩니다. WebtoB 몇 버전부터 TLSv1.2 프로토콜을 지원하는지와 TLSv1.2로만 통신하도록 설정하고 확인하는 방법에 대해 알아보겠습니다. :) 2. TLSv1.2 프로토콜 지원하는 WebtoB 버전 WebtoB 4.1.5.3 버전부터 TLSv1.2 프로토콜을 지원하기 시작했습니다... 2022. 2. 17.
xss 방지 Lucy-xss-servlet-filter 적용하기 웹 개발을 할 때 보안은 중요한 요소입니다. 오늘 포스팅할 내용은 웹 취약점 공격 방법의 일종 중 하나인 XSS를 방어하는 방법에 관한 것입니다. 테스트 환경 JDK 1.8 Spring 4.3.14 Tomcat 9.0 XSS(Cross Site Scripting) XSS는 웹 어플리케이션에 악의적으로 스크립트를 삽입해 공격하는 기법을 말한다. 만약 웹 어플리케이션에서 데이터를 서버로 저장할 때(게시판에 글을 쓴다던지. 회원 정보를 수정한다던지) 데이터를 검증하지 않거나 XSS에 대한 방어 대비가 없다면 스크립트가 포함된 데이터가 저장되어 유저로 하여금 원치 않는 스크립트를 실행시킬 수 있다. 이러한 방식의 위험성은 일반적으로 자바스크립트에서 발생하지만 VB 스크립트, Active X등과 같은 동적 데이터.. 2022. 2. 17.
암호와 종류 (양방향 / 단방향) 출처사이트 : https://galid1.tistory.com/339 단방향 암호화와 양방향 암호화 1. 단방향 암호화 - 평문을 암호문으로 암호화 하는것은 가능하지만 암호문을 평문으로 복호화하는 것은 불가능한 암호화 방법 이러한 암호화 방식이 필요가 없다고 생각할 수 있지만 복호화가 필요없는 경우의 암호화 방식이 더 유용한 경우가 있다 이러한 경우가 바로 "패스워드"이다 패스워드를 단방향 암호화 방식으로 저장하는 경우 패스워드DB가 털릴 경우에도 안전할 수 있다 또 패스워드를 검증할 때에는 사용자로부터 입력받은 암호를 똑같은 방식으로 암호화 하여 암호화된 패스워드 끼리 비교를하면 되기 때문이다 단방향 암호화 종류 - 암호학적 해시 함수가 이에 해당한다 1) MD5 - 현재는 안전하지 않으므로 사용하지 .. 2022. 2. 17.
log4j 파일별 특정 로그 제외하거나 특정 데이터만 쌓는 방법 출처사이트 : https://lemontia.tistory.com/440 log4j.xml 파일에 다음의 항목을 추가한다. 빨간색으로 그은 부분이 그것인데, 이렇게 설정해두면 Mapper에다 ==IGNORE_LOG== 를 넣으면 해당 쿼리에 대한 로그를 출력하지 않는다. 사용예) /* 테스트 ==IGNORE_LOG== */ select t1, t2 from test; 2022. 2. 17.
ajax 에서 배열을넘겨 JAVA 에서 확인 하기 ajax 에서 배열을넘겨 JAVA 에서 확인할수있다 traditional 옵션을 넣어주면 간단하게 되는거지만 대부분 삽질을 하게된다 1.javascript 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 var arr = ['aa', 'bb', 'cc']; $.ajax({ method : 'POST', url : 'test.do', traditional : true, data : { 'main' : arr }, success : function(data) { alert(data); }, error : function(request, status, error) { alert(error); } }); Colored by Color Scripter cs 2.JAVA 1 2 3 4 5.. 2021. 8. 12.
GNU / GPL 라이센스 출처: https://aroundck.tistory.com/887 [돼지왕 놀이터] [License] GPL License 에 대한 상업적 이용에 대한 궁금증을 파헤친다. 어떤 앱을 만들 때 Open Source GPL License로 제공되는 component 를 사용하여 만들어볼까 하는 생각이 생겼습니다. 하지만, 새로운 앱을 만들었을 때 이 녀석을 상업적으로 ( 수익창출 ) 의 수단으로 aroundck.tistory.com 어떤 앱을 만들 때 Open Source GPL License로 제공되는 component 를 사용하여 만들어볼까 하는 생각이 생겼습니다. 하지만, 새로운 앱을 만들었을 때 이 녀석을 상업적으로 ( 수익창출 ) 의 수단으로 사용하면 법적 문제가 생기지 않을까 하고, GPL lic.. 2021. 8. 2.
Internet Explorer에서 addEventListener, createElement, $, jquery 등등 오류 시 출처 : https://alisyabob.tistory.com/m/302?category=903883 [Html] IE 호환성보기 설정 무시하기 IE에서 특정 오래 된 사이트를 보기 위해서 호환성 보기에 사이트를 등록해 놓는 경우가 있다. 그렇게 되면 Internet Explorer버전이 11이라 하더라도 Internet Explorer 버전이 7으로 동작하게 되어 HTML5 웹표준에서 사용할 수 있는 일부 JavaScript(addEventListener, createElement, $, jquery 등등)가 동작하지 않을 경우 사용 하면 된다. 해결방법 3가지 [방법1] 모든 HTML 페이지의 head/ 태그 내에 다음 코드를 추가한다. [방법2] 서버 측 코드에 아래와 같은 코드를 추가한다.(Ser.. 2021. 7. 29.
javascript 그림판 라이브러리 원본은 밑에서 갖어 왔습니다. 감사합니다. https://forest71.tistory.com/156 자바스크립트로 만든 이미지 편집기(PaintWeb) 사용법 구글에서 Javascript Image Editor로 검색하면, 제법 쓸만한 HTML5 기반의 유/무료 이미지 편집기가 조회된다. https://github.com/nhnent/tui.image-editor https://codecanyon.net/item/pixie-image-editor/1072.. forest71.tistory.com 라이센스는 GNU 에서 2014년에 BSD라이센스(https://ko.wikipedia.org/wiki/BSD_%ED%97%88%EA%B0%80%EC%84%9C)로 바뀌었다. 한마디로 제약없이 무료로 상용프로그.. 2021. 7. 29.
반응형