일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- ...점점점문법
- sql like연산자
- 5.3.8 Modifying Queries
- 리엑트블로거
- search()
- 객체의 밸류값만 찾기
- sql 문자열 패턴 검색
- 스프링 데이타 JPA
- 시퀄 문법
- 코딩 어?
- lastIndexOf()
- @Moditying @Query
- 레디스 확인
- ubuntu타임존
- 객체를 배열로
- 배열을 객체로
- 우분투 시간 변경
- Robo3T 폰트변경
- Robo3T 폰트 키우기
- 가상컴퓨터마법사
- Robo3T 글씨체 변경
- indexOf()
- 깃 토큰 만료
- Robo3T 글씨키우기
- 프론트엔드 스쿨
- ${변수}
- js 문자열을 문자배열로
- 객체의키값만 찾기
- findIndex()
- 문자열 인터폴레이션
- Today
- Total
목록전체 글 (219)
코딩기록
김민기(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..
코딩 표기법 : 명명법 1. 카멜 케이스 표기법 (camelCase) 첫 문자는 소문자로 표기하고 그 이후에 연결되는 문자들의 첫자는 대문자로 표기. camelCase androidStudio 2. 케밥 케이스 표기법 (kebab-case) 모든 문자의 첫 자는 소문자로 표기하고 문자들 사이는 -(하이픈)로 연결. kebab-case android-studio 3. 스네이크 케이스 표기법 (snake_case) 모든 문자의 첫 자는 소문자로 표기하고 문자들 사이는 _(언더바)로 연결 snake_case android_studio 4. 파스칼 케이스 표기법 (PascalCase) 모든 문자의 첫 자를 대문자로 표기. PascalCase AndroidStudio
답안 스택 자료구조 문제 count = int(input()) # 스택 리스트 안의 총 개수 list = [] #스택 리스트 for i in range(count): # for in range로 count 만큼의 수를 만듬 num = int(input()) if num == 0: # num이 0이면 pop으로 삭제 list.pop() else: list.append(num) # 0이 아니면 append (push) print(sum(list)) #sum함수를 이용해 모든 수를 더한다 입력 값이 0이면 pop, 아니면 push하고 리트스 총합을 구한다. 리스트를 생성하고 for문을 돌려 입력을 받는다. 입력받은 숫자가 0이라면 pop으로 삭제하고 아니라면 리스트에 추가한다. 마지막으로 sum을 이용해 모두..
베르트랑 공준 자연수 n에 대해 n < x < 2n 을 만족하는 소수 x의 수를 구하는 문제. 파이썬으로 소수를 찾는 효율적인 방법. 에라토스테네스의 체 에라토스테네스의 체 : 범위에서 합성수를 지우는 방식으로 소수를 찾는 방법. 1. 1은 제거 2. 지워지지 않은 수 중 제일 작은 2를 소수로 채택하고, 나머지 2의 배수를 모두 지운다. 3. 지워지지 않은 수 중 제일 작은 3을 소수로 채택하고, 나머지 3의 배수를 모두 지운다. 4. 지워지지 않은 수 중 제일 작은 5를 소수로 채택하고, 나머지 5의 배수를 모두 지운다. 5. 지워지지 않은 수 중 제일 작은 7를 소수로 채택하고, 나머지 7의 배수를 모두 지운다. (반복) 에라토스테네스의 체를 파이썬 코드로 표현하면 다음과 같다. def prime_..
이번 프로젝트의 중점은 socket.io이다. 소켓으로 채팅 연습을 하고 이게 실시간 사용자 정보 띄우기, 접속자 수 등 다른 예제를 찾아보고 소켓을 다양하게 사용한다. 전 기수들의 프로젝트를 보며 코드를 분석해 봐야겠다. 오늘의 할 일 1. 소켓 사용한 프로젝트 분석 2. 백엔드 API 파트 나누기 뭐가 어려운지 쉬운지 할 수 있을지 어쩔지 전혀 감이 오지 않아서 복불복으로 파트를 정했다. 어쩜 이러는지 저번에도 메인 걸리더니 이번에도 오목 게임 구현이 걸렸다. 결국 다 같이 할거 같긴 한데 내가 감당할 수 있는 파트였으면 좋겠다는 바람이 큰 거였나 보다. 서버 지킴이를 이번에 하고 로그인이랑 회원가입을 해볼까 싶었는데 괜히 걱정돼서 그냥 복불복에 맡겼더니 이렇게 됐다. 계속 다른 프로젝트를 찾아서 코..
API상세부터 어려워서 헤매고 알고리즘 문제 풀듯이 노드 8명 다 같이 api 구현을 위해 머리를 맞대던 클론 프로젝트였다. 같이 시작해도 배움의 속도가 다르다는 걸 많이 알게 되었고 api 기능 구현 시에는 좀 더 api 상세를 분석하고 인지된 상태여야 코드 작성이 수월하다는 걸 경험으로 익힌 주간이었다. 아, 그리고 중요한 것! 듣는 사람이 이해가게 설명하는 것이 협업의 전부라는 것도 경험을 통해 알게 되었다. 프로젝트 유툽영상 https://www.youtube.com/watch?v=IyRvRpz98kQ 항해 5기 클론 갤러리 https://hanghae99.spartacodingclub.kr/exhibitions/clone/5/A 백엔드 깃헙 주소 https://github.com/WhatTheC..
어제의 아이디어를 기반으로 API 상세와 와이어프레임을 작성하는 날이다. 어떻게 작성될지 감도 안 와서 조금은 걱정이다. 오늘의 할 일 1. API 작성하기 1차 작성을 하고 와이어프레임 회의 후 2차 작성을 하는 중에 소켓에 대해 알고 나면 API가 변경될 거 같아서 소켓을 추가로 공부한 뒤 마무리하기로 했다. 우선 회의 때 프론트와 백이 서로 의견이 조율이 되고 이해가 된다는 게 참 감사하다. 2. 와이어프레임 만들기 대략적으로 만들고 오후에 디자이너 2분이 합류해서 구체적으로 작성이 되었다. 한 분은 확실이 일을 하시는 분이셔서 그런지 굉장히 짧은 시간 안에 본인의 아이디어를 추가로 적고 설명을 곁들여 정리가 더 빨리 끝났다. 두 시간이면 굉장히 알차게 회의를 했다고 생각한다. 중간에 내가 물어본 ..
1. 먼저는 몽고 디비 공식홈피로 가서 내 컴퓨터 설정에 맞는 database-tool을 다운로드한다 Download MongoDB Command Line Database Tools | MongoDB 2. 경로를 선택할 때 내 컴퓨터에 mongo.exe가 있는 폴더에 같이 넣어야 한다. 3. 아래처럼 파일에 필요한 database-tool들이 설치된다. /(안되면 복사 붙여 넣기 하셔도 됩니다) 분명 가이드엔 mongoDB 설치 시에 같이 설치된다고 했지만 아무리 찾아봐도 없다! 찾아보니 버전마다 다르지만, 최근 버전에는 포함되어있지 않아서 별도로 다운로드를 해야 했다. Database-tool을 다운로드하면 mongoimport는 물론이고, bsondump, mongodump, mongoexport 등..
이번 주에 실전 프로젝트 들어가기 전 미니 프로젝트를 마무리했고 클론 코딩을 시작했다. api설계는 역시 어렵고 어렵다. 프론트와 백이 서로 같은 걸 다른 단어로 표현으로 하니 같은 말인 듯 다른 말인 듯 굉장히 헷갈린다. 배운 것 / 느낀 것 / 내게 아쉬웠던 것 배운 것 프로젝트는 협업 즉, 소통과 배려가 우선이고 그 다음이 실력이다. 느낀 것 소통이라는 건 결국 상대방의 입장에서 생각하고 말하는 지혜이다. 서로 다른 수준의 사람들이 모여서 하나의 무언가를 하려면 각자의 수준을 파악하고 제일 못하는 사람 기준으로 해야지 모든 인원이 끝까지 갈 수 있다. 진짜 어렵다. 그리고 오해가 생기고 쌓이지 않게 솔직하게 말하는 것이 중요하다. 어떤 파트 담당의 독단적인 생각과 행보는 팀을 위한 것이었다 해도 우..