Siner's Blog

21개의 게시글이 있습니다.

프로덕션 레벨의 크롤러 개발 회고2021년 4월 18일
python은 과연 크롤링하기 좋은 언어인가
지난 25일동안 지인의 부탁으로 특정 게시판의 게시글들을 전부 크롤링하는 외주를 진행했었다. 이를 진행하면서 얻게 된 크롤링 관련 경험에 대해 적어보려고 한다. 지금까지 나의 크롤러 프로젝트는 python으로 개발이 되어있었는데, 이번엔 typescript로 작성해달라는 요구사항을 받아서 진행했고, 내가 느낀 python 크롤링과 javascript…
npm vs yarn vs pnpm2020년 12월 19일
pnpm은 정말로 탄소절감과 ssd수명에 도움을 줄까?
서론 타입스크립트를 사용하면서 백엔드를 개발하면서 를 사용하던 도중, 의존성으로 함께 설치되는 의 타입을 가져오는데 의문을 가지게 되었다. 스크린샷 2020-12-19 오후 6 34 21 의존성으로 가져오는 버전 말고 다른 버전을 별도로 설치하고 있었다면 어떻게 되는거지? 싶어서 의 최신버전을(6.1.…
[Dart Programming] final과 const의 차이점2020년 12월 8일
상수를 표현하는 두가지 방법
final과 const는 모두 상수(constant)를 선언할 때 사용되는 키워드입니다. Dart에서는 final과 const를 통해 선언된 변수는 수정이 불가능하도록 막아줍니다. const는 compile 단계에서 값이 정해지는 상수입니다. 그렇기 때문에 매번 값이 바뀌는 이나 와 같이 멱등이 보장되지 않는 값들은 const로 선언할 수 없습니다. const…
[번역] 그림으로 보는 SOLID 원칙2020년 6월 18일
객체지향 프로그래밍 5대 원칙
SOLID 원칙과 관련된 좋은 그림예시가 있어서 이를 번역하면서 예제코드를 추가하였습니다. 만약 당신이 과 친숙하다면, 당신은 에 대해 들어보았을 것 입니다. 이러한 다섯가지 개발 원칙은 소프트웨어 개발과 유지보수를 쉽게 할수 있도록 하는 가이드라인이라고 볼 수 있습니다. 이러한 원칙은 Robert C. Martin…
[번역] Dockerfile 레퍼런스 (2) - Buildkit2020년 3월 29일
동시성을 가지며, 캐시 효율적이며 Dockerfile에 독립적인 빌더 툴킷
공식 레퍼런스를 토대로 작성되었습니다. BuildKit 도커 버전 18.09부터, moby/buildkit를 통한 빌드를 지원합니다. Buildkit 백엔드는 기존 빌드방식과 비교해 많은 이점이 있습니다. 사용하지 않는 빌드 단계를 탐지하여 실행하지 않음 독립적인 빌드 스테이지의 병렬화 변경된 context만 전송 context…
[번역] Dockerfile 레퍼런스 (3) - Format2020년 3월 29일
가독성을 높이는 명령어 포맷
공식 레퍼런스를 토대로 작성되었습니다. Format Dockerfile의 포맷은 다음과 같습니다. Instruction은 대문자 소문자를 가리지는 않습니다, 하지만 이러한 컨벤션을 지킴으로써, arguments를 좀더 쉽게 파악할 수 있습니다. 도커는 에 있는 instruction을 순서대로 실행시킵니다. 은 반드시 `FROM`명령어로 시작해야합니다. FROM…
[번역] Dockerfile 레퍼런스 (4) - Parser Directives2020년 3월 29일
FROM 명령어 이전에 사용할 수 있는 지시문
공식 레퍼런스를 토대로 작성되었습니다. Parser directives…
[번역] Dockerfile 레퍼런스 (1) - Usage2020년 3월 29일
도커 데몬의 작동방법, 이미지 빌드 & 태깅, 캐시이미지 가져오기
공식 레퍼런스를 토대로 작성되었습니다. 도커는 을 읽어서 자동으로 이미지를 빌드할 수 있습니다. 은 이미지를 만들기 위해 사용되는 모든 명령어를 담고있는 문서입니다. 이러한 명령어들은 실제로 유저가 CLI…
싱글톤 패턴 (Singleton Pattern)2020년 2월 23일
반복되는 인스턴스 낭비를 줄이자
참고자료 Singleton pattern 타입스크립트 디자인 패턴 1. Intro 특정 클래스의 인스턴스가 단 하나만 존재해야 하는 경우에 싱글톤 패턴을 사용합니다. 싱글톤 패턴은, 반복적인 디자인 문제를 해결하는 방법을 설명하는 책인 Design Patterns의 2…
REST에 대하여2020년 1월 27일
REST API는 대체 무엇이고, Restful 하다는 건 대체 무엇인가
참고자료 Representational state transfer HTTP Status Codes REST API의 이해와 설계 - 조대협의 블로그 1. Intro 2000년 Roy Fielding의 논문에서 처음 정의된 는 소프트웨어 아키텍쳐 스타일로, 아래와 같이 간단하게 설명할 수 있습니다. 자원(Method)을 정의하고 자원에 대한 주소(URI…
Express.js의 미들웨어(Middleware)2020년 1월 4일
Express 애플리케이션은 기본적으로 일련의 미들웨어 함수 호출입니다
참고자료 Express In Action Express.js Express의 에 대해 다룹니다. 1. Intro image Express는 자체적인 최소한의 기능을 갖춘 라우팅 및 미들웨어 웹 프레임워크이며, Express 애플리케이션은 기본적으로 입니다. 미들웨어 함수는 요청 오브젝트(req), 응답 오브젝트(res…
Express.js란 무엇인가 (Javascript 백엔드 프레임워크)2020년 1월 3일
Node.js를 위한 빠르고 개방적인 간결한 웹 프레임워크
참고자료 Express In Action Express.js Node.js, Express가 등장한 과 에 대해 설명합니다. 1. JS 엔진과 Node.js Express에 관해 얘기하기 전에, Node.js에 대한 얘기를 먼저 해야 합니다. 이를 위해 Express 인액션의 일부 내용을 발췌하였습니다. : JS…
class-validator를 사용한 타입스크립트(Typescript) Validation2019년 12월 17일
Typescript Data Validation
참고자료 : typestack/class-validator 를 사용하는 환경에서 를 사용하여 를 하는 과정을 다루고 있습니다. 1. Data Validation Data Validation(데이터 유효성 검사)이란, 다루는 데이터가 올바른 을 가지는지 확인하는 과정입니다. 2. class-validator typestack/class-validator…
장고(Django)에서 S3 연동하기2019년 7월 17일
Amazon Web Service S3
출처 : django 에서 S3에 Static, media 파일 저장하고 사용하기 소셜미디어 프로젝트를 준비하면서, 을 줄이기 위해 를 도입하고자 하였다. Django에서 S3를 연동하기 위해서는 라는 라이브러리를 사용해야 한다는 것은 이미 알고 있었으나, 정확한 사용 방법을 몰라서 찾아보았고, 나중에도 사용할 때 까먹지 않기 위해 포스팅으로 작성하려 한다.…
파이썬(Python3)으로 왓쓰리워즈(what3words, W3W)를 이용해보자.2019년 5월 20일
세상의 모든 주소를 세 단어에 담다
what3words란? what3words (W3W)는 전 세계 지도 상의 스팟을 3개의 단어로 표현한 좌표체계입니다. 이 기능을 사용하면 마이크로 단위의 장소 공유와 주소가 없는 지점도 세 단어 주소로 공유/검색이 가능합니다. 현재 로 W3W 세단어 주소가 제공 중이며, 에서도 what3words와의 제휴를 통해 W3W 주소체계를 서비스 하기 시작했습니다. image…
포스트그레스(PostgreSQL)로 설명하는 도커 컴포즈(Docker Compose) 초간단 사용법2019년 3월 2일
이번 장에서는 의 일반적인 사용방법과, 이를 사용하여 PostgreSQL을 배포하는 방법에 대해서 설명하겠습니다. 0) Compose란? Overview of Docker Compose 란 여러개의 도커 컨테이너들을 한꺼번에 관리(빌드, 배포 등) 할 수 있는 Tool입니다. Compose를 사용하면 을 사용하여 응용 프로그램의 서비스를 구성 할 수 있습니다. YAML…
나만의 도커(Docker) 이미지를 만들어서 장고(Django) 서비스 배포하기2019년 2월 25일
저번 장에서는 를 확인해보았고, 되었음을 확인했습니다. 이번 장에서는 를 직접 만들어서 배포해보고, 에 업로드까지 해보겠습니다. 본 포스팅의 프로젝트 는 를 통해 얻을 수 있습니다. github.com/siner308/django-with-custom-image docker image from cultivatehq.com 0) Dockerfile…
장고(Django) 공식 이미지로 설명하는 도커(Docker)의 기본적인 사용법2019년 2월 16일
이번 장에서는 를 사용하여 에 대해 설명하겠습니다. Custom 이미지를 생성하여 Django를 배포하는 방법에 대해서는 다음 장에서 다루겠습니다. 0) Docker Docker란 무엇입니까? Docker는 애플리케이션을 신속하게 구축, 테스트 및 배포할 수 있는 소프트웨어 플랫폼입니다. Docker…
셀레니움(Selenium)과 파이썬(Python)으로 지도 크롤링 해보기2019년 1월 27일
0) 계기 어느날 저희 아빠가 저에게, 아빠 : “이게 경기도 번지수를 보여주는 사이트인데, 일정 구역을 프린트해서 보고 싶어.” 아들 : “컴퓨터로 이렇게 잘 보이는데 왜 뽑아야되나요?” 아빠 : “어르신들과 같이 보는데 노트북으로 보여드리기는 그렇고, 전지로 뽑아가고 싶어.” 아들 : “네… 오늘 안에 처리해드리죠.” 해서 크롤러를 만들게 되었습니다.…
Start Django with Virtualenv2019년 1월 12일
This post is based on Ubuntu 16.04. Here's what you need to configure a Django project using virtualenv. pip virtualenv (Python >= 3.5) Django >= 2.0 0) Why virtualenv? There are people who say that "Django…
가상환경(Virtualenv)로 장고(Django) 시작하기2019년 1월 12일
본 게시물의 내용은 Ubuntu 16.04 를 기반으로 작성되었습니다. virtualenv를 이용한 Django 프로젝트 구성에 필요한 요소는 다음과 같습니다. pip virtualenv (Python >= 3.5) Django >= 2.0 0) virtualenv를 쓰는 이유 "가상환경으로 안해도 Django…
Deployed by NetlifySource code on Github