본문 바로가기
Efficient Android Threading #1 자바의 멀티스레딩,안드로이드 스레드 Efficient Android Threading #1 자바의 멀티스레딩,안드로이드 스레드 이 글은 Efficient Android Threading 의 일부 내용만 발췌한 내용입니다.자세한 내용은 책을 구입해서 보세용. -동시 실행 설계 자원의 생성과 해체의 빈도를 감소시키기 위해 항상 새로운 스레드를 만드는 것보다 재사용을 권장한다. 필요 이상으로 스레드를 사용하지 않는다. 사용하는 스레드가 많을수록 더 많은 메모리와 프로세서 시간이 소비된다. -App 관점에서 스레드는 UI, 바인더, 백그라운드 thread 로 3가지 유형이 있다. -바인더 스레드는 IPC 에 사용된다.각 프로세스는 Thread pool 을 유지한다.Thread pool 은 종료되거나 재생성되지 않지만, 프로세스 안에서 다른 스레드.. 2018. 3. 17.
[linux] real uid(ruid), effective uid(euid), chmod 를 통한 SetUID, SetGID, StickyBit 설정 [linux] real uid(ruid), effective uid(euid), chmod 를 통한 SetUID, SetGID, StickyBit 설정 ruid, euid -real uid( real user id ) 는 실제 본인의 id 를 이야기한다.이 녀석의 값은 변하지 않는다. ( root 는 바꿀 수 있다. ) -euid 는 현재 휘두를 수 있는 권한을 나타낸다. euid 는 기본적으로 ruid 와 같은 값이다.그러나 setuid bit 이 세팅된 프로그램을 수행시킬 때, 다른 값으로 할당될 수 있다. -rwsr-xr-x 1 root root 45396 may 25 2012 /usr/bin/passwd passwd 파일( setuid bit 이 세팅되어 있음 )을 user2 라는 ruid 를 가.. 2018. 1. 26.
[Effective Java] 보편화된 작명 규칙을 따르자. [Effective Java] 보편화된 작명 규칙을 따르자. - 패키지 이름은 짧게 하되, 일반적으로 9자 이내의 문자가 좋다. awt와 같이 복합 단어의 첫 자를 딴 두문자나, util 과 같은 약어를 사용해도 좋다. - 타입 매개변수의 이름은 통상적으로 단일 문자이며, 대부분 다음 다섯 개 중 하나이다. 임의 타입은 T, 컬렉션 요소 타입은 E, Map 의 키와 값은 K, V, 예외는 X 임의 타입의 순차는 T에 이어 U, V 또는 T1, T2, T3 등과 같이 하기도 한다. - boolean 이 아닌 속성을 반환하는 메소드의 이름은 명사, 명사구, 또는 동사인 get 으로 시작하는 동사구로 구성한다. size, hashCode, getTime 등이 그 예이다. 이런 return 값이 있는 메소드들은.. 2017. 2. 17.
[Effective Java] 인터페이스를 사용해서 확장 가능한 enum 을 만들자. [Effective Java] 인터페이스를 사용해서 확장 가능한 enum 을 만들자. - 대개의 경우 enum 의 확장은 좋지 않은 생각으로 밝혀졌다. - 확장 가능한 enum 타입을 사용해야 할 경우가 최소한 한 가지가 있는데, 작동 코드(operation code) 또는 opcode 라고 하는 것으로 특정 머신의 작동을 나타내는 요소들을 갖는 enum 타입이다. - 인터페이스를 구현한 enum 에 generic 을 설정할 경우는 아래와 같이 할 수 있다. bounded wild card Class opSet // class 객체가 enum 과 Operation 서브 타입 모두임을 나타냄. unbounded wild card Collection 2016. 12. 29.
[Effective Java] 바운드 와일드 카드를 사용해서 API 의 유연성을 높이자. [Effective Java] 바운드 와일드 카드를 사용해서 API 의 유연성을 높이자. - 매개변수화 타입은 불변(invariant) 이다. 서로 다른 두 개의 타입 Type1, Type2 에 대해 List, List 는 서브 타입도 수퍼 타입도 아니다. - 매개변수화 타입은 불변이기 때문에, 바운드 와일드 카드 타입(bounded wildcard type)을 사용해야 유연성이 좋다. 예) -> 를 사용하였기에 null 이외에는 put 을 할 수 없다. 이 경우 1번의 방법을 helper 로 갖는 function 을 하나 더 가져야 한다. 하지만, public 하게는 raw type 도 받을 수 있어 유연성은 더 좋다. Summary 메소드 API에 와일드 카드 타입을 사용하면 코드 작성이 조금 어려워.. 2016. 12. 5.
11번가 최대로 할인받기 3탄 - 11일날 쇼핑하기 11번가 최대로 할인받기 3탄 - 11일날 쇼핑하기 SKT 고객이라면 11일날 쇼핑하면 T 맴버쉽 포인트를 차감하며, 11% 최대 5,000원까지 할인 가능하다. ( 약 4만 5천원 이상 상품을 사야 5,000원 full 로 할인. ) 쇼핑물품이 4만 5천원 이하이면서 지금 당장 필요한 것이 아니라면 장바구니에 담아두고, 11일날까지 기다렸다 쇼핑하도록 하자. 11%, 11번가 최대로 할인받기, 11일, 5000원, SK 텔레콤, SKT, T, t맴버쉽, 맴버쉽, 쇼핑, 장바구니, 차감, 최대, 포인트, 할인 2015. 4. 12.
[Java] How to implements Iterator. Java, How to implements Iterator. Aggregate 인터페이스 public interface Aggregate{public abstract Iterator iterator();} Iterator 를 제공하려는 container class 는 Aggregate 를 implements 해야 함.Aggregate Interface 를 implement 한 class 를 ConcreteAggregate class 라 부른다. Iterator 인터페이스 public interface Iterator{public abstract boolean hasNext();public abstract Object enxt();} Iterator 를 구현한 class 를 ConcreteIterator .. 2014. 1. 10.
[Java] Generic Type Tutorial. Java, Generic Type Tutorial. Generic Type. 주로 Java Collection 에서 많이 사용한다.Collection 에서는 어떤 자료를 담을지 알 수 없으므로 최상위 객체인 Object 형태로 저장 및 관리하도록 설계되어 있다. 하지만 이렇게 Object 로만 두게 되면, 일관성 있는 Type 을 유지할 수 없는 경우도 많이 생긴다. 일관성 있는 Type 을 유지하지 못하면, Runtime Error 에 마딱뜨릴 확률이 높아져서 좋지 않다. 이것을 해결하기 위해 Compile Time 에 원하지 않는 Type 이 들어가는 것을 방지하기 위해 고안 된 것이 Generic Type 이다. Generic Class 정의 // T 라는 객체를 다루는 Containerpublic.. 2014. 1. 6.
[PHP] File Manipulation Tutorial PHP, File Manipulation Tutorial =====파일 열기 $fp = fopen( "$DOCUMENT_ROOT/../orders/orders.txt", "w" ); - $_SERVER['DOCUMENT_ROOT'] 는 웹 문서 트리의 루트를 가르킨다. - 경로를 나타낼 때, / 를 쓰는 것이 좋다. \ 는 윈도우즈에서는 사용할 수 있지만, Linux 에서는 \\ 로 인식시켜야 하기 때문. - file mode 는 다음과 같다.rr+ : 읽고 쓰기 위함.ww+ : 읽고 쓰기 위함.x : 경고 쓰기, 만일 파일이 있을 경우 파일을 열지 않고, fopen() 이 false 를 반환하고 PHP 는 경고x+ : 파일을 읽고 쓰기 위함.a : 추가 모드, 파일을 추가 쓰기 위해 연다.a+ : 파일.. 2013. 12. 30.
반응형