✔️Til 7

[Dev Culture] 내가 경험하고 배운 Project Post-mortem 문화

오늘 동료 개발자 분께서 인프랩 기술 블로그 - 을 공유해주시면서 사내 Project post-mortem 문화를 좀 더 체계적으로 할 수 있도록 개선도 하셨다. 올해 '2022년에는 함께 일하기 즐거운 회사, 팀이 되기 위해 pain point에 좀 더 관심을 가지고 좀 더 팀 문화 개선에 기여하는 사람이고 싶다.'고 다짐했는데, 아직까진 매번 도움받고, 배우고, 감동받는 단계인가보다. 우리 회사에는 post-mortem문화가 있다. 입사 한 지 별로 되지 않았을 때 우리 서비스에 어떤 버그가 발생했는데, 모든 개발자가 모여 다같이 부검해보고 action item을 도출해보는 시간을 가졌다. 이 경험을 통해서 처음 post-mortem(부검)와 그 문화에 대해서 알게되었다. post-mortem 문화를..

Diary/Y2022 2022.02.18

[소프트웨어 장인] 나의 커리어와 프로페셔널로서의 미래는 누구의 책임인가?

소프트웨어 장인 - 산드로 만쿠소 저 의 '4장. 소프트웨어 장인의 태도'를 읽고 정리함과 동시에, 나는 책에서 소개하고 있는 것들을 어떤 방식으로 하고 있는지, 깨달은 바는 무엇인지를 중간중간 적어보았다. 나의 커리어와 프로페셔널로서의 미래는 누구의 책임인가? SW 프로페셔널로 대우 받기를 원한다면 프로처럼 행동해야 한다. 그러기 위해서는 언제/무엇을/어떻게 배울 것인지 스스로 결정하고, 스스로의 발전에 돈과 시간을 투자해야 한다. 1. 내 커리어 주도적으로 이끌기 독서 특정 기술에 대한 서적: 현재의 업무에서 다음에 하고 싶은 업무로 옮겨가기 위해 필요한 특정 기술에 대해서 상세하게 또는 이용 방법을 급하게 알아야 할 때 필요하다. 그러나 배운 가치가 상당히 빨리 떨어진다. 새 버전의 기술이 릴리즈 ..

211021) docker-compose --exit-code-from

name: ML application unittest on: push: branches: [test] jobs: test: runs-on: [self-hosted, gpu] steps: - uses: actions/checkout@v2 - name: ML inference code Unittest run: docker-compose -f docker-compose-unittest.yml up 이런 github actions workflow script가 있다고 하자. 그런데 docker-compose 을 통해 실행된 unittest가 실패해서 FAILED (errors=1) [container] exited with code 1 으로 실행이 종료되어도 docker-compose가 정상적으로 작동하였다면 ..

211012) 하던 작업 임시 저장 및 적용 git stash, 원격 저장소와 local저장소의 소스코드를 일치 git fetch, git reset

하던 작업을 임시로 저장해두고 나중에 그대로 적용시키고 싶을 때가 있다. 예를 들면 A branch에서 신나게 작업을하고 있는데 알고보니 B branch에서 해야했던 작업일 경우 또는 하던 작업을 멈추고 잠시 브랜치를 바꿔야하는데 작업 중인 것이라 commit을 할 만한 것은 아닐 때 최근 이런 경우가 생겨 git stash를 사용해 보았다. git stash git stash apply [Git] git stash 명령어 사용하기 - Heee's Development Blog Step by step goes a long way. gmlwjd9405.github.io git stash (feat. 내가 왜 마스터 브랜치에 있지) 개인적으로 프로젝트를 하다 보면, 브랜치를 생성하지 않은 채로 (그러니까 실..

211014) Docker multi-stage build

https://www.hahwul.com/2020/10/07/docker-multistage-build-for-optimazation/ Docker multi-stage build를 통해 이미지 경량화하기 Why? 보통 베이스가 되는 도커 이미지는 생각보다 큰 용량을 가지고 있습니다. 거기에 의존성으로 추가적인 도구를 설치하고, 빌드하게 되면 생각보다 엄청 큰 용량으로 탄생합니다. 이런 경우에 www.hahwul.com https://docs.docker.com/develop/develop-images/multistage-build/ Use multi-stage builds docs.docker.com

211013) 리눅스 터미널 환경에서 다른 서버와 파일 복사/받기

[SCP] 리눅스 터미널 환경에서 다른서버와 파일 복사 리눅스 작업을 하다보면 의외로(?) 다른 리눅스 서버와 파일을 복사 할 경우가 생긴다. 여러 방법 들이 있을 수 있겠지만... SCP(Secure CoPy)를 사용하면 편리하다. 사용법은 대략 아래와 같다. 다른 noota.tistory.com # from 다른 서버 to 내 서버 $ scp [옵션] [다른 서버 계정]@[다른 서버 주소]:[다른 서버의 파일 또는 디렉터리] [지금 서버의 디렉터리] # from 내 서버 to 다른 서버 $ scp [옵션] [지금 서버의 파일 또는 디렉터리] [다른 서버 계정]@[다른 서버 주소]:[다른 서버의 디렉터리] 리눅스 scp 사용법 - 제타위키 다음 문자열 포함... zetawiki.com

[Coding Style] Return Early Pattern

본 글은 Leonel Menaia의 “Return Early Pattern” 글을 번역한 것입니다. Return Early Pattern 프로그래밍에 대해 배우고 함수를 만들 때의 기본적인 사고방식은 '함수를 만들 때, 어떤 결과를 도출하기까지 어떤 조건에 맞는지 검사'해나가는 것이었다. public String returnStuff(SomeObject argument, SomeObject argument2){ if(argument1.isValide()){ if(argument2.isValide()){ SomeObject otherVal1 = doSomeStuff(argument1, argument2) if(otherVal1.isValid()){ someObject otherVal2 = doAnothre..