전체 글 48

[Nest] Nest.js란? 기본개념 ( + loose coupling ) + 설치 및 폴더구조 살펴보기

앞서서 package.json (+package-lock.json) 으로 node 에서의 모듈 버전관리에 관해 간략하게 다뤘었고 (https://bans.tistory.com/22) [npm] 어? 그거 그냥 만들어지던데... [ package.json ] npm - Node Package Manager Javascript 환경에서 개발을 하는 데 빼놓을 수 없는것이 바로 npm이다. npm - node package manager 패키지를 프로젝트에 설치하거나 갱신 또는 삭제하는데 사용되는 도구를 패키지.. bans.tistory.com TypeScript의 간략한 개념 및 사용하게 된 배경 등을 다뤘었다. (https://bans.tistory.com/25) [TS] TypeScript란? - 기본개..

[MVC Pattern] MVC 패턴이란? 기본적인 개념 알고가기

MVC 패턴이란? Why MVC? MVC 패턴은 소프트웨어 공학에서 연구된 아키텍쳐 (Software Architecture) 구조 중 하나이다. 패턴의 목적은 사용자 인터페이스 (UI) 와, 비즈니스 로직의 분리라고 한다. 웹 개발 업계에서, 이러한 MVC 패턴을 많이 이용하곤 하는데, 사용하게 된 계기를 추론하자면 아래와 같다. 프로젝트 개발하면서 생기는 소스코드들 (src) 에 관련하여.. 사실 개발자들의 성향에 따라 그 소스코드들의 정리 및 보관 / 유지보수를 위한 코드관리는 사바사 (사람 by 사람), 케바케 (Case by Case).. 각자의 취향(?)을 따라 코드가 관리되곤 한다. ( 심지어 본인의 핸드폰 어플리케이션 아이콘 정렬도, 규격화되어있지 않고 취향따라 나뉘지 않는가! ) 하나의 ..

[draw.io] 편하게 기본 이미지 import 하여 다이어그램 그리기!

여러 프로젝트 기획에 사용되는 Diagrams, Charts, Boards.. 등등 이게 하나하나 손으로 그리자니 귀찮고.. PPT 나 Keynotes 등.. 발표 툴로 그리자니 영 불편하고.. 그래서 이런 기획 문서들을 그리기 편한 도구가 여럿 존재한다! 그중, 무료 프로토타입 툴 - draw.io 의 기능 중, 편한 레이아웃을 사용할 수 있는 방법을 알아보자! 1. draw.io 접속시 초기 화면 처음 접속 시, 작성할 diagrams 의 저장 위치를 물어본다. 저장하고자 하는 위치를 선택하자, 작성자는 Device 를 선택하여 진행했다. 기존에 작성중인 파일이 있다면 Open Existing Diagram, 새로 작성하기 위해 Create New Diagram 선택! 작성할 다이어그램을 선택해서 그..

[TS] TypeScript란? - 기본개념

TypeScript, 왜 만들어지게 되었는가? - TypeScript 는 Javascript 엔진을 사용하면서 커다란 애플리케이션을 개발할 수 있게 설계된 언어이다 (관련 페이지) 위키백과에 서술되어있는 TypeScript 의 시작 문단이다. TypeScript 는 Javascript 의 한계를 (단점을) 보완하여 개발된 오픈소스 언어라고 한다. 그럼 Javascript 는 왜 단점이 있었으며, Javascript 내에서는 왜 해결하지 못했던 걸까? Javascript - Interpreter Language 자바스크립트는 1995년, html 안에서의 동적 움직임 및 작용을 표현하기 위해 개발된 인터프리터 언어이다. 인터프리터 언어의 특성상 '컴파일 단계' 를 거치지 않고 로직이 구현되게 되었으며 이러..

[BE] Scraping (스크래핑) & Crawling (크롤링) 개념

스크랩 (Scrap) 주로 신문 기사 등을 오려서 모으는 것을 '스크랩' 이라 표현하곤 했다. 사전에는 스크랩의 뜻을 아래와 같이 표현하고 있다. 이 처럼 '필요한 글' 이나 '사진' 을 오려 내는 일을 '스크랩' 이라 하며 이를 웹 페이지에서 함수(기능) 등을 이용하여 구현해 놓은 것을 (웹)스크래핑 이라고 한다. 위의 내용은 현재 접속한 나의 블로그의 메인 페이지 html 문서 header 에 들어있는 meta tag 들이다. 내 블로그 페이지 (https://bans.tistory.com) 를 복사하여 (혹은, 다른 링크를) 다른 곳 (카카오톡, 디스코드, 블로그 등등)에 링크했을 때 해당 플랫폼에 이렇게 해당 페이지의 정보가 뜨는 것을 본 적 있을 것이다. 이러한 이미지 / 간략한 설명 글은 해당..

[DB] About ORM - ORM이란? ( TypeORM 은 뭐지? )

ORM - Object Relational Mapping DBS (Database System)은 크게 RDB - Relational DataBase ( 관계형 데이터베이스) NoSQL (Non SQL or Not only SQL) Database 두 가지의 유형으로 나뉘어 있다. RDB 는 테이블 형식의 2차원 배열로 표현되며 (테이블) NoSQL은 문서(document), collection 등 여러 방식으로 표현된다. 간단한 차이점으로는 RDB는 수직 확장 (서버 용량의 확장) 이 용이하며 NoSQL은 수평 확장 (서버 갯수의 확장) 이 용이하다. 그래서 ORM 이 뭔데? 프로젝트는 전체적으로 데이터베이스 서버 백엔드 서버 프론트엔드 서버 (+클라이언트 서버) 로 이루어져 있고, 데이터베이스 서버에..

BE/Database 2022.07.15

[npm] 어? 그거 그냥 만들어지던데... [ package.json ]

npm - Node Package Manager Javascript 환경에서 개발을 하는 데 빼놓을 수 없는것이 바로 npm이다. npm - node package manager 패키지를 프로젝트에 설치하거나 갱신 또는 삭제하는데 사용되는 도구를 패키지 매니저(Package Manager)라고 하며, 현재 자바스크립트 패키지 매니저는 npm, yarn 이렇게 두가지 도구로 나뉘어져 있다. npm : https://npmjs.com yarn : https://yarnpkg.com/ node 를 사용할 때 필요한 모듈들을 install 하고 개발자가 만든 모듈들을 upload할 수 있으며 사용방법 등의 정보가 위의 두 개의 커뮤니티를 통해 공유되고 있다. 하지만, 프로젝트를 만드는 데에는 한 가지의 모듈만 ..