728x90 반응형 전체 글91 STORIFY (0119) - API 구조 변경 0. book.schema 수정하여 DB에 저장되고 read하기 편하게 수정 @Prop({ type: Map, of: { text: String, imagePrompt: [String], imageUrl: String, ttsUrl: String, }, }) body: Map; 1. stories에 api추가 현재: stories에 Post 요청시 일기 저장, 동화 생성, 동화 저장이 다 되고있었음 수정 후: - stories/ai Post 요청시 일기 저장, 동화 생성, 동화 저장 수행 - stories에 Post 요청시 일기만 저장 2. createAiStory 수정 현재: stories/ai Post 요청시 story기반으로 생성된 book(동화)가 어떤 story기반으로 만들어진건지 저장이 안되고.. 2024. 1. 19. STORIFY (0118) - s3 연결 1. s3 nestjs와 연결하기 'nest g resource storages' 명령어를 통해 모듈 생성 2. ai.service에서 langchain 함수 사용시 이미지는 aws s3, 나머지는 db에 저장되게 만들기. async bufferUploadToS3(fileName: string, buffer: Buffer, ext: string) { try { const command = new PutObjectCommand({ Bucket: this.configService.get('AWS_S3_BUCKET_NAME'), Key: fileName, Body: buffer, ACL: 'public-read', ContentType: `image/${ext}`, }); await this.s3Client... 2024. 1. 18. STORIFY (0117) - 기술적 챌린지 ### 기술적 챌린지로 생각할 만한 것들 성능/최적화 느림 -> 빠르게 많음 -> 적게 비용 많음 -> 비용 적게 과부하 개선 (연산량/메모리)아키텍쳐 개선 부하분산 -> 개선 연산량/대상 줄이기 lazy loading (속도/용량 - 한꺼번에 처리가 어려우니, 쓸때 실행) eviction전략 (한정된 자원을 어떻게 효과적으로 사용할지…) 빈번한 접근 (캐싱) 서버다운/크래시 (메모리누수/메모리 부족) -> 스왑크기 조절 응답속도 느림 -> ... -> 빠르게 끊어지는 화면렌더링 -> 개선 -> 부드러운 화면렌더링 매우 많은 이벤트발생 -> 전부 처리하면 느려짐 -> 이벤트의 변화는 수집주기 조절 (throttling, debouncing) 알고리즘 적용 서비스의 특정 기능을 1-4주차 알고리즘을 적용해.. 2024. 1. 17. STORIFY (0116) - DB Schema 설계 . ├── app.controller.spec.ts ├── app.controller.ts ├── app.module.ts ├── app.service.ts ├── auth │ ├── auth.controller.spec.ts │ ├── auth.controller.ts │ ├── auth.http │ ├── auth.module.ts │ ├── auth.service.spec.ts │ ├── auth.service.ts │ ├── dto │ └── strategies ├── common │ └── guards ├── main.ts ├── swagger.config.ts └── users ├── dto ├── schema ├── users.controller.spec.ts ├── users.control.. 2024. 1. 16. node 21 WSL 문제 node 21 최신버전을 사용했을 때 npm run start:dev 가 실행되지 않는 문제가 있다. node 20으로 다운그레이드하면 해결된다. (nvm use 20)node 21을 사용하기 위해서는 WSL2를 사용해야 할 수도 있다. 2024. 1. 16. aws storage, database 스토리지 종류블록데이터를 일정 크기의 블록으로 나누어 저장호스트에서 파일 시스템을 생성 storage area network [san] 파일디렉토리 구조로 파일을 저장스토리지단에서 파일 시스템을 생성network attached stroage [nas] 오브젝트rest기반의 api호출을 통해 데이터 접근 데이터를 저장하기 위한, 백업하기 위한, read, write, 오브젝트 스토리지[s3] 주로 사용다양한 오브젝트 스토리지 클래스가 존재하기에 잘 선택하여 사용하면 된다. 블록 스토리지캐시처럼 사용하는 느낌이 든다.호스트 컴퓨터에 물리 연결되어 잇기에 매우 바르지만, 복제 설정이 되어잇지 않기에 문제가 생겼을 경우 다시 찾을 수 없을 가능성이 잇다. ebs백업가능, 증분 백업을 하기에 저렴한 비용/.. 2024. 1. 4. aws general immersion day networking 2 computing on awsaws global 인프라region: 데이터센터를 클러스터링 하는 물리적 위치availability zone[az] 가용영역, aws리전에 중복전력, 여러 개의 데이터 센터로 구성되어 있다. aws region 설계 /디자인region은 고가용성, 높은 확장성 및 높은 내결함성을 위해 복수개의 가용영역[az]으로 구성됩니다.application과 data는 실시간으로 서로 다른 az로 실시간 복제 및 배포되어 고가용성 및 내결함성을 유지합니다. aws vpcamazon virtual private cloud 개요;사용자가 정의한, 논리적으로 격리 된 가상의 프라이빗 네트워크 환경가상 네트워크 제어 기능- ip 주소 범위, 서브네팅[잘게 나누기], 라우.. 2024. 1. 4. pintos를 마무리하며...[크래프톤 정글] 입소 후 지금까지 많은 문제들을 만나며 고민해 보는 시간을 가졌었다. 하지만 어떠한 문제들보다 pintos에서 만난 문제들이 더 직접적으로 느껴졌다. 다른 코드들보다 더 깊숙이, 정말 코드 끝까지 파고들어 가는 느낌이 강하게 들었던 프로젝트였다. 이런 시간들을 보내고 나니 많은 코드를 읽고 사용하는것에 조금은 익숙해진 듯하다. OS 개념을 글로 배우는 것과 개념을 직접 구현하는 것은 완전히 다른 것이다. 핀토스를 하게 되면 많은 것을 얻을 수 있다. 하지만 많은 오류들을 마주하게 되어 그것들을 마주하고 분석하고 디버깅하는 힘이 필요하다. 2023. 12. 30. node.js - 연습해보기 // const { log } = require("console");const http = require("http");let count = 0;const server = http.createServer((req, res) => { log(count); res.statusCode = 200; res.setHeader("Content-Type", "text/plain"); res.write("Hello\n"); setTimeout(() => { res.end("Node.js"); }, 2000);});function log(count) { console.log((count += 1));}server.listen(8000, () => console.log(".. 2023. 12. 29. 이전 1 ··· 4 5 6 7 8 9 10 11 다음 728x90 반응형