DSM 설치를 몇 번이고 시도해봤지만, 먹통이었던 DS918+ 그다음 주 평일 오전, 와이즈 허브 A/S 센터에 전화를 걸고 현재 상황에 대해 공유하였습니다. "DS918+의 전원 종료를 시도하였지만, 종료되지 않았던 적이 몇 번 있었다." "이번에도 전원 종료가 되지 않아 강제 종료를 하였지만, 갑작스럽게 볼륨이 충돌 나 버렸다." "파일을 전부 백업하고 하드디스크를 포맷했고, 현재 정상적으로 동작하는 상황이다." "DS918+의 DSM도 초기화를 하고 난 이후 DSM의 재설치를 시도하는데 설치가 되지 않는다." "지금도 DS918+의 Status가 황색 불이 점등되고 있다." 와이즈 허브에서도 이상함을 느꼈는지, 컴퓨터로 원격요청을 하셨고, 이전에 충돌 난 하드 디스크만 삽입한 채 다시 DSM설치를 ..
오늘 한일 AWS CCP 공부를하며 많은 문제를 풀어보았습니다. 그중에 이번 미니프로젝트에서 사용할 S3 개념에 대해 다시살펴보았고, 버킷을 생성해 퍼블릭 권한으로 파일을 읽을 수 있도록 AWS CLI 설정을 하였습니다. 오늘 배운 것 AWS CCP 학습 AWS S3 설정법 내일 할 것 미니 프로젝트 진행 AWS S3 연동 필기노트 == AWS CCP 필기 == Amazon S3 버킷(Bucket) : 객체 저장 컨테이너 - 버킷 이름은 모든리전에 걸쳐 유일한 이름을 사용해야 한다. - 버킷 이름을 기반으로 URL을 생성하기 때문 - 객체 (데이터) 저장소, 무한대 용량 저장 - 버킷은 계정당 최대 100개 버킷 생성 가능 - 버킷내 데이터 객체를 Key-Value 형태로 저장 - 1개의 객체는 5TB를..
오늘 한일 미니프로젝트 2일차 입니다. 오늘부터 제대로된 업무를 진행하기 위해 API 작성에서 팀원들의 파트를 지정해 각자의 작성해야할 범위를 지정해 주었고, 전반적인 코드 작성에 편의를 위해 Github에 프로젝트의 전반적인 틀을 잡은 코드를 업로드 하였습니다. API구성이 의외로 많은 시간이 걸리지 않았습니다. Sequelize를 사용해 DB의 구성요소와 스키마를 작성하고, 모든 백 엔드 팀원들에게 프로젝트의 첫 코드를 배포하여 DB 구성을 끝난이후 부터 모든 작업은 엄청나게 빠른속도로 진행되었습니다. CRUD 기반의 API들은 이전에 배운 기초, 심화 과정을 거쳐오면서 이해하고 넘어왔기 때문에 간단히 넘어갈 수 있었고, Favorites와 같은 즐겨찾기 기능또한 매번 작성하는 코드와 크게 차이나지 ..
스파르톤의 목표 (21:00 ~ 06:00) 총 9시간 1. Multor 및 DB Image Upload 구현 2. WIL 작성 3. S3 프론트 연동 구현 21:00 항해99를 진행하면서 슬랙에서 참가해보라고 공지가 올라와 참가하게 되었습니다. 22:00 Multor이 성공적으로 진행되지 않음 DB를 구성하고 프론트를 정의해서 백엔드에 넣어주는것이 어렵습니다. 23:00 심화과제 디버깅 하는걸 도와드렸습니다. 템플릿 언어로 html을 구성하셔서 ajax 통신으로 조작하라고 설명드렸습니다. 00:00 Multor은 여전히 동작하지 않는다. 예제 단위도 점점커지고 벅차오기 시작하는거 같다. 01:00 다시 다른분의 심화과제를 도와주기 위해 시간을 할애하고 있습니다. 슬슬 피곤합니다. 02:00 심화과제 해..
EC2 Node.js MySQL설정 방법 - 보안을 위해 3306 포트번호를 AWS 보안그룹에서 열어주지 않음. $ npm i sequelize mysql2 sequelize-cli express mysql socket.io joi nunjucks jsonwebtoken chokidar Sequelize를 기반으로 Node.js를 사용하기 위해 다운로드 하는 모듈들 $ npm install -g pm2 AWS가 종료되더라도 Node.js 서버가 실행되기 위해 pm2를 설치 $ sudo apt-get update $ sudo apt-get install mysql-server $ sudo mysql mysql> use mysql; mysql Database에 접속한다. mysql> select user, ..
오늘 한일 Node.js 미니프로젝트 기간이 시작되었습니다. 팀원의 구성은 Node.js 백 엔드 3명, React 프론트 2명으로 구성되었습니다. 팀이 구성되고 프론트에서는 어떤 기술을 사용했는지 백 엔드 입장에서는 궁금한 것을 이야기해보았고, 팀원들 각자의 기술 구현능력을 분석해보았고, 이번 미니프로젝트를 어떤 주제로 진행할지 정하였습니다. 미니프로젝트를 시작하기 전 프로젝트에서 사용할 API 구성과 DB ERD모델을 생성하는 데 가장 많은 시간을 할애한 것 같습니다. 깃허브를 백 엔드, 프론트엔트 1개씩 별도로 구성하였고, 프로젝트를 진행하기 위해 필수적인 Sequelize 및 DB 구성 코드와 app.js의 express 세팅까지 구성하였습니다. 오늘 배운 것 Node.js 미니프로젝트 진행 DB..
오늘 한일 Node.js 심화 과제를 배포하였습니다. 기존에 사용하던 mongoDB로 배포를 하지 않고, MySQL을이용해 배포하다보니 설정방법에서 많은 차이가 있었습니다. DB에서 사용하는 캐릭터셋을 한글 사용이 불가능한 latin1 에서 UTF8로 변경하고, 유저를 생성하며 기존에 사용하던 Sequelize와 맞추는 작업과 파일을 수정해 MySQL을 동기화 시키는 작업이 있었습니다. 어렵지는 않지만 설정이라는 것 자체가 주는 햇갈림은 아직까지도 적응되지 않습니다. 심화주차 마지막날 조에서 작게나마 주제를 정해 20분가량의 발표를 진행하였습니다. 저는 테스트 코드라는 주제로 진행 하였는데, Supertest, jest와같은 테스트코드 작성 라이브러리 사용법과 테스트코드를 작성하는 이유, 제가 겪었던 테..
오늘 한일 Node.js 심화 과제를 일찍이 테스트코드 작성을 제외하고 전부 완료하였습니다. 작성한 코드가 난잡하게 있다보니 코드 정리를 하면서 많은 시간을 소요한 것 같습니다. 하나의 파일에 몰려있던 express 접근 코드를 각 Router별로 정리해 구성하였고, html 파일에서 참조하는 API접근 URL과 RESTful 규칙에 맞게 GET POST PATCH DELETE과 같이 해당하는 메소드 별로 정리하였습니다. 처음 구조를 구성할 때부터 많은 것을 생각하고 시작을 해야겠다는 것을 느꼈습니다. 프로젝트를 진행하며너 코드수는 점점늘어나고 하나의 파일에 모든 코드들이 몰려있으면 "내가 무슨 코드를 작성하고있더라?" 라는 햇갈림과 "이 코드가 논리적으로 효율적인게 맞는가?" 라는 확실한 해답을 내려줄..
오늘 한일 Node.js 심화 과제를 진행하면서 많은 의문과 궁금증이 있었습니다. Sequelize 모듈로 MySQL을 조작할 때 assocation을 Models에서 정의하지 않으면 JOIN 문을 사용할 수 없다는 것을 찾지 못해 엄청난 고난의 시간을 겪었습니다. 그리고 아직은 모듈의 사용법을 잘 알지 못하다 보니, SQL문으로 DB를 조작하는 것이 더 편하였습니다. 그래서 일반적인 SELECT 문이 아닌 JOIN 연산자 또는 중첩 쿼리문을 사용해야 할 경우에는 mysql이라는 node.js 모듈을 활용해 문자열을 이용해 DB를 조작할 수 있도록 설정하였습니다. Nunjucks 템플릿 엔진을 처음 사용해봤습니다. 이전에 Flask의 Jinja 2 템플릿을 사용했을 때의 문법과 비슷해 사용하는 데 어려움..