개발
-
환경설정
[터미널] Oh My ZSH로 터미널 아름답게 꾸며보기
2020.02.01 안녕하세요. 이번 글에서는 터미널에서 Z Shell을 이용하여 아주 강력하고 아름다운 터미널 개발환경을 꾸며보기 위한 플러그인을 소개하기 위한 글입니다. 바로 알아 보겠습니다. 🔶 autojump autojump는 여러변의 cd명령을 통해서 디렉터리를 바꾸는 것을 간단히 j 명령을 통해서 한번에 이동할수 있는 플러그인 입니다. 단, 한번이상 디렉토리를 방문한경우에만 autojump가 가능합니다. # autojump 설치 > brew install autojump > git clone git://github.com/wting/autojump.git # Run the installation script and follow on screen instructions. > cd autojump..
-
Server
[Docker] Server에 발 담궈보기 #1 - Docker, Compose, Nginx, Node, Mysql
2020.01.18 안녕하세요 효진입니다. 이번에는 좀 다른 주제로 포스팅을 이어 가볼려고 합니다. 바로 서버에 대해서 아주 살짝 발을 담궈 볼텐데요. 이번 포스팅은 크리스님의 서버강의를 들으면서 복습과 정리를 위한 글 입니다. 지난 서버강의를 들어면서 아주 좋았어서 이번에도 좋은 기회가생겨 듣게 되었습니다. 아하(Aha) | 전문 지식 검색은 아하! 광고 없는 전문 지식 답변을 원하세요? 세상의 모든 전문 지식이 모여있는 곳. 변호사, 노무사, 세무사, 회계사 등 사전에 검증된 전문직 및 현업 실무자로 부터 받을 수 있는 신뢰할 수 있는 전문 답변. 이제부터 궁금한건 아하에서 물어보세요! www.a-ha.io 이번주가 첫 강의 시작 날이자 1주차 강의 입니다. 첫 시작이니 만큼 아주 상세히 설명해주시면..
-
Android
[Android] Only fullscreen opaque activities can request orientation
2019.01.03 안녕하세요 이번에는 "Only fullscreen opaque activities can request orientation"오류를 대처하는 방법에 대해서 알아보겠습니다. 해당 오류는 TargetSdk 27이상으로하는 앱의 Android OS 8.0에서 투명Activity에 가로/세로 화면고정을 했을때 나타나는 현상입니다. or @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_test); setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);..
-
Rx
[RxJava2] just,fromArray subscribeOn(Scheduler)에 대해서
안녕하세요 이번에는 Rx를 사용하면서 Just operation의 scheduler에 대해서 알아 보겠습니다. 우선 Just는 위의 마블다이어그램처럼 데이터를 바로 방출할때 사용합니다. Create처럼 onNext()를 호출 할 필요없이 Just()로 데이터만 넘겨주면 됩니다. 여기서 주의해야 할 부분이 있습니다. Just operation은 subscribeOn을 통해 Scheduler를 지정이 안된다는 점입니다. 즉 Just operation은 Android main thread에서 동작한다고 볼 수 있습니다. 한가지 샘플 코드를 보겠습니다. { LogE("start : ${System.currentTimeMillis()}") Observable.just(sleepFunc()) .subscribeOn..
-
Android
[Android] View에 대해서 알아보자 - ViewLifeCycle
2019.11.15 개발하면서 경험했던 것을 정리한 포스트입니다. 오류 지적이나 제안 언제든지 환영합니다. View View는 드로잉 및 이벤트처리를 담당하는 사용자 UI 구성요소의 기본 클래스이며, View를 상속받아 구현된 TextView, Button과 같은 특정 기능을 하는 View를 위젯(Widget) 또는 컴포넌트(Component)라고도 합니다. 새로운 View를 만들기 위해서는 View를 상속받아 구현해야합니다. 하지만 이런 View를 배치하기위해서는 ViewGroup 혹은 Container가 필요합니다. ViewGroup또한 View를 상속받아 구현되어있으므로 ViewGroup안에 ViewGroup이 들어갈수도 있습니다. ViewGroup 위에서 잠깐 설명했지만 ViewGroup은 다른 ..
-
Android
[Android] Mac에서 Android SDK Path 설정 및 무선 ADB 연결
2019.11.17 Mac에서 터미널을 통해 adb 명령어를 실행하고 싶을 때가 종종 있습니다. Windows에서는 Android SDK가 설치된 경로를 환경변수로 등록해놓으면 되는데, Mac에서도 방법은 비슷합니다. 다만, Mac에서 Android SDK가 설치되어 있는 폴더 위치를 몰라서 Path 등록을 못하는 경우가 종종 있습니다. 그럼 이제 Mac에서 Sdk Path를 등록하여 터미널에서 adb를 명령어를 사용 할수 있도록 하고 Android Studio에서 무선으로 디버깅을 할 수있도록 adb를 이용해 설정해보겠습니다. ● Mac에서 Android SDK가 설치되는 폴더 사용자가 임의로 폴더 위치를 수정하지 않았다면, 기본적으로 Android SDK는 다음 위치에 설치됩니다. /Users/[사용..
-
Android
[Android] Q Scoped Storage - MediaStore로 화면 스크린샷 저장하기 - Android Q
2019.10.29 안드로이드 Q부터 Storage정책이 변경되었습니다. 우선 기존 Q 이전에서는 어떻게 적용되었는지, Q 이후에는 어떻게 적용되는지 살펴보겠습니다. ● Android Q 이전 개별 앱만 접근 가능 외부 저장소 권한이 있으면 누구나 접근이 가능 - READ_EXTERNAL_STORAGE - WRITE_EXTERNAL_STORAGE ● Android Q 이후 샌드박스 저장공간 - 개별 앱만 접근 가능 - 읽고 쓰기 위한 별도의 권한 필요 없음 - Context.getExternalFilesDir(...) - 앱 삭제 시 함께 삭제됨 - 앨범 아트, 썸네일 등 다른 앱과 공유할 필요가 없는 미디어 파일은 샌드박스 공간을 활용 공용 저장공간 - MediaStore.Audio - MediaSto..
-
Android
[Android] MediaController dispatchKeyEvent not called
2019.10.22 안녕하세요. VideoView를 사용하면서 MediaController가 Showing일때 backpressed가 안먹히는 현상에 대해서 공유하려고 합니다. 이 현상은 Target SDK 28로 올렸을때 발생할 수 있는 현상입니다. Target SDK 28의 변경사항으로 UI포커스 대한 부분이 있습니다. 1. 너비나 높이가0인 뷰는 포커스가 불가능 합니다. 2. 터치모드에서는 활동이 더 이상 초기 포커스를 암시적으로 할당하지 않습니다. 원하는 경우 명시적으로 요청해야합니다. MediaController가 Showing일때 Backpress이벤트가 감지 되었을때 ViewGroup의 focus가 항상 null로 나타나는 현상이였습니다. 이때 2번의 내용처럼 명시적으로 focus를 요청해야..