목록기타/라이징프로그래머 2기 (21)
YS's develop story
서버 개발주의사항 프로젝트 서버 개발 시 중요한 주의 사항들을 멘토분들께서 잘 정리해 올려 주셨는데.. 서버 개발 시 두고두고 참고하기 위해 정리해서 글을 작성하게 되었습니다. 1. API Index 전체적인 API 리스트를 관리하는 곳이에요. 클라이언트 개발자는 이 페이지만 보고 어떤 API가 있고 어떻게 접근하면 되는지 알 수 있어야 합니다. 아래 사항에 특히 신경 써서 작업을 진행해 줍시다.!! API 문서 최신화에 꼭 신경 써주세요! 테스트 서버와 실서버의 URL을 적어주세요. 각각의 항목에 대해 각 시트로 이동할 수 있는 링크를 걸어주세요. (Ctrl+K 또는 Cmd+K) API 개발 및 테스트를 마무리하고 git에 푸시하기 전에 꼭 API 명세서를 최신화해주세요. 클라이언트 개발자가 슬랙 채널..
Nginx 서브 도메인 , Nginx reverse proxy 적용하기 예전에 AWS EC2에 Nginx를 설치하고 가비아 도메인을 적용하여 이를 연습용 개발 서버로 사용했었습니다. (Rp2기 2주차 과제 - part 2) AWS EC2를 이용한 ubuntu 서버 구축, WinSCP를 이용하여 AWS 인스턴스에 nginx,ph 두 번째 과제 1. AWS EC2를 이용한 ubuntu 서버 구축. 2. WinSCP를 이용하여 AWS 인스턴스에 nginx, php, mysql 설치. 3. datagrip을 이용하여 mysql 외부 접속해보기. 1. AWS 서버 구축 우선 아래 AWS 홈페이지에.. yusang.tistory.com 실제 서비스를 할 때 서버는 Product서버와 Test서버로 나누어서 진행을 ..
FCM을 이용하여 node js 푸시 알람 구현하기 사이트 firebase에서 프로젝트를 생성해 줍시다. console.firebase.google.com/?hl=kofirebase.google.com/?hl=ko Firebase Firebase는 고품질 앱을 빠르게 개발하고 비즈니스를 성장시키는 데 도움이 되는 Google의 모바일 플랫폼입니다. firebase.google.com 사용하고자 하는 앱에 firebase를 사이트에서 하라는 대로 추가해 줍시다. 클라이언트 쪽에서 아래와 같은 코드를 통해 디바이스 토큰을 받습니다. FirebaseMessaging.getInstance().token.addOnCompleteListener(OnCompleteListener { task -> if (!task...
Query String, 쿼리 스트링 활용하기 '건대'라는 글자가 들어가는 특정 카페를 찾기 위해선 어떻게 해야 할까요? 아래와 같이 쿼리스트링을 활용하면 됩니다. cafeRoute.js cafecontroller.js 사용자가 쿼리 스트링 값을 입력하지 않고 /cafe와 같이 요청을 하게 되면 모든 카페를 출력하고, /cafe?cafeName=건대 와 같이 요청을 하게 되면 cafeName에 값이 들어가게 되어 그 카페만을 출력하게 됩니다. cafeDao.js 쿼리 스트링 처리 부분 쿼리입니다. 여기서 중요한 것은 쿼리를 짤 때 Like concat ('%',?,'%')을 사용해야 한다는 것입니다.. 처음에 %?%이런식으로 쿼리를 짰는데 쿼리를 인식을 못했습니다.. Postman에서 실행 결과를 확인해..
RP2기 API와 REST API란 무엇인가..? 수업내용 정리 클라이언트와 서버가 Request, Response를 통해 주고받는 데이터 덩어리를 Packet라고 합니다. Packet을 소포 상자라고 생각해 봅시다. 소포 상자에는 label이 붙어 있을 것인데 이 label를 Header라고 부릅니다. Header에는 Meta data가 들어 있습니다. Meta data란... 메타데이터는 데이터에 대한 데이터이다. 이렇게 흔히들 간단히 정의하지만 엄격하게는 "어떤 목적을 가지고 만들어진 데이터"라고도 정의한다. 가령 도서관에서 사용하는 서지 기술용으로 만든 것이 그 대표적인 예이다. 소포 상자 안에는 진짜 필요한 데이터들이 들어있을 것인데 이것을 Body라고 합니다. HTTP 프로토콜을 이용해서 패킷..
AWS EC2로 node.js 배포 하기 https://docs.aws.amazon.com/ko_kr/sdk-for-javascript/v2/developer-guide/setting-up-node-on-ec2-instance.html 자습서: Amazon EC2 인스턴스에서 Node.js 설정 - 용 AWS SDKJavaScript 노드 설치는 현재 EC2 세션에만 적용됩니다. EC2 인스턴스가 사라지면 노드를 다시 설치해야 합니다. 다음 단원에 설명된 대로 유지하려는 구성이 있는 경우 대안은 EC2 인스턴스의 AMI를 만드는 것 docs.aws.amazon.com 위의 링크의 절차에 따라 EC2에 node.js를 설치해 줍시다. 그리고 npm install를 통해 필요한 모듈들을 다운로드하여 줍니다...
포트와 프로토콜 수업 내용 간단 정리 우리는 현실세계에서 건물의 위치를 서울시 000구 000동 이런 식으로 주소로 나타냅니다. 인터넷에서는 이런 주소 대신 ip주소로 12.5.3.2.3 이런 식으로 나타내는데 이는 알아보기 쉽지 않고 직관적이지 않기 때문에 사람이 보기 쉽게 하기 위해 도메인이라는 것을 사용합니다. 과제 중에 EC2의 ip주소를 도메인을 구입해서 연결하곤 했었습니다. (RP2기 2주 차과제 - part 3) AWS EC2 Ubuntu서버와 가비아 도메인 연결해 보기 (직접 구매한 도메인 연결하기) (RP2기 2주차과제 - part 3) AWS EC2 Ubuntu서버와 가비아 도메인 연결해 보기 (직접 구매한 도메인 연결 세 번째 과제 1. AWS EC2 Ubuntu 서버에 가비아 도메인..
2번째 과제 : JWT를 사용하여 회원용 API 만들기 로그인 유지 방식 3가지(수업 내용 정리) 1. 쿠키, 세션 “자유이용권을 주는 것.” 맨 처음 클라이언트가 로그인을 할 경우, 서버에서 자유이용권 (토큰, 세션 ID)를 발급한다. 이후에 클라이언트가 회원용 API를 호출할 경우 http 헤더에 이 세션 ID가 담겨서 자유롭게 사용할 수 있다. 세션이란 서버 입장에서의 스토리지 이름이다. 쿠키라는 것은 클라이언트 스토리지 이름이다. 장점: 구현이 간단하다. 단점: 세션 ID가 노출되면 보안에 매우 취약하다. 2.OAuth “Big-3 티켓을 주는 것” → 특정 행위에 대해서만 권한을 주는 것 이 역시 로그인에 성공하면 서버에서 토큰을 보낸다. 단, 그전에 퍼미션 리스트도 함께 보낸다. 즉, 허용된 ..
5주 차 과제 1 - AWS RDS를 생성하고 DataGrip을 통해 외부 접속을 해봅시다. 이제 앱에서 필요한 데이터들은 AWS RDS을 통해 생성하고 저장할 것입니다. AWS RDS를 생성하고 DataGrip을 통해 외부 접속을 해봅시다. https://aws.amazon.com/ko/ 클라우드 서비스 | 클라우드 컴퓨팅 솔루션| Amazon Web Services 제조 AWS를 활용한 Siemens의 에너지, 의료 서비스, 제조 분야 혁신 Siemens가 AWS를 사용하여 어떻게 문화를 바꾸고 혁신을 장려하며 비즈니스 성과를 창출했는지 알아보세요. 자세히 알아보기 업종 aws.amazon.com 우선 AWS 페이지에서 아래와 같이 데이터베이스를 생성합니다. 무료로 사용하기 위해서 프리티어를 선택해 ..
3. Patch메서드를 활용하여 Path Variable로 reviewId를 넘겨받은 다음, 해당 reviewId에 해당하는 데이터 베이스를 변경 cafeReviewRoute.js cafeReviewController.js 사용자로부터 Body로 content, cafeStar을 입력받게 됩니다. cafeReviewDao.js MySQL의 UPDATE문을 활용하여 데이터를 수정합니다. MySQL ) UPDATE 문 활용하기 MySQL ) UPDATE 문 활용하기 UPDATE문을 활용해서 테이블 칼럼의 내용을 수정해 봅시다. 아래와 같이 CafeReview라는 테이블이 있습니다. 아래와 같은 쿼리 작성을 통해 CafeReview테이블에 있는 데이터 중 reviewId가 2인 데이터의 con yusang.t..