Jenkins에 저장된 credential/password 값 알아내기

젠킨스에 크레덴셜로 저장된 비밀번호 등의 값을 알아내고 싶은 경우 두가지 방법이 있다 job을 만들어서 아래 파이프라인 스크립트를 수행 https://www.codurance.com/publications/2019/05/30/accessing-and-dumping-jenkins-credentials 내용을 기반으로 좀더 간단하게 작성했음 pipeline { agent any stages { stage('sshUserPrivateKey') { steps { script { withCredentials([ sshUserPrivateKey( credentialsId: 'gerrit', keyFileVariable: 'keyFile', passphraseVariable: 'passphrase', usernameVariable: 'username' ) ]) { print 'keyFile=' + keyFile print 'passphrase=' + passphrase print 'username=' + username print 'keyFile.collect { it }=' + keyFile.collect { it } print 'passphrase.collect { it }=' + passphrase.collect { it } print 'username.collect { it }=' + username.collect { it } print 'keyFileContent=' + readFile(keyFile) } } } } } } jenkins 서버에 직접 ssh 접속이 가능하다면 /var/jenkins_home/credential.xml 파일을 오픈 (젠킨스 설치 경로는 설치 방식에 따라 조금씩 다를 수 있음) 파일 안에서 원하는 password 또는 credential을 찾음. (암호화되어 저장되어있는 경우 {XXXXX==} 와 같은 식으로 표현되어있음) ...

2021년 10월 27일 · 1분 · 152단어

mongodb 서버의 실제 IP 주소 알아내는 방법

mongodb+srv://mongodb-atlas-serverles.asdf.mongodb.net 위와같은 mongodb connection string이 있을때 해당 mongodb에 접속할 수 있는 실제 서버의 IP주소를 알고싶은 경우 다음과 같이하면 된다. # -type=SRV 옵션을 사용해서 DNS 레코드 중 SRV 타입을 검색한다 # connection string에 명시된 주소 앞쪽에 _mongodb._tcp 를 붙여준다. $ nslookup -type=SRV _mongodb._tcp.mongodb-atlas-serverles.asdf.mongodb.net Server: 8.8.8.8 Address: 8.8.8.8#53 Non-authoritative answer: _mongodb._tcp.mongodb-atlas-serverles.asdf.mongodb.net service = 0 0 27017 mongodb-atlas-serverless-example-dev-lb.asdf.mongodb.net. 출력된 결과를 보면 mongodb-atlas-serverless-example-dev-lb.asdf.mongodb.net 부분이있는데 이것이 실제 주소이다. # 위에서 얻은 주소로 다시한번 쿼리 $ nslookup mongodb-atlas-serverless-example-dev-lb.asdf.mongodb.net Server: 8.8.8.8 Address: 8.8.8.8#53 Non-authoritative answer: mongodb-atlas-serverless-example-dev-lb.dvfze.mongodb.net canonical name = 123456-nlb-12345.elb.ap-southeast-1.amazonaws.com. Name: 123456-nlb-12345.elb.ap-southeast-1.amazonaws.com Address: 13.213.131.24 Name: 123456-nlb-12345.elb.ap-southeast-1.amazonaws.com Address: 13.213.229.91 여기서 나온 IP 주소들이 실제 mongodb 서버의 주소이다. ...

2021년 9월 7일 · 1분 · 99단어

brew service 명령어 사용법 및 주요 경로

명령어 brew services 그냥 실행하면 현재 유저 권한으로 등록/실행된 service 목록 조회 sudo를 붙여서 실행하면 root로 등록/실행된 service목록 조회 실수로 동일한 서비스가 root와 현재 유저에 둘다 실행되서 겹치는 경우가 있을 수 있으니 꼭 root권한이 필요한 서비스가 아니라면 현재 유저 권한 기준으로 서비스를 실행할 것 brew services [restart/stop/start] [서비스명] 재시작/종료/시작 주요 경로 로그 /usr/local/var/log 설정 /usr/local/etc httpd 설정 /usr/local/etc/httpd 데이터 및 로그 /usr/local/var/log/httpd mysql 설정 /usr/local/etc/my.cnf 데이터 및 로그 /usr/local/var/mysql

2021년 9월 2일 · 1분 · 69단어

정규식으로 사용자 이름에서 특수문자, 이모지 걸러내기

네이버, 카카오톡, 페이스북 등 다른 플랫폼을 통해 소셜 로그인을 하는 경우 사용자 이름 등에 이모지(emoji)나 특수문자가 붙어있는 경우들이 종종 있다. 이렇게 전달받은 사용자 이름을 그대로 사용하면 닉네임이 아닌 실제 이름을 입력해야하는 예약시스템 등과 연동할 때 특수문자로 인한 오류가 자주 발생한다. 이러한 오류를 피하기 위해서는 전달받은 이름에서 정규식을 통해 특수문자와 이모지를 걸러내는 것이 가장 일반적인 접근방식이다. 얼핏 생각해서 영어/한글 이름만 허용하고 공백을 제외한 나머지 특수문자를 걸러내려면 아래처럼 할 수 있겠다. [가-힣a-zA-Z ]+ 국내용 서비스라면 이렇게만 해도 큰 문제가 없겠지만 다국어 지원이 안되기 떄문에 뭔가 찝찝한 기분이 든다. 한자, 일본어, 독일어, 스페인어 태국어 등의 영어 알파벳이 아닌 문자체계를 사용하는 여러 언어까지 지원하려면 어떻게 해야할까? ...

2021년 2월 17일 · 2분 · 233단어

타임존 시차 계산기 앱 ‘리모클(Remocle)’ 추천

골치아픈 타임존(Timezone) 시차 계산 코로나 대유행이 시작되기 전인 2019년에는 아내와 함께 디지털 노마드 개발자 생활을 하면서 미국 서부와 태국 등을 돌아다녔다. 몸은 해외에 있었지만 국내 회사에 다니면서 리모트 워크를 하고있었기 때문에 계속 한국에 있는 팀원들과 협업을 했고, 때문에 항상 한국 시간과 현지 시간을 신경써야 했다. 특히 미국 서부는 시간대가 PST(Pacific Standard Time), MST(Mountain Standard Time) 두개인데, 타임존 경계 중간쯤 머무르는 날에는 방문하는 목적지에 따라 하루에도 여러번 +1시간 -1시간이 오락가락해서 총 3개의 시간대를 고려해서 시차를 계산해야 해야 했다. ...

2020년 11월 12일 · 3분 · 529단어

JavaScript 개발자에게 Kotlin coroutine 10분만에 이해시키기

Kotlin의 coroutine은 비동기 프로그래밍을 편리하게 하기 위한 매우 강력한 툴이다. 하지만 처음 접했을 때 suspend, async, await, runBlocking, launch, coroutineScope, suspendCoroutine 등 생소한 용어들이 많다보니 어떤 상황에 어떤 코드를 작성해야하는지 적응하는데 시간이 많이 걸린다. 하지만 비동기 프로그래밍이라는 개념 자체는 언어가 달라지더라도 일맥상통한다. 때문에 JavaScript에서 비동기 프로그래밍을 많이 해본 사람들이라면 다양한 상황에 맞춰서 JavaScript 예제와 Kotlin coroutine 예제 코드를 나란히 놓고 비교해서 설명하는 방식으로 10분만에 이해 시킬 수 있을 것이라 확신한다. ...

2020년 6월 19일 · 6분 · 1111단어

개발자를 위한 효율적인 MacOS 백업 방법

아이맥(iMac) 또는 맥북(Macbook)을 새로 구입해서 기존 데이터를 마이그레이션 하거나, 기존 사용하던 맥에 문제가 생겨서 AS 센터를 방문해야할 경우 데이터 백업이 필수이다. 이때 어떻게 하면 꼭 필요한 파일만 백업해서 백업 소요시간과 디스크 용량을 절약 할 수 있을지 알보도록 하자. 작업을 진행하기 전에 Mac OS 쓸모없는 파일 정리를 통한 하드 공간 확보 글을 보고 필요없는 파일들을 먼저 정리해두자. 자주 사용하지 않는 앱들도 미리 삭제하면 백업을 좀더 빠르게 할 수 있다. 앱 바이너리 파일 뿐만 아니라 관련해서 생성되는 설정/캐시파일까지 깨끗하게 삭제하려면 AppCleaner를 이용해서 앱을 삭제하는 것을 추천한다. ...

2020년 5월 2일 · 4분 · 716단어

자주쓰는 Xcode 단축키 모음

CMD + SHIFT + J : 열려있는 파일을 프로젝트 트리에서 보여주기 CMD + SHIFT + D 또는 Y: 디버깅 윈도우 열기/닫기 토글 CTRL + 1 : 현재 파일 관련 추가 메뉴 (find caller, callee) CTRL + 6 : 현재 파일 요약 (method, variable list) CMD + click: 정의로 이동 CMD + OPT + click: 정의로 이동하되 현재 창 반대편에 열기 CTRL + CMD + 왼쪽 / 오른쪽: 히스토리 이전/다음 이동 CMD + SHIFT + F: 전체 파일 스트링 검색 CMD + SHIFT + O: 파일 검색창 오픈 검색된 파일 선택시 OPT + Enter: 현재창 반대편에 열기 검색된 파일 선택시 OPT + SHIFT + Enter: 창 고르기 CMD + R: 실행 CMD + SHIF + K: 클린 CMD + 1 … 9: 왼쪽 사이드바의 탭 선택- CMD + CTRL + E: 특정 단어 선택 후 누르면 현재 파일내 동일 단어를 일괄 편집 (모든 파일을 분석해서 업데이트해주는 refactor와는 다름에 주의) CMD + OPT + 왼쪽 / 오른쪽: 현재 커서가 위치한 블록 접기/펼치기 (코드 양이 많을때 불필요한 메서드나 nesting된 블록을 접어놓고 보기 좋음)

2019년 11월 29일 · 1분 · 170단어

개발자라면 알아야 할 IntelliJ 필수 단축키 20선 for Mac

IntelliJ를 사용하는 개발자라면 알고있어야 할 실무에서 많이 사용되는 필수적인 단축키들을 정리해보았다. 여기 나오는 단축키들만 마스터해도 생산성이 팍팍 올라가고 어디가서 IntelliJ 좀 쓸 줄 안다고 어깨에 힘줘 볼 수 있을것이다. 추가로 단축키 외에도 아래 내용 중에 소개하는 scratch 기능을 이용하면 간단한 코드들을 빠르게 작성하고 테스트 볼 수 있어서 생산성을 많이 올릴 수 있으니 사용해 보는것을 강력히 추천한다. CMD + N : 제네레이트 (컨스트럭터, 게터 셋터) CMD + SHIFT + N (scratch 파일 생성) 사용예: 코드 선택된 상태로 누르면 해당 영역이 그대로 복사됨 간단하게 언어 특성이나 코드 실행결과를 빠르게 테스트 보는데 좋음 사용예: json 생성 후 CMD + OPT + L 하면 auto formating 실행/디버깅 CTRL + D : 디버깅 CTRL + OPT + D : 여러 configuration들이 존재할때 특정 configuration 선택할 수 있는 창을 띄움 CTRL + SHIFT + D : 현재 커서가 있는 파일 또는 유닛테스트를 build & debug 참고: 위 세가지 단축키의 D 대신 R을 입력하면 디버깅 대신 실행 모드로 동작 F8: 디버깅 중에 누르면 next line으로 진행 CMD + OPT + R : 현재 브레이크포인트에 멈춰있는 어플리케이션을 Resume CMD + F8 : 현재 커서에 브레이크 포인트 토글 CMG + , : InterlliJ 전체 설정 CMD + ; : 프로젝트 설정 OPT + ENTER : 밑줄친 곳에서 추가액션 lint 적용, 오타 보정, error correction 등등 다양한 액션 가능 아이템 찾기 CMD + (SHIFT or OPT) + O : find symbols, files CMD + SHIFT + a : find actions (인텔리제이의 수많은 메뉴와 기능들을 찾기 힘들때는 이곳을 통해서 검색할것) SHIFT 2회 : find all CMD + E : 최근 열었던 파일 목록 텍스트 찾기 CMD + SHIFT + F text 전체 찾기 scope 지정 가능 CMD + SHIFT + R text 전체 Replace CMD + F12 : current file’s structure 코드 찾기 OPT + F7 : find usage CTRL + OPT + H: call hierachy CTRL + H: type hierachy CMD + Click: Jump to definition CMD + OPT + Click: Jump to Implementation interface를 구현한 구현체들을 검색해서 이동 CMD + DELETE : 현재 커서가있는 한줄 삭제 OPT + F1 → 1 : 현재파일 프로젝트 트리에서 열기 SHIFT + F6 : 이름 바꾸기 (refactor) CMD + SHIFT + V : 클립보드 히스토리 보기 네비게이션 CMD + [ : 뒤로 이동 CMD + ] : 앞으로 이동 윈도우 분할해서 사용중일때 (단축키 없음) Move to Opposite Group 현재 열려있는 파일을 반대편 윈도우로 옮긴다.

2019년 4월 5일 · 2분 · 381단어

개발자를 위한 필수 맥 앱(Mac App) 10선

윈도우에서 열심히 개발을 하다가 맥을 처음 쓰는 개발자라면 맥 환경이 개발자에게 편하다라는 말은 많이 들었을 것이다. 하지만 막상 맥으로 옮기고나서 익숙했던 윈도우용 필수 유틸리티들의 대체품을 빨리 찾지못하면 작업 효율이 오르지 않아 답답할 것이다. 이런 답답함을 풀어드리기 위해 이 포스트를 작성해 보았다. 물론 맥을 원래 부터 쓰고있었지만 새롭게 개발을 시작하는 분들에게도 유용하리라 믿는다. (덧: 여기서 소개한 앱 외에도 개발 관련해서 좋은 맥 앱들이 있으면 댓글로 추천부탁합니다! 제가 직접 써본 후 글을 업데이트 하겠습니다.) ...

2019년 2월 13일 · 7분 · 1366단어