일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- ubuntu python
- Apollo Server
- 파이썬 크롤링
- Android test
- PYTHON
- LinkedList
- 안드로이드 테스트
- MVVM pattern
- 안드로이드
- Data structure
- 안드로이드 mvp
- Nexus GraphQL
- 유니티
- Dependency Injection
- 안드로이드 디자인패턴
- Android
- flutter
- Apollo GraphQL
- java
- 웹크롤링
- graphQL
- dagger-hilt
- unit test
- 자바
- mvvm
- Design Pattern
- Kotlin
- 우분투 파이썬
- prisma
- 자바기초
- Today
- Total
목록전체 글 (66)
Hun's Blog
RecyclerView + ItemTouchHelper -> Drag and Drop과 swipe 구현 activity_main 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 tools:listitem -> 리사이클러뷰에 추가 될 레이아웃을 지정한다. tab_item.xml -> 추가될 아이템 레이아웃 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 TabItem 모델 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 public class TabItem { private St..
간단하게 예제화면을 만들어서 로그인 / 로그아웃 / 프로필 사진 / 유저 네임을 가져와보자. 필요한 것 1. 사진을 띄울 창 2. 이름을 띄울 text 3. 현재 상태 log를 띄울 text 4. 로그인을 구현할 script와 오브젝트 캡쳐 화면으로 순서대로 정리해 보았다. 이미지 1 UI Setting 1 // Hierarchy 창에서 오른쪽 마우스 클릭 -> UI -> Canvas // Canvas 오른쪽 마우스 클릭 -> UI -> Image // Canvas 오른쪽 마우스 클릭 -> UI -> RawImage // Canvas 오른쪽 마우스 클릭 -> UI -> Text // Canvas 오른쪽 마우스 클릭 -> UI -> Text 생성 이미지2 UI Setting 2 // image -> bac..
이미지 1 Google Play Console 출처 https://9to5google.com/wp-content/uploads/sites/4/2017/04/google-play-console.png?w=1000 1. 개발자 계정 만들기 https://support.google.com/googleplay/android-developer/answer/6112435?hl=ko 개발자 계정을 생성한다. 유료이고 한번만 결제하면 된다. 2. 유니티 프로젝트 생성 유니티 최신 버전으로 진행하였다. 설치 후 프로젝트를 생성한다. 지금 부터는 순서대로 이미지와 함께 기록해보겠다. 이미지 2 adroid switch platform 유니티 프로젝트에서 File -> Build Settings -> Build Settin..
MVVM패턴이란? 참고 https://medium.com/@jsuch2362/android-%EC%97%90%EC%84%9C-mvvm-%EC%9C%BC%EB%A1%9C-%EA%B8%B4-%EC%97%AC%EC%A0%95%EC%9D%84-82494151f312 mvp패턴에서 presenter의 문제점이 있다. 컨트롤러와 마찬가지로 시간이 지남에 따라 추가되는 비즈니스 로직이 모이게 된다. 시간이 흐르면 거대하고 다루기 어렵고 문제가 발생하기 쉽고 분리하기 어려운 presenter를 발견하게 된다. *신중한 개발자라면 앱의 변화에 맞춰 해결해 나갈 수 있다. - Model, View, ViewModel의 약자 - 뷰와 모델을 연결하기 위해 사용해야하는 연결 코드 감소 - MVP에서 파생된 패턴 - Micro..
Google todo-mvp 예제 참고 https://github.com/android/architecture-samples/tree/todo-mvp todo-mvp 전체를 분석하기에는 양이 너무 많기 때문에 참고하여 간단하게 MainActivity와 프래그먼트를 구현한 예제를 통해서 mvp를 알아보도록 하자. 기능은 제외하고 todo-mvp에서 구현한 mvp의 껍데기만 남겨놓았다. (실제 todo-mvp와는 조금 다르다) 메인 액티비티에서 영상, 기록, test 3가지의 프래그먼트를 보여주고 있다. Navigation Drawer를 사용하여 왼쪽에 네비게이션 뷰를 구현하였고 그안에있는 내정보, About, Notice를 클릭했을때 각각 구분하여 토스트 메시지를 띄워주는 상태이다. 현재 상태에서 mvp를..
MVP패턴이란? 안드로이드에서 MVC 패턴에 대해 떠올려 보면 Model은 분리되어 있고 View와 Control이 함께 있는 구조라는 것이다. 그 예를 Activity로 들 수 있고 실제로 Activity 내부에서 View와 Control에 관련된 내용들을 모두 구현할 수 있고 그렇게 해왔다. 그러면서 Activity라는 하나의 클래스에 굉장히 많은 로직이 포함되고 코드줄이 길어진다는 문제점이 발생한다는 것도 기억해보자. - Model, View, Presenter의 약자 - 안드로이드에서 MVC 패턴 중 View와 Control이 함께 공존하는 문제점 해결 - 안드로이드에서 가장 많이 사용하는 패턴 *Model : Data와 관련된 처리 / MVC의 Model과 동일하다. *View : 이벤트가 발생..
MVC패턴이란? - Model, View, Controller의 약자 - 비즈니스 처리 로직과 UI 요소를 분리시켜 서로 영향없이 개발 - 웹에서 주로 사용되는 디자인패턴 (안드로이드에서는 조금 다른 형태로 표현됨) *Model : 데이터를 가진다. *View : 사용자에게 보여 질 화면을 표현한다. *Control : 사용자로부터 입력을 받고, 이를 모델에 의해 View를 정의한다. MVC 구조에서 입력은 모두 Control 에서 발생하게 된다. 이벤트가 발생한 Control에 의해 모듈의 정의와 View의 용도가 결정된다. 이미지1 웹 MVC 동작 순서 1. Control : 사용자 이벤트 발생 2. Control : 사용자 이벤트 발생 후 Update가 필요한지 Model에 확인 3. Model :..
디자인 패턴 mvc - mvp - mvvm을 사용해보기위해 공부해보니 안드로이드 개발 시 사용하는 디자인패턴이라는 것을 알게되었다. 그렇다면 먼저 디자인 패턴에 대해 공부를 해봐야 할 것 같아서 찾아보기 시작했는데 공부해야 할 것이 너무 많다... 앞으로 꾸준히 해야 한다고 생각하고 여기서는 간단하게 개념만 정리한 후 예제를 만들고 실제 프로젝트에 적용해보면서 공부해 나가도록 하겠다. 디자인패턴이란 무엇인가? - 여기서 다루는 디자인패턴이란 '소프트웨어 공학'의 개념이다. - 프로그래밍할 때 다양한 문제 상황에 대한 재사용 가능한 해결책이다. *일반적인 문제를 해결하기 위해 최선의 방법을 공식화 혹은 정의 하는 것 - 패러다임과 알고리즘과는 다르다. * 객체지향 패러다임이든 함수형 프로그래밍 패러다임이든..
Mockito 이미지1 Mockito Logo Mockito를 설명하기 위해선 Unit test의 단점에 대해 생각해봐야한다. Unit test의 단점 * 많은 java 클래스가 다른 클래스에 의존하기 때문에 Unit test는 클래스별로 테스트해야한다. ex) LocalDatabaseManager - 로컬 데이터베이스에서 특정 정보를 꺼내오거나 입력하는 일을 담당하는 클래스이다. 해당 클래스를 Unit 단위로 테스트하려한다. 하지만 해당 클래스는 데이터베이스의 테이블을 생성하고 관리하는 클래스에게 상당히 의존적이다. 특정 정보를 꺼내오거나 입력하는 메소드들을 테스트하기 위해 Test 클래스를 생성할 때 메소드 뿐만아니라 테스트 테이블까지도 구현해야만 테스트가 가능하다. Mock으로 해결 mock 객체는..
Espresso 안드로이드 스튜디오에 포함되어있다. Espresso SDK를 활용하여 UI 테스트를 간단하게 도와주는 기능을 제공한다. 사용법 1. app - build.gradle - dependencies 1 2 3 4 5 // Espresso androidTestImplementation 'com.android.support.test:runner:1.0.2' androidTestImplementation 'androidx.test.espresso:espresso-core:3.2.0' androidTestImplementation 'com.android.support.test:rules:1.0.2' androidTestImplementation 'com.android.support:support-an..