반응형 전체 글136 Elastic{ON} 서울 투어 2/22 Elasticon{ON} 서울투어(2/22) 행사에 참여했다.참여하게 된 계기는 회사 상사의 지목(?)이었고, 연구원 2명이서 그렇게 첫 IT컨퍼런스에 참석하게 되었다. 나는 이런 컨퍼런스 성격의 행사나 기술 세미나에 참가하는 것을 매 순간 학수고대 해왔을지도 모른다.이제 4년차 웹개발자로 어느정도 내가 가진 기술에 대한 자부심도 가진듯..는 아직 멀었지.저러한 신기술 관련 발표회나 다른 동료들이 공유하는 대세의 기술들은 접할 때 마다 부족함을 느낀다. 그러기에 다른 사람들이 경험해보고 실무에 적용해보는 것들은 수박 겉핡기식이라 할지라도 배우거나 학습하고 넘어가고 싶었다. 그리고 우연히 Elastic{ON} 행사를 참가 하게 되었다. Elastic{ON} 서울투어는 작년에도 진행 되었었으며, 무료로 참석.. 2019. 2. 22. NodeJS 인기있는 Logging 모듈 Winston Nodejs로 Express 서버를 만드는데 Debugging 용도로 console.log를 사용했었다. 그냥 이게 편하고 익숙해서...ㅎ 하지만 Project를 실제 수행하다보면 서버의 동작을 파악하거나 오류를 찾아야 할때 로그파일을 뒤져보는 것이 가장 1순위일 것이다. Nodejs로 Log를 남기고 관리하는 모듈은 많이 있다. morgan, winston 등등... 두가지를 함께 사용하는 것도 가능하다. 하지만 여기서는 가장 인기 있는 winston 라이브러리를 사용하는 방법을 간단하게 소개한다. 01. npm으로 설치하기아래 명령어로 설치 가능하다. 1npm install --save winstoncs 02. winston.js 작성로그를 관리하는 모듈을 따로 패키지 형태로 작성하려한다.우선 아래와.. 2019. 2. 20. Python_bson을 json으로 바꾸는 방법 bson이란 Binary JSON의 약어로 Binary로 인코딩 된 JSON을 뜻한다. MongoDB에서 document가 BSON 형태로 저장되고 (마찬가지로 pymongo 같은 라이브러리로 document를 조회해보면 BSON으로 반환 된다.) json으로 바꾸려면 bson.json_util을 사용하면 된다. 1234567891011121314151617181920212223242526272829303132333435from pymongo import MongoClientimport tracebackfrom bson.json_util import dumps host = 'localhost'port = 27017 def main(): try: client = MongoClient( host=host, .. 2019. 2. 14. Python_pymongo 간단 사용법 Python으로 Mongodb를 커넥션하여 사용할 때 가장 많이 사용하는 라이브러리가 바로 pymongo이다.mongodb 기능을 많이 사용 할 수 있고(Index, Aggregate, ClientSession과 Transaction 등등)문서도 잘 정리되어 있는 편이다. https://api.mongodb.com/python/current/ 01. pip 명령어로 pymongo 설치아래 명령어로 설치 할 수 있다.1python -m pip install pymongocs * 공식문서에 보면 bson 패키지 설치하지 말라고 한다. pymongo가 기본적으로 bson 패키지를 내포하고 있고, 만약 설치하게 되면 서드파티 모듈 의존성 문제가 생길수 있다고 한다. 02. 코드 작성간단하게 아래와 같은 코드를 .. 2019. 2. 12. NodeJS validate로 요청 데이터 검사 웹서버를 만드는데 요청 데이터 검사를 간편히 해주는 모듈이 있다. 바로 validate다. https://www.npmjs.com/package/validate validate 이외에도 validator, express-validator 등 요청 스키마 검증 모듈을 많이 있는듯 하다.(validator는 가장 많은 다운로드수를 기록하고 있었지만, 단순히 json형태의 data만 다룬다고 생각하고, json 스키마를 간단히 검사할 수 있는 걸 찾다보니 validate를 택하게 됬다... 과연 베스트 일지는 잘..) (아래 방법은 node 프로젝트가 이미 존재 한다.) 01. vaildate 모듈 설치아래 명령어로 설치 가능하다.1npm install validate --savecs 02. 코드 작성예를 들.. 2019. 2. 11. NodeJS Express 간단한 서버 만들기 이전 포스트에서도 Express를 사용해본적이 있지만... 정리 할겸 다시 한번 01. Express란?Node로 http 서버를 개발 할려고 하면 Express 모듈을 사용하면 간편히 할 수 있다.완전 생짜에서 시작할려면 뭐 이것저것, url path mapping, 세션관리 등 할꺼 많고 복잡하게 구현해야할 것을 Express는 간편히 구축 할수 있도록 도와준다. 특징은 아래와 같다.견고한 라우터고성능높은 테스트 커버리지redirect, caching 다수의 템플릿 엔진 지원컨텐츠 네고시에이션(?)신속한 앱 개발 간단하게 npm으로 설치 후, nba 선수 프로필을 제공 하는 기능을 만들어 보자.(nba라는 npm 패키지 사용) 02. express 설치아래 명령어로 express 설치 가능하다. (제.. 2019. 2. 11. Docker compose로 Nginx + Web앱 띄워보기 Step1. Docker로 Nginx 서비스 띄우기먼저 아래 명령어로 nginx이미지를 다운로드한다. 1docker pull nginxcs 그리고 run으로 실행시켜보면 1docker run --name nginx-server -d -p 80:80 nginxcs 127.0.0.1로 접속해보면 위 사진과 같이 잘 뜨는걸 확인 할 수 있다. 하지만 docker container로 nginx만 따로 띄우게 되면 다른 어플리케이션과 연동 시킬 때 container 간 연결을 맺어줘야(?)하는 번거로움이 있다. 또한 여러 어플리케이션이 상호작용하는 상황이라면 관리가 더욱 어려울 것이다. Docker compose는 docker container 여럿을 띄워 관리하는 도구로서 하나의 파일 docker-compose.. 2019. 1. 6. 2018 Log 2018년 회고록 마지막 주말.2018년 마지막 주말을 보내고 있다.여러 개발자들이 회고록 쓰는것처럼 나도 처음 써볼려고한다.(글을 논리적으로 못써서 자주 써야할듯..ㅜ) 올해로 웹개발 경력 만 3년을 채우게 되었다. 2018년은 나름 뜻깊은 한해였다.나이 앞자리가 2에서 3으로 바뀌고...처음으로 블로그를 써보고...그 무엇보다.내가 하는 일에 대해서 '관심'을 가지게된 한해였다. 2018 목표.2018년에 일로만 봤을 때 3가지 목표를 잡았었다.이직을 위한 나의 가치 높이기토이프로젝트(웹페이지 제작)일주일 5시간 이상 학습 사실 위의 목표를 한마디로하면, "개인 시간을 개발 및 학습에 투자하자"였다. 결과적으로 위의 목표 3가지는 전부 이루지는 못했다. 여름즈음에 계획이 조금 바뀌었기 때문이다. 경력.. 2018. 12. 30. Mongodb(Docker container) Volume 설정 Mongodb를 Docker Container로 띄워서 사용할 때 외부에 store를 지정해줘야한다.(아니면 컨테이너 내리면 저장했던 데이터가 사라지겠지?) 외부volume을 마운트 하는건 간단하다. 1docker run -p 27017:27017 --name mongo-server -v /home/jckang/mongodb/data:/data/db -d mongocs 위와 같이 -v 옵션을 주기만하면됨.-v {외부Volume}:/data/db 2018. 12. 29. Mongodb를 Docker Container로 띄우기 Mongodb를 Docker Container에 띄워보자. 먼저 Docker Image를 다운로드 하자. 12345678910111213141516171819202122jckang@jckang:~$ docker pull mongoUsing default tag: latestlatest: Pulling from library/mongob849b56b69e7: Pull complete 42986ef25bcd: Pull complete d927c1b717ec: Pull complete 15b86ea20233: Pull complete 95dc958d65c6: Pull complete aec60d69dd50: Pull complete bf92a6681913: Pull complete 8911fe7d4b35: P.. 2018. 12. 29. Python_Flask app에서 filter 만들기 Jinja2 템플릿에 날짜를 표현 하고 싶다면?또한 특정 포맷으로 일치 시키고 app단에서 공통 모듈로서 사용하고 싶다면? filter를 만들면 된다. (jinja2에서 지원하는 기본 필터들이 많은 걸로 알고 있다만...) 먼저 filter를 모아둘 소스파일을 따로 만들어보자. (굳이 따로 안만들어도 된다만... 기능별로 묶는걸 습관화 하려고 ㅎㅎ) ./filter.py123456import babel def format_datetime(value, format='yyyy-MM-dd HH:mm:ss'): return babel.dates.format_datetime(value, format) Colored by Color Scriptercs 1. babel을 import2. 사용하고자 할 필터 함수를 등.. 2018. 11. 26. Python_mongoengine 사용 mongodb 익히려고 python프로젝트에 한번 써보았다.pymongo가 좀 인기 있는거 같은데 mongoengine을 한번 써보자. 더 쓰기 간편한 것 같기도하고... https://github.com/MongoEngine/mongoengine 위의 사이트 접속해보면 Object-Document-Mapper 라는게 눈에 띈다.ORM을 쉽게 적용할 수 있게 해주는 파이선 모듈 같았다. 일단 한번 써보도록하장! 1234567891011121314from mongoengine import *from datetime import datetimefrom .. import config connect('connect1', host='mongodb://' + config['mongodb_host'] + ':' + .. 2018. 11. 10. 이전 1 ··· 6 7 8 9 10 11 12 다음 반응형