전체 글
[Network] REST API란?
REST API REST(Representational State Transfer) API는 데이터 또는 리소스를 HTTP 프로토콜을 통해 URI로 요청하고 응답받는 방식을 의미합니다. API의 역할은 클라이언트와 서버 모두 올바르게 사용할 수 있어야 합니다. 따라서, 올바르게 사용할 수 있는 규칙들을 정의하여 디자인하는 것은 중요한 작업입니다. Richardson Maturity Model 정리 Richardson Maturity Model에 따르면 REST API를 실용적으로 적용하기위한 0단계에서 3단계로 성숙도 모델을 정의했습니다. 0단계 - 기본 단계 0단계에서는 REST API를 사용하지 않고 단순히 HTTP Protocol을 사용하는 기본 단계입니다. 실용적인 REST API를 만들기 위한 ..
[Network] URL과 URI 차이점
URL과 URI 차이점 URL는 많이 들어봤지만 URI는 뭘까요? 먼저, 많이 들어본 URL(Uniform Resource Locator)는 네트워크 상에 서비스에 접근하기 위한 리소스의 위치를 의미합니다. URI(Uniform Resource Identifier)는 URI에 파일의 위치와 요청사항을 추가한 자원의 식별자를 의미합니다. 즉, URI는 URL을 포함하는 개념입니다. http://localhost:8080/about?search=beeimp 위의 예시는 일반적인 URI를 작성해보았습니다. 이를 http://, localhost, :8080, /about, ?search=beeimp&date=20220330로 구분할 수 있습니다. http:// scheme라고 합니다. 통신 프로토콜이 위치합니..
왜 지갑 주소에는 대소문자가 들어갈까?
왜 지갑 주소에는 대소문자가 들어갈까? 상황 이더리움 초창기에는 소문자만 사용하여 주소를 생성했었는데, 잘못된 주소를 입력하여 송금하는 사고가 종종 발생했다. 문제 이러한 경우 회수가 현실적으로 불가능하여 주소 입력 오류 확인이 필요했다. 해결 2016년에 도입된 EIP-55를 통해 주소 오류를 99.9853% 감지 EIP-55는 주소의 대소문자 형태로 인코딩해 주는 방식으로 checksum한다. checksum은 prefix인 0x를 뗀 소문자를 사용해서 표현한 주소의 해시값이 역할을 수행한다. 방법 '''EIP-55 Code''' import eth_utils def checksum_encode(addr): # Takes a 20-byte binary address as input hex_addr =..
[Project] 누구(Who)가 아닌 기술을 신뢰하는 Klaytn 기반 티켓팅 서비스
1. 프로젝트 개요 TT 란 ? 누구(Who)가 아닌 기술을 신뢰하는 Klaytn 기반 티켓팅 서비스 Trust Ticket, TT는 블록체인 기술을 이용한 티켓팅 서비스를 제공합니다. TT 이용자는 이벤트를 기획할 수도 있고, 다른 이벤트를 참여할 수 있습니다. 이벤트 참여를 하면 각 이벤트에서 발행하는 토큰을 받을 수 있고, 이는 입장티켓 또는 응모당첨권으로 사용합니다. 배포 링크 Github: https://github.com/codestates/BEB-04-ZeroTeb Mobile : 다운링크 (스토어 배포 심사 중) Server - POST API Document WEB - https://tt.beeimp.com 2. 프로젝트 소개 토큰 이코노미 왜 필요한가요? 이벤트가 돌연 취소 상황 - 소..
[TIL] Nest 중복 호출 오류, Node process.cwd()와 __dirname의 차이
[TIL] Nest 중복 호출 오류, Node process.cwd()와 __dirname의 차이 날짜 2022.07.13. 목표 Nest.js 학습 내용 Nest.js - @**InjectConnection** 중복 호출 오류 오류 메세지 ERROR [ExceptionHandler] Nest can't resolve dependencies of the AuthService (JwtService, ?, UsernameConnection). Please make sure that the argument UserConnection at index [1] is available in the AuthModule context. Potential solutions: - If UserConnection is..
[TIL] Mongo - import json file
[TIL] Mongo - import json file 날짜 2022.07.12 내용 MongoDB - import json file for macOS mongoimport 설치 brew install mongodb/brew/mongodb-database-tools 실행 $ mongoimport \ --uri= \ --drop=.json --jsonArray -c 결론 랜덤하게 생성한 JSON 형태의 파일을 MongoDB에 import하는 방법을 학습 및 실습 했습니다.
[TIL] Klip, EIP-5114
[TIL] Klip, EIP-5114 날짜 2022.07.10 목표 SBT 구현을 위한 학습 내용 KaKao Klip - App2App API Authentication 기본적으로 인증이 필요하지 않음 API 요청시 - Request Key를 발급하여 사용 Request Key 발급 절차 prepare API를 통해 인증 또는 서명할 내용을 전달 응답으로 Request Key를 전달 전달받은 Request Key를 이용하여 Deep Link를 호출하고, 모바일 카카오톡 더보기 탭에 있는 Klip 실행 처리 결과는 Result API를 통해 polling Query 파라미터 Request Key에 어떤 요청에 대한 처리 결과를 얻고자 하는지 전달 Ethereum - EIP-5114 : SoulBound T..
[TIL] Nest.js 프로바이더와, React-Native 안드로이드 설정
[TIL] Nest.js 프로바이더와, React-Native 안드로이드 설정 날짜 2022.01.01 목표 Nest.js 학습 내용 Nest.js - Provider Provider : 앱이 제공하는 핵심 기능인 비즈니스 로직 수행 Service, Repository, Factory, Helper 등 @injectable 데코레이터 사용 다른 어떤 Nest 컴포넌트에서도 주입 가능해짐 import { Injectable } from '@nestjs/common'; @Injectable() export class UsersService { ... remove(id: number) { return `This action removes a #${id} user`; } } 사용 @Controll..
[TIL] Nest.js 컨트롤러 부분 학습
[TIL] Nest.js 컨트롤러 부분 학습 날짜 2022.07.06. 목표 Nest.js 학습 내용 Nest.js - Controller MVC 패턴에서 Controller에 해당 Request로 받은 데이터를 처리하고 결과를 Response하는 인터페이스 역할 Nest.js - Routing 데코레이터 사용 @Get('/hello') getHello(): string { return this.appService.getHello(); } 와일드카드 사용 가능 @Get('he*lo') getHello(): string { return this.appService.getHello(); } Nest.js - Request/Response Object import { Request..
[TIL] Nest.js Decoration
[TIL] Nest.js Decoration 날짜 2022.07.04 목표 내용 Nest.js - 데코레이터 파이썬의 데코레이터나 자바의 어노테이션과 유사 클래스, 메서드, 접근자, 프로퍼티, 매개변수에 적용 가능 JS - +로 숫자형 변환 const str = '123'; console.log(typeof str); // string console.log(typeof Number(str)); // number console.log(typeof parseInt(str)); // number console.log(typeof +str); // number 결론 nest.js의 데코레이션을 보면서 자바 스프링이 생각났습니다. 이미 스프링 조금 공부해봤기에 비교적 쉽게 배울 수 있을 것 같습니다. JS에서 +..