mac 

xcrun: error: invalid active developer path (/Library/Developer/CommandLineTools), missing xcrun at: /Library/Developer/CommandLineTools/usr/bin/xcrun

 해결

xcode-select --install

 

VirtualBox 에서 네트워크가 무엇인지 알고싶어서 작성한다.

 

연결되지않음

장비 내 네트워크 카드가 존재하지만 케이블이 연결되지 않는 것과  동일하게 여겨진다.

 

NAT(Network Address Transition)

IP패킷의  TCP/UDP 포트 숫자와 소스 및 목적지의 IP 주소등을 재기록하면서 라우터를 통해 네트워크 트래픽을 주고 받는 기술

 

패킷의 변화가 생기기때문에 IP나  TCP/UDP의 Checksum 도 다시 계산되어 재기록 되어야한다

 

NAT를 사용하는 목적

  1. 인터넷의 공인 IP주소를 절약
  2. 인터넷이란 공공망(Public)과 연결되는 사용자들의 고유한 사설망(Private)을 침입자들로부터 보호

NAT네트워크

  • 가상머신 내부 네트워크 -> Host PC 외부 네트워크 단방향 통신 가능
  • Host PC 내의 가상 머신 간의 통신 가능

해당모드는 NAT와 비슷하지만 Host PC 내의 가상 머신끼리 통신이 가능하다는 점이 다르다.  가상 머신 간으 상호통신이 필요한 작업이 있다면 해당 모드를 사용해야 한다.

 

어댑터에 브릿지

  • Host PC 와 동등한 수준의 네트워크 구성
  • 추가 IP할당이 필요함

 

내부네트워크

  •  Host PC와 독립적인 내부네트워크
  • 동일한 Host PC 내의 가상머신간의 연결이 가능
  •  

 

호스트전용 어댑터(Host Only Adapter)

  • Host PC를 포함한 내부 네트워크
  • 외부네트워크는 단절
  • 동일 Host PC내의 가상 머신 간의 통신 가능

 

 

일반드라이버

  • 거의 사용되지 않는 모드
  • UDP Tennel networking 과 VDE(Virtual Distributed Ethenet) 지원

 

참고로 아래 6개 종류의 Ethernet card만 위의 가상화 모드 설정이 가능하다.

    • AMD PCNet PCI II (Am79C970A)
    • AMD PCNet FAST III (Am79C973, the default)
    • Intel PRO/1000 MT Desktop (82540EM)
    • Intel PRO/1000 T Server (82543GC)
    • Intel PRO/1000 MT Server (82545EM)
    • ParaVirtualized Network Adapter (Virtio-net)
https://jwprogramming.tistory.com/30

virtual box에서의 네트워크 환경 구성 특징
https://technote.kr/213

 

'Infrastructure' 카테고리의 다른 글

CentOS7 GUI Install  (0) 2020.07.11
CentOS7 Node.js Install  (0) 2020.06.01
[Linux/Centos7] 자주쓰는 기본 명령어  (0) 2020.01.12
[Linux]CentOS7 콘솔 키보드 조작  (0) 2020.01.08
[Linux] CentOS7 디렉토리 역할  (2) 2020.01.08

자주쓰는 명령어 모음

pwd (print working directory)

현재 위치한 디렉토리 출력

$ pwd /c/Users/Snetsystems

 

cd (change directory)

경로 이동

$ cd

 

ls (list)

현재 위치한 디렉토리 내의 목록을 확인

$ ls

 

cat (concatenate)

파일 보기

$ cat

 

mkdir (make directory)

디렉토리 생성

$ mkdir

 

touch

최신 수정일로 변경

$ touch

 

rm (remove)

삭제

$ rm

 

head

해당 파일 열람

$ head

 

tail

해당 파일 열람

$ tail

 

find

문자로 파일, 폴더 찾기

$ find

 

grep

$ grep


시스템/프로세스 관련

top

문자로 파일, 폴더 찾기

$ top

 

shutdown

ACPI 신호를 보내 시스템 전원을 끔으로써 시스템 종료

$ shutdown -h now

 

halt

하드웨어가 CPU 사용을 중지함으로써 시스템 종료

$ halt

 

reboot

시스템 재부팅

$ reboot

 

tar

centOS 압축 프로그램

$ tar

 

arp (address resolution protocol)

문자로 파일, 폴더 찾기

$ arq

 


네트워크 관련

ping(Packet Internet Groper)

문자로 파일, 폴더 찾기

$ ping

 

ifconfig(interface config)

문자로 파일, 폴더 찾기

$ ifconfig

 

route

문자로 파일, 폴더 찾기

$ route

 

netstat

시스템에 연결된 소켓정보 출력

$ netstat

 

traceroute, tracepath

네트워크 경로 추적

$ tranceroute //tracepath

 

hostname

host 정보 출력

$ hostname

 

nslookup

$ nslookup

 

다운로드

$ yum install bind-utils

 

명령어로 등록

$ yum provides '\*bin/nslookup'


※ 자세한 정보

General Commands

CommandDescription

arpaname translate IP addresses to the corresponding ARPA names
delv DNS lookup and validation utility
dig DNS lookup utility
dnstap-read print dnstap data in human-readable form
host DNS lookup utility
nslookup query Internet name servers interactively
nsupdate Dynamic DNS update utility

System Administration

CommandDescription

ddns-confgen ddns key generation tool
genrandom generate a file containing random data
isc-hmac-fixup fixes HMAC keys generated by older versions of BIND
named-checkzone zone file validity checking or converting tool
named-compilezone alias for named-checkzone
named-nzd2nzf Convert an NZD database to NZF text format
nsec3hash generate NSEC3 hash
tsig-keygen alias for ddns-confgen

 


리눅스의 명령어와 디렉토리가 가지는 의미를 디테일하게 알 수 있는 곳

https://no05s.tistory.com/34


리눅스 명령어 (디테일한 설명)

https://se.uzoogom.com/97


자주쓰는 리눅스 명령어 모음

https://itholic.github.io/linux-basic-command/

'Infrastructure' 카테고리의 다른 글

CentOS7 Node.js Install  (0) 2020.06.01
Network  (0) 2020.01.22
[Linux]CentOS7 콘솔 키보드 조작  (0) 2020.01.08
[Linux] CentOS7 디렉토리 역할  (2) 2020.01.08
[Linux] CentOS7 네트워크 설정하기  (0) 2020.01.07

스크롤 조작 : Scroll controll

Shift + Page Up : Scroll Up

Shift + Page Dn : Scroll Down

커서조작 : Cursor control

Ctrl + K : 커서 오른쪽의 문자들을 버퍼에 저장 후 삭제

Ctrl + U : 커서 왼쪽의 문자들을 버퍼에 저장 후 삭제

Ctrl + Y : 버퍼의 내용 붙여넣기

 

 

 

http://rcasio80.blogspot.com/2015/02/blog-post.html

 

 

'Infrastructure' 카테고리의 다른 글

Network  (0) 2020.01.22
[Linux/Centos7] 자주쓰는 기본 명령어  (0) 2020.01.12
[Linux] CentOS7 디렉토리 역할  (2) 2020.01.08
[Linux] CentOS7 네트워크 설정하기  (0) 2020.01.07
SALTSTACK 시작하기[1] - 쓰는 중  (0) 2019.10.25

CentOS7 minimal 설치 후 최상위 루트로 가서 어떤 목록이 있는 지 목격하였고, 과연 이 목록들이 존재하는 이유가 뭘까? 에 대한 지극히 개인적인 궁금증으로 정리하고 게시해봅니다.

 

최상위
├─ bin 
├─ dev 
├─ home 
├─ lib64 
├─ mnt 
├─ proc 
├─ srv 
├─ tmp 
├─ var 
├─ boot 
├─ etc 
├─ lib 
├─ media 
├─ opt 
├─ root 
├─ sbin 
├─ sys 
└─ usr

 

기본 명령어가 위치

컴퓨터의 일반적인 작동에 필수적인 시스템 바이너리 파일이 들어있습니다.

/bin

 

장치를 사용할때 필요한 특수파일이 위치

hda, hdb, hdc, hdd:하드, CDROM, fd0:플로피 ttyS0, ttyS1..:com포트, sda, sdb..:스카시장치, lp0:프린터

/dev

 

각 계정의 이용자가 사용하는 공간

/home

 

CDROM, 플로피등의 장치의 마운트 포인트를 제공함

/mnt

 

가상파일 시스템으로 프로세스와 시스템 정보를 제공

파일명으로 존재하는 디렉토리는 커널정보를 숫자로 존재하는 디렉토리는 현재 실행되고 있는 프로세스의 정보를 담고 있음.

/proc

 

런타임 변수

데이터: 마지막으로 부팅한 후 실행중인 시스템에 대한 정보 ex) 현재 로그인한 사용자 및 실행중인 데몬

/run

 

제공 폴더

ftp, rsync, www, cvs 등과 같은 프로토콜을 위한 시스템에서 제공할 영역의 특정 데이터를 보유하고 있습니다.

/srv

 

임시저장소

시스템 재구동시 모두 삭제되며, 프로세스 진행 중 필요에 의해 임시로 저장

/tmp

 

변수

시스템이 실행될 때 변하는 모든 파일들을 저장합니다. 로그파일, 백업, 메일, 캐시 등등을 저장합니다.

/var

 

커널이미지가 존재하는 곳

/boot

 

애플리케이션 및 서버 프로그램의 환경설정에 필요한 설정파일 저장

/etc

 

부팅과 시스템 운영에 필요한 공유라이브러리 및 커널 모듈저장

/lib

 

디렉토리 추가

이동식 저장장치에 의해 디렉토리가 추가되었을 때 새롭게 디렉토리를 저장할 때 사용한다.

/media

 

덩치가 너무 큰 몇몇 리눅스 패키지를 설치할때 사용함

/media

 

root의 홈디렉토리

가능한 많은 데이터를 저장하지 않는 것이 좋음

/root

 

시스템 운영에 사용되는 명령어가 들어있음

/bin 과 유사하지만, Root user 위해 바이너리 실행 준비가 예약되어있는 것이 다르다.

/sbin

 

PnP 구성에 사용

sysfs 파일시스템은 /sys 에 마운트됨

/sys

 

유저정보 관련

모든 사용자 응용 프로그램에 대한 모든 바이너리, 문서, 라이브러리 및 헤더 파일이 있습니다

/usr

 

 

https://no05s.tistory.com/34

https://www.nixtutor.com/linux/understanding-the-linux-directory-layout/

'Infrastructure' 카테고리의 다른 글

Network  (0) 2020.01.22
[Linux/Centos7] 자주쓰는 기본 명령어  (0) 2020.01.12
[Linux]CentOS7 콘솔 키보드 조작  (0) 2020.01.08
[Linux] CentOS7 네트워크 설정하기  (0) 2020.01.07
SALTSTACK 시작하기[1] - 쓰는 중  (0) 2019.10.25

VirtualBox 에서 CentOS7 를 설치하셨다면 아래의 [더보기]를 눌러주세요!

 

Why?

CentOS minimal install 경우 최소한의 설치만 이루어지기때문에 네트워크를 수동 설정을 해주어야 합니다.

 

편집기로 네트워크 설정 열기

# vi /etc/sysconfig/network-scripts/ifcfg-eth0

 

편집기로 네트워크 설정 편집하기

ONBOOT가 기본값이 no로 되어있을테니 yes로 수정 후 저장하고 닫습니다.

  TYPE=Ethernet
  PROXY_METHOD=none
  BROWSER_ONLY=no
  BOOTPROTO=dhcp
  DEFROUTE=yes
  IPV4_FAILURE_FATAL=no
  IPV6INIT=yes
  IPV6_AUTOCONF=yes
  IPV6_DEFROUTE=yes
  IPV6_FAILURE_FATAL=no
  IPV6_ADDR_GEN_MODE=stable-privacy
  NAME=enp0s3
  UUID= //개인정보이므로 비공개합니다. 예)12e950f8-ac21-12a0-bbf1-123f4cfd1f6b
  DEVICE=enp0s3
- ONBOOT=no
+ ONBOOT=yes

 

최신 업데이트사항 체크하기

# yum check-update

 

최신 상태로 업데이트하기

# yum upgrade

 

네트워크 도구 설치

# yum install net-tools

 

CentOS7에서 자주 사용되는 툴을 설치하려면 [더보기]를 눌러주세요

더보기
# yum install nano wget curl net-tools lsof bash-completion

모듈/기능

nano 텍스트에디터
wget

주요기능) ftp, http, https를 활용한 웹 컨텐츠 다운로드 

curl
net-tools 네트워크 도구
lsof 시스템 내 프로세서들에 의해서 실행되고 있는 파일들의 정보를 볼 수 있는도구
bash-completion bash 자동완성

 

네트워크 재구동

# systemctl restart network

 

정상 동작여부 확인

# ifconfig

 

참고인용
https://www.tecmint.com/centos-7-initial-server-setup-and-configuration/
https://www.lesstif.com/pages/viewpage.action?pageId=13631535

'Infrastructure' 카테고리의 다른 글

Network  (0) 2020.01.22
[Linux/Centos7] 자주쓰는 기본 명령어  (0) 2020.01.12
[Linux]CentOS7 콘솔 키보드 조작  (0) 2020.01.08
[Linux] CentOS7 디렉토리 역할  (2) 2020.01.08
SALTSTACK 시작하기[1] - 쓰는 중  (0) 2019.10.25

fetch API는 XMLHTTPRequest에 대한 편의성을 증대하기 위해 ES6+에 추가되었습니다. 기존 XMLHTTPRequest은 사용성이 까다로워 jQuery.ajax 혹은 axios 라이브러리를 많이 사용해왔는데요.  이제는 라이브러리나 플러그인을 설치하는 번거로움없이 브라우저 네이티브로 제공되는 fetch API의 강력하고 유연한 사용성으로 네트워크 통신을 할 수 있습니다. 

 

주의점

  • 브라우저 호환성: Chrome 이외는 브라우저는 버전이 낮을 경우 polyfill을 적용하여  fetchAPI를 사용하여야합니다. 
  • fetch()로 부터 반환되는 Promise 객체는 HTTP error 상태를 reject하지 않습니다. HTTP Statue Code가 404나 500을 반환하더라도요. 대신 ok 상태가 false인 resolve가 반환되며, 네트워크 장애나 요청이 완료되지 못한 상태에는 reject가 반환됩니다.
  • 보통 fetch는 쿠키를 보내거나 받지 않습니다.  사이트에서 사용자 세션을 유지 관리해야하는 경우 인증되지 않는 요청이 발생합니다. 쿠키를 전송하기 위해서는 자격증명(credentials) 옵션을 반드시 설정해야 합니다.
    2017년 8월 25일 이후. 기본 자격증명(credentials) 정책이 same-origin 으로 변경되었습니다. 파이어폭스는 61.0b13 이후 변경되었습니다.

주의점을 살펴보았으니 각설하고, fetch API의 사용을 위해 간단한 방법을 알아보겠습니다. 

 

// url은 필수, options는 선택사항
fetch(url, options)

 

너무 간단했나요? 아래는 fetch API의 디테일한 사용방법입니다.

 

fetch(url, {
  method: 'GET' // *GET, POST, PUT, DELETE, etc.
  mode: 'cors', // no-cors, cors, *same-origin
  cache: 'no-cache', // *default, no-cache, reload, force-cache, only-if-cached
  credentials: 'same-origin', // include, *same-origin, omit
  headers: {
  'Content-Type': 'application/json',
  // 'Content-Type': 'application/x-www-form-urlencoded',
  },
  redirect: 'follow', // manual, *follow, error
  referrer: 'no-referrer', // no-referrer, *client
  body: JSON.stringify(data), // body data type must match "Content-Type" header
})
.then(response => response.json());
// 응답받은 JS오브젝트를 JSON객체로 변환합니다.
// JSON 구조의 데이터를 사용하기위해 변환작업을 하는 것입니다.

.then(response => response.html()); 
// 응답받은 JS오브젝트를 html객체로 변환합니다.
// html 구조의 데이터를 사용하기위해 변환작업을 하는 것입니다.

 

읽기 싫어지시죠? 글자가 많으면 읽기 싫어지는 법입니다. 하지만 메뉴얼을 잘 읽어야 제대로 사용할 수 있습니다. 메뉴얼을 잘 읽어보는 습관이 중요합니다. 그럼 테스트로 fetchAPI를 사용해보겠습니다. 일단 Chrome 브라우저를 열어서 F12(macOS 사용자의 경우 cmd + alt + i)를 눌러 개발자도구를 엽니다. console 을 찾아 아래의 코드를 입력합니다.  아래는 fetch API로 요청하고, 응답을 확인하는 코드입니다.

 

const response = fetch("https://jsonplaceholder.typicode.com/todos/1");
console.log(response)

 

콘솔에 입력후 엔터를 치자마자 응답이 올겁니다. 응답된 객체는 역시 Promise객체입니다.

 

► Promise {<pending>}

 

이 Promise객체의 상태를 가볍게 뜯어보면 아래의 형태로 되어있습니다.

 

▼Promise {<pending>}
  ►__proto__: Promise
   [[PromiseStatus]]: "resolved"
  ►[[PromiseValue]]: Response

 

잠시 설명을 드리자면 __proto__에는 Promise의 내부함수들이 들어가있습니다. [[PromiseStatus]]에는 기다린 데이터가 왔다는 의미의 'resolved' 그리고 [[PromiseValue]]에는 Response에 대한 Header정보들이 들어가있습니다. 더 자세히 설명하면 Promise에 대한 소개로 빠질 것 같으니 이만 줄이겠습니다.

 

Promise가 생소하신 분들은 Promise가 왔는데 뭐 어쩌라고? 빨리 원하는 데이터를 보여줘!!! 라고 생각하실 수 있는데요. 그런 분들을 위해 지금 바로 console에 아래의 코드를 입력하여, 방금보낸 요청에 대한 응답을 확인해보겠습니다.

 

response
  .then(result => result.json())
  .then(json => {
  console.log(json);
});

 

풀어서 설명드리자면, 첫번째 then에서는 result를 json객체로 변환하여 리턴합니다. 두번째 then에서는 첫번째 then에서 리턴한 데이터를 json이라는 인자에 담아와서 console.log로 데이터를 보여줍니다. 참고로 then이 반환값을 있다면 직후 then이 직전 then반환값을 인자에 담아서 쓸 수 있는데요. 이러한 기술명칭을  Promise Chaining이라고합니다.  

 

또한 fetch API로 요청한 https://jsonplaceholder.typicode.com/todos/1 API는 요청시 반드시 JSON으로 반환(응답)되어야한다는 약속이 되어 있기때문에 json()을 쓴 것입니다. 만약 반환값이 HTML구조의 객체였다면 html()을 사용하여 변환(파싱)해야합니다. (예: result.html())

 

응답온 데이터 확인하기

{
  "userId": 1,
  "id": 1,
  "title": "delectus aut autem",
  "completed": false
}

 

fetch API에 대한 사용법을 간단하게 알아봤습니다. 추가로 http, https 등은 외부로부터 데이터를 내부로 가져오는 것이기때문에 보안이 중요한 사이트에서는 옵션설정을 꼼꼼하게 잘 해주어야합니다.

 

참고인용
fetch API의 대해서
https://developer.mozilla.org/ko/docs/Web/API/Fetch_API
fetch API의 사용법https://developer.mozilla.org/ko/docs/Web/API/Fetch_API/Fetch%EC%9D%98_%EC%82%AC%EC%9A%A9%EB%B2%95

'Javascript' 카테고리의 다른 글

transform byte to binary byte or Decimal byte  (0) 2020.08.18
[WebAPI] window.localStorage 부시기!  (5) 2019.09.29
[Babel] 사용기(1)  (0) 2019.06.26
파일(Image) 용량을 확인하는 방법_v1  (0) 2019.06.05
배열의 중복값 제거  (0) 2019.04.25

개인회고

올해는 정신적, 육체적, 금전적 무척 힘든 한 해 였습니다. 작년에 공부를 하면서 이루고자했던 것들을 제대로 이루지 못한 것 같아 올해는 목표를 설정하고, 평일, 주말 상관없이 본인 스스로를 몰아부쳤습니다. 자신과의 한 약속을 지키기 위해 직장 퇴근하면 학원, 주말에 놀지않고 학원으로 무조건 갔습니다. 스스로를 몰아부쳐보면서, 배움의 혹독함과 동시에 깨닳음에 대한 희열도 느낄 수 있었습니다. 혼자하는 타지생활에 만만치 않은 상황이 들이닥칠 때마다 스스로 감내해야할 때가 있었습니다. 심신이 지쳐 외로운 싸움같다는 생각도 문뜩 있었습니다. 하지만 주변에서 많은 응원해주셔서 힘을 낼 수 있었습니다. 응원해주신 분들에게 다시 한번 감사드립니다.

 

프론트엔드 개발자로 이직하기 위해 MongoDB, Express, Vue.js, Node.js 스택으로 공부하였습니다. 여전히 유지보수는 jQuery였지만, 현재 개발대세는  ES6를 접목한 SPA니까요. 공부를 하면서 느낀 건 백엔드지식들이 프론트엔드로 많이 넘어온 느낌이었습니다. 다소 생소하고 어려웠지만 지금은 백엔드 소스들도 눈에 조금씩 보이기 시작합니다. 만들어본 것들은  GCP에 Deploy하여 보기도 했습니다. 이번 해는 기술적으로 처음한 것들이 많았습니다. 그렇기에 머리가 많이 아프기도, 재밌기도 했습니다. 

 

추후 네트워크장비 회사의 솔루션 개발부서로 이직하게 되었습니다. 공부에 대해 보상을 받은 것 같아 기분이 너무 좋았습니다. 그리고 이직성공보다 이직 후 어떻게 적응하느냐가 제일 중요한 관건인 것 같아 회사에서 필요로하는 React 기술과 관련 기술에 대해 공부를 시작하였습니다. 개발에 대한 짬이 적어서 그런지 개발공부에 대한 강박이 심한 것 같습니다. 강박이 심한 만큼 개발을 잘했으면 좋겠습니다.

 

월세에서 전세로 전환하였고, 월세로 나가는 지출을 저축으로 돌렸습니다. 고정지출에 대한 부담감이 잠시 사라졌습니다! (정신적인 부담감과 금전적인 부담감이 동시에 완화되었습니다!!!)

 

초반에 이루고자했던 것들을 이루거나 과정중 다른 목표가 생겼을 때 그것을 이룰 때마다 자신에게 보상을 주었습니다. 지인들과 여행이라던지, 주말에 열리는 아트투어 참여, 그리고 먹고싶은 음식을 해먹기 등으로 보상을 해주었습니다.(다이어트 실패의 원인이었지만 행복했습니다.)

 

11월부터 수영을 시작했습니다. 다이어트보다 즐기고싶은 스포츠를 해보고싶었습니다. 농구와 헬스, 보드를 좋아하지만 혼자하면 재미없으니 혼자 있으면서 재미있는 운동을 찾아보니 수영이 떠오르더군요. 그렇게 시작한 수영이 너무 재밌습니다.

 

교육사항

교육기간 교육명
2019-09-21 - 2019-10-19 모던 리액트&리덕스 프로그래밍 전문과정   
2019-08-25 - 2019-09-22 파이썬 응용 웹프로그래밍(Python-Django)  
2019-08-10 - 2019-09-07 리액트(React.js)프로그래밍과정
2019-06-22 - 2019-07-20 뷰제이에스(Vue.js) 프로그래밍 향상과정
2019-05-26 - 2019-06-16 노드JS(Node.js)프로그래밍 과정
2019-04-08 - 2019-05-22 파이썬(Phyton)
2019-03-23 - 2019-05-18 자바 JAVA 프로그래밍 - 응용SW 엔지니어링
인프런 인강 React로 NodeBird SNS 만들기
인프런 인강 트렐로 개발로 배우는 Vuejs, Vuex, Vue-Router 프론트엔드 실전 기술

취득자격증

- 정보처리기사


다가오는 2020년에는...

계획

공부와 일만하기엔 너무 아름다운 청춘이기에 마지막 20대를 즐겨볼겁니다. 목표를 정해두지만 흘러가는 대로 유연하게 살 것이며, 취미로 롱보드 다운힐을 혹은 테크니컬 라이딩을 즐겨볼 예정입니다. 보드용 바디슈트도 사고, 내리막길을 질주할 생각에 벌써부터 심장이 두근두근합니다. 최근 기계 - 네트워크 - 소프트웨어의 관계에 대해 관심이 많아졌습니다. 다양한 해외 자료를 보기위해 영어는 반드시 공부해야겠습니다. 공학적 논리를 추론하기위해선 수학적 능력도 반드시 필요하여 공부해야겠습니다. 네트워크 장비회사로 이직하다보니 네트워크를 다룰 일들이 빈번합니다. 지금은 배우고 있지만, 이 배움은 언젠간 써먹어야하기에 스스로 능숙해질 필요가 있다고 생각됩니다. 다가오는 2020년에는 벌이보다 개발자의 내실을 다져보는 한 해가 될 것입니다.

목표

  1. 한 주에  하나의 블로그 작성
  2. 클라우드 공부
  3. 여행
  4. 다이어트

적은 대로 모든 것이 잘 되진 않겠지만, 연연하진 않을 것 입니다. 생각한 것들을 나열하며 정리했습니다. 이렇게만 해도 내년에 무얼 할지 정리가 되기때문입니다. 무엇으로든 변할 수 있고, 무엇이든 할 수 있다는 자신감과 자신을 사랑하는 마음이 가장 중요합니다. 읽어주시는 모든 분들에게 마음의 평화가 자리잡길 바랍니다.

+ Recent posts