Cold Observable vs Hot Observable Observable의 사전 뜻을 찾아보면 관찰할 수 있는, 식별 가능한 이러한 의미를 가지고 있다. 즉, observable은 데이터의 흐름에 맞게 알림을 보내 Observer가 데이터를 사용할 수 있도록 한다. Observable에는 Cold Observable과 Hot Observable이 있다. 일반적으로 우리가 사용하는 것들은 모두 Cold Observable이라고 한다. 자세하게 보기전에 간단하게 유튜브로 Hot Observable과 Cold Observable의 차이를 설명하자면 Cold Observable은 Youtube 동영상을 재생하는 것 처럼, 구독한 순간부터 아이템을 발행시키는 것이고 Hot Observable은 Live 방..
Java
indexOf int indexOf( int x ) 문자열 객체에서 x(아스키 코드 문자의 위치)가 첫번째로 발견된 위치를 반환, 없을시 -1반환 int indexOf( String x ) 문자열 객체에서 str를 찾아서 존재하면 첫째문자 위치를 반환, 없을시 -1반환 lastIndexOf int lastIndexOf( int x ) 뒤에서 부터 x(아스키 코드 문자의 위치)가 첫번째로 발견된 위치를 반환 int lastIndexOf( String x ) 뒤에서 부터 괄호 사이 들어간 문자의 위치를 반환 substring String substring(x) 문자열의 x위치 부터 끝까지 문자열 추출 String substring(x,y) x위치 부터 y위치 전까지의 위치의 문자열 추출 Char charAt..
자바 설치 파일 필요시 아래 링크에서 운영체제에 맞는 버전을 다운 자바(JDK, JRE) 모든 버전 다운로드(6,7,8,9,10,11,12,13,14,15,16,17) https://www.oracle.com/java/technologies/downloads/archive/ 자바 1.1버전부터 1.2, 1.3, 1.4, 1.5 ~ 최신버전까지 모두 다운로드 할수 있는 링크 Java SE Java EE Java ME Java FX Java SE 17 J2EE SDK Downlo.. bumjae.tistory.com 자바(JDK, JRE) 설치 설치진행 선택사항 및 경로설정 설치완료 자바(JDK, JRE) 환경변수 설정 윈도우 단축키 win + Pause 키를 누르거나 제어판 -> 시스템 및 보안 -> 시스..
설치링크 자바 1.1버전부터 최신버전까지 모두 다운로드 할수 있는 링크 Looking for an Older Java Release? Access the historical java release archive that includes JRE and JDK to help developers debug issues in older systems. www.oracle.com 아래 표를 눌러 원하는 링크로 바로 가도 좋다 Java SE Java EE Java ME Java FX Java SE 17 J2EE SDK Download Java ME SDK Download Java SE 16 Java SE 15 Java SE 14 Java SE 13 Java SE 12 Java SE 11 Java SE 10 Java..
특정 주소에 네트워크 연결상태를 확인하기 위해서 ping을 사용한다. Kotlin val networkThread = Thread { try { val runTime = Runtime.getRuntime() val cmd = "ping -c 1 -W 2 $ip" //ip는 test 하고 싶은 주소 String 을 넣어주면 된다. val proc = runTime.exec(cmd) proc.waitFor() //여기서 반환되는 ping 테스트의 결과 값은 0, 1, 2 중 하나이다. // 0 : 성공, 1 : fail, 2 : error val result = proc.exitValue() when (result) { 0 -> Log.d("FragmentSelfCheck", ip.toString() + "..
개발을 할 때 지정해준 시간 이후 지정하는 동작을 수행하는 Util이 필요한데 따로 저장해두면 편할 거 같아 블로그에 남긴다. abstract class TimerUtil { private var mDelayTime = 1000L // default ms private var mName = "none" var isStart = false companion object { private const val WHAT = 100 } constructor(){} constructor(name: String) { mName = name } constructor(name: String, milisecond: Long) { mName = name mDelayTime = milisecond } abstract fun o..