일일 회고 팀과제도 어느덧 막바지에 들어간다. 계속 혼자 공부하다가 같이 공부하니 어색한 기분도 있고, 함께해서 더 재미있는 기분도 있고... 해서 다채로운 느낌인 것 같다. 이제 수료할 때까지 근 몇 달은 같이 공부하고 프로젝트를 하는 방식이니까 잘 적응해 봐야겠다. 오늘의 키워드 클래스 재설계 Github pull request 정보 클래스 재설계 기존에 설계했던 클래스는 Item 내부에서 각 음식에 대한 리스트를 관리하려고 했었다. 이렇게 되면 상속받은 음식에서 각자의 리스트를 갖고 주문을 하는 UI(order)에서 각 리스트를 합친 통합 클래스를 만들어 관리해야 하는데 이 구조가 비효율적이라 생각이 들어 UI(order)에서 List 형식으로 하여 한 번에 모든 음식을 관리할 수 있는 리스트를 만..
일일 회고 오전에는 병원에 갔다오느라 참여를 못하였다. 개인적인 사정을 포함해서 어떻게 해야 시간을 효율적으로 써야 할 지 고민해봐야겠다. 오늘의 키워드 Git & Github Git & Github 전략 무분별하게 commit, push, pull을 하다보면 언젠가 반드시 문제가 생기게 된다. 이러한 문제를 막기위해 git, github에도 전략을 실행 할 수 있다. git flow, github flow 등 여러 전략이 있는데, 오늘은 매니저님이 알려주신 전략을 정리한 것이다. main - dev에서 모든 코드 완성 후 완성본을 올리는 브랜치 dev - feature브랜치에서 각자 작업한 기능들을 올리는 브랜치 feature/XXX - XXX기능을 작성하는 브랜치 ex) 과정 도식화
일일 회고 협업하는 과정은 역시 쉽지가 않다. 그건 그렇고 너무 덥다... 몇 번을 졸은 지 모르겠다. 오늘의 키워드 클래스 설계 팀 과제 클래스 설계 키오스크 프로그래밍 팀과제 클래스 설계를 하고 작업에 들어갔다. Item이라는 인터페이스 공통 프로퍼티, 메소드를 두고 각 메뉴에 상속을 시켜 사용할 수 있도록 하였다. 그리고 UserInterface에서는 Item이라는 interface만 참조하여 어떠한 메뉴인지 알 필요 없도록 추상화하였다. 커밋 컨벤션 도입 문장의 끝에 . 를 붙이지 않기 작성 형식 - 타입: 내용 → 타입: **(한 칸 띄고)**내용 서술형은 지양 feat: 새로운 기능의 추가 fix: 버그 수정 docs: 문서 수정 style: 스타일 관련 기능 (코드 포맷팅, 세미콜론 누락, ..
일일회고 첫 팀과제 시작이다. 팀 규칙부터 일정, 어떻게 개발할지, 설계는 어떻게 할지, 역할 분담을 어떻게 할지 등을 정하였다. 개인프로젝트와는 느낌이 많이 다른것 같다. 차근차근히 해나아가면 반드시 잘할 수 있을 거라 생각한다! 오늘의 키워드 소프트웨어 설계 소프트웨어 설계 1. 요구사항 정의 사용자의 관점에서 시스템의 요구사항을 정의 기능과 제약조건등을 소프트웨어 사용자와 함께 정의 제한 시간내에 구현이 가능한지 판단 2. 소프트웨어 설계 1단계에서 산출된 요구사항들을 설계 시스템을 구성하는 클래스, 모듈등 컴포넌트 간의 관계와 구조 설계 클래스, 모듈 내의 로직 설계 3. 구현 설계 완료 후 프로그래밍 언어를 사용하여 실제 프로그램을 작성 4. 테스트 구현한 프로그램이 요구사항을 만족하는지, 실행..
Do : 본격적인 캠프 시작으로 처음은 안드로이드 프로그래밍에 있어 필요한 코틀린 기본 문법에 대해 학습을 하였다. 변수, 반복문부터 아주 기본적인 것부터 시작하여 코틀린의 유용한 기능인 확장함수, Scope function 등 다양한 내용을 학습하였다. 조금 더 심화로 객체지향 프로그래밍 방법론(상속, 오버라이드, 5대 원칙 등)을 배우며 프로그램을 객체지향적으로 설계하는 방법을 학습하였다. 추가적으로 코틀린의 비동기 프로그래밍인 Coroutine에 대해서도 학습을 진행하였다. 이번주의 키워드 Git & Github Kotlin 기본 객체지향 프로그래밍 기본 Git Trouble Shooting Kotlin Collection Kotlin Scope function Kotlin의 다양한 기능 async..
일일회고 과제를 마무리하는 날이자 일주일을 마무리하는 날이다. 첫 주차 과제는 객체지향의 원리가 들어간 계산기를 만들어 보는 과제였다. 요구사항이 주어지고 그에 맞게 프로그래밍을 하면 됐었다. 아직은 큰 무리 없이 할 수 있었다. 추가적으로 선택 심화 과제를 내어주셨는데 (호텔 예약 프로그램), 이건 아직 진행 중이다. 주 5일 12시간을 해보면서 느낀 점은 쉽지 않다는 것이었다. 긴 시간 몰입하는 것도 쉽지 않고, 오래 앉아있는 것도 쉽지가 않다 (더워서 더 그런 것 같다.) 하지만 마음먹고 하기로 했으니 체력관리를 잘하면서 나아가면 될 것 같다! 오늘의 키워드 객체지향 5대 원칙 (SOLID원칙) SOLID 원칙 SRP (Single Responsibilty Principle, 단일 책임 원칙) - ..
일일 회고 코틀린 비동기 프로그래밍의 꽃 Coroutine을 공부하는 날이다. 비동기 프로그래밍에 RxJava, RxKotlin, RxAndroid 등 Reactive 라이브러리가 있지만 (사실 공부해 본 적은 없다..ㅎ) Kotlin이 공식적으로 사용하고 구글이 권장하는 Coroutine이다. Coroutine을 공부하기 전 "비동기"에 대해 이해해야 하는데 간단하게 생각할 수 있지만 깊게 들어가면 OS 지식이 꽤 필요한 부분이다.. OS를 다시 한번 복습해보는 시간을 한번 가져야 될 것 같고, 이어서 Coroutine도 계속 학습해야 할 것 같다. (Coroutine 이론도 양이 상당? 한 것 같다.) + 선택심화과제를 진행 중이다. 확실히 기본과제보다는 어렵다. 오늘의 Keyword asyncrho..
일일 회고 프로그래밍에 도움을 주는 kotlin의 유용한 기능에 대해 공부하였다. Scope function, Stream 열지 않고 사용 할 수 있는 다양한 변환 함수들, 확장 함수 등.. 이런 편리한 기능들 덕분에 Java보다 Kotlin이 편하고 생산성이 향상된다고 하는 것 같다. (나도 이런 것들이 Kotlin의 매력이라 생각한다. 최애는 null safety인건 비밀) 물론 오늘 공부한 것 이외에도 굉장히 다양한 기능들이 있지만 한 번에 공부한다는 것은 불가능하기에.... 많이 접해보면서 익혀보면 될 것 같다! 오늘의 주요 Keyword Kotlin Scope function Kotlin의 다양한 기능 Kotlin의 유용한 기능 형변환 Kotlin은 자료형마다 형변환 메소드를 제공한다. 일반자료..
일일 회고 어제 Kotlin 기본 강의를 들은 이후 심화 강의를 들었다. 객체지향 프로그래밍 및 동시성 프로그래밍 (Thread & Coroutine) 과정이었는데, 이것도 이전에 공부는 해봤지만 꽤 어려운 개념들이다. 아직도 잘 모르는 부분이 많아서 다시 자세하게 복습한다는 마인드로 공부를 하였다. 강의를 진행하신 튜터님이 Thread, Coroutine 같은 경우는 안드로이드 프로그래밍을 할 때도 중요하게 작용한다고 하였으니 강의 외적으로 추가적인 자료를 찾아 공부를 해봐야겠다. 오늘의 주요 키워드 객체지향 프로그래밍 Kotlin Collection 객체지향 프로그래밍 with Kotlin (이어서) 오버라이딩, 오버로딩 (차이 주의!) 오버라이딩 상속받은 부모클래스의 프로퍼티나 메소드를 재설계(재작..
일일 회고 Kotlin 기본 강의를 통해 Kotlin을 복습하는 느낌으로 공부하였다. 일단 공부를 했었었던 내용이라 강의와 과제에 어려움은 없었다. 다만. 개인 과제를 하면서 git, github를 사용 중 처음 보는 에러를 만났는데 이것을 해결하느라 약간 시간이 걸렸다. 에러를 고쳐가는 과정에서 새로운 내용을 배울 수 있었고, 에러를 고치는 과정을 글로 남겨보았다. 이렇게 문제나 새로이 알게되는 것이 있다면 따로 기록해 두어 나중에 같은 상황이 발생했을 때도 빠르게 대처할 수 있을 것 같다 (중요한 건 같은 문제를 만들지 않는 것..!) 오늘의 주요 Keyword Kotlin 기본 객체지향 프로그래밍 기본 Git & Github Trouble Shooting Kotlin 개요 - Kotlin은 2017..