목록전체 글 (178)
코딩마을방범대
우선 메시지 큐와 관련된 용어들을 함께 알아본 뒤에 카프카에 대해 알아볼 것이다! 메시지 지향 미들웨어(MOM; Message Oriented Middleware) 응용 소프트웨어 간의 비동기적 데이터 통신을 위한 소프트웨어 메시지 백업 기능을 유지함으로써 지속성을 제공하여 네트워크 연결을 유지할 필요가 없음(보관) 미들웨어 계층 자신이 직접 메시지 라우팅을 수행하기 때문에, 하나의 메시지를 여러 수신자에게 배포가 가능함(라우팅) 송수신 측 요구에 따라 전달하는 메시지를 변환할 수 있음(변환) 메시지 브로커와 이벤트 브로커 메시지 브로커(Message Broker) Producer 가 생산한 메세지를 메세지 큐에 저장하고, 저장된 메세지를 Consumer가 가져갈 수 있도록 함 Consumer 가 메세지..
패스워드 크래킹 컴퓨터 시스템에 저장된 데이터 혹은 네트워크 상에서 전송되는 데이터를 이용하여 암호(password)를 복원하는 기술이다. 암호를 푸는데 걸리는 시간은 암호 강도(password strength)와 관련이 있으며, 대부분의 패스워드 크래킹 기법은 다수의 후보 암호를 생성하여 크래킹 한다. 패스워드 크래킹의 목적 암호를 잊어버린 사용자를 위해 암호를 복구하는 것 시스템에 허가되지 않은(unauthorized) 접속을 하는 것 관리자가 자신이 설정한 암호가 풀기 쉬운지 체크하는 것 John the Ripper와 Hash Suite의 차이점 John the Ripper Hash Suite 작동 방식 온라인 패스워드 크래킹 서비스로, 사용자가 웹 브라우저를 통해 액세스할 수 있다. 사용자는 해시..
Nexus를 이용해 Maven 라이브러리를 배포할 일이 생겼다. Nexus 서버만 구축했다면 배포하는 방법은 간단하다! 일단 기본적으로 pc 내에 메이븐이 설치되어있어야한다. Maven 설치하기 파일을 직접 다운로드 받아서 설치하기 1. maven 설치하기 아래 링크에서 apache-maven- ~ -bin.zip 파일을 다운로드 받아준다. 압축해제할 폴더 위치는 아무 곳이나 상관없지만, 나는 Program Files에 넣어줬다. Maven – Download Apache Maven Downloading Apache Maven 3.9.6 Apache Maven 3.9.6 is the latest release: it is the recommended version for all users. System ..
우분투에서 Nginx 구축 웹서버 Nginx & Apache (이전 포스트) 1. Nginx 설치 apt 업데이트 후 Nginx 설치 Nginx 설치 시 자동으로 실행됨 $ sudo apt update $ sudo apt-get install nginx Nginx 실행 $ sudo service nginx start # or $ sudo systemctl start nginx sweet-rain-kim.tistory.com 서버에 Nginx 하나를 구축하는 것은 위 링크를 참고하면 된다. 하지만 이번 포스팅에선 사용자 별로 각각의 홈디렉토리에 Nginx를 구축해볼 것이다. 물론 포트 번호는 전부 달라야하고, 메인 Nginx 하나를 구축하는 것보다 훨씬 번거롭다. 모든 명령어는 root 권한을 기반으로 실..
우분투의 curl이 API 통신을 위한 툴이라면, ssh는 이름 그대로 ssh 통신을 위한 툴이다. 그 중에서도 sshpass를 이용하는 방법과 기본으로 ssh를 이용하는 방법이 있다. sshpass는 apt를 통해 설치해야 사용이 가능하고, ssh는 기본적으로 사용 가능하다. ssh(Secure Shell) 원격 서버에 안전하게 접속하기 위한 프로토콜 이 프로토콜을 사용하면 네트워크를 통해 다른 컴퓨터에 로그인하거나, 원격 컴퓨터에서 명령을 실행하거나, 원격 컴퓨터와 로컬 컴퓨터 사이에 파일을 전송할 수 있음. ssh는 기본적으로 사용자가 비밀번호를 직접 입력하도록 요구함 sshpass 비밀번호를 터미널에 직접 입력하지 않고 ssh 명령을 실행하기 위한 툴 이 도구를 사용하면 스크립트에서 ssh를 사용..
자바를 통해 서버의 sh 실행 제어하기 자바를 이용해 ssh 에 접속하여 command를 수행할 수 있다. 더불어 파일 업로드, 다운로드도 가능하다! 이번 포스팅에선 ssh에 접속해서 sh파일을 실행하는 로직을 구상해볼 것이다! 사용하기 1. 같은 sweet-rain-kim.tistory.com 이전 포스팅에선 sh 파일을 실행하는 로직을 구성해봤는데 이번 포스팅에선 파일 업로드&다운로드 로직을 테스트 해볼 것이다. 동일하게 JSch를 사용하기 위해 의존성 추가를 해준다. dependencies { implementation 'com.jcraft:jsch:0.1.55' } 세션 설정 public Session getSession(String host, String id, String password) t..
자바를 이용해 ssh 에 접속하여 command를 수행할 수 있다. 더불어 파일 업로드, 다운로드도 가능하다! 이번 포스팅에선 ssh에 접속해서 sh파일을 실행하는 로직을 구상해볼 것이다! 사용하기 1. 같은 서버 내에서 SH파일만 실행하기 다른 서버로는 접근이 불가하고, war 를 구동시킨 현재 서버에만 접근이 가능한 로직이다. 아래 로직은 프로세스 실행 후 출력값을 반환한다. public String serviceShControl(String path, String status) throws IOException { // path엔 "/home/shin/service.sh" 등의 sh 파일 위치를, // status는 start 등의 sh에 존재하는 명령어를 적어주면 된다. ProcessBuilder..
파일을 복사하기 위해 cp 명령어를 사용하는데, 여러 파일을 복사해야하는 경우가 있다. 이럴 경우 여러 번 명령어를 반복하는 것이 아닌 간편하게 한 번에 실행시킬 수 있는 명령어가 당연히 존재한다. cd를 통해 복사할 파일이 존재하는 위치로 이동하는 것이 복사 시 편하다. 현재 폴더 위치 확인 방법 pwd 1. 단일 파일을 복사하기 cp [복사할 파일] [복사 후 이동할 폴더] ##예시 cp source_file.txt /path/to/destination/ 2. 여러 파일을 복사하기 cp [복사할 파일1] [복사할 파일2] [복사 후 이동할 폴더] ##예시 cp file1.txt file2.txt /path/to/destination/ 3. 폴더 내 전체 파일 복사하기 cp [복사할 폴더/*] [복사..