본문 바로가기
[android] Secure Coding Guide [android] Secure Coding Guide -Android Secure Coding Guide 라는 간략한 세미나를 듣고 왔다.새로운 내용은 없지만, 그냥 Remind 하는 차원에서 정리해본다. 최소 권한 : 불필요한 퍼미션 사용하지 말자. 안드로이드 6.0(MOS) 부터 Runtime Permission 이 되면서 문제가 적어지지만, 이전에는 과도한 권한을 사용하는 문제가 있었다.꼭 필요한 권한만 정의해서 사용하라.위치정보를 사용할 때는 국내 위치정보법에 따라 필수 5대항목 고지 등의 의무사항이 있으니 확인해야 한다. (기획적인 내용) 소스코드 보안 : 난독화 여부 Proguard 난독화를 사용해라.기본 Proguard 말고도 난독화를 해주는 보안강화 솔루션 들도 있다. ( 옵션을 잘 확인하.. 2018. 5. 24.
Efficient Android Threading #7 Executor 프레임워크를 통한 스레드 실행 제어 Efficient Android Threading #7 Executor 프레임워크를 통한 스레드 실행 제어 이 글은 Efficient Android Threading 의 일부 내용만 발췌한 내용입니다.자세한 내용은 책을 구입해서 보세용.9.1. Executor -Executor 는 interface 로 void execute(Runnable command); 하나의 함수를 갖는다.단순하지만 강력하다. 이는 테스크를 만드는 것과 실행 사이에 분리를 확실하게 해주기 때문에 기본 Thread 인터페이스보다 더 자주 사용된다. -public class SimpleExecutor implements Executor { @Override public void execute(Runnable runnable){ new.. 2018. 3. 23.
[Effective Java] 독자적인 직렬화 형태의 사용을 고려하자 [Effective Java] 독자적인 직렬화 형태의 사용을 고려하자 - 클래스를 설계할 때 클래스가 Serializable 을 구현하면서 기본 직렬화 형태를 사용한다면, 나중에 함부로 버릴 수 없고, 그 직렬화 형태를 계속 유지해야 할 가능성이 높다. - 적합 여부를 우선적으로 고려해보고 기본 직렬화 형태를 수용하자. 기본 직렬화 형태는 유연성, 성능, 정확성의 관점에서 타당하다는 결정이 섰을 때 사용해야 한다. 일반적으로 말하면, 우리가 독자적인 직렬화 형태를 설계한다고 할 때 하게될 인코딩과 대부분 같은 경우에만 기본 직렬화 형태를 사용해야 한다. - 이상적인 객체 직렬화 형태는 그 객체가 표현하는 논리적 데이터만 포함한 것이다. - 기본 직렬화 형태는 객체의 물리적 표현이 논리적인 내용과 동일할 .. 2017. 3. 23.
[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.
[android] Nexus7 에서 잘 작동하는 앱 만들기. 안드로이드, Nexus 7 에서 잘 작동하는 앱 만들기. 1. 반응형 디자인을 적용하여 하나의 APK 로 폰은 물론 탭도 지원 가능하도록 만들자. 2. res/layout-sw600dp 와 res/layout-sw720dp 를 활용하여 7인치 /분만 아니라 10인치 타블렛도 지원하자. 만약 폰 레이아웃을 그대로 사용하고, 텍스트와 이미지가 차지하는 공간만 확대할 예정이라면 dimens.xml 을 잘 활용하자. 3. 하드웨어 기능에 대한 주의가 필요하다.넥서스 7은 저해상도 전면 카메라만 가지고 있다.넥서스 7은 전화 기능과 진동 기능이 없다.따라서 반드시 필요한 경우가 아니면 의 required 속성 값을 false 로 두자. 꼭 필요한 녀석이 아닐 경우에는 런타임에 해당 앱이 있는지 확인하여 유두리 있.. 2013. 9. 9.
[android] CharSequence.equlas( CharSeqence ) 이야기 안드로이드, CharSequence.equals( CharSequence ) edittext 의 내용을 비교하기 위해 CharSeqeucne.equals( CharSequence ) 를 했는데,항상 false 를 내뿜는다. ex)edittext1.getText().equals( edittext2.getText() ) // return false always. 이번에는 같은 내용의 string 과 비교했지만 항상 false 를 내뱉는다. ex)edittext1.getText().equals( "Gamza" ) // return false always 같은 reference 를 가르키는 것이 아니라면 항상 false 를 내뱉는다. 그럼 어떻게 비교할까? 1. Charsequence 에 toString 값을 .. 2013. 8. 8.
[java/tutorial] regexp 에 대해 알아보자. Regular Expression ( regexp ) 에 대해 알아보자. Regular Expression 이 뭐야? String 에 대한 검색 패턴을 정의한 것을 Regular Expression ( 정규식 ) 이라 부른다. Regular Expression 은 보통 축약형으로 Regexp 라고 부른다. Regexp 는 string 의 일부분을 찾고, 수정하는 등의 작업을 하는 데 쓰인다. Regexp 는 String의 왼쪽에서 오른쪽으로 적용되며, 한번 match 된 string 의 일부는 그 다음 검색에서 제외된다. Java, Perl, Groovy 등 대부분의 언어에서 지원되지만, 그 문법과 사용 형태 등은 언어마다 조금씩 다르다. 일반적인 사용 기호 . : 어떤 문자든 match ^regexp .. 2013. 6. 26.
[DOM/Tutorial] DOM 의 event flow. ( Capture, Bubble ) 참조 : w3.org 공식 홈페이지 DOM 의 event flow. DOM 의 event 는 Root Node에서부터 Target 노드로, 그리고 다시 Root Node 로 돌아온다. 이 Event 의 순환에는 phase 가 있는데 Root 에서 Target Node 까지 Event가 흘러가는 것을 Capture Phase. Target 에서의 Event 를 Target Phase. 그리고 Target 에서 Root Node 로 다시 돌아오는 것을 Bubbling Phase 라고 한다. * addEventListener 를 걸 때, 세번째 인자인 useCapture 를 true 로 주게 되면, capturingPhase 시에 callback function 이 호출되고, 반대로 useCapture를 fa.. 2013. 5. 8.
반응형