목록💡 백엔드 (147)
코딩마을방범대
소나큐브란코드 품질 분석: 소나큐브는 다양한 프로그래밍 언어(Java, C#, JavaScript 등)의 코드를 분석하여 버그, 취약점, 코드 스멜 등을 찾아냅니다.자동화 및 통합: 소나큐브는 CI/CD 파이프라인에 통합되어 자동으로 코드 품질을 검사할 수 있습니다.보안 취약점 탐지: OWASP Top 10 등 보안 규칙을 기반으로 보안 취약점을 찾아냅니다.커스텀 룰셋 지원: 사용자 정의 규칙을 추가하여 특정 요구사항에 맞는 코드 검사를 수행할 수 있습니다.웹 기반 대시보드: 웹 브라우저에서 코드 분석 결과를 확인하고 관리할 수 있습니다.정적 코드 분석: 실제 실행 없이 코드 자체를 분석하여 문제점을 발견할 수 있습니다. 코드스멜이란?프로그래밍 코드에서 문제를 일으킬 가능성이 있는 프로그램 소스 코드의 ..
인스턴스를 사용하다보면 어느새 할당된 디스크 용량을 전부 사용한 경우가 오게된다. 위와 같이 92% 사용량을 보고 디스크 용량을 확인해보면 아래와 같이 used가 거의 꽉 찬 것을 알 수 있다. 오늘은 기존 인스턴스의 볼륨을 확장하는 방법을 알아볼 것이다!우선 인스턴스에 할당된 볼륨의 크기를 증가시킨 뒤, 리눅스 시스템에 반영해주기만 하면 된다. 1단계. EBS 볼륨 확장 1. 인스턴스 목록에서 용량 증가시킬 인스턴스 클릭 AWS 콘솔 페이지에 로그인한 후 인스턴스 목록에서 용량을 증가시킬 인스턴스를 선택한다.이후 스토리지 탭을 선택하여 볼륨ID를 선택한다. 2. 볼륨 수정 선택 그럼 해당 볼륨 검색 페이지로 넘어가게 되는데, 여기서 체크박스 선택 후 볼륨 수정 버튼을 클릭해준다. ..
이전 포스터에서 Replication의 개념을 설명 했고, 이 후 실제로 MySQL에 적용하는 방법을 알아볼 것이다. 데이터베이스 리플리케이션(Replication)데이터베이스 리플리케이션(Replication) 실시간 복제본 데이터베이스 서버를 운용하는 것기준이 되는 서버를 마스터 서버라 하고, 마스터 서버와 동일한 내용을 갖는 또 다른 서버를 ‘리플sweet-rain-kim.tistory.com Replication이란? 복제(Replication)는 1개 이상의 레플리카(replica) 저장소가 소스 저장소와 동기화를 자동으로 유지하는 과정이다.(기존의 일반적으로 사용하였던 master-slave라는 용어를 source-replica로 대체하는 추세이다.) MySQL Rep..
war 파일을 실행시킬 땐 일반적으로 java -jar 명령어를 이용한다.하지만 디버깅 모드가 필요할 경우 war가 아닌 프로젝트 소스 코드가 필요하다.소스 코드를 확인하는 방법부터 프로젝트로 생성하는 방법까지 진행해볼 예정이다.(디컴파일 시 빌드 파일은 확인이 불가하므로, 정확한 프로젝트 복구는 불가하다.) WAR 파일의 소스 코드 추출하기 war 파일의 소스 코드를 확인하는 방법에는 여러가지가 있다. 1. war 파일의 확장자를 zip 파일로 변경해준 뒤 압축 해제 압축 해제 시 WEB-INF 폴더에 필요한 파일들이 들어가 있었다.classes에는 실질적인 프로젝트 소스들이 들어가있고, lib에는 필요한 라이브러리들이 jar 파일로 들어있다.하지만 이와 같이 소스 코드를 얻을 경우 파일명.cla..
우분투에서 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..