목록Spring Framework (79)
seo92iy
; 앞의 명령 실패해도 다음 명령 실행 & 앞의 명령 백그라운드로 돌리고 다음 명령 실행 && 앞의 명령이 성공해야 다음 명령 실행 echo $? 이전 명령어가 반환한 값을 알려주는 명령어 true -> 0 false -> 0이 아닌 값

내 public key 를 로그인하고 싶은 컴퓨터 authorized_keys에 넣어준다. ssh-keygen id_rsa -> private key id_rsa.pub -> public key id_rsa.pub 내용을 상대 authorized_keys에 복사하는 방법 ssh-copy-id aaa@192.168.0.0 장점 : rsync 할 때도 편리하다. cron을 이용해서 정기적으로 백업을 자동으로 하게 하려면 사용자가 비밀번호 입력하는 과정이 sshkey로 대체되니까 자동으로 된다. RSA 과정 Client 접근 요청 -> Server 랜덤키 전송 - > Client private key로 암호화, 전송 -> Server 가지고 있는 public key로 복호화, 맞으면 접근 허용

touch test{1..10} -> 1~10까지 파일 한번에 생성 rsync -a src/ dest rsync -av src/ dest -> 상세내용 출력 test10 만 지우고 다시 실행했을 때 나오는 문구 rsync -azP ~/rsync/src/ aaa@192.168.0.0:~/rsync/dest z : 압축해서 보낸다 P : 보내는 진행 상황 보여줌. ~/ home 디렉토리

domain , DNS /etc/hosts 이렇게 google.com을 추가할 경우 localhost로 접속이 된다. client --->hosts파일-->DNS(hosts 파일에 있으면 과정 생략)--------->server DNS 서버 /etc/resolv.conf 서브 도메인 blog.naver.com news.naver.com DNS principle dig +trace google.com 해보면 여러 단계가 나온다 -> 한번에 접속하는게 아니라 여러 단계를 거쳐서 접속이 이루어 진다. DNS 는 한대가 아니다. 루트 DNS 목록 도메인 네임 서버 목록

서버 개발할 때 자주 쓰는 localhost:8080 localhost:3000 에서 8080, 3000 naver.com:80 에서 80이 포트. https://www.naver.com:80 은 접속이 안되는데 http://www.naver.com:80 은 접속이 된다. 차이점이 있을까 https://johngrib.github.io/wiki/why-http-80-https-443/ http의 기본 포트가 80, https의 기본 포트가 443인 이유는 무엇일까? 80은 처음부터 지정, 443은 나중에 요청을 받아 빈 공간으로 순서대로 배정 johngrib.github.io 특정 사이트의 포트 확인 방법 (nmap 사용) 네이버의 경우 http는 80, https는 443포트가 열려 있음을 확인할 수 ..
원격으로 쉘을 제어할 수 있는 방법 SSH client --------------------------------SSH server ssh 접속 ssh id@ip주소 (ip 주소 확인 : ip addr) ex) ssh seo92iy@192.168.0.0 접속 해제 exit
2.6 트랜잭션 트랜잭션 스크립트 하나의 트랜잭션 안에서 동작해야 하는 코드를 한 군데 모아서 만드는 방식. 비즈니스 로직, 데이터 엑세스 로직 다 섞여 있다. 물론 메소드를 분리할 수 있지만 같은 트랜잭션 안에서 동작하는 것을 보장해야 하니까 Connection과 같은 트랜잭션 정보를 파라미터로 계속 달고 다녀야 한다. 그리고 자주 사용되는 DB 엑세스 로직이 중복돼서 등장할 확률도 높다. 선언적 트랜잭션 경계설정 트랜잭션 스크립트의 문제점 해결 가능 트랜잭션 경계도 트랜잭션 전파 속성을 '트랜잭션 필요 REQUIRED'로 해주는 방식으로 임의로 설정 가능

싱글톤 singleton 인스턴스를 하나만 생성할 수 있는 클래스 싱글톤 만드는 방법 1. public static final 선언 장점 : 싱글톤 임이 코드에 잘 드러난다, 간결하다. 2. getInstance() 이용. 정적 팩토리 방식 장점 : API를 바꾸지 않고도 싱글톤이 아니게 변경할 수 있다. 정적 팩토리를 제네릭 싱글톤 팩토리로 만들 수 있다. 정적 팩토리의 메소드 참조를 공급자로 사용할 수 있다. (getInstance를 Supplier으로 사용) 3. 열거 타입 장점 : 간결하다, 추가 노력 없이 직렬화 가능. 아주 복잡한 직렬화 상황이나 리플렉션 공격에서도 제2의 인스턴스가 생기는 일을 막아준다. 직렬화란 https://devlog-wjdrbs96.tistory.com/268 [Jav..