전체 글

스파게티 코드라도 작성하고보자❗️
개인 프로젝트/일정관리어플(안스)

관련 자료

일반적인 Android 앱은 Activity/Fragment, Service, Content Provider, Broadcast Receiver 등의 여러 App Component(앱 구성요소) 들로 구성되어 있다. (안드로이드 4대 컴포넌트) 개발자는 이러한 앱 구성요소 대부분을 manifest 파일에서 선언 -> Android OS가 이 manifest 파일을 사용하여 기기를 사용하는 사용자의 전반적인 작업 환경을 망가뜨리지 않으면서 앱을 이 환경에 자연스럽게 통합하는 방법을 결정한다. 사용자의 전반적인 작업 환경(모바일 앱 사용자 환경)이란 예를 들어 Android 앱을 사용하는 유저는 짧은 시간 내에 여러 앱을 실행할 때가 많다. 따라서 앱이 사용자 중심의 다양한 workflow에 맞게 조정될 수..

모바일

Navigation Drawer, AppBar, CoordinatorLayout

Navigation Drawer (참고 글 : https://recipes4dev.tistory.com/140) navigation 기능을 drawer처럼 필요할 때마다 열고 닫으며 사용하는 것임. (navigation 뷰를 drawerLayout 에 넣어 사용하는 것이지 저 자체로 하나의 뷰 위젯 클래스가 아니다) 또 이 drawerLayout는 (대체로) FrameLayout으로 구성한다. 왜냐면 각 네비게이션 항목마다 레이아웃을 각각 구성하면 리소스 낭비가 크다고 했었나... 여하튼 그렇게 하나하나 만들어 매번 전체 화면을 이동하는 것보다 FrameLayout으로 (공통적인 부분을 제외한) 바꿔 표시될 뷰만 수정하는 것이 훨씬 빠르기 때문이다. AppBar vs ToolBar vs ActionBar..

모바일/RIBs

[RIBs-Tutorial-2]

목표 부모 RIB와 통신하는 자식 RIB 생성 부모의 인터랙터가 원하면 자식 RIB를 탈부착하기 view-less RIB 만들기 부모 RIB가 처음 로드될 때 자식 RIB를 첨부하기 RIB 유닛 테스팅 산출물 어떤 형태 이런 형태 프로젝트 구조 플로우 플레이어가 로그인 -> 스타트 게임 버튼을 누른다. 이때 LoggedOut 이 Root RIB에게 사용자의 로그인 액션을 알려줄 것이다. 그 뒤 root router가 LoggedOut에서 LoggedIn RIB로 제어권을 넘겨 줌. loggedIn 은 뷰리스 RIB라서 딱히 보여주는건 없고 그냥 LoggedOut에서 OffGame의 뷰를 보여주기만 한다. root router는 LoggedOut의 인터랙터의 리스너로 여겨지고 이것을 통해 LoggedOut..

모바일/RIBs

[RIBs-Tutorial-1]

참고 링크 : github.com/uber/RIBs/wiki/iOS-Tutorial-1 목표 RIB의 다양한 조각(piece) 이해하기 서로 어떻게 상호작용하고 통신하는지 이해하기 산출물 두개의 플레이어의 이름을 입력하고 로그인 버튼을 누르면 Xcode 콘솔에 해당 플레이어들의 이름이 출력됨 player1 vs player2 프로젝트 구조 (파파고 번역...) 우리가 제공하는 보일러 플레이트 코드는 두 개의 RIB로 구성된 iOS 프로젝트를 포함하고 있다. 앱이 시작되면 AppDelegate는 루트 RIB를 구축하고 애플리케이션에 대한 제어를 전송한다. 루트 RIB의 목적은 RIBs 트리의 루트 역할을 하고 필요할 때 해당 하위 트리에 제어를 전달하는 것이다. 루트 RIB의 코드는 대부분 Xcode 템플..

모바일/RIBs

[RIBs-Tutorial-0] iOS RIBs 설치, Xcode에 파일 만들기 [왕초보용]

참고 링크 : github.com/uber/RIBs#installation-for-ios 해당 게시물은 github.com/uber/RIBs/wiki/iOS-Tutorial-1 을 공부하기 위해 개인적으로 적어 놓은 것입니다. 저도 왕왕왕초보라 틀린 부분이 있을 수 있습니다ㅠㅠ! 참고만 해주세요. iOS에 RIBs를 설치하고 Xcode에 파일을 만들어 보자! 나는 CocoaPod을 사용했기 때문에 그 과정을 적겠다. 1. CocoaPods 설치 $ sudo gem install cocoapods 1-1. CocoaPods의 라이브러리를 저장할 파일로 이동 $ cd /(원하는 파일 경로) 혹은 그냥 cd 뒤로 빨간 박스친 파일 명을 Shift 누른 채 드래그하면 쉽다. 1-2. CocoaPod init $..

Backend/Database

postgreSQL 다운로드, postgreSQL 설치

PostgreSQL 설치 1. 먼저 postgreSQL 홈페이지에 접속한다. 홈페이지↓ PostgreSQL The world's most advanced open source database. www.postgresql.org 상단 메뉴바 혹은 페이지 중앙의 download 버튼을 눌러 postgreSQL에서 무료로 제공하는 프로그램을 다운받는다. (혹은 간편하게 바로 다운로드 페이지로 이동할 수도 있다↓) PostgreSQL: Downloads Downloads PostgreSQL Downloads PostgreSQL is available for download as ready-to-use packages or installers for various platforms, as well as a sou..

개인 프로젝트/일정관리어플(안스)

모앱 다시 만들기 0단계

모앱프로젝트 다시 만들어보기 본격적으로 프로젝트에 들어가기 전, 새로운 프로젝트를 생성하여 이전에 썼던 자바 코드를 몇개 옮겼다. 그리고 코드에서 불필요한 부분, 혹은 걍 내가 다시 작성하는게 낫겠다 싶은 스파게티 부분은 과감히 삭제했다.. 여하튼 플젝 준비 과정은 다음과 같았다. 1. 기능 추리기 기존의 프로젝트는 기능이 참 많았다. 하루 일정 관리 / 평가 장기 목표 달성 통계 방해 요소 통계 캘린더 알림기능 로그인 4인이 하는 프로젝트라 넣고 싶은 기능은 이것 저것 다 넣었었다. 그런데 이젠 나 혼자서 다 만들어야 하니까 불필요한 기능은 삭제하고 몇가지 기능만 제대로 구현하기로 하였다. 그 결심의 결과가 다음이다. 하루 일정 관리 / 평가 장기 목표 달성 통계 방해 요소 통계 캘린더 알림기능 로그인..