포스팅 썸네일 이미지

Programming/Android

안드로이드(모바일) 환경에서의 강제 업데이트

네이티브로 개발된 앱은, 업데이트를 진행하고 나서 다시 되돌리거나 수정사항을 반영하기가 쉽지 않습니다. 다시 검수를 받고 업데이트를 진행해야하기 때문이죠. 그래서 문제가 있는 경우에는 강제적인 업데이트를 필요로 하는 상황이 존재하곤 합니다. 이 외에도 강제 업데이트를 해야하는 경우는 여러 가지가 있을 수 있습니다. 예를 들면 백엔드 서버의 API 변경으로 인한 문제, 이미 해결되어 업데이트가 된 이슈에 대해 사용자 기기에서 업데이트가 되지 않은 고객의 문의로 인한 CS 비용 증가, 이전 버전과의 호환성 문제 등이 있습니다. 특정 버전의 사용을 금지하도록 강제 하거나 업데이트를 유도할 수 있다면 이러한 고민점이 해결될 수 있습니다. 아래의 예시를 보면, 초기 버전 1.0의 경우 APIv1 을 사용하다가 신..

2021.08.28 게시됨

 포스팅 썸네일 이미지

Programming/Android

[Android] 반사효과 이미지 뷰

안드로이드의 ImageView 를 사용함에 있어서, 바닥의 물에 비친 반사효과가 필요할 때가 있었는데 구현 과정을 코드로 정리 해보았습니다. 구현 화면 구현하려는 효과는 위의 이미지와 같이, 이미지가 물에 비친듯한 효과로 반사되어 보여주도록 구현 할 예정입니다. 일단 해당 효과를 구현할 ImageView 클래스를 만들어 주어야합니다. AppCompatImageView 를 상속한 ReflectionImageView 클래스를 생성 해줍니다. 이미지 뷰 이므로 전달받은 이미지 리소스를 적용 할 수있도록, setImageDrawable() 과 setImageResource() 를 오버라이드 해줍니다. 효과를 적용하는 메소드를 생성하고, 기본적인 예외 처리등의 코드를 작성 해주도록 합니다. 초기 코드 class ..

2021.07.18 게시됨

 포스팅 썸네일 이미지

Programming/Android

안드로이드 Kotlin Android Extension Deprecated 소식

코틀린으로 안드로이드 개발을 해보신 분들은 아마 많이 쓰셨을 Kotlin Android Extensions 가 Deprecated 되었습니다. 아래 링크를 통해 Kotlin 버전 1.4.20-M2 라는 Pre-release 버전에서 Deprecated 되었다는 것을 확인 하실 수 있습니다. github.com/JetBrains/kotlin/releases/tag/v1.4.20-M2 Release Kotlin 1.4.20-M2 · JetBrains/kotlin Info about particular features KT-25960 Kapt: Support new @JvmDefault functionality KT-40030 Parcelize: Support the new Parcelize plugin in..

2020.10.21 게시됨

 포스팅 썸네일 이미지

Programming/Android

Dagger Hilt 2.28-alpha 버전 사용시 주의 사항 [Bug]

Dagger Hilt 2.28-alpha 버전으로 개발을 마친 신규 앱을 출시를 하는 상황에서 앱에서 사용중이지 않는 권한에 대한 경고를 확인 하였다. android.permission.READ_PHONE_STATE 와 android.permission.READ_EXTERNAL_STORAGE 에 대한 권한이 사용되고 있다고 표기 되었는데, 사용중인 라이브러리에서 또한 짐작가는 곳이 없었다. 안드로이드는 사용중인 라이브러리를 포함한 모든 권한들은 Manifest 에 명시하게 되어있고 모든 Manifest 의 정보들은 빌드시에 하나의 파일로 병합 되기에 어디서 권한을 사용하고 있는지 확인이 가능하다. 매 빌드시마다 생성되는 app/build 폴더에서 outputs/logs 에 들어가면 manifest-mer..

2020.10.16 게시됨

 포스팅 썸네일 이미지

Programming/Python

파이썬 기초문법(2)

함수와 모듈 #함수 def print_ntimes(n): print("Somthing") def cal_upper(price): increment = price * 0.3 upper_price = price + increment return upper_price def cal_upper_lower(price): offset = price * 0.3 upper = price + offset lower = price - offset return (upper, lower) #결과를 tuple 로 반환 모듈을 사용하려면 import 로 추가 하여 사용하면 된다 시간다루기 # 현재 시각을 반환하는 함수, 1970년 1월 1일 0시 0분 0초 기준, 초 단위로 지난 시간 알림 >>> import time >>> t..

2020.08.19 게시됨

 포스팅 썸네일 이미지

Programming/Python

파이썬 기초 문법(1)

최근 파이썬을 공부하면서, 간략하게 사용법만 요약 해서 정리 하였습니다. 공부 사이트 및 출처 : https://wikidocs.net/book/110 위키독스 온라인 책을 제작 공유하는 플랫폼 서비스 wikidocs.net 문자열 인덱싱 및 슬라이싱 mystring = 'hello world' len(mystring) >> 11 mystring[0:5] >> 'hello' mystring[6:] >> 'world' mystring[:5] >> 'hello' mystring[:] >> 'hello world' mystring[6:-1] >> 'worl' 문자열 자르기 my_jusick = "naver daum" my_jusik >> 'naver daum' my_jusic.split(' ') >> ['na..

2020.08.16 게시됨

 포스팅 썸네일 이미지

Programming/Tips

Git Commit Message Convention ( 깃 커밋 메세지 컨벤션)

Git으로 작업을 하다 보면, 커밋 메시지 컨벤션을 정할 때 종종 고민이 되곤 합니다. 커밋 메세지 컨벤션을 정의한 스타일 가이드가 많이 있지만 많이 사용되는 스타일을 정리해 보았습니다. Udacity Git Commit Message Style Guide 유다시티의 커밋 메시지 스타일 가이드입니다. - 메시지의 구조 type: subject body footer 작성 방법 - 제목에 포함되는 유형(Type) : feat: 새로운 feature fix: 버그 등 수정 docs: 문서 내용 변경 style: 포맷, 세미콜론 수정 등 코드가 아닌 스타일에 관련된 수정 refactor: 리팩토링 코드 test: 테스트 코드 추가 및 리팩토링 테스트 등 chore: build task 수정, 프로젝트 매니저 설..

2020.08.05 게시됨

 포스팅 썸네일 이미지

Programming/Android

안드로이드 스튜디오 Build Error 발생시 해결 법

안드로이드 개발을 하면서 안드로이드 스튜디오 IDE 에서 갑작스레 프로젝트 내의 클래스들이 'Unresolved Reference'로 Warning 이 뜨는 경우나, 코드 파일을 열었을 때 XML 또는 Gradle의 내용이 보이는 경우가 있습니다. 이 외에도 안드로이드 스튜디오를 사용하면서 프로젝트가 아닌 IDE 의 문제라고 의심되는 경우가 종종 있는데, 이럴 때 해결할 수 있는 방법들에 대해 적어 보겠습니다. Android Studio Build Error 해결 방법 1번 부터 간단하게 해결할 수 있는 방법 들로, 대부분의 경우 1, 2번의 과정으로 해결이 됩니다. 프로젝트가 Build 될 때의 속성이나 설정 값들에서 데이터 충돌이 일어나는 경우에 3, 4 과정을 통해 해결이 되었습니다. 1. Clea..

2020.01.04 게시됨

 포스팅 썸네일 이미지

Programming/Android

안드로이드 앱 아키텍처 가이드

Google Developer 사이트의 앱 아키텍처 가이드의 내용을 정리 한 것입니다. 일반적인 데스크톱의 어플리케이션은 보통 단일 진입점으로 하나의 모놀리식 프로세스로 실행이 됩니다. 하지만 Android 의 경우에는 훨씬 복잡하며, Activity, Fragment, Service, Content Provider, Broadcast Receiver 등과 같은 앱 구성요소를 포함합니다. 모바일 환경에서는 앱을 사용하는 도중 언제든지 전화나 알림에 의하여 사용 환경이 중단 될 수있으며, 중단에 대응 하고 난 뒤 본래 프로세스로 돌아가서 작업을 계속 진행 할 수 있어야 합니다. 휴대기기는 리소스가 제한되어 있기에, 운영체제에서 새로운 앱을 위한 공간을 확보하도록 일부 앱프로세스를 언제든지 종료 할 수 있어..

2019.10.07 게시됨

 포스팅 썸네일 이미지

Programming/Tips

Udemy Course 다운로드 하기

youtube-dl을 사용한 Udemy 강좌 다운로드하는 방법 Udemy를 통해 강의를 몇 번 본 적이 있는데, 볼 때마다 느린 속도로 인해 수강에 불편함이 있었고 이를 개선하려면 VPN을 통해 접속하여 속도 개선을 시키는 방법이 있었다. 하지만 볼 때마다 VPN 을 켜서 접속하기도 솔직히 번거롭고 귀찮아서, 전 강의를 다운로드하여서 오프라인에서도 볼 수 있도록 다운로드를 하기로 생각하였고 처음에는 udemy-dl 을 이용하여 시도했으나 생각보다 과정에서 문제가 발생하여 찾던 도중 youtube-dl 을 이용하기로 하였다. Step 1. youtube-dl 설치 https://github.com/ytdl-org/youtube-dl 을 Installation을 참고하여 설치 작성자는 Windows10 환경..

2019.10.04 게시됨