목록JAVA (41)
개발 기록
기존 프로젝트에서는 log4j2 를 사용했었지만 자바에서 제공하는 라이브러리만을 써야하는 상황이 생겨.. 자바 기본 log 기능을 사용해보게 되었다.! 많은 조건 설정이 있지만 나는 대부분 기본으로 했고 필요한 것만 설정했다. - 생성자 선언 private static final Logger logger = Logger.getLogger(logTest.class.getName()); - 로그 파일 생성을 위한 코드 : 파일핸들러 (경로 + 파일명 지정) * 경로 지정 안 할 시 프로그램이 실행되는 디렉토리에 생성 FileHandler fileHandler = new FileHandler("/home/tomcat/logs/logTest_" + LocalDate.now() + ".log"); logger.a..
https://prohannah.tistory.com/82 Springboot 개인정보 암복호화 저장 (4) 암복호화 시점과 주체 선정 - JPA AttributeConverter 개인정보 암복호화 시점과 주체에 대해 어떤 고민을 하였는 지 공유하겠다. 다른 방법들도 많겠으나 나는 세 가지 후보에 대해서 고려하였고, JPA AttributeConverter를 사용하기로 결정했다. 이를 어 prohannah.tistory.com
https://stackoverflow.com/questions/51014320/spring-type-definition-error-when-posting-a-new-object-using-a-rest-\service
https://madplay.github.io/post/java-upcasting-and-downcasting 자바 업캐스팅 다운캐스팅 자바에서 업캐스팅(Upcasting)과 다운캐스팅(Downcasting)이란 무엇일까? madplay.github.io https://inpa.tistory.com/entry/JAVA-%E2%98%95-%EC%97%85%EC%BA%90%EC%8A%A4%ED%8C%85-%EB%8B%A4%EC%9A%B4%EC%BA%90%EC%8A%A4%ED%8C%85-%ED%95%9C%EB%B0%A9-%EC%9D%B4%ED%95%B4%ED%95%98%EA%B8%B0 [JAVA] ☕ 업캐스팅 & 다운캐스팅 - 완벽 이해하기 자바의 참조형 캐스팅 하나의 데이터 타입을 다른 타입으로 바꾸는 것을..
https://www.tcpschool.com/java/java_inheritance_super 코딩교육 티씨피스쿨 4차산업혁명, 코딩교육, 소프트웨어교육, 코딩기초, SW코딩, 기초코딩부터 자바 파이썬 등 tcpschool.com https://kadosholy.tistory.com/93 [Java] 자바 - super 및 super( )의 용도와 사용방법 자바 - super 및 super( )의 용도와 사용방법 자바에서 상속하여 클래스를 사용할 경우 부모 클래스에 접근하기 위해서 사용되는 super와 super( )에 대해서 알아보도록 하겠습니다. 1. super 및 super( )의 kadosholy.tistory.com

기록은 어렵다.. 간단하게라도 정리 강의 수강 목적 : 실무에서는 아무래도 기존 코드에 맞춰 개발을 하다보니 뭐가뭔지 생각하는게 덜 해졌다고 느껴졌다. 예외처리도 그 중 하나인데 다른 메소드에서 쓰이는 걸 그냥 그대로 가져와 쓰다가 어느 날은 알고는 써야지 하고 생각이 들었다. 그래서 예외처리에 관한 강의를 찾다가 수강 ! - 강의는 JDBC부터 데이터 소스 트랜젝션 예외 많지만 나는 예외처리때문에 들었으므로 정리도 그 부분만 하겠다! - 예외 기본 문법이라는 내용도 나는 모르고 있어서 듣길 잘 했다고 생각이 들었다. 내용 정리 예외 계층 체크 예외와 언체크 예외 차이는 컴파일러의 체크 유무 + 컴파일러란 - 소스를 컴퓨터 언어인 기계어로 번역하는 작업(컴파일)을 하는 프로그램 + 빌드 = 컴파일 + 링..
영속성 컨텍스트 -엔티티를 영구 저장하는 환경 엔티티의 생명주기 -비영속 (new/transient) : 영속성 컨텍스트와 전혀 관계가 없는 새로운 상태 -영속(managed) : 영속성 컨텍스트에 관리되는 상태 -준영속(detached) : 영속성 컨텍스트에 저장되었다가 분리된 상태 -삭제(removed) : 삭제된 상태 엔티티 조회, 1차 캐시 em.persist(member); 영속상태가 되고 1차 캐시에 저장됨 ( 영속성 컨텍스트 안에 1차 캐시 존재 ) --> 데이터 조회시 db보다 먼저 1차 캐시에서 데이터를 찾음 --> 1차 캐시에 없으면 db에서 조회후 1차 캐시에도 저장하고 그것을 반환 영속 엔티티의 동일성 보장 -1차 캐시로 반복 가능한 읽기 등급의 트랜잭션 격리 수준을 데이터베이스가 ..
CRUD 코드가 다 만들어져 있어서 불러쓰면 되기 때문에 편하고 생산성이 높음 저장 - jpa.persist(member) 조회 - Member member - jpa.find(memberId) 수정 - member.setName("이름") 삭제 - jpa.remove(member) 필드 변경시 SQL은 JPA가 처리하기 때문에 필드만 추가하면 됨 유지보수하기 좋음 패러다임의 불일치 해결 객체지향 언어와 관계형 데이터베이스 사이의 불일치를 해결, 연결해줌 성능 최적화 기능 같은 트랜잭션 안에서는 같은 엔티티를 반환 (1차 캐시와 동일성 보장) 트랜잭션이 짧기때문에 크게 성능 향상은 안됨 커밋할 때 까지 INSERT SQL을 모은 후 커밋하는 순간 같이 보낸다 지연 로딩 - 객체가 실제로 사용될 때 로딩 ..