모바일(126)
-
[kotlin] filter, map, all, any, count, find, groupBy, flatMap 함수 정리
filter 함수 filter 함수는 리스트를 이터레이션하면서 리턴이 true 인 값만 필터링합니다. var listInts = listOf(1,2,3,4) //filter listInts.filter { it % 2 == 0 } //출력 [2,4] map 함수 map 함수는 값을 변형해서 새로운 리스트를 생성합니다. var listInts = listOf(1,2,3,4) listInts.map { it * it } //출력 [1,4,9,16] val people = listOf(Person("A", 27), Person("B", 35), Person("C", 35)) people.map { it.name } //출력 [A, B, C] //심플한 방법 people.map(Person::name) //30..
2020.12.17 -
Scrollview 스크롤 위치 계산, 원하는 위치로 이동, child isvisible, scrollTo, smoothScrollTo
Step1 CustomScrollView 생성 public class EventCustomScrollView extends ScrollView { private int mCurrentIndex; private OnScrollListener listener; public EventCustomScrollView(Context context){ super(context); mCurrentIndex = 0 ; } public EventCustomScrollView(Context context, AttributeSet attrs) { super(context, attrs); } @Override protected void onScrollChanged(int l, int t, int oldl, int oldt) {..
2020.12.16 -
mac에 jdk 1.8 / 8 설치하기
자바 변수 적용 `/Library/Java/JavaVirtualMachines/` is the correct location for the JVM to be installed. ls -la /Library/Java/JavaVirtualMachines http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html 패키치 파일로 설치했다면 위 스크립트로 java가 설치되어있나 확인 아래 명령어 순서대로 실행 Java 8: export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_31.jdk/Contents/Home export PATH=$JAVA_HOME/bin:$PATH..
2020.12.09 -
AsyncTask vs Thread vs Service 차이
Thread 작업을 동시에 실행할 수 있는 클래스이다. Thread 를 상속받거나, Runnable 을 구현하여 사용할 수 있다. 쓰레드는 일반적으로 긴 작업을 수행하는 데 사용한다. 쓰레드는 수동으로 관리해야 하기 때문에 관리가 어렵고 코드를 읽기 어려워 질 수 있다는 단점이 있다. 하나의 독립적인 실행 흐름 사용처 중간 또는 많은 양의 데이터가 포함 된 네트워크 작업 (업로드 또는 다운로드) 백그라운드에서 실행해야하는 높은 CPU 작업 GUI 스레드와 관련된 CPU 사용량을 제어하려는 모든 작업 Service 서비스는 백그라운드에서 실행시간이 긴 작업을 수행하며, 사용자 인터페이스를 제공하지 않는 어플리케이션 구성요소이다. UI 가 없는 작업이긴 하지만, 작업시간이 너무 길지 않아야 하며, 긴 작업이..
2020.12.04 -
일급 시민, 일급 객체, 일급 함수
1급시민 프로그래밍의 변수에서 1급 시민의 조건은 다음과 같습니다. 변수에 담을 수 있다. 함수(혹은 메소드)의 인자(매개변수, Parameter)로 전달할 수 있다. 함수(혹은 메소드)의 반환값(return)으로 전달할 수 있다.
2020.12.03 -
Non-blocking I/O(NIO)
NIO 구분 IO NIO 버퍼 넌버퍼 버퍼 비동기 지원X 지원 블로킹/넌블로킹 블로킹만 지원 모두지원 스트림과 채널 스트림 스트림 기반 입력, 출력 스트림으로 구분되어 있다.(둘다생성해야함) 버퍼 제공해주는 보조 스트림을 사용해야함 이전 게시글 참조.. read()메소드로 블로킹된다. write() 메소드로 데이터 출력 전까지 블로킹된다. 채널 양방향으로 입,출력이 가능하다. 하나의 파일에서 읽고 저장하는 작업을 모두 해야한다면 FileChannel만 생성하면 된다. 스레드 인터럽트로 빠져나올 수 있다. 넌블로킹 : 입출력 작업 준비가 완료된 채널만 선택해서 작업 스레드가 처리한다. 셀렉터(Selector)가 여러개의 채널 중에서 준비 완료된 채널을 선택하는 방법을 제공함! 선택 기준? NIO는 연결 클..
2020.11.20