100%를 한번에 바꾸는건 어려워도 1%를 100번 바꾸는건 쉽다.

생각정리 자세히보기

개발 42

[Node.js] nodemailer를 이용한 메일 전송

프로젝트에서 nodemailer를 사용을 했다... 4시간이나 삽질을 해서 다음에는 해매지않도록 기록을 해두려고 한다. 먼저 패키지를 설치해야한다. npm i -s nodemailer 패키지를 설치하면 package.json이 다음처럼 변경된다. { "name": "back", "version": "0.0.0", "private": true, "scripts": { "start": "node ./bin/www" }, "dependencies": { "cookie-parser": "~1.4.4", "debug": "~2.6.9", "express": "~4.16.1", "morgan": "~1.9.1", "mysql2": "^2.3.3", "nodemailer": "^6.7.2", "sequelize": ..

[Node.js] Sequelize Model 설정

Sequelize의 동작방식 크게 두가지 방식으로 나눌수있다. 1. DB 스키마를 DB에서 다루는 방식 2. DB 스키마를 Sequelize에서 다루고 실행때마다 model 폴더안에 있는 entity들을 가져와서 스키마를 생성한다. 1번의 경우는 ERD를 따로 작성했을경우에 사용한다고 한다. 2번의 경우는 JS에서 DB를 관리할수있는 편리함이 있다. 2번이 더 유용해보이지만 따로 DBA가 있는경우 1번 방식을 사용한다고 한다. 이번 프로젝트를 진행하는 목적이 공부를 하기위함이고, 이미 ERD를 작성했으니 1번 방식으로 진행을 하려고 한다. DB 테이블을 자동으로 models폴더에 js파일로 생성하기. 설정하는 파트의 부분은 ERD를 전부 작성했다는 전제하로 설명한다. sequelize-auto라는 라이브..

[Git] Git으로 협업하기

사이드 프로젝트의 설계를 전부 마치고, 이제 본격적으로 개발환경을 잡아가면서 Git을 사용하기 시작했다. 사용하면서 헷갈리는 부분이 있었다. 바로 Git Branch와 Git Flow에 관한 부분이 헷갈렸었다. 사실 많이 사용은 했었지만, 막상 이 부분을 설명할때 막히는 부분이 있었다... 열심히 공부해야겠다... 다음 사진은 우리가 Git으로 협업하는 방법을 그림으로 표현한것이다. 참고 https://techblog.woowahan.com/2553/ https://www.holaxprogramming.com/2018/11/01/git-commands/

개발/Git 2021.12.15

[Node.js] Express + Sequelize + Mysql로 Backend 구축

step 1. Mysql 설치 step 2. Express 설치 npm install -g express-generator // 전역으로 express-generator 생성 express --no-view // 구성 요소 생성 step 3. Sequelize 설치 npm i sequelize sequelize-cli mysql2 // sequelize에 관련한 명령어와, mysql 드라이버 설치 npx sequelize init // sequelize 설치 npm i // package.json에 있는 라이브러리 설치 step 4. Sequelize 추가 설정 models/index.js const Sequelize = require('sequelize'); const env = process.env...

[기타] VSCode에서 자동 들여쓰기 설정하는 방법

최근에 라피신에 합격하여 42서울 본과정에 다니고 있다. 그러면서 자연스럽게 C 개발을 어떻게 해야할지 고민을 하던중 VSCode를 에디터로 선택하게 되었고, 기존의 IDE와 다르게 자동 들여쓰기가 안돼는 불편함이 있었다. 그래서 이 글을 작성하게 되었다. 지금 선택되어있는 부분은 탭 한개에 얼마만큼의 공백을 줄것인지에 대한 설정입니다. 저는 탭 하나에 공백 4개로 설정해두었습니다. 예시는 다음과 같습니다. 다음으로는 탭키를 누를때 정말 탭으로써 사용할 것인지, 공백을 4칸 추가하는것인지 설정입니다. 저는 탭키로 설정하려고 하기에 공백으로 삽입하지않는 설정을 하였습니다. 예시는 다음과 같습니다. 지금까지는 기본적인 설정이였고, 이제부터 자동 들여쓰기에 관련된 내용이다. 파일을 저장하는 Ctrl + S를 ..

개발/기타 2021.12.09

[Linux] Vim 에디터 초기 설정

Vim은 리눅스의 기본 에디터인만큼 반드시 한번쯤은 사용하게되는 에디터이다. 내가 Vim을 사용하게 되면서 가장 불편한 점은 바로 IDE처럼 들여쓰기 기능이 없다는것이다. 개인적으로 소스코드를 보게 되면 가장 중요하게 생각하는점이 가독성이라고 생각을 하는데, 이 들여쓰기가 없으면 소스코드를 작성하는데 불편했었다. 그렇기에 Vim 설정에 대해 공부했었고, 나에게 맞는 설정을 찾았다. Vim 설정은 내 홈 디렉토리의 .vimrc를 설정한다. 없다면 만들어야하고, 반드시 Vim 패키지를 설치해야한다. 가독성 set number : 에디터에 라인번호를 출력한다. 검색 set hlsearch : 검색을 할 경우 강조한다. 여백칸 설정 set ts=8 : \t를 할 경우 8칸을 띄운다. set sw = 자동 들여쓰..

개발/Linux 2021.09.23

[Linux] Ubuntu에서 netplan으로 고정IP 설정하기

최근까지 가상머신으로 Linux 환경에서 C, Shell 실습을 진행하였다. 그래서 Putty로 SSH 접속을 하는데 고정으로 IP가 할당되지 않아서 애를 먹었다... 이 글은 처음에 설치한 그대로 진행한다는 전제를 두고 작성한다. Ubuntu 18 LTS 부터는 Netplan이 적용되어 설정 방식이 변경됨. 0. 사전 세팅 Virtualbox로 ubuntu를 설치할때 네트워크 설정을 바꿔야한다. 어댑터에 브리지를 선택하여 호스트 컴퓨터와 같은 네트워크상에 있도록 설정한다. (이 작업이 설정되어있는 경우 다음으로 넘어가도 좋다) 만약 NAT로 설정되어있는 경우가 있다. 그럴경우는 네트워크 대역대가 완전히 달라진다. NAT는 내부 네트워크를 뜻한다. ※ 210918 22:34 추가수정 (만약 NAT를 사용..

개발/Linux 2021.09.18

[Git] Ubuntu 환경에서 SSH를 이용하여 Push하기

Linux 환경에서 Git을 이용해서 원격 저장소에 Push를 해야하는 경우가 있다... 이제 Password를 사용해서 push를 하는것이 불가능해서 토큰을 받아서 push를 해야한다고 한다. 근데 이게 매번 토큰을 발급 받아야 하는게 너무 불편해서 결국은 SSH를 사용해서 Push하기로 했다. 참고 : GitHub에서는 SSH보다 HTTP를 사용하는것을 권고함. (보안상의 이슈는 아니라고 한다.) SSH Key 생성 (이미 SSH키가 존재한다면 이 과정을 생략해도 좋다.) SSH 인증을 위해서는 서버 내에서 사용자 키 역할을 하는 공개키와 개인키를 생성해야한다. 일반적으로 사용자 키 파일은 ~/.ssh 상에 있다. 1. 사용자의 홈 디렉토리로 이동한다. 2. ~/.ssh로 이동한다. 만약 .ssh가 ..

개발/Git 2021.09.18

[기타] 반응형 웹을 위한 안드로이드 디버깅

프로젝트를 진행하면서, 모바일 브라우저를 디버깅 해야하는 상황이 왔었습니다. 일단 저는 안드로이드 개발자는 아니지만, 요즘같이 반응형 웹이 당연한 시대에서는 모바일에서도 기능이 잘 동작하는지 확인이 필요할거같습니다. 모바일 디버깅을 하기 전에 일단 모바일에서 해야할일이 있습니다. 해야할일은 두가지인데 1. 개발자옵션을 활성화 해야하고, 2. USB 디버깅을 허용해야합니다. 개발자옵션은 설정의 소프트웨어옵션을 들어가서 빌드번호를 7번?정도 누르면 활성화가 됩니다. 들어가서 USB 디버깅을 활성화 시킵니다. 모바일에서 디버깅을 할때에는 기본적으로 크롬이 있어야합니다. PC에서 해야할것에 대해서 설명을 드리면 크롬을 킵니다. chrome://inspect 위의 URL을 입력하면 아래의 화면이 뜨게됩니다. 이 ..

개발/기타 2021.01.11

[Spring] addAttribute와 addFlashAttribute의 차이점

프로젝트를 진행하다가 RedirectAttributes를 사용할일이 있었고, 새로운 사실을 알게되었습니다! 우리는 지금까지 다른곳으로 Redirect해야할때 RedirectAttributes의 addAttribute를 이용하여 해당 요청을 다시 요청하였습니다. 그러나 이렇게 넘길경우 Redirect하는 URL에 get방식으로 데이터를 남기게됩니다. 그래서 이런식으로 URL이 설정되게됩니다. 192.0.0.15/요청URL?redirect한값=redirect한값 이렇게 넘어가게되는 이유는 기본적으로 Redirect는 Post / Redirect / Get 방식이기 때문에 결국에 Get으로 데이터가 넘어가됩니다. 또한 addAttribute의 경우에는 requestparameters로 값을 전달하므로 addA..

개발/Spring 2021.01.06