2022 동계 모각소 

소타트업 활동 내용 및 발표 자료

<팀원>

소프트웨어학과 신우현

소프트웨어학과 김영훈

소프트웨어학과 공명규

소프트웨어학과 이준수


<팀원별 활동내용>

신우현

1. HTML/CSS/Javascript

Web Application의 기본 구조 및 스타일링, 웹 페이지와의 상호작용 및 동적 UI를 위한 언어인 HTML/CSS/JS 에 대한 내용을 학습하고, 브라우저의 렌더링 과정과 Promise와

 async/await를 활용한 비동기 처리, Event Handler처리에 대한 내용을 이해하기 위해  'Javascript Deep Dive' 교재를 참고하여 공부한 내용을 정리하였습니다.

2. Typescript

동적 타입의 인터프리티 언어 Javascript의 확장된 언어인 Typescirpt에 대한 Type의 종류, 객체 및 함수의 인자의 Type 부여, Overloading/Overriding 및 Generic을 활용한 

다형성 부여 등 Typescript의 사용방법 및 객체지향 프로그래밍 개념을 공부하였습니다.

3. React JS

SPA(Single Page Application)을 위한 사용자 인터페이스를 구축하는데 사용되는 Javascript의 라이브러리인 React의 주요 개념인 Virtual DOM의 동작원리, JSX 문법,

Class/Functional Component, Props, State의 개념을 학습하고 React에서 제공하는 여러가지 Hook들과 라이브러리들을 개인 블로그에 기록하였습니다.

URL : https://woohyun-king.tistory.com/category/React

4. 알고리즘 문제풀이

'이것이 취업을 위한 코딩 테스트다 with 파이썬'이라는 교재를 참고하여 Python의 기본 문법과 핵심 알고리즘 이론을 학습한 뒤, 본 교재의 예제들과 Baekjoon Online의 

여러가지 알고리즘 문제를 알고리즘 별로 풀이하고, 정답 코드와 풀이를 하면서 부족한 개념이나 개선점들을 개인 블로그에 기록하였습니다.

URL : https://woohyun-king.tistory.com/category/Algorithm

Github : https://github.com/WooHyunKing/CodingTest_study

김영훈

1. 알고리즘 문제 풀이

- 개발자에게 필수적으로 필요한 알고리즘적 역량을 향상시키기 위해 백준, 프로그래머스 플랫폼에서의 level별 알고리즘 문제 풀이를 했습니다. 

특히 DP, BFS/DFS, 탐색 위주의 알고리즘과, linked list, queue를 이용한 자료구조들에 대해 학습하였습니다.

2. 사업계획서 및 기획서 보완

- sportsit의 시작을 위하여 기존의 사업계획서와 기획서의 보완과 스포츠잇 IR자료를 수정보완 하였습니다. 여기에 추가로 원래 있던 비즈니스 모델에서 

추가로 구성/기획 하였습니다.

3. 소타트업 sports-it의 Page Design(및 기획)

- 기존의 프로토타입에는 디자인이 되어있지 않은 기획서 수준의 프로토타입이 있었는데, 현재 스포츠잇 만의 컨셉을 입히며 디자인을 입힌 페이지를 제작하고 있습니다.

공명규

1. Java/객체지향 설계

객체지향 언어인 Java의 기본 문법과 객체지향 이론에 대해 동영상, 서적 등 다양한 자료들을 참고하여 학습을 진행했습니다. Java에서 사용되는

다양한 스코프와 Static의 개념, List/Set/Map/Stack/Queue와 같은 자료구조, Overriding/Overloading 등 다형성과 관련된 내용들과 Collection, Generics, Iterator 등 

웹 프로젝트 진행시 필요한 주요 Java 개념들 위주로 기초부터 복습하고 이론 위주의 자습 시간을 가졌습니다.

2. Spring Boot, Spring Framework

Java 기반 웹 개발 프레임워크인 Spring과 이를 활용하기 위해 다양한 지원 기능을 갖춘 Spring Boot를 활용하여 웹 서비스를 구축하는 과정을

다양한 영상 및 블로그 자료와 공식문서, 서적을 통해 학습하고 코드로 구현해보는 시간을 가졌습니다. '김영한의 스프링 완전 정복' 로드맵을 중심으로 학습을 진행하며 Spring의 

내부 동작 원리를 이해하고 MVC 패턴을 적용한 Spring MVC, DB 접근 라이브러리인 JDBC, 테스트 라이브러리인 JUnit 등을 활용하여 웹 서비스를 구축 과정을 코드로

구현해보았습니다.

이준수

1. Dart 문법 정리

모바일 프레임워크 Flutter의 개발을 본격적으로 진행하기에 앞서 Flutter 구현을 위한 언어인 Dart에 대한 학습을 진행하였다. Dart만의 문법 위주로 정리하고 학습하였습니다. 

자료형와 객체지향을 위한 Dart만의 문법, Null 처리를 위한 문법들을 학습함으로써 해당 언어가 만들어지게 된 본연의 이유에 대해 학습하며 다른 언어와의 차별점을

살려 개발을 진행하는 개발자로써 성장하게 되었습니다.

2. Flutter 모바일 프레임워크 학습

Dart 문법을 활용하여 Flutter 모바일 프레임워크 개발을 진행하였습니다. Flutter의 내장 기능 및 다양한 패키지들을 사용하기에 앞서 기본적인 파일 구조와 실행 프로세스에 대해서 

익혔으며, UI 학습을 위해 선언형 UI를 활용한 레이아웃 구성 연습을 실시해보았습니다.

3. Flutter WebView 패키지 학습

웹으로 보여주는 페이지를 모바일 어플리케이션을 통해 전시하고 부가적으로 필요한 네이티브 기능을 제공할 수 있는 WebView 패키지를 활용한 모바일 어플리케이션을 제작하고

 해당 패키지에 대해 학습해보았습니다. 다양한 패키지의 장단점 비교, 실제 패키지를 활용한 간단한 모바일 어플리케이션을 제작해보았습니다.

4. 알고리즘적 사고 역량 강화

웹/앱 어플리케이션 개발자가 되기에 앞서 기본적인 알고리즘적 사고 역량은 개발자에게 필연적이라고 판단되었습니다. 때문에 프로그래머스 플랫폼을 활용하여 

알고리즘 문제를 성실하게 풀이했습니다. 해싱, 구현 능력, Two Pointer, DFS/BFS, Dynamic Programming 등 다양한 유형의 문제풀이를 통해 실생활에 존재하는 많은 문제들을 

효율적으로 해결할 수 있는 코드를 작성할 수 있는 개발자로서의 역량을 함양하게 되었습니다.

<팀원별 최종성과>

신우현

HTML/CSS/Javascript를 공부하면서 웹 페이지를 구성하는 요소들과 스타일링 및 반응형 웹 디자인을 위한 내용들을 공부하고, 브라우저의 렌더링 과정과 DOM API를 활용한 

웹 페이지와의 상호작용을 공부하면서 Web Application에 대한 전반적인 내용을 이해하고, 이러한 내용을 기반으로 SPA의 View Layer를 컴포넌트 기반으로 효율적이고 

생산적인 UI를 제공할 수 있는 React 라이브러리를 보다 심도있게 공부할 수 있었습니다.  또한 핵심 알고리즘 이론과 문제풀이를 통해 알고리즘적 사고를 기를 수 있었습니다.

김영훈

Git과 Jenkins를 활용한 CI/CD Devops에 대해 학습하였고, Software Architecture와 시스템설계법 그리고 Redux, Next.js, Ts를 이용한 React 웹프로젝트를 진행해보았습니다.

또한 모각소 활동동안 외부 마케팅활동을 통해 기존의 대한팔씨름연맹의 개발팀장에서 좋은 결과를 만들어내 위원회 중 하나인 미래혁신위원회의 위원장을 맡게되었습니다.

마지막으로 현재 sportsit의 발전을 위해 꾸준히 기획서에 대한 고민과 3월부터 있는 공모전들에 대한 준비를 하고 있습니다.

공명규

스프링 부트와 스프링 프레임워크를 활용에 웹서비스 설계에 대한 이론 공부와 코드 작성 실습을 수행하여 팀 블로그에 정리하고 공부한 내용을 바탕으로 간단한 

회원관리 웹 서비스 코드를 개인 TIL 깃 레포지토리에 기록하여 추후 웹 개발에 참고할 수 있도록 관리하고 있습니다. 

본 스터디를 통해 Spring Framework의 내부 동작 원리를 이해하고, 객체지향 설계 원칙을 준수하기 위해 Spring Framework가 제공하는 기능들과 권장되는 설계 패턴에 대한 

이해도를 높일 수 있었습니다.

이준수

Dart 기본 문법에 대한 학습을 선행하고 Flutter 모바일 프레임워크에 대한 학습을 진행하니 훨씬 이해도 높은 학습을 진행할 수 있었습니다.

이렇게 학습한 내용을 단순하게 코드로만 남겨두는 것이 아니라 개인 Git Repository에 저장하고 commit 메시지를 활용하여 기록을 해두었습니다. 

또한 개인 기술 블로그를 작성하고 관리하여 배운 내용을 다시금 회고하고 학습할 수 있는 기회를 가졌습니다. 알고리즘 문제를 푸는 과정에서도 자체적으로 코드를 리뷰하고 

체계가 있는 코드를 작성하여 글로 정리하여 블로그 글을 작성하였습니다.


<팀원별 향후계획>

신우현

이번 소타트업 팀원들과 진행하게 되는 SW캡스톤디자인 과목에서 맡게된 Front-end를 맡게 되었을 때, 이번 모각소 활동에서 배운 내용들과 언어 및 라이브러리들을 활용하여 

저희 서비스의 사용자 경험 중심의 UI/UX를 구현할 예정입니다. 그리고 알고리즘 이론 공부과 문제풀이를 꾸준히 병행하면서 알고리즘적 사고를 기를 계획입니다.

김영훈

이번 내용으로 SW캡스톤디자인 과목을 진행하고, 창업동아리를 진행하며 실제로 이 제품에 대한 출시를 준비하고 있는데, 준비과정에 있어서 막힘이 없도록 정보과 계획을 세워 

잘 마무리 할 예정입니다. 이번에 배운 내용을 토대로 다양한 공모전도 나감으로써 소타트업 팀에 자금조달과 함께 앱의 퀄리티를 높여나가도록 할 것입니다.

공명규

스터디를 진행하면서 정기 미팅을 통해 향후 수강 예정인 SW캡스톤디자인 과목에 대해 팀원들과 긍적적인 토의 시간을 가졌습니다. 

팀원 결성시 모각소 스터디를 통해 학습한 이론 지식과 실습 경험을 토대로 모바일 어플리케이션 개발에 적용해보면서 프로젝트 경험을 쌓고 저의 개발 역량을 키워나갈 예정입니다. 

모각소 스터디 이후에도 새로운 분야에 대한 공부와 다양한 개발 경험들을 통해 저의 부족한 부분을 채워나가며 지속적으로 개발자로서의 역량 계발에 집중할 예정입니다.

이준수

현재 본팀의 팀원들과 23-1학기에 SW캡스톤디자인 과목을 통해 프로젝트를 진행하는데에 있어서 모바일 어플리케이션 개발을 진행할때에 본 프로그램을 통해 함양하게 된 

지식들을 적극적으로 활용하여 개발을 진행할 예정입니다. 또한 개인 블로그는 취업 혹은 개인 포트폴리오로써 사용할 수 있게끔 지속적으로 관리하고 글을 연재해나갈 예정입니다.


<발표자료>