TIL-211212

박건희·2021년 12월 12일
0

프로세스 background 실행

  • foreground vs background
    • foreground-background는 single processor에서 multi-process를 스케줄링 할 때 사용됨
    • forground :
    • background
  • & : 프로세스를 background에서 실행
  • nohup : 터미널이 종료되거나 사용자가 로그아웃해도 background에서 실행(&를 같이 써야함)
  • demon / service ?
    foreground, background

Spring - Request parameter 타입

primitive vs wrapper

  • @Validation 등으로 null에 대한 예외처리를 하면 primitive로 해도 될까?
    • ex) Long 타입은 값 비교시 .longValue()을 호출해야한다.
    • annotaion으로 null을 걸러주면 primitive를 쓸 수 있지 않을까?
  • 번외로, RequestBody로 null을 받은 경우엔 (RequestBody 자체에 validator가 없을경우에)

@Transactional 전파 레벨

Spring @Transactional 전파 레벨

자바:스프링 부트 프로젝트 build(gradle)

gradle 빌드시 Could not find tools.jar. Please check that .... contains a valid JDK installation.

  • 상황
    • 환경변수에 jre 1.8버전이 매칭되어있고, jdk는 없는상황
    • 프로젝트 Java 버전은 11로 설정된 상황
  • 해결
    • 환경변수에 jdk11을 설정하지 않고 빌드하는 법
      • 프로젝트 최상위에 gradle.properties 파일을 생성하고
        org.gradle.java.home={jdk 11버전의 절대경로} 추가

원격서버에 파일 업로드 : FileZilla

git에서 프로젝트를 pull해서 gradle로 빌드하는데 잘 되지 않았음
EC2에 jar 파일을 업로드해서 배포하기로 함
FileZilla 라는 프로그램을 사용해서 sftp(ssh file transfer protocol)로 ec2에 접속하여 파일 업로드

EC2는 인바운드 규칙에서 ssh 포트(22)를 개방
FileZilla에서

  • host : ec2 ip
  • port : 22
  • protocol : sftp
  • logon 유형 : pem.key
  • User : ubuntu
  • key file : pem.key
    입력하여 접속

게시글과 이미지 업로드

게시물 업로드시 이미지가 저장되고 문자열이 저장되는데, 문자열 저장(아티클 내용)이 실패하면 이미지만 있게됨
배치작업으로 당일 등록된 아티클과 당일 등록된 이미지를 대조하여 아티클에 속하지 않는 이미지 url(이미지)는 삭제하도록 하면 저장공간 낭비를 없앨 수 있음

0개의 댓글