목록컴퓨터공학 (20)
juuuding
Background 최근 AI 기술은 많은 사람들에게 관심을 받고 있지만, 이를 직접 구현하기 위해 필요한 프로그래밍 지식과 기술적 진입장벽은 여전히 높다. 특히, 비전공자나 AI에 입문하려는 사람들에게 복잡한 코드 작성은 큰 부담으로 다가온다. 이런 문제를 해결하기 위해 우리는 누구나 쉽게 AI 모델을 설계하고 학습할 수 있는 노코드 AI 블록 모델 생성 서비스, MuseLab을 개발하였다.MuseLab은 사용자가 블록 코딩 방식으로 딥러닝 모델을 설계할 수 있는 직관적인 인터페이스를 제공한다. 뿐만 아니라, GPT API를 통해 설계한 모델을 코드로 변환하고, 실제 데이터로 모델을 학습시켜 결과를 확인할 수 있다. 이를 통해 사용자는 AI 모델 설계부터 학습까지의 과정을 쉽고 명확하게 이해할 수 있다..
Design Process 1. 설계 입력: 플랫폼 정보, 요구사항, 데이터 설명2. 설계 활동: 아키텍처 설계 -> 인터페이스 설계 -> 컴포넌트 설계 => 데이터베이스 설계(3. 설계 결과: 시스템 아키텍처, 데이터베이스 명세, 인터페이스 명세, 컴포넌트 명세 - 아키텍처 설계: 시스템의 전체 구조, 주요 구성 요소(하위 시스템, 모듈), 이들의 관계 및 배포 방법을 식별 - 인터페이스 설계: 시스템 컴포넌트 사이의 인터페이스 정의 - 컴포넌트 설계: 각 시스템 구성 요소의 작동 방식 설계 - 데이터베이스 설계: 시스템 데이터 구조를 설계하고, 데이터베이스에서 어떻게 표현할지 결정 Software architecture - 아키텍처 설계: 시스템을 구성하는 하위 시스템과 하위 시스템 제어 및..
🔎Requirements Engineering Requirements engineering - 고객이 시스템에서 요구하는 서비스와 시스템의 운영&개발에 대한 제약사항을 설정하는 과정- 시스템의 요구사항은 요구공학 프로세스에서 생성되는 시스템 서비스(요구 서비스) 및 제약사항에 대한 설명 💡 요구사항이란? - 시스템이 수행해야 하는 작업 (시스템이 무엇을 해야하는가?) - 서비스 or 제약사항에 대한 상위 수준 추상 설명부터 세부 기능 사양에 이르기까지 다양함 즉, 요구란 시스템이 무엇을 해야하며, 이 시스템을 크게 설명하는 것부터 구체적으로 설명하는 것을 이름 💡 요구사항의 종류 요구사항은 "누구를 위해 작성되는가"로 구별됨 - 사용자 요구사항 * 시스템이 사용자에게 제공할 서비스와 동작상 제..
🔎 Software Processes The software process - 소프트웨어 시스템을 개발하기 위한 체계적인 활동들 - 많은 소프트웨어 프로세스 존재 - 프로세스에 반드시 포함되는 활동들 ① 명세화: 소프트웨어 시스템이 해야할 일을 정의 ② 설계 및 구현: 시스템 구조를 정의하고 구현 ③ 검증: 소프트웨어가 고객이 원하는 것과 일치하는지 확인 ④ 진화: 변화하는 고객의 요구를 만족시키기 위해 진화 - 소프트웨어 프로세스 모델은 소프트웨어 프로세스를 단순하게 나타낸 것 (소프트웨어 프로세스 모델: 추상화시켜 표현한 것) 💡 소프트웨어 명세화 (specification) - 어떤 서비스가 필요한지를 이해하고 정의하며, 시스템 운영과 개발에 대한 제약사항을 찾아내는 과정 💡..
📖 Project Planning Project Planning - 프로젝트 계획에는 작업을 여러 부분으로 나누어 프로젝트 팀 구성원에게 할당하고, 발생할 수 있는 문제를 예상하고 해당 문제에 대한 잠정적 해결 방안을 준비하는 작업이 포함됨.- 프로젝트 시작 시 생성된 프로젝트 계획은 프로젝트가 어떻게 진행될 것인가를 프로젝트 팀과 고객이 소통할 때, 프로젝트 진행 상황을 평가할 때 사용 Planning stages 1. 제안 단계 - 소프트웨어 시스템을 개발 혹은 공급하는 계약을 얻기 위해 입찰할 때ex) 어떠한 프로젝트 / sw 를 만들고 싶다 제안할 때 2. 프로젝트 시작 단계 동안 - 누가 프로젝트에서 일할 것인지, 프로젝트를 어떻게 작업들로 나눌 것인지, 자원을 어떻게 할당할 것인지에 대..
📖 소프트웨어 소프트웨어란? 💡 소프트 웨어란? - 프로그램 자체만이 아니라 관련 문서, 라이브러리, 지원 웹사이트 등 필요한 환경 설정 데이터 포함 - 소프트웨어 제품은 특정 고객을 위해 개발되거나, 범용으로 개발됨 💡 소프트웨어 제품 유형 - 일반 제품 : 독립형 시스템, 어떠한 고객이든 원하면 살 수 있음. 예를 들어 그래픽 패키지, 프로젝트 관리 도구, CAD 같은 PC 소프트웨어, 특화된 마켓을 위한 소프트웨어 - 맞춤식 소프트웨어 : 특정 고객에 맞추어 개발한 시스템. 예를 들어 전자기기 제어 시스템, 항공 관제 시스템 + 임베디드 시스템은 특정 하드웨어 장치에서 특정 기능을 수행하도록 개발된 sw기 때문에 맞춤식 소프트웨어라고 생각.. => 새 소프트웨어 개발은 완전히 새롭게 개발을..
회복 1. 회복의 필요성 - 어떤 트랜잭션 T를 수행하는 도중에 시스템이 다운되었을 때, T의 수행 효과가 디스크의 데이터베이스 일부 반영되었을 수 있음 * 어떻게 T의 수행을 취소하여 원자성을 보장할 것인가? - 또한 트랜잭션 T가 완료된 직후에 시스템이 다운되면 T의 모든 갱신 효과가 주기억 장치로부터 디스크에 기록되지 않았을 수 있음 * 어떻게 T의 수행 결과가 데이터베이스에 완전하게 반영되도록 하여 지속성을 보장할 것인가? - 디스크의 헤드 등이 고장 나서 디스크의 데이터베이스를 접근할 수 없다면 어떻게 할 것인가? 2. 회복의 개요 - 여러 응용이 주기억 장치 버퍼 내의 동일한 데이터베이스 항목을 갱신한 후에 디스크에 기록함으로써 성능을 향상시키는 것이 중요함 - 버퍼의 내용을 디스크에 기록하는..
■ 트랜잭션 (transaction) - 데이터베이스를 수천명 이상의 사용자들이 동시에 접근 - 많은 사용자들이 서로 다른 부분, 같은 부분을 접근하면서 데이터베이스를 사용 - 동시성 제어 (concurrency control) √ 동시에 수행되는 트랜잭션들이 데이터베이스에 미치는 영향은 이들을 순차적으로 수행하였을 때 데이터베이스에 미치는 영향과 같도록 보장 √ 다수 사용자가 데이터베이스를 동시에 접근하도록 허용하면서 데이터베이스의 일관성을 유지함 - 회복 (recovery) √ 데이터베이스를 갱신하는 도중에 시스템이 고장 나도 데이터베이스의 일관성을 유지 트랜잭션 개요 * 두개의 UPDATE문을 수행하여할 때, 첫 UPDATE문을 수행한 후 두 번째 UPDATE문을 수행하기 전에 컴퓨터 시스템이 다운..