본문 바로가기
[iOS Study] 병렬 프로그래밍 가이드 ( operation queue ) [iOS Study] 병렬 프로그래밍 가이드 ( operation queue ) https://developer.apple.com/library/ios/documentation/General/Conceptual/ConcurrencyProgrammingGuide/OperationObjects/OperationObjects.html#//apple_ref/doc/uid/TP40008091-CH101-SW1 Operation Object 에 대한 이야기 -Operation object 는 NSOperation class 의 인스턴스를 이야기한다.NSOperation class 는 abstract base class 로 subclass 를 구현해야 한다. -NSInvocationOperation 과 NSBlock.. 2017. 7. 2.
[android] sign key hash key (sha) print out [android] sign key hash key (sha) print out https://developers.facebook.com/docs/android/getting-started try {PackageInfo info = getPackageManager().getPackageInfo("com.example", PackageManager.GET_SIGNATURES); for (Signature signature : info.signatures) { MessageDigest md = MessageDigest.getInstance("SHA"); md.update(signature.toByteArray()); Log.e("ck", "MMM" + Base64.encodeToString(md.digest(.. 2017. 6. 7.
[android] LinearLayoutManager 를 사용할 때 smooth scrolling 을 하게 하려면 [android] LinearLayoutManager 를 사용할 때 smooth scrolling 을 하게 하려면 참조 : https://developer.android.com/reference/android/support/v7/widget/LinearLayoutManager.html#getExtraLayoutSpace(android.support.v7.widget.RecyclerView.State) LinearLayoutManager 의 getExtraLayoutSpace 를 override 하여 값을 주면 된다. 이 함수는 LayoutManager 를 통해 view 를 배치할 때 여유 공간 값을 pixel 로 return 한다.만약 500 값을 주면 ( 500 / a child view height .. 2017. 5. 22.
[Java Concurrency] 중단 및 종료 #2 [Java Concurrency] 중단 및 종료 #2 7.3. 비정상적인 스레드 종료 상황 처리 - 스레드를 예상치 못하게 종료시키는 가장 큰 원인은 바로 RuntimeException 이다. RuntimeException 은 대부분 프로그램이 잘못 짜여져서 발생하거나 기타 회복 불가능의 문제점을 나타내는 경우가 많기 때문에 try_catch 구문으로 잡지 못하는 경우가 많다. RuntimeException 은 호출 스택을 따라 상위로 전달되기보다는 현재 실행되는 시점에서 콘솔에 스택 호출 추적 내용을 출력하고 해당 스레드를 종료시키도록 되어 있다. - 스레드 풀에서 사용하는 작업용 스레드나 스윙의 이벤트 처리 스레드와 같은 작업 처리용 스레드는 항상 Runnable 등의 인터페이스를 통해 남이 정의하고.. 2017. 4. 26.
[Django] 파이썬 웹 프로그래밍 - Django 의 핵심 기능 #2 [Django] 파이썬 웹 프로그래밍 - Django 의 핵심 기능 #2 * 4.4.1. HTML 에서의 폼 -HTTP 프로토콜 중 폼에서 사용할 수 있는 HTTP 메소드는 GET 과 POST 뿐이다.장고는 이 중에서도 폼 처리에는 POST 방식만을 사용하고 있다.추가적으로 장고는 보안을 강화하기 위해 CSRF 방지 기능을 제공한다. * 4.4.2. 장고의 폼 기능 -장고는 폼 처리를 위해 다음 3가지 기능을 제공한다. 폼 생성에 필요한 데이터를 폼 클래스로 구조화하기 폼 클래스의 데이터를 랜더링하여 HTML 폼 만들기 사용자로부터 제출된 폼과 데이터를 수신하고 처리하기 -장고의 모델 클래스가 데이터베이스 테이블의 논리적인 구조 및 동작 기능, 우리에게 보여지는 방식들을 기술.. 2016. 12. 15.
[Django] 파이썬 웹 프로그래밍 - Django 의 핵심 기능 #1 [Django] 파이썬 웹 프로그래밍 - Django 의 핵심 기능 #1 -책을 읽으며 Remind 하는 내용, 핵심 내용, 모르던 내용을 정리한 것입니다. 예문 및 자세한 설명은 책을 구매하여 보세요~ * 4.1.1. 데이터 입력 및 수정 * 4.1.2. 필드 순서 변경하기 -테이블 데이터 변경이 아닌 테이블을 보여주는 UI 양식 변경은 admin.py 파일을 변경하면 된다.아래와 같이 순서에 대해 정의하는 admin.ModelAdmin 을 상속하는 녀석을 만들고, register 할 때 이 class 를 함께 전달하면 된다. class QuestionAdmin(admin.ModelAdmin): fields = [‘pub_date’, ‘qestion_text’].. 2016. 12. 13.
[Django] 파이썬 웹 프로그래밍 - Django 웹 프레임워크 #2 [Django] 파이썬 웹 프로그래밍 - Django 웹 프레임워크 #1 -프로젝트란 개발 대상이 되는 전체 프로그램을 의미하며,프로젝트를 몇 개의 기능 그룹으로 나누었을 때, 프로젝트의 하위 서브 프로그램을 앱이라 말한다.즉 서브 프로그램인 앱을 개발하고, 이들을 모아 프로젝트 개발을 완성하게 되는 것이다. 이런 개념으로 프로젝트 디렉토리와 앱 디렉토리를 구분하고,코딩하는 파일도 프로젝트 파일인지 앱 파일인지 구분해서 적절한 위치에 저장해야 한다. -중요한 점은 하나의 앱이 여러 개의 프로젝트에 포함될 수 있기 때문에,앱을 한 번만 개발하고 이를 다른 프로젝트에 재사용하여 개발의 생산성을 높일 수 있다.앱 단위로 이들을 모아 프로젝트로 만들고,프로젝트를 모아서 더 .. 2016. 12. 12.
[Effective Java] toString 메소드는 항상 오버라이드 하자. [Effective Java] toString 메소드는 항상 오버라이드 하자. - 일반적인 toString() 메소드는 "ClassName@HashCode" 와 같은 형식으로 표시된다. - toString 의 보편적 계약은 간결해야 하지만 사람이 읽기 쉬운 형태의 정보 표현이어야 한다 - 가능하다면 toString 메소드에서는 객체의 모든 중요한 정보를 반환해야 한다. - toString 에서 출력하는 문자열이 한 눈에 무엇인지 파악하기 어렵다면, 문서화를 정확히 해야 한다. className, default, Effective JAVA, hashcode, human readable, override, toString, [Effective Java] toString 메소드는 항상 오버라이드 하자., 간결.. 2016. 10. 7.
[Android] Ok Google [Android] Ok Google # 안드로이드 단말의 화면이 켜져 있거나, 충전 중이면 "Ok Google" 이라고 외쳐보자. Ok Google 이라고 외치면 마이크 interface 가 나오고, 음성을 분석해서 원하는 정보를 찾아준다. # 이 Ok Google 은 KitKat 이상의 버전에서 작동을 한다. Google Search app version 3.5 이상이 필요하며, 해당 앱의 setting 에서 "Ok Google" detection 을 "From any screen" 으로 하면 된다. # 만약 더 높은 인식률을 갖게 하려면, Audio History 를 켜는 것이 좋다. Audio History 를 켜고 "Ok google" 을 3번 외치면, 조금 더 높은 인식률을 보여준다. 만약 단말.. 2016. 4. 9.
반응형