목록분류 전체보기 (220)
코딩마을방범대
데이터베이스 리플리케이션(Replication) 실시간 복제본 데이터베이스 서버를 운용하는 것기준이 되는 서버를 마스터 서버라 하고, 마스터 서버와 동일한 내용을 갖는 또 다른 서버를 ‘리플리카(Replica)’라 한다. 어플리케이션은 데이터베이스에 SQL 명령을 보내 데이터를 삽입/변경/삭제하게 되는데, 마스터 서버는 SQL 명령을 수신하면 그 SQL 명령을 리플리카 서버에도 똑같이 보낸다.이렇게 되면 마스터 서버와 리플리카 서버의 데이터가 동일한 상태로 유지된다. 목적기본적으로 데이터 안정성을 위함이다. 기존어떠한 원인으로 인해 데이터가 손상되었을 때, 가장 기초적인 대처는 가장 최신의 백업본을 복구하여 사용하는 것이다.그러나 백업본을 이용한 대처는 큰 단점이 있다.데이터 백업을 주기적이고 자동으..
war 파일을 실행시킬 땐 일반적으로 java -jar 명령어를 이용한다.하지만 디버깅 모드가 필요할 경우 war가 아닌 프로젝트 소스 코드가 필요하다.소스 코드를 확인하는 방법부터 프로젝트로 생성하는 방법까지 진행해볼 예정이다.(디컴파일 시 빌드 파일은 확인이 불가하므로, 정확한 프로젝트 복구는 불가하다.) WAR 파일의 소스 코드 추출하기 war 파일의 소스 코드를 확인하는 방법에는 여러가지가 있다. 1. war 파일의 확장자를 zip 파일로 변경해준 뒤 압축 해제 압축 해제 시 WEB-INF 폴더에 필요한 파일들이 들어가 있었다.classes에는 실질적인 프로젝트 소스들이 들어가있고, lib에는 필요한 라이브러리들이 jar 파일로 들어있다.하지만 이와 같이 소스 코드를 얻을 경우 파일명.cla..
우선 메시지 큐와 관련된 용어들을 함께 알아본 뒤에 카프카에 대해 알아볼 것이다! 메시지 지향 미들웨어(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..