안녕하세요 강정호입니다 오늘은 JWT 토큰을 사용하여 로그인 기능을 개발해보겠습니다. 참고 페이지 : 13akstjq.github.io/itsme-backend/2019/09/22/passport-jwt%EB%A1%9C-%EB%A1%9C%EA%B7%B8%EC%9D%B8-%ED%86%A0%EA%B7%BC%EC%82%AC%EC%9A%A9%ED%95%98%EA%B8%B0.html Passport란? Node Js를 위한 인증 미들웨어 입니다. 어플리케이션마다 각기 다른 인증 전략을 가지고 있는데, passport에서는 여러 인증 전략을 제공하고 있다. API 문서 : www.passportjs.org/docs/downloads/html/ Documentation Overview Passport is authe..
안녕하세요 강정호입니다. 오늘은 JWT로 인증을 확인하는 개발을 진행해보겠습니다. 이번 시간에 생성할 것은 graphql과 js 파일은 다음과 같습니다 confirmSecret.graphql type Mutation{ confirmSecret(secret:String!, email:String!): String! } confirmSecret.js import { prisma } from "../../../../generated/prisma-client"; export default{ //작업 타입 : Mutation(생성, 수정, 삭제 등의 작업) Mutation: { //graphql에서 정의한 함수명 confirmSecret: async(_, args) => { //graphql에서 정의한 매개변수(..
안녕하세요 강정호입니다 오늘은 requestSecret Resolver에 대해서 만들어 보겠습니다. 파일구조 requestSecret.graphql requestSecret.js // utils.js 파일에서 generateSecret 함수를 import 한다 import { generateSecret } from "../../../utils"; import { prisma } from "../../../../generated/prisma-client"; export default { /* 작업유형이 Mutation(생성, 업데이트, 삭제) */ Mutation: { // requestSecret : requestSecret.graphql에서 정의한 함수명 requestSecret: async(_, ar..
안녕하세요 강정호입니다 오늘은 인스타그램 클론코딩에서 사용자의 계정을 만드는 방법에 대해서 다뤄보겠습니다. Prisma에 사용자 객체를 생성하기 위해서는 아래와 같이 graphql파일과 js 파일이 필요합니다. createAccount.graphql 작업유형 1. Query : 데이터를 조회(GET) 2. Mutation : 데이터 생성(INSERT), 수정(UPDATE), 삭제(DELETE) Mutation 작업으로 createAccount 함수가 실행이 되면 User 객체가 데이터베이스에 생성. createAccount.js import { prisma } from "../../../../generated/prisma-client"; export default { /* Mutation 작업유형일 경우..
안녕하세요 강정호입니다. 오늘은 Graphql과 resolver를 생성하여 Prisma를 통해서 데이터베이스에 있는 데이터를 조회할 수 있도록 해보겠습니다. 이번에 할 것은 아이디로 User를 조회하는 것과, 모든 유저를 조회하는 것입니다. allUsers와 userById를 사용하여 생성해보겠습니다. 위와 같이 .graphql과 .js 파일을 각각 생성해야 합니다. allUsers.graphql에서는 allUsers 쿼리가 실행되었을 때, 어떤 데이터가 조회될지에 대해서 User로 정의해주고 있습니다. 그리고 allUsers.jsd에서는 prisma-client를 사용하여 prisma 서버에 접속하여 DB에 저장된 데이터를 불러올 수 있도록 합니다. 결과 조회 결과 1개의 아이디로 User를 조회합니다.
안녕하세요 강정호 입니다 이번 포스팅에서는 제가 prisma로 어떻게 데이터를 조회하고 생성했는지에 대해서 작성하겠습니다. 1. createUser 2. updateUser 3. User 조회 위와 같이 쿼리문을 사용해서 데이터베이스를 관리할 수 있습니다. 이 때 좋은 점은 id만을 사용해서 객체의 데이터를 처리하고, join문은 사용하지 않고 자동으로 처리한다는 것입니다. 데이터 모델 type User { id: ID! @id userName: String! @unique email: String! @unique firstName: String @default(value: "") lastName: String bio: String following: [User!]! @relation(name: "Fol..
안녕하세요 강정호입니다. 오늘은 Prisma를 프로젝트에 세팅하는 방법에 대해서 공부하려고 합니다 일단 Prisma가 무엇인지부터 알아보겠습니다. GraphQL 페이스북에서 만든 Query Language이다. 기존의 SQL과 다르게 프론트엔드에서 객체를 쿼리할 수 있다 Prisma란? Prisma 세팅 방법 1. sudo npm install -g prisma prisma 설치 cli. sudo를 붙이는 이유는 install에서 -g 옵션은 전역설치인데, 권한 문제로 설치가 안될 수 있기 때문이다. 그래서 sudo 권한을 사용하여 전역 설치를 한다. 2. Prisma cli 로그인 cli로 로그인 하는 명령어를 카피해서 붙인다. 3. prisma init prisma를 초기화 하는 작업을 한다 4. p..
안녕하세요 강정호입니다 GraphQL Server를 생성하기 위한 세팅을 포스팅합니다. 1. npm add dotenv - 환경변수를 다루는 라이브러리. - 개발자의 운영환경(맥, 윈도우, 리눅스), 포트번호 등 시스템 환경을 다루는 라이브러리 2. npm install @babel/preset-env 3. npm install @babel/node 4. npm install @babel/core 5. .babelrc 생성
안녕하세요 강정호입니다. 오늘은 인스타그램 클론코딩의 첫 날입니다. 앞으로 많은 코딩을 해야합니다. 하지만 천리 길도 한 걸음부터 시작합니다. 꾸준함이 생명인 프로그래밍 공부를 꾸준히 해서 꼭 멋진 어플을 만들 것입니다. 1. Github에 Repository 생성하기 - 깃 헙에서 레포지토리를 생성하고 프로젝트를 로컬에 clone 합니다. 2. npm init - 클론된 프로젝트의 package.json 파일을 생성합니다.(https://doncolmi.github.io/Node.js-%EA%B3%B5%EB%B6%80(7)/) package.json 파일은 배포한 모듈 정보를 담고자 만들어졌다. 또한 노드로 작성하는 애플리케이션도 package.json 파일을 사용해 관리할 수있다. 굳이 확장 모듈 형..
안녕하세요 강정호입니다. 이번에는 부동산 관련 서버 신규 프로젝트를 진행하려고 하고 있습니다. 개발에 앞서 요구사항분석, 데이터베이스 모델링, 목표 등을 설정하려고 합니다. 서비스 이름 APT_OWNER(가명). 다주택? 아파트오너, 아파트 소유주, ZIP방, 리치방, 아파리치 서비스 목적 아파트에 대한 정확한 시세와 청약일정에 대해 정보를 제공하여 부동산 초보자들이 쉽게 사용할 수 있는 서비스. 프로젝트를 실행하게 된 동기 각 가구의 가장 큰 자산 중에 하나가 바로 부동산이다. 그 중에서도 아파트의 자산 비중이 제일 크다. 아파트를 잘 구매하여 가격이 오르면 좋지만, 잘못 구매해서 소송에 휘말리고 경제적으로 어려워지는 경우를 보게 되었다. 또한 청약의 혜택을 받을 수 있지만 몰라서 못 받는 사람들도 존..
안녕하세요 강정호입니다. 레일즈 프로젝트를 하면서 생기는 이슈를 적어보겠습니다. 위와 같이 3개의 파라메터를 서버에 보냈습니다. 그러니 다음과 같은 에러메시지를 받았습니다.12345678910111213141516Started POST "/users" for 127.0.0.1 at 2018-12-27 02:04:57 +0900 (2.4ms) SET NAMES utf8, @@SESSION.sql_mode = CONCAT(CONCAT(@@sql_mode, ',STRICT_ALL_TABLES'), ',NO_AUTO_VALUE_ON_ZERO'), @@SESSION.sql_auto_is_null = 0, @@SESSION.wait_timeout = 2147483 �넶 C:/Ruby25-x64/lib/ruby/ge..
안녕하세요 강정호입니다. 오늘은 제가 푸드트럭 서비스의 게시판을 제작할 때 페이징 처리를 어떻게 하였는지에 대해서 다루어보겠습니다. 페이징 처리페이징 처리는 게시물이 많을 때 한 페이지에 보여지는 게시물의 수를 정하고 나머지는 페이지 번호로 처리하는 것을 말합니다. 페이징 처리에 있어서 핵심적인 정보 2가지가 있습니다.1) 한 페이지에 보여줄 게시물의 갯수2) 총 게시물의 갯수 그럼 본격적으로 페이징 처리 코드를 살펴보겠습니다. PagingBean 코드package org.asechs.wheelwego.model.vo; /** * 페이징 처리를 위한 비즈니스 계층의 클래스 PagingBean method 구현순서 getStartRowNumber() * getEndRowNumber() getTotalPag..
안녕하세요 강정호입니다. 오늘은 제가 인하우스키친 프로젝트를 배포 자동화 구축한 방법에 대해서 소개해 드리고자 합니다. CI란 무엇인가?배포 자동화를 하기 전에는 직접 ./deploy.sh에 Git pull 명령어, Jar 파일 이름, Gradle 빌드 명령어 실행 코드, 배포 명령어를 직접 입력한 후에 deploy.sh를 실행하여 프로젝트를 배포하였는데요, 직접 일일이 Master 브랜치에 푸쉬하고 Deploy를 해주어야 해서 번거로웠어요. CI(지속적 통합)는 코드 버전 관리를 하는 VCS(깃헙, SVN)에 PUSH가 되면 자동으로 Test, Build가 수행되고 Build 결과를 운영 서버에 배포까지 자동으로 진행되는 과정을 뜻해요. 마틴 파울러가 제시하는 CI의 조건은 다음과 같아요1) 모든 소스..
안녕하세요 강정호입니다. 오늘은 제가 배포를 하다가 생긴 빌드 오류에 대해서 알아보겠습니다. 문제EC2에서 빌드를 하여 배포를 하려고 하는데 계속해서 Test 관련 에러가 발생하였습니다. 누군가가 코드를 변경한 이력은 없고 계속해서 찾아보았으나 원인을 알기 어려웠습니다. 위의 스샷과 같이 "Execution failed for task : test" 라는 메시지와 함께 InhouseKitchenApplicationTests 파일에서 에러의 원인이 발생했다는 힌트를 주고 있었습니다. 그래서 에러 메시지에서 나타난바와 같이 InhouseKitchen/build/reports/tests/test/index.html 파일을 열어보기 위해 로컬에서도 동일하게 Gradle 빌드를 해보았습니다. 로컬에서 빌드로컬에서..
안녕하세요 강정호입니다. 오늘은 위치기반 푸드트럭 서비스에서 게시판의 이미지를 어떻게 업로드 하였는지에 대해 알아보겠습니다. 1단계 : 글쓰기 버튼 클릭빨간색 안의 글쓰기 버튼을 클릭하게 되면 이벤트가 발생하여 Controller를 통해서 글쓰기 폼으로 이동시켜줍니다. 1234567 $(document).ready(function(){ $("#writeBtn").click(function(){ location.href="${pageContext.request.contextPath}/afterLogin_board/freeboard_write_form.do"; })//click })//readyColored by Color Scriptercs 위와 같이 writeBtn 아이디를 가진 버튼을 클릭하면 Cont..
안녕하세요 강정호입니다. 오늘은 Google Map API에서 위치 자동완성 기능에 대해 알아볼게요 위치 자동완성은 Place Autocomplete이라고합니다. Place Autocomplete 공식문서 Autocomplete search All Establishments Addresses Geocodes Strict Bounds Autocomplete search All Establishments Addresses Geocodes Strict Bounds 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374..
- Total
- Today
- Yesterday
- 깃허브
- ```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````
- 월부닷컴
- 재테크공부
- 항해플러스백엔드
- Use case
- docker
- 인셉션
- front
- 관계대수
- 2023년
- push_back
- pop_back
- 깃
- 유즈케이스
- 부동산공부
- 항해솔직후기
- 월급쟁이부자들
- 항해플러스후기
- 폭포수
- github
- Spring boot
- GIT
- 도커
- resize
- 열반스쿨기초반
- 내년은 빡세게!!
- 파라메터
- Inception
- 개발자 회고
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |