Seonghyeon Cho

Seonghyeon Cho

Independent programmer.
grep 사용 예시
linux

grep 사용법

grep은 파일에서 패턴에 맞는 라인을 출력하는 유틸리티다. 사용법 grep [OPTION...] PATTERNS [FILE...] grep [OPTION...] -e PATTERNS ... [FILE...] grep [OPTION...] -f PATTERN_FILE ... [FILE...] 기본적으로 정규표현식을 사용하며, 옵션에 따라 확장 정규식(Extended Regular Expression), 펄 호환 정규식(PCRE, Perl-Compatible Regular Expression) 등을 쓸 수 있다. grep을 쉘에서 사용할 때, 패턴은 일반적으로
11 min read
kubernetes

[k8s] kind metrics-server 설치

metrics-server는 HPA, VPA 등의 Autoscale을 위한 메트릭 수집 서버다. 각 노드의 kubelet을 이용해 node, pod의 CPU, memory 메트릭을 수집하며, 이를 kube-apiserver로 전달한다. kind로 만든 클러스터에 metrics-server를 helm으로 설치해보자. 간단한 설치 및 사용법은 이전 글을 참고하자 * https://blog.joe-brothers.com/macos-local-kubernetes-cluster-with-kind/ YAML manifest 또는 공식 helm chart로 설치할 수 있다 helm을
2 min read
A ship in a bottle
kubernetes

[k8s] macOS kind 로컬 클러스터 구성

kind(kubernetes in docker)는 로컬에서 쿠버네티스 클러스터를 쉽게 구성할 수 있게 해주는 도구다. 노드 이미지(kindest/node)를 사용해 도커 컨테이너 하나당 노드 하나로 구성하는 식으로 되어 있으며, 멀티 노드로 구성된 클러스터도 간단히 만들 수 있다. 설치 * docker * kubectl * kind 사용법 $ kind create cluster Creating cluster "kind"
2 min read
beaver with computer part
dbeaver

DBeaver에 저장된 커넥션 정보 확인 방법

DB 클라이언트중 하나인 디비버(dbeaver)를 사용하던 중 옛날에 저장해놓은 DB 커넥션 패스워드 정보가 기억이 안났다. 커넥션 정보는 로컬에 있으며, 암호화 키는 소스코드에 있기 때문에 복호화를 해서 저장된 정보를 확인할 수 있다. * https://github.com/dbeaver/dbeaver/blob/d69a75e63bf0a00e37f6b4ab9c9aa4fcaa0ded23/plugins/org.jkiss.dbeaver.model/src/org/jkiss/dbeaver/model/impl/
1 min read
Illustration of cyberpunk style robot manager standing in front of several computers. Oil painting style.
jenkins

[Jenkins] slave offline 상태 확인하는 Job 만들기

우리 부서에서는 여러 용도로 젠킨스를 이용하고 있는데, jenkins slave agent가 여러 이유로 종종 offline이 되어서, 배치가 제대로 실행되지 않는 경우가 생겼다. 근본적인 해결책은 jenkins worker를 k8s pod로 동적 생성한다든가, k8s native cicd 툴을 쓴다든가, 아무튼 self healing이 되는 것으로 이전하는 것이다. 하지만 젠킨스의 수많은 plugin들과 groovy pipeline들을 타 플랫폼으로 옮기는
5 min read
insomnia

[Insomnia] Response 변수로 저장 및 재사용 하는 방법

Postman에는 request시 특정 스크립트를 실행할 수 있고, 그 중 pm.environment를 사용해 environment에 변수를 설정하고 Header, Body 등에서 템플릿을 이용해 이 값을 가져올 수 있다. 예를 들면 로그인 API를 호출하면 자동으로 응답을 파싱해서 리프레시 토큰(refresh token)과 액세스 토큰(access token)을 환경 변수에 넣고, 각종 API 호출 시에는
4 min read
dart

[Dart] analyzer에서 특정 파일 제외하기

플러터 개발을 하다 보면 build_runner 결과물로 생성되는 코드(generated code)를 많이 사용하는데, 이런 파일에는 사실 정적 분석이 필요하지는 않다. 약간의 스타일 불일치나 작은 warning이 있다고 해도, 수동으로 generated code를 변경하는 것은 권장되지 않는다. 또한 generated code를 배포 파이프라인에서만 만들고, 버전 관리에는 추가하지 않는 경우도 많다. include: package:flutter_
1 min read
OpenLens 실행 화면
lens Featured

Lens 오픈소스 대체, OpenLens

맥북 사용자라면 kubernetes GUI 클라이언트 중, Lens를 많이 사용할텐데, 2023년 1월 2일부터 기업 유저는 Pro 구독($199/1년)을 해야 사용 가능하다. 오픈소스 버전의 Lens 소스코드는 MIT 라이센스로 깃허브에 공개되어 있어 직접 빌드해서 써도 되고, 빌드한 바이너리를 올려둔 OpenLens 리파지토리에서 받아서 써도 된다. * Source: https://github.com/lensapp/lens * Binary
2 min read