본문 바로가기
[Java8 In Action] #3 람다 표현식 [Java8 In Action] #3 람다 표현식 Java8 In Action 내용을 보며 정리한 내용입니다.정리자는 기존에 Java8 을 한차례 rough 하게 공부한 적이 있고, Kotlin 역시 공부한 적이 있습니다.위의 prerequisite 가 있는 상태에서 추가적인 내용만 정리한 내용이므로, 제대로 공부를 하고 싶다면 책을 구매해서 보길 권장합니다! 3.1. 람다란 무엇인가? -람다 표현식은 메서드로 전달할 수 있는 익명 함수를 단순화 한 것이다. 익명 이름이 없으므로 익명이라 한다. 함수 메서드처럼 특정 클래스에 종속되지 않으므로 함수라고 부른다. 하지만 메서드처럼 파라미터 리스트, 바디, 반환 형식, 가능한 예외 리스트를 포함한다. 전달 람다 표현식을 메서드 인수로 전달하거나 변수로 저장할.. 2018. 12. 23.
Java bytecode 분석 Java bytecode 분석 http://arhipov.blogspot.kr/2011/01/java-bytecode-fundamentals.htmlhttps://en.wikipedia.org/wiki/Java_bytecode_instruction_listings -javap 는 java class file disassembler 이다.bytecode 는 위 javap 명령을 통해 볼 수 있다. -public class Foo { private String bar; public String getBar(){ return bar; } public void setBar(String bar) { this.bar = bar; } } 위 코드의 bytecode 는 아래와 같다. public class Foo ex.. 2018. 12. 19.
[android] Secure Coding Guide [android] Secure Coding Guide -Android Secure Coding Guide 라는 간략한 세미나를 듣고 왔다.새로운 내용은 없지만, 그냥 Remind 하는 차원에서 정리해본다. 최소 권한 : 불필요한 퍼미션 사용하지 말자. 안드로이드 6.0(MOS) 부터 Runtime Permission 이 되면서 문제가 적어지지만, 이전에는 과도한 권한을 사용하는 문제가 있었다.꼭 필요한 권한만 정의해서 사용하라.위치정보를 사용할 때는 국내 위치정보법에 따라 필수 5대항목 고지 등의 의무사항이 있으니 확인해야 한다. (기획적인 내용) 소스코드 보안 : 난독화 여부 Proguard 난독화를 사용해라.기본 Proguard 말고도 난독화를 해주는 보안강화 솔루션 들도 있다. ( 옵션을 잘 확인하.. 2018. 5. 24.
[network] SSL 에 대해 알아보장~ [network] SSL 에 대해 알아보장~ 기본 개념 -SSL 은 Secure Sockets Layer 의 약자 -SSL 은 서버 인증 (Server Authentication), 클라이언트 인증 (Client Authentication) 그리고 데이터 암호화(Data Encryption) 이렇게 3가지 기능을 제공하는 프로토콜이다.Netscape 사에서 만들었다. -SSL 을 사용하는 URL 은 https 라는 스킴을 사용한다. -SSL 3.0 의 업그레이드 버전부터는 TLS 로 이름이 바뀌었다.TLS 는 Transport Layer Security 의 약자. -1. 웹브라우저가 SSL 로 암호화된 페이지를 요청한다. (https scheme 사용)2. 웹 서버가 public key 를 인증서와 함께.. 2018. 5. 2.
[android 보안] 사용자 관리 #1 [android 보안] 사용자 관리 #1 출처 : Android Security Internals 4장개요 목차 4. 사용자 관리 4.1. 다중 사용자 지원 개요 4.2. 사용자 종류 4.2.1. 주 사용자(소유자) 4.2.2. 보조 사용자 4.2.3. 제한된 프로필 4.2.4. 게스트 사용자 4.3. 사용자 관리 4.3.1. 명령행 도구 4.3.2. 사용자 상태 및 관련된 브로드캐스트 4.4. 사용자 메타 데이터 4.4.1. 사용자 리스트 파일 4.4.2. 사용자 메타데이터 파일 4.4.3. 사용자 시스템 디렉터리 4.5. 사용자별 앱 관리 4.5.1. 앱 데이터 디렉터리 4.5.2. 앱 공유 4.6. 외부 저장소 4.6.1. 외부 저장소 구현 4.6.2. 다중 사용자 외부 저장소 4.6.3. 외부 저.. 2018. 4. 20.
[android 보안] 권한 #1 [android 보안] 권한 출처 : Android Security Internals 2장개요 목차 2. 권한 2.1. 권한의 본질 2.2. 권한 요청 2.3. 권한 관리 2.4. 권한 보호 수준 2.4.1. normal 2.4.2. dangerous 2.4.3. signature 2.4.4. signatureOrSystem 2.5.권한 할당 2.5.1. 권한과 프로세스 속성 2.5.2. 프로세스 속성 할당 2.6. 권한 적용 2.6.1. 커널 수준 적용 2.6.2. 네이티브 데몬 수준 적용 2.6.3. 프레임워크 수준 적용 2.7. 시스템 권한 2.7.1. signature 권한 2.7.2. development 권한 2.8. 공유 사용자 ID 2.9. 커스텀 권한 2.10. 공개 컴포넌트와 비공개 컴.. 2018. 4. 16.
[Objective-C] 객체 형식과 동적 결합 [Objective-C] 객체 형식과 동적 결합 출처 : OS X 구조를 이해하면서 배우는 Objective-C Chap 4. Notice : 정리자(돼지왕 왕돼지)가 remind 하고 싶은 내용이나 모르는 내용 기반으로 정리하는 것이기 때문에 구체적인 내용은 책을 사서 보시기를 권장드립니다. 4.1. 동적 결합 * 4.1.1. 동적 결합이란 -Objective-C 에서 어떤 객체가 그 메시지를 처리할 수 있는지 아니면 없는지, 어떻게 처리하는지는 실제로 메시지를 보낼 대 정해진다. 송신된 메시지에 대응해서 어떤 메시지가 실행될지가 실행 시에 결정되는 방식을 동적 결합 (dynamic binding) 또는 동적 구속이라고 부릅니다. -C 언어는 컴파일할 때 대부분이 정적으로 결정되므로 동적 결합 기능이 .. 2017. 12. 26.
[ios] Objective-C 와 Swift 동시에 사용하기 [ios] Objective-C 와 Swift 동시에 사용하기 https://developer.apple.com/library/ios/documentation/Swift/Conceptual/BuildingCocoaApps/MixandMatch.html Swift Code 에서 Objective-C 코드 사용하기-Swift Code 에서 Objective-C 코드를 쓰려면, Objective-C bridging header 가 필요하다.Xocde 는 Objective-C app 에서 Swift file 을 추가할 때, 혹은 그 반대일 때 이를 쉽게 만들 수 있도록 도와준다. 이 과정을 통해 만들어진 header 파일은 [productModuleName]-Bridging-Header.h 파일명을 갖는다. 이.. 2017. 12. 2.
OAuth 에 대해 간단히 개념잡기 OAuth 에 대해 간단히 개념잡기 http://ko.wikipedia.org/wiki/OAuthhttp://d2.naver.com/helloworld/24942 -OAuth 가 사용되기 전에는 표준 인증방식이 없어 기본인증인 아이디와 비밀번호를 무조건 사용 -> 보안상 취약 -consumer secret : 서비스 제공자에서 소비자가 자신임을 인증하기 위한 키request token : user 가 service provider 에게 접근권한을 인증 받기 위해 필요한 정보가 담겨있으며 후에 access token 으로 변환access token : user 가 consumer ( oauth open api 를 사용하여 개발한 서비스 ) 를 통해 service provider 에게 접근하기 위한 키. -.. 2017. 6. 9.
반응형