사이드 프로젝트 후기 - 룸메이트 구하기 어플리케이션 : 그리핀
·
Project
학기가 끝나고 자격증 준비에 밀려있던 뷰 공부까지 정신없이 보냈다. 어느정도 이론을 마치고, 현업에서 뷰를 어떻게 사용하는지 느낌을 알기 위해 프로젝트를 진행했다. 프로젝트를 시작하며 정식 어플리케이션을 런칭하기 보다는 어느정도 연습삼아 가벼운 분위기로 진행했다.  이번 사이드 프로젝트는 학교 생활에 필요할 것 같은 범위에서 결정했다. 같이 프로젝트를 진행한 형이 기숙사에서 지내며 불편했던 경험(코골이, 흡연 등)을 바탕으로 랜덤으로 룸메이트를 배치하는 것 보다는, 어플을 통해 룸메이트를 구하고 친목을 다질 수 있다면 좋지 않을까? 하는 생각으로 시작하게 되었다.  앱의 대한 소개는 깃허브 링크에서 볼 수 있다. 프로젝트를 진행하며 뷰에 대해서 정말 많이 배웠다. 이론을 인강으로 공부했는데 생각보다 크게..
2024 정보처리기사 실기 (2) 데이터베이스 구축
·
etc/이것저것
데이터 언어DDL (데이터 정의어)CREATE: 테이블 생성DROP: 테이블 삭제ALTER: 데이터 변경 DML (데이터 조작어) SELECT: 행 선택UPDATE: 행 수정DELETE: 행 삭제DCL (데이터 제어어)GRANT: 권한 부여 REVOKE: 권한 해제 COMMIT: 작업 저장 ROLLBACK: 원래 상태로 되돌리기스키마외부 스키마: 사용자의 관점에서 DB의 논리적 구조를 담당 ex) 웹툰에서 요일별 웹툰 개념 스키마: DB의 전체적인 구조를 담당, 하나의 DB에는 하나의 개념 스키마가 존재내부 스키마: 물리적인 데이터 구성을 명세하는 스키마 데이터 독립성 논리적 독립성: 외부스키마와 개념 스키마 사이에서의 독립성물리적 독립성: 개념 스키마와 내부 스키마 사이에서의 독립성데이터 모델링개념적 ..
정보처리기사 실기 (1) 소프트웨어 구조 요약
·
etc/이것저것
제가 중요하다고 생각되는 것만 요약한 글이므로 자세한 내용이 없을 수 있습니다. 소프트 웨어 공학의 3R역공학: 이미 개발된 시스템을 분석재공학: 시스템의 기능을 개선하거나 재구성ex) 건물의 문이 고장났을 때 건물 전체를 고치지 않고 문만 고치는 것과 같음재사용: 이미 개발된 소프트웨어의 전체 또는 일부를 다시 사용하는 것소프트웨어 개발 단계 계획요구사항 분석설계구현테스트유지보수개발 방법론구조적 방법론> 절차지향적인 개발 방법론 애자일 방법론> 빠르고 유연하게 대응하는 개발 방식  애자일 방법론 종류> XP: 반복적이고 점진적인 개발>> XP 의 특징: 용기, 존중, 의사소통, 피드백, 단순성 (의사선생님 약은 피 존 용기에 담아주세요)> SCRUM: 유연하고 생산적인 프로젝트 관리방식 소프트웨어 개발..
Vue.js를 이용한 '몬스터 슬레이어' 게임 만들기 후기
·
Front end/Vue.js
이번 단원에서는 그동안 배웠던 주요 기능들을 이용해서 프로젝트를 진행했다. 주요 로직이 예전에 인턴생활을 하며 Java로 만들었던 RPG 게임과 유사해서 쉽게 만들 수 있었다. 게임의 내용은 닌텐도 포켓몬스터 게임처럼 턴제 게임이며 공격, 스킬, 힐 등 다양한 기능을 사용할 수 있게 제작되었다.주요 기능은 다음과 같고, 스킬은 3턴에 한 번만 사용 가능하다.  객체의 속성 부분에는 Data 를 이용해 체력, 턴, 우승자 등을 선언했고, computed에서는 스타일이나 html에 들어가 있을법한 연산을 넣었다.  나머지 기능은 메서드에서 구현했으며, watch를 이용해 현재 체력을 감시해 0이 되었을 때 승자를 반환하는 코드도 작성했다.  게임의 전체적인 흐름은 몬스터와 플레이어가 한 턴씩 공격하고, 그로..
v-if와 v-for
·
Front end/Vue.js
이번 단원에서는 Vue에서 if와 for를 사용하는 방법에 대해 배웠다. 일단 문법은 다른 언어들과 같아서 익숙했지만, html 코드 내에 작성하는게 뭔가 맘에 안든다. 나는 보통 html에서 태그 속에 뭐 넣는 걸 안좋아하는데 익숙해지면 괜찮아질 것 같기도 하다. 암튼 뭐 되게 간결하고 사용법도 쉽고, Js에서 코드 길게 안짜도 편리하다는 점은 정말 유용하다. v-if뷰에서 사용하는 if 문이다. html 태그 내에서 사용하며, 큰따옴표 안에 Js 코드를 작성한다. 아래는 goals라는 배열이 비어있다면 해당 텍스트를 나타내는 코드이다. 목표가 설정되지 않았습니다. 목표를 설정해주세요. v-else뷰에서 사용하는 else이다. if 바로 아래에서 사용해야 하며, 중간에 다른 태그가 들어가면 실행되지않는..
computed와 watch
·
Front end/Vue.js
이전 단원에서는 data와 methods 의 대해 배웠다. 이번 단원에는 Vue의 다른 개념인 computed와 watch에 대해 공부했다. 쉽게 설명하자면 computed는 연산형 데이터? 라고 말 할 수 있을 것 같고 watch는 데이터가 바뀔 때 알 수 있으니 디버깅할 때 좋을 것 같다.  computed는 데이터에 직접 연산을 넣으면 가독성이 떨어지고, 효율이 낮아질 수 있으니 따로 분리하는 것이라고 이해했고, watch는 그냥 디버깅 하위호환이라고 이해했다.  computed (연산 프로퍼티): 연산 작업이 필요한 변수를 데이터처럼 관리하기 위함. ➡️ 즉, 재사용성의 증가, 코드의 가독성 및 유지보수 작업이 향상된다.  메서드와 다른 점: 다른 데이터에 의존하는 데이터에 주로 사용. 해당 속성..
Vue를 이용한 DOM 상호작용
·
Front end/Vue.js
이번 단원 강의를 들으며 뷰의 기초 문법에 대해 공부했다. 전에 리액트를 한 번 조금 공부해 본 적이 있어서 비슷하게 공부하면 되겠지라는 생각으로 일단 강의를 듣고 있다. 딱히 현재까지 어려운 부분은 없었고, vue를 호출하기 전 특정 커맨드를 위주로 문법을 공부했다. 패키지 불러오기뷰의 커맨드를 불러오기 위해서는 패키지를 먼저 index 파일에 불러왔다. 패키지 경로는 아래와 같다.(24.05.18 기준)   컴포넌트 생성뷰를 사용하기 위해 뷰 컴포넌트를 생성해야 한다. 따라서 createApp() 메소드를 이용해서 컴포넌트를 생성한다. const app = Vue.createApp() 앱 마운트 하기작성한 코드를 html의 어느 부분에 렌더링 할지 컨테이너를 선택한다. 보통 해당 컨테이너의 id..
Vue 시작하기
·
Front end/Vue.js
Vue.js 카테고리에 있는 모든 글은 Udemy (Vue 완벽가이드) 강의에서 정리 및 요약 간접 인용한 것임을 밝힙니다.
캡스톤 디자인 - 분석 및 설계
·
Project
먼저 GPT AI 비서의 이름은 '미르' 라고 정했다. 올해가 청룡의 해이기도 하고 미르라는 어감도 좋아서 선택했다. 그동안 중간 발표를 위해서 팀원들과 여러번 만나 미르의 기능에 대해 이야기를 많이 했었다. 내용을 요약하자면 음성인식 및 출력 기능, GPT API를 따온 인공지능, 오늘 날짜와 날씨를 알려주는 기능, 음악 재생 기능 이렇게 4가지를 최우선시 하기로 했다. 사실 모든게 다 API 인것 같아서 이렇게 해도 되나 라는 생각이 들었지만 각각의 기능을 조화롭게 묶는 것 또한 개발자의 역량 이라고 생각해서 한결 편하게 진행할 수 있었던 것 같다. ㅋㅋ 각각의 기능을 어떻게 구현할지에 대한설명은 다음과 같다. 음성인식 및 출력 (STT/TTS) 음성인식은 speech_recognition 라이브러리..