본문 바로가기

내일 배움 캠프

(109)
마이크로 서비스 아키텍처에서 서비스와 서비스 사이의 정보교환 문제 서비스와 서비스 사이에서 DB데이터를 서로 접근하고 싶다. 정확하게는 userId를 기반으로 하여 Users테이블에 있는 nickname을 Posts에서 가져오고 싶다. 시도 // Users 접속 함수 // 로그인을 목적으로 작성했던 것이라 변수명에 Login이 들어가는데 아직 수정을 하지 못하였다. connectToUsers(host, port, onNoti) { // Users 전달 패킷 const packet = makePacket('/users', 'GET', 0, this.context); let isConnectedLogin = false; this.clientLogin = new TcpClient( host, port, (options) => { // Users 접속 이벤트 isConn..
Node.js TCP서버에서 query와 params를 이용하여 CRUD 하기 방법 query 1. 파싱한 uri에서 uri.query를 변수에 담아 파라미터로 보내 진행한다. 2. TCP server에서 받은 패킷 안에서 정보를 빼내온다. params /users/1 로 접속을 허용하면서 값을 가져와야 한다고 가정하자. 1. localhost:8000으로 들어와서 Gateway를 지나기 전에 pathname을 split를 통해 가공한다. > /users 까지만 나오게 2. 뒤따라오는 params부분을 body의 JSON을 담은 객체 안에 넣어준다. 3. TCP server에서 받은 패킷 안에서 정보를 빼내온다. app.js import http from 'http'; import url from 'url'; import dotenv from 'dotenv'; import TcpC..
Node.js 서버 2개 연결하기 방법 1. 서버를 2개 준비해서 각각 다른 포트로 listen한다. 2. 서버에 연결되는 app.js도 다른 이름으로 2개 준비한다. 3. express.static으로 연결되는 public 폴더도 다른 이름으로 2개 준비한다. 4. 이때, 안에 들어가는 index.html에 구분할 수 있는 문자를 넣어 준다. ex) 1번 HTML, 2번 HTML 5. 1회의 npm run dev를 통하여 localhost:3000과 localhost:8080에 접속한다. 6. 출력 결과가 구분되는지 확인한다. 서버 코드 import Http from 'http'; import { ExpressApp } from './app.js'; import { ExpressApp2 } from './app2.js'; import ..
마이크로 서비스 아키텍처 마이크로 서비스 아키텍처 : 서비스 단위로 서버를 나누어 운영하는 설계 방법 service> distributor > gateway > client gateway : http 요청을 받는 또 다른 서버 DevOps의 에자일 방식 개발 : 어플리케이션 단위별로 테스트 및 배포 > 과정 순환 응답하라 추억시대 PLAN 마이크로 서비스 아키텍처 기술적 결정 사유 : 모놀리식 아키텍처와 다르게 서버가 여러 개여서 한 서비스에서 문제가 생겨도 다른 서비스를 정상적으로 이용할 수 있다. 채팅방 서버에 대한 우려가 잠깐 있었기 때문에 만장일치로 결정하였다. 인스턴스 1개, 포트 다르게 마이크로 서비스 4개 관리자 / 로그인 / 게시판 / 채팅 망형 토폴로지 사용 서비스가 각각 동작을 하는데 모든 다른 서비스와 연결이..
응답하라 추억시대 S.A. 작성 응답하라 추억시대 누군가의 기억을 가치있게 생각하는 공간, “ 응답하라 추억시대 “ 입니다. S.A. https://gleaming-harp-2af.notion.site/S-A-3929e5fabc12464eacb360854e7d4213 고민해 본 것들 1. 성능 향상 : 퍼포먼스를 높이기 위해 RDS의 테이블의 개수와 외래키를 줄이자. 1-1. 이미지 처음에는 파일 리스트와 파일이라는 테이블로 최대 5개까지 업로드가 가능했다. 이 테이블 2개를 포기하고 이미지 파일을 Posts안에 img 컬럼으로 한 개만 올리기로 하였다. 1-2. 신고 처음에는 commentsReports와 PostsReports로 나누어져 게시글 1개 댓글 1개를 각각 신고할 수 있었다. 신고는 애초에 운영진의 검수가 필요한 항목으로..
프로젝트 9gle KPT 회고 🌈 1. 프로젝트 명: 9gle 프로젝트 관리와 작업 흐름 관리에 사용되는 칸반보드 제작 프로젝트 💪 2. Keep 부재중 슬랙에 남기기 현재 부정적인 상황일 경우 빠른 공유 소통 중요하게 생각하기 예쁜 말 하기 9조 가족 존중하기 회의 자주 하기 리더가 부르면 바로 오기 😭 3. Problem 문제점 개발에 대한 미련이 많다. 계획한 일을 가끔 제 시간에 수행하지 못하였다. 원인 프로젝트에 대한 욕심이 많다. 맡은 일의 마감시간까지 기다리지 못하고 중간에 조급해 하였다. 문제 해결방안 프로젝트 시작 전 꼼꼼하게 계획을 세운다. 마감시간이 임박하였는데 해결하지 못한 경우 현 상황을 지속적으로 공유한다. 알게된 점 초기 계획이 상당히 중요하다. 더욱더 소통해야 한다. 🤙 4. Try 역할 분담을 효율적으로..
WIL 20230813 0. 기간 : 20230806 ~ 20230813 1-1. 이번 주 동안 있었던 일 칸반보드 프로젝트 진행 및 완성 1-2. 이번 주 체크리스트 [ ? ] 예쁜 말로 협업하였는가? 이제 제법 친해져서 장난을 많이 쳤는데 예쁜 말은 아니었다. [ O ] 12시간 동안 몰입하였는가? [ O ] 코딩 시 복사 + 붙여넣기를 하지 않았는가? [ O ] 친절한 개발자였는가? [ ? ] 이번 주를 평가하였을 때 주니어 개발자가 될 수 있겠는가? 말을 곱게 하고 생각을 더 잘 해야겠다고 생각했다. 2. 이번 주 소감 원만하게 진행되었으나 내가 너무 완성하려고 하는 마음이 앞서서 업무 분장을 잘 하지 못한 것 같다. 팀원들이 너무 어깨가 무거워 보인다고 하였다. 실제로 나는 가벼웠으나 사람들이 힘들어보인다고 하면 재고..
9gle 프로젝트 완성 발표 연습 영상 준석님의 제출 시연 영상 9글9글9글 Team Project 1. 프로젝트 명칭 9글9글9글 2. 프로젝트 목적과 기능 프로젝트 관리와 작업 흐름 관리에 사용되는 프로젝트 3. 중요로직 초대 받기 userId 생성 Board에 접근을 했을 때 userId , boardId가 일치하는 Access 데이터가 있으면 Board 작성 가능 아닐 경우 return 400 초대하기 userId 생성 userId 로그인 Board 생성 (boardId, userId) Board에 해당하는 userId를 가진 사람만 Access table에 해당 boardid를 넣은 데이터를 생성할 수있다. 즉, 권한을 가진 사람만 초대 가능. 보드 생성 보드 생성 시 권한 동시 부여 트랜잭션 사용 최소화를 통한 성능..