본문 바로가기

분류 전체보기16

XRPL 기반 밋업 정산 플랫폼 개발기 2편: 백엔드 및 밋업 보증금/정산 플로우 구현 1편에서는 프로젝트의 전체 아키텍처와 서비스 흐름을 정리했다. 이번 글에서는 백엔드 개발과 배포 과정을 중심으로 정리해보려고 한다.이번 프로젝트의 백엔드는 단순히 데이터를 저장하고 조회하는 API가 아니라, 사용자 상태, 밋업 상태, XRPL 트랜잭션 상태를 함께 관리해야 했다. 특히 지갑 생성, Trust Line 설정, Escrow 생성, 정산 처리처럼 블록체인 트랜잭션과 DB 상태가 함께 움직이는 기능이 많아서 생각보다 고려할 부분이 많았다. 1. 백엔드 기술 스택백엔드는 NestJS 기반으로 개발했다. Backend- NestJS- TypeScript- Prisma- PostgreSQL- JWT Authentication- XRPL SDK NestJS는 모듈 단위로 기능을 나누기 좋아서 인증, 지.. 2026. 5. 20.
XRPL 기반 밋업 정산 플랫폼 개발기 1편: 아키텍처 설계 1. 프로젝트 시작2026 KFIP 에 백엔드 개발 담당으로, 이화체인 팀원들과 같이 참여했다. 이번 프로젝트는 글로벌 밋업에서 발생할 수 있는 참가비, 보증금, 정산 문제를 XRPL 기반 토큰(DORRI 토큰)으로 해결해보는 PoC 프로젝트다.기존 밋업 서비스에서는 참가자가 신청만 해두고 나타나지 않거나, 주최자가 밋업을 제대로 운영하지 않는 상황이 발생할 수 있다. 이런 문제를 줄이기 위해 참가자와 주최자 모두에게 토큰 보증금을 걸도록 설계했다. 참가자는 밋업에 신청할 때 토큰을 보증금 또는 참가비로 예치하고, 주최자는 밋업을 생성할 때 일정 금액의 토큰을 보증금으로 예치한다. 이후 밋업 진행 상태에 따라 체크인, 노쇼, 리뷰, 정산이 이루어진다.이번 글에서는 토큰 기반 밋업 정산 플랫폼의 전체 아키.. 2026. 5. 19.
[25.11.17] 토플 라이팅 연습 [문제 1] 교수님의 질문과 학생들의 토론 : cramming vs distributed practice교수님 (Professor Miller):In our class discussion on memory and learning, we've talked about different techniques people use to study. Some students advocate for cramming—studying intensely right before an exam. Others suggest distributed practice, which involves studying material in smaller chunks over a longer period. Which approach do you.. 2025. 11. 17.
Deepgram Speech-to-Text API 로 실시간 자막 생성하기 Deepgram Speech-to-Text API 로 실시간 자막 생성하기졸업프로젝트 주제AI 기반 학습자 맞춤형 실시간 자막/대체텍스트 및 대체학습자료 생성 프로그램 COMMA COMMA의 주기능 3가지 중 하나가 "강의자료의 키워드 정확도를 높인 실시간 자막 생성" 이다."Deepgram Speech-to-Text API" 를 Flutter에 적용하여 안드로이드 앱에서 실시간으로 자막이 생성되도록 하는 방법을 소개하고자 한다.    설명 순서1. Deepgram Speech-to-Text API 키 발급받기!2. Flutter에 Deepgram STT API 간단히 적용해보기!3. 졸업프로젝트에 Deepgram STT API 사용하기!4. 결과!     1. Deepgram Speech-to-Text.. 2024. 11. 20.
Node.js와 GPT-4o vision API 이용하여 대체텍스트 생성하기 졸업프로젝트 주제 시·청각 장애 학습자 보조 프로그램 COMMA : AI 기반 학습자 맞춤형 실시간 자막/대체텍스트 및 대체학습자료 생성 프로그램  중간 발표 이후, 프로그램 이용 대상을 청각장애인에서 시각장애인/청각장애인으로 확장시켰고, 시각장애인 학습자에게는 GPT-4o vision api를 이용해서 강의 자료에 대한 대체텍스트를 제공해주는 기능을 추가하기로 했습니다. 대체텍스트 시각장애인의 웹 접근성을 위한 대표적인 방법으로, 웹 사이트에 게시된 이미지를 시각장애인이 이해할 수 있도록 설명해주는 글이나 문구  기술 설명 순서1. Node.js로 GPT-4o vision API 돌리기2. 강의자료 pdf → png 변환하기3. pdf → png로 변환 후 GPT-4o vision API로 강의자료에 .. 2024. 5. 28.
스프링 입문: 섹션 5부터 7까지 섹션 5: 회원 관리 예제 - 웹 MVC 개발 1. 회원 웹 기능 - 홈 화면 추가 main/java/hello.hello-spring/controller/HomeController.java @Controller public class HomeController { @GetMapping("/") public String home(){ return "Home"; } } 사용자가 URL ("/")에 액세스하면 이 컨트롤러의 home 메서드가 호출되어 "Home"이라는 뷰 이름을 반환한다. 뷰 리졸버가 실제 렌더링을 위한 뷰 템플릿으로 해석한다. (Thymeleaf를 사용하는 경우 "Home.html" 파일 ) main/resources/templates/Home.html Hello Spring 회원 기능 회.. 2023. 11. 17.
스프링 입문: 섹션 1부터 4까지 섹션 1: 프로젝트 환경설정 1. 핵심 라이브러리 Gradle은 의존관계가 있는 라이브러리를 함께 다운로드 함. 스프링 부트 라이브러리 spring-boot-starter-webspring-webmvc : 스프링 웹 MVC spring-boot-starter-tomcat : 톰캣 (웹서버) spring-boot-starter-thymeleaf : 타임리프 템플릿 엔진(View) spring-boot-starter(공통) : 스프링부트 + 스프링 코어 + 로깅spring-boot-starter-logging > logback/slf4j —> 위치 : [Gradle > Dependencies > complileClasspath >> ch.qos.logback:logback-classisc:1.4.11 / o.. 2023. 11. 17.