분류 전체보기 66

CustomRepository의 PropertyReferenceException

작업하면서 오랜만에 QueryDsl을 사용하기위해 커스텀 레포지토리를 만들어서 작업하는동안 발생한 오류를 정리해보려고 한다. 발생했던 오류메시지의 맨 아랫부분은 아래와 같고, 위쪽도 찬찬히 읽어보니 의존성, 빈생성을 실패했다는 걸 알 수 있었다. 당시 코드 구성은 대략 다음과 같았다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 // 글 내용을 간략하게 위해 한 페이지에 모두 서술 // Spring Data의 JpaRepositor..

SPRING FRAMEWORK 2023.04.28

Javascript 문자열의 숫자변환

Front-End 개발을 하면서 Javascript를 사용하여 사칙연산을 하다보면 원하던 결과와 다른 결과가 나오는 경우가 가끔있다. ex) 예를들면 1 + 2를 했을때 원하는 결과는 3이 나와야 하는데, 문자열로 연결되어 12가 된다던가 하는.. 물론 자바스크립트에서 문자열을 숫자로 바꾸는 방법은 예전부터 알고 있었지만, 여러가지 방법이 있어서 정리도 할겸 글을 작성해본다. 여기서부턴 코드를 이용해서 설명.. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 // Number을 이용하는 방법 const str1 = '5'; const str2 = '15'; console.log(str1 + str2); // 515 let result ..

JAVASCRIPT 2023.02.14

Javascript Queue구현 및 사용방법 + 재귀호출

최근 사내에서 개발을 하던 중 동시에 요청이 들어왔을 때 기존에 실행되던 기능이 새로운 요청이 들어오면 종료되는 문제가 있어서 자료구조중 큐를 이용해 순차적으로 수행할 수 있도록 하는기능을 구현했는데, 큐를 구현했던 경험을 정리하려고 한다. 먼저 javascript에선 Queue를 리스트를 이용해구현할 수 있고 난 다음과 같이 구현하여 사용하였다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 (function () { class Queue { constructor() { this.items = []; } enqueue(value) { // 큐에 값을추가 this.items.push(valu..

JAVASCRIPT 2022.11.25

vue js modal에서 부모 컴포넌트 접근하기

최근 작업을 하다보니 팝업을 띄워서 작업하는 부분을 구현해야 할 일이 있었는데, 그때 부모 컴포넌트의 데이터를 가져올 때 생겼던 이슈에 대해서 정리해보려고 한다. 대략 내가 구현했던 화면은 위 그림과 같았고, popup에서 특정 action시 mainview의 데이터를 수정해줘야 하는 기능이 필요했고, 코드는 대략 다음과 같은 구성이였다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 //생략 button action ((doc) => { var vue = new Vue..

JAVASCRIPT 2022.06.29

Itextpdf를 이용한 html 파일 PDF 변환 및 암호설정

최근 pdf 파일을 암호설정 후 이메일로 전송해주는 기능을 구현하는 업무를 하게 되었는데, 먼저 pdf 파일을 암호 설정하는 방법을 정리하는 글을 쓴 뒤 이메일 전송에 관한 글을 쓸 예정이다. 먼저 Java + Spring + maven 환경에서 개발할 때를 기준으로 글을 작성할 예정이고, Itextpdf, pdfbox라는 외부라이브러리를 사용했기 때문에 Itextpdf를 이용하여 암호설정을 하는방법을 정리한다. (회사에서 사용하고 있는설정이라 그대로 사용) [maven의존성 추가] com.itextpdf itextpdf 5.5.13.3 org.apache.pdfbox pdfbox 2.0.1 다음과 같이 코드를 작성해주면 된다. (예외 throws, 생성된 파일을 이메일로 발송하는데 쓸것이기 때문에 fi..

JAVA 2022.04.14

javascript Object의 필터링 구현

회사에서 개발을 하던도중 프론트엔드쪽에서 간단한 필터링을 구현해야 했었는데, 그 작업을 하면서 생겼던 이슈에 대해서 정리한다. 구현하고자 했던 기능은 흔히 웹사이트에서 자주볼 수 있는 기능으로 검색창에 특정글자를 입력하면 조건에 부합하는 리스트만 출력되는 기능이였는데, 대략 다음과 같은 데이터가 있고, 사용자에게 보여지는건 값만 보여지게 되어있다. key : value 기호1번 : 이재명 기호2번 : 윤석열 기호3번 : 안철수 기호4번 : 심상정 기호5번 : 오준호 기호6번 : 허경영 기호7번 : 이백윤 기호8번 : 옥은호 기호9번 : 김경재 기호10번 : 김재연 여기서 사용자가 보여지는건 value에 해당되고, 사용자가 검색창에 "이"라는 단어를 검색하면 이라는 단어가 들어가있는 이재명, 이백윤만 리스..

JAVASCRIPT 2022.03.08

jsp:include를 이용한 페이지 이동

최근에 회사에서 개발을 하던 중 중간리뷰를 위해서 화면을 하나 만들었는데, 화면에서 제공하는 기능중 동적으로 다른 화면을 이동할 수 있는 기능이 필요했고, 시스템의 레거시때문에 jsp문법을 사용할 수 밖에없어서 오랜만에 jsp:include를 사용해보았다. 최근 vue를 이용해서 개발을 하다보니 jsp문법이 생각이 안나서 조금 찾아보는데 시간이 걸렸었다. 먼저 코드는 다음과 같이 작성했다. 1 2 3 4 5 6 Colored by Color Scripter cs 왜 controller단에서 처리하지 않고 이렇게 했는가에 대한 의문이들 수 있는 코드이긴한데, 실제로 적용될 코드가 아니기도 하고, 개발중에 협의되지 않은 여러가지 부분 때문에 대략적으로 작성해 보았다. 간단하게 @include와 jsp:inc..

SPRING FRAMEWORK 2022.02.24

intelliJ에서 Maven Blocked the mirror error

최근 인텔리제이 toolbox를 사용하면서도 업데이트를 미뤄놓다가 최근들어서 2.4 -> 3.1버전으로 업데이트 했는데, 인텔리제이에서 메이븐을 빌드 하던 도중 다음과 같은 에러메세지가 나왔다. 대충 해석해보니 메이븐 릴리즈 3.81을 확인해보니 HTTP를 사용하는 사용자지정 레포지토리는 공격에 취약점이 있어 HTTP로 호출하는 것은 막게되었다고 설명되있었다.(CVE-2021-26291) 해결방법으로는 커스텀 레포지토리 저장소를 https로 변경하면 된다고하는데, 회사에서 pom.xml 공용으로 사용하는 설정이기도 하고 나혼자 결정으로 해결할 수 있는 부분은 아니라서 인텔리제이에서 제안하는 솔루션을 다 해봤는데 안되서 찾아본 결과 인텔리제이 Maven 셋팅을 사용하고 있는 메이븐의 properties파일..

카테고리 없음 2022.01.20

Java의 UnsupportedOperationException (feat array, List)

개발을 하던 와중에 Arrays의 asList를 이용해서 리스트를 선언과 초기화를 해준 뒤 다음 이후에 리스트를 추가하거나 삭제하려고 했더니 UnsupportedOperationException이 발생했다. 에러 메세지만 보면 내가 작성한 코드가 지원할 수 없다는 내용인데, 이유를 찾아보니 Arrays.asList는 배열을 리스트로 그냥 덮어씌운상태(래핑)로 변경되고, 변경된 상태의 데이터들은 배열을 이용하고 있고 asList자체가 타겟으로 들어온 배열의 길이를 고정된 값으로 리턴하기 때문에, add나 remove를 사용할 수 없다는 것 같다. 다만 set을 이용하면 데이터 교체는 가능하다. 결론적으로 asList를 이용해서 내가 원하는 결과(List로 리턴받아 add, remove)를 수행하려면 다음과..

JAVA 2021.12.08

Java 클래스의 변수명 가져오기

오늘은 Java Class에서 변수명, 어노테이션의 정보를 가져오는 방법을 정리해보려고 한다. 해당내용은 내가 작업하면서 사용했던 내용은 아니지만, 동료 직원이 고민했던 문제를 같이 고민하면서 찾게 되었기에 정리해본다. 대략 아래와 같은 클래스가 있을떄(보통 모델이나 뷰오브젝트 클래스) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 //Lombok을 이용하여 Getter, Setter를 생략 @Getter @Setter public class TestClass { private Long id; private Integer seq; private String name; private String address; private String type; private Doubl..

JAVA 2021.11.23