목록분류 전체보기 (770)
컴공생의 다이어리
Burp Suite(버프 슈트) 설치 Burp Suite(버프 슈트)는 PortSwigger라는 회사에서 개발된 웹 애플리케이션의 침투 테스트에 사용되는 소프트웨어 보안 애플리케이션이다. 클라이언트와 서버가 통신을 주고 받을 때 전달되는 패킷을 중간에 가로채서 확인할 수 있다. 이 글에서는 버프 슈트의 설치 방법과 실행 방법에 대해 정리하고자 한다. 설치 방법 1. PortSwigger(버프 슈트 제품 회사) 홈페이지에 접속한다. Web Application Security, Testing, & Scanning - PortSwigger PortSwigger offers tools for web application security, testing, & scanning. Choose from a range..
PuTTY 출력 라인 수 늘리기 PuTTY를 실행하여 Window로 이동 후 Lines of scrollback 부분에 출력하고자 하는 라인 수로 변경하면 출력 라인 수를 변경할 수 있다. 방금 변경한 출력 라인 수 설정을 일시적으로 사용하는 것이 아닌 기본 설정으로 사용하고 싶다면 Session으로 가서 아래와 같이 Default Settings를 클릭 후 Save 버튼을 눌러 설정을 저장해주면 된다.
[SQL] WITH 절 WITH 절은 복잡한 쿼리문에서 반복되는 서브쿼리를 임시 테이블처럼 활용할 수 있는 가상 테이블의 개념이다. 일종의 이름을 붙인 서브쿼리라고 할 수 있다. 주요 RDBMS(MySQL, Oracle, Postgresql...)에서 제공하는 기능이다. WITH 절을 사용하면 반복되는 블록을 재사용함으로써 코드 가독성을 높일 수 있으며 실행 속도 시간을 최적화할 수 있다. WITH 절은 아래와 같이 별칭(서브쿼리의 이름)을 지정하고 별칭에 해당하는 쿼리문을 지정해주면된다. WITH 별칭1 AS (SELECT 문), 별칭2 AS (SELECT 문) ... SELECT FROM 별칭1, 별칭2 ...; # example WITH LIST AS ( SELECT * FROM TEST_TB WH..
[Oracle] 오라클 실수로 삭제 후 커밋한 데이터 복구 - AS OF TIMESTAMP 최근 실수로 데이터를 삭제하고 커밋(commit)해버려 엄청 당황스러웠던 일이 있었다. 어떻게 복구할 수 있을까 찾던 중 AS OF TIMESTAMP 를 활용하여 복구하는 방법에 대해 알게 되었고 그 방법에 대해 이 글에 정리하고자 한다. FlashBack은 DB에서 데이터 수정 및 삭제를 하고 커밋을 한 이후더라도 특정한 시간이나 특정 시점으로 되돌릴 수 있는 기능이다. Oracle 9i 이후부터 지원되는 기능으로 잘못된 DML operation으로 인한 복구를 쉽게 할 수 있다. FlashBack 기능을 통해 AS OF TIMESTAMP를 활용하여 삭제 전 데이터를 조회할 수 있으며 이를 활용하여 데이터 복구가..
@Profile 빈이나 컴포넌트에 프로필을 구분하여 빈을 로드하고 싶은 경우 @Profile을 활용하면 된다. 아래와 같이 @Profile을 통해 프로필(profile)이 active될 때 어떤 빈 혹은 컴포넌트를 등록할지 결정할 수 있다. @Configuration @Profile("prod") public class ProdConfig{ @Bean public DataSource dataSource(){ // ... 생략 } } @Configuration @Profile("dev") public class DevConfig{ @Bean public DataSource dataSource(){ // ... 생략 } } 프로필 이름 앞에 NOT 연산자인 !를 접두사로 붙여 프로필에서 제외시킬 수 있다. ..
[Infra] 스케일 업(Scale-up), 스케일 아웃(Scale-out) 서버의 용량이나 성능을 높이기 위해서 인프라를 업그레이드 하는 방법으로 스케일 업과 스케일 아웃이 있다. 스케일 업(Scale-up) 기존 서버의 사양을 업그레이드해 시스템을 확장하는 것 추가적인 네트워크 연결없이 사양만 증강하고 한 대의 서버를 관리하면 되기 때문에 비교적 간단 성능 향상에 따른 비용부담이 큼 단일 서버이기 때문에 서버 교체시 다운타임 발생 및 장애 발생시 큰 타격 하드웨어적인 예) 성능이나 용량 증강을 목적으로 하나의 서버에 디스크를 추가하거나 CPU나 메모리를 업그레이드시키는 것 소프트웨어적인 예) AWS의 EC2 인스턴스 사양을 micro에서 small, small에서 medium 등으로 높이는 것 스케일..
[MySQL] 한번에 여러개의 데이터 삽입(insert) 첫번째로 VALUES 로 아래와 같이 여러 데이터를 한번에 삽입하는 방법이 있다. INSERT INTO TEST (col1, col2, ...) VALUES ('v1', 'v2', ...), ('v1', 'v2', ...), ... ('v1', 'v2', ...); 두번째로 SELECT 문을 활용하여 SELECT 된 결과를 삽입 방법이 있다. 여러 테이블의 결과를 단일 테이블에 저장하거나 하나의 테이블의 일부 컬럼을 조회하여 저장하는 경우에 활용된다. INSERT INTO TEST SELECT * FROM TEMP WHERE 조건; SELECT INTO TEST SELECT A, B, C, D FROM TEMP WHERE 조건;
[AWS] 예산(Budgets) 제한 설정 AWS에서 청구서가 날아와 '왜 이런 금액이 청구되었지?' 하고 갑작스럽게 놀라기 전에 미리 요금 폭탄을 예방할 수 있는 방법에 대해 소개하고자 한다. 바로 AWS의 예산(Budgets) 설정 서비스이다. 우선 AWS console에서 Budgets를 검색 후 들어간다. 아래와 같이 나오면 예산 생성 버튼을 클릭한다. 다음과 같이 예산 유형을 선택하면 된다. 프리티어 서비스로만 이용하고 싶은 경우 제로 지출 예산 템플릿을 선택시 간단하게 예산 생성이 가능하다. 조금 더 예산에 대한 구체적인 설정(예산 금액 설정, 예산 범위, 알림 임계값...)을 하고 싶다면 템플릿을 사용하지 않고 사용자 지정(고급)을 선택하여 커스텀하면 된다. 예산 생성 후 Budgets(예산..
[스프링 부트, Spring Boot] 테스트 실행환경 분리 이번 글에서는 테스트 실행환경 분리를 위한 방법에 대해 정리하고자 한다. 제일 먼저 application.yml(환경변수) 파일에 테스트 환경을 추가해준다. # application.yml spring: config.activate.on-profile: default --- spring: config.activate.on-profile: test 이때, 테스트 환경에 대한 환경 변수 파일을 test 하위에 분리해주는 방법도 있다. 환경 변수 파일을 test 하위에 만들어주면 자동으로 main 하위의 환경 변수 파일보다 우선적으로 적용된다. 그리고 분리한 테스트 환경을 적용시켜주기 위해 테스트 클래스에 @ActiveProfiles를 아래와 같이 ..
[도서리뷰] 쉽게 시작하는 타입스크립트 현재 타입스크립트(TypeScript)는 프론트, 백엔드 구분할 것 없이 수요가 높아지는 대세 언어인 것 같다. 프론트는 말할 것도 없고 백엔드에서도 NestJS 프레임워크와 결합해서 많이 사용되는 것 같다. (타입스크립트를 사용하는 기업이 궁금하다면 아래 사이트에 접속해보는 것을 추천한다.) Typescript 사용하는 기업들 | 코드너리 [Typescript]은/는 현재 클라썸,플렉스,렌딧,클래스팅,엔라이튼,토스랩 등의 기업에서 사용하고 있습니다. 더 많은 정보는 코드너리에서 지금 바로 확인해보세요. www.codenary.co.kr 본론으로 다시 돌아와서 오늘은 길벗 출판사에서 책을 제공받아 읽게 된 쉽게 시작하는 타입스크립트 책에 대해 짧게나마 리뷰해보려고 ..