화요일, 9월 29, 2020

[유튜브 방송] (리눅스 업스킬 도전 #12) sftp로 복사하기

[일상다반사] 초보 개발자들을 위한 유튜브 채널 본격 가동에서 설명드린 리눅스 업스킬 도전 프로젝트 12편을 공개해드리겠다. 12편은 파일 전송을 위한 유틸리티인 winscp와 sftp를 설명한다.

2020년 9월 29일자 [리눅스 업스킬 도전 #12] sftp로 복사하기 방송은 다음에서 볼 수 있으며, 전체 방송 플레이리스트는 리눅스업스킬도전에서 확인할 수 있다.

하이라이트를 요약 정리하면 다음과 같다:

  • 00:00 sftp 소개
  • 02:05 단계 1) winscp
  • 06:27 단계 2) sftp

원본 학습자료는 Day 12 - Copying with SFTP를 참고하고, 방송에 사용한 실제 실습 자료는 다음을 참고한다:

  • 단계 1(윈도우)
    1. Winscp 다운로드 후 설치(https://winscp.net/eng/download.php)
    2. 개인 키 등록(*.ppk)
    3. /var/log/apache2 아래 몇몇 파일을 다운로드
    4. 임의 파일을 업로드
  • 단계 2(윈도우 파워셸)
    1. C:\home\myhome> sftp -i keys\development.pem ubuntu@<IP 주소>
    2. sftp> pwd
    3. sftp> dir
    4. sftp> !dir
    5. sftp> get 원격파일이름
    6. sftp> put 지역파일이름
EOB

월요일, 9월 28, 2020

[유튜브 방송] (리눅스 업스킬 도전 #11) 특정 조건으로 파일 찾기

[일상다반사] 초보 개발자들을 위한 유튜브 채널 본격 가동에서 설명드린 리눅스 업스킬 도전 프로젝트 11편을 공개해드리겠다. 11편은 리눅스에서 특정 조건에 해당하는 파일을 찾는 방법을 알기 쉽게 설명한다.

2020년 9월 28일자 [리눅스 업스킬 도전 #11] 특정 조건으로 파일 찾기 방송은 다음에서 볼 수 있으며, 전체 방송 플레이리스트는 리눅스업스킬도전에서 확인할 수 있다.

하이라이트를 요약 정리하면 다음과 같다:

  • 1:20 단계 1) locate, find, which 명령으로 파일을 찾는 방법 설명
  • 8:30 단계 2) grep 명령으로 특정 단어가 들어있는 파일을 찾는 방법과 less 명령을 사용해 gzip으로 압축된 파일 내용을 보는 방법과 find 명령을 사용해 특정 파일 패턴과 일치하는 파일만 삭제하는 방법 설명

원본 학습자료는 Day 11 - Finding things...를 참고하고, 방송에 사용한 실제 실습 자료는 다음을 참고한다:

  • 단계 1
    1. putty로 접속
    2. $ locate access.log
    3. $ find /var -name access.log
    4. $ find /home -mtime 3
    5. $ echo $PATH
    6. $ which vi
    7. $ which nano
  • 단계 2
    1. $ grep -R -i "PermitRootLogin" /etc/*
    2. $ zcat /var/log/*.gz | less
    3. $ zless /var/log/*.gz
    4. $ less /var/log/*.gz
    5. $ echo $LESSOPEN
    6. $ find . -name "*.tmp"
    7. $ find . -name "*.tmp" -exec rm -f {} \;
EOB

[독서광] (유튜브 방송) UX/UI의 10가지 심리학 법칙

오늘은 간만에 UX/UI 관련 책을 하나 소개해드리겠다. 이 책은 유튜브 방송으로 소개를 해드렸기에, 방송 내용과 발표 자료를 첨부하는 것으로 대신하겠다.

이미 많은 애독자분들께서 이벤트에 참가해주셨기에 이 자리를 빌어 다시 한 번 감사드리며, 블로그 독자분들 중에서도 이벤트에 응모하실 분이 계시면 유튜브에 올려드린 이벤트 선물 소개와 응모 방법을 보시고 간단하게 응모해주시면 감사하겠다.

EOF

[개발자 이야기] (9월 26일) 지금까지 본 나쁜 코드 중에서 가장 !@#$한 사례는?

2020년 9월 26일자 방송은 다음에서 볼 수 있으며, 전체 방송 플레이리스트는 재미있는 개발 이야기(w/ 허광남-박재호)에서 확인할 수 있다.

2020년 9월 26일자 방송 스크립트는 전체 공개되어 있으며, 슬라이드셰어에서 보거나 다운로드 받을 수도 있다.

하이라이트를 요약 정리하면 다음과 같다:

  • 0:00 금주 새로운 소식 개괄
  • 4:22 vim의 인기가 올라가고 있다? 어떻게 된 일이지???
  • 7:49 개발자를 위한 추천 도서
  • 8:46 지금까지 본 나쁜 코드 중에서 가장 !@#$한 사례는?
  • 10:54 이상한 오류를 찾는 방법
  • 16:09 webhint.io 웹개발자를 위한 강력한 힌트 서비스
  • 17:01 2020년 마이크로서비스 채택 통계
  • 27:32 웹 성능을 높이기 위한 궁극적인 가이드
  • 29:49 jQuery를 자바스크립트로 변환하는 커닝 페이퍼
EOB

일요일, 9월 27, 2020

[B급 프로그래머] 9월 4주 소식(빅데이터/인공지능, 읽을거리 부문)

(오늘의 짤방: meow via @shirosachou)
  1. 빅데이터/인공지능
  2. 읽을거리
EOB

금요일, 9월 25, 2020

[유튜브 방송] (리눅스 업스킬 도전 #10) 특정 시각에 반복적으로 작업하기

[일상다반사] 초보 개발자들을 위한 유튜브 채널 본격 가동에서 설명드린 리눅스 업스킬 도전 프로젝트 10편을 공개해드리겠다. 10편은 배치 작업을 위한 스케줄러인 crontab과 list-timers의 동작 방식을 알기 쉽게 설명한다.

2020년 9월 23일자 [리눅스 업스킬 도전 #10] 특정 시각에 반복적으로 작업하기 방송은 다음에서 볼 수 있으며, 전체 방송 플레이리스트는 리눅스업스킬도전에서 확인할 수 있다.

하이라이트를 요약 정리하면 다음과 같다:

  • 2:12 단계 1) crontab 살펴보기
  • 5:47 단계 2) list-timers 살펴보기

원본 학습자료는 Day 10 - Getting the computer to do your work for you를 참고하고, 방송에 사용한 실제 실습 자료는 다음을 참고한다:

  • 단계 1
    1. putty로 접속
    2. $ crontab -l
    3. $ less /etc/crontab
    4. $ ls /etc/cron.daily
    5. $ vi /etc/cron.daily/passwd
    6. $ ls -al /var/backups/*.bak
  • 단계 2
    1. $ systemctl list-timers
    2. $ systemctl list-timers --all
    3. $ systemctl status apt-daily.timer
    4. $ ls /etc/systemd/system/timers.target.wants
    5. $ ls -al /etc/systemd/system/timers.target.wants/apt-daily.timer
    6. $ systemctl cat apt-daily.timer
    7. $ systemctl cat apt-daily-upgrade.timer
    8. $ ls /lib/systemd/system/
    9. $ less /lib/systemd/system/apt-daily.service
EOB

목요일, 9월 24, 2020

[유튜브 방송] (리눅스 업스킬 도전 #9) 서비스 포트 관리

[일상다반사] 초보 개발자들을 위한 유튜브 채널 본격 가동에서 설명드린 리눅스 업스킬 도전 프로젝트 9편을 공개해드리겠다. 9편은 서비스 포트를 확인하고 관리하는 방법을 알기 쉽게 설명한다.

2020년 9월 24일자 [리눅스 업스킬 도전 #9] 서비스 포트 관리 방송은 다음에서 볼 수 있으며, 전체 방송 플레이리스트는 리눅스업스킬도전에서 확인할 수 있다.

하이라이트를 요약 정리하면 다음과 같다:

  • 2:05 단계 1) netstat, ss, nmap을 사용한 서비스 포트 확인
  • 12:30 단계 2) netcat을 사용한 간단한 웹 서버 만들고 AWS 보안 그룹을 설정해 외부에 서비스하기

원본 학습자료는 Day 9 - Ports, open and closed를 참고하고, 방송에 사용한 실제 실습 자료는 다음을 참고한다:

  • 단계 1
    1. putty로 접속
    2. $ netstat -na
    3. $ ss -ltp
    4. $ apt install nmap
    5. $ nmap localhost #(주의: 원격 호스트에는 절대로 사용하지 않는다!)
  • 단계 2
    1. AWS 보안 그룹 추가
    2. $ while true; do echo -e "HTTP/1.1 200 OK\n\n $(date)" | nc -l localhost 8090; done
    3. $ curl localhost:8090
EOB

수요일, 9월 23, 2020

[유튜브 방송] (리눅스 업스킬 도전 #8) 문자열 탐색을 위한 grep

[일상다반사] 초보 개발자들을 위한 유튜브 채널 본격 가동에서 설명드린 리눅스 업스킬 도전 프로젝트 8편을 공개해드리겠다. 8편은 문자열 탐색을 위한 grep 명령을 알기 쉽게 설명한다.

2020년 9월 23일자 [리눅스 업스킬 도전 #8] 문자열 탐색을 위한 grep 방송은 다음에서 볼 수 있으며, 전체 방송 플레이리스트는 리눅스업스킬도전에서 확인할 수 있다.

하이라이트를 요약 정리하면 다음과 같다:

  • 1:10 단계 1) cat과 less로 로그 파일 읽기와 tail -f로 로그 파일 감시하기
  • 5:22 단계 2) grep을 사용해 로그 파일 특정 문자열만 검색하고, cut으로 필요한 컬럼만 잘라내기

원본 학습자료는 Day 8 - the infamous "grep"...를 참고하고, 방송에 사용한 실제 실습 자료는 다음을 참고한다:

  • 단계 1
    1. putty로 접속
    2. $ cat /var/log/apache2/access.log
    3. $ less /var/log/apache2/access.log
    4. $ sudo less /var/log/auth.log
    5. $ head /var/log/auth.log
    6. $ tail /var/log/auth.log
    7. $ tail -f /var/log/apache2/access.log # tail의 -f 옵션은 계속 기다리며 결과가 들어오면 스크롤하면서 표준 출력으로 표시
  • 단계 2
    1. $ cat /var/log/auth.log | grep "authenticating"
    2. $ grep "authenticating" /var/log/auth.log
    3. $ grep "authenticating" /var/log/auth.log | grep "root"
    4. $ grep "authenticating" /var/log/auth.log| grep "root"| cut -f 10- -d" " # cut은 특정 필드만 출력
    5. $ grep "authenticating" /var/log/auth.log| grep -v "root"| cut -f 10- -d" " # -v는 "root" 이외 나머지 결과를 출력
EOB

[개발자 이야기] (9월 19일 특집) 2020년 자바 스프링 현황

2020년 9월 19일자 특집 방송은 다음에서 볼 수 있으며, 전체 방송 플레이리스트는 재미있는 개발 이야기(w/ 허광남-박재호)에서 확인할 수 있다.

2020년 9월 19일자 특집 방송 스크립트는 전체 공개되어 있으며, 슬라이드셰어에서 보거나 다운로드 받을 수도 있다.

하이라이트를 요약 정리하면 다음과 같다:

  • 3:31 인구 통계학적인 정보
  • 7:33 개발자들이 스프링부트를 좋아하는 이유와 겪는 어려움
  • 9:53 클라우드 관련 대응
  • 11:45 인기 있는 모듈
  • 13:42 클라우드 네이티브 관련 동향
EOB

화요일, 9월 22, 2020

[유튜브 방송] (리눅스 업스킬 도전 #7) 웹 서버인 아파치 설치

[일상다반사] 초보 개발자들을 위한 유튜브 채널 본격 가동에서 설명드린 리눅스 업스킬 도전 프로젝트 7편을 공개해드리겠다. 7편은 우분트 패키지로 아파치를 설치하고 설정 파일을 확인하는 방법을 알기 쉽게 설명한다.

2020년 9월 22일자 [리눅스 업스킬 도전 #7] 웹 서버인 아파치 설치 방송은 다음에서 볼 수 있으며, 전체 방송 플레이리스트는 리눅스업스킬도전에서 확인할 수 있다.

하이라이트를 요약 정리하면 다음과 같다:

  • 0:30 단계 1) apt로 apache2를 설치하고 systemctl로 서비스 관리하기
  • 3:24 단계 2) 환경 설정 파일을 확인해서 웹 페이지 위치와 로그 파일 위치 확인하기
  • 9:28 단계 3) EC2 보안 그룹 설정에서 HTTP(80번 포트)를 열고 웹 브라우저로 접속하기

원본 학습자료는 Day 7 - Installing Apache를 참고하고, 방송에 사용한 실제 실습 자료는 다음을 참고한다:

  • 단계 1
    1. putty로 접속
    2. $ sudo apt update
    3. $ sudo apt install apache2 # 아파치 설치
    4. $ sudo systemctl stop apache2 # 아파치 서비스 중지
    5. $ sudo systemctl start apache2 # 아파치 서비스 시작
    6. $ sudo systemctl status apache2 # 아파치 서비스 상태 확인
  • 단계 2
    1. $ vim /etc/apache2/apache2.conf
    2. 설정 파일에서 IncludeOptional sites-enabled/*.conf 확인
    3. sites-enabled/ 디렉토리 아래 설정 파일을 열어 DocumentRoot로 정의된 기본 웹 페이지 위치 확인
    4. $ vi /var/www/html/index.html # index.html 파일 확인
    5. $ curl localhost # 셸에서 현재 설치된 아파치 서비스에 접속해 index.html 파일 가져오기
    6. /var/log/apache2 디렉토리 아래 access.log 파일에서 접속 확인
  • 단계 3
    1. AWS 보안 그룹에서 HTTP(80번 포트) 열기
    2. 내 컴퓨터에서 웹 브라우저로 접속 시도
    3. access.log에서 접속 확인
EOB

[유튜브 방송] (개발자 영어 #2) 개발 과정에서 클린한 코드 문서화 방법

초보 개발자들을 위한 유튜브 채널 본격 가동에서 처음으로 소개드린 [개발자 영어 #3] '영어 정보 찾기와 읽기'에 대한 호응이 좋아서 새로 총 4부로 되어 있는 원본 영상을 3부로 줄여서 새로 녹화를 진행하고 있다. 지난 번 1편에 이어 오늘은 2편을 공개해드리겠다.

2020년 9월 20일자 [개발자 영어 #2] '개발 과정에서 클린한 코드 문서화 방법' 방송은 다음에서 볼 수 있으며, 전체 방송 플레이리스트는 개발자 영어에서 확인할 수 있다.

하이라이트를 요약 정리하면 다음과 같다:

  • 0:55 읽기 좋은 코드 작성하기
  • 11:43 코드 주석 제대로 작성하기
  • 16:29 깃 커밋 메시지 제대로 작성하기
EOB

월요일, 9월 21, 2020

[유튜브 방송] (리눅스 업스킬 도전 #6) vim 익숙해지기

[일상다반사] 초보 개발자들을 위한 유튜브 채널 본격 가동에서 설명드린 리눅스 업스킬 도전 프로젝트 6편을 공개해드리겠다. 6편은 vim 기초를 알기 쉽게 설명한다.

2020년 9월 21일자 [리눅스 업스킬 도전 #6] vim 익숙해지기 방송은 다음에서 볼 수 있으며, 전체 방송 플레이리스트는 리눅스업스킬도전에서 확인할 수 있다.

하이라이트를 요약 정리하면 다음과 같다:

  • 1:41 단계 1) /etc/services를 복사하고 vi로 커서 이동해보기
  • 5:38 단계 2) 명령 모드로 전환해서 행을 지우고, 가장 첫 행과 마지막 행으로 이동하고 특정 문자열을 검색하고, 복사해서 붙여넣기
  • 9:17 단계 3) 삽입 모드로 전환해서 글자를 입력해보기

원본 학습자료는 Day 6 - Editing with "vim"를 참고하고, 방송에 사용한 실제 실습 자료는 다음을 참고한다:

  • 단계 1
    1. putty로 접속
    2. $ cd로 홈페이지 이동
    3. $ pwd로 현재 디렉토리 위치 확인
    4. $ cp -v /etc/services testfile 명령을 내려 services 파일을 현재 디렉토리의 testfile로 복사
    5. $ vim testfile로 vim 시작
    6. 화살표키 또는 hjkl로 커서 키 이동하기
    7. q!로 vi에서 나오기
  • 단계 2
    1. 다시 $ vim testfile 명령으로 vim 들어가기
    2. ESC-ESC를 연속으로 눌러 명령 모드로 전환
    3. 33dd를 눌러 현재 커시 위치부터 아래로 33행을 지움
    4. [명령 모드에서 u를 누르면 마지막 작업 취소
    5. 명령 모드에서 G를 누르면 파일의 끝으로 이동
    6. 명령 모드에서 gg를 누르면 파일의 처음으로 이동
    7. 명령 모드에서 검색은 /를 누른 다음 찾을 글자 입력, 계속 검색하려면 n을 누름
    8. 명령 모드에서 dd는 행 삭제, yy는 행 복사, p는 현재 위치에서 아래에 붙여넣기
  • 단계 3
    1. i를 누르면 현재 커서 위치에서 삽입 모드로 전환되며, a를 누르면 현재 커서 다음 위치에서 삽입 모드로 전환되므로 이제부터는 글자 입력 가능
    2. o를 누르면 아래 빈행이, O를 누르면 위에 빈 행이 만들어지고 삽입 모드로 전환되므로 글자 입력 가능
    3. ESC-ESC를 눌러 명령 모드로 전환
    4. :w 또는 wq를 눌러 쓰기 또는 쓰고 나오기
EOB

[개발자 이야기] (9월 19일) 깃허브가 취업에 도움이 되지 않는 이유

2020년 9월 19일자 방송은 다음에서 볼 수 있으며, 전체 방송 플레이리스트는 재미있는 개발 이야기(w/ 허광남-박재호)에서 확인할 수 있다.

2020년 9월 19일자 방송 스크립트는 전체 공개되어 있으며, 슬라이드셰어에서 보거나 다운로드 받을 수도 있다.

하이라이트를 요약 정리하면 다음과 같다:

  • 4:21 깃허브가 취업에 도움이 되지 않는 이유
  • 10:16 LibHunt: 라이브러리/프레임워크 비교의 끝판왕
  • 12:26 웹이 점점 느려지고 있을까?
  • 16:05 Deno 1.4 출시!
  • 17:42 수학과 함께하는 AI 기초 by EBS
  • 19:20 젯브레인의 자바 뉴스레터(09/2020)
  • 21:08 Endlessh – SSH 끈끈이
  • 22:13 몇몇 유닉스 명령어 이름의 기원
EOB

토요일, 9월 19, 2020

[B급 프로그래머] 9월 3주 소식(개발/관리도구, 고성능 서버/데이터베이스 부문)

(오늘의 짤방: $ ls ~ VS $ ls -a ~ via @nixcraft)
  1. 개발/관리도구
  2. 고성능 서버/데이터베이스
(보너스: On a wing and a prayer via @memenetes)
EOB

금요일, 9월 18, 2020

[유튜브 방송] (리눅스 업스킬 도전 #5) 탭/화살표 사용법과 숨겨진 파일

[일상다반사] 초보 개발자들을 위한 유튜브 채널 본격 가동에서 설명드린 리눅스 업스킬 도전 프로젝트 5편을 공개해드리겠다. 5편은 파일/디렉토리 이름을 자동완성하기 위한 탭 사용과 히스토리 검색을 위한 화살표/! 사용과 숨겨진 파일을 보기 위한 방법을 알기 쉽게 설명한다.

2020년 9월 18일자 [리눅스 업스킬 도전 #5] 탭/화살표 사용법과 숨겨진 파일 방송은 다음에서 볼 수 있으며, 전체 방송 플레이리스트는 리눅스업스킬도전에서 확인할 수 있다.

하이라이트를 요약 정리하면 다음과 같다:

  • 0:35 단계 1) 탭을 사용한 자동 완성 기능과 화살표와 !를 사용한 히스토리 기능 활용
  • 4:58 단계 2) 숨겨진 파일을 열거하고 내용을 살펴보기

원본 학습자료는 Day 5 - More or less...를 참고하고, 방송에 사용한 실제 실습 자료는 다음을 참고한다:

  • 단계 1
    1. putty로 접속
    2. $ less /etc/serv 에서 탭을 눌러 /etc/services를 자동으로 완성해보기
    3. 위 화살표와 아래 화살표를 눌러 직전에 내린 명령어로 돌아가기
    4. $ history 명령을 내려 지금까지 내린 명령 보기
    5. ! 뒤에 history에 나온 숫자를 붙여 원하는 명령 다시 실행하기
    6. $ !! 명령으로 직전 명령 다시 실행하기
  • 단계 2
    1. $ ls -al 명령으로 홈 디렉토리에서 숨겨진 파일을 찾아보기
    2. .bashrc와 .bash_history 내용을 less와 more로 보기
EOB

목요일, 9월 17, 2020

[유튜브 방송] (리눅스 업스킬 도전 #4) 새로운 애플리케이션 설치하기

[일상다반사] 초보 개발자들을 위한 유튜브 채널 본격 가동에서 설명드린 리눅스 업스킬 도전 프로젝트 4편을 공개해드리겠다. 4편은 미드나잇 커맨드(mc)를 설치하고 활용하는 방법을 알기 쉽게 설명한다.

2020년 9월 17일자 [리눅스 업스킬 도전 #4] 새로운 애플리케이션 설치하기 방송은 다음에서 볼 수 있으며, 전체 방송 플레이리스트는 리눅스업스킬도전에서 확인할 수 있다.

하이라이트를 요약 정리하면 다음과 같다:

  • 0:58 단계 1) apt로 미드나잇 커맨드 검색 후 설치
  • 2:20 단계 2) 미드나잇 커맨드로 셸을 대신해 다양한 작업하기

원본 학습자료는 Day 4 - Installing software, exploring the file structure를 참고하고, 방송에 사용한 실제 실습 자료는 다음을 참고한다:

  • 단계 1
    1. putty로 접속
    2. $ apt search "midnight command" 명령으로 미드나잇 커맨드 검색
    3. $ sudo apt install mc 명령으로 미드나잇 커맨드 설치하기
  • 단계 2
    1. $ mc 명령을 내려서 /root /home /sbin /etc /var/log 디렉토리 확인
    2. F3을 눌러 선택한 파일 내용 보기
    3. F4를 눌러 선택한 파일 편집 하기
    4. F7을 눌러 디렉토리 만들기
    5. 탭을 눌러 좌우 전환 그리고 F5를 눌러 파일 복사하기
    6. F8을 눌러 파일 삭제하기
    7. F10을 눌러 셸로 돌아오기
EOB

수요일, 9월 16, 2020

[유튜브 방송] (리눅스 업스킬 도전 #3) 파일 접근 허가와 sudo 명령 그리고 시간대

[일상다반사] 초보 개발자들을 위한 유튜브 채널 본격 가동에서 설명드린 리눅스 업스킬 도전 프로젝트 3편을 공개해드리겠다. 3편은 파일 접근 허가, sudo 명령, 그리고 시간대에 대한 내용을 알기 쉽게 설명한다.

2020년 9월 16일자 [리눅스 업스킬 도전 #3] 파일 접근 허가와 sudo 명령 그리고 시간대 방송은 다음에서 볼 수 있으며, 전체 방송 플레이리스트는 리눅스업스킬도전에서 확인할 수 있다.

하이라이트를 요약 정리하면 다음과 같다:

  • 1:32 단계 1) 파일 접근 허가
  • 6:55 단계 2) sudo로 루트 셸 얻기, less /var/log/auth.log 명령으로 sudo 명령 결과 확인
  • 12:37 단계 3) nano로 컴퓨터 이름 변경하기
  • 15:10 단계 4) timedatectl로 사용 가능한 시간대와 현재 시간대 출력

원본 학습자료는 Day 3 - Power trip!을 참고하고, 방송에 사용한 실제 실습 자료는 다음을 참고한다:

  • 단계 1
    1. putty로 접속
    2. $ ls -l /etc/shadow 명령으로 파일 접근 허가 확인
    3. $ cat /etc/shadow 명령으로 파일 읽기 시도
    4. $ sudo less /etc/shadow 명령으로 파일 읽기 시도
  • 단계 2
    1. $ uptime 명령으로 재시작 이후 서버가 얼마나 오래 동작 중인지 확인
    2. $ sudo -i 명령으로 루트 계정 얻기, $ sudo /bin/bash와 $ sudo su -도 마찬가지
    3. $ exit, $ logout, CTRL+D로 루트 계정에서 일반 계정으로 빠져나가기
    4. $ less /var/log/auth.log 명령으로 sudo 명령을 내린 결과를 확인
    5. $ grep "sudo" /var/log/auth.log 명령으로 sudo만 필터링
  • 단계 3
    1. $ sudo nano /etc/hostname 명령으로 호스트 이름 변경
    2. $ sudo nano /etc/hosts 명령으로 기존 컴퓨터 이름을 변경
  • 단계 4
    1. $ timedatectl list-timezones 명령으로 사용 가능한 시간대를 출력
    2. $ timedatectl로 현재 시간대 출력
    3. AWS와 같은 퍼블릭 클라우드에서는 UTC를 사용해야 하는 이유를 고민
EOB

화요일, 9월 15, 2020

[유튜브 방송] (리눅스 업스킬 도전 #2) 디렉토리 이동과 파일 목록 보기

[일상다반사] 초보 개발자들을 위한 유튜브 채널 본격 가동에서 설명드린 리눅스 업스킬 도전 프로젝트 2편을 공개해드리겠다. 2편은 디렉토리 이동과 파일 목록 보기에 대한 내용을 알기 쉽게 설명한다.

2020년 9월 15일자 [리눅스 업스킬 도전 #2] 디렉토리 이동과 파일 목록 보기 방송은 다음에서 볼 수 있으며, 전체 방송 플레이리스트는 리눅스업스킬도전에서 확인할 수 있다.

하이라이트를 요약 정리하면 다음과 같다:

  • 2:15 단계 1) putty 접속 후 pwd와 cd 명령 익히기
  • 8:21 단계 2) ls 명령의 다양한 옵션 확인하고 mkdir로 디렉토리 만들기
  • 11:35 단계 3) man(매뉴얼 페이지)로 명령어 옵션 확인하기

원본 학습자료는 Day 2 - Basic navigation을 참고하고, 방송에 사용한 실제 실습 자료는 다음을 참고한다:

  • 단계 1
    1. putty로 접속
    2. $ pwd 명령으로 현재 위치 확인
    3. $ cd /var/log 명령 후 pwd 명령으로 위치 확인
    4. $ cd .. 명령으로 상위 디렉토리로 이동 다시 $ pwd 명령으로 위치 확인
    5. $ cd 명령으로 자신의 홈 디렉토리로 이동. $ cd $HOME과 $ cd ~ 명령도 홈 디렉토리로 이동
  • 단계 2
    1. $ ls -a 명령으로 숨겨진 파일 확인(.으로 시작)
    2. $ ls -lta 명령으로 현재 디렉토리에 존재하는 전체 파일/디렉토리 목록을 시간 순으로 정렬해서 표시
    3. $ ls -ltar 명령으로 가장 최근에 변경한 파일을 마지막에 표시
    4. $ mkdir test로 test 폴더 생성
  • 단계 3
    1. $ man pwd로 매뉴얼 페이지 확인
    2. $ man ls로 매뉴얼 페이지 확인
EOB

월요일, 9월 14, 2020

[유튜브 방송] (리눅스 업스킬 도전 #1) 서버에 접속해보자!

[일상다반사] 초보 개발자들을 위한 유튜브 채널 본격 가동에서 설명드린 리눅스 업스킬 도전 프로젝트 1편을 공개해드리겠다. 1편은 AWS 가입부터 SSH 로그인까지 단계 별로 수행하는 절차를 알기 쉽게 설명한다.

2020년 9월 14일자 리눅스 업스킬 도전 #1] 서버에 접속해보자! 방송은 다음에서 볼 수 있으며, 전체 방송 플레이리스트는 리눅스업스킬도전에서 확인할 수 있다.

하이라이트를 요약 정리하면 다음과 같다:

  • 6:02 AWS 가입
  • 12:06 AWS 콘솔 로그인 후 EC2 생성
  • 24:47 Putty 설치 Puttygen으로 개인키 변환, Putty로 접속
  • 36:31 콘솔 로그인 후 패키지 업그레이드와 업데이트, 그리고 몇 가지 기본 명령어 활용법

원본 학습자료는 Day 1 - Accessing your server을 참고하고, 방송에 사용한 실제 실습 자료는 다음을 참고한다:

  • 단계 1: [웹]
    1. AWS에 접속해서 새로운 계정을 생성한다. 주의) VISA/마스터 신용카드가 필요하며, Free tier만 사용할 경우 요금이 부과되지 않지만 다른 작업을 할 경우 요금이 부과된다!
    2. AWS 가입시 지원 플랜은 Basic Plan/Free를 선택
    3. EC2 생성: 인스턴스는 t2.micro로(free tier 문구가 표시됨), 운영체제는 우분투 18.04 LTS 지정, 보안 그룹은 일단 SSH만 전체 개방, 키 다운로드 과정에서 pem 파일 저장(나중에 ssh로 접속할 때 사용), 인스턴스 생성후 공개 IP 주소 확인
  • 단계 2: [윈도우]
    1. Putty를 64비트 installer 버전으로 설치
    2. Puttygen으로 pem 파일을 ppk 파일로 변환(Conversion 메뉴 사용)
    3. Putty에 IP 주소와 개인키 등록
    4. Putty로 접속하기
  • 단계 3: [Putty]
    1. 배시 셸에서 다음 명령을 내려보기
      $ sudo apt update
      $ sudo apt upgrade -y
      $ ls
      $ uptime
      $ free
      $ df -h
      $ uname -a
      
EOB

[B급 프로그래머] 2020년 9월 12일 개발자 이야기

2020년 9월 12일자 방송은 다음에서 볼 수 있으며, 전체 방송 플레이리스트는 재미있는 개발 이야기(w/ 허광남-박재호)에서 확인할 수 있다.

2020년 9월 12일자 방송 스크립트는 전체 공개되어 있으며, 슬라이드셰어에서 보거나 다운로드 받을 수도 있다.

하이라이트를 요약 정리하면 다음과 같다:

  • 5:56 Jay, 초보 개발자를 위한 유튜브 채널 본격 가동
  • 8:07 (나무위키발 사고) 기술부채는 아마추어들이나 하는 짓?
  • 10:42 웹 기술로 만든 hwp 뷰어
  • 11:45 구글 프로덕트 매니저가 알려주는 기획서 작성 꿀팁
  • 16:14 MySQL 8.0 업그레이드 전 짚어봐야할 몇 가지!
  • 18:59 깃허브 저장소 기본 브랜치 이름 변경(master에서 main으로)
  • 21:37 30초짜리 코드 – 훔쳐볼 짧은 코드 조각기
  • 23:29 무식한 방법으로 암호 해제에 걸리는 시간
EOB

토요일, 9월 12, 2020

[유튜브 방송] (개발자 영어 #1) 개발자에게 영어가 중요한 이유 그리고 멋진 영어 사이트 소개

초보 개발자들을 위한 유튜브 채널 본격 가동에서 처음으로 소개드린 [개발자 영어 #3] '영어 정보 찾기와 읽기'에 대한 호응이 좋아서 새로 총 4부로 되어 있는 원본 영상을 3부로 줄여서 새로 녹화를 진행하고 있다. 뜨거운 성원에 힘입어 오늘은 1편을 공개해드리겠다.

2020년 9월 12일자 [개발자 영어 #1] '개발자에게 영어가 중요한 이유 그리고 멋진 영어 사이트 소개' 방송은 다음에서 볼 수 있으며, 전체 방송 플레이리스트는 개발자 영어에서 확인할 수 있다.

하이라이트를 요약 정리하면 다음과 같다:

  • 3:44 개발자에게 영어가 중요한 이유?
  • 20:28 사례: 좋은 코드 저장소(GitHub)
  • 21:54 사례: 좋은 블로그들
  • 24:12 사례: 좋은 개발자 커뮤니티(스택오버플로우)
  • 26:14 사례: 좋은 튜토리얼(디지털오션, 모질라)
  • 28:26 사례: 좋은 개발 유튜브
  • 30:22 사례: 메일링 리스트
  • 31:49 사례: RFC, W3C, man page
  • 34:32 사례: 온라인 PDF 서적
  • 35:53 사례: 위키(우분투, MSDN)

방송에 나오는 링크를 정리했다:

유튜브 채널 구독은 [ https://www.youtube.com/channel/UCajnLt9NyrPI8txIiefinzw ]에서!

EOB

[B급 프로그래머] 9월 2주 소식(빅데이터/인공지능, 읽을거리 부문)

(오늘의 짤방: Managing oneself by Peter Drucker. via @abhikrdel)
  1. 빅데이터/인공지능
  2. 읽을거리
      EOB

수요일, 9월 09, 2020

[일상다반사] 초보 개발자들을 위한 유튜브 채널 본격 가동

지난 1년 동안 개발 소식을 빠르고 정확하게 전달하기 위해 OKdevTV에서 매주 실시간으로 재미있는 개발 이야기를 진행해오고 있었는데, 구독자가 많이 늘어나고 호응도 좋았기에 이에 용기를 얻어 초보 개발자들을 위한 유튜브 채널을 운영하려고 한다.

우선 본격 가동 기념으로 대학교 특강에 사용한 개발자 영어 시리즈 중 학생들의 관심이 집중되었고 개발자 여러분들께도 흥미로울 [개발자 영어 #3] '영어 정보 찾기와 읽기'를 전체 공개해드린다. 개발자 영어 관련 특강이 필요한 경우 이메일(jrogue@gmail.com)로 문의해주시면 된다.

9월 14일(월)부터는 Introduction to Linux Server Administration! 자료를 참고해 초보 개발자를 위해 리눅스 기초와 셸 기초를 설명하는 리눅스 업스킬 도전 프로젝트를 총 21회에 걸쳐 진행할 계획이니 많은 구독과 시청 부탁드린다. 산전수전 다 겪은 리눅스 전문가가 어떻게 당면 과제를 해결하는지 옆에서 지켜보는 재미가 쏠쏠할 것이라고 자신있게 말씀드릴 수 있다. 유튜브 채널 구독은 [ https://www.youtube.com/channel/UCajnLt9NyrPI8txIiefinzw ]에서!

EOB

월요일, 9월 07, 2020

[B급 프로그래머] 2020년 9월 5일 개발자 이야기

2020년 9월 5일자 방송은 다음에서 볼 수 있으며, 전체 방송 플레이리스트는 재미있는 개발 이야기(w/ 허광남-박재호)에서 확인할 수 있다.

2020년 9월 5일자 방송 스크립트는 전체 공개되어 있으며, 슬라이드셰어에서 보거나 다운로드 받을 수도 있다.

하이라이트를 요약 정리하면 다음과 같다:

  • 4:43 오픈소스를 비즈니스화 하는 방법
  • 8:58 개발자들이 꼭 알아야하는 데이터베이스 지식
  • 10:17 개발자를 위한 MySQL 커닝 페이퍼
  • 12:25 웹사이트 속도가 왜 중요할까?
  • 18:03 꼭 설정해야 하는 10가지 멋진 크롬 플래그
  • 21:50 반응형 웹 페이지 테스트 도구
  • 24:12 IT 기업 기술 블로그 45곳 소개
  • 30:13 윈도우 10에서 자동 실행 목록 보기
EOB

토요일, 9월 05, 2020

[B급 프로그래머] 9월 1주 소식(개발/관리도구, 고성능 서버/데이터베이스 부문)

(오늘의 짤방: 2020년인데 파이썬 2 코딩하는 드라마를 만들다니 via @lyomi)
  1. 개발/관리도구
  2. 고성능 서버/데이터베이스
보너스: [마틴 파울러] 소프트웨어 아키텍쳐의 중요성 (한글 자막)
EOB

수요일, 9월 02, 2020

[일상다반사] 오프라인으로 PDF 파일을 회전/결합/압축하려면?

최근에 PDF 문서를 제출할 일이 있어서 이런 저런 작업을 하다보니 오프라인 유틸리티가 필요했다. 물론 아크로뱃을 구입하면 대다수 문제가 한 번에 해결되긴 하지만, 간단한 작업을 하기 위해 굳이 복잡한 도구를 동원할 필요가 없어서 구글의 도움을 받아 윈도우 10에서 동작하는 프로그램을 찾아보았다. 의외로 온라인 서비스가 잘 되있다 보니까 오프라인 유틸리티가 많지는 않지만, 그래도 나중을 위해 기록 차원에서 남겨둔다.

먼저 문서를 회전하거나 다른 형식(HTML, word, TXT)으로 변환해야 할 경우에는 PDFMate PDF Converter를 사용하자. Free 버전이라 기능상으로 제약이 있긴 하지만 간단한 작업에는 문제가 없었다.

다음으로 PDF 문서 여러 장을 결합해야 하는 경우에는 PDF Merge Tool을 사용하자. 결합할 파일을 차례로 등록하고 변환 버튼만 누르면 끝난다(기능은 이게 전부다!).

이렇게 하고 나면 파일 크기가 커질 것이다. 마지막 주자인 Free PDF Compressor를 사용하면 화면/이북/프린터 해상도에 맞춰 파일을 압축할 수 있다(주의: 압축을 과도하게 하면 문서를 못알아보게 깨지는 버그가 있다).

리눅스를 사용할 경우에는 pdftk, pdfarranger, PDF Chain을 고려해봄직하다(실제 사용해보지는 않았다). 기능이 각각 분리되어 있는 윈도우 도구와는 달리 여러 기능이 통합되어 있다는 차이점도 눈에 띈다.

EOB