분류 전체보기(175)
-
[문제 해결]_DB tool 쿼리 결과와 서버 쿼리 결과가 다를 때
개요 시스템 오픈 전 데이터 이관과 화면 테스트 중ASIS 에서는 잘 동작하던 화면이TEST 환경에서는 동작하지 않았고 같은 DB를 바라보는 DBtool [heidisql] 결과와 같은 쿼리의 mybatis 결과 가 다른 이유 분석 환경 DB Tool : heidisql RDBMS : mySQL Server : Tomcat 라이브러리 : mybaits , spring 쿼리는 가져올수 없지만, 지방 코드를 다른 테이블에서 가져오고 left join 으로 그 코드에 맞는 데이터를 가져오는 쿼리였습니다. 통계형으로 group by 를 하여 데이터를 sum 하는 로직이 들어있었습니다. 내가 해본것 1. 로그 찍어보기 - Tool 의 쿼리값과, 서버에서 쿼리실행시 결과가 다른것을 인지하게 됨 2. Convert ..
2024.04.03 -
Partition 이란?
개요 테이블 설계시 쿼리 성능 향상을 위한 방법 중 한가지인 파티션에 대해 공부한 바를 서술함. 환경 DB Tool : DBeaver RDBMS : mySQL 목적 파티션에 대한 기초 설명 목차 1. 파티션이란? 2. 파티션 사용 이유 3. 파티션 컬럼 선정 기준 4. 파티션 형식 종류 1. 파티션이란? 크기가 큰 테이블을 컬럼을 기준으로 여러개로 분할하는 기능입니다. 논리적으로는 하나의 테이블이지만, 실제 사용시에는 (MySQL 서버 입장애서) 컬럼 기준으로 나누어진 풀 에서 기능을 수행하게 됩니다. 2. 파티션 사용 이유 하나의 큰 테이블에서 select 하는 것 보다 나누어진 테이블에서 찾는게 더 빠르기 때문에 사용합니다. 따라서 규모가 작은 테이블에서 파티션 적용은 불필요 합니다. 인덱스의 크기가..
2024.03.26 -
[ES6]_web Worker
개요 자바스크립트 코딩을 하다보면 복잡한 계산식의 경우 쓰레드 처리를 하고 싶을 때가 있을 수 있습니다. JS 에서 Web Worker 로 쓰레드 구현이 가능합니다. 오늘은 Web Worker 의 간단 구현을 해보도록 하겠습니다. https://developer.mozilla.org/en-US/docs/Web/API/Web_Workers_API/Using_web_workers Using Web Workers - Web APIs | MDN Web Workers are a simple means for web content to run scripts in background threads. The worker thread can perform tasks without interfering with the u..
2023.11.17 -
[ES6]_Proxy get()에서의 Depth에 따른 prop 의 변화
개요 proxy 객체는 target 객체를 감싸게 되고 이를 참조하거나 변경시 이벤트를 중간에 조작할 수 있게 해줍니다. Proxy 공부를하면서 이것저것 console.log 를 찍어보는데 target이 되는 객체가 1depth 가 아니라 2, 3, 4, depth 일때를 찍어보았습니다. 그 중 첫 depth 외에 2번째 이후로 찍히는 prop과 return target[prop] 의 값이 다른점을 확인하였습니다. 원인 분석한 결과를 포스팅합니다. 문서 https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Proxy/Proxy/get handler.get() - JavaScript | MDN handler.get() 메..
2023.10.26 -
[ES6]_Proxy 란 ?
개요 자바스크립트 코딩을 하다보면 객체에 접근시 이벤트를 발생하거나 Validate를 해야하는 경우가 있습니다. 이를 Proxy 객체로 감싸고 ( Wrapper ) Trap( 핸들러 메소드 ) 를 사용하여 제어하거나 로직을 심을수 있습니다. Proxy 객체에 대해서 알아보았습니다. 문서 https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Proxy Proxy - JavaScript | MDN Proxy 객체를 사용하면 한 객체에 대한 기본 작업을 가로채고 재정의하는 프록시를 만들 수 있습니다. developer.mozilla.org 틀린것이 있을 수 있으니 양해부탁드립니다. 틀린점은 댓글로 알려주시면 정말 감사드리겠습..
2023.10.25 -
[jspdf, html2canvas]_그려진 html 화면 pdf 출력하기
환경 Framework : spring javascript : ES6 환경 목적 도표 등 그려진 화면을 pdf 로 저장 혹은 출력하는 요구사항 반영 문서 https://html2canvas.hertzen.com/ html2canvas - Screenshots with JavaScript Try out html2canvas Test out html2canvas by rendering the viewport from the current page. Capture html2canvas.hertzen.com https://artskydj.github.io/jsPDF/docs/jsPDF.html jsPDF - Documentation Fill the current path using the nonzero wind..
2023.10.18 -
[springBoot]_resolveArgument 파라미터 커스텀
개요 SpringBoot 에서 resolveArgument 를 상속받아 커스텀 Map 을 파라미터로 받고 로직을 추가하는 방법 서술 환경 툴 : Intellij 빌더 :gradle 버전 관리 springboot 2.7.3v java 11v 목표 : ParamMap 이라는 형식을 지정하고, 원하는대로 핸들링 한 후 커스텀Map을 Controller 에서 사용할수 있게 한다. 화면에서 발송하는 값: 컨트롤러에서 받아서 사용할 ParamMap 의 데이터: 그리드 페이징 처리를 위해 start 와 end 로 분기하여 자동 key와 값이 들어가도록 만들 예정입니다. 1. CustomMap 선언 Map 을 상속받지 않는 커스텀 map 을 선언할 class를 생성한다 Map을 상속받게 되면 resolveArgumen..
2023.07.11 -
[IntelliJ]_Spring boot profiles 설정 (feat . gradle)
개요 Intellij 에서 SpringBoot 를 사용하여 profiles 관리하는 법 환경 툴 : Intellij 빌더 :gradle 버전 관리 springboot 2.7.3v java 11v 테스트용 DB인 H2에 연결할 예정이고, 접속 포트번호를 분리할 예정입니다. Intellij 로 springboot web개발 환경은 완료되어있는 상태로 시작하겠습니다. 파일 위치] resources 아래의 application.yml 파일을 생성합니다. server: port: 8080 spring: profiles: default: local #local을 기본 환경으로 setting datasource: driver-class-name: org.h2.Driver url: jdbc:h2:tcp://localh..
2023.06.21 -
[ES6]_Execution Contexts (실행 컨텍스트) 이해
개요 스크립트 개발 혹은 공부를 하거나 면접 준비를 하다보면, 호이스팅 이란 개념에 대해 자주 나옵니다 호이스팅을 공부하다 보면, 이번엔 실행 컨텍스트를 공부를 필수적으로 해야 합니다. 제가 문서를 보고 분석한 내용을 설명하고자 합니다. 문서 https://262.ecma-international.org/6.0/ ECMAScript 2015 Language Specification – ECMA-262 6th Edition 5.1.1 Context-Free Grammars A context-free grammar consists of a number of productions. Each production has an abstract symbol called a nonterminal as its left-..
2023.06.19 -
[ES6]_var 와 let,const 의 차이
Var , Let & Const 이해 ES2015(ES6) 부터 변수 선언에 사용할 수 있는 let 과 const가 추가되었습니다. 이전 개발 자료 혹은 소스코드를 보게 되면, var 로 변수선언이 이루어진 경우가 많은데 정확히 무엇이 다른지 알아보겠습니다 Var 스코프 레벨 - 선언된 위치에 따라 나뉨 var 가 함수 외부에서 선언될 때의 범위는 전역범위가 됩니다. 즉 함수 외부에서 var를 사용하여 선왼된 모든 변수를 전체 윈도우 상에서 사용할 수 있습니다. var 가 함수 내에서 선언된 경우에는 함수 범위로 지정됩니다. 함수 내에서만 사용 가능하고 접근할 수 있습니다. - 외부사용불가 가능) var test = "테스트입니다" var test = "변경합니다" 또한 var test = "테스트입니다..
2023.06.19 -
[Eclipse]_Spring Security Handler 구현 1단계 (로그인 과정 구현)
개요 Intellij를 사용하다가 다음 프로젝트가 Eclipse 환경으로 인해 Eclipse 에 spring 최신버전을 설치하였고 SpringSecurity 에서 제공하는 handler 들을 커스텀화 하여 적용하는 방법 서울 1단계에서는 로그인 과정 핸들러를 구현합니다. 환경 Eclipse 최신버전 2022-09 (4.25.0) Tomcat - 10.0.23 v maven Artifact ID : maven-archetype-webapp 1.4v Spring 6.0.2 ver Spring Security 6.0.0 ver Jakarta 5.0.0 ver 특이사항 이전 포스트 에서 바뀐점이 있습니다. Tomcat 10 버전 사용시 필요한 servlet 버전은 5 입니다. 이전까지는 Tomcat 에 내장된 ..
2022.12.22 -
[Spring_Security] Error creating bean with name 'org.springframework.security.filterChains
환경 Eclipse 최신버전 2022-09 (4.25.0) Tomcat - 10.0.23 v maven Artifact ID : maven-archetype-webapp 1.4v Spring 6.0.2 ver Spring Security 6.0.0 ver spring-jdbc : 6.0.2 ver mybatis : 3.5.11ver mybatis-spring : 3.0.1ver 문제상황 오류코드 Error creating bean with name 'org.springframework.security.filterChains': Cannot resolve reference to bean 'org.springframework.security.web.DefaultSecurityFilterChain#0' whi..
2022.12.20