본문 바로가기

CS122

Docker for Mac 에서 쿠버네티스(Kubernetes / k8s) 사용하는 방법 Hands-on Kubernetes 현업에서 쿠버네티스를 사용할 기회가 전혀 없지만 그래도 요즘 세상이 어떻게 돌아가는지는 알아야 겠다는 생각에 최소한의 hands-one을 해 보려고 하고 있습니다. 우선 로컬에서 쿠버네티스 사용을 위해서는 Docker Desktop 이 설치 된 환경이어야 합니다. AWS 나 구글 클라우드 에서 제대로 써 보는 것도 의미가 있겠지만 저는 아직 개념 자체가 정리가 되지 않아 Desktop에서 시작을 해 보는 상황입니다. 설정 버튼을 누르면 General (일반) 항목들이 나옵니다. 왼쪽을 보시면 Kubernetes 버튼이 보입니다. Kubernetes 활성화 (Enable Kubernetes) Kubernetes 탭으로 이동하면 Enable Kubernetes 체크박스가 .. 2022. 7. 18.
[docker] 도커 엔트리포인트(entry point) 의 이해와 IBM LSF Job starter 기능 Docker entry point 컨테이너가 시작될 때 CMD 값을 인자로 받아 수행이 가능한 명령어 CMD? 기본적으로 도커는 CMD를 이용하여 컨테이너가 시작될 때 실행할 명령어를 설정합니다. 이 점에서는 ENTRYPOINT와 크게 다른바가 없으나, 서로 역할이 조금 상이합니다. 그 차이는 바로 ENTRYPOINT는 CMD를 인자로 받는다는 점 입니다. 아래처럼 entrypoint 와 cmd가 설정 된 상태에서 docker를 실행하면 결과는 어떨까요? entrypoint: echo cmd: python3 결과는 다음과 같습니다. python3 즉, 아래와 같은 명령어가 실행되었다고 보시면 됩니다. echo python3 ENTRYPOINT 활용하기 이걸 어떻게 이용해야 할까요? 제가 생각하는 예시가 .. 2022. 7. 17.
[docker] 도커 데몬을 실행하는 방법, MacOS 에서의 dockerd 도커 데몬 우선 지금까지 실행해온 도커가 어디에 위치하고 있는지를 확인합니다. % which docker /usr/local/bin/docker 도커의 실행은 /usr/local/bin/docker 를 통해 실행이 됨을 확인할 수 있는데, docker 프로세스도 이와 같은지 확인해 봅니다. $ ps -ef | grep Docker 501 99769 1 0 9 322 ?? 2:30.78 /Applications/Docker.app/Contents/MacOS/Docker 501 99786 99769 0 9 322 ?? 9:30.29 /Applications/Docker.app/Contents/MacOS/com.docker.backend -watchdog -native-api 501 99787 99769 0 .. 2022. 7. 11.
문서 지향 데이터베이스(Document oriented database) 란 무엇인가? feat. CouchDB 정의 문서 정보를 기반으로 원하는 데이터를 저장하고 조회하도록 설계 된 NoSQL 데이터베이스 유형 MongoDB, CouchDB, Elasticsearch, CouchBase 등 특징 Key-Value 형태로 저장 No schema, 유연한 스키마 JSON / XML 등의 문서로 저장 분산 하드웨어 클러스터 기반 확장 CouchDB Scalable architecture 를 쉽게 접할 수 있도록 만들어진 오픈소스 데이터베이스. Document-oriented NoSQL Database이며, erlang 으로 구현되어 있다. ( 왜 erlang 일까.. ) 데이터 저장은 JSON을 사용하며, Javascript를 쿼리로 사용하는 게 특징이다. HTTP를 이용한 API도 제공해 준다. Couch Repli.. 2022. 7. 7.
[파이썬 개발자 로드맵] Functions - 함수 만들어서 사용하는 방법 2022.04.27 - [CS/Python] - python 개발자 로드맵 ( developer roadmap ) 에 따라서 개발공부하기 python 개발자 로드맵 ( developer roadmap ) 에 따라서 개발공부하기 예전에 DevOps 업무를 수행하기 위해서 어떤 능력이 필요한지 roadmap.sh 에서 확인해 본 적이 있다. 파이썬을 현업에서 적극적으로 사용하고 있지만 가끔 기본적인 내용에 대해 엦어버릴 때가 있는 armin.tistory.com 파이썬에서 함수를 만들어 쓰는 것은 너무나 단순하기에 가볍게 예제 코드만 작성하고 넘어가 보려고 한다. 클래스 안에 선언되는지, 모듈에서 바로 사용되는지 위치에 따라 조금씩의 차이는 있겠지만, 기본적인 function의 선언과 사용은 큰 틀을 벗어나.. 2022. 7. 4.
[파이썬 개발자 로드맵] Exceptions - Python 에서 예외(Exception)를 일으키고 처리하는 방법 , try ... except ... else 의 의미 파이썬 개발자 로드맵에 따라 문법들을 정리하고 있습니다. 2022.04.27 - [CS/Python] - python 개발자 로드맵 ( developer roadmap ) 에 따라서 개발공부하기 python 개발자 로드맵 ( developer roadmap ) 에 따라서 개발공부하기 예전에 DevOps 업무를 수행하기 위해서 어떤 능력이 필요한지 roadmap.sh 에서 확인해 본 적이 있다. 파이썬을 현업에서 적극적으로 사용하고 있지만 가끔 기본적인 내용에 대해 엦어버릴 때가 있는 armin.tistory.com 오늘은 예외 처리에 대해 간단하게 정리하고 넘어가 보겠습니다. Handling exceptions 다른 언어들과 마찬가지로 파이썬 에서는 선택 된 예외들을 처리할 수 있습니다. 다음과 같이 t.. 2022. 7. 2.
python 함수 리턴 밑줄 변수 "_ " 의 의미 파이썬 코드를 보다보면 underscore(밑줄, _ ) 값 을 리턴하는 경우가 있다. 다음 코드의 예시를 보자 def demo_func( mul ): return 1*mul, 2*mul, 3*mul if __name__ == "__main__": a, b, c = demo_func(1) print ( a, b, c ) a1, b1, _ = demo_func(2) print ( a1, b1, _ ) a2, _, c2 = demo_func(3) print ( a2, _, c2 ) 이렇게 작성 된 코드의 출력은 어떻게 될까? 결과는 다음과 같다. % python3 return_.py 1 2 3 2 4 6 3 6 9 _ 에 할당 한 값을 print 함수는 정상적으로 출력 해 준다. 그런데 밑줄변수 _ 는 왜 .. 2022. 6. 16.
Python print 함수를 stdout, stderr 로 출력하는 방법 - python 개발자가 stderr를 써야하는 이유 python 에서는 print 함수를 정말로 많이 사용한다. 나는 표준출력을 목적으로 사용하기도 하지만 간단하게 Debugging 할 때에도 쓰는 것 같다. 대부분 개발자가 비슷하지 않을까 생각 해 본다. 그런데 실제 production 은 함부로 쓰기가 좀 조심 스러운게 사실이다. 조심스러운 표준 출력, stdout 일반적으로 python 에서 print 함수를 쓰면 stdout으로 출력이 된다. https://docs.python.org/ko/3/library/functions.html#print 내장 함수 — Python 3.10.5 문서 내장 함수 파이썬 인터프리터에는 항상 사용할 수 있는 많은 함수와 형이 내장되어 있습니다. 여기에서 알파벳 순으로 나열합니다. abs(x) 숫자의 절댓값을 돌려줍.. 2022. 6. 15.
[파이썬 개발자 로드맵] Type casting - python 변수 형변환 하는 방법 python 개발자 로드맵 ( developer roadmap ) 에 따라서 개발공부하기 예전에 DevOps 업무를 수행하기 위해서 어떤 능력이 필요한지 roadmap.sh 에서 확인해 본 적이 있다. 파이썬을 현업에서 적극적으로 사용하고 있지만 가끔 기본적인 내용에 대해 엦어버릴 때가 있는 armin.tistory.com 로드맵 따라서 내용을 좀 더 상세하게 가져가고 싶었는데 또다시 겉핥기를 하는 것 같다.. 어느정도 흐름만 스켈레톤을 만들어 두고 세부 내용들은 생각나는대로 업데이트를 하는게 좋을 것 같다. 첫 술에 배 부를 수는 없는 법이다. 내가 python 을 사용하면서 주로 사용하는 Casting은 다음과 같다. int to str str to int Bool to str list to set .. 2022. 6. 4.
docker 명령어를 이용한 사설 레지스트리(private registry)기반 개인서버에 이미지 저장소 만들기 도커 사설 레지스트리를 사용하면 도커 허브 역할을 하는 개인 저장소를 만들 수 있다. 이 레지스트리는 컨테이너로 구현되어 이에 해당하는 도커이미지가 존재하므로 docker run 명령어를 사용하여 만들 수 있다. $ docker run -d --name myregistry -p 5000:5000 --restart=always registry:2.6 Unable to find image 'registry:2.6' locally 2.6: Pulling from library/registry 486039affc0a: Pull complete ba51a3b098e6: Pull complete 470e22cd431a: Pull complete 1048a0cdabb0: Pull complete ca5aa9d0632.. 2022. 5. 18.
[파이썬 개발자 로드맵] Python 변수 와 데이터 타입에 대해 2022.04.27 - [CS/Python] - python 개발자 로드맵 ( developer roadmap ) 에 따라서 개발공부하기 python 개발자 로드맵 ( developer roadmap ) 에 따라서 개발공부하기 예전에 DevOps 업무를 수행하기 위해서 어떤 능력이 필요한지 roadmap.sh 에서 확인해 본 적이 있다. 파이썬을 현업에서 적극적으로 사용하고 있지만 가끔 기본적인 내용에 대해 엦어버릴 때가 있는 armin.tistory.com 로드맵의 첫 시작. 변수에 대한 이해이다. 근데 진짜 언어라는게 깊게 파기 시작하면 한도끝도 없다. 내 개인적인 추천방식은 온라인에서 가볍게 한번 훑고나서 일단 개발이 가능한 수준 정도의 실력을 쌓은 뒤 디테일하게 정리 된 책을 구매해서 Deep d.. 2022. 5. 5.
Global Interpreter Lock (GIL) - 파이썬의 길(?) 이란? GIL 에 대해서는 Python 코딩의 기술 이라는 책에서 처음 접했던 것 같다. 상호배제잠금 이라는 단어로 설명을 했었는데, 최근 회사에서 대화를 하다가 기억이 제대로 안나서 정리 차원에서 포스팅을 해보려고 한다. GIL (Global Interpreter Lock) 해석을 하면... 전역... 통역가.. 락? 책에서 설명하는 GIL의 역할은 CPython이 선점형 멀티스레딩의 영향을 받지 않게 막아준다 이다. 선점형 멀티스레딩의 경우 한 스레드가 다른 스레드를 인터럽트해서 프로그램을 제어하게 되는데, 이 인터럽트가 예상과 다르게 일어나면 인터프리터 상태가 망가진다. 이러한 인터럽트를 Lock을 통해서 막아주는 것이 GIL이 되겠다. 그런데 이게 문제가 되기도 하는데 그것은 바로 스레드의 병렬성 저하 .. 2022. 5. 2.
python 개발자 로드맵 ( developer roadmap ) 에 따라서 개발공부하기 예전에 DevOps 업무를 수행하기 위해서 어떤 능력이 필요한지 roadmap.sh 에서 확인해 본 적이 있다. 파이썬을 현업에서 적극적으로 사용하고 있지만 가끔 기본적인 내용에 대해 엦어버릴 때가 있는 것 같아서 Python developer roadmap 을 한번 확인해 봤다. Developer Roadmaps Community driven roadmaps, articles, guides, quizzes, tips and resources for developers to learn from, identify their career paths, know what they don't know, find out the knowledge gaps, learn and improve. roadmap.sh Pyt.. 2022. 4. 27.
제조회사 개발자의 신세한탄 그리고 살아남기위한 발버둥 1 - 부서배치 여는 글 나는 제조회사에서 개발자 직무로 일을 하고 있다. 하고 있는 업무의 범위가 꽤나 넓은 편이어서 이 직무를 개발자라고 말하는 게 맞을지 가끔 의문이 들기는 하지만 그래도 나름 사내에서 많이 사용하는 SW를 만들고 있으니 개발자가 맞는 것 같다. 요즘 들어 회사에 답답한 일들이 상당히 많은데 부서 내 문제라기보다는 대부분 HR 문제이다. 근래 들어 세상이 많이 바뀌어서 그런 건가.. 자꾸만 회사 인사시스템에 답이 없다는 생각이 든다. 그래서 지금까지의 회사생활. 제조회사에서의 개발자 직무가 어때 왔는지, 앞으로는 어떻게 될지에 대해 어느 정도 정리해 보려고 한다. 생각 흐름을 정리하고 나면 어느 정도 답을 찾을 수 있을까 싶어서.. 사실 지금까지 아등바등 잘해보려고 했던 것 같은데 이렇게 하는 게 .. 2022. 4. 24.
[쉬운 쉘 스크립트] bash shell 에서 원하는 문자 변경하는 방법 오늘 이런저런 출력들을 편집(?) 하다가 새로운 방법을 찾아서 정리한다.. 상황은 다음과 같았다. output 에 port address 와 hostname 이 다음과 같이 출력되고 있었다. $ cat spec.out 12345 host1 12344 host2 이 상태에서 내가 필요했 던 결과는 port@hostname 형식의 정보였다. 뭐.. 파일 자체를 바꿔도 됐겠지만. . 그냥 출력을 for 문에서 바로 바꾸고 싶었다. 일단 for 로 출력해보니 이렇게 나온다. $ for i in `cat spec.out` > do > echo $i > done 12345 host1 12344 host2 port 와 hostname 이 space로 구분되어 있다 보니 for 문에서 각 항목이 다른 iteration.. 2022. 4. 17.