일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
31 |
- 중복문자제거
- 중첩배열
- ...점점점문법
- 중복 문자열
- 객체의 밸류값만 찾기
- 깃 토큰 만료
- indexOf()
- 제로베이스
- 중복단어제거
- 코딩 어?
- 프론트엔드 스쿨
- 스프링 데이타 JPA
- 우분투 시간 변경
- 문자열순서바꾸기
- 재귀스왑
- 객체의키값만 찾기
- js 문자열을 문자배열로
- sql 문자열 패턴 검색
- 배엘에서 스왑
- 중첩배열평탄화
- 문자열 중복
- @Moditying @Query
- 중복된 단어
- 아래로펼치기
- 레디스 확인
- 시퀄 문법
- lastIndexOf()
- 단어 제거
- 5.3.8 Modifying Queries
- ubuntu타임존
- Today
- Total
목록전체 글 (261)
코딩기록

Developer settings오류메시지: remote: Invalid username or password 몇일전 메일로 깃 토큰 만료 됐다고 메일이 왔었다. 먼저 깃헙에 들어가서 토큰을 새로 생성한다. 깃헙 우측 상단 내 프로필 클릭 > Settings > 좌측 사이드바 맨밑 - Developer settings 클릭 > Personal Access tokens 빨강네모를 클릭하면 토큰이 복사되는데 이 토큰은 분실되면 끝이다 꼭!! 다른곳에 저장해야 한다. 다시 작업중이던 프로젝트 터미널로 간다. 1. 아래 명령어 입력 git push origin main 2. Connect to GItHub 창이 뜨면 Token 탭에서 새로만든 깃 토큰을 입력한다. 토큰을 입력하면 아래와 같이 메시지가 뜬다. 그..
오늘의 할 일 1. 게시판 api 오늘의 스케줄 08:30 - 기상 오늘 배운 것 1. 쿼리 실행시 sequelize가 콘솔에 SQL을 출력하지 못하게 하는 방법 1). ‘config / config.json’파일이 사용되는 경우이 경우 개발 구성 섹션에서 config.json에 ‘logging’: false를 추가. // file config/config.json { { "development": { "username": "username", "password": "password", "database": "db_name", "host": "127.0.0.1", "dialect": "mysql", "logging": false }, "test": { ... } 2). https://sequelize.o..
cs공부, 면접 준비하다가 여기까지 왔다. 블로그 글이나 공식 문서로만 보니 이해가 안가서 한번 코드로 만들어 보자 싶어서 시작했는데 오랜만에 코드를 만지니 정말 즐겁다. 세션, 쿠키, 토큰등 코드로는 구현 가능하지만 이론으로는 이해가 어려운 부분들을 좀더 파보면서 적용하고 최대한 하나하나 블로그에 정리 할 계획이다. 오늘의 할 일 1. sql db 완성하기 블로그, 깃헙 등 자료를 여기저기 살펴보며 드디어 완성 디비 관계설정을 정리해야 겠다. [ORM] 📚 시퀄라이즈 - 모델(테이블) 정의하기 (tistory.com) https://wooooooak.github.io/node.js/2018/11/22/sequelize-1-%EB%8C%80-%EB%8B%A4/ 공식문서 짜증나서 내가 그냥 한 번에 정리하..
계속 이력서를 넣고 서탈하고 2차 면접을 보는 중이다. 어제 대면 기술면접 봤던 곳에서 항해 끝나고 블로그나 깃헙에 올라온 것이 없다는 얘기를 들었는데 공부 안 하고 있느냐는 질문인 것 같았다. 프로젝트 끝나고 그 후에도 블로그는 꾸준히 썼었지만 공개할수 있는 수준이 아니라 비공개로 하고 있었다. 근데 어제의 질문을 들으니 부족해도 공개로 글을 올리는 것이 내 활동을 보여주는 유일한 방법인 것 같아. 다시 올린다. 아무리 생각해도 준비가 덜 된것 같다. 내 프로젝트에 대한 설명을 할 때 백엔드 기본인 아키텍처와 서버 부하 테스트에 대해 자신 있게 설명하질 못한다. 이 부분에 대해서 집중적으로 공부하고 있다. 처음에는 이론적인 것만 익혀도 되겠다 싶었는데 공부할수록 뜬구름 잡는 기분이라서 미니 프로젝트를 ..
오늘은 2차 이력서 타임어택 하는날이다. 어제 받은 피드백에서 수정후 2차로 피드백을 받는데 자기소개를 어떤 구성으로 쓸지 고민이다. 지금 내용을 요약하면 이러저런 에피소드를 곁들여 '성실합니다, 열심히합니다.' 라는 내용 밖에 없다. 내가 받은 피드백은 블로그를 성실하게 정리했고 지식공유라는 개발 문화를 사랑한다는 표현을 썼으니 그걸 정리해서 '성실히 블로그를 정리해 기초를 튼튼히 잡아가고 있고 내가 사랑하는 지식공유 문화를 나도 실천중이다'라는 컨셉으로하는게 어떻겠느냐 이다. 그 컨셉을 살려서 자기소개서를 다시 작성하고 ppt로 포트폴리오도 만들어야 겠다. 오늘의 할 일 1. 이력서 수정 자소서를 안쓴다는 사람도 있는데 나는,,, 올드스쿨이라 그런지 써야 맘이 편하다. 간략하게 쓰려고 계속 읽고 수정..

swagger에 한,, 하루 반 소요된거 같다. 스웨거만 붙든건 아니었지만 url설정에 문제가 있었지만 해결되었고 yaml방식은 직접 .yaml파일에 적어야하지만 json은 자동으로 생성되고 몇가지만 수정하는 방식이여서 json으로 했다. yaml도 자동으로 틀을 만들어줄거 같은데 아직 못찾았다. swagger도 2.0버전과 3.0.0버전이 있는데 나는 2.0버전이다. 1. 모듈 설치 $ npm install swagger-ui-express $ npm install swagger-autogen 2. 파일구조 여기서 app.js, swagger.js, swagger-output.json, models>index.js, .env 파일이 사용된다. app.js //상단에 위치 //스웨거 자동생성을 위한 코드..
MVP 완성이후 계속 오류를 수정중이다 내파트가 완성되어도 다른파트에 영향을 받아 오류가 반복적으로 생긴다 주로 나는 포인트나 승,패 계산에 대한 오류인데 다른 파트 변동이 생기면 마지막에 이뤄지는 파트라 그런지 영향을 받는다. 근데 보통 영향을 받은 상태를 나한테 알리고 살펴보라고만 할 뿐인지라 나중에 내 파트의 문제가 아니라 다른 파트로 인한 영향 때문인걸 알면 허무하다. 지금도 잘 되던 승패, 포인트 계산이 간혈적으로 안되는데 아무래도 몇일 전 프론트의 변화 이후로 생긴 오류 같다. -오류발견- 현재 오류의 상황을 찾았다. 시간에 대한 오류가 발생했을때 승패에서도 오류가 난다 코드를 보면 승패로직과 포인트로직이 한줄 차이지만 승패만 오류가 나고 포인트는 오류가 없다. 월요일에 프론트 담당들과 이야기..

오늘 배포를 목표로 마무리 중이다. 겜중간나갔을때 계산되는지 확인하고 겜완료후 결과창에서 계산 잘되는지 확인중인데 블랙옵 졌을때 결과창에 안나오고, 화이트옵 졌을때 얻은포인트에 - 처리만 하면 완료된다. 중간중간 겜중간나갔을때나 겜완료후나 결과창에 잘 안나오는 경우가 있다. 결과창에서 안나왔을때는 blackObserver의 state가 online으로 변경된다. 항상 그런건 아니고 간혈적으로 변경된다. 몽고디비 처리속도와 관련있나 싶다. 오목조목 사이트 오목조목 (omogjomog.com) 피드백 구글폼 내용 오목조목 피드백(응답) - Google Sheets https://docs.google.com/forms/d/e/1FAIpQLSeDUXKCHF3wcmwv2MiOTlTPCLCpcAXsXr67Ubcto..

김민기(5기) 220324목 오후 3:26 안녕하세요! 항해 99 5기 4조 "내가하마팀" 입니다.먹방, 여행브이로그, 게임영상, 전자기기 리뷰 등 유투버들의 컨텐츠에서 대리만족을 찾고 계시나요?! 저희 내가HAMA 서비스는 유투버들의 대리만족 컨텐츠들과 달리 개인이 대리만족하고싶은 것들을 공개적으로 요청하고 모든 유저가 블로거이자 스트리머가 되어서 답변으로 컨텐츠를 만들어가는 서비스입니다! 내가 원하는 부분을 간접경험으로 대리만족하고 다른 분들의 요청에 답변을해주면서 내가 경험한것을 자랑도하고 타인을 행복하게하는 보람도 얻어가세요 :)엄청난 선물들이 준비되어있습니다. ★★★★★★★★★★★★★★★★★★★★★★★★★★ 10만원 상당의 배민쿠폰! exp 랭킹 1위 10만원, 2위 6만원, 3위 4만원 상당의..
오늘의 할 일 1. 게임중간에 옵저버가 나갔을때 기존 훈수체팅 횟수로 점수 계산됨 -상태- 나간 옵저버 카운트 0리셋 안되고 포인트 계산 안됨, 남은 팀들 결과창에 나간 옵저버의 정보가 뜸 겜방에서 대기실로 나간 옵저버 유저디비 state가 계속 남음 -수정사항- 중간에 나간 옵저버 소켓에서 teachingCnt 0리셋 하기 소켓 disconnecting에서 updateOne- $pull 에서 바꾸면 된다 겜방에서 대기실로 나간 옵저버 유저디비 state를 endGame으로 변경하기 -2022-03-31-목 새벽완료 * 소켓 joinGame에서 connect: inGame 변경, disconnecting에서 state:online, connect:outGame 변동되게 했더니 겜중간 새로고침이나 오류등..

오늘의 할 일 1. 게임중간에 옵저버가 나갔을때 기존 훈수체팅 횟수로 점수 계산됨 -상태- 나간 옵저버 카운트 0리셋 안되고 포인트 계산 안됨, 남은 팀들 결과창에 나간 옵저버의 정보가 뜸 겜방에서 대기실로 나간 옵저버 유저디비 state가 계속 남음 -수정사항- 중간에 나간 옵저버 소켓에서 teachingCnt 0리셋 하기 소켓 disconnecting에서 updateOne- $pull 에서 바꾸면 된다 겜방에서 대기실로 나간 옵저버 유저디비 state를 endGame으로 변경하기 -수정코드- const {id, gameNum} = socket.nickname //게임방 퇴장시 유저 state변경, connect변경 await Users.updateMany({ id }, { $set: { state:..
오늘의 할 일 1. [결과창] 게임중간에 기권패 포인트 추가하기 byebye소켓 → gameFinish_API → gameFInishSow_API 에서 byebye소켓 → thisGameOut_API 로 변경을 요청했었는데 알겠다 하고 gameFinish와 동일하게 req를 보낸다 해서 다시 확인해 보니 기존 gameFinish 에서 thisGameOut으로 바뀌는 거였다. 나는 thisGameOut에서 결과창으로 보여지는걸 요청했었는데 내 요청과 전혀 다른걸 얘기해서 다시 생각해보니 이렇게 바뀌어도 되겠다 싶어 동의하고 기권패는 byebye소켓 → thisGameOut_API → gameFInishSow_API 이렇게 흐름이 진행된다. 기권패는 byebye소켓 → thisGameOut_API(gameF..

API-gameFinishShow 부분에서 find, findOne으로 디비에서 찾은 값들을 가공하는 방법을 찾고 있었데 aggregate가 늦게 응답해서 계산후 teachingCnt가 0으로 뜨는게 아니라 계산전 값을 불러와서 0으로 찍힌다는 팀원의 의견이 있었다. 이 aggregate를 지금 4일째 하고있다. 처음 동기, 비동기의 차이 얘기를 들고 생각해 보니 gameStart에서도 같이 aggregate/ lookup이 쓰이는데 여기는 async, await 동기식으로 값이 잘 나온다. gameFinishShow도 동기식이라 값이 늦게 나오는게 아니라 너무 빨리 찾아져서 0으로 나오는게 문제라는게 맞는 것 같다. 그 의견을 참고해서 기존에 프론트에서 gameFinish와 동시에 gameFinishS..

1. ubuntu 들어간다. AWS 에서 ec2 서버를 생성하고 그 ip주소로 들어간다. **현재 pm2로 서버 실행중** 2. 루트권한으로 변경 sudo -i 3. 시스템 현재시간 확인 date root@ip-172-31-34-190:~# date //시스템의 현재시간 확인 4. 시스템 타임존 확인 root@ip-172-31-34-190:~# more /etc/timezone 5. 타임존 설정 명령어 root@ip-172-31-34-190:~# dpkg-reconfigure tzdata 명령어 실행후 화면이 변경된다. Asia > Seoul 순으로 찾아 설정한다. 6. 변경된 시스템 타임존 확인 date UTC 에서 KST로 변경된걸 확인할 수 있다. 7. 전체 명령어

항해의 꽃 실전 프로젝트 2주 차가 0310 목요일에 끝나고 3주 차가 0311 금요일에 시작했다. 저번 주 금요일까지만 해도 내가 맡은 파트가 이해가 안 가고 소켓이 감도 안 잡히고 '이러다 내 파트를 다른 이가 해야 되는 상황이 생길 수도 있겠다'싶은 생각에 불안함과 스트레스가 심했었다. 얼마나 스트레스가 심했으면 WIL도 소켓 강의로 WIL을 대체한다고 썼었겠나. 그래서 0307 월요일에 팀장에게 현재 상태를 얘기를 하고 조언을 구했었는데 내가 힘들어하는 것 같아 본인이 같이 할 생각이었다는 답변을 들었다. 그 얘기를 들으니 안심이 됐고 다시 맘을 잡는데 큰 도움이 됐다. 그 전에도 백분들의 도움을 많이 받았었고 월요일 이후에도 도움을 받아 API, 소켓 기능 구현이 완료가 되었다. 가장 어려웠던 ..
console.log("------- 1 -----------"); const score = [ { win:1 }, { lose:0 } ]; const winScore = score[0].win +1; const loseScore = score[1].lose +1; console.log(score) console.log(winScore) console.log(loseScore) console.log("------ 2 ------------"); const win = {score}; const winScore2 = win.score[0].win +1; const loseScore2 = win.score[1].lose +1; console.log(win) console.log("winScore2:", win..
1. 객체안에 객체 넣는 방법은 생각보다 쉽다. user.point = point; user- 객체 point- 키 = point - 값 2. socketIo에서 같은방 안에 사람들에게만 쳇을 보낼때는 //game방 채팅 socket.on("chat", (chat) => { const data = {name:socket.nickname, chat}; gameRoom.to(thisgameNum).emit("chat", data); }); gameRoom -> 내가 네임스페이스를 설정하면서 정한 변수명을 적어야한다. 네임스페이스/game 을 따로 정하지 않았다면 connect이벤트의 인자인 socket을 적어 socket.to(thisgameNum).emit("chat", data); 코드를 만든다. con..