Git Product home page Git Product logo

ios-timeline's Introduction

iOS Time Line

❇️ iOS 교육과정 [6개월]

2022.04 ~ 2022.10
교육기관: 🐻야곰 아카데미
9개의 프로젝트를 통해 iOS 기초개념에 대한 학습을 했습니다.

펼쳐 보기

📱숫자야구 게임(2인)

개요

기간: 1주
숫자야구 게임을 콘솔앱으로 제작합니다.
프로젝트 보기

학습내용

  • Swift Programming Language 문서 기반 기초지식
  • Optional 개념

📱묵찌빠 게임(3인)

개요

기간: 1주
묵찌빠 게임을 콘솔앱으로 제작합니다.
프로젝트 보기

학습내용

  • Swift Programming Language 문서 기반 기초지식
  • Control Flow

📱쥬스 메이커(2인)

개요

기간: 3주
쥬스 주문을 받고 재고 관리를 하는 앱을 제작합니다.
프로젝트 보기

학습내용

  • UI구현 [UIKit, Storyboard]
  • 디자인패턴 [MVC]
  • 데이터 전달 [Delegate, Notification Center]

📱계산기

개요

기간: 3주
아이폰 기본 계산기 앱을 제작합니다.
프로젝트 보기

학습내용

  • AutoLayout
  • 자료구조 [큐 - 연결리스트, 더블스택]
  • Unit Test

📱만국박람회(2인)

개요

기간: 2주
만국박람회 JSON 파일을 변환하여 TableView 형식으로 나타내는 앱을 제작합니다.
프로젝트 보기

학습내용

  • JSON 파일 변환
  • UITableView

📱은행창구 매니저(2인)

개요

기간: 2주
은행 업무 동시처리 과정을 앱으로 제작합니다.
프로젝트 보기

학습내용

  • ARC (Auto Reference Count)
  • Thread 스케쥴링 (DispatchQueue, OperationQueue)

📱오픈마켓(2인)

개요

기간: 4주
오픈마켓API를 이용해 상품을 조회,등록,수정,삭제할 수 있는 마켓앱을 제작합니다.
프로젝트 보기

학습내용

  • UICollectionView
  • HTTP Method [GET, POST, PATCH, DELETE]

📱일기장(2인)

개요

기간: 3주
OpenWeatherAPI를 이용하여 그날의 위치기반 날씨와 함께 일기를 저장하는 앱을 제작합니다.
프로젝트 보기

학습내용

  • CoreData
  • CLLocation
  • DiffableDataSource

📱프로젝트 매니저

개요

기간: 4주
Database를 사용하여 할 일 목록들을 TODO, DOING, DONE 세 가지 카테고리로 나누어 관리할 수 있는 iPad 앱을 제작합니다.
프로젝트 보기

학습내용

  • 디자인 패턴 [MVVM]
  • 라이브러리 [Firebase, Realm]
  • UndoManager
  • Push Notification

❇️ 야곰아카데미 서포터즈 활동 [4개월]

2022.10 ~ 2023.02
교육기관 내에서 학습자들의 코드리뷰 및 멘토링을 진행 했습니다.

펼쳐보기

✅ 코드리뷰

code starter camp 6기

프로젝트 PR Merge
week1 21개의 PR 19개
week2 16개의 PR 16개
week3 11개의 PR 10개
week4 10개의 PR 10개
week5 6개의 PR 6개

61개의 PR에 대한 피드백을 진행 했습니다.

career starter camp 8기

프로젝트 PR Merge
쥬스메이커 7개의 PR 6개
계산기1 16개의 PR 15개

21개의 PR에 대한 피드백을 진행했습니다

✅ 멘토링

총 8명의 멘토와 함께 멘토링을 진행 했습니다. 멘토 한 명당 2주의 기간동안 일주일에 한번 멘토링을 진행했으며, 학습상태 점검과 고민상담 등 학습자 컨디션 관리에 책임을 다했습니다. 이로 인해 동료 개발자와 소통하는 소프트 스킬을 습득하게 되고, swift 공식문서를 기반으로 한 의견제시 습관을 기를 수 있었습니다.

❇️ 원티드 프리온보딩 [1개월]

2022.12 ~ 2023.01
원티드에서 주관하는 프리온보딩 과정에 참여했습니다. 참여기업의 사전과제를 수행하여 제출했습니다.

펼쳐보기

사전과제

📱GyroData [3인]

CoreMotion을 이용해 기기의 가속도계 측정값과 자이로센서 측정값을 저장할 수 있고, 저장된 결과 값을 Graph로 볼 수 있는 앱 제작
프로젝트 보기

실행화면 펼쳐보기
측정, 저장 화면 삭제 화면 다시보기 화면 Play 화면

맡은 역할

  • CoreDataFileManager 기능을 맡았습니다.

고민한 점

  • CoreData에 저장될 엔티티 모델이 가져야 할 구조에 대한 고민을 했습니다.
  • 저장하는 데이터 중, x,y,z 축에 대한 데이터를 0.1초 마다 측정을 하여 데이터가 많은데, 이 데이터를 따로 JSON형식으로 변환하여 FileManager를 통해 로컬에 저장하는 방법에 대한 고민을 했습니다.

배운 점

  • CoreData에 저장될 데이터의 타입의 프로퍼티는 String, Int, Double 등 swift 기본 타입으로 지정해주어야 관리하기 용이하다는 점을 배웠습니다.

📱BoxOffice [2인]

영화 진흥위원회 API와 OMDB API 를 이용하여 일간, 주간/주중 박스오피스 목록을 볼 수 있고, 해당 영화에 리뷰를 달아 평점을 줄 수 있는 앱 제작
프로젝트 보기

실행화면 펼쳐보기

홈화면

일별 박스오피스 화면 주간/주말 박스오피스 화면 날짜 선택

상세화면 + 리뷰화면

상세화면 + 출연진 더보기 리뷰 쓰기 리뷰보기 및 삭제

맡은 역할

  • 네트워킹 코드 구축, 홈화면 구현

고민한 점

  • 일별 박스오피스 , 주간/주중 박스오피스 두가지 경우를 나타내기 위한 홈화면 UI구성에 대해 고민했습니다.
Compositional Layout을 이용해 유동적인 UI를 구성 해주었습니다.
  • 네트워킹 코드의 가독성
영화진흥위원회API에서 해당영화 id로 세부API를 통해 영화의 영어이름을 받아와, 이를 OMDB API에서
검색하여 Poster 정보를 얻어와야 하는 3중 요청구조를 구현해야 했습니다. 기존에 사용하던 `@escaping 
클로저를 이용하니 가독성에 문제가 생겨 이를 해결하기 위해 `async-await` 을 사용했습니다

배운 점

  • 팀원에게 효율적인 협업방식을 배웠습니다. 깃허브 이슈를 만들어 브랜치를 기능별로 나누어 develope 브랜치로 PR을 보내면 서로의 코드를 리뷰하는 방식이었습니다. 커밋에 관련 이슈를 태그함으로써 해당 이슈 작업이 얼마나 진행되었는지 확인하기에 용이했고, 코드리뷰를 통해 의견조율을 했습니다.

📱Personal Scheduler [개인]

소셜로그인 기능을 통해 메모앱 제작
프로젝트 보기


📄 동료에게 받은 평가

</details>

ios-timeline's People

Contributors

wongbingg avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.