전체 글 66

티스토리 블로그에 로또번호 추출기 만들기

티스토리를 이용해서 블로깅을 하시는분들은 다들 아시겠지만 티스토리에는 블로그 내의 HTML파일을 수정하거나 추가 할 수 있다. (일부 로직과 함께 추가되는 부분들은 수정하기 쉽지않다.) 일단 나의경우는 최근에 티스토리 페이지 템플릿을 변경하면서, 간단한 부분들을 HTML을 수정하던 도중 블로그에 로또번호를 뽑아주는 기능이 있으면 좋겠다고 생각해서 작업하게 되었다. 방법은 볼로그관리 -> [꾸미기] 스킨 편집 -> html편집 버튼을 누르면 다음과 같은 html 페이지들을 볼 수 있다. 사실 개발자 분들이 아니라면 생소할 수도있지만, 대부분 이 블로그를 방문하시는 분들은 개발자분들이라고 생각하고 진행하겠다. 블로그의 HTML을 확인했으면 원하는 위치에 특정액션을 취했을 때 로또번호를 생성하기 위한 html..

JAVASCRIPT 2021.02.16

Stream.filter()을 이용해 하나의 원소만 리턴받기

오늘은 stream클래스의 filter 메소드를 사용하고 있던중, 필터링 되어 리턴되는 결과값이 한 개만 되도록 하고싶을떄 사용할 수 있는 방법을 정리하려고 한다. 본 내용은 글로써 서술하는 것보다 코드를 보며 정리하는게 좋을것같아 바로 코드를 보려고한다. 코드는 다음과같다. 123456789101112131415161718192021222324252627282930/* Member이라는 테이블(Entity)가 존재하고 모든 Member의 리스트중에서 유니크한 값을 이용해 필터링하는 상황을 가정 class 중략..*/ public testMethod(Long id) { List members = memberRepo.findAll(); Member resultMember = new Member(); // ..

JAVA 2021.01.26

@Transient 어노테이션 사용해보기

최근 개발을 하던 중 특정 테이블에서 조회를 해올때 외래관계가 없는 테이블에서의 값을 조회한 다음 하나의 객체로 클라이언트단으로 전달해주고 싶은 상황이 생겼다. 그래서 최초 조회를 하는 테이블의 엔티티에 변수를 선언해서 SET을 하면 되겠다라는 생각까진 했으나, 한 가지 문제가 있었다. 엔티티(모델) 클래스 내에 선언되어 있는 변수는 JPA에서 테이블의 컬럼이 된다는 것인데, 어떻게 하면 컬럼으로 처리되지 않고 무시되게 할 수 있을까하며 찾아본 결과 @Transient라는 어노테이션을 찾을 수 있었다. 대충 공식 문서를 찾아보니 @Transient이 선언되어있는 경우 해당변수(메소드)는 임시데이터로 보고 테이블과 매핑을 하지않는다는 것 같다. 이제 코드로보면 나는 다음과 같이 사용했다. 123456789..

SPRING FRAMEWORK 2021.01.15

개발중 발생했던 @Autowired 관련 이슈 정리

여태까지 @Autowired 어노테이션은 의존성을 주입해주는 기능을 하는것으로 알고 있었는데, 최근 백엔드쪽 작업을 하다가 보니 A라는 클래스에서 B라는 클래스 내의 메소드의 기능을 사용하는 부분을 구현해야 했는데, 왜인지 모를 NullpointerException이 발생했었다, 대략 코드는 다음과 같이 작성했었는데, ※ Spring 의존성 주입(Dependency Injection) : 타 객체를 Spring bean을 통해 사용할 수 있게 해주는 것 (필자의 방식대로 한 줄로 정리한 내용이기때문에 그냥 그렇구나 하고 참고만 하기를 권장) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 @Service @Transactional publi..

SPRING FRAMEWORK 2021.01.07

String 배열을 다른자료형 배열로 변경하는 방법

오늘은 String값이 저장되어있는 배열을 Long, Integer등의 자료형으로 변경하는 방법에 대해서 정리하려고 한다. 알고리즘 문제를 풀 때 split을 자주 사용한다면 한번쯤은 고민해봤을 문제일 것 같다. 코드로 살펴보면 다음과 같다. 1234567891011121314151617181920212223242526import java.io.*;import java.util.Arrays; public class Main { public static void main(String[] args) throws Exception { BufferedReader reader = new BufferedReader(new InputStreamReader(System.in)); String[] value = read..

JAVA 2020.12.31

JAVA System.in에서의 EOF(End of File) 컨트롤

저번 글에서 BufferdReader와 Scaner에 대해서 정리했었는데, 알고리즘 문제풀이에서 주로 사용하기 때문에 정리했었다. 그런데 알고리즘 문제 풀이중에서 종종 input종료 조건에 대한 지문이 없는경우가 있는데, 이 글을 쓰기 전 까진 그냥 무한루프를 돌리는 건가? 라고 생각하고 디버깅을 시도했는데, 결과는 당연히 런타임에러였다. 이후 문제를 자세히 읽어보니 EOF라는 키워드가 있어서 EOF에 대해서 찾아보고 정리하려고 한다. 먼저 EOF는 End Of File 약어로 데이터로부터 더이상 읽을 수 있는 소스가 없다라는 의미로 보통 반복문의 종료시점을 설정하기 위해서 사용하는 것 같다. 이 글에서는 BufferdReader와 Scanner의 while문에서의 EOF만 정리하려고 한다. 코드는 다음..

JAVA 2020.12.23

JAVA 입력과 출력(Scanner, BufferedReader..)

알고리즘 문제를 풀다보면 입력을 받아서 정답을 출력하게 작성해야하는데 그때 사용할 수 있는 Scanner와 BufferedReader를 이용한 입출력을 정리해보려고 한다. 먼저 속도적인 면으로는 BufferedReader가 Scaaner에 비해 훨씬 빠른데, 보통 JAVA를 처음 접할떄 입력은 Scanner로 배우기 때문에 조금은 생소할수도 있다. 각설하고 코드로 확인해 보면 다음과 같이 사용할 수 있다. 1234567891011121314151617181920212223242526272829303132333435363738import java.io.*;import java.util.Scanner; public class Main { public static void main(String[] args) ..

JAVA 2020.12.17

javascript의 동적인 Key 가진 Object(map) 만들기

최근 개발작업을 진행하다가 보니, 반복문을 순회하면서 새로운 object를 만드는 코드를 작성해야 했는데, object의 key가 동적으로 저장되어야 하는 상황이 있었다. 그래서 여러가지 방법을 찾아봤는데, 바보같이 assign, join, 연산자 등 별에 별 뻘짓을 다했었는데, 정답은 간단한 문제였다. 코드로 설명하면 다음과 같이 하면된다. 123456789let objectCreater = (data) => { let result = {}; // 새로운 object 선언 data.forEach(a => { // 반복문 순회하면서 동적인 key가진 object생성 result[a.key] = a.value; }) } return result;} Colored by Color Scriptercs 이 쉬운..

JAVASCRIPT 2020.11.23

JAVA에서 리스트안의 원소를 중복제거하는 방법?

개발에서 중복되는 데이터를 제거하는 작업은 빈번하게 일어나게 되는데, 그때 어떤 방법을 이용해서 중복을 제거할 것 인가가 항상 고민이였다, 그래서 활용가능한 방법들을 간단하게나마 정리하려고 한다. 먼저 리스트안의 중복을 제거하는 방법은 몇 가지가 있는 것 같은데, 대표적으로 아래와 같은 방법이 있는 것 같다. 1. for문을 이용해 리스트를 순회하며 제거(contains를 이용 or 변수를 이용) 2. Set자료형을 이용하여 중복을 제거 3. Stream의 distinct를 이용하는 방법 이외에 다른 방법이 더 있을 수도 있겠지만, 당장 생각나는 방법만 정리하려고 한다. 백문이불여일견이라고, 코드를 통해 정리 하면 다음과 같다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 ..

JAVA 2020.11.04

javascript의 Window.Storage를 사용해보자.

오늘은 개발하던도중 자바스크립트에 아주 유용한 기능 중 하나인 localStorage가 있어서 정리해보려고 한다. 최근에 사용자의 편의성을 위해서 특정작업 후에도 스크롤위치를 저장하기 위해서 localStorage를 사용해봤는데, 아주 유용한 것 같다. 일단 사용법이 간단하기도 하고, 브라우저 호환성도 괜찮은 것 같다. (IE 8도 지원하니까 뭐..) 일단 사용법 부터 설명하면 다음과 같다. (정말 별게없다) 1234567891011121314151617181920212223// 로컬스토리지 사용법(브라우저가 닫혀도 유지)function test() { localStorage.setItem('key', 'value'); // 키 : 밸류 값으로 저장한다 console.log(localStorage.get..

JAVASCRIPT 2020.10.29