everydayminder
MySQL에서 쿼리 타임아웃을 설정하려면? MySQL에서 쿼리를 실행하다 보면, 클라이언트쪽이 아니라 서버쪽에서 실행시간을 제어하고 싶을 때가 있다. 너무 실행시간이 길어지는 경우 kill을 하면 좋겠지만, 클라이언트와 서버간 중간 커넥션이 끊어지면 트래킹하기도 어렵다. 만약, 조건(?)만 만족한다면 다음의 옵션을 검토해 보자. 사용 옵션 - MAX_EXECUTION_TIME(n) 제목에도 썼듯이, 사용할 옵션은 MAX_EXECUTION_TIME이다. 환경 변수나, conf로 설정하게 되면 여러 쿼리들에 적용되는 부작용을 겪을 수도 있다. 따라서, 쿼리 힌트로 사용하는 것이 현실적이라고 생각한다. SELECT /*+ MAX_EXECUTION_TIME(n) */ * FROM ... 형식으로 사용하면 된다...
gist는? gist는 간단히 말해 소스를 공유하는 서비스라고 보면 된다. 그리고, 이 서비스는 github.com에서 제공한다. gist로 코드를 생성하면, 나중에 다른 곳에서도 재사용하기 쉽다. 생성된 스크립트만 복사하면 되고, gist 자체적으로 히스토리를 제공하기 때문이다. 코드 생성 방법 https://gist.github.com에 접속해서, github 계정이 없다면 계정을 만들자. 가입한 후 로그인하면 1번과 같이 상단의 + 버튼을 클릭하면 코드를 작성할 수 있다. 코드 모음이 생성되면, 이 코드가 무엇인지에 대한 설명을 2번 위치에 적어준다. 확장자를 포함하여 임의의 파일명을 3번 위치에 적어준다. 이 파일명을 바탕으로 syntax highlighter가 활성화된다. (문법 표시) 인용할 ..
Javascript를 jsfiddle에서, SQL을 dbfiddle/sqlfiddle에서 확인하는 것처럼 Spock framework을 체험할 수 있는 사이트를 발견했다. 기존에 프로젝트가 셋업이 되어 있다면 그 프로젝트 파일에서 확인해 보면 좋겠지만 간단하게 확인하는 용도로는 나쁘지 않을 것 같다. 사이트: http://meetspock.appspot.com meetspock 이라는 이름이 뜻하는 것처럼, 간단히 체험해 볼 수 있다. 처음에 접속하면 다음과 같은 화면이 뜬다. 사이트 둘러보기 1에 표시한 영역에는 Spock 코드를 작성하면 된다. 사이트에 접속하면 화면과 같은 샘플코드가 먼저 작성되어 있다. 테스트 코드를 작성 한 후, 2에 표시된 바와 같이 "Run Script"를 실행하면 테스트 결..
주피터 랩/주피터 노트북 - password or token 입력창 뜨면? 아나콘다를 네비게이터를 실행하여 주피터랩/주피터노트북을 띄우려고 했더니, 다음과 같이 이미 실행 중인 인스턴스가 있다고 뜬다. 그리고, 브라우저를 통해 URL에 접속을 시도했더니 다음과 같은 창이 뜬다. Password 또는 Token을 입력하라고 한다. 문제 해결 친절하게도 해결책까지 스크린샷에 포함되어 있으니 그대로 따라해 보자. 즉, 1의 칸의 내용을 채워야 하는데 그 값은 2의 명령어로 확인 가능하다는 뜻이다. 터미널을 열고, 안내된 명령어를 입력해서 확인해 본다. $ jupyter notebook list http://localhost:8891/?token=2297dd42140a810437e50fe2b789909b1db0..
본 글에서는 SpringBoot와 Spock Test Framework를 연동하는 방법에 대해 소개한다. 구성 환경 (의존성) SpringBoot: 2.4.2 Default JUnit: 5.x Spock: 1.3 Groovy: 2.5 만약, 이후에 다른 버전으로 테스트 한다면, 그에 맞는 설정 방법을 다시 확인해야할 것이다. 기본 틀잡기 Spring Initializer(https://start.spring.io/)를 활용하여, 일단 기본적인 프로젝트를 다음과 같이 설정해 보았다. plugins { id 'org.springframework.boot' version '2.4.2' id 'io.spring.dependency-management' version '1.0.11.RELEASE' id 'java..
MySQL Information_schema로 세부 정보 확인하기 특정 어느 한 개의 테이블에 대한 스키마 정보를 알고 싶을 때, desc 테이블명 을 실행하면 테이블의 스키마를 확인할 수 있다. 그런데, 전체 스키마 중 어떤 특징을 기준으로 조회하거나 내용을 걸러서 확인해야 한다면, 모든 테이블을 대상으로 desc 하는 것은 비효율적이다. DB 테이블 구조를 쿼리로 확인할 수 있다면 도움이 될 것이므로, 어떤 정보를 조회할 수 있는지 다음과 같이 확인해 보자. 테스트스키마 및 테이블 구성 테스트를 위해, 아래와 같이 스키마를 만들고 몇 개의 테스트 데이터를 넣어보자. CREATE TABLE IF NOT EXISTS `docs` ( `id` int(6) unsigned NOT NULL, `rev` int..
Docker를 사용하여 MySQL을 설치하는 방법을 정리한다. docker-compose.yml YAML 파일의 기본 골격을 다음과 같이 작성한다. version: "3" services: db: image: mysql:8.0.20 container_name: mysql_db restart: always ports: - "3306:3306" environment: MYSQL_DATABASE: "${MYSQL_DATABASE}" MYSQL_ROOT_PASSWORD: "${DB_ROOT_PASSWORD}" MYSQL_USER: "${DB_USER_ID}" MYSQL_PASSWORD: "${DB_USER_PASSWORD}" command: - --character-set-server=utf8mb4 - --co..
docker-compose: An http request took too long to complete 에러? docker-compose를 실행했는데, 실행 도중 아무 반응이 없다가 툭하니 An http request took too long to complete. 에러가 발생한다면? ERROR: An HTTP request took too long to complete. Retry with --verbose to obtain debug information. If you encounter this issue regularly because of slow network conditions, consider setting COMPOSE_HTTP_TIMEOUT to a higher value (current..
에어팟/에어팟 프로를 쓰다 보면 자동으로 연결이 잘 되어서 좋긴 한데, 사용하는 애플 기기 중 페어링 해놓은 기기가 여러 개가 되면 의도적으로 조정하고픈 순간이 온다. 예를 들어, 아이폰/아이패드/맥북 등을 쓰고 있는데, 마지막에 연결해서 듣던 기기는 아이폰이었다. 그런데, 나는 지금 원격 회의에 들어가야 하고, 이 때 에어팟을 쓰고 싶다. 얼른 페어링을 전환해야 하는데, 급할 때는 이게 또 잘 안된다. 메뉴를 찾아서 클릭도 해야할라치면 번거롭고 잘 되지도 않는다. 이럴 때, 본 글처럼 설정해 놓으면 이런 상황에 대응하기 유용하다. TL;DR - 원문 링크 등도 첨부하나 아래와 같이 따라하면 금방 설정할 수 있을 것이다. 아래 링크를 보면, animated gif로 되어 있어, 대충 어떻게 쓰면 된다는 ..
MS Word에 소스코드 복사해서 제출할 때 MS Word에 소스 코드를 복붙해야 할 일이 있다면? 해본 사람들은 알 것이다. 엉망이 된다는 것을. 한 사이트를 알게되어 사용해봤는데, MS Word의 내용이 잘 복사가 되었다. 코드 자체는 변환이 되지만, MS Word와 궁합이 맞지 않는 사이트들도 많다. 미래의 나나 혹은 필요할 수도 있는 누군가를 위해 정리해 놓고자 한다. MS Word에 직접 복붙하면? 예를 들어 다음과 같은 코드가 있다고 해보자. import java.util.Arrays; public class Addition { public static void main(String[] args) { Integer sum = Arrays.stream(args) .mapToInt(Integer:..
맥북을 카탈리나로 업그레이드 한 후, git을 실행했더니 아래와 같이 에러가 발생했다. 발생한 에러 xcrun: error: invalid active developer path (/Library/Developer/CommandLineTools), missing xcrun at: /Library/Developer/CommandLineTools/usr/bin/xcrun 에러 복구 방법 xcode-select --install 를 실행하면 복구할 수 있다. 그런데, 위 명령어를 실행하여 Xcode Command Line Tools를 설치하지 못하는 경우가 있다. 내 경우는, 네트워크 오류가 발생했다고 뜨면서 설치가 되지 않았다. https://developer.apple.com/downloads/index...
맥북 어느 버전부터인지는 모르겠지만, 적어도 2018년 이후 버전 맥북에는 기본적으로 설치되어 있는 유틸리티가 있습니다. 터미널을 열고 아래 명령어로 확인해 보시기 바랍니다. (설치가 안되어 있다면 별도 설치하면 됩니다.) $ which cwebp /usr/local/bin/cwebp WebP 변환 - 기본 모드 cwebp를 실행하면 실행이 됩니다. $ cwebp Usage: cwebp [options] -q quality input.png -o output.webp where quality is between 0 (poor) to 100 (very good). Typical value is around 80. Try -longhelp for an exhaustive list of advanced opt..
구글 코랩(Google Colaboratory) 시작하기 구글 코랩(Google Colaboratory)은 구글에서 제공하는 Jupyter Notebook이다. 대신, 인프라는 구글 클라우드를 기반으로 하기 때문에 개개인의 PC 보다 오히려 좋은 성능 및 접근성을 제공하고 있다. (보안 등의 이유로 접속이 차단된 곳에서는 사용 못할 수도 있다.) 그러나, 이와 같은 제약이 없는 사람들이라면, 하드웨어의 투자 (=돈) 및 번거로운 설정 과정을 하나하나 하지 않아도 되기에 사람들이 딥러닝을 학습하는데 많이 쓰고 있다. 로컬 PC에 주피터 노트북/ 주피터 랩을 설치하는 것에 비해 설정 과정이 간단하기 때문에 포스트 제목도 또는 가 아니라 가 적합한 것 같다. 준비물 구글계정 혹시 학교 연계 계정 등 저장 용량..
윈도우즈용 WebP변환 프로그램 추천 - 꿀뷰 JPG/GIF 이미지를 WebP 변환하려면 윈도우즈 환경에서는 이 프로그램 하나면 될 것입니다. 꿀뷰란? (꿀뷰 공식홈페이지)[https://www.bandisoft.com/honeyview/] 꿀뷰 다운로드는 위의 공식 홈페이지에 접속해서 아래와 같은 링크를 찾고, 설치합니다. WebP 변환을 위한 꿀뷰 사용법 1) 꿀뷰 먼저 실행한 후에 이미지 변환하기 꿀뷰를 설치하고 실행하면 다음과 같은 화면이 뜹니다. 변환하고 싶은 이미지를 먼저 화면에 띄워야 하는데, 파일을 여는 방법은 두 가지 방법이 있습니다. 하단 왼쪽 첫번째 메뉴(1)를 열어서 원하는 이미지를 직접 경로를 찾아 여는 방법과, 하단 왼쪽 두번째 메뉴(2)를 열어서 앨범 자켓 보듯이 고르는 방법입..
오프라인 행사를 한다면? 사람들이 결혼을 하거나, 회갑연 등과 같은 큰 이벤트를 열 때 우리는 전문가의 도움을 받는다. 날짜는 언제로 할 것이며, 장소는 어디로 할지, 얼마나 많은 손님들을 받을 것인지 등에 대해 소위 컨설팅을 받고, 행사 진행 관점에서 전문가로부터 도움을 받곤 한다. 온라인 이벤트를 한다면? 사람들 세계 뿐만 아니라, 인터넷 그리고 인프라 세상에도 유사한 이벤트가 존재한다. 사람들을 오프라인 장소로 초대하는 이벤트를 인용했는데, 만약 그 이벤트가 사람들을 어떤 온라인 사이트로 초대하는 것이라면, 이는 결국 인터넷 트래픽으로 전환될 것이다. 오프라인 행사에도 준비가 필요하듯, 온라인 행사에도 그에 상응하는 사전 준비가 필요하다. 컨시어지 서비스 나무위키에는 아래와 같이 소개가 되어있다. ..