본 프로젝트 SETIVB에서는
매주 지도 교수님, 한이음 ICT 멘토링 사업의 멘토님께 진행 상황 피드백받은 학습 내용을 기록한다.
진행상황은 에어터치 소스 코드 개발 완료,
Jin 웹 백엔드 개발
Jeon 웹 프론트엔드 개발
Yang 소스 코드 수정, 윈도우 프로그램화 작업 중이다.
종합 설계 세미나
2차
학부 : 정보통신공학과
팀명 : Set To Title
교수명 : Kim
작성일 : 2023.03.14
# 제안서 발표 교수님 피드백과 질문
#첫 종합 설계 제안서 발표를 마치고 알게 된 점
현실적 제한요소는 표준화 이후 최소 8개 항목이다.
학부 수준의 프로젝트에서 생각하면 현실적 제한요소가 없이 느껴질 수 있지만 표준화 이후 직접적으로 기업의 입장에서 생각해 보면 매우 많다.
현업 나가면 발표 능력 매우 중요하다.
1학년부터 4학년까지 항상 말씀해오셨고 그만큼 중요한 부분이다.
정확하게 어떤 목적을 갖고 어떤 가치를 창출할 수 있는지, 진행상황 발표라면 무엇을 했는지 명확하게 발표하도록 노력해야 한다..
리눅스 서비스 여부에 대한 답변 (제안서 발표 교수님 질문)
- 스마트폰을 제외했을 때 사용자들에게
윈도 운영체제가 가장 익숙하다.
팀의 우선순위를 고려해 윈도우 기반 프로그램화,
웹 사이트 개발을 선행한 이후 리눅스 서비스도
노력해 보겠다.추가로 안드로이드와 같은 점유율 높은 곳에 서비스 제공하는 것도 굉장히 좋은 방향이라는 관점이 생겼다.
이론 학습
1. 팀장 Jin
#1 학습내용
# nodemon 설치
npm install nodemon –global 명령어를 통해 전역에 노드몬을 깔아주었다. 전역으로 다운하는 이유를 찾아도 알 수 없었는데 기본적으로 node package module들이 node_modules 폴더 안에 다운로드되어 관리되기 때문에 서버 전체를 라이브로 끄지 않고 사용하려면 전역 설치가 이루어져야 하는 것으로 보인다.
2. package json 파일 수정을 통해 npm start 명령어 안에 nodemon 서버 실행 경로를 넣었고 npm start 명령어만 해도 이제 nodemon으로 실행된다.
#깃허브 명령어
깃허브를 터미널에서 사용하는 방법은 잘 모르고 어려웠는데 이제 기본적인 add, commit, push, pull, status 등을 사용하여 상태를 확인하고 관리하는 방법이 익숙해지고 있다.
#Restful API 개념
Representational
Statement
Transfer
자원의 표현, 상태, 전송의 인터페이스를 뜻하는 restful api에 대해 이해했다.
우리가 웹에서 통신할 때 정해진 인터페이스에 맞춰 통신하는 것에 목표를 둔 R API는 확실히 식별할 수 있도록 명시하며 서버를 구성하는 것을 의미한다.
#2 문제점
학습 과정에서 JavaScript 프로그래밍 언어에 대해 부족한 부분이 있어 이해가 안 되는 것들이 많아졌다. promise 개념, try, catch, 동기, 비동기 등 다양한 부분에서 더 깊은 이해가 선행되어야 한다고 느꼈다.
#3 해결방안
JavaScript 언어를 서버 개발에 무리가 없을 정도로 공부해야 할 것이다.
#4 향후 계획
JavaScript를 nodejs를 최소한 사용할 수 있을 정도로 유튜브 강의를 보며 공부하고 앞서 말한promise, try, catch, then 등 많은 개념을 이해한다.
2.Jeon
#1 학습내용
CSS, HTML
front-end 실력을 향상하기 위해 css,htmlcss, html실습을 통해 naver와 비슷하게 만들려고 노력해 보았다.. 지난번의 실습 중 로고와 검색창이 같은 열에서 자연스럽게 보이지 않았는데 이를 해결하기 위해서 로고와 검색창의 부모 속성에 grid를 사용하여 픽셀단위로 맞추어 주었다.
#2 문제점
mail과 cafe와 같은 카테고리들을 grid를 활성화시켜서 열을 맞추어 주고 border값을 주었을 때 margin 겹침 현상이 발생하여 경계선이 두껍게 보이는 현상이 발생했다.
또한 이미지를 삽입하는 과정에서 이미지를 삽입하고 난 후 글을 쓸 때 글이 이미지의 밑으로 내려가는 현상이 발생하였다.
#3 해결방안
margin 겹침이 발생하여 margin:-2px;을 해주어서 겹침 현상을 방지하였다.
또한 이미지를 삽입한 후 글이 이미지의 바로 옆에 이어서 나오게 하기 위해서float를 통하여 문제를 해결하였다.
#4 향후 계획
float와 grid에 대하여 더 깊이 공부가 필요한 것을 느꼈고 다음 실습에서는 더 아름다운 front-end를 만들기 위해hover기능을 공부할 것이다.
3. Yang
#1 학습내용
에어터치 프로그램 기능 선택 창 + UI 설정
에어터치 프로그램에 이어 이 프로그램만으로 할 수 있는 칠판 기능의 프로토타입 형태를 만들었다. 하지만 이 프로그램을 배포할 때 두 가지 기능을 나누어서 배포하는 것보다 프로그램 안에서 기능을 선택하면 선택한 기능의 프로그램이 실행되는 형태가 괜찮을 것 같아서 마우스 프로그램과 칠판 프로그램을 하나의 프로그램에 묶었다.
#2 문제점
1) 에어터치 프로그램의 메인 화면은 버튼을 누르면 연결된 프로그램이 실행되는 방식이지만 버튼을 중앙에 배치하는 것이 어려웠다.
2) 버튼을 눌렀을 때, 연결된 프로그램이 실행되어야 하는데 프로그램을 연결하는 과정에서 문제가 생겼다.
#3 해결방안
1) 버튼을 중앙에 놓을 때 tkinter 모듈 안에서 place()라는 함수의 anchor라는 변수가 화면의 중앙으로 버튼이나 그림 등 옮길 수 있는 것을 발견, 거기서 y축으로 두 개의 버튼을 중앙에서 분리시켜 놓을 수 있었다.
2) Button 함수 안의 command 명령어가 눌렀을 때 실행하는 것을 발견하여 거기에 AIVM.py, AIVB.py를 각각 impoAIVM, impoAIVB 라는 함수로 만들어서 버튼을 누르면 그 프로그램이 실행되도록 지정했다.
#4 향후 계획
마우스 또는 칠판 프로그램이 종료 됐을 때 메인화면으로 다시 돌아오도록 만들고, 칠판 프로그램은 색상 변경하는 창을 어떻게 구현할 것인지 고민 후에 구현시켜 볼 것이다.
'프로젝트(My Project)' 카테고리의 다른 글
[프로젝트 : SETIVB] 4차 세미나 (0) | 2023.04.04 |
---|---|
[프로젝트 : SETIVB] 3차 세미나 (0) | 2023.04.04 |
[프로젝트 : SETIVB] 1차 세미나 (0) | 2023.03.21 |
[프로젝트 : SETIVB 종합 설계 제안서] 실시간 에어터치 프로그램 (0) | 2023.03.21 |
[프로젝트 : 주크패드] 라즈베리파이 4를 이용한 주크박스 & 런치패드 (1) | 2023.03.21 |