일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- 운영체제
- 리눅스
- 프로젝트
- 알고리즘
- smart cast
- gradle
- spring
- 파이썬
- 티스토리
- 오라클 디비
- 파이썬 소스
- auto configure
- MongoDB
- 자바
- oracle
- 초대장
- dynamic query
- 백준 알고리즘
- 문법 정리
- c#
- K6
- 자바 프로젝트
- resilience4j
- JVM
- 학점
- SQL
- hyperledger
- 유사코드
- jsp
- 오라클
- Today
- Total
목록전체 글 (231)
모종닷컴
현재 개인 프로젝트를 진행해보고 있는데요. 이런 니즈가 생겼습니다. 로컬에서 Gradle 빌드 태스크를 돌렸을 때 실행되지 않았으면 하는 테스트 코드가 있고, CI 환경에는 테스트 코드가 실행되었으면 좋겠습니다. 예를 들어 통합 테스트 코드가 있습니다. 보통 테스트 시 데이터베이스가 필요하다면 h2 같은 인메모리 데이터베이스를 사용할 수 있는데 저는 MySQL에 특화된 테스트 코드가 있어서 h2와 같은 인메모리 데이터베이스를 사용하기가 힘들었습니다. 사실 테스트 컨테이너를 통해 MySQL을 올려 통합테스트를 만들 수도 있는데 로컬 빌드 시에는 이런 통합 테스트가 오래 걸리기도 해서 CI 환경에서만 통합테스트코드가 실행되었으면 좋겠다는 생각이 들었습니다. 통합테스트, 유닛테스트 간단하게 통합 테스트와 유닛..
shebang (셔뱅) 셔뱅이란 # 기호와 ! 기호가 붙은 형태의 문자열을 의미합니다. 스크립트의 가장 첫 줄에 선언되며, sha-bang(샤뱅), hashbang(해시뱅), pound-bang(파운드뱅), hash-pling(해시 플링), crunchbang(크런치뱅)등으로 불리기도 한다고 합니다.셔뱅은 유닉스 기반 시스템에서 스크립트 파일의 첫 번째 줄에 사용을 하는데 셔뱅 이후의 경로에 스크립트를 실행할 인터프리터 지시자의 경로를 적어줍니다. 예로 "#!/bin/sh"에서 셔뱅(#!)을 제외한 /bin/sh이 인터프리터 지시자가 됩니다. 예시(쉘 스크립트) 파일 하나를 먼저 만들겠습니다. touch sh-script vi로 파일 내용을 수정해 주도록 하겠습니다. 파일 내용은 아래와 같이 입력해 주면..
.git 디렉토리로 이동하면 hooks 라는 폴더가 존재합니다. 이를 살펴보면 아래와 같이 파일들이 존재합니다. Git Hook git hook은 리포지토리에서 특정 이벤트가 발생할 때마다 자동으로 실행되는 스크립트라고 합니다. 리포지토리를 초기화하면 Git은 이 디렉터리에 샘플 스크립트를 자동으로 만들어줍니다. 확장자가 .sample로 되어있는데 이 경우 .sample 확장자를 제거하지 않으면 실행이 되지 않는다고 합니다. Hook 범위 Hook는 특정 Git 리포지토리에 로컬로 존재하고 git clone을 실행할 때 리포지토리로 복사되지 않는다고 합니다. 이 말을 좀 더 풀어 해석하자면 .git/hooks 디렉토리가 버전 제어가 어렵기 때문에 팀 단위의 개발이라면 관리하는 것이 약간 까다로울수 있다고..
MySQL insert 실패 테스트해 보기 user 테이블 생성 CREATE TABLE `user` ( `id` bigint(11) NOT NULL AUTO_INCREMENT, `name` varchar(50) DEFAULT NULL, `age` int(11) DEFAULT NULL, PRIMARY KEY (`id`) ) Lock 테스트 세션 두 개를 열어서 테스트를 진행합니다. 세션 1에서 인덱스 레코드 락을 걸고, 세션 2에서 같은 인덱스로 insert를 실행시킬 겁니다. 이때 락은 얼마나 잡고 있을 건지는 innodb_lock_wait_timeout 설정값에 따라 다릅니다. SHOW VARIABLES LIKE 'innodb_lock_wait_timeout'; 쿼리를 이용해서 락 대기 시간이 몇 초인..
Github Action CI Github Action CI를 사용하다 보면 빌드 혹은 테스트가 실패할 때가 있습니다. 이때 Gradle은 좀 더 상세한 실패 내용을 index.html로 만들어 제공해 줍니다. 이렇게 만들어진 파일을 무척이나 보고 싶은데 워크플로 데이터라서 접근하는 것이 어렵습니다. 빌드 실패 시 위 파일을 그냥 Cat 해버릴까? 가장 처음 생각했던 방법은 단순하게 그냥 위 html을 cat 명령어로 내용을 노출시키고 그걸 복사해서 보면 되지 않을까 싶었습니다. 그래서 아래와 같이 빌드가 실패했을 경우 해당 파일을 Cat 하도록 스텝을 추가해 봤습니다. 이렇게 하니 Html 내용을 그래도 볼 수 있었는데, 복사해놓고 보니 중간중간 href로 참조하고 있는 파일들이 있다는 걸 알았습니다...