분류 전체보기(361)
-
java - synchronized 란? 사용법?
java - synchronized 란? 사용법? 멀티스레드를 잘 사용하면 프로그램적으로 좋은 성능을 낼 수 있지만, 멀티스레드 환경에서 반드시 고려해야할 점인 스레드간 동기화라는 문제는 꼭 해결해야합니다. 예를 들어 스레드간 서로 공유하고 수정할 수 있는 data가 있는데 스레드간 동기화가 되지 않은 상태에서 멀티스레드 프로그램을 돌리면, data의 안정성과 신뢰성을 보장할 수 없습니다. 따라서 data의 thread-safe 를 하기 위해 자바에서는 synchronized 키워드를 제공해 스레드간 동기화를 시켜 data의 thread-safe를 가능케합니다. 자바에서 지원하느 Synchronized 키워드는 여러개의 스레드가 한개의 자원을 사용하고자 할 때,현재 데이터를 사용하고 있는 해당 스레드를 ..
2019.01.04 -
Lucene library를 이용한 간단한 색인/검색(루씬 라이브러리이용)
Lucene library를 이용한 간단한 색인/검색(루씬 라이브러리이용) 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106package com.lucene.study; import java.io.File;import java.io.FileFilter;import java.io.FileNotFoundException;import java.io.FileReader;import java..
2019.01.03 -
Zookeeper란?
Zookeeper란?,분산코디네이터 분산 처리 환경에서 필수로 언급되는 ZooKeeper란 무엇일까? 한 마디로 정의하면 "분산 처리 환경에서 사용 가능한 데이터 저장소"라고 말할 수 있겠다. 기능은 매우 단순하지만 분산 서버 환경에서는 활용 분야가 넓다. 예를 들어 분산 서버 간의 정보 공유, 서버 투입/제거 시 이벤트 처리, 서버 모니터링, 시스템 관리, 분산 락 처리, 장애 상황 판단 등 다양한 분야에서 활용할 수 있다.'어떻게 다양한 활용이 가능할까?'라는 의문을 해결하기 위해서 기능에 대해서 한 마디로 설명하면 다음과 같이 설명할 수 있다.ZooKeeper는 데이터를 디렉터리 구조로 저장하고, 데이터가 변경되면 클라이언트에게 어떤 노드가 변경됐는지 콜백을 통해서 알려준다. 데이터를 저장할 때 해..
2018.12.31 -
웹 취약성 검사 대비하기 !
이번 프로젝트에서 웹 취약성 검사에 나왔던 이슈관련 정리입니다. 1.Content-Security-Policy ->간단하게 페이지에서 사용하는 모든 자원에 대한 제한을 거는 설정입니다. 즉, XSS관련 공격을 막아줍니다.2.X-Content-Type-Option ->MIME을 무시하지 않게 제한합니다. 즉, mime기반 공격을 막아줍니다.(반드시 정해진 mime type으로만 화면을 렌더링하게함)3.X-XSS-Protection ->XSS 공격을 막아줍니다. 출처:http://cyberx.tistory.com/171 ->개략적인 웹 취약성을 방지해주는 헤더들의 설명이 들어간 블로그. 검사에서 나왔던 요소들이었습니다. 그래서 이러한 헤더 설정을 위하여 Apache의 httpd.conf 파일에 정의했습니다...
2018.10.26 -
Springframework QueryParameter 숨기며 뷰 리턴하는 방법
사실 아예 숨기는 것이라고는 말할 수 없지만 보통 사용자들이 보이지 않는다고 생각할 수 있는 쿼리파라미터를 생략한 뷰리턴 방법입니다. 사실상 보안에 강하다라는 그런 방법은 아닙니다. 단지 보이지 않을 뿐입니다. 123456789101112131415161718192021222324252627282930313233package com.kt.chatbot.ui.controller; import org.slf4j.Logger;import org.slf4j.LoggerFactory;import org.springframework.stereotype.Controller;import org.springframework.web.bind.annotation.RequestMapping;import org.springfr..
2018.10.23 -
springframework JPA + QueryDSL
JPA는 쿼리가 너무 정적이라는 단점이 존재합니다. 이러한 단점을 극복하기 위하여 JAP+QueryDSL을 통해 type-safe하고, 자바의 메소드를 통한 동적인(유연한) 쿼리 작성이 가능해집니다. 이전 글에서 JPA사용법에 대하여 간단히 작성했지만 이번 글에서도 JPA부터 설명하겠습니다. pom.xml 설정JPA 및 querydsl 등 각종 dependency 설정입니다. 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979..
2018.10.14