Coding 썸네일형 리스트형 [내일배움캠프] 슬랙 멘션 구현하기! - Node.js 4기 TIL | Day 43 | 24.02.14.(수) 슬랙 멘션 구현하기! [멘션하는 사용자 관점에서의 로직] 채팅에서 @를 입력했을 때, 현재 채널에 포함되어 있는 사용자들의 리스트를 출력해주거나, 전체 채널에 포함되어 있는 사용자들의 리스트를 출력해주도록 하다. 채널 설정에 따라서 이 부분은 달라질 수 있음. HTTP 메서드는 GET 메서드 활용하면 되지 않을까? 리스트는 드롭다운? (확실하진 않음) 화살표로 위아래 이동할 수 있는 기능을 추가해주면 편할 듯. 키보드 입력으로 엔터를 입력하면 선택된 사용자의 이름이 하나의 태그?와 같은 형식으로 채팅창에 삽입된다. [멘션 당하는 사용자 관점에서의 로직] 멘션된 사용자의 알림 설정을 고려할 수 있는 기능도 필요할 것 같다. 멘션 알림을 끄고 싶은 경우도 존재하기 때문에. - 알림 받고 싶지 않은 시간? [.. 더보기 [내일배움캠프] 원격 repository의 특정 branch에 push하는 방법 - Node.js 4기 TIL | Day 42 | 24.02.13.(화) 1. 작업 전 확인 사항 로컬 리포지토리 연동: 원격 리포지토리 clone 및 로컬 리포지토리 연동 완료 브랜치 생성: 작업할 브랜치 생성 (기존 브랜치 존재 시 해당 브랜치 체크아웃) 코드 수정: 원하는 부분만 수정 테스트 실행: 수정된 코드 테스트 통과 여부 확인 2. push 단계 2.1. Remote 설정 확인 및 변경 git remote -v 실행: 현재 설정된 remote 정보 확인 origin remote가 원격 리포지토리 URL과 일치하는지 확인 일치하지 않을 경우 git remote set-url origin 실행하여 변경 2.2. 특정 브랜치에 push git add . 실행: push할 파일 스테이징 git commit -m "커밋 메시지" 실행: 변경 사항 커밋 git push or.. 더보기 [Github] 깃허브 잔디가 안 심어져서 고민이시라면? 지금 바로 클릭하세요! 1. Git 설정 - user.email 설정 누락 - Git은 commit에 작성자 정보를 포함하며, 이 정보에는 이메일 주소가 포함됩니다. - 이메일 주소가 설정되어 있지 않으면 Contribution에 기록되지 않습니다. - 해결 방법 - "File" > "Preferences" > "Settings" 메뉴로 이동합니다. - "Search" 입력창에 "git"을 입력하고 "Git" 설정을 선택합니다. - "User Email" 항목에 이메일 주소를 입력합니다. - Git 명령어 git config --global user.email - user.name 설정 누락 - user.name은 commit 작성자의 이름을 설정합니다. - 설정하지 않으면 기본값으로 설정되어 Contributin에 영향을 줄.. 더보기 [내일배움캠프] 인증 메커니즘의 역사와 개념, 내가 만든 쿠키, Stateful vs Stateless - Node.js 4기 TIL | Day 41 | 24.02.12.(월) `인증` - 인증(Authentication) : 사용자가 누구인지 확인하는 과정 `비밀번호 기반 인증` - 가장 기본적인 인증 방법이지만, 후술할 인증 방법을 적용하기에 앞서서 항상 꼭 필요한 인증방법 `내가 만든 쿠키~🍪는 왜 나왔을까?` - 매번 아이디와 비밀번호를 검증하는 것은 비효율적이고 번거로운 일이다. - 그래서, 인터파크 티켓 앱 + 모바일 티켓의 조합으로 검증 - 1) 쿠키 ➡️ 인터파크 티켓앱 - 2) 세션 ID 혹은 JWT ➡️ 입장 모바일 티켓 - 즉, 쿠키는 다음에 나올 “세션 ID”나 “JWT”와 같은 “인증 토큰”을 전달하는 매개채로 생각하시면 된다. - 쿠키 === 셔틀 `세션 (stateful)` - 세션 : 서버에서 직접 사용자 정보를 관리하는 메커니즘 - 서버는 세션 관.. 더보기 🍪 SameSite 옵션과 CSRF 공격 및 CORS 오류와의 관계 SameSite 옵션과 CSRF 공격 및 CORS 오류와의 관계 1. SameSite 옵션과 CSRF 공격 1.1. SameSite 옵션이란 무엇인가? SameSite 옵션은 쿠키가 어떤 사이트에서만 사용될 수 있는지를 제어하는 HTTP 헤더이다. CSRF 공격을 방어하는 데 효과적인 기능으로, 공격자가 사용자의 쿠키를 훔쳐 다른 사이트에서 사용하는 것을 어렵게 만든다. 1.2. SameSite 옵션의 종류 - SameSite=Strict : 쿠키가 요청 사이트와 같은 사이트에서만 사용될 수 있도록 제한한다. - SameSite=Lax : 쿠키가 요청 사이트와 같은 사이트 또는 상위 사이트에서 사용될 수 있도록 허용한다. - SameSite=None : SameSite 옵션을 비활성화한다. 1.3. Sa.. 더보기 웹 서비스, 알고 개발하자! | 1차시 ~ 3차시 1차시 - 패킷, 프로토콜 통신 : 육하원칙 - 어디서? - in Computer - 누가? - 송신자 (Sender) - 수신자 (Receiver) - 무엇을? - 정보 == bits - 언제? 왜? - 응용 프로그램의 영역 - 개발의 영역 - 어떻게? - To Be Continued 통신 Information/Communication - 정보 전달을 다루는 과학 기술. 정보를 모아 전류나 전기장으로 바꾼 다음 전기적 계통이나 공간을 통하여 다른 지점에 전달하면 수신자가 이해할 수 있도록 다시 바꾸는 기술이다. 통신, 네트워크를 왜 배워야 하는가? - 컴퓨터공학의 꽃! - 게임 : 내 컴퓨터와 쟤 컴퓨터가 같은 프로그램으로 노는 것 ➡️ 통신 - 메신저 : 내 컴퓨터에서 쟤 컴퓨터로 메시지를 보내는 것.. 더보기 [내일배움캠프] req 객체, 데이터베이스(고가용성, SQL, DQL) - Node.js 4기 TIL | Day 40 | 24.02.11.(일) req.params : 댓글 작성할 게시글 ID (postID) req.user : 로그인한 사용자 정보 (userID) req.body : 댓글 내용 (content) 댓글 작성하기 (POST) 댓글 조회하기 (GET) 댓글 수정하기 (PUT) 댓글 삭제하기 (DELETE) Chore: yarn-start, Modified: app.js 데이터 저장에 데이터베이스를 쓰는 이유? 효과적인 데이터 인출 백업과 복구에 용이 ACID 특성 보장 데이터 관리의 중앙화 민감한 데이터 보안 고가용성 대규모 웹 서비스에서 가장 중요한 사항 중 하나 - “안정성” 두 번째 - “고가용성” 데이터베이스 고가용성 데이터베이스는 이중화를 이용하여 고가용성을 확보할 수 있음 이중화는 마스터 인스턴스가 죽은 경우에 스탠바이 인.. 더보기 [내일배움캠프] express의 req 객체에 대한 탐구 (req.params, req.body), JSON vs URL, PUT vs PATCH - Node.js 4기 TIL | Day 39 | 24.02.10.(토) req.params란? 개요 req.params 객체는 URL 경로에서 파라미터로 전달된 값들을 저장하는 객체임. 데이터 구조 req.params 객체는 키-값 쌍 형태로 구성됨. 각 키는 URL 경로에서 정의된 파라미터 이름을 나타내고, 각 값은 해당 파라미터에 전달된 값을 나타냄. 데이터 예시 만약 /post/123/comments/456 URL로 요청이 들어온다면, req.params 객체는 다음과 같은 데이터를 담고 있을 것임. { “postId”: “123”, “commentId”: “456” } 데이터 타입 req.params 객체의 값들은 일반적으로 문자열 형태로 저장됨. 하지만, Express 앱 서정에 따른 타입으로 변환될 수 있음. req.params 객체의 활용 예시 req.body .. 더보기 이전 1 ··· 8 9 10 11 12 13 14 ··· 39 다음