# Background Description

파일 서버 용도로 사용하던 PC의 운영체제가 Windows XP 였는데,

더이상 기술지원이 안된다고 하여서

이번 기회에 Ubuntu 20.04로 갈아타게 되었다.

 

 

# Issues

기존 부터 사용해오던 공유폴더를 사용해서

Windows PC와 파일을 계속 주고 받고 싶다.

 

 

# Environment

## Windows PC

- Edition: Windows 10 Pro

- Version: 21H1

 

## Linux PC

- Distribution: Ubuntu

- Version: 20.04

 ❯ lsb_release -a

 No LSB modules are available.
 Distributor ID: Ubuntu
 Description: Ubuntu 20.04.3 LTS
 Release: 20.04
 Codename: focal


 ❯ uname -a

 Linux HP 5.13.0-28-generic #31~20.04.1-Ubuntu SMP Wed Jan 19 14:08:10 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux

 

# SAMBA

## install

- apt를 이용해서 손쉽게 설치할 수 있다.

❯ sudo apt install samba

 패키지 목록을 읽는 중입니다... 완료
 의존성 트리를 만드는 중입니다       
 상태 정보를 읽는 중입니다... 완료
 다음의 추가 패키지가 설치될 것입니다 :
   attr ibverbs-providers libboost-iostreams1.71.0 libcephfs2 libibverbs1 librados2 librdmacm1 python3-crypto
   python3-dnspython python3-gpg python3-markdown python3-packaging python3-pygments python3-pyparsing
   python3-samba python3-tdb samba-common samba-common-bin samba-dsdb-modules samba-vfs-modules tdb-tools
 제안하는 패키지:
   python-markdown-doc python-pygments-doc ttf-bitstream-vera python-pyparsing-doc bind9 bind9utils ctdb ldb-tools
   ntp | chrony smbldap-tools winbind heimdal-clients
 다음 새 패키지를 설치할 것입니다:
   attr ibverbs-providers libboost-iostreams1.71.0 libcephfs2 libibverbs1 librados2 librdmacm1 python3-crypto
   python3-dnspython python3-gpg python3-markdown python3-packaging python3-pygments python3-pyparsing
   python3-samba python3-tdb samba samba-common
   samba-common-bin samba-dsdb-modules samba-vfs-modules tdb-tools
 0개 업그레이드, 22개 새로 설치, 0개 제거 및 0개 업그레이드 안 함.
 10.5 M바이트 아카이브를 받아야 합니다.
 이 작업 후 70.2 M바이트의 디스크 공간을 더 사용하게 됩니다.
 계속 하시겠습니까? [Y/n]

 

## add user

- SAMBA 사용을 허가해줄 계정을 등록해줘야 한다.

- 해당 계정은 실제 계정을 사용해야 한다(Linux 계정).

❯ sudo smbpasswd -a (username)

 New SMB password:
 Retype new SMB password:
 Added user (username).

 

## set Config

- SAMBA 설정 파일 백업 먼저 하고 수정 해보자.

❯ sudo cp /etc/samba/smb.conf /etc/samba/smb.conf.220209

❯ sudo nano /etc/samba/smb.conf

- 기본적인 옵션 설명은 아래와 같다.

옵션 value 설명
comment (text) 공유 폴더에 대한 설명
path (text) 공유 폴더 경로
read only yes/no 공유 폴더를 읽기 전용으로 설정
writable, write ok yes/no 공유 폴더를 쓰기 가능으로 설정
valid users (id, id, ...) 공유 폴더 접근 가능 유저 목록
write list (id, id, ...) 공유 폴더 쓰기 가능 유저 목록
public, guest ok yes/no 게스트 이용 가능 여부
browsable yes/no 파일 목록을 보여줄 것인지 여부
printable yes/no 프린터 스풀 파일 지정
create mask, create mode (0644 / 0777 / ...) 생성 권한
force group (group, group, ...) 접근 가능 그룹 지정
directory mask (0644 / 0777 / ...) 공유 폴더 권한

- SAMBA 설정 파일 내용 샘플은 아래와 같다.

- 기존 내용의 제일 밑에 작성하면 된다.

...
[2022]
comment = whatwant's fileserver in 2022 
path = /srv/4t-1/2022      
browsable = yes
writeable = yes
read only = no
create mode = 0777
directory mode = 0777
public = yes
valid users = whatwant

- `smb.conf` 파일을 수정했으면, 서비스 재시작을 해줘야 한다.

❯ sudo service smbd restart

 

 

# Use

- 윈도우 PC에서 접근 해보자.

smb

- `2022` 디렉토리를 더블클릭하면, 다음과 같이 인증 요구 창이 나온다.

passwd

- 앞에서 등록한 패스워드로 인증하면 된다.

 

반응형

 

# Portainer ?

  - `Docker 관리를 위한 GUI 도구`로 시작해서 지금은 K8s, Azure ACI에 대한 지원까지 확장되고 있다.

  - https://www.portainer.io/

 

 

# 설치 환경

  - Ubuntu 20.04, Docker 20.10.12

❯ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 20.04.3 LTS
Release: 20.04
Codename: focal

❯ docker --version
Docker version 20.10.12, build e91ed57

 

 

# Install Portainer with Docker on Linux

  - Reference: https://docs.portainer.io/v/ce-2.11/start/install/server/docker/linux

 

① create volume

  - portainer에서 사용할 volume을 생성하고 잘 생성되었는지 확인해보자

❯ docker volume create portainer_data
portainer_data

❯ docker volume ls
DRIVER    VOLUME NAME
local     portainer_data

 

② install portainer

  - docker를 이용해 portainer를 설치하고 결과까지 확인해보자

❯ docker run -d -p 8000:8000 -p 9443:9443 --name portainer \
    --restart=always \
    -v /var/run/docker.sock:/var/run/docker.sock \
    -v portainer_data:/data \
    portainer/portainer-ce:2.11.0
Unable to find image 'portainer/portainer-ce:2.11.0' locally
2.11.0: Pulling from portainer/portainer-ce
0ea73420e2bb: Pull complete 
c367f59be2e1: Pull complete 
b71b88d796e2: Pull complete 
Digest: sha256:4f126c5114b63e9d1bceb4b368944d14323329a9a0d4e7bb7eb53c9b7435d498
Status: Downloaded newer image for portainer/portainer-ce:2.11.0
92f2bb51b10e3eb9bb09dd7f1731abd8796a8e1611cd42ef1d30b472472d7e13

❯ docker ps
CONTAINER ID   IMAGE                           COMMAND        CREATED          STATUS          PORTS                                                                                            NAMES
92f2bb51b10e   portainer/portainer-ce:2.11.0   "/portainer"   39 seconds ago   Up 25 seconds   0.0.0.0:8000->8000/tcp, :::8000->8000/tcp, 0.0.0.0:9443->9443/tcp, :::9443->9443/tcp, 9000/tcp   portainer

 

③ login

   - `https://localhost:9443` 또는 `https://IP:9443` 주소를 통해 웹 접근 해보자

비공개

  - 인증서 문제로 위와 같은 화면이 나오는데, `고급` 버튼을 누르고 `192.168.100.100(안전하지 않음)` 클릭!

passwd

  - 그리고, 관리자 패스워드 설정을 진행하면 된다

Get Started

  - 다른 서버도 같이 관리할 수 있지만, 지금 우리는 local만 관리할 것이기 때문에 `Get Started`를 클릭하면 된다

Home

  - local 밖에 없으니 하나 밖에 보이지 않는 것이 당연하고, `local`을 클릭해보자

local

 

너무나 깔끔하고 좋다~

 

반응형

 

일본의 철도 덕후로 여겨지는 한 개발자가 만든 엽기적인(?) 사이트

 

  - https://minitokyo3d.com/

 

 

HackersNews 뉴스레터를 통해 우연히 들어가게 되었는데,

정말 한참 동안 멍하니 보게 되었다.

 

지하철의 현재 상황을 실시간 애니메이션으로 보여준다.

심지어 지하철 모양을 클릭하면 그걸 따라서 화면이 움직인다.

 

그리고 CCTV 화면도 확인할 수 있다.

 

 

개인 개발자가 개발했다고 보기 어려울 정도의 수준이다.

정말 덕후가 아니라면 이 정도까지 하기 어려웠을거다.

 

  - https://github.com/nagix/mini-tokyo-3d

 

 

심지어 한/중/일/영 4개 국어를 지원한다는...

 

반응형

 

GitHub에서는 1년에 한 번씩 Universe라는 대규모 행사를 하고

지역별로 Satellite 행사도 운영을 한다.

 

 

본래 Universe 행사는 샌프란시스코에서 열리는데,

요즘 트렌드(?)에 따라 이번 Universe 2021 행사도 온라인으로 진행되었다. (10월 27일/28일)

 

https://githubuniverse.com/

 

GitHub Universe 2021

The global developer event

githubuniverse.com

 

Universe 2020도 온라인이었던 것 같은데, 아쉽다.

 

 

 

Universe 2021 동영상이 영어라서 부담스러운 분들은

`손건` 이사님이 직접 데모를 포함해서 우리나라 말로 설명을 해주신 요약 영상을 봐도 좋다.

 

https://resources.github.com/webcasts/kr-Best-of-GitHub-Universe-thankyou/ 

 

Best of GitHub Universe

지난해 진행된 GitHub Universe 이후 GitHub는 엔지니어를 위한 일상적인 UX의 개선, 클라우드 개발 환경에 대한 지원, 보안 강화를 포함하여 20,000개 이상의 기능 개선 사항을 발표했습니다. 이번 웨비

resources.github.com

 

위 행사에서 `GitHub Universe Highlights` 뿐만 아니라

GitHub 본사에서 솔루션 아키텍트로 근무하시는 `Bryant Son(손지민)`님이

정말 Geek스러운 발표도 해주셨다.

 

`재미있고 어메이징한 깃허브 액션: 클라우드 프로비저닝, 리포트 작성, 그 외 깃허브 액션으로 할수 있는 많은 작업들`

 

발표 제목부터 Geek 스럽지 않은가!? ^^

발표 자료도...

GitHub Actions

 

Hands-On을 위한 자료도 정말 멋지다.

 

https://github.com/githubuniverseworkshops/GitHub-Actions-Planet-2021-Korea

 

GitHub - githubuniverseworkshops/GitHub-Actions-Planet-2021-Korea: 깃허브 유니버스 2021 에서 발표했던 내용을 기

깃허브 유니버스 2021 에서 발표했던 내용을 기반으로 다시 한글로 만든 레포 입니다. Contribute to githubuniverseworkshops/GitHub-Actions-Planet-2021-Korea development by creating an account on GitHub.

github.com

 

 

부디 돌아오는 Universe 2022 행사는 샌프란시스코에서 열리길 기원하며 ...

 

반응형

'SCM > Git-GitHub' 카테고리의 다른 글

git 실수해도 괜찮아요  (0) 2022.07.02
GitHub에서 수식 입력 하기 (with LaTex)  (0) 2022.06.07
github.dev (Web-IDE)  (1) 2021.11.03
git switch/restore (git 새로운 명령어)  (1) 2021.10.17
git 설치 (Git 2.33.0, Windows 10)  (0) 2021.10.02

 

M1 맥북을 경품으로 받았다.

할아버지 맥북(2011)밖에 없었는데, 나에게도 최신 맥북이 생겼다! 앗싸!!

 

그런데, 새로운 나의 맥북이 오자마자 생존의 위협을 받고 있다.

Windows 노트북 2대, 맥북 2대, 안드로이드 태블릿 2대, Windows 데스크탑 1대 ... 등짝 스매싱 각이다.

 

마나님이 새로 생긴 맥북을 어디에 쓸거냐며 스마트폰에서 당근 마켓을 살펴보고 있다.

새로 생긴 맥북에 쓰임새를 주지 않으면 팔려가게 생겼다.

 

flutter 개발 환경을 어서빨리 구축해서

개발 용도로 아주 중요한 아이라고, 꼭 필요한 아이라고 증명해야겠다.

 

 

 

Flutter 개발환경 구축을 위해서는 설치해야할 것들이 많다.

 

1. Android Studio

2. Xcode

3. Chrome

4. VSCode

5. Flutter SDK

6. VSCode Extension - Flutter

 

 

한 번만 고생하면 된다. 하나씩 진행해보자.

 

 

1. Android Studio

  - https://developer.android.com/studio

Android Studio Download

  - 우리 M1은 `Apple chip`을 선택해야 한다.

Agree

  - 그런데, 아직은 호환성이 완벽하지 않은 것 같지만 그래도 나아지겠지 ...

compatibility

 

 

2. Xcode

  - `App Store`를 통해서 설치하면 된다.

  - 오래 걸린다.

Xcode

 

3. Chrome

  - 사실 M1 처음 셋팅할 때 바로 설치를 해서 별도의 스냅샷이 없다 ^^

 

4. VSCode

  - 마찬가지로 처음 셋팅할 때 바로 설치를 해서 ...

 

5. Flutter SDK

  - https://docs.flutter.dev/get-started/install/macos

flutter sdk

  - 우리 M1은 Rossetta 2 사용이 가능해야 한단다.

    . https://github.com/flutter/flutter/wiki/Developing-with-Flutter-on-Apple-Silicon

Rosseta 2

  - 다운로드 받은 후에 압축 풀고 임의의 디렉토리에 위치 시키면 된다.

    . 필자는 `$HOME/install/flutter` 경로에 위치 시켰다.

flutter sdk path

 

6. VSCode Extension - Flutter

  - VSCode에서 Flutter Extension을 설치하자.

Flutter Extension

  - Flutter Extension만 설치해도 Dart Extension은 자동으로 같이 설치 된다.

Dart Extension

 

 

많은 것들을 설치하느라 고생했다.

이제는 환경 설정을 하자.

 

 

7. PATH 설정

  - 필자는 ZSH을 사용하기에 `~/.zshrc` 파일을 수정했다.

  - 앞에서 설치한 `Flutter SDK`의 `/bin` 디렉토리를 추가해주면 된다.

edit PATH

  - 추가한 경로를 로딩시키기 위해 `source ~/.zshrc` 실행하자

source ~/.zshrc

 

8. Run Flutter Doctor

  - Flutter가 잘 설치되어있는지 점검을 해주는 doctor를 실행해보자

    . `Shift+Command+P` 단축키로 Pallete를 실행하자

    . `Flutter: Run Flutter Doctor`를 선택해서 실행하면 된다. (몇 글자 치면 추천 뜬다!)

Run Flutter Doctor

  - SDK 경로를 못찾겠다고 나오면 경로 찾아서 Set 해주면 된다.

    . 여기에서는 `~/install/flutter/bin` 경로로 해주면 된다.

Set Flutter SDK folder

  - OUTPUT 영역에 doctor 실행 과정이 나온다.

flutter doctor

  - Android toolchain 부분과 Xcode 부분에서 issue가 있다고 알려준다

doctor issues

 

9. Android Licenses (+ Android SDK command-line Tools)

  - `flutter doctor --android-licenses`를 실행하면 되는데, 아래와 같이 에러메시지가 나올 수 있다.

android-licenses errors

  - `Android SDK command-line Tools`를 설치해야 한다.

    . 일단 Android Studio를 실행하고

    . Preferences 메뉴를 고르자

Android Studio

    . Android SDK - SDK Tools 메뉴에서 `Android SDK command-line Tools`를 체크하고 Apply 하면 된다.

Android SDK command-line Tools

  - 이제 다시 `flutter doctor --android-licenses`를 터미널에서 실행하면 된다.

    . Accept에서 `y`를 타이핑하면 된다.

android-licenses

 

 

10. Xcode (+ cocoapods)

  - Xcode 관련해서 issues들을 해결해야 하는데, 캡쳐해놓은 것들이 날라가서 그냥 텍스트로 공유하겠다.

 

  - `cocoapods` 설치는 다음과 같이 하면 된다.

 

$ sudo gem install cocoapods -n /usr/local/bin

$ pod setup

 

  - 그리고 아래 것들도 마저 실행해보자.

 

$ sudo xcode-select --switch /Applications/Xcode.app/Contents/Developer

$ sudo xcodebuild -runFirstLaunch

 

 

11. 최종 확인

  - 다시 flutter doctor를 실행해서 issues가 없음을 확인하자

no issues

 

 

여기까지~

반응형

 

최근 많은 분들이 관심을 갖고 있는 "MLOps"는

"Machine Learning"과 "DevOps"가 합쳐진 것으로 지속적인 학습과 배포가 이루어지도록 하는 것을 의미한다.

 

이런 `MLOps`를 공부하기에 앞서서 먼저 알아야 할 것이

바로 "머신러닝 엔지니어링 (MachineLearning Engineering)"이다.

 

그리고, "머신러닝 엔지니어링 (MachineLearning Engineering)"에 대해서

제대로 공부할 수 있는 책이 나왔다.

 

표지

 

책 표지가 너무 깔끔하게 잘 나온 것 같다~^^

 

1쇄

 

21년의 마지막날 하루 앞두고 발행되었다!!!

 

 

MachineLearning에 대한 책들을 보면 거의 대부분 Modeling에 집중되어 있다.

하지만, 실제 이를 적용하기 위해서는 Modeling만 알아서는 충분하지 않다.

이를 어떻게 응용할 것인지, 어떻게 적용할 것인지가 중요하다.

 

그렇기에 책의 서두를 보면, 이 책의 정체성에 대해서 잘 설명해주고 있다.

 

"Applied MachineLearning"

 

applied machinelearning

 

책의 구성을 보면 프로젝트의 시작 전부터 하나씩 친절하게 설명을 해주고 있다.

 

Chapter 2

 

기술적인 부분에 대해서만 설명해주는 것이 아니라

어떤 데이터가 좋은 데이터인지, 어떤 전략으로 샘플링을 해야하는지와 같이

정말 꼼꼼하게 잘 설명해주고 있다.

 

Chapter 3

 

당연한 이야기이지만, MachineLearning에서 가장 중요한 것은 데이터이기에

데이터에 대해서 상당한 분량을 투자해서 잘 설명해주고 있다.

 

Chapter 9

 

데이터들을 수집해서 잘 정리하고 모델링을 해서

잘 만들어진 모델을 멋지게 서빙까지 하는 과정에 대해서 설명을 잘 해준다.

 

 

하지만, 이 책에서는 ML Engineering에 대한 이론적인 측면에서 설명을 해주고 있지

실제 사용되는 도구들을 통해 구현적인 측면에서는 언급해주고 있지 않다.

 

서빙

 

머신러닝 파이프라인에 있어서 각 단계별로 어떤 것들을 염두에 두어야 하는지

어떤 것들을 알고 있어야 하는지에 대한 이론을 설명해주고 있다.

 

즉, 그래서 실제로 어떤 도구들을 어떻게 구축해야할지를 고민하시는 분들에게는 적합하지 않고

머신러닝을 실제 업무에 적용하기 위해 어떤 단계들로 구성이 되어있는지

각 단계별로 어떤 것들을 고민하고 조심해야하는지를 알고 싶으신 분들에게 적합할 것 같다.

 

 

※ 제이펍 서평단 활동을 위해 지급 받은 도서에 대한 리뷰입니다.

 

반응형

 

Deep Learning을 공부하다보면

제일 먼저 접하는 것은 이미지 데이터를 CNN을 통해 분석하는 방법이다.

 

그 다음에 공부하게 되는 것이

데이터들의 순서가 중요한 시계열 데이터를 위한 RNN이고

이러한 RNN이 필요한 가장 대표적인 데이터 유형이 바로 자연어 처리이다.

 

그런데, 반대로 생각해볼 필요가 있다.

자연어 처리는 반드시 RNN만 적용해야 하는 것일까?

 

이런 궁금증을 해결해줄 수 있는 책이 바로 이 책이다.

 

Natural Language Processing with PyTorch

파이토치로 배우는 자연어 처리

 

표지

 

21년 6월에 초판을 찍은 아직은 따끈따끈한 책이다.

내부에도 저 예쁜 새(노랑허리상모솔새)가 컬러로 인쇄되어 있어서 깜짝 놀랐다 ^^

 

아! 이 책은 ML/DL 관련해서 공부를 해보신 분들이라면

당연히 알고 계실 `박해선`님이 번역해주셨다!

 

초판인쇄

 

책은 정말 친절하게도 Chapter 1 하나를 소개를 위한 내용으로 채워져있다.

 

목차 1

 

또한 자연어 처리를 위한 기본적인 내용들도 친절하게 소개를 해준다.

 

심지어 Neural Network에 대한 기본적인 사항들에 대해서도 소갤를 해주고 있는데,

사실 이러한 내용들에 대해서 사전에 학습되지 않은 사람들이 과연 이 책을 구매할까?라는 의문은 있다.

 

목차2

 

Deep Learning에 대한 기본적인 공부를 이 책으로 할 수 있을지는 조금 의문스럽지만,

그럼에도 불구하고 나름 꼼꼼하고 깔끔하게 잘 설명해주고 있다.

 

이미 공부를 하신 분들도 이 책을 통해서 한 번 훑어보는 것도 괜찮을 것 같다.

 

지도학습

 

이 책의 특징 중 하나는 바로 매 챕터에 `연습문제`가 있다는 것이다.

책을 눈으로만 봤다면 쉽게 풀 수 없는 문제들이다.

 

연습문제

 

 

이 책에 대해서 총평을 해보자면,

 

Deep Learning으로 자연어 처리를 어떻게 할 수 있는지

특히 PyTorch를 이용해서 자연어 처리를 해보고 싶은 사람들에게 추천할 수 있을 것 같다.

 

하지만, 초급인 분들에게는 조금 어려움이 있을 것 같다.

최소한 Deep Learning에 대해서 기본적인 지식은 있는 분들에게 적합하다고 생각된다.

 

Deep Learning에 대한 지식이나, PyTorch에 대해서 알고싶은 사람들 보다는

자연어 처리에 대해서 공부하고 싶은 분들에게 추천한다.

 

살짝 한 번 공부해본 분들이 정리하는 차원에서 봐도 좋을 책이다.

 

 

"한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다."

반응형

개발자들에게 가장 유명한 사이트 中 하나인 GitHub.com에서는

매년 Octoverse라는 이름으로 1년간의 성과와 통계를 공개한다.

- https://octoverse.github.com/

 

Octoverse

 

그러면 Python은 2021년에 몇 번째로 사랑받았을까?!

 

Top Language

 

JavaScript에 이어 2번째로 인기있는 언어가 바로 Python이다.

 

 

그러면 Python을 공부하기에 좋은 책은 어떤 것이 있을까?!

 

혼자 공부하는 파이썬

 

책 표지에도 딱! 나와있듯이 "파이썬 분야 1위" 책이다 !!!

 

10쇄

 

그렇다! 무려 10쇄 !!!

 

많이 팔리는 책에는 분명히 이유가 있을 것이다.

 

학습가이드

 

혼공학습단

 

책 제목에 분명히 써 있듯이 "혼자 공부"하기에 정말 최적의 Python 서적인 것이다.

 

실제 해당 사이트에 가보면 정말 많은 것을 제공해주고 있다.

- https://hongong.hanbit.co.kr/%ed%8c%8c%ec%9d%b4%ec%8d%ac/

 

공식사이트

 

정말 고맙게도 동영상 강의도 무료로 제공해주고 있다.

 

동영상

 

혼자서 공부하자니 동기부여가 잘 안된다면

한빛미디어에서 정기적으로 모집하는 "혼공학습단"과 같은 이벤트에 참여하면 경품까지고 노릴 수 있다.

 

 

책 내용도 보면 정말 친절하기 그지없다.

줄 간격도 여유있게 되어 있어서 보기에 부담스럽지 않다.

 

샘플

 

얼마나 친절하냐면,

코딩 전용 폰트 설치하는 것까지 책은 물론이고 동영상으로도 설명을 해준다.

 

코딩 전용 폰트

 

조금 아쉬운 점은 예제소스를 다운로드 받아서 사용해야 한다는 점인데...

사실 github.com에서 검색하면 누군가 올려놓은 소스코드들을 쉽게 찾아볼 수는 있다.

 

예제소스

 

총평하자면,

혼자서 Python을 공부하기에는 가장 최적의 선택

무료 동영상 및 많은 커뮤니티를 통한 다양한 자료 활용 가능

다만, 정말 처음으로 Python을 공부하는 사람에게 적합

중급 이상에게는 너무 쉬운 책

반응형

+ Recent posts