리뷰의 개발일지

알고리즘/동적계획법(DP)

동적계획법(DP) 동적계획법 (Dynamic Programming) 복잡한 문제를 간단한 여러 개의 문제로 나누어 푸는 방법 최적화 문제를 해결하는 알고리즘 정의 : 어떤 문제가 반복적이고 최적 하위 구조로 이루어진다고 할 때, 하위 구조에 있는 부분 문제의 답을 기반으로 전체 문제의 답을구하는 방법 최적 하위 구조 란? 전체 문제의 답이...

[SQL/캡스톤디자인] 데이터베이스 과제 7주차

데이터베이스 7주차 [발표준비] 이번 주차엔, PPT자료준비 및 frontend 기능설계를 고민하였다. PPT자료준비에선 목차,프로젝트개요,사용자 요구사항정의,시스템아키텍처,기대효과및확장성,개발일정,QA순으로 구성하였으며, 조 회의에서 나왔던 사용자 요구사항정의와 사용자페르소나를 기준으로 PPT를 제작하였다. 프로젝트 개요에선 우리가 왜 이프로젝트를...

[SQL/캡스톤디자인] 데이터베이스 과제 6주차

데이터베이스6주차 이번 주차에는 지난 설계 기반으로 실제 코드를 구현해보는 데 집중하였다. 특히 백엔드 구조 통합 실험을 위해 Flask를 중심으로 MySQL과 MongoDB를 동시에 연결하고, 사용자 활동 로그를 실제로 저장하고 불러오는 전체 API 흐름을 작성하였다. Flask 프로젝트 구조는 app.py를 중심으로, MySQL ORM은 SQLA...

[SQL/캡스톤디자인] 데이터베이스 과제 5주차

데이터베이스5주차 지난주에 이어, 이벤트 기반 비동기 로그 처리 아키텍처의 성능 및 신뢰성 확보 방안으로서 메시지 큐 시스템의 도입 필요성을 확인하였다. 이번주엔, Flask 기반 백엔드에 도입 가능한 RQ와 kafka를 비교하고, 실무 적용 가능성과 장단점을 정리하였다.우선, RQ는 Python 기반의 단순한 작업 큐로, Flask와의 통합이 쉽고...

[고급알고리즘]그리드 알고리즘

그리드 알고리즘 눈앞의 이익만을 추구하는 알고리즘 미리 정한 기준에 따라 매번 가장 좋은 선택만 취하는 알고리즘 여러 경우 중 하나를 결정해야 할 때마다 그 순간이 최적이라고 생각되는 것을 선택해 나가는 방식으로 진행하여 최종적인 해답에 도달하여 해결함. 각 선택의 시점에서 이루어지는 결정은 지...

[SQL/캡스톤디자인] 데이터베이스 과제 4주차

데이터베이스4주차 이번주차에선 데이터 불일치 및 동기화 문제를 다룰 예정이다. 용자가 회원가입을 시도할 때 MySQL에 사용자 정보가 저장되지만, 동시에 MongoDB에 활동 로그 삽입이 실패할 경우 시스템의 신뢰성과 일관성이 깨질 수 있다. 이는 관계형 DB와 비관계형 DB를 혼합 운용할 때 흔히 발생할 수 있는 문제다. 연구 목표는 데이터 불일...

알고리즘/고급알고리즘[2강 STL사용하여 문제풀이]

sort() 사용법 sort함수는 배열의 원소들을 정렬할 때 사용하며, 기본적으로 오름차순으로 정렬한다. sort()함수를 사용하기 위해서는 ** 헤더파일을 include** 시켜줘야 한다. sort(배열의 시작 주소,  배열의 마지막 주소+1) ; sort(배열의 시작 주소,  배열의 마지막 주소+1,  desc) ; 이렇게 sort()내에서...

[SQL/캡스톤디자인] 데이터베이스 과제 3주차

데이터베이스3주차 3주차에선 두 DB간 데이터 일관성 유지 및 동기화 방식에 대해 연구했다. 두 개의 DB를 병행하면 한쪽에 데이터 변경이 발생했을 때, 다른 한쪽과 “데이터 불일치” 가 생길 수 있다. 사용자 가입 시 MySQL에 사용자 레코드는 생성이 완료 되었지만, MongoDB에 로그 삽입이 실패하면 처리의 관한 문제가 생길 수 있습니다.관계...

[SQL/캡스톤디자인] 데이터베이스 과제 2주차

두 번째 주차에서는 백엔드 Flask API에서 MYSQL과 MongoDB를 함께 사용하는 구조를 설계 이후, 이를 기반으로 사용자 활동로그 및 AI학습 피드백 로그를 저장할 방안을 구체화 할 예정이었다. MongoDB에 저장될 document 구조의 초안을 작성한 후, 노트에 저장 및 검색 방법을 탐색하였다.병행하여, Flask에서 두가지 DB를 병...

[SQL/캡스톤디자인] 데이터베이스 과제 1주차

캡스톤디자인 9조로, 학습 AI의 개발 내용 중 백엔드, 프론트엔드,python(flask). DB 중 DB를 맡게 되었다. 첫 번째로 DB를 다뤄본 적이 극히 드물기 때문에, 먼저 어떤 타입의 DB를 쓰는지가 중요했던 것 같다. 먼저 고려해야 하는 것은, 관계형 DBMS를 사용을 해야 할지, 비관계형 DBMS을 사용할지의 대해 생각을 해보았고, ...

[Unity/게임개발] 소프트웨어 정의 1화

프로젝트 목표 해당 프로젝트는 로그라이크 액션 게임 “Skull”스타일의 개인프로젝트를 위해 제작된다. 게임의 목표는 하나의 스테이지(프로토타입 맵)를 만들어서 클리어 시키는형식 대상 사용자 점점 PC를 사용하는 나이대가 높아지고있다. 또한, 어린 젊은층(10대~20대초반)은 PC를 사용하는것보다 스마트폰으로 즐기는 비율이 점점 높아지고 있으나,...

[Unity/게임개발] 프로젝트 0화

약 3달안에 프로젝트를 끝내보려고한다. 타일맵을 찍는것에 너무 큰 시간을 투자하지 않으려고하며, 기능만 구현 후 프로젝트를 마무리하려고합니다. 개인프로젝트더라도, 소프트웨어정의,사용자정의 등 모든 과정을 담아보려고하며, 기능 구현에 최대한 많은 설명과 방법을 제공해보려고합니다. 코드작성의 방법은 매우 많으며, 다른 프로그래머분들이 작성하신 코드를 참...

📢 업로드의 대한 공지

5월 1일 부터 Unity로 개발을 시작합니다. 장르는 딱히 정해져있지 않지만, 우리가 소위 말하는 운영자맵을 만들어볼까합니다. 선택의 이유는 많은 기능을 한 맵에 넣어 구현을 해야하고, 게임의 완결성 보다, 기능의 집중도를 높이기 위해서 결정하였습니다. 4월 18일부터 ~ 28일까지는 학교 중간고사 일정이므로 업로드가 없거나 적을 수 있고, 5...

자료구조 1장(intro)

자료구조 자료구조란? 자료를 효율적으로 사용하기 위해 자료의 특성에 따라 분류하고 구성하며 저장 및 처리하는 모든 작업 자연어 사람 ↔ 사람의 의사소통 수단 프로그래밍 언어 사람 ↔ 컴퓨터의 의사소통 수단 프로그램 - 명령문의 집합 프로그램 개발 과정 문제 요구 사항을 정확히 기술 문제 분석 알고리즘 작성 프로그램 ...

알고리즘/선택정렬

알고리즘 [ 선택정렬 ] 정렬되지 않은 전체 자료 중에서 해당 위치에 맞는 자료를 선택하여 위치를 교환하는 정렬 입력 배열 전체에서 최솟값을 전택 배열의 0번 원소와 자리를 바꾸고 다음엔 0번 원소를 제외한 나머지 원소에서 최솟값을 선택하여, 배열의 1번 원소와 자리를 바꿔가며 정렬 마지막에 2개의 원소중 최솟값을 선택하여 자리를 바꿈...

알고리즘, 들어가기 앞서

알고리즘 들어가기전, 문제를 해결하기 위한 단계적 절차를 갖는 여러 동작들의 모임 → 문제 해결 과정을 묘사하는 것 일을 처리하기 위한 일련의 과정을 기술하는 방법(단계적인절차에 따라 주어진 문제의 답을 찾아가는 과정) 해결하고자 하는 문제에 항상 보다 효율적인(적합한)알고리즘을 사용하는것이 매우 중요 → 생각하는 방법을 훈련하는것 알고리즘의...

자료구조/알고리즘 디폴트생성자 2장

LV02 디폴트 생성자(default constructor) 디폴트 생성자는 매개 변수의 초기값을 미리 정의해두는것을 의미한다. 만약 객체선언 후 초기값을 제시하지 않으면 자동적으로 프로그램상에서 제공한다. 클래스에서 생성자가 정의되지 않았을 때만 제공한다. 이전 문서에서 생성자 선언, 소멸자 선언을 제공했으니, 소멸자,생성자는 이전 문서를 참...

자료구조/알고리즘 클래스와 구조체 1장

LV01 클래스와 구조체 클래스는 추상자료형을 사용하기 위한 표현방법이다. 원래 우리들이 공부했던 자료형 int,char,boolean과 같은 것들을 기본 자료형이라고한다. 플레이어가 탑승하는 경주하는 자동차게임이 있다고 생각을 해보자. 만약 플레이어가 2명이라고 하면 우리는 기본코딩을 아래와 같은 방법으로 해주어야 했을것이다. 이것을 하...