분류 전체보기

항해99/TIL

2021-07-15 항해99 TIL

오늘 한일 미니프로젝트를 완료했습니다. API 문서를 최종적으로 정리하고, Github에 서버 배포 버전을 올려 버전 관리를 종료하였습니다. 작업을 마무리하였기 때문에 오늘은 자습할 시간이 많다고 생각했던 어제의 자신을 후회합니다. 다른 기능을 공부할 시간보다는 최종적으로 API를 점검하고, Notion, Git을 관리하는 부분에서 많은 시간을 할애하였습니다. 튜터님과 면담을 진행하였습니다. 이번 프로젝트를 진행하면서 가장 많이 느꼈던 "기능을 중점적으로 할 것인가?", "프로젝트의 틀을 확실히 잡고 DB 및 구조를 최적화 해야 하는가?" 두 가지 고민에 대한 질문이었습니다. 답변은 단순한 기능을 추가하는 것보다는 진행하고 있는 프로젝트의 확실한 기능을 어떻게 구현했고, 왜 구현했는지에 대한 이유를 알고..

항해99/필기노트

[필기노트] 2021-07-14 SQL SubQuery, JOIN, Socket, ws

-- 게시글 상세 SQL SELECT p.postId, p.userId, u.nickname, p.title, p.artist, p.showDate, p.description, p.img, CASE WHEN p.postId IN (SELECT postId FROM Favorites where userId = 1) then "TRUE" else "FALSE" end as favorite FROM Posts AS p JOIN Users AS u on p.userId = u.userId; - 출력 데이터 p.postId, p.userId, u.nickname, p.title, p.artist, p.showDate, p.description, p.img, favorite 유무 - Favorites 테이블에서 해..

항해99/TIL

2021-07-14 항해99 TIL

오늘 한일 DB의 데이터를 SELECT로 가져올 때 사용할 서브 쿼리문과 JOIN을 병합해 가져올 수 있는 쿼리문을 제작하였습니다. DB를 최대한 경량화해 데이터의 중복성을 피하도록 설정했기 때문에 쿼리문을 작성하는 데에서 많은 어려움이 있었습니다. 백 엔드에서 제작할 API는 전부 종료되었습니다. 서버의 기본적인 CRUD 기능은 프로그래밍 작업 첫날에 해결이 되었지만, API 문서의 경우 프로젝트를 처음 시작한 날과는 다르게 많은 변화가 있다 보니 서버의 프로그램에서 API 문서에 맞게 수정을 하는 부분에서 많은 시간을 할애하였던 것 같습니다. 오늘 배운 것 미니프로젝트 API 구현 Search, GetPosts API SQL 문 멘탈 관리 내일 할 것 미니프로젝트 테스트코드 작성 Socket 자바스크..

NAS/Synology

[Synology] DS918+ 디스크 볼륨 충돌기 -3.5-

아침의 정규 시간을 시작하고 몇 분 지나지 않았을 무렵 처음 보는 1544로 시작하는 번호로 전화 한 통이 왔습니다. 전화를 받아보니 와이즈 허브였습니다. "혹시 시놀로지 제품 A/S 보내셨나요?" '네 맞습니다. 왜 그러시죠?' "이번에 보내주신 DS918+가 간헐적으로 종료되지 않는다고 말씀해주셨는데요, 저희가 테스트를 하더라도 확실한 문제를 찾을 수 없어 ..." 여기까지는 '아 RMA를 보내기 전에 사전에 말하고 보내려는구나'라는 생각을 하였습니다. 하지만 바로 다음 이어진 발언은 충격이었습니다. "새로운 제품으로 교체해 바로 발송해드리겠습니다." 2~3달 동안 NAS를 사용하지 못하니 백업을 못한다는 불안감 때문에 새로운 제품이나 하나 구매하려고 매물이나 뒤적거리고 있었는데 갑작스럽게 새제품으로..

항해99/TIL

2021-07-13 항해99 TIL

오늘 한일 개발하고 있는 프로젝트의 가장 핵심적인 목표는 무엇인가? 라는 의문으로 오늘 하루를 보냈습니다. 고객의 입장에서 프로젝트를 개발해야 하는지, 지금까지 배웠던 Node.js의 기술을 연습하는 것인지, 새로운 기술을 병합하는 것인지, 많이 고민하였지만 확실히 어떤 것을 목표로 삼아야 할지 정하지 못한 하루였습니다. 현재까지는 이번 프로젝트의 구성을 최적화시킨다는 것을 목표로 삼았었습니다. DB 구조를 최대한 줄여 불필요한 데이터가 생성되지 않도록 설정하였고, 미들웨어를 사용해 중복된 부분이 존재하지 않도록 코드를 작성하였습니다. 하지만 기술적인 부분에서는 새로운 기술을 도입하지 않아 부족한 느낌이 들었습니다. MySQL 서버의 Favorites 테이블과 Posts 테이블을 서브쿼리로 합쳐 case..

항해99/TIL

2021-07-12 항해99 TIL

오늘 한일 미니 프로젝트의 백 엔드 코드를 하나로 병합하였습니다. Git을 사용해 코드를 병합하기 수월하였지만, 기본적인 사용법이 익숙하지 않아 시간이 많이 소요되었습니다. 처음으로 백 엔드 API 서버와 프론트 엔드의 클라이언트 코드를 연동해보았습니다. 가장 문제였던 점은 백 엔드는 프론트 엔드에서 어떠한 방식으로 테스트하는지 알지 못한다는 점에서 "과연 내가 작성한 코드가 맞는 것 일까?"라는 의문이 들었고, 백 엔드와 프론트 엔드 모두 자기가 협업하고 있는 파트의 기술을 알고 있다면 협업하기 더 수월하지 않을까 생각하였습니다. 오늘 배운 것 AWS EC2 DB 연동 AWS S3 React 연동 미니 프로젝트 백 엔드 코드 병합 미니 프로젝트 서버 및 클라이언트 연동 Git 사용법 내일 할 것 미니 ..

NAS/Synology

[Synology] DS918+ 디스크 볼륨 충돌기 -3-

DSM 설치를 몇 번이고 시도해봤지만, 먹통이었던 DS918+ 그다음 주 평일 오전, 와이즈 허브 A/S 센터에 전화를 걸고 현재 상황에 대해 공유하였습니다. "DS918+의 전원 종료를 시도하였지만, 종료되지 않았던 적이 몇 번 있었다." "이번에도 전원 종료가 되지 않아 강제 종료를 하였지만, 갑작스럽게 볼륨이 충돌 나 버렸다." "파일을 전부 백업하고 하드디스크를 포맷했고, 현재 정상적으로 동작하는 상황이다." "DS918+의 DSM도 초기화를 하고 난 이후 DSM의 재설치를 시도하는데 설치가 되지 않는다." "지금도 DS918+의 Status가 황색 불이 점등되고 있다." 와이즈 허브에서도 이상함을 느꼈는지, 컴퓨터로 원격요청을 하셨고, 이전에 충돌 난 하드 디스크만 삽입한 채 다시 DSM설치를 ..

항해99/TIL

2021-07-11 항해99 TIL

오늘 한일 AWS CCP 공부를하며 많은 문제를 풀어보았습니다. 그중에 이번 미니프로젝트에서 사용할 S3 개념에 대해 다시살펴보았고, 버킷을 생성해 퍼블릭 권한으로 파일을 읽을 수 있도록 AWS CLI 설정을 하였습니다. 오늘 배운 것 AWS CCP 학습 AWS S3 설정법 내일 할 것 미니 프로젝트 진행 AWS S3 연동 필기노트 == AWS CCP 필기 == Amazon S3 버킷(Bucket) : 객체 저장 컨테이너 - 버킷 이름은 모든리전에 걸쳐 유일한 이름을 사용해야 한다. - 버킷 이름을 기반으로 URL을 생성하기 때문 - 객체 (데이터) 저장소, 무한대 용량 저장 - 버킷은 계정당 최대 100개 버킷 생성 가능 - 버킷내 데이터 객체를 Key-Value 형태로 저장 - 1개의 객체는 5TB를..

항해99/WIL

[항해99] WIL 5주차 - Node.js 미니프로젝트 기간(후기)

서론 7/2 ~ 7/8의 Node.js 주특기 심화 주차가 종료되었습니다. 7/9 ~ 7/15의 미니프로젝트 기간이 시작되었습니다. 항해 톡 4회 발표가 진행되었습니다. 스파르톤을 진행하였습니다. 일정 7/2 (금) ~ 7/8(목) : 주특기 심화 주차 일정 7/7 (수) : 항해 톡 4회차 발표 7/9 (금) : 미니프로젝트 발제 및 특강 7/9 (금) ~ 7/15 (목) : 미니프로젝트 진행 7/10(토) 21:00 ~ 7/11(일) 06:00 : 스파르톤 1회 진행 Node.js 주특기 심화 주차 7/2 ~ 7/8의 Node.js 주특기 심화 주차가 종료되었습니다. Supertest, Jest 모듈을 이용해 테스트 코드를 작성해보았습니다. Sequelize와 mysql 모듈을 사용해 MySQL을 동..

항해99/TIL

2021-07-10 항해99 TIL

오늘 한일 미니프로젝트 2일차 입니다. 오늘부터 제대로된 업무를 진행하기 위해 API 작성에서 팀원들의 파트를 지정해 각자의 작성해야할 범위를 지정해 주었고, 전반적인 코드 작성에 편의를 위해 Github에 프로젝트의 전반적인 틀을 잡은 코드를 업로드 하였습니다. API구성이 의외로 많은 시간이 걸리지 않았습니다. Sequelize를 사용해 DB의 구성요소와 스키마를 작성하고, 모든 백 엔드 팀원들에게 프로젝트의 첫 코드를 배포하여 DB 구성을 끝난이후 부터 모든 작업은 엄청나게 빠른속도로 진행되었습니다. CRUD 기반의 API들은 이전에 배운 기초, 심화 과정을 거쳐오면서 이해하고 넘어왔기 때문에 간단히 넘어갈 수 있었고, Favorites와 같은 즐겨찾기 기능또한 매번 작성하는 코드와 크게 차이나지 ..

커스텀 리
'분류 전체보기' 카테고리의 글 목록 (17 Page)