Prologue #1


최근 Docker Hub 이야기가 Hot 했다.


무료로 마음껏 사용했던 Docker Hub였는데,

Rate Limit 제한을 하게 되어 의도치 않은 Fail 메시지들을 보게 되어 다들 부랴 부랴 계정 등록하기도 하고 라이선스 구매를 하기도 하고...


특히 통합 빌드서버를 사용하는 경우

미리 준비하지 않은 경우 빌드서버에서 rate limit가 걸려 빌드가 계속 fail 되는 사태가 발생해버렸기에 난리였다!



Prologue #2


요즘 Kubernetes 공부를 하고 있는데,

Local에서만 하기에는 좀 제한적이어서 Google Cloud Platform(GCP) 환경에서 테스트를 해보고 있다.


그런데, Minikube 환경에서는 Local에서 만든 Container Image를 반영하기가 손쉬웠는데

GCP에 있는 K8s 환경에서는 그냥은 안되는 것 같다.


Docker Hub에 Local에서 만든 Container Image를 업로드 하면 손쉽게 될 것만 같다.





Body


우선 Docker Hub 사이트에 방문을 해보자.


https://hub.docker.com/



첫 페이지부터 Sign Up을 요구한다.

ID 넣고 Email 넣고 Password 넣고 로봇이 아니라고 체크 한 번 해주고 가입 완료하자.

발송된 Email에서 Confirm 한 번 눌러주면 최종적으로 가입 완료된다.



Sign In 화면은 아래와 같다.




로그인 후 첫화면은 아래와 같다.





그러면, 이제 docker login을 해보자.


실습 환경은 "Ubuntu 18.04" 이다.


Docker 설치는 아래 링크를 참조하기 바란다.

- https://whatwant.tistory.com/entry/Docker-Install-Ubuntu-16041804-64bit-using-Download



일단 login을 시도해보자.


$ docker login



뭔가 permission error가 발생한다.




그러면, Permission 이슈를 해결하고, 다시 해보자.


$ sudo chmod 666 /var/run/docker.sock


$ docker login



잘 되었다 !!!



push 과정까지 실제로 따라해보려면 실습 코드들이 필요하기에 이후 내용은 아래 GitHub Repo를 참고해서 진행하자.


- https://github.com/whatwant-school/docker-hub/tree/main/step01



$ docker build -t ${username}/count:v1 .


$ docker push ${username}/count:v1



Docker Hub에 접속해서 제대로 올라왔는지 확인해보자.




여기까지~!!

반응형

 

이번 달에 보게된 책은 다음과 같다.

 

[한빛미디어] Machine Learning with Python Cookbook - 파이썬을 활용한 머신러닝 쿡북

 

 

 

주의할 점은

이 책은 입문자를 위한 책이 아니라

머신러닝에 대해 익숙한 개발자를 위한 책이라는 사실이다.

 

 

 

하지만, 그렇다고 해서 너무 겁먹을 필요는 없다.

 

친절하게도 numpy 기본에 대해서도

한 번 집어주는 등 나름 친절한 부분도 있으니

너무 무서워 할 필요는 없다.

 

 

 

 

 

 

Chapter 1 에서는 numpy에 대해서 알려주고 있고

 

 

 

Chapter 2 에서는 sklearn(사이킷런)을 이용한 샘플데이터 생성하기와

pandas(판다스)를 이용한 외부데이터 불러오기 등을 알려준다.

 

사실 이 정도면 거의 입문서라고 봐도 무방할 것 같다.

 

 

 

그리고, 더욱 더 친절하게도 옮긴이(박해선님)가

"덧붙임"이라고 추가적인 설명까지도 제공해주고 있다.

 

 

 

물론 그렇다고 해서 머신러닝에 대해서

한 번도 공부해보지 않은

말 그대로의 입문자에게

추천할 수는 없을 것 같다.

 

 

머신러닝에 대해서

한 번쯤 간략하게 살펴본

입문자는 아니고

초보자라고 불리울 정도의

수준에 있는 분에게 필요한 책으로 보인다.

 

 

 

그리고 개인적으로 마음에 드는 것은

흑백이 아니라 살짝 컬러가 들어가 있다 !!!

 

 

 

 

이 책은 표지에 써 있는 것처럼

사이킷런 중심으로 작성되어 있다.

 

뒷 부분에는 케라스로 작성된 내용도 있긴하다.

 

참고하면 될 것 같다.

 

 

 

 

이 책에 대한 정오표는 아래에서 확인할 수 있다.

 

https://tensorflow.blog/ml-cookbook/

 

 

 

그리고, 원서에서는 제공하지 않는 코드를 옮긴이가 별도로 제공해준다!!!

 

https://github.com/rickiepark/machine-learning-with-python-cookbook

 

 

* 이 책은 한빛출판네트워크의 '나는 리뷰어다' 이벤트를 통해 제공 받은 도서입니다.

반응형


최근 가장 인기있는 직업


"유튜브 크리에이터"



해당 직업을 갖기 위해서는

유튜브에

자신만의 동영상을

촬영하고 편집해서

업로드를 해야한다.



이렇게

동영상만 업로드하면

엄청난 조회수의

유명 크리에이터가

될 수 있을까?





유명 유튜버가 되기 위한

비법이 담긴

"유튜브 정석"



허팝은 

"허팝과 함께하는 유튜브 크리에이터 되기"

라는 책을

이미 2017년에 출간했었다.






최근 바뀐 트랜드를 반영하고

추가적인 노하우까지 담아서

새로 출간한 책이다.


아직 따끈 따끈~







단순한 영상 편집 기법만 다루는 책이 아니다.


많은 유튜버들이 저작권 이슈로 인해

어려움을 겪었었다.


그러한 저작권 관련한 내용도 설명해주고 있다.






업로드만 했다고

사람들이 봐주지 않는다.


어떻게 업로드를 해야

많은 사람들이 찾아와주는지

구독을 눌러주는지를

설명해주고 있다.







알면 좋은 것들을

정말 꼼꼼하게 넣어주었다.







심지어 캡처 보드의 동작 원리까지~





책 전체가 컬러판이다.

종이질도 고급스럽다는...





솔직히, 큰 기대를 하지 않았었다.


어떤 분야에서 성공한 사람들이 낸 책들을 보면

본인 자랑만 잔뜩 있고


도덕책에 나올만한 내용들로 가득하고


네이버 검색 또는 구글링을 하면

손쉽게 볼 수 있는 내용들로 가득한

그런 쓸모 없는 책들이 대부분이기 때문에...



하지만, 이 책을 살펴보면서

저자가 신경을 많이 쓴 책이라는

생각이 확~ 들었다.



유튜버가 되기 전에 살펴보면

정말 정말 좋은 책이다!


이미 유튜버일지라도

이 책을 통해

많은 것을 배울 수 있을 것이다.




이 책을 택배로 받았을 때

초등 6학년인 딸이 먼저 열어보았는데

재미있다고

책을 가져가버렸었다.


초등학생도 재미있게 볼만한 책인 것은 분명하다.




허팝만 따라 해봐! 유튜브 정석 - 10점
허재원(허팝).안정기 지음/한빛미디어


* 이 책은 한빛출판네트워크의 '나는 리뷰어다' 이벤트를 통해 제공 받은 도서입니다.


반응형


Flutter로 인증을 구현하려고 하는데,

각종 Social Service를 통해 가입을 할 수 있도록 하려면 왠지 힘들것 같다.


그런데, Firebase를 이용하면

이 부분을 손쉽게 할 수 있다고 해서 한 번 알아보고자 한다.




1. Flutter Project 생성


   - 기본 환경 구축은 아래 링크를 통해서 진행했다고 가정하고...

      - Flutter 설치 : https://www.whatwant.com/entry/Flutter-Install-Flutter-설치하기-Windows

      - Flutter with VSCode : https://www.whatwant.com/entry/Flutter-with-Visual-Studio-CodeVSCode

   - Flutter로 로그인 페이지를 꾸밀 프로젝트를 하나 생성하자.



   - 이름 정해주고, 위치 잡아주면 열심히 기본 프로젝트 생성된다.



   - 일단 여기까지만 해놓고... Firebase로 넘어가자.





2. Firebase Project 생성


   - 가입/로그인은... Google 계정으로 가뿐하게 하시면 되고...



   - 시작하고 프로젝트 만들기에 들어가보자.



   - 이름은 마음에 드는 것으로...



   - 당장은 애널리틱스에 대해서 고려하지 않을거지만, 왠지 안하면 섭섭하니...



   - 아직 뭔지 모르겠지만... 뭐 그냥 해보자.



   - 이제 마무리다~ 고고!! 고고!!



   - 그러면, 예쁜 페이지가 짠~!!








3. Android App에 Firebase 추가


   - Flutter와 Firebase 사이에 연결고리를 추가하는 과정이다.


   - 위 홈페이지 프로젝트 이름 밑에 동그란 아이콘 3개가 보일 것이다. 가운데에 있는 안드로이드를 클릭하자



   - 응?! 패키지 이름 정해준 적 없는데?!

   - command-line으로 Flutter 프로젝트를 생성했으면 명시했겠지만, VSCode에서는 그냥 이름으로 생성했는데...

   - 찾아보자.



   - 아까 생성한 Project에서 android - app - src - main 경로에 있는 "AndroidManifest,xml" 파일을 보면 package 이름이 보인다.



   - 패키지 이름은 그렇게 넣어주면 되고... 닉네임은 그냥 마음대로 넣으면 되고... 어?! 인증서?!

   - 물음표에 마우스 올리면 위와 같이 설명이 나온다. 참조할 페이지 클릭!



   - 개발용으로 쓰이는 key값은 이미 있기에 그걸로 불러오면 된다.



   - 위와 같이 사용자 계정 폴더에 있는 .android 디렉토리 밑에 보면 위와 같이 파일들이 주르륵 있는 것이 보일 것이다.

   - PowerShell 실행해서 위의 홈페이지에 있는 명령어를 실행해야 하는데...



   - 아뿔사~ JDK가 없다. ㅋㅋㅋ


   - OpenJDK 접속

      - https://github.com/ojdkbuild/ojdkbuild



   - 일단 LTS 버전 중에서 11 버전의 msi 다운로드 받아서 설치했다.

   - PowerShell 재시작 하고...



   - 잘된다 !!!


> keytool -list -v -alias androiddebugkey -keystore C:\Users\xxx\.android\debug.keystore



   - 비밀번호를 갑자기 물어본다고 당황하지 말고... 위의 홈페이지에 친절하게 쓰여져있다. "android"



   - 우리에게 필요한 값은? SHA1 값 !!!



   - 드디어 넣을 것 다 넣었다... 앱 등록 !!!



   - json 파일 다운로드 받아서 쩌~기 위치에 넣으란다.


   - android - app 밑에다가 넣어주면 된다.



   - 실제로 잘 들어가 있는 모습을 볼 수 있다.



   - 이제 다음~



   - 위 화면에서 녹색으로 보이는 부분을 복사해서 build.gradle 파일에 붙여넣기 하면 된다.

   - 주의할 점은 android 경로 바로 밑에 있는 build.gradle 파일의 dependencies 부분에 넣어줘야 한다.



   - 밑에 있는 것들도 마찬가지로 진행하면 된다.

   - 주의할 점은 밑에 있는 것들은 android - app 밑에 있는 build.gradle에 반영해야 된다는 점!!!



   - 첫번째 녹색 라인은 이미 반영되어 있으니, 2/3번째 녹색 라인만 위치에 맞게 넣어주면 된다.



   - 알맞게~



   - Sync는 뭐 넘어가고 이제 다음 단계로 가자!



   - 어?! 확인을 해야 한단다.


   - 놀고 있는 폰을 연결하고... (당연히 개발자 모드 열어서 USB 디버그 모드 설정해서)



   - flutter: select device 열어서



   - 연결한 스마트폰 설정하고



   - 왼쪽 4번째 아이콘 클릭해서... Run and Debug 눌러주면 된다.



   - false 뜬다고 당황하지 말고... 좀 기다리면 된다.



   - 그러면 위와 같이 수고했다는 메시지를 볼 수 있다.




에고 에고... 힘들었다.



반응형


형상관리 도구로써

Git 자체는

Command line 방식으로

사용하는 것을 추천한다.


나만 이렇게 생각하는 것은 아니라고 생각한다.

많은 분들이 동감할 것이다.



그래서

Windows 환경에서도

Git-bash를 사용해서

Git을 사용하고 있는데...






문제는

GitHub를 사용할 때에는

결국

Web 환경을 사용할 수 밖에 없다.



Issue를 확인한다던지,

Pull-Request를 한다던지...




하지만, 웹을 사용하기 어려운 경우...

아니면, 웹을 사용하기 싫은 경우...


우리에게 필요한 것은 뭐 ?!


"GitHub CLI"



최근에 GitHub에서 version 1.0을 릴리즈 하였다.



https://cli.github.com/





1. Installation (Win)



설치는 그냥 다운로드 받아서 Next 연타 하면 끝

(Linux, Mac도 손쉽게 할 수 있다)



실행은

Git-bash 또는 PowerShell

모두 잘 된다.







2. Authentication


Beta 버전 때에는 Enterprise를 지원하지 않는데,

v1.0 정식 릴리즈에서는

github.com + Enterprise

모두 잘 지원한다 !!!


예를 들어서 Issues 목록을 보고 싶다고 하는 경우

GitHub Client에게

어떤 repository의 Issues 목록을 보고 싶은지를

알려줘야 한다.


그리고 또하나 필요한 것은

Issues를 읽어올 수 있는

인증/권한을 셋팅하는 것 !!!



기본적인 인증 등록은 아래와 같다.


GitHub-bash에서는 정상동작하지 않는다.

PowerShell에서 실행하면 된다.


$ gh auth login


GitHub.com과 Enterprise를 고를 수 있다.



일단, GitHub.com을 선택해보았다.



웹브라우져로 할 수도 있고,

token값을 넣을 수도 있다.


웹브라우져를 선택했다.



코드값 잘 복사해놓고 엔터를 누르면 된다.



default 브라우저가 IE로 되어있으면

잘 안될 수도 있다고 한다.


Chrome 권장


위에서 복사한 코드값 넣고 'Continue' 클릭~



권한 주면 된다.


패스워드 한 번 더 확인해주고~



축하받으니 뭔가 좋긴 한데... ^^



앞에 화면 하나 캡처하지 못했는데...


기본 프로토콜로 HTTPS 사용할건지 SSH 사용할건지 묻는 화면도 있다.


굳이 HTTPS 사용할 이유는 없어서 SSH로 설정했다.






3. Usage


이제 어떻게 동작하는지 살펴보자.


> gh issue list -R [OWNER/REPO]



텍스트로 목록을 잘 보여준다.

한글도 잘 나오는 것을 볼 수 있다.



> gh issue view [이슈번호] -R [OWNER/REPO]



텍스트로 본문도 볼 수 있다.


"--web" 옵션을 사용하면 브라우져로 확인할 수도 있다.






사용할 수 있는 명령어들과 옵션들은 아래 사이트에서 확인할 수 있다.


https://cli.github.com/manual/




반응형


기본적인 Flutter 개발환경은 아래 글을 통해 설치해보았다.


  - https://www.whatwant.com/entry/Flutter-Install-Flutter-설치하기-Windows




하지만, 요즘 유행인 Visual Studio Code를 이용하고픈 사람들도 있을 것이다.


이런 요구사항이 높았는지... Flutter에서도 공식적으로 가이드를 제공해주고 있다.


  - https://flutter.dev/docs/development/tools/vs-code




그래서 직접 한 번 해보았다.



1. Visual Studio Code 설치


  - https://code.visualstudio.com/







2. Install Extension


  - Flutter Extension을 설치해주면 된다.

    - 유사품에 주의하고 'Dart Code'에서 제공해주는 것을 install 하면 된다.

    - 자동으로 Dart Extension도 같이(몰래) 설치된다.



  - Restart VSCode




3. Check


  - "Ctrl+Shift+P" 또는 "View > Command Palette..." 실행해서 'flutter'를 타이핑 해보자

  - "Flutter: Run Flutter Doctor" 고르면 된다.



  - 그런데, 아래와 같이 2번째 항목에서 [!] 발견 !!!





4. Accept Android Licenses


  - 위 메시지에서 보이는바와 같이 친절하게 해결 방법도 알려 준다.

  - "View -> Terminal" 또는 "Ctrl+`", 아니면 그냥 TERMINAL 탭 선택

  - "> flutter doctor --android-licenses" 실행

    - 무조건 y 엔터






5. New Project


  - 이제 아래와 같이 Flutter Project를 생성하면 된다.



반응형


리눅스를 정말 좋아하지만 ...


뜬금없는 에러상황을 부딪힐때면 좀 짜증이...



내가 사용했던 명령어 기록들을 저장하는 history 파일에 문제가 있단다.


왜? 대체 왜?



$ cd ~                          


$ mv .zsh_history .zsh_history.0831


$ strings .zsh_history.0831 .zsh_history


$ fc -R .zsh_history



위와 같이 진행하면 고쳐진다.




반응형


집에서 PC를 여러대 사용하다보니

보다 편한 파일 공유를 위해서


공유폴더


를 사용하고 있다.



그러다가...


최신병에 걸려있기에

항상 찝찝하게 남아있던

윈도우즈 업데이트를

큰 맘 먹고

진행했는데...



아! 글쎄!

공유폴더에 접근이 안되는거다 !!!



우쒸~



하지만, 이 길을 먼저 걸으신

훌륭한 분의 글을 접하고선 해결했다.



https://sihloh4me.tistory.com/284




gpedit.msc 를 실행하고




관리 템플릿 - 네트워크 - Lanman 워크스테이션


보안되지 않은 게스트 로그온 사용



값을 "사용"으로 변경하면 된다 !!





재부팅도 없이 바로 해결~!!!!


반응형

+ Recent posts