전체 글 680

[QA] CSTS 일반등급(FL) 합격 후기 (준비 방법, 정보, 후기)

준비 이유시험 본지 시간이 꽤 됐지만 뒤늦게라도 포스팅해본다. 개발자로 근무하면서 개발서버, 운영서버를 직접 테스트해보고 QA 분들과 소통하며 테스팅의 중요성을 깨닫게 되었다.QA 분들이 테스트를 진행하기 전에, 내가 먼저 체계적으로 테스트를 하면 더 업무가 효율적으로 이루어질 것이라 생각해 테스트에 대해 자세히 배워보고 싶다는 생각이 강해졌던 것 같다.그렇게 자연스럽게 해당 직무에 관심이 생기며, 자격증까지 알아보게되었다. 자격증을 따는 것은 실무를 제외하고 가장 쉽고 빠르게 해당 직무의 기초 개념을 쌓을 수 있는 방법이라 생각한다. 처음엔 ISTQB를 접했지만, 응시료가 만만치 않아(^ㅠ) CSTS로 방향을 틀었다. 시험 정보https://edu.tta.or.kr/edu/contents.do?ke..

QA 2026.09.24

[MySQL] 재귀 쿼리 (RECURSIVE CTE)

재귀 쿼리는 자기 자신을 참조하여 쿼리를 실행하는 것이다.영어로 Recursive CTE이다. CTE란?Common Table Expression의 약자WITH 문을 사용하여 만든 임시 테이블하나의 쿼리문 범위 내에서만 존재하며, 여러번 참조될 수 있는 일회성 테이블재사용이 필요한 서브 쿼리를 간결하게 표현할 때 유용 [CTE 기본 구조]WITH CTE_이름 AS ( -- CTE 내부의 쿼리 정의 SELECT ...)SELECT * FROM CTE_이름   재귀적(Recursive) CTERecursive CTE(재귀 공통 테이블 표현식)는 재귀적으로 데이터를 처리할 수 있는 CTE의 확장 버전주로 계층적 데이터(예: 조직 구조, 트리 구조)를 탐색하거나, 반복적인 계산이 필요한 경우에 사용 ..

DB 2024.12.17

[Linux] 소프트웨어 관리 명령어 정리(파일 압축, RPM, YUM)

파일 압축과 풀기 tar(Tape ARchiver)tar [파일과 디렉터리들] … : 하나의 파일로 묶기tar tvf [test.tar]: 묶여 있는 파일 미리보기tar xvf [test.tar] -C /tmp : test.tar를 /tmp에 풀기x: 파일 풀어줌, C: 풀릴 위치 지정rm -rf test.tar: tar 파일 제거star 명령어: 복사/이동 시 보안 콘텍스트 유지되게 원래 속성 유지GNU zipgzip [/root/install.log]: 파일 압축gzip -d [/root/install.log.gz]: 압축 파일 풀기gzip -r [/root]: 해당 디렉터리의 모든 파일/디렉터리 각각 압축 bzip2: gzip 보다 압축률 좋음   RPM RedHat Package Manager: ..

DEVOPS/LINUX 2024.07.30

[Linux] 관리자 명령어 - 파일시스템 보안

파일시스템 보안 명령어 정리 chroot: 어느 디렉터리를 가상의 최상위 / 디렉터리로 만들어 cd .. 했을 때 더이상 상위 디렉터리로 이동 못하게chcon: 파일 B의 보안설정이 파일 A의 보안설정과 동일하게 설정되도록chattr: 속성 변경+i : 파일 속성 변경, 추가, 삭제 등 불가lsattr: 속성 보기SetUID: 파일의 소유자 권한으로 파일을 실행chmod 명령어 뒤에 4xxx를 붙이면 설정됨setGID: 파일을 소유한 그룹의 권한으로 파일을 실행sticky bit: 이 비트가 설정된 디렉토리는 공용 디렉토리가 되지만, 파일을 소유한 사용자만 그 파일을 삭제하거나 수정할 수 있음IPC(Inter-Process Communication): 서로 다른 프로세스 간에 데이터를 주고받거나 통신을 ..

DEVOPS/LINUX 2024.07.30

[MySQL] 프로시저, 이벤트 스케줄러 만들기

프로시저란?어떠한 동작을 일괄 처리하기 위한 쿼리문의 집합으로, MySQL에서의 메서드라고 보면 된다. 함수처럼 매개변수를 받고 그에 따라 결과를 나타내는 것이 가능하다.SQL 명령의 묶음으로, 프로시저로 묶인 SQL 문 질의들은 처리될 때 하나의 쿼리로 해석된다.  프로시저 사용법DELIMITER //CREATE PROCEDURE 프로시저명(매개변수)BEGIN SQL 문1; SQL 문2;END//DELIMITER ; "DELIMITER //" 을 선언해서 기존 구분 문자인 ";" 에서 "//"로 바꿔준다.CREATE PROCEDURE로 프로시저를 등록한다.프로시저 등록을 마친 후 "DELIMITER ;"을 통해 다시 구분 문자를 ";"으로 바꿔준다. call 프로시..

DB 2024.06.01

[JAVA] 자바 메모리 구조와 static

자바 메모리 구조 메서드 영역: 클래스 정보 보관스택 영역: 실제 프로그램이 실행되는 영역힙 영역: 객체(인스턴스가 생성되는 영역) (new 키워드) 메서드 영역클래스 정보를 보관하는 영역 클래스 정보 - 클래스, 메서드 등의 실행 코드 static 영역 - static 변수 보관상수 풀 - 상수 관리 스택 영역실제 프로그램이 실행되는 영역 지역 변수, 중간 연산 결과, 메서드 호출 정보 등 힙 영역인스턴스가 생성되는 영역 객체 배열가비지 컬렉션이 이뤄지는 영역  같은 클래스에서 생성된 객체여도 인스턴스 내부 변수 값은 다를 수 있지만 메서드는 공통된 영역을 공유한다.따라서 메서드는 메서드 영역에서 공통으로 관리되고 실행된다. 멤버 변수(필드)의 종류 인스턴스 변수static이 붙지 않은 멤버 변수인스턴..

BACK/JAVA 2024.05.16

[Spring] AOP를 이용한 Request 로깅

AOP 개념에 관한 이전 포스팅https://yeoncoding.tistory.com/732 [Spring] AOP란Spring AOP 관점 지향 프로그래밍(AOP-Aspect Oriented Programming) AOP는 관점을 기준으로 묶어 개발하는 방식을 말한다. 관점(aspect)이란, 어떤 기능을 구현할 때 그 기능을 핵심 기능과 부가 기능으로 구분yeoncoding.tistory.com  AOP(Aspect-Oriented Programming)를 이용하여 HTTP 요청과 응답을 로깅했습니다. package contest.collectingbox.global.config;import jakarta.servlet.http.HttpServletRequest;import lombok.extern...

BACK/SPRING 2024.05.05

[Spring] @ExceptionHandler를 사용해 예외 처리하기

스프링은 API 예외 처리 문제를 해결하기 위해 @ExceptionHandler를 사용한 편리한 예외 처리 기능을 제공한다. 다음은 진행하고 있는 프로젝트에 @ExceptionHandler를 적용한 코드이다. @Getter @AllArgsConstructor public enum ErrorCode { // 400 NOT_SELECTED_TAG(BAD_REQUEST, "수거함 태그는 반드시 한 개 이상 설정해야 합니다."); // 404 // 409 // 500 private final HttpStatus httpStatus; private final String message; } enum 클래스를 만들어 상태 코드와 메세지를 담은 열거형을 정의한다. @Getter public class Collecti..

BACK/SPRING 2024.04.18

[JPA] 객체지향 쿼리 언어 JPQL 기본 문법

기본 문법과 쿼리 API TypedQuery, QueryMember member = new Member();member.setUsername("member1");member.setAge(10);em.persist(member);TypedQuery query1 = em.createQuery("select m from Member m", Member.class);TypedQuery query2 = em.createQuery("select m.username from Member m", String.class);Query query3 = em.createQuery("select m.username, m.age from Member m"); // 타입 정보를 받을 수 없을 때  결과 조회 APIMember si..

BACK/JPA 2024.04.08

[JPA] JPQL -중급 문법 (경로 표현식, 패치 조인, Named 쿼리, 벌크 연산)

경로 표현식 .을 찍어 객체 그래프를 탐색하는 것  상태 필드: 경로 탐색의 끝, 탐색 XString query = "select m.username from Member m"; // m.username까지가 탐색의 끝 단일 값 연관 경로: 묵시적 내부 조인(inner join) 발생, 탐색 OString query = "select m.team.name from Member m"; m.team을 했을 때 join 쿼리가 나간다.실제 실무에서는 묵시적 내부 조인을 쓰면 안된다.  컬렉션 값 연관 경로: 묵시적 내부 조인 발생, 탐색 XString query = "select t.members from Team t"; // members 이후에 탐색 불가능하다.컬렉션 자체를 가리키기 때문이다.size정도..

BACK/JPA 2024.04.07
반응형