목록라이브러리 (5)
삶 가운데 남긴 기록 AACII.TISTORY.COM
동기화 방식은 순차적으로 작업을 위에서 부터 순차적으로 실행합니다.동기화 방식은 직관적이고 쉽지만 특정 작업이 오래 걸리는 경우, 다음 작업이 실행하지 않고 무작정 기다리는 단접이 있습니다. 비동기 방식은 작업에 요청을 한뒤 기다리지 않고 다음 작업을 실행합니다.그러다가 이전 요청이 완료되어 결과가 통보되면 이전 요청을 완료시키는 방식으로 동작합니다.자바스크립트는 특히 서버와 브라우저 간 통신 작업이 많기 때문에, 비동기 방식으로 서버에 요청 작업을 보내고 나머지 다른 작업들을 처리하다가 서버로부터 결과 통보 요청이 오면 그 작업을 마무리 하는 식으로 코딩합니다.여러 요청을 비동기로 처리하다보면 로직의 실행 순서를 헷갈리게 되어 각종 object들이 undefined 가 되는 저주에 걸립니다. ㅎㅎ이러한..
POI 라이브러리 임시 파일 저장 경로 지정자바로 오피스(엑셀) 파일을 다룰 때 흔히 사용하는 org.ahache.poi 라이브러리를 사용할 때, 엑셀 파일 작성을 위한 데이터와 스타일 정보들이 정의된 xml 형식의 임시 파일들이 생성되게 됩니다.이 임시 파일들이 생성되는 경로는 기본적으로 시스템의 임시 디렉터리 경로를 사용합니다.그런데 리눅스에서는 기본 임시 파티션인 /tmp 을 사용하게 되는데, 이 /tmp 파티션이 용량이 부족한 경우가 발생할 수 있습니다.public class TempDirCheck { public static void main(String[] args) { String tempDir = System.getProperty("java.io.tmpdir"); ..
# Jasypt(Java Simplified Encryption)Jasypt는 자바 애플리케이션에서 간단한 암호화/복호화를 수행하기 위한 라이브러리입니다.주로 프로퍼티파일이나 xml 등 설정 파일의 계정 정보 같은 문자열 데이터를 암호화/복호화하는 데 사용합니다.내부적으로 양방향 암호화와 단방향(Hash) 암호화를 조합하여 비교적 높은 수준의 암호화/복호화를 간편하게 사용할 수 있습니다.암호화키를 안전하게 저장하고 노출되지 않도록 주의해야 합니다.텍스트와 바이너리 모두 암호화/복호화 할 수 있습니다.Spring Security와도 연동 가능하며 멀티 스레드로부터 안전합니다. # 의존성 추가여기서는 1.9.3 버전 기준으로 합니다.maven의 경우 org.jasypt jasypt 1.9.3..
Gradle 빌드 도구 빌드 도구는 컴파일, 라이브러리 다운로드, 패키징, 테스팅 등을 자동화 해주는 도구를 말합니다. 프로젝트가 커지면 라이브러리가 많아지므로 전체를 빌드하기에는 비효율 적이므로 빌드를 나눠서 해야합니다. gradle은 이런 컴파일, 빌드, 유닛 테스트 등을 코드(그루비 언어)로 관리해줍니다. build.gradle plugins { id 'org.springframework.boot' version '2.6.12-SNAPSHOT' id 'io.spring.dependency-management' version '1.0.13.RELEASE' id 'java' } group = 'ds.co.kr' version = '0.0.1-SNAPSHOT' sourceCompatibility = '1..
JSTL(Java Server Pages Standard Tag Library) 개요 자주 사용하는 기능은 커스텀 태그로 구현 한다음 재사용하면 편리합니다. 그러나 커스텀 태그는 직접 만드려면 많은 수고가 필요하게 됩니다. 그래서 표준 태그 라이브러리가 존재하는데 이것이 JSTL 입니다. JSTL 1.0은 Servlet 2.3과 JSP1.2와 호환 JSTL 1.1은 Servlet 2.4와 JSP2.0과 호환 JSTL 1.2은 Servlet 2.5와 JSP2.1과 호환 core는 기본 기능이 포함되어 있으며 formatting은 날짜 시간에 관한 기능, sql은 데이터베이스 작업기능 xml은 xml을 지원하는 기능 functions은 여러 함수 기능이 구현되어 있습니다. core: formatting: s..
