분류 전체보기 (290) 썸네일형 리스트형 백엔드 > 프론트엔드 데이터 전달과정(API,블록체인) 블록체인 기업에서 백엔드 개발을 하고 있다보니, DB를 통한 백엔드 -> 프론트엔드 통신과, 블록체인을 통한 백엔드->프론트엔드 통신 방법이 헷갈려 한 번 정리해보았다. 아직 100% 완벽하게 정리는 하지 못하였으나, 일단 큰 그림을 잡아보기로 하여 다음과 같이 작성하였다. DB를 활용한 통신 DB생성 후 백엔드는 DB에 관한 API를 만들고 -> 이를 프론트엔드에 전달하여 -> 프론트엔드는 해당 API를 참고하여 백엔드에서 데이터를 내려받고 브라우저 상에 데이터를 표시한다. 블록체인 트랜잭션(Tx) 통신 1) 체인 상에 있는 데이터(트랜잭션) -> 백엔드에서 해당 데이터를 Entity에 저장 -> API 작성 -> 프론트엔드가 호출하여 브라우저에 데이터 표시 -> 블록체인과 통신하는 '이벤트 서버'를 .. 백엔드에 데이터 저장을 위한 비율표현과 증가율 살펴보기 ※ 비율표현 a 대비 b = b/a a 당 b = b/a a 중 b = b/a a에 대한 b = b/a 증가율 = (변화된 양의 차이 / 변하기 전의 양) * 100 TS2349: This expression is not callable. Type 'typeof cookieParser' has no call signatures. 문제 원인 nest 프로젝트를 clone해와서 내 로컬환경에서 실행하려고 보니, TS2349: This expression is not callable. Type 'typeof cookieParser' has no call signatures.와 같은 에러가 발생하였다. 문제 원인 정확한 원인은 못찾았으나, 아마 import * 에서 *을 할 때 인식이 잘 안되는건가?라는 추측을 했다. 문제 해결 문제 해결 이전 import * as cookieParser from 'cookie-parser'; 문제 해결 방법 import cookieParser from 'cookie-parser'; 위와 같이 바꾸어주었더니 해당 에러가 사라졌다. 블록 생성 -> 블록체인으로 이루어지는 5단계 과정 '블록체인'이라는 단어를 들으면 블록들이 체인으로 연결되어있구나~를 생각할 수 있겠다. 하지만 블록 하나하나에는 여러 정보가 담겨져있으며, 그 여러 정보가 담긴 블록들이 체인 형태로 이루어져 하나의 거대한 분산 장부를 만들어내고, validator가 검증하는 구조이기 때문에 그 시작점인 '블록이 어떻게 생성되는가'에 대해 정리할 필요가 있다. 블록 생성 단계 -> 이 블록들이 모여 블록체인의 구조를 이룬다. 1. Transaction(거래내역) 생성단계 위의 그림에서는 1,2단계에 해당한다. ex) 특정 주소 A > B에게 송금한다고 가정. (주소는 지갑 주소를 의미한다) A는 private key(비밀키)로 해당 Transaction을 암호화 (Sign) A에게 암호화된 Transaction을 받은 B.. '어디서' 데이터를 가져오느냐 / '어떤' 데이터를 가져오느냐 -> API와 Contract 그 경계 백엔드는 데이터를 가져오고, DB에 계속해서 쌓고, DB에서도 데이터가 잘 쌓이는지 주기적으로 체크해주고, 더 나아가 서버까지.. 등등 데이터 수집부터 운영까지 도맡아 하게 된다. 내가 있는 팀에서는 API를 만들고, API 문서를 보고 데이터 운용 계획을 세우거나, SmartContract 문서를 보며 function이나 event에서 어떤 데이터 값을 가져오는지 등등의 일을 하고 있다. 하지만 오늘 팀 내에서 좋은 질문과 답변이 하나 있었는데, 나조차도 표면적으로만 알고 있었던 부분인거 같아서 정리하고자 한다. API 필요한 값을 '어디서' 가져오는지에 집중해서 작성된 문서 SmartContract (interface 문서나, contract 정리문서가 되겠다.) function을 통해 '어떤 값'을.. CORS(Cross-Origin-Resource-Sharing) <-> SOP(Same Origin Policy) 일을 하면서도, 예전에 프론트엔드를 나름 찍먹(?)을 해봤을때도 CORS라는 단어를 접했었다. 오늘 일을 하면서 CORS 접근 권한에 대한 추가 요청이 올때 추가해야 한다는 지시가 있었는데, 이참에 CORS에 대해 팀의 프론트엔드 개발자님께 한번 더 여쭈어보고 좀 더 찾아보았다. CORS(Cross-Origin-Resource-Sharing) = 쉽게 말하면, '방어막' 우리가 이곳저곳에서 가져오는 리소스가 '안전'하다는 최소한의 보장을 받은게 CORS이다. 서로 다른 출처간의 리소스 공유가능 ex) 만약 사이트A와 B가 있다. 이 두 사이트간의 서로 신뢰할 수 있는 사이트라면 HTTP 정보 요청과 반환이 가능하다. SOP(Same Orgin Policy) = CORS와 반대 같은 출처에서만 리소스 공유.. 컬럼 Column, Row란? DB를 사용하다보면 'Column 컬럼'이라는 용어를 많이 접하게 되는데, 가끔가다가 이 두 가지의 차이점이 헷갈릴때가 있다. 물론 Row가 '행'이라는 개념과, Column이 '열'이라는 것은 알고있지만 이를 정확히 구분해야 DB나 SQL 사용 시에 헷갈림이 없으므로 이번 기회에 정리하고자 한다. 코드상에서는 다음과 같다. CREATE TABLE table_name { column_name1 data_type(size), -- 이거 하나하나가 컬럼 column_name2 data_type(size), column_name3 data_type(size), ... } 참고로, SQL에서 한 줄 라인의 주석은 --을 쓰고, 여러 줄의 주석은 /* ~ */을 사용한다. 결국 n개의 Column들이 모여서 1개.. 테스트플라이트 (TestFlight) https://developer.apple.com/kr/testflight/ TestFlight - Apple Developer TestFlight 베타 테스트를 통해 App Store에 앱을 출시하기 전에 앱의 베타 버전을 테스트할 사용자를 초대할 수 있습니다. developer.apple.com 애플의 공식 앱으로, 내부 사용자나 실제 사용자 대상으로 외부 테스트로도 진행할 수 있는 앱이다. 해당 App이 App Store에 공식으로 출시되기 전에 테스트를 할 수 있으며, macOS, iPad, iPhone 등 애플과 관련된 기기들에 대한 베타 테스트를 진행할 수 있다. controller의 역할 ※ 본 영상은 Nomad Coder의 'NestJS로 API 만들기' 영상을 보고 작성한 내용입니다. 1. NestJS의 Controller와 다른 프레임워크와의 유사성 Java-Spring의 Controller, Express의 controller/router의 기능과 같다. 저번 포스팅에서도 언급했던 것처럼, main.ts+Controller+Service 이 셋은 뗄레야 뗄 수 없는 관계이다. 2. @Module의 역할 Module 모듈은 하나의 기능을 하는 앱이라고 생각하면 된다. ex) 유튜브에서는 video 모듈, photo 모듈이 필요할 것이다. 인증에 관한 모듈은 auth 모듈이 될 것이다. 3. Controller와 main.ts 그리고 Service와의 관계 [ main.ts ] imp.. GNB(Global Navigation Bar), FNB, SNB 개발단에 있다보면 기획문서나 커뮤니케이션에 쓰이는 용어들이 생소하게 느껴질때가 있다. 개발자라고 해도 개발만 하는 것이 아니라, 타 부서와의 협업도 중요한 직군이니 하나씩 정리해나가며 팔로업하려고 한다. GNB (Global Navigation Bar) 웹사이트 전체에 동일하게 적용되는 Navigation Bar 웹사이트 최상단에 위치한다. 웹사이트가 제공하는 모든 서비스를 표현하며 직관적으로 구성하는 것이 좋다고 한다. FNB (Food and Beverage 아님 주의..) Footer Navigation Bar SNB Side Navigation Bar 웹사이트에서 왼쪽이나 오른쪽에 붙는 사이드 메뉴로, 메인메뉴와 서브메뉴를 제외한 기타 메뉴이다. 아뜨랑스 웹사이트의 경우 우측에 Smart Sear.. 이전 1 ··· 18 19 20 21 22 23 24 ··· 29 다음