반응형

webpack이란?

웹의 세계는 점점 복잡해지고 있습니다.

단순하게 생각한다면 클라이언트가 request를 하고 서버에서 response를 하지만

이 내부에서는 점점 의존성 있는 패키지들의 사용과 다양한 프로그래밍 언어들이 버전별로 달라지며 점점 복잡해지고 있습니다.

(언어들이 버전별로 달라진다면 브라우저에서도 인식을 못하는 문제가 생길 수도 있습니다.)

점점 복잡해지는 내부를 브라우저에 올리기 위한 중간에서 정리를 해야 할 모듈 번들러가 필요 했던 것입니다.


webpack은 모던 자바스크립트 app을 위한 모듈 번들러입니다.

쉽게 표현하면 js파일을 하나의 모듈로, image 파일이면 image의 모듈로 또는 각각의 css/scss를 모듈로 변경해주는 모듈 번들러인 것입니다.





웹팩을 사용하기 위한 기본 요소

Entry

– 각각의 모듈로 만들기 위한 시작점을 지정한다. 이 지점부터 소스들을 변경시킨다.


Output

– 번들로 만들고 난 이후에 결과가 저장이 되는 위치를 지정한다.


Loaders

– 웹팩은 자바스크립트 언어만 이해한다. 하지만 웹팩은 image, css 파일 등 많은 종류의 파일들을 변경하는데 이에 대한 각각의 파일들에 대한 로더가 필요 한 것이다. 번들로 묶을 파일의 종류는 config파일에서 명시한다.


Plugins

– 위의 로더에서 각각의 파일들을 묶어 모듈로 만들고 후에 전체의 대해서 변경을 할 때는 플러그인을 사용한다. 예를 들면 최신의 자바스크립트에서 이전의 자바스크립로 변경하기 위해서 UglifyJsPlugin 플러그인을 붙여 전체의 대해서 변경한다.


Entry는 여러개를 갖을 수 있지만 Ouput은 하나만 갖을 수 있습니다.


설정 파일(webpack.config.js)중 일부

entry: "./index.js",

output: {

path: path.resolve(__dirname, "dist"),

filename: 'bundle.js'

},

mode: "development",

module: {

rules: [

{

test: /\.js$/,

loader: "babel-loader",

        options: {

presets: ["@babel/preset-env"]

}

    }

]

},


위의 코드는 webpack을 사용하기 위한 설정 파일(webpack.config.js)중 일부입니다.

entry를 지정하고 결과를 저장하는 output위치를 지정합니다.

그리고 js파일인 경우는 바벨 로더를 이용하여 모듈로 만들어줍니다.


이렇게만 보면 엄청 심플합니다.

이상 webpack을 사용하기 위한 기본적인 내용이었으며 yarn / webpack / babel 버전별로 설치 방법과 이에 따른 config파일에 명시해야 될 내용들이 조금씩 달라집니다.

(웹이 이렇게 빠르게 변하는 모습을 보고 있습니다.)

이걸 왜 알아야 하는지 처음에는 몰랐으나 React를 공부하다 보니 eject 후에 customizing을 할려고 하니 꼭 필요한 내용이었습니다.

처음 접한다면 내용이 어려울 수 있으나 익숙해지도록 해야겠습니다.

반응형
반응형

아래 내용은 유튜브 강의 내용입니다.

원서읽기 동기부여와 원서읽기를 해야되는 이유를 말씀 해주십니다.


- 1분에 리딩속도는 100단어 안팎, 리스닝은 150~180단어 인데 읽기도 제대로 안된다면 듣기가 제대로 될리가 없다.

- 읽기는 영어 원서로 시작하자.

- 영어 원서 읽기는 경쟁력이 된다. 영어만 잘하는 것이 경쟁력이 아니다.

- 편안하게 원서를 읽어 보자.


유튜브 링크

반응형
반응형



안녕하세요.

리눅스 우분투에서 node.js를 설치하는 방법입니다.


node.js를 설치하는 방법은 다양합니다.

node.js홈페이지에서 파일을 다운로드 받을 수도 있고 apt-get을 이용하여 패키지로 설치 하실 수 도 있습니다.

여기서는 소스파일을 다운로드 받아 빌드 하는 방법입니다.

이렇게 하면 원하는 버전을 다운로드 받으실 수도 있고 자신이 무엇이 필요한지 명확하게 확인 하실 수 있습니다.

전혀 어렵지 않습니다 :)


소스파일을 빌드하기 위해서 관련 패키지를 설치합니다.

sudo apt-get update

sudo apt-get upgrade

sudo apt-get install build-essential openssl libssl-dev pkg-config


소스파일을 다운로드 받고 압축을 풀어줍니다.

wget http://nodejs.org/dist/v8.12.0/node-v8.12.0.tar.gz

tar -zxf node-v8.12.0.tar.gz


압축을 해제한 폴더로 이동하여 설치해주면 됩니다.

make 단계에서 시간이 조금 걸릴 수 있습니다.

참고해주세요.

./configure

make

sudo make install



node.js 설치가 완료 되었습니다.



반응형
반응형

sudo pip3 install cookiecutter

cookiecutter https://github.com/pydanny/cookiecutter-django

pipenv install -r requirements/local.txt


처음 django 튜토리얼을 진행하면서 느꼈던 것은 django의 기본 디렉토리 위치가 익숙하지 않음을 느꼈다.

많은 사람들이 비슷한 생각을 하는게 눈에 보인다.

규모가 작은 프로젝트 내에서는 기본 파일 루트를 사용해도 좋지만 규모가 커질수록 관리하기가 어려움이 있다.

쿠키커터는 django 프로젝트를 생산성 좋게 디렉토리들을 설정해주는 일종의 framework이다. 

사용하다 보면 디렉토리 위치는 이렇게 되어야지 라는 생각이 든다.

설치 할 때는 파이썬 가상환경을 만들어주고 쿠키커터를 사용하여 빠른 프로젝트를 시작해보자.

반응형
반응형

18년 회고

1년동안 다양하게 그리고 열심히 활동했다.

기억을 다시금 떠올려보자.


연초, 1월부터 데이터 사이언스 공부를 시작했다. 수학 기초부터 열심히 공부를 했는데 제대로 써먹지를 못했다.

이유를 생각해보면 데이터 사이언스를 공부를 하고자 했지 데이터 사이언스를 이용하여 무언가를 하고자 하는 목표가 뚜렷하지 않았다.

데이터 사이언스 공부를 한번 해보자 하는 목표는 확실하게 이뤘다. 이정도면 취미로 공부 했으며 AI의 대한 맛보기는 했다고 이야기 할 수 있겠다.


공부한 내용

1. 분석을 위한 수학적 지식

2. 데이터 핸들을 위한 파이썬 (numpy, pandas)

3. 딥러닝 지식 및 실습 (숫자 / 옷 분류)


- 공부하는 내용의 대해서 목표 및 목적은 뚜렷하게 정하기.



업무적으로 가장 생각 나는 것은 튜닝이 가능 해졌다는 것이다. 속도 느린 쿼리를 보고 튜닝을 할려고 하니 무기력함을 느꼈다. 너무 답답했다. 명색에 쿼리 작성하는 업무를 하는데 튜닝을 제대로 못하다니 본격적으로 튜닝 공부를 시작했었다. 외부강의도 주말마다 듣고 책도 몇권씩 읽기 시작했다. 그러고 나니 현재는 다른 사람들이 작성한 쿼리도 실행계획을 보기도 하고 튜닝을 하고자 하는 자신감이 생겼다. 쿼리에 대해서 자신감과 전과 다르게 실력이 향상된 것이 느껴졌다. 정체 될 때의 돌파구 중 하나는 문제를 만나니 성장한다. 문제를 두려워 말고 성장의 발판으로 삼아라.


공부한 내용

1. 실행계획 보는 법 그리고 실행계획을 보는 습관

2. 오라클 튜닝 및 구조


-  DB 책은 한 권을 여러번 읽어야 제맛. 필요한 부분만 보는 것이 전체적인 그림이 필요하다.



올 해 컨트리뷰톤이라는 대회를 참가 했다. 컨트리뷰톤의 참가 주제는 블록체인. 요즘 뜨고 있는 주제 중 하나인데 공부를 해볼만 한게 블록체인 안에 도메인 지식들이 생각했던 것보다 많이 필요로 한다. 블록체인을 공부를 하다보면 수 많은 신기술과 지식 그리고 실력을 쌓을 수 있겠다. 물론 재미도 있다. 컨트리뷰톤 대회의 결과는 장려상을 받았다. 상의 대해서는 아쉬움이 있지만 그 보다 배운것이 더욱 많아 아쉬움을 달래본다. 오픈소스 활동은 재밌다. 그리고 오픈소스를 읽고 코드를 고민해본다면 당신의 실력은 생각한 이상으로 향상 될 것이다. 그리고 주위를 보니 많은 기회들도 잡기도 한다. 오픈소스 활동을 본격적으로 시작해보자!


공부한 내용

1. 소프트웨어를 시작 시 전반적인 설계 중요 (Cli,. component 등등)

2. 오픈소스들을 읽고 사용해보기 (필요한 오픈소스들을 내 소스 내의 래퍼를 만들어 사용하거나 수정하여 사용)

3. 신기술들 사용해보고 적용해보기

4. grpc, 도커 등 사용 경험

5. Test Case 작성

6. Git 사용 (push, commit 이외의 PR / rebase / stash 등등)

7. 문서화


- 오픈소스를 참여하고 싶다면 꾸준히 문서를 읽고, 소스를 읽고 그리고 이슈를 해결하자.



웹 공부도 틈틈이 했다. 회사에서는 DB 업무를 하다 보니 무언가 스스로 만들어 보고 싶었다. 만들고 싶은 서비스라든지 또는 재밌는 프로젝트 들을 만들고 싶었다. 그렇게 웹 공부를 시작했다. 전반적인 플로우는 머리에 그려진다. 하지만 한가지 아쉬운건 내가 원하는 서비스를 고민하면서 직접 만들어 본게 아니어서 이 점이 아쉽다. 이 점은 지금부터 시작 하면 되니까 걱정하지 말자.


공부한 내용

1. Django

2. React


- 기본 기능에 충실한 프로젝트 하나씩 완성. 이후에 살을 붙이자.

- 처음부터 큰 서비스를 만들려고 하지 말자. 한가지 기능씩 만들어 보자.

- 작성한 소스들 꾸준히 리뷰하자.



그리고 19년

- 오픈소스 참여하기(PR, Source Review, Using, Analyzing, Blogging) (세상과 함께 나아간다)

- 직접 만드는 사이드 프로젝트 진행(1달의 1개씩 진행)

- 영어 직접 사용하기 및 영어는 매일매일 접하기(100LS, 영어원서, 테드, 회화, 강의)

- 꾸준한 글쓰기(주 1회 포스팅 3개)

- 알고리즘


18년을 생각하면서 아쉬웠던 점을 보완하고 19년도는 조금 더 나아 가자. 19년 목표는 작게 나누어 하나씩 이루어 나가자.

강의를 듣고 나면 배운 내용의 대해서 바로 적용해보자. (적용하며 더 나아가서 더욱 공부하면 더욱 베스트)

똑같은 소스로 만들어도 좋다. 다른 아이디어들을 만들자. 기능이 한가지만 있더라도 내가 필요로 하면 만들어보자. 익힌 소스코드들을 상시 리뷰하자.

공개 데이터를 만들어 가공 할 수도있고, 크롤링을 할 수도 있고 또는 OpenBoard를 이용해서 웹-DB 구축을 할 수도 있고 재밌는 일들을 만들어 나가자.

오픈소스 활동으로는 다양한 오픈소스들을 사용하고 읽어보고 이슈를 만들고 해결해보자.

배움에 있어서는 아까워하지 말자.

책, 강의 배움이 남는 것이자 미래의 가치다.

한 걸음 앞으로 더욱 나아 간다.

반응형

+ Recent posts