본문 바로가기

:: Develop

(15)
[Babel] 초간단 바벨(Babel) 사용법 :: 바벨 (Babel) 이란? 바벨(Babel)은 자바스크립트를 위한 다목적 컴파일러로 자바스크립트 코딩을 할때 마술같은 여러가지 기능을 제공한다. 특히 바벨(Babel)은 여러 자바스크립트 표준에 맞추어 코드를 자동으로 변환해주는 트랜스파일러로 코드를 직접 바꾸지 않더라도 최신 표준에 맞추어 개발 할 수 있도록 도와준다. ( 엄청난 기능을 하는 Babel 플러그인이 많다 ) :: 바벨 (Babel) 사용법 Node.js가 이미 설치되어 있다고 가정한다. 1. 예제를 진행할 디렉토리를 하나 만들고 이동 mkdir babelTest cd babelTest 2. 프로젝트 초기화 및 Babel 설치 npm init -y npm install --save-dev babel-cli npm install --sa..
[Numpy] 파이썬 벡터 표현 NUMPY Numpy는 선형대수 문제를 파이썬으로 다룰때 사용하는 패키지이다. Numpy를 이용한 벡터(Vector)표현 벡터를 포현할 때는 열 개수가 하나인 2차원 배열 객체로 표현한다. 하지만 Numpy는 편의를 위해 1차원 배열 객체로 만들어도 벡터로 인정한다. 행처럼 보이지만 실제로는 열벡터라는 점에 유의해야한다. # 아래 두개는 같은 벡터이다. vec01 = np.array( [[1.1],[2.2],[3.3],[4.4]] ) vec02 = np.array( [1.1],[2.2],[3.3],[4.4] ) 벡터는 열의 수가 1인 행렬이라고 볼 수 있으므로 벡터를 다른 말로 열벡터(Column Vector)라고도 한다. 하나의 데이터를 벡터로 나타낼 때에는 하나의 열(Column)으로 표기하지만 여러..
[VSCode] Python Remote Build 설정하기 :: INTRO Python을 개발할때 참 여러가지 툴을 사용하지만 일반적으로 VSCode와 Pycharm을 많이 쓴다. 여기서 일반적이란 내 주변 개발자들을 대상으로 조사한 매우 작은 표본을 일반화한 것으로 일반화의 오류가 충분한 단어 임을 미리 밝힌다. 맥북 프로를 사용하고 있어서 평소에는 그렇게 큰 불편함을 못느끼지만 GPU가 필요한 작업을 하거나 Server단이 필요한 작업을 해야할 때면 여간 난감한게 아니다. 물론 Pycharm이 Remote Build를 멋지게 지원하고 있으므로 그것을 켜서 작업하면 되지만 사실 참 무거운 녀석이기에 쉽사리 손이 가지 않는게 사실이다. 대부분의 코드작업은 VSCode를 이용해 하다보니 ( 이녀석도 여러 Extension으로 무거워질대로 무거워졌긴하지만 ) Rem..
[Linux/Ubuntu] 파이토치(Pytorch)를 설치하고 구성 해보자 ! | 파이토치( Pytorch )에 입문하다. 그동안 ML/DL을 사용할 때 대부분은 텐서플로우(Tensorflow) 그리고 케라스(Keras)를 사용했었다. 사용하면서 불편함을 느끼지 못했고 무엇보다 익숙한 라이브러리다 보니 다른걸 접해볼 생각을 하지 않았다 ( 라이브러리 고민 할 시간에 결과를 더 빨리 만들어 내고 싶었을 수도 ) 그러던 중 새로운 프로젝트에 들어가면서 기존에 먼저 구현 했었던 선행 프로젝트들을 Catch Up 하는 과정이 필요했다. 연구들이 Open Source로 진행 되어 있는게 많아서 직접 코드를 열어보니 대부분이 Pytorch로 구현되어 있었다. Tensorflow는 너무 복잡하고 Keras는 너무 단순하고 그 중간이 PyTorch 여서 그런걸까 싶었다. 이유가 어찌 되었건 Py..
[Linux/Ubuntu] Jupyter notebook Server 구성하기 :: INTRO Python을 개발 하기에 참 편한 Tool 중 하나가 Jupyter notebook 이다. 바로바로 결과를 볼 수 도 있을 뿐더러, 결과도 직접 이쁘게 해서 보여주니 안쓸 이유가 없다. 특히 Python을 이용한 학습을 하고 있다면 Notebook 이라는 말대로 내가 공부한 과정을 결과값과 함께 그대로 남길 수 있어 자주 사용하고 있다. 그럼 만약 내가 들고 다니는 laptop에서 돌릴 수 없는 큰 프로젝트라면 어떻게 할까, 사양좋은 서버에서 돌리면 되지 않아? 라고 말하고 싶은가? 그렇다면 내가 딥러닝등을 학습할 예제를 Jupyter Notebook에서 돌리고 결과값과 함께 필기 해놓고 싶은데 GPU가 없는 Labtop 이라면 ? 이때 해결해 줄 수 있는 것이 바로 Jupyter No..
Polyline 변환에 대해 알아보고 패키지를 사용해보자. :: INTRO Google API를 쓰다보면 가끔 위도, 경도 (Latitude, Longitude)가 아닌 Polyline 이라는 알 수 없는 포멧으로 데이터를 주는 경우가 있다. 실제로 해당 데이터를 받아보면 이게 무엇을 의미하는지 정말 전혀 알아 볼 수 없다. 당장 구현을 해야하는데 이게 대체 무엇을 의미하는 건지 알 수 가 없어서 생존을 위해 열심히 찾아본 것들을 본 포스팅에서 간단히 정리 하려고 한다. :: Polyline이 뭔데 ? Polyline은 일련의 좌표들을 '단일 문자열'로 저장 할 수 있게끔 해주는 손실 압축 알고리즘이다. 한 개 지점에 대한 위도, 경도가 아닌 여러 지점에 대한 위도 경도를 다뤄야 할 때는 [ (a,b), (c,d), (e,f) ] 등으로 자료를 다루어야 하는데,..
Google Maps API를 사용해보자 ! 작업중인 프로젝트에서 대중교통을 이용한 길찾기 기능이 필요했다. Naver API 에서는 자동차 길찾기만 제공해주고 있었으므로 다른 대안이 필요했고 Google Maps API 중 Directions API 를 사용하면 내가 원하는 일련의 결과를 얻을 수 있을것 같다는 생각이 들었다. :: 내가 필요한 것을 적어보자. 1. 출발지와 목적지를 위도, 경도로 검색 할 수 있어야 한다. 2. 대중교통과 도보만 이용한 경로가 결과로 주어져야 한다. 3. 주어진 결과를 위도, 경도로 변환하여 사용 할 수 있어야 한다. 4. 위의 작업을 되도록이면 Python에서 할 수 있었으면 한다. 기존에 Naver API를 사용하여 자동차 길찾기를 한 결과는 아래와 같은데, 경로에 해당하는 각각의 파란색 점의 위도, 경도를 ..
[JAVA] mac에서 Open JDK를 설치해보자 ( mac java 설치 ) JAVA에 조금 관심을 가졌다면 Oracle JDK와 Open JDK가 있다는 것 정도는 알고 있을 것이다. 예전에는 JAVA 설치하자 하면 무조껀 Oracle로 가서 뒤도 안돌아보고 Download 한다음 Path 설정을 해주었지만 요즘에는 Install을 하기전에 살짝 고민해보게 되는게 사실이다. 개인적인 개발 용도로 쓴다면 사실 둘중 무엇을 쓰건 상관이 없으나 (구독형태 제외) 실제 프로젝트 개발용도라면 맘편하게 Open JDK를 선택하는 편이다. 설치하기전에 만약 Oracle JDK가 깔려있다면 아래와 같이 지워준다. sudo rm -rf /Library/Internet\ Plug-Ins/JavaAppletPlugin.plugin sudo rm -rf /Library/PreferencePanes/..