본문 바로가기

분류 전체보기

(291)
Web Socket 채팅방 만들기_2 Web Socket 채팅방 만들기_2 2023.01.09 - [JavaScript] - Web Socket 채팅방 만들기_1 socket.io 이용 socket.io에서 제공하는 method 활용해 프로젝트에서 원하는 기능 만들 수 있음. ws이랑의 차이점 비교해서 공부. 📌 install Library npm i socket.io 📄 socket.js const { emit } = require('nodemon'); const SocketIO = require('socket.io'); module.exports = (server) => { const io = SocketIO(server, { path: '/socket.io' }); io.on('connection', (socket) => { const..
데일리 알고리즘 230110 데일리 알고리즘 230110 프로그래머스, 부족한 금액 계산하기 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 📄 나의 코드 def solution(price, money, count): pay = 0 for i in range(1, count+1): pay += price * i if money > pay: return 0 else: return pay - money print("result : ", solution(3,20,4))
내일배움캠프 4기_Socket 41일차 TIL 내일배움캠프 4기_Socket 41일차 TIL 2023.01.09 - [JavaScript] - Web Socket 채팅방 만들기_1 2023.01.10 - [알고리즘] - 데일리 알고리즘 230109 오늘은 여태까지랑 다르게 월요일부터 팀이 바뀌었다. 다들 화요일날 바뀌는줄 알고 있었는데, 너무 놀랐다. 갑작스러운 일정에 조원분 한분도 예전 조에 사정을 이야기하고 늦게 접속하셨다.;;; 미리 공지를 해주고 팀을 바꾸었으면 좋았을텐데... Socket 들어가는 첫주! 강의 내용을 이해하기 힘들어서 사람들과 모여 대화나누고 유투브 링크를 공유했다. 일단 ws과 socket.io로 채팅방만들고 경매하는 프로젝트를 따라해보고, 세탁기 프로젝트에 실시간 알림 서비스 구현도 시도해보는게 목표인데,,, 해낼 수 있..
데일리 알고리즘 230109 데일리 알고리즘 230109 프로그래머스, 콜라츠 추측 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 📄 나의 코드 def solution(num): if num == 1: return 0 else: answer = 0 while num != 1: answer += 1 if answer == 500: return -1 if num % 2 == 0: num = num / 2 else: num = num * 3 + 1 return answer print("answer : ", solution(6)) print("answer : ", solution(1)) p..
Web Socket 채팅방 만들기_1 Web Socket 채팅방 만들기_1 WS 이용 📌 package.json npm init -y 📌 package.json { ... "version": "0.0.1", "description": "GIF 웹소켓 채팅방", "main": "app.js", "scripts": { "start": "nodemon start", }, } 📌 .env COOKIE_SECRET = gitchat 📌 install Library npm i cookie-parser dotenv express express-session morgan nunjucks && npm i -D nodemon npm i ws 📄 app.js const webSocket = require("./socket"); const server = app..
내일배움캠프 4기_Node 미니프로젝트, 8주차 WIL 내일배움캠프 4기_Node 미니프로젝트, 8주차 WIL 2023.01.06 - [TIL] - 내일배움캠프 4기_Mini Project 3차 발표 40일차 TIL 2023.01.07 - [알고리즘] - 데일리 알고리즘 230102 ~ 230106 2023.01.08 - [알고리즘] - 자료구조 4주차_트리 ✏️ 이번주 배운 내용 협업 git사용 자료구조 트리 ✏️ 어려웠던 부분 미니 3차 프로젝트 고객, 사장님으로 나눠 유저를 관리해야하는 점이 어려웠다. 또한 프로젝트 발제에 맡게 구현하기 위해 api, er다이어그램을 그려야 했는데, 이부분이 어려웠다. ✏️ 금주의 느낀점 처음에 고객과 사장님을 구분해서 er다이어그램을 그려야 한다고 생각했는데, 회원가입할 때 받는 정보가 크게 다르지 않아 user테이블..
자료구조 4주차_트리 자료구조 4주차_트리 📌 선형구조 큐(Queue), 스택(Stack) 데이터들을 순차적으로 나열시킨 형태 자료를 꺼내는 것에 초첨이 맟춰져 있음 📌 비선형구조 트리 데이터가 계층적 혹은 망으로 구성되어 있음 자료 표현에 초점이 맞춰져 있음 트리 📌 계층형 구조 Root Node : 트리 맨 위에 있는 노드 Level : 노드의 깊이 Parent Node : 어떤 노드의 상위 레벨에 연결된 노드 Child Node : 어떤 노드이 하위 레벨에 연결된 노드 Leaf Node(Terimnal Node) : Child Node가 하나도 없는 노드 Sibling : 동일한 Parent Node를 가진 노드 Depth : 트리에서 Node가 가질 수 있는 최대 Level 이진 트리(Binary Tree) 자식노드를..
데일리 알고리즘 230102 ~ 230106 데일리 알고리즘 230102 ~ 230106 230102 프로그래머스, 하샤드 수 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 📄 나의 코드 def solution(x): answer = False s = 0 for c in str(x): s += int(c) if x % s == 0: answer = True return answer print( "18 :", solution((18))) //True print( "10 :", solution((10))) //True print( "12 :", solution((12))) //True print( "1..
내일배움캠프 4기_Mini Project 3차 발표 40일차 TIL 내일배움캠프 4기_Mini Project 3차 발표 40일차 TIL 2023.01.06 - [JavaScript] - EJS공부 & 팀원 코드 이해하기1 2023.01.06 - [JavaScript] - EJS공부 & 팀원 코드 이해하기2 2023.01.06 - [JavaScript] - 회원가입 데이터 정규식 unit Test 느낀점 이번 프로젝트는 딱 내가 맡은 부분을 한 느낌? 로직 짜는게 어려워서 도움도 받았다. 애자일 방법론처럼 파트를 나누고 서로 소통을 원할하게 하니 모든게 수월하게 흘러간 느낌. 3번째 프로젝트라 그런가? 다들 뭘 해야하는지 아는 느낌이랄까? 온라인 협업에 익숙해졌다. 공유 사이트를 이용해 같이 발표자료도 만들고 api도 만들고 er다이어그램도 만들고! 이번에는 내가 짠 코드..
회원가입 데이터 정규식 unit Test 회원가입 데이터 정규식 unit Test input값 정규식 jest Test 📄 unit/signup_validation.js module.exports = { isEmail: (value) => { if(!/^[a-z0-9]+@[a-z]+\.[a-z]{2,3}$/.test(value)){ return false; } return true; }, isPhoneNumber: (value) => { if(!/^[0-9]{3}-[0-9]{3,4}-[0-9]{4}$/.test(value)){ return false; } return true; }, isPassword: (value) => { if(!/^(?=.*\d)(?=.*[a-zA-Z])[0-9a-zA-Z]{4,10}$/.test(value)){ retu..