전체 글89 AWS 대규모 채팅 시스템 설계 - 2주차 전체적인 시나리오다형님이 작성해주신 전체적인 시나리오 클라이언트 → ALB 접속사용자는 인터넷을 통해 인터넷 게이트웨이(IGW) → ALB (퍼블릭 서브넷) 에 접속ALB → EC2 인스턴스로 라우팅ALB는 여러 AZ에 분산된 EC2 중 healthy한 인스턴스로 연결WebSocket 및 HTTP 요청 처리EC2 ↔ Redis Pub/Sub메시지를 보낸 클라이언트와 받는 클라이언트가 서로 다른 AZ/인스턴스에 연결되어 있어도중앙 Redis를 통해 메시지가 중계되어 실시간 전달EC2 → DynamoDB (VPC Endpoint)메시지 전송과 동시에 채팅 내역을 DynamoDB에 저장VPC 엔드포인트를 통해 NAT 없이 안전하게 접근DynamoDB TTL 설정메시지 저장 시 expireAt 필드에 6개월 후.. 2025. 5. 20. [COOKiT] Roboflow를 이용한 신선도 분석 현대인은 바쁜 일상 속에서 요리를 쉽고 효율적으로 하고자 하는 니즈가 높아지고 있다. 하지만 냉장고 속 식재료의 신선도나 유통기한을 일일이 확인하고, 남은 재료를 조합해 요리하는 일은 여전히 번거롭고 어렵게 느껴질 수 있다. 특히 요리 초보자에게는 재료 관리의 어려움이 요리에 대한 진입 장벽으로 작용하기도 한다. COOKiT은 이러한 문제를 해결하기 위해 탄생한 AI 기반 스마트 요리 지원 서비스이다. 사용자가 보유한 식재료를 효율적으로 관리하고, 이를 기반으로 자동으로 레시피를 추천해주는 기능을 제공함으로써, 누구나 쉽고 즐겁게 요리할 수 있는 환경을 만든다. 그 중에서 이미지를 입력하면 모델이 식재료의 신선도를 측정해서 결과값을 보여주는 모델이 필요하여, 다양한 모델 분석을 하였다. 그 중에서 R.. 2025. 5. 19. AWS 대규모 채팅 시스템 설계 - 1주차 채팅 시스템 설계인프사 요구 조건평균적으로 약 1000명의 유저가 해당 서비스를 사용최대 동시 접속 사용자 수 500명 예상초당 약 50건의 메시지 전송 처리 필요최대 6개월간 메시지 내역 보관 필요메시지 전송 지연 시간은 2초 이내더 생각해보기 - 심화 조건그룹 채팅 지원: 최대 100명까지 참여 가능한 그룹 채팅방 제공첨부 파일: 채팅에서 최대 10MB 크기의 파일 첨부 기능 지원오프라인 메시지 처리: 사용자가 오프라인 상태일 때 메시지 저장 및 재접속 시 동기화멀티 디바이스 지원: 동일 계정으로 최대 3개 기기 동시 접속 지원 (동일 계정 접속 수 제한)주제: 아티스트가 되어보세요 페이크 버블 (미정)방장: 아티스트 라벨을 달고 연예인처럼 화려한 디자인 하에서 채팅을 남김방을 만드려면 비밀번호를 입.. 2025. 5. 12. AWS Storage & CloudFront Storage데이터와 파일을 인터넷에 저장할 수 있는 클라우드 컴퓨팅 모델로, 사용자는 퍼블릭 인터넷 또는 전용 프라이빗 네트워크 연결을 통해 스토리지에 액세스 할 수 있음.Block Storage지연시간이 짧고, 빠른 데이터 엑세스를 제공하는 스토리지- 데이터를 블록 형태로 저장- 빠른 저장 및 검색을 위해 블록에 고유한 식별자 부여- Amazon EBSFile Storage데이터를 파일 및 폴더의 계층 구조로 저장하는 데이터 스토리지 - 어플리케이션에 가장 널리 사용되는 유형- 네트워크 환경에서의 파일 기반 스토리지는 NAS 기술 사용- Amazon EFSObject Storage대용량 미디어 파일, 이미지, 백업 등의 비정형 데이터를 저장하기 위한 데이터 스토리지- 전송된 형식 그대로 객체 데이터로.. 2025. 3. 31. AWS 네트워크 구성 - VPC, Route53 Route53- DNS(네임서버) + Port 모니터링(Health Check) + L4(Failover 가능) + GSLB (라우팅 정책)- 도메인을 타깃으로 분산 처리 가능 IP (Internet Protocol)인터넷에 연결되어 있는 모든 장치를 식별할 수 있도록 각각의 장비에게 부여되는 고유 주소 고정 IP, 유동 IP, 공인IP, 사설 IPIP 프로토콜에 의한 패킷 전송 과정 1. 송신지 - 사용자가 보낸 데이터가 IP 패킷으로 만들어짐- IP 헤더 + 데이터(Payload)로 구성됨2. 중간 경로 (라우터)- 여러 라우터와 네트워크를 거림- 이 과정에서 IP 헤더는 그대로 유지되며 라우팅만 바뀜3. 수신지- 패킷이 목적지에 도착하면 IP 계층이 헤더를 읽고 데이터를 위로 넘김 DNS ( Dom.. 2025. 3. 25. Building Detection_YOLOv11 Segementation TODOUAM에서 위치 파악을 위해 Yolov11 segmentation 모델을 활용하여 Object detection으로 Building Segmentation DatasetYolov11-seg model을 직접 custom data로 train 시키기 위해 위성 영상 dataset을 ai 허브에서 다운 받아서 사용https://www.aihub.or.kr/aihubdata/data/view.do?currMenu=&topMenu=&aihubDataSe=data&dataSetSn=73 AI-Hub샘플 데이터 ? ※샘플데이터는 데이터의 이해를 돕기 위해 별도로 가공하여 제공하는 정보로써 원본 데이터와 차이가 있을 수 있으며, 데이터에 따라서 민감한 정보는 일부 마스킹(*) 처리가 되www.aihub.o.. 2025. 1. 23. AWS Solution Architect dump 정리 AWS SAA DUMP질문 #1한 회사가 여러 대륙에 걸쳐 있는 도시의 온도, 습도, 기압에 대한 데이터를 수집합니다. 회사가 각 사이트에서 매일 수집하는 평균 데이터 양은 500GB입니다. 각 사이트에는 고속 인터넷 연결이 있습니다.a회사는 이러한 모든 글로벌 사이트의 데이터를 가능한 한 빨리 단일 Amazon S3 버킷에 집계하려고 합니다. 솔루션은 운영 복잡성을 최소화해야 합니다.어떤 솔루션이 이러한 요구 사항을 충족합니까?A.대상 S3 버킷에서 S3 Transfer Acceleration을 켭니다. 멀티파트 업로드를 사용하여 사이트 데이터를 대상 S3 버킷에 직접 업로드합니다.B.각 사이트의 데이터를 가장 가까운 리전의 S3 버킷으로 업로드합니다. S3 크로스 리전 복제를 사용하여 객체를 대상 S.. 2025. 1. 23. [Paper Review] You Only Look Once: Unified, Real-Time Object Detection A new approach to object detection. Prior work on object detection repurposes classifiers to perform detectionInstead, we frame object detection as a regression problem to spatially separated bounding boxed and associated class probabilities. A single neural network predicts bounding boxes and class probabilities directly from full images in one evaluation. Humans glance at an image and instant.. 2025. 1. 9. [Paper Review] DUSt3R: Geometric 3D Visioin Made Easy+ MASt3R: Grounding Image Matching in 3D 이전의 3D vision 기술들 SfM (Structure from Motion) Reconstructing sparse 3D maps while jointly determining camera parameters from a set of imagespixel correspondences obtained from keypoint matching between multiple images to determine geometric relationships, followed by bundle adjustment ti optimize 3D coordinates and camera parameter jointly.But, The sequential structure of the SfM pipeline persi.. 2025. 1. 8. [Paper Review] RoMa : Robust Dense Feature Matching Image MatchingFeature Matching is an important computer computer vision task that involves estimating correspndences between two images of a 3D scene, and dense methods estimate all such correspondencesDense Method (coarse-to-fine approach): Dense feature matching methods aim to find all matching pixel-pairs between the imagescoarse feature는 3D supervision을 통해 학습 -> 3D dataset은 매우 비싸고 양이 제한, ove.. 2025. 1. 8. 필굿 - 약품 정보 추출 EasyYOLO - OCR / 크롤링 필굿은 해외 약품 정보 플랫폼으로 해외의 약품들의 정보를 손쉽게 찾아볼 수 있는 서비스이다. 일단 AI를 적용한 2개의 메인 기능이 있다. 1. 사용자가 자신의 상황과 원하는 종류의 약을 챗봇에 질문하면 프롬프팅된 GPT가 사용자의 질문을 해석하고 사용자의 건강정보를 고려한 맞춤 약품 정보를 리스트 형태로 제공한다 . GPT 프롬프팅은 다음과 같이 이루어졌다. 하지면 멘토님의 면담을 통해 GPT 4만 사용을 해서 약품을 추천해주는 방법은 실제 서비스 관점에서 부정확한 정보를 제공할 가능성이 있다고 하셨다 .따라서 챗봇 구현에 단순히 GPT 4를 사용하는 것이 아닌 RAG, 파인튜닝를 추가하여 직접 데이터를 가공하고 라벨링을 통해 직접 데이터를 입력하기로 했다. 2. 해외 약품의 사진을 찍어서 스캔하거나.. 2024. 11. 25. [백준] 1655번 - Python 문제 https://www.acmicpc.net/problem/1655 문제 풀이 1. 정렬처음에는 단순하게 정렬로 문제를 접근했다.N = int(input())arr = []for i in range(1,N+1): m = int(input()) arr.append(m) raa = arr.copy() raa.sort() if i % 2 == 1: print(raa[i//2]) else: print(raa[i//2-1]) 배열에 값을 넣을 때마다 , 정렬해서 중간값을 뽑아내는 방법으로 구현을 했으나, 시간초과가 떠서 다른 방식으로 접근해야한다. 2. 우선순위 큐(Priority Queue)큐나 스택과는 달리, 각 원소들은 우선 순위를 가지고 있다.우선순위 큐에서, 높은 우.. 2024. 11. 24. FLO 앱 - 2주차 더보기Chapter 2. Activity와 Fragment setContentView(R.layout.activity_song)이 방법은 전통적인 방법으로, 레이아웃 리소스 파일(activity_song.xml)을 직접 액티비티의 콘텐츠 뷰로 설정setContentView(R.layout.activity_song); 장점: 사용이 간단하고, 소규모 프로젝트나 간단한 UI에서는 충분히 효과적입니다.단점: 레이아웃 파일에 정의된 뷰에 접근하려면 findViewById를 사용해야 합니다. 이로 인해 코드가 장황해지고, 뷰를 찾는 과정에서 오류가 발생할 수 있습니다.binding = ActivitySongBinding.inflate(layoutInflater); setContentView(binding.root.. 2024. 6. 17. FLO 앱 - 1주차 Chaper 1. Platform & Layout bottom navigation bar실습 코드 - showAsAction : 메뉴 항목이 어떻게 표시될지 정의하는 속성'never' : 액션바에 표시되지 않고 오버플로우 메뉴 (더보기 메뉴)에만 나타남'ifRoom' : 액션바에 공간이 충분한 경우에만 표시됨. 공간이 부족하면 오버플로우 메뉴에 표시됨'always' : 항상 액션바에 표시됨. 'withText' : 아이콘과 함께 텍스트도 표시되도록 함. 'collapseActionView' : 액션 뷰로 확장될 수 있으며, 확장된 후에는 다른 메뉴 항복들이 오버플로우 메뉴로 이동할 수 있음- title : 메뉴 항복의 텍스트 레이블을 지정함. 클래스 정의class Locker.. 2024. 6. 9. 자바스크립트로 리퀘스트 보내기 AJAX (Asynchronous JavaScript And XML비동기 자바스크립트와 XML- AJAX는 웹 페이지를 동적으로 업데이트할 수 있게 해주는 기술.전체 페이지를 다시 로드하지 않고도, 웹 페이지의 일부를 업데이트할 수 있음.- 비동기적 방식으로 서버와 통신하여, 사용자 인터페이스가 끊김 없이 동작하도록 함. XMLHttpRequest(브라우저에서 서버와 데이터를 교환하는데 사용되는 객체) -> fetch , axios 로 AJAX 구현 fetch ()웹 브라우저에서 네트워크 요청을 처리. Fetch API는 비동기적으로 리소스를 가져오고, HTTP 요청을 보낼 수 있음.const res = await fetch('http://learn.sdfsldkjfsl.ojp); - fetch(): 네.. 2024. 5. 29. 이전 1 2 3 4 ··· 6 다음