TIL&WIL/TIL(25)
-
ORM [ TIL ]
Problem ORM 에 대해서 간단히 알아보자. Solve Object Relational Mapping 의 약자이다. 프로그래밍 언어의 객체와 관계형 데이터베이스의 데이터를 자동으로 연결해주는 도구이다. 왜 사용할까? 데이터 베이스의 접근을 사용하고 있는 프로그래밍 언어의 관점에서 맞출 수 있다. SQL 을 자동으로 생성하여 불일치를 해결한다. SQL 문을 직접 작성하지 않고 엔티티를 객체로 표현할 수 있다. 즉 객체를 통해 간접적으로 데이터베이스를 다룬다. 장점 직관적인 코드와 비즈니스 로직에 집중 가능하다. 재사용 및 유지보수의 편리성이 증가한다. 그리고 DBMS 에 대한 종속성이 저하되는 장점이 있다. 단점 완벽한 ORM 으로만 서비스 구현이 어렵다. 프로젝트의 복잡성이 커질 경우 난이도 도..
2023.07.09 -
HTTP 상태코드 [ TIL ]
Problem nodejs 에서 express 를 사용하면서 api 를 만들때 status 를 통해 상태 코드를 보낸다. 이 상태코드들이 의미하는 바를 몰라 정리를 해본다. Try 아래 두 사이트를 참고하였다. https://developer.mozilla.org/ko/docs/Web/HTTP/Status HTTP 상태 코드 - HTTP | MDN HTTP 응답 상태 코드는 특정 HTTP 요청이 성공적으로 완료되었는지 알려줍니다. 응답은 5개의 그룹으로 나누어집니다: 정보를 제공하는 응답, 성공적인 응답, 리다이렉트, 클라이언트 에러, 그리고 developer.mozilla.org https://ko.wikipedia.org/wiki/HTTP_%EC%83%81%ED%83%9C_%EC%BD%94%EB%9..
2023.07.05 -
Joi [ TIL ] [ node.js ]
Problem api 를 만들때 일일이 if 로 유효성검사하는 것이 불편하였다. Try 괜찮은 라이브러리가 있나 npm 에서 찾아보았습니다. validation 을 검색했는데 인기있어보이는 라이브러리가 두 개 있었다. express-validator 와 joi 라는 것이 눈에 띄었는데, 둘 중 다운로드 수가 가장 많은 joi 를 선택했다. const Joi = require('joi'); const schema = Joi.object({ username: Joi.string() .alphanum() .min(3) .max(30) .required(), password: Joi.string() .pattern(new RegExp('^[a-zA-Z0-9]{3,30}$')), repeat_password: ..
2023.07.03 -
package.json [ TIL ]
서론 package.json 에 대해 알아보자 Solve package.json이란 현재 프로젝트에 관한 정보와 패키지 매니저를 통해 설치한 모듈들의 의존성을 관리하는 파일이다. npm init -y 위 명령어를 통해 package.json 파일을 생성할 수 있다. 이를 통해 패키지의 상세정보를 빠르게 확인 할 수 있다. main 은 라이브러리의 주된 엔트리 포인트이다. dependencies 는 npm 에서 사용할 수 있는 프로젝트의 종속 사항이며, 패키지를 설치할 때 설치된다. What I Learned package.json 생성 방법과, 간단하게 목적을 알아보았다. dependencies 나 devDependencies 의 모듈의 버전에 대한 자세한 내용을 적지 않았는데 TIL 이 너무 길어..
2023.07.02 -
HTTP [ TIL ]
Problem www.naver.com 을 입력했을 때 일어나는 일을 알아보자 Try 막연하게 네이버가 켜진다 를 생각했었다. 우아한 테크톡 을 시청했고, mdn HTTP 를 보았으며 몇 개의 블로그를 보았다. Solve 전체적인 HTTP 통신을 알게 되었다 . 우선 HTTP 는 하이퍼 텍스트 트랜스퍼 프로토콜의 약자이다. 우선 도메인을 딱 클릭하면 1. DNS 를 통해 IP 주소로 바뀌고 2. 클라이언트는 DNS 서버로 부터 받은 IP 를 사용하여 네이버에 TCP 연결을 한다. 3. 연결이 확인되면 HTTP 요청 메시지를 서버에 보낸다. 4. 서버는 HTTP 요청을 처리하고 요청작업을 수행한다. (클라이언트가 웹 페이지를 요청했다면 HTML, CSS, JS 등의 리소스를 보내준다) 5. 클라이언트는..
2023.07.01 -
객체 지향 프로그래밍 OOP [ TIL ]
Problem node.js 관련 프로젝트 코드를 보던 중 class 를 통해 작성하는 것을 많이 보았다. 객체 지향(OOP)이라는 키워드를 알게 되었고 알아보기로 했다. 객체 지향의 특징들을 알아보자. Try 검색하며 조사하다 보니 OOP 의 개념이 정말 많고, 하루아침에 잘 알게되거나 하는 부분이 아닌걸로 보였다. 그래서 간단한 개념과, 왜 객체지향을 사용하는지에 대해 알아보았다. Solve 객체 지향은 좋은 코드를 짜기 위한 방법이다. 이 좋은 코드는 변경하기 쉽고, 이해하기 쉬운 코드. 쉽게 유지보수가 가능하고 다른 개발자, 나중에 내가 봐도 이해하고 버그를 찾아낼 수 있는 코드이다. 구조화, 추상화 좋은 코드를 쓰려면 나누고 묶어야하는데 복잡한 프로그램을 작은 단위로 나누고 묶어서 정리해야한..
2023.06.28