전체 글
-
Web Archive(WAR)Java 2024. 6. 27. 22:31
웹 애플리케이션은 패키징된 컴포넌트의 모음입니다. 컴포넌트로는 HTML 페이지, 이미지나 엑셀 파일같은 정적 파일, Servlet, JavaServer Pages(JSP), tag libraries, JavaBeans, Java utility classes 및 XML 파일 등의 기타 리소스가 포함될 수 있습니다(클래스 및 리소스 라이브러리가 JAR 파일로 패키징되는 것이 일반적). 이런 애플리케이션은 표준 컨테이너(Servlet engine)에서 실행할 수 있으며 컴포넌트를 결합하려면 최상위 메타 정보가 있어야 합니다. WAR 파일은 애플리케이션 컴포넌트들의 계층에 따라 구성된, 모든 컴포넌트를 포함하는 단일 파일이며 애플리케이션을 실행하려는 대상 환경에 배포하는 수단입니다. 배포 툴은 WAR 파일을..
-
[Spring] 전자정부프레임워크 crypto를 활용한 암호화Spring 2024. 6. 17. 21:07
서버의 프로퍼티 파일(Spring의 properties 파일)에 데이터베이스 연결 정보를 작성하거나 데이터베이스에 사용자의 정보 등 민감한 정보를 저장할 때에는 유출을 생각해서 적절한 암호화가 필요합니다. 이때, 데이터를 암호화한 후, 다시 복호화 할 수 없도록 하는 단방향 암호화를 활용할 수 있습니다. 대표적인 단방향 알고리즘으로는 해시 함수를 이용하여 원본 데이터를 고정된 길이의 해시값으로 변환하는 MD5, SHA-1, SHA-256 등이 있습니다. 이번 예시에서 작성할 전자정부 프레임워크의 crypto 라이브러리(패키지 까보면 jasypt 라이브러리 기반)도 위의 알고리즘들이 가용하지만, MD5와 SHA-1은 취약성 문제 때문에 SHA-256을 사용하는 것이 일반적입니다. 아래 예시는 전자정부프레임..
-
HTTP Method기록/Default 2024. 6. 15. 14:30
GET타겟 리소스의 표현을 요청하는 메서드로, 주로 리소스 조회시 사용한다. HEAD표현 데이터는 받지 않는 GET 메서드와 같다. 서버에서 바디에 문자열을 써서 응답하도록 테스트해보면 바디에 값이 없는 채로 헤더만을 반환한다. 리소스의 메타데이터를 확인하거나, 리소스 존재 여부를 검사하는 데 사용된다. POST액션에 대한 상태 또는 결과를 요청하는 메서드로, 바디에 메세지를 써서 서버로 보내며, 주로 리소스 등록시 사용한다. PUT, DELETE액션에 대한 상태를 요청한다. 주로 리소스 수정, 삭제시 사용한다. PATCH리소스 전체 데이터를 교체하는 PUT 메서드와 달리 리소스의 일부를 업데이트할 때 사용하는 메서드 OPTIONS서버가 특정 리소스에 대해 지원하는 HTTP 메서드의 목록을 반환하도록 요..
-
맥 IntelliJ IDE 단축키기록/Default 2024. 5. 9. 11:41
애플리케이션/테스트 시작: ctrl + shift + r애플리케이션/테스트 재시작: ctrl + r클래스 또는 파일 찾기: cmd + oSelect Methods to Override/Implement: ctrl + o부모 클래스 상속 및 인터페이스 구현 시 오버라이드 또는 구현 메서드 선택테스트 생성: cmd + shift + t타입과 변수명 생성: opt + cmd + vrequest.getParameter("name"); // opt + cmd + vString name = request.getParameter("name");Refactor: ctrl + t Change Signature: cmd + fn + F6 Refactor - Rename: shift + fn + F6 생성자, Getter..
-
Cron Expression기록/Default 2024. 5. 3. 22:28
Cron 표현식은 작업(Job)을 특정 시간에 주기적으로 수행하도록 스케줄링할 때 사용됩니다. 저는 Spring Batch와 Quartz를 조합해서 사용하면서 Cron 표현식을 정리하게 되었습니다. 형식[초] 분 시 일 월 요일 [년도][ ]: Optional 각 필드는 다음과 같은 값을 가집니다.초: 0 ~ 59분: 0 ~ 59시: 0 ~ 23일: 1 ~ 31월: 1 ~ 12요일: 일요일(0 또는 7 또는 SUN) ~ 토요일(6)년도: 2024 처럼 특정 년도 지정 범위 지정범위는 '-' 으로 지정합니다. 예를 들어 요일 필드에서, 월요일부터 수요일까지라면 MON-WED 또는 1-3과 같이 지정할 수 있습니다. 간격 지정10초 마다 수행하는 것은 0/10 * * * * ?와 같이, 10분 마다 수행하는..
-
iOS 기업 내부 전용 앱(ipa) 배포하기iOS 2024. 4. 2. 22:37
★ Enterprise 계정 필요 순서 개요 1. 앱 Identifier 생성 2. iOS Distribution Certificate 생성 3. Universal Distribution Profile 생성 4. Xcode에서 프로젝트 아카이브, ipa 파일 생성 5. ipa 파일 다운로드 경로가 포함된 manifest.plist 파일과 ipa 파일 서버에 업로드 6. manifest.plist 파일을 불러오면, 파일의 정보를 사용해서 itms-services 프로토콜을 통해 기기에 ipa 다운로드, 애플리케이션 설치 1, 2, 3 내용 생략 ipa 파일 생성 1. Archive 2. Distribute App 클릭 3. Custom(또는 Enterprise) 선택 4. Enterprise 선택 5. D..
-
iOS WKWebView 파일 다운로드iOS 2024. 3. 15. 21:30
웹뷰에서 파일을 다운로드하기위해서 다음과 같은 딜리게이트를 조합해서 사용. ▶︎ WKNavigationDelegate: 웹뷰의 내비게이션 요청을 추적하며, 내비게이션 변화에 대한 허용 또는 거절을 수행하는 기능 제공▶︎ WKDownloadDelegate: 웹뷰 다운로드 및 진행 상황 추적 기능 제공▶︎ UIDocumentInteractionControllerDelegate: 문서 미리보기, 공유 및 '파일'에 저장 기능 제공 WKNavigationDelegateWKNavigationDelegate의 webView:decidePolicyForNavigationAction:preferences:decisionHandler: 메서드를 사용해서 웹뷰에서 내비게이션 시 낚아챌 수 있습니다. 아래와 같이 내비게이션..