1. Androuid Navigation이란?? - Fragment와 Activity간 구현을 간단하고 안정적이게 이동할 수 있도록 도와주는 Component - Navigation은 Single Activity & Multiple Fragments 구조 -> Activity를 주로 다룰때 장점이 적음 - Kotlin을 사용할것을 권장함 * Navigation의 장점 (1) Fragment Transaction 직접 다루지 않아도 됨 (2) Back/Up 동작을 기본 지원 (3) 화면 전환에 Type이 지정된 데이터 전달 가능 (4) 안드로이드 리소스로 Animation/Transition 설정가능 (5) 딥링크 지원 (6) Navigation drawer, Bottom Navigation -> Navi..
* 안드로이드 아키텍쳐 컴포넌트( Android Architecture Components) - Android Architecture Components , AAC - 앱 구조를 튼튼하고 테스트에 용이하고 유지보수성에 뛰어나게 만들어주는 라이브러리 모음 - 모듈화된 코딩을 위해 Databinding, LiveData, ViewModel 등의 라이브러리 제공 - 안드로이드 기술 스펙 관련 정보 깃허브 1. MVVM 패턴이란? - 안드로이드 개발을 시작한 사람은 처음부터 데이터를 Activity에 넣음, 하지만 시간이 지나갈수록 Activity가 점점 무거워지기 때문에 수정이나 유지 보수가 필요함 -> 그렇기 때문에 MVVM 패턴의 필요성이 대두된다. - MVVM 패턴이란? View - ViewModel -..
[JAVA,C#,Python 코드 비교] 10. 상속과 interface 1. 상속 - 자식 클래스가 부모 클래스부터 상속을 받게 되면 부모 클래스의 필드와 메서드 물려받음 - 중복된 코드 줄일 수 있고, 유지보수 편리, 통일성, 다형성 구현 * JAVA - extends를 사용해서 상속을 받을 수 있음 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 35 36 37 38 39 40 41 class Animal{ public void AnimalMethod(){ System.out.println("Animal"); } } class Cow extends Animal{ public void..
1. 익명클래스 - 이름이 없는 클래스 = Anonymous Class - 메소드를 오버라이드 하기 위해서 사용됨 * JAVA 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 class Person{ public void greeting() { System.out.println("hello"); } } public class Example{ Person person = new Person(){ public void greeting(){ System.out.println("hiru"); } }; person.greeting(); } Colored by Color Scripter cs - 클래스에서 바로 사용하면 알아서 class override 가 됨 1 2 3 4 5 6 ..
[JAVA,C#,Python 코드 비교] 11. 이분탐색 0. 검색알고리즘이란? - 정해진 단위 절차를 반복하면 원하는 결과를 얻을 때 사용하는 것 1. 이분탐색(Binary Search)란? - 정렬 등과 함께 가장 기초인 알고리즘 - 검색 범위를 줄여나가면서 원하는 데이터를 검색하는 알고리즘 - 이진탐색을 위해서는 자료가 순서에 따라 정렬되어 있어야 함 2. 문자열 검색 알고리즘 - 주어진 문자열 에서 찾고자 하는 문자열이 있을 때, 해당 문자열 위치를 찾는 알고리즘 3. KMP 검색 알고리즘 - 문자열 안에서 부분 문자열을 검색할 때 검색에 실패한 위치를 기반으로 비교할 필요가 없는 문자열은 건너뛰고, 다음번 검색위치를 결정하는 알고리즘 4. BM 검색 알고리즘 - 문자열을 데이터에 검색할 때 검색..
0. 들어가기전에 (1) Scanner과 BufferedReader 차이 이전 관련포스트 --> 클릭 - 각 언어별 입력방식에 따른 시간 차이 존재 - ex) java에서는 java.util.Scanner -> 6.068초 / java.io.BufferedReader -> 0.934초 - 시간을 생각한다면 java.io.BufferedReader을 사용하는것이 이득 (2) BufferedWriter과 System.out.println() - 잘 구현된 알고리즘은 속도, 메모리 측면에서 최적화 되어야함 - System.out.prinln()의 경우 시스템 리소스를 필요이상으로 사용 1. Array와 List 차이점 - 자세하게 이전 포스트에 정리 --> 클릭 - 간단하게 정리 - Array -> 배열, 처..
Thread? - 프로세서 내에서 실행되는 세부 작업 단위 - 같은 프로세스의 다른 thread에서 코드와 데이터를 공유하게 됨 - multi-threading 메인 쓰레드 (=ui 쓰레드) - 앱 실행시 기본적으로 생성되는 쓰레드 - 각종 생명주기 함수 처리 , 이벤트 처리 수행 - 보통 메인 스레드에서 5초 이상 블록되어 있으면 ANR(Application Not Responding) 발생으로 프로그램 중지여부를 결정해야 함 - 즉, 메인 쓰레드는 블록되어서는 안됨 작업 쓰레드 - 긴 처리 기산을 필요로 하는 작업 수행을 위해서 별도의 쓰레드 추가하여 사용하는것 - 안드로이드에서는 앱의 원활한 동작을 위해 메인 쓰레드에서 처리할 수 없는 일을 정의하고 있음, 예외 발생을 강제로 하여 정책을 지키도록 ..
0. getWindow() getWindow().addFlags(LayoutParams.FLAG_DISMISS_KEYGUARD | LayoutParams.FLAG_SHOW_WHEN_LOCKED | LayoutParams.FLAG_TURN_SCREEN_ON); - LayoutParams.FLAG_DISMISS_KEYGUARD // phone이 lock 상태면 보여주지 않음 - LayoutParams.FLAG_SHOW_WHEN_LOCKED // 잠금화면 위에 app 보여주기 - LayoutParams.FLAG_TURN_SCREEN_ON //꺼진 화면을 on getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_HIDE_NAVIGATION ..
1. Docker Install WSL2 설치 및 사용 방법 https://www.44bits.io/ko/post/wsl2-install-and-basic-usage WSL2(Windows Subsystem for Linux 2) 설치 및 사용 방법 지난 5월 윈도우10의 대규모 업데이트가 있었습니다. 이번 업데이트에는 WSL2 정식 릴리스가 포함되어있습니다. WSL은 경략 가상화 기술을 통해 윈도우에서 리눅스 배포판을 사용할 수 있게 도와�� www.44bits.io - 참고 사이트 https://bbongcol.github.io/wsl/2020/07/30/wsl2_performance_configuration.html TECHJUN A simple yet classy theme for your Jek..
1. Heroku란? www.heroku.com/ Cloud Application Platform | Heroku Heroku is a platform as a service (PaaS) that enables developers to build, run, and operate applications entirely in the cloud. www.heroku.com 2. 사용방법 1. Git 설치 2. Heroku 가입 3. Create new App & App name 설정 4. Heroku Cli 설치 >> heroku login 5. Heroku에 올리기 >> git init >> git add . >> git commit -m "message " >> heroku git:remote -a "ap..