Git의 역할 :여러 사람들과 협업 시 작업하는 코드를 한 곳에서 편하게 관리할 수 있게 해주는 프로그램,작업 기록을 남기고 이력을 추적해서 코드를 손쉽게 관리할 수 있도록 도와줌브랜치를 나누어 개별적으로 프로젝트를 나누어서 작업하고 하나로 취합하는 것이 편리하다.또한
1. Flask로 여러개의 html 연결 팀 소개 페이지를 만드는 미니 프로젝트를 진행 메뉴 리스트를 만들고 각 메뉴 별 a태그를 통해 서브페이지 html로 이동이 가능하게 구현하던 중 클릭 시 새 팝업창이 뜨게 끔 연결하려고 함 발생오류 : 404 not found
REST API란?REST 기반으로 서비스 API를 구현한 것최근 OpenAPI(누구나 사용할 수 있도록 공개된 API: 구글 맵, 공공 데이터 등), 마이크로 서비스(하나의 큰 애플리케이션을 여러 개의 작은 애플리케이션으로 쪼개어 변경과 조합이 가능하도록 만든 아키텍
팀원생성 버튼을 따로 구현하여 웹페이지 내에서 팀원등록 할수 있게 기능 구현생성 후 alert 창으로 생성완료! 경고창이 나오는 디자인이 밋밋하다고 생각되어서SweetAlert으로 Alert창을 조금 변경해주었다입력하는 박스가 페이지에 비해 작다보니 화면전환이 아닌 팝
1) Details\- 프로젝트 요구사항 :1) 팀원소개2) 팀프로젝트 소개3) CRUD구현4) 와이어프레임 및 API명세 작성5) Git을 사용한 협업2) 느낀점 상훈 : 와이어프레임에서 생각했던 기능들을 구현해보려 했으나 여러가지 에러가 발생하면서 시간이 부족해졌
발생한 문제 awsebcli를 설치하고 eb init을 명령어를 실행하던 중 오류 발생 경고문구를 자세히 살펴보니 pip version이 달라 오류가 발생된 것으로 추정 pip 업그레이드 명령어를 입력 후 실행했으나 또 다른 오류가 발생
\- Github 사용 중 push가 안되는 현상 (Everything up-to-date)\-> 순서대로 ADD -> COMMIT -> PUSH를 진행했다 생각했는데 Git status로 확인하지 않고 바로바로 PUSH를 하다보니 해당 현상이 자주 발견되었다. 뭔가
[프로그래머스] 문자열 내 p와 y의 개수 / 음양 더하기
자바스크립트 / 프로그래머스 / 알고리즘 / 코딩테스트
JS 종합반 4주차 완강, 숙제는 2주차까지 제출Git 특강 (2/2)프로그래머스 코딩테스트 1문제JS 종합반 1회독 후에 문법정리를 해두려고했는데 생각보다 분량이 많아질 것 같다.. 😅오늘은 강의에 시간을 많이 할애해서 알고리즘 문제를 풀어보지 못했는데 주말에 조금
for, for in, for of, while 반복문
javascript, 실행컨텍스트, 호이스팅
\- JavaScript 문법 종합반 수강\-> 1회독 수강했을때는 콜백함수와 클래스 중 클로저 부분이 이해가 잘 가지 않았다. 강의로는 충분히 이해하기가 어렵다고 판단되어 예시문제와 구글링을 통해서 개념을 이해할 수 있도록 노력해봤다. 확실히 단순히 강의를 들으며 코
JS종합반 5주차까지 2회독 완료TMBD Api데이터를 이용한 영화소개 페이지 제작(1)Movielist repo를 만들고 3개의 브랜치로 작업 진행 후 merge발생한 문제 -1영화 검색 버튼을 만들고 클릭 시 검색한 영화가 출력되는 기능을 구현하는 중 검색버튼 클릭
알고리즘 문제 해결개인과제 코드리뷰알고리즘 문제를 해결하던 도중 최대공약수를 사용해야하는 문제가 있었다. 막상 코드로 구현을 하려고 하니 도저히 생각이 안나 구글링을 해보니 유클리드 알고리즘이라는 공식이 있었다.이 공식으로 쉽게 해결할 수 있었다.두 자연수 사이의 최대
연속된 세 개의 정수를 더해 12가 되는 경우는 3, 4, 5입니다. 두 정수 num과 total이 주어집니다. 연속된 수 num개를 더한 값이 total이 될 때, 정수 배열을 오름차순으로 담아 return하도록 solution함수를 완성해보세요.https:
선분 3개가 평행하게 놓여 있습니다. 세 선분의 시작과 끝 좌표가 \[start, end, start, end, start, end] 형태로 들어있는 2차원 배열 lines가 매개변수로 주어질 때, 두 개 이상의 선분이 겹치는 부분의 길이를 return 하도록 solu
\- JavaScript 문법 종합반 & 알고리즘 기초강의 수강\-> 개인과제를 시작하기 전 2회독까지는 완료했다. 2회독을 했어도 여전히 어려운건 사실이다. 1회독때 느낀것과 마찬가지로 콜백함수와 클래스에 대해 좀 더 공부를 해야할 것 같다. 다음주차부터는 메소드에
알고리즘 문제풀이localstorage에 로그인 정보 key, value값 저장기능리뷰 작성기능해당 value값의 리뷰만 삭제가 가능한 기능 (임시)코드 작성 후 팀원과 리뷰해보고 좀 더 효율적인 코드로 변경발생한 문제처음 작성한 printReview 함수를 실행했을때
알고리즘 문제풀이리뷰 수정기능 추가 및 팝업창 형태로 구현Import, Export를 적용해보려 했는데 예상치 못한 오류가 발생하여 보류발생한 문제 (1)js 파일이 적용이 안되는 문제가 발생했다. 수정 버튼 클릭 시 팝업창을 구현하기 위해 컴포넌트를 review.js
알고리즘 문제풀이팀원과 함께 전체 코드 병합 한 뒤 리팩토링 Import, Export 적용작성자에게만 리뷰 수정/삭제 버튼이 활성화되고 아닌 댓글은 비활성화 기능댓글 좋아요/싫어요 기능 발생한 문제(1)리뷰의 좋아요/싫어요 기능을 구현하기 위해서 printReview
팀프로젝트 코드리뷰EDR, API 특강 / JS 특강 수강폴더트리 정리예외처리로그인을 안했을 경우 리뷰작성을 하면 영화 디테일 페이지 API랑 다른 요소들이 undefined로 출력되는 현상이 생겼다. 팀원들과 논의해보면서 로그인을 하는 과정과 리뷰작성 부분에는 간단하
\- 팀과제 (개인과제 영화소개 페이지 개선)\-> 상세페이지의 리뷰, 수정/삭제 기능을 구현하고 다른 팀원분들이 작성한 코드를 팀원들과 함께 하나로 합쳤다. 합치면서 여러가지 오류가 발생해서 당황도 했지만 팀원과 함께 문제해결을 해가면서 오류가 발생했을때 어떻게 해결
발생한 문제로그인 후 리뷰를 등록했을때 첫 동작은 이벤트가 실행되지 않고, 새로고침 후 로그인 정보가 로컬스토리지에 데이터값이 저장이 되면 두번째부터 이벤트가 발생되는 문제가 발생했다.form태그를 사용해서 submit이 되는 문제인가싶었는데 preventDefault
배열 만들기4정수 배열 arr가 주어집니다. arr를 이용해 새로운 배열 stk를 만드려고 합니다.변수 i를 만들어 초기값을 0으로 설정한 후 i가 arr의 길이보다 작으면 다음 작업을 반복합니다.만약 stk가 빈 배열이라면 arri를 stk에 추가하고 i에 1을 더합
✔️오늘 한일! [x] Node.js 입문 강의 수강 [x] 개인과제 - 게시판만들기 발생한 문제1 postId에 맞는 게시글 상세 조회를 구현하던 중 문제가 발생했다. 콘솔로 찍어보니 postId가 params로 넘어오긴 하는데 타입이 String으로 넘어오는데
Node.js 입문 강의 2회독 수강개인과제 배포 및 데이터베이스에 데이터 입력api명세서 작성router마다 서버가 꺼지지 않도록 param으로 들어오는 id값이 objectId인지 아닌지 유효성 검사를 위해 try catch구문을 다 넣어놨었는데, 중복되는 부분이기
전체 게시글 목록 조회 API게시글 작성 API게시글 상세 조회 API게시글 수정 API게시글 삭제 API댓글 목록 조회댓글 작성댓글 수정댓글 삭제EC2 배포1) 전체 게시글 목록 조회API생성날짜를 내림차순으로 sort해서 showPost에 담아준 후 출력2) 게시글
\- Node.js 개인과제\-> Express 프레임워크를 사용하여 개인 블로그를 만드는 과제를 진행했다. 기본적인 CRUD를 포함함하여 만드는 간단한 웹페이지였지만 강의를 안보고 만들기엔 여전히 쉽지는 않았다. 막히거나 모르는게 있으면 강의때 실습했던 코드를 보면서
Node.js 숙련 강의 수강완료회원가입 기능 구현로그인 기능 구현middleware를 구성하여 회원가입 후 로그인 했을때만 게시글 작성,수정,삭제 기능 구현과제를 하던 도중 게시글 전체조회 시 출력해주는 내용 중에 user schema에 있는 nickname을 출력해
ERD 작성기존 mongoose 방식을 sequelize 방식으로 변경마이그레이션 파일 수정CRUD -> sequelize 문법으로 수정1)게시글 전체조회 및 상세조회기존에는 map()메서드로 출력할 목록들을 따로 만들어서 작동했는데 find()메서드의 attribut
refresh token을 추가하여 로그인 유지 기능 추가로그아웃 기능 추가계정전환 기능 추가필수구현 사항을 마치고 이전에 같은 팀원이였던 분과 추가 기능에 대해서 논의해보다 로그인 유지 기능을 같이 구현해보기로 결정했다. 아직은 잘 모르는 개념이라 작업하면서도 이게
개인과제를 진행하면서 config파일을 실수로 github에 올려버렸는데 환경변수를 적용하지 않고 5분정도 올려뒀더니 DB가 털렸다.. ㅠㅠ그래서 AWS RDS로 생성한 DB를 삭제하고 다시 DB를 생성하였다.생성 후 dotenv를 설치하고 환경변수를 생성하는 작업을
\- Node.js 개인과제 Lv2,3\-> 기존에 작성했던 코드에, 회원가입과 로그인 기능을 구현하여 아이디/비밀번호를 입력하지 않아도 로그인하면 게시글과 댓글을 작성하는 코드를 구현. 또한 mongoose에서 sequelize로 변경하는 작업을 진행하며 추가기능으로
API 명세 및 ERD 작성Github 초기세팅과제 파트 분배뉴스 피드 만들기 팀과제를 시작했다. 팀원분들과 상의하여 우리는 아래와 같은 기능을 구현하기로 했다.페이지 구성메인페이지마이페이지게시글 작성/수정 및 상세페이지구현해야할 기능1) 회원가입 및 로그인/로그아웃
게시글 CRUD 작성Category, Like 테이블 생성AWS S3를 사용하여 이미지 업로드multer-s3 upload오류this.client.send is not a funtion이미지 업로드를 시도하던 중 계속해서 해당 오류가 발생하고 있었다.구글링 하여 원인을
\- 뉴스피드 만들기\-> 내가 맡은 부분은 게시글 CRUD, AWS S3를 이용한 이미지 업로드였다.CRUD는 이전 과제내용과 큰 차이가 없어서 금방했고, AWS S3는 이용해본적이 없어서 구글링을 해가면서 예시를 찾고 코드를 작성해나갔다. S3에 업로드 및 SQL
Node.js 심화 1-13까지 수강level 4 과제 시작조건 조회attributes 옵션을 사용하여 원하는 컬럼을 가져오거나, where을 사용하여 조건들을 나열할 수 있음where에는 Op객체를 사용할 수 있음\|:------ \|:-----:\|| Op.gt
TCP vs UDP | | TCP | UDP | |:----------:|:----------:|:----------:| | 연결 | 연결 필요 | 연결 불 필요 | | 신뢰성 | 신뢰성, 손실된 데이터 재전송 | 신뢰성 없음 | | 데이터흐름 | 혼잡도 제어 | 없음 | | 속도 | UDP에 비해 느림 | 빠르다 | | 적용 분야 | 신뢰성 있는 실시간 ...
데이터베이스의 상태를 변화시키기 위해 수행하는 작업의 단위를 뜻한다.작업의 완전성을 보장해주기 위해 사용되는 개념이며, 특정한 작업을 전부 처리하거나,전부 실패하게 만들어 데이터의 일관성을 보장해준다.데이터베이스의 상태를 변화시킨다는 의미는 질의어(SELECT, INS
FACTS & FEELINGS - 일주일간 있었던 일과 느낀점 - Node.js 심화 과정 수강 -> socket.io, trasaction, 3 layered Architecture Pattern에 대해 학습할 수 있었다. access token과 refresh to
팀프로젝트나 심화 과제를 하면서 느꼈던 점은 유효성 검사를 진행하게 되면 if문을 자주 사용하게 되어서 코드가 길어지고 한눈에 안들어온다고 느껴졌다.다른 팀이 joi 라이브러리를 사용하여 유효성 검사를 진행했던 것을 보고 따로 찾아보니 중복적으로 사용하는 코드를 줄여주
1) 단일 책임의 원칙 (Single Responsibility Principle, SRP) 하나의 객체는 단 하나의 책임을 가져야 한다 클래스나 모듈을 변경하는 이유는 단 하나여야 함 이를 지키지 않으면 한 책임의 변경에 의해 다른 책임과 관련된 코드에 영향을 미칠
개발자는 비지니스 프로세스를 개선하거나 자동화하기 위해 일하는데, 도메인은 이런 프로세스가 지원하는 활동을 의미함(SW로 해결하고자 하는 문제의 영역)한 도메인은 다시 하위 도메인으로 나뉠 수 있음(하위 도메인 구성 여부는 상황에 따라 달라짐, B2B / B2C)도메인
주문수가 많은 순서로 랭킹을 집계하기 위해 계산 메소드를 만들어 줌기간(일별, 주간, 월간 주문수)을 설정하여 3가지의 랭킹을 계산배달이 완료된 주문만 집계하기 위해 order_status : "delivered"를 적용set()을 사용하여 userIds에 해당 유저의
leve5과제 피드백을 받았다.예외처리 및 에러를 컨트롤러에서 errorMessage라는 형태로 받았는데, 상당히 위험한 패턴이라고 하셨다. errorMessage가 있다는 이유만으로 에러를 100% 판단할 수 있는지에 대해 보장할 수 없고 서비스는 반드시 errorM
★ 백 오피스 프로젝트에 대한 Node B반 2조(참쉽조)에 대한 회고류원희Keep : 다 같이 열중해서 프로젝트를 작업했던 점Problem :1) 처음엔 충분한 회의를 마치고 작업을 진행했다 생각했었는데, 진행하다 보니 틀을 잡는 첫 회의가 부족했다고 느끼게 되었음,
트랜잭션을 걸어줄려면 레포지토리 단계에서 작업을 해야된다고 한다. 그런데 우리조는 비즈니스로직 단계에서 이것저것 검증을 한 뒤 트랜잭션을 걸려고 서비스단계에서 작성을 했고, 역시나 실행을 해보면 트랜잭션이 작동을 안해서 오류가 났다.한참을 고민하다 튜터님에게 질문을 드
직전 타입스크립트 개인과제를 진행하면서 만들어 둔 업로드 미들웨어를 이번 팀프로젝트때 적용하려 했는데 form-data에 들어있는 값을 읽지 못하고, file에 location을 찾을 수 없다는 현상이 발생했다.이게 직전 프로젝트에서 사용하던 것인데 location을
보드 순서 변경 및 컬럼 순서 변경 로직같은 컬럼 내의 보드 이동을 진행할 때는 클라이언트가 선택한 보드를 findBoard에 담아 존재하는지 검색하고 변경하고자 하는 보드를 targetBoard로 잡아 해당 보드의 sequence번호와 교환해주는 방식을 채택다른 컬럼
1\. 이상훈Keep 팀 별 규칙을 준수하고 매일 14시에 서로의 코드 진행 상황을 알 수 있도록 스크럼 회의를 진행한 점모르는 내용이 있으면 공유하고 서로의 지식을 공유하여 부족한 부분을 채워준 점Problem 전반적은 프로젝트 진행은 문제 없이 진행됐으나 개인적으로
✔️오늘 한일! [x] 워크스페이스 CRUD [x] 워크스페이스 멤버 CRUD 및 Role 설정 [x] 권한 확인을 위한 Interceptors 구현 MVC 패턴이란? MVC (모델-뷰-컨트롤러) 는 사용자 인터페이스, 데이터 및 논리 제어를 구현하는데 널리 사용되는
결제기능과 워크스페이스 멤버십기능을 구현하던 중 멤버십 결제를 진행하면 워크스페이스의 PK 중복 오류가 발생하였음초기에는 membership과 workspace의 관계를 1:1로 설정해주었는데 콘솔을 찍어가며 확인해보니 workspace의 membership_id를 업
작업을 진행하던 중 Not found alias 오류가 발생OneToOne으로 관계 설정 시 FK를 관리하지 않는 테이블에서는 참조하는 테이블의 id값 컬럼이 생성되지 않는 것을 확인 (이유는 튜터님에게 확인해봐야 할 듯)따라서 기존처럼 update를 사용할 경우 해당
HTTP 메서드란 클라이언트와 서버 사이에 이루어지는 요청과 응답데이터를 전송하는 방식을 말한다.주요 메서드\- GET : 리소스 조회서버에 전달하고 싶은 데이터는 query를 통해서 전달함. 메시지 바디를 사용하여 데이터를 전달할 수는 있지만, 지원하지 않는 곳이
C
송수신자가 room에 입장하면 welcome으로 이동하며, chat기능을 위해 data channel을 생성하고 offer를 생성함 스트림을 추가할 때 원래는 addStream을 사용했으나 더이상 사용하지 않는 방법으로 권장하지 않는다고하여 track으로 변경하여 사용 송신자가 offer를 전송하면 수신자는 해당 offer의 SDP를 바탕으로 Answ...
프리미엄 멤버십과 무료 두 가지로 서비스를 운용하기로 함 무료버전의 경우 보드는 3개까지만 생성가능, 멤버는 5명까지만 초대가능 entityManager를 사용하여 트랜잭션을 걸어줌. 우선 현재 접속중인 유저의 포인트를 조회한 뒤 결제에 문제가 없다면 새로운 payment를 생성해주고 멤버십을 생성 이용기간은 body값으로 30일 또는 180일만 들어오...
생성과 마찬가지로 트랜잭션을 생성, 취소하려는 결제와 멤버십을 조회하고 해당 멤버십의 남은 기간을 계산해줌 남은 기간에 일할계산 된 금액을 곱하고 환불금액을 유저포인트에 다시 넣어준 뒤 커밋 멤버십 가입 후 취소 테스트 금액이 정확히 일치하진 않지만 정상적으로 환불되는 것을 확인 결제내역 조회를 위해 payment는 status만 false로 바꿔주...
이전에 발생했던 문제 취소된 결제가 존재할 때 새로운 멤버십을 결제하는 경우 아래 취소되었던 멤버십도 같이 활성화되는 문제를 발견 payment 컬럼의 status를 활용하여 true인 경우에만 push를 할 수 있도록 변경 true가 아닐 경우 취소된 결제 내역이므로 membership의 정보를 담지 않음, 프론트에서는 멤버십의 생성정보가 없을 경...
무료 워크스페이스는 보드를 3개까지만 만들 수 있고 멤버 초대를 5명까지만 할 수 있으므로 기존 로직 수정 워크스페이스가 멤버십을 가지고 있는지 확인 후, 멤버십이 없고 보드의 개수가 3개 이상이라면 오류 출력 마찬가지로 워크스페이스 멤버초대 로직도 수정 같은 방
로드 밸런서를 이용하여 여러대의 서버가 분산 처리하도록 함클라우드 서비스 제공 업체의 오토 스케일링 기능(서버의 부하를 체크하여 서버를 생성하는 방식)을 사용데이터 베이스 샤딩을 적용(DB 테이블을 수평 분할하여 물리적으로 서로 다른곳에 분산 저장)데이터베이스 레플리카
워크스페이스 디테일에 activity 내용을 출력해주기 위해사용 로그를 만들기로 결정하였음초반에는 board, boardColumn, card도 관계설정을 해뒀다. 어떤 부분에서 이벤트가 발생하는지 출력을 해주기 위함이였는데 다시 생각해보니 워크스페이스 디테일에 들어가
OSI 7 계층은 네트워크 통신을 구성하는 요소들을 7개의 계층으로 표준화 한 것임통신이 일어나는 과정을 단계별로 파악할 수 있어 문제 발생 시 해당 문제를 해결하기 좋음7 계층 (Application Layer, 응용 계층) : 사용자에게 통신을 위한 서비스 제공,
워크스페이스 디테일에서 현재 이 워크스페이스에 업로드 된 모든 파일을 가져오기 위해쿼리빌더를 사용하여 모든 파일을 조회필요한 컬럼들을 선택해 준 뒤 프론트에서 요청 시 데이터가 넘어가는 지 확인원하는 정보가 넘어온 것을 확인하고 하나의 카드에 여러개의 파일이 존재하는
EC2에서 npm run build를 하던 도중 heap out of memory에러가 발생main.ts에 해당 코드를 작성 후 사용 메모리를 봤는데 123mb로 512mb보다 한참 떨어지는데 왜 저런 오류가 날까 해서 구글링 해보니 일단 build하는 과정 중에 no
아래와 같이 workflow를 작성했는데 이전에 발생했던 문제가 또 다시 발생script 파일에는 이렇게 작성해두었는데 stack overflow에서 찾아보니 빌드할 때 앞에서 했었던 node.js의 사용 메모리를 늘려주는 코드를 작성해야 한다고 함수정 script해당