머신-Geon
  • 홈
  • 태그
  • 방명록
  • 메뉴 닫기
  • 글작성
  • 방명록
  • 환경설정
    • 분류 전체보기 (145)
      • Git (4)
        • Issue (1)
      • JAVA (18)
        • JAVA - Security (1)
        • JAVA - API정리 (4)
        • JAVA - Spring (0)
        • JAVA - Annotation (1)
        • JAVA - API DOC (2)
        • Issue (2)
      • JPA (2)
        • 개념 정리 (0)
        • Issue (2)
      • KAFKA (7)
        • 개념 정리 (3)
        • version (3)
        • Solution (1)
        • Issue (0)
      • Algorithm (94)
        • 개념 정리 (2)
        • 문제 풀이 (92)
      • Linux (3)
      • Others (13)
        • 프로젝트 (6)
        • 용어 정리 (4)
      • IT Knowledge (2)
      • IDE Setting (0)
        • VS Code (0)
        • Issue (0)
      • 서적 (1)
        • 네트워크 (1)
        • Programing (0)
  • 홈
  • 태그
  • 방명록
JAVA/JAVA - API정리

Optional

Optional이란? Optional는 null이 올 수 있는 값을 감싸는 Wrapper 클래스. Java 8 에서 도입 되었으며, 각종 메소드를 통해 Null에 대응한다. Optional은 null 또는 실제 값을 wrapper로 감싸서 NPE(NullPointerException)로부터 자유로워지기 위해 나온 Wrapper 클래스이다. Optional을 반환하는 메소드는 절대 null을 갖는 value를 반환해서는 안된다. 또한 Optional은 값을 Wrapping하고 풀고, null일 경우에는 예외 대처 과정에서의 성능이 저하될 수 있다. 즉, Optional은 메소드의 결과가 null이 반드시 아닌 경우에는 사용하지 않는 것이 유리하다. Optional 단점 코드는 줄일 수 있지만 가독성이 저하..

2023. 7. 10. 13:14
JAVA/Issue

[IDE-ISSUE] Could not find or load main class Controller Caused by: java.lang.ClassNotFoundException

발생배경 이전 프로젝트를 오랜만에 빌드하던 과정에서 발생 Error: Could not find or load main class Controller Caused by: java.lang.ClassNotFoundException: Controller VsCode, IntelliJ 두개의 IDE 모두에서 발생. 여러글들에서 해결법으로 제안했던 방법 시도 환경변수 ClassPath 수정 clean java language server workspace IDE 삭제 후 재설치 Root Dir 확인 등등... 모두 실패 해결 rootProject.name 프로젝트 이름 설정에 공백을 제거 기존에는 작동이 잘 되었지만, IDE가 업데이트되면서 막힌것으로 추측된다. -> IDE의 버전이 낮은 팀원들은 문제없이 동작..

2023. 7. 10. 12:56
JAVA/Issue

[JAVA-ISSUE] cannot deserialize from object value

발생배경 팀원의 이슈에 대한 응답을 하기 위해 진행. cannot deserialize from object value (no delegate- or property-based creator) 해결 @NoArgsConstructor 추가 or 빈 생성자 추가 binding을 하는 과정에서 발생하는 오류. binding의 과정에서 빈 생성자를 활용하는데 없어서 생기는 오류로 파악. 주의 평소 jackson의 파싱과정에서 발생하는 이슈. 하지만 이번경우 @RequestBody에서 발생. 오류의 원인을 정확히 파악하여 어느곳에서 발생하던 대응할 수 있는 자세가 필요.

2023. 7. 10. 12:52
JAVA/JAVA - Security

[Security] JCA / JCE

Bouncy Castle을 사용할 일이 생겨 정리. 보안은 낯선 영역.... JCA(Java Cryptography Architecture) 자바 프로그래밍 언어의 암호화를 위한 프레임워크. JDK 1.1 java.security 패키지부터 등장. 'provider-based architecture' 사용한다. 암호화, 키 생성 및 관리, 'secure random number' 생성, 인증서 검증 등의 API. 구현 독립성/호환성, 알고리즘 확장성을 고려하여 설계. JDK 1.4 이상에서는 JCE(Java Cryptography Extention)도 기본 포함. 관련 암호 서비스를 정의, 지원하기 위해 'Provider Framework'와 'Provider'를 제공. 기타 JDK 암호 라이브러리 JS..

2021. 4. 13. 14:03
JAVA/JAVA - API DOC

[API - Doc] 스웨거(Swagger) 3.0.0 with yaml

API 문서를 스웨거로 관리하는 작업을 하며 yaml파일 작성법에 대해 공식홈페이지를 통해 정리해보았다. 간단한 구조이므로 몇번 직접 쓰다보면 감이 잡힐 것이다. 정리한 것 외에도 다양하니 필요한 부분은 검색. 스웨거(Swagger) API들이 가지고 있는 정보들을 명세, 관리할 수 있는 도구. API를 문서화 하는 툴. 어노테이션을 활용할 수도 있지만 코드가 난잡해지는것을 지양해야 하기 때문에 yaml파일로 작성을 선호한다. 해당글은 yaml파일 기준 작성법이다. 스웨거를 모른다면 이전 글을 참고. 2020.09.07 - [JAVA/JAVA - API DOC] - [Spring] Swagger로 API 문서 자동화하기 1. Metadata 1.1 version openapi: 3.0.0 openapi:..

2021. 4. 13. 13:56
JAVA

[Java] 자바 직렬화(Serialization)

Serialize를 언제 쓰는건지 파악하고자 정리를 해보았다. 직렬화(Serialization) Java 내부 시스템에서 사용되는(또는 JVM 메모리에 올려진) 객체나 데이터를 외부에서 사용할 수 있도록 Byte 형태로 변환하는 것 (byte stream 형태) → 역직렬화 : 직렬화된 바이트 형태의 데이터를 객체로 변환하는 것. 직렬화를 쓰는 경우 VM의 메모리에서 상주하는 객체 데이터를 그대로 영속화(Persistence)할 때 사용된다. 시스템이 종료되더라도 사라지지 않으며, 영속화된 데이터이기 때문에 네트워크로 전송도 가능하다. Servlet Session Servlet 기반의 WAS들은 대부분 세션의 Java 직렬화를 지원한다. 파일로 저장, 세션 클러스터링, DB를 저장하는 옵션 등을 선택하면..

2021. 4. 12. 17:45
  • «
  • 1
  • 2
  • 3
  • »
반응형

전체 카테고리

  • 분류 전체보기 (145)
    • Git (4)
      • Issue (1)
    • JAVA (18)
      • JAVA - Security (1)
      • JAVA - API정리 (4)
      • JAVA - Spring (0)
      • JAVA - Annotation (1)
      • JAVA - API DOC (2)
      • Issue (2)
    • JPA (2)
      • 개념 정리 (0)
      • Issue (2)
    • KAFKA (7)
      • 개념 정리 (3)
      • version (3)
      • Solution (1)
      • Issue (0)
    • Algorithm (94)
      • 개념 정리 (2)
      • 문제 풀이 (92)
    • Linux (3)
    • Others (13)
      • 프로젝트 (6)
      • 용어 정리 (4)
    • IT Knowledge (2)
    • IDE Setting (0)
      • VS Code (0)
      • Issue (0)
    • 서적 (1)
      • 네트워크 (1)
      • Programing (0)
Powered by Privatenote Copyright © 머신-Geon All rights reserved. TistoryWhaleSkin3.4

티스토리툴바