목록분류 전체보기 (129)
YS's develop story
관계형 데이터베이스와 NoSQL 및 DDL, DML의 정의 수많은 소프트웨어 제품이 그런 것처럼 데이터베이스에도 여러 종류가 있습니다. 데이터베이스는 데이터를 보존하는 형식에 따라 여러 가지로 구분되며 각각의 특징이 있습니다. 그중에서 관계형 데이터베이스에 대해 알아봅시다. 관계형 데이터베이스 모델 위와 같이 2차원 표 형식으로 데이터를 관리하는 데이터베이스로, 현재 가장 주류로 사용되고 있습니다. 테이블은 열과 행으로 이루어져 있으며 테이블의 column들은 특성(Attribute)을 나타냅니다. 각 Row(Tuple)들은 순서쌍으로 이루어져 있습니다. 위 사진은 관계형 데이터베이스 모델의 예시입니다. No SQL 데이터베이스 최근 관계형 데이터베이스 이외의 데이터베이스로 주목을 받아온 것이 NoSQL..
트랜잭션의 의미 및 Node MySQL Transactions 적용해보기 3학년 전공 필수과목 데이터베이스.. 매우 중요한 개념인 Transactions에 대해 알아봅시다 transaction은 여러 개의 연속된 쿼리로 구성되어 있는데 하나의 작업처럼 작동해야 합니다. SQL standard는 SQL 문이 실행될 때 트랜잭션이 암시적으로 시작되도록 지정해줍니다. 트랜잭션은 아래의 요소 중 하나의 상태로 끝나야 합니다. Commit work 트랜잭션이 시작부터 끝날 때 때까지 수행되었던 모든 쿼리문들의 작업을 데이터베이스에 영구적으로 업데이트하는 것 Rollback work 트랜잭션이 시작부터 끝날 때까지 수행되었던 작업들을 모두 취소하는 것 트랜잭션의 원자성 완전히 실행되거나 (Commit) 발생하지 않..
C# rest API 호출하기 (RestSharp 이용) C# 라이브러리인 RestSharp을 이용해서 C#에서 rest API를 호출해 봅시다. 프로젝트를 클릭한 후 NuGet 패키지 관리로 들어가 줍니다. RestSharp를 설치해 줍니다. Json형식으로 파일을 받아서 사용할 것이기 때문에 관련 패키지도 설치해 줍니다. Json.NET - Newtonsoft × PM> Install-Package Newtonsoft.Json or Install via VS Package Management window. ZIP file containing Json.NET assemblies and source code: Json.NET www.newtonsoft.com Postman에서 사용하고자 하는 API를 C..
Node js에서 메일 전송하기 (Nodemailer 이용) 노드 메일러는 Node.js에서 메일 전송을 가능하게 해주는 모듈이며, 가장 일반적으로 사용되고 있습니다! 우선 메일을 보낼 gmail을 하나 생성해 줍시다. 메일을 생성하고, 아래의 링크로 접속을 하여 보안 수준이 낮은 앱의 액세스를 허용해 줍시다. 로그인 - Google 계정 하나의 계정으로 모든 Google 서비스를 Google 계정으로 로그인 accounts.google.com npm을 이용해 nodemailer 모듈을 다운로드 해 줍시다. npm install nodemailer 코드에 아래와 같이 다운로드한 모듈을 사용한다는 구문을 추가해 줍니다. const nodemailer = require('nodemailer'); 저는 저의 ..
MySQL 중복된 결과를 제거하는 distinct 아래와 같이 Community라는 테이블에 내가 작성한 글들의 책이름과 책 인덱스를 출력하도록 쿼리를 짰습니다. 하지만 문제점이 있습니다. 14번 인덱스에 해당하는 '부의 추월차선'에 관련된 글을 두 개 작성했기 때문에 중복된 출력 결과가 나오게 됩니다. select Community.bookIdx,bookName from Book left outer join Community on Community.bookIdx = Book.bookIdx where userIdx = ? and Community.status = 1 and Book.status =1; distinct를 사용하면 이러한 중복된 결과를 제거하고 출력할 수 있습니다. select distinc..
서버 개발주의사항 프로젝트 서버 개발 시 중요한 주의 사항들을 멘토분들께서 잘 정리해 올려 주셨는데.. 서버 개발 시 두고두고 참고하기 위해 정리해서 글을 작성하게 되었습니다. 1. API Index 전체적인 API 리스트를 관리하는 곳이에요. 클라이언트 개발자는 이 페이지만 보고 어떤 API가 있고 어떻게 접근하면 되는지 알 수 있어야 합니다. 아래 사항에 특히 신경 써서 작업을 진행해 줍시다.!! API 문서 최신화에 꼭 신경 써주세요! 테스트 서버와 실서버의 URL을 적어주세요. 각각의 항목에 대해 각 시트로 이동할 수 있는 링크를 걸어주세요. (Ctrl+K 또는 Cmd+K) API 개발 및 테스트를 마무리하고 git에 푸시하기 전에 꼭 API 명세서를 최신화해주세요. 클라이언트 개발자가 슬랙 채널..
망고플레이트 클론 앱 프로젝트 라이징 프로그래머 2기 교육과정 후 2주간 진행하게 된 모의 외주, 망고플레이트 클론 앱 프로젝트입니다. AWS EC2에서 Node를 통해 서버를 구동하고 있으며 AWS RDS를 데이터베이스로 사용하였습니다. 개발기간 2021-02-03 ~ 2021-02-17 개발환경 시연 영상 로그인 식당 검색 식당 상세조회 소식 조회 EAT딜 식당 등록 TOP 리스트 내 정보
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...
MySQL ) LIMIT을 활용하여 페이징 쿼리 활용하기 아래와 같이 Restaurant라는 테이블이 있습니다. 또한 아래와 같이 Review라는 테이블이 있습니다. 마지막으로 아래와 같은 Area라는 테이블도 있습니다. 아래와 같은 쿼리를 작성하게 되면 식당 이름과 reviewCount, distance를 보여주게 됩니다. select restaurantName,ifnull(reviewCount, 0) reviewCount, round(6371 * acos(cos(radians(areaLatitude)) * cos(radians(restaurantLatitude)) * cos(radians(restaurantLongitude) - radians(areaLongitude)) + sin(radians(ar..