SyntaxHighlighter.all();
본문 바로가기 메뉴 바로가기

개발이 즐겁다!

프로필사진
  • 글쓰기
  • 관리
  • 태그
  • 방명록
  • RSS

개발이 즐겁다!

검색하기 폼
  • 전체글 (271)
    • 콜로소(유정수) (0)
    • 부업 (7)
    • 나만의 성공철학과 스토리 (0)
    • 새로운 도전 (2)
    • 커리어코칭 (0)
    • 이오스쿨 (0)
    • PT (0)
    • 편지, 일기 (1)
    • 감사일기 (0)
    • dev_project (24)
    • 감성대디 (0)
    • 나의 생각 (7)
    • 스피치 (0)
    • 강의1 (0)
    • 강의2 (0)
    • 내가 쓰는 글모음 (14)
    • 부동산 공부 (17)
    • 개발일 (0)
    • 프로젝트 (65)
    • Back-end (78)
    • Computer Science (56)
    • 기술면접 (0)
    • 회고록 (0)
  • 방명록

전체글 (271)
[인스타그램 클론코딩] #3.16 ~ 3.18 isSelf, isFollowing, isLiked with Computed.js

안녕하세요 강정호입니다 오늘은 isSelf, isFollowing, isLiked를 Boolean으로 여부를 판단하는 API를 개발해보겠습니다. model.graphql type User { id: ID! userName: String! email: String! firstName: String lastName: String fullName: String isFollowing: Boolean! isSelf: Boolean! bio: String following: [User!]! followers: [User!]! posts: [Post!]! likes: [Like!]! comments: [Comment!]! rooms: [Room!]! } model.graphql의 User 타입에 isFollowing..

프로젝트 2020. 9. 12. 23:38
[인스타그램 클론코딩] #3.13 ~ 3.14 me Resolver + Prisma 한계점, seeFullPost Resolver

안녕하세요 강정호 입니다 오늘 개발할 API는 내 프로필 보기(me)와 seeFullPost API입니다. me.graphql type Query { me: UserProfile! } me.graphql에서는 Query 작업으로 UserProfile 객체를 조회한다. 응? 근데 UserProfile이라는 객체는 존재하지 않는데 이것은 무엇이지 라고 생각할 수 있다. UserProfile은 개발자가 직접 만든 조회용 객체이다. 아래 model.grapql에서 보면 UserProfile 타입은 User객체와 Post 배열을 포함하는 타입의 객체이다. 이번 포스팅의 핵심!! Prisma에서는 하나의 데이터 타입과 연결된 하위 데이터들을 가져올 수 없는 한계가 있다. Query에 리턴타입을 User! 설정 ==..

프로젝트 2020. 9. 9. 12:02
[인스타그램 클론코딩] #3.12 editUser seeUser Resolver

안녕하세요 강정호 입니다 오늘은 editUser와 seeUser API를 개발해 보겠습니다. seeUser.graphql type Query { seeUser(id: String!): User! } seeUser.js import { prisma } from "../../../../generated/prisma-client"; export default { Query: { seeUser: async (_, args, { request, isAuthenticated }) => { const { id } = args; return prisma.user({id}); } } } 테스트 id를 사용하여 User 데이터를 정상적으로 조회 확인. editUser.graphql type Mutation { editUs..

프로젝트 2020. 9. 8. 13:47
[인스타그램 클론코딩] #3.11 follow unfollow Resolver

안녕하세요 강정호입니다 이번 포스팅에서는 팔로잉, 팔로잉 취소 API를 개발해보겠습니다. follow.graphql type Mutation { follow(id: String!): Boolean! } 수정을 하는 쿼리작업이기 때문에 Mutation을 사용하였고, follow 메서드는 userId를 매개변수로 받습니다. 리턴값은 변경여부를 보여주는 Boolean 타입입니다. follow.js import { isAuthenticated } from "../../../middlewares"; import { prisma } from "../../../../generated/prisma-client"; export default { Mutation: { follow: async (_, args, { requ..

프로젝트 2020. 9. 8. 13:40
[인스타그램 클론코딩] #3.10 searchUser and searchPost resolver

안녕하세요 강정호입니다 이번 포스팅에서는 User와 Post를 검색하는 API를 Graphql과 Javascript로 만들어 보겠습니다. searchUser.graphql type Query { searchUser(term: String!): [User!]! } User 조회 함수인 searchUser 함수는 term 이라는 String 타입의 매개변수를 필요로 합니다. searchUser의 리턴 타입은 User 배열입니다. searchUser.js import { generateSecret, sendSecretMail } from "../../../utils"; import { prisma } from "../../../../generated/prisma-client"; export default { ..

프로젝트 2020. 9. 8. 13:08
[인스타그램 클론코딩] #3.9 toggleLike and addComment Resolver

안녕하세요 강정호 입니다 오늘은 좋아요 API를 마무리 하고, 댓글 추가 기능을 만들어보겠습니다. toggleLike.js import { isAuthenticated } from "../../../middlewares"; import { prisma } from "../../../../generated/prisma-client"; export default { Mutation: { toggleLike: async (_, args, { request }) => { isAuthenticated(request); const { postId } = args; const { user } = request; const filterOptions = { AND: [ { user: { id: user.id } }, {..

프로젝트 2020. 9. 7. 22:12
[인스타그램 클론코딩] #3.8 toggleLike Resolver Part one

안녕하세요 강정호 입니다. 오늘은 인스타그램에서 포스팅에 좋아요를 체크하는 API를 만들어보겠습니다. ES6의 const와 let에 대해서 잠깐 짚고 넘어갈게요 const : 선언을 하고 할당을 하게 되면, 다른 값으로 변경이 되지 않는다. let : 선언을 하고 값을 할당한 후에, 다른 값으로 재할당이 가능 ** 기존 var 타입의 변수선언의 문제점이 존재하여 ES6에서는 const, let을 사용. (출처 : happycording.tistory.com/entry/let-const-%EB%9E%80-%EC%99%9C-%EC%8D%A8%EC%95%BC%EB%A7%8C-%ED%95%98%EB%8A%94%EA%B0%80-ES6) 오늘의 핵심!!! prisma.$exists Prisma는 각 모델에 대한 C..

프로젝트 2020. 9. 7. 20:36
[인스타그램 클론코딩] #3.7 Jwt 토큰 사용하기

안녕하세요 강정호입니다 오늘은 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..

프로젝트 2020. 9. 7. 19:51
[인스타그램 클론코딩] #3.5 Passport JWT part one

안녕하세요 강정호입니다. 오늘은 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에서 정의한 매개변수(..

프로젝트 2020. 8. 30. 20:51
[인스타그램 클론코딩] #3.4 requestSecret Resolver

안녕하세요 강정호입니다 오늘은 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..

프로젝트 2020. 8. 21. 00:28
[인스타그램 클론코딩] #3.2 Create Account Resolver

안녕하세요 강정호입니다 오늘은 인스타그램 클론코딩에서 사용자의 계정을 만드는 방법에 대해서 다뤄보겠습니다. 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 작업유형일 경우..

프로젝트 2020. 8. 21. 00:10
[인스타그램 클론코딩] 2.4 Resolvers with Prisma

안녕하세요 강정호입니다. 오늘은 Graphql과 resolver를 생성하여 Prisma를 통해서 데이터베이스에 있는 데이터를 조회할 수 있도록 해보겠습니다. 이번에 할 것은 아이디로 User를 조회하는 것과, 모든 유저를 조회하는 것입니다. allUsers와 userById를 사용하여 생성해보겠습니다. 위와 같이 .graphql과 .js 파일을 각각 생성해야 합니다. allUsers.graphql에서는 allUsers 쿼리가 실행되었을 때, 어떤 데이터가 조회될지에 대해서 User로 정의해주고 있습니다. 그리고 allUsers.jsd에서는 prisma-client를 사용하여 prisma 서버에 접속하여 DB에 저장된 데이터를 불러올 수 있도록 합니다. 결과 조회 결과 1개의 아이디로 User를 조회합니다.

프로젝트 2020. 8. 17. 23:07
[인스타그램 클론코딩] 2.3 Intergrating Prisma in our server

안녕하세요 강정호 입니다. 이번 포스팅에서는 Prisma에 대해서 알아보겠습니다. Prisma란? Prisma의 프로세스 0) api / client 1) 클라이언트 2) prisma 서버 3) 데이터베이스 추가적으로 작성해서 포스팅하기

프로젝트 2020. 8. 17. 22:57
[인스타그램 클론코딩] 2.2 Testing Prisma OMG

안녕하세요 강정호 입니다 이번 포스팅에서는 제가 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..

프로젝트 2020. 8. 17. 20:03
[인스타그램 클론코딩] 2.0 Introduction to Prisma

안녕하세요 강정호입니다. 오늘은 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..

프로젝트 2020. 8. 10. 21:37
[인스타그램 클론코딩] 1.2 Setting up the server like pros

안녕하세요 강정호입니다. 1. npm morgan - 로깅 전용 모듈 2. server.express.use(logger("dev")); - express 서버에 직접 로깅 모듈 추가하기 3. npm add graphql-tools 4. npm add merge-graphql-schemas

프로젝트 2020. 8. 4. 15:43
[인스타그램 클론코딩] 1.1 Creating GraphQL Server

안녕하세요 강정호입니다 GraphQL Server를 생성하기 위한 세팅을 포스팅합니다. 1. npm add dotenv - 환경변수를 다루는 라이브러리. - 개발자의 운영환경(맥, 윈도우, 리눅스), 포트번호 등 시스템 환경을 다루는 라이브러리 2. npm install @babel/preset-env 3. npm install @babel/node 4. npm install @babel/core 5. .babelrc 생성

프로젝트 2020. 8. 4. 15:27
[인스타그램 클론코딩] 1. 0 Setting up the project

안녕하세요 강정호입니다. 오늘은 인스타그램 클론코딩의 첫 날입니다. 앞으로 많은 코딩을 해야합니다. 하지만 천리 길도 한 걸음부터 시작합니다. 꾸준함이 생명인 프로그래밍 공부를 꾸준히 해서 꼭 멋진 어플을 만들 것입니다. 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 파일을 사용해 관리할 수있다. 굳이 확장 모듈 형..

프로젝트 2020. 8. 4. 15:03
[데이터베이스] SQL 파싱

SQL 파싱 1) Syntax 검사 : SQL 문장에 문법적 오류가 없는지 검사 2) Semantc 검사 : 문법적 오류가 없다면 의마상 오류가 없는지 검사 3) 캐싱 되어 있다면 소프트 파싱, 캐싱 되어있지 않다면 하드 파싱 바인드 변수?? Static SQL과 Dynamic SQL

Computer Science 2020. 5. 7. 20:58
[프로젝트] 부동산 API 요구사항 정의서

안녕하세요 강정호 입니다. 부동산 API 요구사항 정의서를 작성합니다. Use Case Diagram 아파트 검색, 아파트 상세조회, 회원가입, 로그인 기능을 먼저 개발할 예정 [개발 순서] 1. 공공기관 데이터를 RDBMS에 이관하여 데이터베이스 구축 2. 아파트 검색 기능 개발 3. 회원가입 로그인 개발 기능 위 3가지가 제일 기본이 되는 기능들이다.

프로젝트 2020. 5. 5. 19:44
이전 1 ··· 4 5 6 7 8 9 10 ··· 14 다음
이전 다음
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
  • github
  • pop_back
  • Inception
  • docker
  • front
  • 파라메터
  • 열반스쿨기초반
  • 항해플러스후기
  • 개발자 회고
  • 도커
  • 내년은 빡세게!!
  • 인셉션
  • 부동산공부
  • Spring boot
  • ```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````
  • 월부닷컴
  • 항해플러스백엔드
  • push_back
  • GIT
  • 폭포수
  • 깃
  • 깃허브
  • resize
  • 관계대수
  • 재테크공부
  • 항해솔직후기
  • 월급쟁이부자들
  • Use case
  • 유즈케이스
  • 2023년
more
«   2025/07   »
일 월 화 수 목 금 토
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
글 보관함

Blog is powered by Tistory / Designed by Tistory

티스토리툴바