JaeWon's Devlog
반응형
article thumbnail
[Spring] @Component 어노테이션을 사용한 싱글톤패턴 유사 구현
BackEnd/Spring 2022. 1. 16. 18:04

프로젝트 개발 도중에 싱글톤 패턴을 사용하여, DB에서 데이터를 불러와 저장 후에 사용하고자 하였다. 그러나, 스프링 객체생성주기로 인해 싱글톤으로 생성한 인스턴스에서 DB 접근이 어려웠고, 공부하여 해결을 하고 싶었지만, 시간이 부족하여 유사한 방법으로 해결하고자 하였다. Spring에서 제공하는 @Component 어노테이션을 사용하여 유사하게 구현해보았다. 1. @Component 어노테이션 - @Component 어노테이션을 붙인 클래스를 spring에서 스캔할 수 있도록 설정이 필요하다. ..... - 태그의 base-package에 스캔하고자 하는 패키지 경로를 설정한다. (해당 글에서는 예제를 위해 test 아래 모든 경로로 선언하였다.) - 패키지가 여러개일 경우 위 태그를 여러개 작성하여..

article thumbnail
[디자인패턴] 싱글톤(Singleton) 패턴
디자인패턴 2022. 1. 16. 16:19

이번 글에서는 디자인패턴의 한 종류인 싱글톤(Singleton) 패턴에 대해서 알아보고자 한다. 다양한 디자인패턴이 있지만, 자주 사용되는 싱글톤패턴을 조금 더 이해하고, 사용하고자 하여 정리해보려 한다. 1. 싱글톤(Singleton) 패턴이란? - 정의는 간단하게, 객체의 인스턴스가 오직 1개만 생성되는 패턴을 의미한다. - 어플리케이션이 시작할 때, 어떤 클래스에서 최초 1번만 메모리를 할당하고(static) 그 메모리에 인스턴스를 만들어 필요할 때 사용하는 패턴이다. - 위의 그림을 예로 들어보면, 회사에 공용으로 사용하는 1대의 프린트가 있을 때 회사원들은 개인이 필요할 때마다 해당 프린트를 사용한다. 2. 싱글톤패턴 장,단점 2-1. 장점 - 최초 한번의 인스턴스 생성으로 고정된 메모리 영역을..

article thumbnail
[Java] List 안에 있는 Map Value 찾기
BackEnd/Java 2022. 1. 15. 17:56

데이터 목록을 주고 받을 때, List 형식으로 구성된 리스트로 주고받을 때가 있다. 이러한 경우에 원하는 키워드로 원하는 데이터를 가져오는 방법에 대해 알아보려고 한다. 1. Lambda 사용 - lambda의 stream 을 이용해 데이터에 접근, 리턴을 한다. (Map을 사용하고자 하였지만, 이전에 사용한 코드(VO)를 재사용해본다... 절대 귀찮아서는 아니다....) public class blogTest { public static void main(String[] args) { List blogVOList = new ArrayList(); blogVO test1 = new blogVO("hwang", "M", "28", "test@naver.com"); blogVO test2 = new blo..

article thumbnail
[JSP] include 사용하기
FrontEnd/HTML|JSP 2022. 1. 15. 17:11

화면을 개발하다 보면, 가끔 공통으로 된 부분이 생기는 경우가 있고, 이 부분을 모든 파일에 작성하는 것은 비효율적이고 유지보수 시에도 해당 부분을 모두 수정해야 하는 상황이 발생한다. 공통부분을 하나의 파일로 만들어두고, 이것을 각 파일에서 불러와 사용할때 include 명령어를 사용한다. (대부분 공통 헤더(header), 바텀(bottom) 등...) 1. 정적인 방식(static=directive) - 동적인 방식보다 빠르다. - 파라미터를 주고 받을 수 없다. - 해당 jsp페이지가 컴파일될 때, 참조하는 파일(include)도 함께 컴파일 된다. => 두 파일의 코드가 합쳐진 상태로 컴파일 된다. 내용 공간 //header.jsp 코드 Header.jsp 내용입니다. 2. 동적인 방식(dyna..

article thumbnail
[Java] 생성한 객체 배열 정렬하기(Comparator)
BackEnd/Java 2022. 1. 9. 16:31

프로젝트를 진행하다보면 개발 중에 생성한 객체로 이루어진 배열을 원하는 값에 따라 정렬이 필요할 때가 있다. 이러한 경우에 아래의 방법을 통해서 정렬이 가능하다. 아래와 같은 객체를 생성해본다. public class blogVO { private String name = null; private String gender = null; private String age = null; private String id = null; public blogVO(String name, String gender, String age, String id) { super(); this.name = name; this.gender = gender; this.age = age; this.id = id; } public S..

article thumbnail
[Tomcat] 65535 bytes limit(대용량 jsp 파일) 에러 해결법
Error 2022. 1. 9. 15:17

프로젝트 진행 도중 텍스트로만 구성되었지만, 엄청난 양의 jsp 파일을 화면에 노출하는 경우가 있었다. 개발서버에 해당 파일을 아무런 의심 없이 올리고 확인을 해보려고 하였지만, 계속해서 해당 화면은 확인이 안되고, 비정상적으로 종료되기만 하였다. 로컬에서도 확인을 해보려고 하였을때, 아래와 같은 에러가 확인되었다. 심각: 서블릿 [jsp]을(를) 위한 Servlet.service() 호출이 예외를 발생시켰습니다. org.apache.jasper.JasperException: JSP를 위한 클래스를 컴파일할 수 없습니다.: 코드 생성된 자바 파일 [/Users/hwangjaewon/study/coding_test/.metadata/.plugins/org.eclipse.wst.server.core/tmp0..

article thumbnail
[Java] NumberFormatException 에러 해결법
Error 2022. 1. 9. 14:36

String 으로 된 문자열을 정수형태로 변경을 하려고 할때, 종종 NumberFormatException이 발생한다. 해당 글에서는 NumberFormatException이 발생하는 원인과 해결 방법을 알아보려고 한다. 1. 원인 - NumberFormatException은 영어 그대로 해석하게 되면 숫자형 포맷 오류입니다. - 문자형을 숫자형으로 변경 시 발생하는 에러입니다.(Integer.parseInt() ...) case 1. 숫자형으로 변경 시 문자가 포함되어 있는 경우. // 문자형 변수 strToNum 에 문자 12345O을 입력 12345 + O(알파벳 대문자 O) String strToNum = "12345O"; // 정수가 아닌 문자(알파벳 O)가 포함되어 에러발생 System.out..

article thumbnail
[프로그래머스] 위클리 챌린지 5주차(Java)
코딩테스트연습 2021. 9. 4. 16:50

문제 설명 사전에 알파벳 모음 'A', 'E', 'I', 'O', 'U'만을 사용하여 만들 수 있는, 길이 5 이하의 모든 단어가 수록되어 있습니다. 사전에서 첫 번째 단어는 "A"이고, 그다음은 "AA"이며, 마지막 단어는 "UUUUU"입니다. 단어 하나 word가 매개변수로 주어질 때, 이 단어가 사전에서 몇 번째 단어인지 return 하도록 solution 함수를 완성해주세요. 제한사항 word의 길이는 1 이상 5 이하입니다. word는 알파벳 대문자 'A', 'E', 'I', 'O', 'U'로만 이루어져 있습니다. 입출력 예 wordresult "AAAAE" 6 "AAAE" 10 "I" 1563 "EIO" 1189 입출력 예 설명 입출력 예 #1 사전에서 첫 번째 단어는 "A"이고, 그다음은 "..

article thumbnail
[프로그래머스] 위클리 챌린지 4주차(Java)
코딩테스트연습 2021. 8. 28. 17:39

3주차는 아직 해결하지 못하고 4주차를 맞이하게 되었습니다. 4주차는 확실히 이전보다 쉬워졌고, 무난하게 해결할 수 있었습니다. 문제 설명 개발자가 사용하는 언어와 언어 선호도를 입력하면 그에 맞는 직업군을 추천해주는 알고리즘을 개발하려고 합니다. 아래 표는 5개 직업군 별로 많이 사용하는 5개 언어에 직업군 언어 점수를 부여한 표입니다. 점수SICONTENTSHARDWAREPORTALGAME 5 JAVA JAVASCRIPT C JAVA C++ 4 JAVASCRIPT JAVA C++ JAVASCRIPT C# 3 SQL PYTHON PYTHON PYTHON JAVASCRIPT 2 PYTHON SQL JAVA KOTLIN C 1 C# C++ JAVASCRIPT PHP JAVA 예를 들면, SQL의 SI 직업..

article thumbnail
[Java] java.lang.UnsupportedOperationException 에러 해결법
Error 2021. 8. 28. 15:59

Arrays.asList(배열)는 String[], int[] 등의 배열을 List로 바꿀 때 자주 사용하던 메소드였다. 평소에는 배열로만 바꾸고, 데이터를 추가하지 않아서 몰랐는데 이번에 데이터를 추가하다가 아래와 같은 에러가 발생했다. java.lang.UnsupportedOperationException: null at java.util.AbstractList.add(AbstractList.java:148) ~[na:1.8.0_201] at java.util.AbstractList.add(AbstractList.java:108) ~[na:1.8.0_201] at com.study.jaewonstudy.webservice.web.java.errortest.controller.ErrorTestRestC..

반응형