728x90

전체 글 80

자동급식기 외형 DIY편!

안녕하세요! 지난 포스팅인 자동급식기 하드웨어 및 소프트웨어 구현에 이어서 이번 편에서는 자동급식기 외형 DIY를 준비해 봤습니다. 이 포스팅을 보고 따라 하실 분들을 위해 고민 끝에 이번 자동급식기는 낮은 비용, 재료 구매 접근성, 깔끔한 외형을 중점으로 선정했습니다. 비용은 총 5,000원이 들었습니다. 다이소에서 판매하는 적재 정리함을 이용하여 만드는 방식입니다. 상품 내역은 적재 정리함 1호(2,000원), 14호(2,000원), 8호(1,000원)입니다 추가적으로 저는 사료 나오는 곳에 우드락을 이용하여 개방문을 만들어 줬으며 집에 있던 가죽을 이용하여 외형을 꾸며줬습니다. 포스팅을 그대로 따라 하시려면 다이소에서 판매하는 컬러 보드롱(1,000원)도 구매하시면 됩니다! 이외에 필요한 도구들로는..

앱 개발 2023.02.27

에어봇 프로젝트

캡스톤 디자인에 참여했던 에어봇! 에어봇이란 자율주행 공기청정기를 뜻 합니다 미세먼지로 인해 공기청정기를 가정에서 많이 사용하는데, 각 방마다 놓기 비용적 측면에서 부담스럽고 부피도 차지하기 때문에 여러모로 효율적이라 생각하여 프로젝트를 진행했습니다. 에어봇의 알고리즘은 각 방을 돌며 공기 품질을 측정, 공기 품질이 나쁜 곳을 정화하고 일정 수치에 도달하면 다른 공간으로 이동하는 방식입니다! 아두이노와 각종 모듈을 통해서 구현한 과정 및 사진을 첨부합니다! 처음엔 아두이노와 블루투스 모듈 연결 테스트를 진행했습니다 이번 프로젝트에서 안드로이드 앱과 블루투스로 연동하여 스마트폰으로도 공기품질을 확인할 수 있도록 하기 위함입니다! 파란색 모듈이 바로 공기 품질 측정 모듈입니다 공기 품질 측정 모듈을 통해 대..

프로젝트 2023.02.26

멍생멍생 자동급식기 구현

안녕하세요! 드디어 멍생멍생 앱이 출시되었습니다! 멍생멍생은 강아지를 케어할 수 있도록 필요한 기능을 모아둔 앱입니다. 이번 포스트에선 멍생멍생의 기능 중 하나인 자동 급식기 블루투스 리모컨 기능을 사용하려고 합니다! 멍생멍생은 아두이노를 이용한 자동 급식기와의 연동을 도와줍니다 그러려면 자동 급식기를 만들어 줘야겠죠? 우선 준비물 몇 가지가 필요합니다 아두이노 우노(호환보드 가능) -5,300원 블루투스 모듈(HM-10) - 7,450원 서보모터(SG-90) - 1,340원 점퍼선 - 500원 브레드 보드 - 200원 usb케이블(컴퓨터 연결 및 전원공급용도) - 770원 * 블루투스 모듈 hc-06은 아이폰에서 사용할 수 없는 모듈이기 때문에 꼭 HM-10을 사용해 주세요. 아두이노 보드 HM-10 ..

앱 개발 2023.02.22

기본 UI 그리기 및 화면 이동 설정

애플에서 추구하는 UI 정책 정독 후 AutoLayout을 통해 프로토타입 기반 UI 구현을 시작했습니다. UI Tap Bar Controller를 사용하여 폴더와 즐겨찾기 화면을 이동할 수 있으며 CollectionView로 Cell을 관리합니다. 제작과정을 오픈소스로 깃허브에 공유해 놨으므로 다른 개발자들이 보기 편하게 폴더별로 ViewController와 Cell 파일을 정리하였으며 기능에 적합한 변수명을 사용하였습니다. 아직 정식으로 코드를 작성하기 전이기 때문에 화면 구성의 변경을 감안하여 수정 및 삭제가 필요할 때 복구가 가능하도록 Commit을 상시 하고 있습니다. 화면 구성으로는 앱 실행 시 카테고리 탭의 사용자 폴더를 가장 먼저 볼 수 있게 하였습니다. 카테고리 탭에서 사용자가 만든 폴..

앱 개발 2022.07.29

문답 앱 프로토타입

문답 앱 구현을 시작하기 전에 상상해 뒀던 UI를 노트에 직접 그려보고 애플에서 권장하는 UI 디자인 기본 원칙을 숙지한 후에 EdrawMax 프로그램을 사용하여 프로토타입을 만들어 봤습니다. 무료 버전을 사용해서 프로토타입 제작에 어려움이 있었지만 생각만 했던 디자인을 직접 제작해보니 어떤 방향으로 앱을 개발해야 할지 정리할 수 있어서 좋았습니다. 정보처리기사를 공부할 때 개발 준비 단계에서 확실하게 준비해야 시간이나 비용을 줄일 수 있다고 배웠는데 처음에는 이 내용이 크게 와닿지 않았습니다 하지만 직접 프로토타입을 제작해보니 개발자의 길잡이가 되어줄 수 있는 중요한 단계이며 꼭 필요한 작업이라고 느끼게 된 좋은 경험이었습니다. 앞으로의 개발 단계에서 세세한 디자인 변경은 있을 수 있지만 제작한 프로토..

앱 개발 2022.07.13

문답 앱 개발 계획

문답 앱 개발 프로젝트 구상하게 된 계기 기술 면접 준비를 하면서 메모장에 적어두고 보는 것이 가독성이 떨어져 아쉬운 부분이 많았고 기존에 Notion앱을 통해 작성했던 내용들을 원하는 기능을 추가하여 보고 싶어서 개발의 필요성을 느꼈습니다. 또한 앱 스토어에 생각했던 UI와 유사한 앱이 없었으므로 이 앱을 구상했습니다. 간단한 기능이지만 깔끔한 UI와 가독성을 원하는 저와 비슷한 처지인 취준생 분들에게 도움이 될만한 앱입니다. 이 앱의 장점 직접 면접 질문과 예상 답안을 적어보며 내용에 대해 다시 한번 상기시킬 수 있는 장점이 있으며, 간결한 UI를 통해 가독성을 높일 수 있습니다. 즐겨찾기 기능을 통해 필요한 내용을 따로 관리할 수 있습니다. 타 앱과의 차별성 작성한 글을 카테고리 별로 분류할 수 있..

앱 개발 2022.07.13

정보처리기사 실기 합격 및 자격증 취득 후기

2022년 6월 17일 기다리고 기다리던 정보처리기사 실기 결과가 발표됐습니다. 결론부터 말하자면 결과는 합격! 부끄럽지만 2021년 3월 7일 필기를 합격하고 나서 실기 3번째 시도만에 힘들게 취득한 소중한 내 정보처리기사 자격증ㅠ 첫 번째 실기 시험에서 커트라인 60점에서 1점 모자란 59점으로 불합격 통보를 받고 좌절감과 허무함에 답답한 시기를 보냈지만 마음을 다 잡고 두 번째 시험을 준비했었습니다. 열심히 해서 이번엔 기필코 합격하겠다는 마음을 가지고 독서실을 다니면서 며칠을 밤을 지새우며 열심히 준비했건만.. 하필 영어로 된 문제와 보기들이 가장 많이 나오고 합격률이 가장 낮았던 최악의 두 번째 시험.. 커트라인에도 한참 못 미치는 결과로 두 번이나 떨어진 스스로를 비난하며 앞으로 어떻게 준비할..

SQL 응용 데이터베이스 기본 요약

트랜잭션 개념 : 데이터베이스 시스템에서 하나의 논리적 기능을 정상적으로 수행하기 위한 작업의 기본 단위 특성 : 원자성(Atomicity), 일관성(Consistency), 격리성(Isolation), 영속성(Durability) - ACID COMMIT : 트랜잭션을 메모리에 영구적으로 저장하는 명령어 ROLLBACK : 트랜잭션 내역을 저장 무효화시키는 명령어 CHECKPOINT : ROLLBACK을 위한 시점을 지정하는 명령어 제어 : 병행 제어, 회복 기법 병행 제어 미보장 시 문제점 : 갱신 손실, 현황 파악 오류, 모순성, 연쇄 복귀 기법 종류 : 로킹, 낙관적 검증, 타임스탬프 순서, 다중 버전 동시성 제어 회복 기법 로그 기반 회복 기법 - 지연 갱신 회복 기법, 즉각 갱신 회복 기법 체..

02. 화면 설계

Chapter. 01 - UI 요구사항 확인 예상 - 01 Q. 유기적 상호작용 기반 인터페이스라고 불리며 현실에 존재하는 모든 사물이 입출력장치로 변화할 수 있는 사용자 인터페이스(User Interface)의 유형을 쓰시오 A. OUI 예상 - 04 Q. 다음은 UI 품질 요구사항에 대한 설명이다. 괄호 ( ) 안에 들어갈 용어를 쓰시오. UI 품질 요구사항 중 사용성(Usability)은 사용자와 컴퓨터 사이에 발생하는 어떠한 행위를 정확하고 쉽게 인지 가능함을 ( 1 ) : 소프트웨어의 논리적인 개념과 적용 가능성(응용 가능성)을 분간하는데 필요한 사용자의 노력 정도에 따른 소프트웨어 특성 ( 2 ) : 소프트웨어 애플리케이션 익히는데 필요한 사용자의 노력 정도에 따른 특성 운용성 : 소프트웨어의..

01. 요구사항 확인

Chapter. 01 - 소프트웨어 개발방법론 예상 - 04 Q. 전체 시스템을 기능에 따라 나누어 개발하고, 이를 통합하는 분할과 정복 접근 방식의 방법론은 무엇인가? A. 구조적 방법론 예상 - 05 Q. TDD(Test Driven Development)에 대해서 서술하시오. A. 작성해야 하는 프로그램에 대한 테스트를 먼저 수행하고, 이 테스트를 통과할 수 있도록 실제 프로그램의 코드를 작성한다는 원리 예상 - 06 Q. XP 12가지 가치 중 매일 여러 번씩 소프트웨어를 통합하고 빌드해야 한다는 원리는 무엇인가? A. 지속적인 통합(CI) 예상 - 08 Q. 델파이 기법(Delphi Method)에 대해서 서술하시오 A. 전문가의 경험적 지식을 통해 문제 해결 및 미래 예측을 위한 기법 Chap..

013. UI 흐름 설계

UI 설계서 구성 개념 - UI 설계서 표지, UI 설계서 개정 이력, UI 요구사항 정의, 시스템 구조, 사이트 맵, 프로세스 정의, 화면 설계 UI 설계안의 적정성 확인 - 실행차를 줄이기 위한 UI 설계 원리 : 사용 의도 파악, 행위 순서 규정, 행위 순서대로 실행 - 평가차를 줄이기 위한 UI 설계 원리 : 수행한 키 조작 결과를 사용자가 빠르게 지각하도록 유도, 키 조작으로 변화된 시스템의 상태를 사용자가 쉽게 인지하도록 유도, 사용자가 가진 원래 의도와 시스템 결과 간의 유사 정도를 사용자가 쉽게 파악하도록 유도 화면과 폼의 흐름 설계 - 화면에 표현되어야 할 기능적 및 비기능적 요구사항 검토 - 화면의 입력 요소 및 유스케이스를 통한 UI 요구사항 확인 - UI 유스케이스 설계 - 기능 및..

012. UI 설계를 위한 UML 개요

UML 개념 - 객체지향 소프트웨어 개발 과정에서 산출물을 명세화, 시각화, 문서화할 때 사용되는 모델링 기술과 방법론을 통합해서 만든 표준화된 범용 모델링 언어 UML의 특징 가구명문 - 가시화 언어 / 구축 언어 / 명세화 언어 / 문서화 언어 UML의 구성 요소 사관다 - 사물 / 관계 / 다이어그램 구조적 다이어그램(= 정적 다이어그램) 클객컴배복패 클래스 다이어그램 - 객체지향 모델링 시 클래스의 속성 및 연산과 클래스 간 정적인 관계를 표현한 다이어그램 객체 다이어그램 - 클래스에 속한 사물들, 즉 인스턴스를 특정 시점의 객체와 객체 사이의 관계로 표현한 다이어그램 - 연관된 모든 인스턴스를 표현 컴포넌트 다이어그램 - 시스템을 구성하는 물리적인 컴포넌트와 그들 사이의 의존 관계를 나타내는 다..

011. UI 지침, 스토리보드, UI 프로토타입 제작 및 검토

UI 지침(Guideline) 개념 : UI 표준에 따라 사용자 인터페이스 설계, 개발 시 지켜야 할 세부사항을 규정하는 가이드라인 소프트웨어 개발 단계별 UI 지침 목표 정의 프로젝트 계획 요구사항 정의 설계 및 구현 테스트 배포 및 관리 - 환경 분석 - UI 개발 목표 및 범위 정의 - 사용자 분석 및 니즈(needs)조사 - 사용자 요구사항 도출 - UI 컨셉션 정의 - UI 상세 설계 - UI 화면 디자인 - UI 검증 - 사용성 테스트 실행, 결과 분석 - 매뉴얼 배포, 관리 UI 개발을 위한 주요 기법 3C 분석 - 고객(Customer), 자사(Company), 경쟁사(Competitor)를 비교 SWOT 분석 - 기업의 내부 환경과 외부 환경을 분석하여 Strength(강점), Weakn..

010. UI 요구사항 확인, UI 표준

UI 개념 - 넓은 의미에서 사용자와 시스템 사이에서 의사소통 할 수 있도록 고안된 물리적, 가상의 매개체 - 좁은 의미로는 정보 기기나 소프트웨어의 화면 등에서 사람이 접하게 되는 화면 유형 : CGNO - CLI / GUI / NUI / OUI CLI : 텍스트 명령 GUI : 그래픽 반응 기반 인터페이스 NUI : 터치나 음성, 동작인식, 뇌파 인식 OUI : 유기적 상호기반 인터페이스 UI 설계 원칙 직유학유 - 직관성(Intuitiveness) / 유효성(Effciency) / 학습성(Learnability) / 유연성(Flexibility) 직관성 (Intuitiveness) - 누구나 쉽게 이해하고, 쉽게 사용할 수 있어야 함 - 쉬운 검색, 쉬운 사용성, 일관성 유효성 (Effciency)..

009. 분석 모델 검증, 분석 모델의 시스템화 타당성 분석

분석 모델 검증 개념 : 요구사항 도출 기법을 활용하여 업무 분석가가 제시한 분석 모델에 대해서 확인하는 활동 분석 모델 검증 방법 유스케이스 모델 검증 - 시스템 기능에 대한 유스케이스 모형 상세화 수준 및 적정성 검증을 위해서 액터, 유스케이스, 유스케이스 명세서 점검 개념 수준의 분석 클래스 검증 - 시스템의 주요 도메인 개념을 분석 클래스로 도출하여 유스케이스 분석에 활용하므로, 개념 수준의 주요 분석 클래스를 적절히 도출하였는지, 관련 정보가 명확한지 점검 - 주요 클래스 도출 여부, 도출된 클래스 이름과 속성의 적절성, 올바른 클래스들 간의 관계 여부 점검 분석 클래스 검증 - 유스케이스 실현에 필요한 분석 클래스 도출 확인 - 유스케이스 별로 도출된 분석 클래스들이 스테레오 타입으로 표시되었..

008. 요구사항, 요구사항의 시스템화 타당성 분석

요구공학 개념 : 사용자의 요구가 반영된 시스템을 개발하기 위하여 사용자 요구사항에 대한 도출, 분석, 명세, 확인 및 검증하는 구조화된 활동 요구사항 목적 - 이해관계자 사이에 효과적인 의사소통 수단 제공 - 시스템 개발의 요구사항에 대한 공통된 이해 설정 - 요구사항 누락 방지 및 이해 오류로 인한 불필요한 비용을 절감 - 요구사항 변경 추적 가능 분류 기완일[기능적 요구사항] - 기능성 / 완전성 / 일관성 신사효유이 보품제[비기능적 요구사항] - 신뢰도 / 사용성 / 효율성 / 유지보수성 / 이식성 / 보안성 / 품질 관련 / 제약사항 기능적 요구사항 비기능적 요구사항 - 시스템이 제공하는 기능, 서비스에 대한 요구사항 - 특정 입력에 대해 시스템이 어떻게 반응해야 하는지에 대한 기술 - 특정 상..

007. 개발 기술 환경 정의

운영체제(OS) 개념 - 컴퓨터 시스템이 제공하는 모든 하드웨어, 소프트웨어를 사용할 수 있도록 해주고, 컴퓨터 사용자와 컴퓨터 하드웨어 간의 인터페이스를 담당하는 프로그램 운영체제 현행 시스템 분석 시 고려사항 신성기주구 - 신뢰도, 성능, 기술 지원, 주변 기기, 구축 비용 운영체제 종류 및 특징 PC 윈도즈(Windows) - Microsoft - 중/소규모 서버, 일반 PC 등 유지, 관리 비용 장점 맥(Mac) 운영체제 - Apple - 매킨토시용으로 개발한 그래픽 사용자 인터페이스(GUI) 운영체제 유닉스(UNIX) - IBM, HP, SUN - 대용량 처리, 안정성 높은 엔터프라이즈급 서버 리눅스(Linux) - Linus Torvalds - 중/대규모 서버 대상, 높은 보안성 제공 모바일 ..

006. 현행 시스템 파악 3

현행 시스템 분석서 작성 및 검토 현행 시스템 관련 자료수집 - 팀 구성, 자료 수집 수집 자료의 분석 - 수집 정보 취합 / 정제, 현행 시스템의 이슈 및 문제점 파악 분석한 결과를 기반으로 산출물 작성 - 이슈나 문제점 상세하게 포함 작성 산출물에 대한 검토 수행 - 팀 별로 작성된 산출물 상호 검토 분석 산출물 종류 현기인 아소하네 - 정보 시스템 구성 현황 정보 시스템 기능 구성도 인터페이스 현황 아키텍처 구성도 SW 구성도 HW 구성도 NW 구성도

005. 현행 시스템 파악 2

디자인 패턴 개념 : 소프트웨어 공학의 소프트웨어 설계에서 공통으로 발생하는 문제에 대해 자주 쓰이는 설계 방법을 정리한 패턴 구성요소 - 패문솔 사결샘 : 패턴의 이름 / 문제 및 배경 / 솔루션 / 사례 / 결과 / 샘플 코드 목적에 따른 디자인 패턴 유형 - 생구행 : 생성 패턴 / 구조 패턴 / 행위 패턴 생성 패턴 - 생빌 프로 팩앱싱 : 생성 패턴 - 빌드 / 프로토타입 / 팩토리 메소드 / 앱스트랙트 팩토리 / 싱글톤 구분 패턴 설명 생성 패턴 Builder - 복잡한 인스턴스를 조립하여 만드는 구조로, 복합 객체를 생성할 때 객체를 생성하는 방법(과정)과 객체를 구현(표현) 하는 방법을 분리함으로써 동일한 생성 절차에서 서로 다른 표현 결과를 만들 수 있는 디자인 패턴 - 생성과 표기를 분..

004. 현행 시스템 파악 1

현행 시스템 파악 개념 - 현행 시스템이 어떤 하위 시스템으로 구성되어 있고, 제공 기능 및 연계 정보는 무엇이며 어떤 기술 요소를 사용하는지를 파악하는 활동 현행 시스템 파악 절차 구성 / 기능 / 인터페이스 파악 -> 아키텍처 및 SW 구성 파악 -> HW 및 NW 구성 파악 현행 시스템 구성 현황 파악 기능 현황 파악 인터페이스 현황 파악 현행 시스템 아키텍처 구성 파악 소프트웨어 구성 파악 HW 구성 파악 NW 구성 파악 소프트웨어 아키텍처 개념 - 여러 가지 소프트웨어 구성요소와 그 구성요소가 가진 특성 중에서 외부에 드러나는 특성, 그리고 구성요소 간의 관계를 표현하는 시스템의 구조 소프트웨어 아키텍처 프레임워크 개념 - 소프트웨어 집약적인 시스템에서 아키텍처가 표현해야 하는 내용 및 이들 간..

728x90