일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- Kotlin
- mongoose
- ubuntu
- mysql
- Network
- OOAD
- docker
- DATABASE
- Util
- OS
- TypeScript
- S3
- postman
- wireshark
- Scheduling
- MongoDB
- linux
- css
- Android
- HTML
- algorithm
- macos
- sequelize
- python
- React
- node.js
- AWS
- typeorm
- Express
- Crawling
- Today
- Total
목록
반응형
분류 전체보기 (144)
Seongwon Lim
서론 프로그래밍을 하다보면 현재 날짜 혹은 특정 날짜를 알아야 하는 경우가 존재한다. 이번 글에서는 파이썬에서 제공하는 datetime 모듈을 이용해서 현재 날짜를 구하는 방법, 그리고 현재 날짜를 기준으로 다양한 날짜를 구하는 방법을 간단하게 살펴보고자 한다. 먼저, 해당 모듈을 사용하기 위해 라이브러리를 불러온다. from datetime import datetime, timedelta 현재 날짜(시간) 구하기 now = datetime.now() # 또는 datetime.today() print(now) # 결과 : 2022-05-15 21:02:26.837966 datetime의 기본 형식을 수정하고 싶은 경우 strftime 형식을 사용하고 datetime모듈 내에 내장된 strftime()메서..
ORM (Object-Relational Mapping) 의미 ORM은 단어 그대로 해석하면 객체와 데이터베이스의 관계를 매핑해주는 것이다. 조금 더 부가적으로 설명하면 프로그래밍 언어의 객체와 관계형 데이터베이스의 데이터를 자동으로 연결해주는 도구라고 생각할 수 있다. ORM, 왜 필요할까? 먼저, ORM을 이해하기 전에 객체 정의 및 객체 간 연관성을 데이터베이스 테이블에 저장하는 과정을 살펴볼 필요가 있다. 우리는 어떤 어플리케이션을 만들 때, 관련된 정보들을 객체에 담아 보관한다. 예를 들어, 사람이라는 객체에는 주민등록 번호, 이름, 키 등이 저장될 수 있고, 주소나 전화번호 같은 추가로 저장될 객체들이 연결 될 것이다. 이렇게 작성된 객체들은 영구적으로 저장하기 위해 파일이나 데이터베이스에 저..
서론 구글링을 하다보면 본인이 무엇을 검색했는지 검색 기록에 남는 경우가 있다. 그러나, 다른 사람과 같이 있을 때 본인의 검색 기록을 숨기고 싶거나 스스로가 검색 기록이 있는 것을 좋아하지 않는 경우가 있을 수도 있다. 이러한 상황을 대비하기 위해 이번 글에서는 구글의 검색 기록을 숨기는 방법을 간단하게 알아보고자 한다. Google 계정 관리 먼저, 화면에 보이는 노란 부분을 클릭하여 본인의 Google 계정 관리 탭으로 들어간다. 데이터 및 개인정보 보호 다음으로는 좌측 메뉴에 보이는 데이터 및 개인 정보 보호 메뉴로 들어간다. 활동 및 방문한 장소 그리고 위 사진에 보이는 첫번째 탭을 클릭한다. 구글 검색 기록이 활성화되어 있는 경우 위 사진과 같이 웹 및 앱 활동이 사용 상태로 나타나 있을 것이..
들어가기 [node.js] Sequelize를 이용하여 Mysql Create 구현하기 위의 포스팅 글에서 Sequelize를 이용하여 데이터베이스에 데이터를 추가하는 예제를 살펴보았다. 이 때에는 이메일 중복체크 기능이 없었기 때문에 똑같은 이메일 문자열로 요청했을 경우 데이터가 추가된다. 하지만, 실제로 회원가입 서비스를 구현할 때에는 사용자 정보가 다른 사용자의 정보와 중복되지 않도록 해야한다. 따라서 이번 포스팅 글에서는 위에서 구현한 회원가입 서비스에 이메일 중복체크기능을 추가하여 동일한 데이터가 저장되지 않도록 하는 예제를 살펴보고자 한다. 수정 전 코드 // POST를 통해서 테이블에 접근 후 데이터를 생성 router.post('/', (req, res, next) => { models.U..
들어가기 [node.js] Sequelize를 이용하여 Mysql Create 구현하기 데이터베이스에 데이터를 추가하는 Create에 관한 내용은 이전 포스팅에서 다루었으므로 이번 포스팅 글에서는 Create를 제외한 RUD에 관한 내용을 다룰 것이다. 따라서 Create 내용이 궁금한 분들은 위 포스팅 글을 참고하면 좋을 것 같다. 또한 초기 데이터로 Users 테이블에 위와 같이 데이터가 들어 있는 상태에서 예제를 살펴볼 예정이다. Read 기능 구현하기 Seqeulize를 이용해서 조회 기능을 구현할 때에는 findOne(), findAll() 등의 메서드를 이용한다. findOne : 데이터 단일 조회 시 사용 findAll : 특정 조건을 가진 데이터 전체 조회 시 사용 1. findOne()을..
[node.js] Sequelize 사용 방법 및 Mysql 연동하기 이번 포스팅은 위 링크의 예제에서 이어지는 글이므로 sequelize를 이용한 데이터베이스 사용 및 연동 방법이 궁금하신 분들은 위 포스팅을 참고하면 된다. What is CRUD? CRUD는 대부분의 컴퓨터 소프트웨어가 가지는 기본적인 데이터 처리 기능인 Create(생성), Read(읽기), Update(갱신), Delete(삭제)를 묶어서 일컫는 말이다. 사용자 인터페이스가 갖추어야 할 기능(정보의 참조/검색/갱신)을 가리키는 용어로서도 사용된다. 이번 글은 CRUD 중에서도 새로운 데이터를 생성하는 Create에 대해서 살펴볼 것이다. How to Create in NodeJS using Sequelize Sequelize를 이..
What is Sequelize? Sequelize는 Postgres, MySQL, MariaDB, SQLite 및 Microsoft SQL Server용 promise-based 기반의 Node.js ORM이다. 견고한 트랜잭션 지원을 지원하고, 지연 로딩, 읽기 복제 등 많은 기능을 제공한다. ORM은 자바스크립트 객체와 데이터베이스 간 관계를 매핑해주는 도구라고 생각하면 된다. 관계형 데이터베이스는 테이블을 사용한다. 초기 설정 $ npm init // package.json 생성 $ npm i --save sequelize mysql2 // 모듈 설치 $ npm i -g sequelize-cli // 콘솔에서 sequelize 명령 가능하게 하는 모듈 $ sequelize init // 필요한 파..
What is Query? 쿼리(Query)는 데이터베이스에 정보를 요청하는 행위를 의미한다. 쿼리는 웹 서버에 특정한 정보를 보여달라는 웹 클라이언트 요청에 의한 처리이며, 주로 문자열을 기반으로 한 요청이다. 쿼리는 데이터베이스에서 특정 데이터를 추출하기 위한 용도로 사용된다. 다중 쿼리(Multiple Query) 다중 쿼리는 말 그대로 쿼리문이 2개 이상 들어간 쿼리를 의미한다. 서브 쿼리와는 조금 다른 의미인 것을 유의해야 한다. (서브 쿼리는 하나의 SQL 문에 포함되어 있는 또 다른 SQL 문을 의미한다) 이번 예제에서는 쿼리문 2개를 예로 들어 NodeJS에서 어떻게 다중 쿼리를 처리하는지 살펴볼 것이다. NodeJS에서 Mysql 연동 및 쿼리 예제 [node.js] Mysql 연동하기 ..
암호화를 해야하는 이유? 데이터베이스에 비밀번호 정보가 그대로 들어가게 되면 심각한 보안 문제가 발생할 수 있다. 다른 사용자는 물론이고 관리자 또한 사용자들의 비밀번호 정보를 알 수 없게 해야 한다. What is Bcrypt? 위키에 따르면 bcypt는 블로피시 암호에 기반을 둔 암호화 해시 함수이다. 솔트를 통합한 bcrypt는 적응형 함수의 하나이며 시간이 지남에 따라 속도 저하를 위해 반복 횟수가 증가가 수반될 수 있으므로 연산 파워의 증가에도 브루트 포스 검색 공격에 대한 저항을 유지할 수 있도록 설계된 암호화 기술이다. 기존에 사용하던 SHA512, SHA256 해싱 함수와는 다르게 Salt 라는 개념을 도입하여 해싱을 하기 때문에 더 강력한 암호화를 할 수 있다고 평가받고 있다. What ..
리눅스 환경에서 파일 사이즈 출력하기 EC2 환경에서 공부를 하던 중 파일 크기를 확인할 소요가 생겼다. 필자는 항상 ls -l 명령어를 통해서 파일의 사이즈를 포함한 정보를 출력하여 확인했다. 예를 들면 이런 식으로 말이다. 하지만, -l 옵션은 파일 사이즈 단위를 Byte 단위로 출력해주고 단위의 표시가 없기 때문에 파일 사이즈를 읽을 때 헷갈린 경우가 있었다. 해결방법 ls -l 이 아닌 ls -lh 옵션을 주면 파일 크기가 단위를 포함하여 보여주기 때문에 쉽게 확인할 수 있었다. 단순한 문제 일지라도 파일 사이즈가 매우 커지는 경우 한 눈에 확인하기가 어렵기 때문에 리눅스 환경에서 파일 사이즈를 확인할 필요가 있는 경우 -lh 옵션을 활용하면 좋을 것 같다는 생각을 했다. 출처 http://mel..