항해 99 5기
-
항해 99 5기 TIL_80항해 99 2022. 3. 31. 15:01
▶ Today I Learned [새로운 뱃지 지급 알람] 새로운 뱃지가 생기면 생기고 나서 최초 1번만 마이페이지에 들어가면 새로운 뱃지가 열렸다는 알람이 뜨도록 했다. 처음 짰던 코드는 다음과 같다. let newBadge = 0; // UserController에 전달될 newBadge 전역변수 저장 module.exports = { create: { local: asyncWrapper(async (req, res) => { @@ -165,13 +167,14 @@ module.exports = { await user.addMyBadges( firstComeBadge.id ); newBadge = firstComeBadge.id res.status(200).json({ isSuccess: true, ..
-
항해 99 5기 TIL_79항해 99 2022. 3. 30. 04:17
▶ Today I Learned [테스트 시 CORS 에러] 프론트 측의 사이트나 백 측의 서버가 배포되지 않은 경우 CORS문제로 접근이 불가능 할 수 있다. 이때는 자신의 브라우저에서 설정에 들어가 해당 옵션을 임의로 지정해줄 수 있다. 내가 쓰는 brave의 경우 brave://flags/ 라는 주소를 입력하면 브라우저의 여러가지를 설정할 수 있는 곳이 나온다. 거기서 아래의 문구가 있는 곳을 Enabled해준 다음 빈 칸에 자신이 접속하고자 하는 브라우저의 url을 넣고 브라우저를 relaunch하면 된다. 그러면 해당 브라우저의 uri를 안전한 origin으로 인식해준다. (물론 서버 코드 내에서도 cors를 설정해주어야 하니 참고하자.) Insecure origins treated as sec..
-
항해 99 5기 TIL_78항해 99 2022. 3. 29. 02:38
▶ Today I Learned [주가 바뀔 때 시간 초기화] 아래와 같은 코드를 짰다. let oneDay = 86400000 let lastUpdateDate = new Date(2021,2,20,0) let checkingDate = new Date(2021,2,27,1) // 확인 날짜 console.log(checkingDate.getDay(), "checkingDate.getDay()") console.log(lastUpdateDate.getDay(),"lastUpdateDate.getDay()") let lastUpdatedZeroHour = new Date(lastUpdateDate.getFullYear(), lastUpdateDate.getMonth(), lastUpdateDate.get..
-
항해 99 5기 TIL_73항해 99 2022. 3. 25. 04:43
▶ Today I Learned [MySQL Join된 테이블 사용] 현재 우리는 sequelize라는 ORM 프레임워크로 MySQL을 조작하고 있다. 아래는 User테이블의 join 부분 User.associate = (db) => { db.User.belongsToMany(db.Badge, { through: "UserBadge", as: "MyBadges", onDelete: "CASCADE" }); db.User.belongsTo(db.Badge, { as: "MasterBadge", foreignKey: "masterBadgeId" }); }; User와 Join된 Badge 테이블의 join 부분 Badge.associate = (db) => { db.Badge.belongsToMany(db...
-
항해 99 5기 TIL_72항해 99 2022. 3. 25. 04:43
▶ Today I Learned Mongo DB도 한 3주 사용하지 않다가 사용하게 되니 은근히 낯선 느낌이 들었다. 손에 익으려면 좀 더 연습이 필요한 것 같다. 관련된 링크들을 참조해가며 필요한 작업을 했다. 링크는 하단 참조 [정수삼각형] 소요 시간: 53분 + 30분 해결 여부: 미해결 https://www.acmicpc.net/problem/1932 다이나믹 프로그래밍 const N = 5 const input =[[7],[3, 8],[8, 1, 0],[2, 7, 4, 4],[4, 5, 2, 6, 5]] const sum = Array.from(new Array(N), () => new Array()); // Array.from(arrayLike, mapFn) 기본적으로 이런 형태다. // 즉,..
-
항해 99 5기 TIL_71항해 99 2022. 3. 22. 04:18
▶ Today I Learned [Mysql 사용하면서 Mongo DB에 일부 데이터 옮겨 둘을 동시에 사용] 현재 DB는 MySQL을 사용하고 있지만 여기서 시간기록과 관련된 데이터를는 Mongo DB 넣는 식으로 진행해보려한다. 조금 과거의 글이기는 하지만 스택오버플로우를 찾아보니 둘의 공존은 가능하다. MongoDB and MySQL are completely separate applications. They have no way to communicate with each other except through your application. That means if a request needs data from both sources, it needs to query both separately...
-
항해 99 5기 WIL_10항해 99 2022. 3. 20. 23:15
▶ Weekly I Learned (회고) 어느덧 3주가 지났고 토요일에는 중간 점검도 있었다. 발표 준비를 하며 프로젝트의 큰 흐름과 기술스택을 한번 되돌아 보았고 여전히 손볼 곳은 많지만 그리 나쁘진 않은 듯 하다. 서비스 런칭까지 1주일 정도의 시간이 있는데 이를 위해 또 스퍼트를 달려보아야겠다. 물론 서비스런칭을 했다고해서 끝이 아니라 2주정도의 유지보수 기간이 있으니 끝날때 까진 끝난 게 아니다. 정상적인 서비스가 될 수 있도록 잘 다듬어 보아야 겠다. (일주일 간 배운 것 혹은 프로젝트에 관한 것들은 TIL을 보면 잘 알 수 있다.) ▶ 공부 시 참고 링크들 없음
-
항해 99 5기 TIL_70항해 99 2022. 3. 20. 23:14
▶ Today I Learned [My SQL] 오늘은 가볍게 코딩만 약간 손을 보던 중 어제 해결 하지 못한 문제를 발견하였다. 그건 바로 특정 뱃지의 아이디가 1부터 7까지는 순차적으로 증가하다가 그다음 생성부터는 55와 같은 식으로 훌쩍 뛰어올라 버리는 것, sequelize로 계속 이런 저런 명령어를 입력하고 시험하느라 발생한 것인지는 모르겠지만 뱃지의 id는 다시 8부터 순차적으로 오르는 것이 관리하기에도 보기에도 깔끔했다. mysql의 경우 특히나 값이 삭제되었다고 해서 그 공백을 메꾸지 않는 현상이 있으니 이를 가만히 놔둔다고 해서 8로 돌아갈 것도 아니었다. 따라서 id 기준점을 다시 잡아주는 내용을 검색하던 중 auto increment라는 키워드로 검색하면 되는 것을 알게 되었다. AL..