개발

    728x90

    Closure (클로저)

    개발자 친구랑 이런저런 이야기를 하던 중, 내 리뷰가 리젝당한 경험담을 이어서 꺼내기 시작했다. "내가 클로저를 썼는데 리뷰어가 그게 뭐냐고, 함수로 빼달라고 하는거 있지?" 한참을 듣던 그 친구가 대뜸 이렇게 반문했다. 그런데, 클로저가 뭐야? "어...그거 있잖아! 함수 안에 함수 만드는거! 그런데 그 함수 바깥도 참조할 수 있는거!" 라고 얼버무렸다. 그러고 나자 (친구는 가만히 있는데) 나 혼자 이런 생각이 들었다. '함수면 함수지 왜 안에다 만들어? 변수 참조는 왜 해? 리펙터링 하기 싫어서 필요한 건가?' ㅠㅠ.. 일단 나부터 잘 모르고 쓰고 있다는 생각이 들어, 이참에 정리를 해 두려고 한다. 정의 프로그래밍 언어에서 Closure 는, 함수 바깥에 있는 변수를 참조하는 함수 '값' 을 말한..

    VSCode Python 디버그 반응 없을 때

    증상 VSCode 에서 Python 파일을 디버깅하려 하면, 아~무런 반응이 없다. 그냥 실행 자체를 하지 않은 것 같다! 분석 관련 로그가 남아있지 않기 때문에, 분석이 쉽지 않다. 그나마 갱신되는 로그가 'Python' 에서 보이는 한 줄의 명령어인데... DAP Server launched with command: /home/interp/work/project/venv/bin/python /home/interp/.vscode-server/extensions/ms-python.python-2022.12.1/pythonFiles/lib/python/debugpy/adapter 이 명령어를 그대로 터미널에서 쳐 보니 해결책이 보였다. Traceback (most recent call last): File..

    BDD (2) Python 으로 적용하기 - behave

    지난 포스팅으로 BDD 는 어떤 개발방법론이고, 어떤 면에서 이 방법이 필요한지를 정리해 봤다. BDD (1) 의미, 필요성 작년 즈음에, 팀에 테스트 주도 개발 (Test-driven Development,TDD) 에 대해 어떤 강력한 합의 (?) 가 필요하지 않을까라고 팀장님께 주장했던 기억이 났다. 일단 나부터 좀 잘 해야 할텐데 그런데 그걸 interp.blog 이번 포스팅을 시작으로, 직접 다양한 언어에서 BDD 를 적용하는 방법을 정리해 볼 예정이다. 첫 시간으로는 파이썬 (Python) 언어를 가지고 할 것이다. Python 라이브러리 중 하나인 behave 를 통해, BDD 테스트 프레임워크를 구성하고, 예제 시나리오를 만들어서 테스트 자동화가 어떻게 이뤄질 수 있을지 알아보자. 예제 프로..

    Oh my zsh! 에서 kubectl 자동 완성 하기

    'zsh 자동 완성' 이라는 Kubernetes 공식 문서에 따르면, 다음 명령으로 자동 완성이 가능하다고 한다. source

    BDD (1) 의미, 필요성

    작년 즈음에, 팀에 테스트 주도 개발 (Test-driven Development,TDD) 에 대해 어떤 강력한 합의 (?) 가 필요하지 않을까라고 팀장님께 주장했던 기억이 났다. 일단 나부터 좀 잘 해야 할텐데 그런데 그걸 언제 또 기억하셔서는, 올 초에 ‘TDD 말고 BDD 에 대해 조사해서 차기 프로젝트에 녹여보면 어떻겠냐’ 는 제안을 하셨다. 두 눈을 동그랗게 뜬 채 음성 채팅으로 ‘그것이… 무엇이죠?!’ 라고 되물었던 슬픈 기억이 난다. 지금은 프로젝트를 진행 중인데 거의 설계 단계를 지났고, 프로토타이핑이 끝나간다. 바쁜 시간이 지나고서야 팀장님의 부름이 닿아, 뒤늦게나마 우리가 쥐고 있는 요구사항이 무엇인지, 어떻게 적용할 수 있는지 찾아보고 있다. 그런데 이 결과물을 팀원들에게 공유하려면 ..

    반응형