본문 바로가기
[android] App Shortcuts Tutorial [android] App Shortcuts Tutorial https://catinean.com/2016/10/20/exploring-android-nougat-7-1-app-shortcuts/ - -Android N ( Nougat ) 7.1 버전부터 사용 가능. -Shortcut 이 설정된 앱은 롱 프레스를 하면 위의 스샷처럼 바로가기 옵션이 나온다. -간단한 정리 특정 동작을 진입과 동시에 할 수 있다는 것이 키 포인트 static 과 dynamic shortcut 2가지 종류가 있다. static 은 xml 에 정의하여 앱 안에 내용이 정의되어 있다. ( 수정하려면 앱 수정 및 재배포를 해야 한다. ) dynamic 은 Runtime 에 바꿀 수 있다. shortcut 으로 앱을 열 때 activ.. 2018. 2. 25.
[Kotlin] initializer 이야기 [Kotlin] initializer 이야기 https://medium.com/keepsafe-engineering/an-in-depth-look-at-kotlins-initializers-a0420fcbf546 -constructor, initializer 등이 있을 때 적용되는 순서를 아는 것이 좋다. 먼저 constructor 의 default argument 가 가장 먼저 적용된다.그 다음 property initializer 와 init block 이 수행된다. 이 때 수행 순서는 top-to-bottom 으로 정의된 순서대로 수행된다.그 다음에 constructor 가 수행된다. -open class Parent { private val a = println("Parent.a") constru.. 2018. 1. 19.
[Java Concurrency] 구성 단위 #2 [Java Concurrency] 구성 단위 #2 5.4. 블로킹 메소드, 인터럽터블 메소드 - 스레드는 여러 가지 원인에 의해 블록 당하거나, 멈춰질 수 있다. 스레드가 블록되면 동작이 멈춰진 다음 블록된 상태(BLOCKED, WAITING, TIMED_WAITING) 가운데 하나를 갖게 된다. 블로킹 연산은 단순히 실행 시간이 오래 걸리는 일반 연산과는 달리 멈춘 상태에서 특정한 신호를 받아야 계속해서 실행할 수 있는 연산을 말한다. ( I/O 작업 끝나기를 기다리거나, 기다리던 락을 확보하거나, 다른 스레드의 작업 결과를 받아오는 등의 신호 ) - Thread 클래스는 해당 스레드를 중단시킬 수 있도록 interrupt 메소드를 제공하며, 해당 스레드에 인터럽트가 걸려 중단된 상태인지를 확인할 수 .. 2017. 4. 21.
[Effective Java] 스레드 안전을 문서화 하자. [Effective Java] 스레드 안전을 문서화 하자. - 클래스 행동을 문서화하지 않으면, 프로그래머는 가정에 의존해서 그 클래스를 사용해야 한다. 만일 그런 가정들이 잘못되면, 그로 인한 프로그램은 불충분한 동기화나 과도한 동기화를 하게 될 것이다. 어떤 경우든, 심각한 에러가 유발될 수 있다. - 메소드 선언부의 synchronized 변경자는 메소드의 상세 구현 부분이지 외부로 제공되는 API 가 아니다. 즉 Javadoc 에 synchronized 가 공개되지 않는다. synchronized 변경자가 있다는 것이 스레드 안전을 문서화하기에 충분한 것은 아니다. 동시적 사용을 안전하게 하려면, 해당 클래스가 어떤 수준의 스레드 안전을 지원하는지 명확하게 문서화해야 한다. - 다음은 스레드 안전.. 2017. 3. 14.
[Effective Java] ordinal 대신 인스턴스 필드를 사용하자. [Effective Java] ordinal 대신 인스턴스 필드를 사용하자. - 모든 enum 은 ordinal 메소드를 갖고 있으며, 이 메소드는 enum 타입에 있는 각 enum 상수의 위치를 서수(첫번째, 두번째와 같이 순서의 의미를 가진 수)로 반환한다. 이 ordinal 메소드는 enum 의 순서에 절대 변화가 없다면 사용할 수 있지만, 유지보수가 있을 시에는 문제가 된다. 상수 값의 순서가 바뀌면 바로 값이 바뀌어 기존 int 상수를 사용하는 것과 별반 다를 바 없어진다. 아니 오히려 더 유지보수가 어려워질 수 있다. - 만일 int 값이 필요하다면 ordinal 을 사용하지 않고, 생성자에 번호를 넣는 방법으로 따로 variable 을 지정해서 사용하는 것이 좋다. - ordinal 은 En.. 2016. 12. 20.
[Java] writeObject 와 readObject 는 무엇인가? [Java] writeObject 와 readObject 는 무엇인가? 참조 : http://www.javablogging.com/what-are-writeobject-and-readobject-customizing-the-serialization-process/ - serialize 하고 싶은 객체에 Serializable interface 만 implements 해주면 serialize 가 가능하다. -ObjectOutputStream 을 이용하여 stream 형태로 만들어 file 에 쓰거나 전송할 수 있다. - transient 나 static 으로 마크되지 않은 필드들은 모두 serialized 된다. - 기본적인 serialization 에 추가적으로 어떤 조치를 취하고 싶다면 아래와 같이 w.. 2016. 10. 25.
[Effective Java] Comparable 인터페이스의 구현을 고려하자. [Effective Java] Comparable 인터페이스의 구현을 고려하자. - compareTo 메소드는 Comparable 인터페이스에 존재하는 메소드이다. compareTo 메소드는 equals 메소드와 유사한 특성을 갖는다. 차이점은 두 객체가 동일한지 비교에 덧붙여 순서까지 비교할 수 있으며, 제네릭 타입을 지원한다. - Comparable interface 를 구현하면, Arrays.sort 와 같은 메소드를 손쉽게 쓸 수 있고, TreeSet 과 같은 크기 비교를 사용하는 Collection 들에서도 손쉽게 사용할 수 있다. - 자바 라이브러리의 모든 값 클래스들은 Comparable 인터페이스를 구현한다. - 알파벳 순, 숫자 순, 날짜 순과 같은 자연율을 갖는 값 클래스를 작성한다면 .. 2016. 10. 14.
[후기] 교대 "예미안 치과" 솔찍 후기 [후기] 교대 "예미안 치과" 솔찍 후기 2016. 02. 04. 결 론- 좀 더 치료를 받아봐야 확신이 서겠지만, "나름 양심치과". - 의료보험 되는 레진 치료는 모든 경우에 적용되지 않는다. 필자 어금니의 경우 의료보험 레진은 안 된단다.- 의료보험 되는 레진은 "자기중합레진" 으로 이에 대한 것은 알아서 검색해보시길. ( 간단히 이야기하면, 좀 약해서 어금니같은 데는 사용하기 어려움. )- 의사선생님이 나름 이유도 설명해주시고, 열심히 치료해주신다.- 의료보험 안 되는 일반레진은 10만원이다.- 목요일은 야간진료 하고, 일요일도 진료하는 특별한 곳. #2015 연말 건강검진의 치과 검진에서 충치 2개 치료할 것이 있다고 했다. #레진 가격은 천차만별.깨진 이빨 때우러 갔던 광화문 세종치과에서는충치.. 2016. 2. 8.
[android] 연락처 수정, 삭제에 대한 추가정보 [android] 연락처 수정, 삭제에 대한 추가정보 연락처 업데이트 =provider 를 통해 insert 를 제공하는 테이블은 raw_contacts 와 data 만. =Contacts 테이블은 view table 이다. = Contacts 테이블은 Auto aggregation 을 통해 자동으로 정리된다. = raw_contacts 의 내용이 contacts 에 aggregation 되는 조건은.. 이름이 같을 때 이름이 동일한 단어로 구성되어있지만 순서가 다를 때 전화번호나 이메일 혹은 닉네임을 공유할 때 연락처 삭제 = raw_contacts 를 삭제하면 종속된 data 는 자동으로 삭제가 된다. contacts 를 지우면 종속된 raw_contacts 를 자동으로 삭제한다. = Contacts.. 2015. 11. 16.
반응형