레이블이 links인 게시물을 표시합니다. 모든 게시물 표시
레이블이 links인 게시물을 표시합니다. 모든 게시물 표시

2018년 4월 19일 목요일

[links] PBKDF2, RSA-OAEP

PBKDF2

: https://en.wikipedia.org/wiki/PBKDF2

In cryptography, PBKDF1 and PBKDF2 (Password-Based Key Derivation Function 2) are key derivation functions with a sliding computational cost, aimed to reduce the vulnerability of encrypted keys to brute force attacks.

PBKDF2 applies a pseudorandom function, such as hash-based message authentication code (HMAC), to the input password or passphrase along with a salt value and repeats the process many times to produce a derived key, which can then be used as a cryptographic key in subsequent operations. The added computational work makes password cracking much more difficult, and is known as key stretching.


한글 설명과 그림으로 잘 설명하고 있는 글
: http://d2.naver.com/helloworld/318732

가장 많이 사용되는 key derivation function은 PBKDF2(Password-Based Key Derivation Function)이다. 해시 함수의 컨테이너인 PBKDF2는 솔트를 적용한 후 해시 함수의 반복 횟수를 임의로 선택할 수 있다. PBKDF2는 아주 가볍고 구현하기 쉬우며, SHA와 같이 검증된 해시 함수만을 사용한다.


출처 : 네이버 d2 게시물(링크참조)

PBKDF2의 기본 파라미터는 다음과 같은 5개 파라미터다.

DIGEST = PBKDF2(PRF, Password, Salt, c, DLen)
PRF: 난수(예: HMAC)
 : https://en.wikipedia.org/wiki/HMAC

Password: 패스워드
Salt: 암호학 솔트
c: 원하는 iteration 반복 수
DLen: 원하는 다이제스트 길이

위 네이버 d2 게시물(링크참조)


RSA-OAEP

https://en.wikipedia.org/wiki/Optimal_asymmetric_encryption_padding

In cryptography, Optimal Asymmetric Encryption Padding (OAEP) is a padding scheme often used together with RSA encryption. OAEP was introduced by Bellare and Rogaway, and subsequently standardized in PKCS#1 v2 and RFC 2437.

OAEP satisfies the following two goals:


  • Add an element of randomness which can be used to convert a deterministic encryption scheme (e.g., traditional RSA) into a probabilistic scheme.
  • Prevent partial decryption of ciphertexts (or other information leakage) by ensuring that an adversary cannot recover any portion of the plaintext without being able to invert the trapdoor one-way permutation.



: https://seed.kisa.or.kr/iwt/ko/intro/EgovPublicKey.do

RSA(Rivest, Shamir and Adleman)
RSA[25]는 공개키 암호 시스템으로 암호화와 인증에 사용된다. RSA는 일반 정수론적인 면에서 정의되었다. 이 시스템은 큰 수의 인수분해의 어려움에 안전성을 두고 있다. 전자 서명의 길이는 RSA 시스템에서의 키 길이와 같다. RSA 시스템을 깨는 문제가 인수분해 문제로 귀결된다는 완전한 수학적 증명의 부족과 인수분해 문제가 NP-hard임에도 불구하고, RSA는 수많은 국제기구의 표준일 뿐만 아니라 산업 표준으로 권장되고 있다.

ElGamal
이산 대수 문제의 어려움에 기반을 둔 최초의 공개키 암호 알고리즘인 ElGamal[26]은 1984년 스탠퍼드 대학의 암호 학자 T. ElGamal에 의해 제안되었다. ElGamal으로 암호화하면 메시지의 길이가 두 배로 늘어나는 특징이 있다. 하지만 암호화할 때 난수를 이용하므로 같은 메시지에 대해 암호화하여도 암호화할 때마다 서로 다른 암호문을 얻게 되는데, 이것은 정보보호 측면에서 큰 장점이 된다. RSA에서는 난수를 사용하지 않기 때문에 같은 메시지에 대한 암호문은 항상 같다는 특징이 있는데, 이것은 공격자가 암호문을 복호화하지 않고도 평문을 추측할 수 있는 단점이 된다. 그러므로 실제 적용 시 RSA는 난수를 사용하는 OAEP(Optimal Asymmetric Encryption Padding)이라는 난수화 패딩 알고리즘과 함께 사용된다.

2016년 4월 13일 수요일

[Links] Xamarin 관련 링크 모음, 설치

필요에 의해 Xamarin 관련 링크만 정리함.

Xamarin 사이트 및 소개
https://www.xamarin.com/
: http://www.slideshare.net/Xamarin/native-i-os-android-and-windows-development-in-c-with-xamarin-4

Getting Started
https://developer.xamarin.com/guides/android/getting_started/

Xamarin for Absolute Beginners
: 동영상 강의 기본적인 설치, 디버깅, 사용방법 관련
: https://mva.microsoft.com/en-US/training-courses/xamarin-for-absolute-beginners-16182?l=fPHWqptJC_5705846048

Xamarin 관련 PT들
http://www.slideshare.net/kmstechnology/cross-platform-mobile-development-with-c-and-xamarin
 . 실제 Xarmarin 전반 적인 내용과 pros and cons에 대해서 설명하고 있음.
http://www.slideshare.net/joekoletar/minnesota-entrprise-mobile-user-group-meeting
 . Xamarin 외 다른 Cross Platform 방법들과 비교

Xamarin Architecture
https://developer.xamarin.com/guides/android/under_the_hood/architecture/
: 간략한 Architecture 내용들. 사실 구글 이미지 검색하면 더 좋은 관련 이미지들이 나옴

Xamarin.Forms
https://www.xamarin.com/forms
: (동영상 소개) https://fast.wistia.net/embed/iframe/w2p6ayviev?popover=true
: (edX 온라인 강의) https://www.edx.org/course/introduction-xamarin-forms-microsoft-dev215x
: (Samples) https://developer.xamarin.com/samples/xamarin-forms/all/

Installation for Windows
https://developer.xamarin.com/guides/android/getting_started/installation/windows/

하지만 Xamarin 설치 시
Xamarin Unified Installer를 사용할 필요 없이
Visual Studio를 설치하면 Xamarin을 설치 할 수 있음.

확인은 Visual Studio Professional 2015 update 2 버전에서 확인하였으나
Visual Sutdio 2015 Community version에서도 Xamarin 설치 가능함. - https://www.visualstudio.com/products/visual-studio-community-vs

*Visual Studio Emulator for Android의 경우 "플랫폼 간 모바일 개발" > "일반 도구와 소프트웨어 개발 키트" > "Visual Studio Emulator for Android" 를 선택해서 함께 설치하면 되지만
혹시나 없으면 아래 링크에서 다운로드 하거나 Hyper-V 설치가 되어 있는지 확인 필요
 : 다운로드 : https://www.visualstudio.com/en-us/features/msft-android-emulator-vs.aspx
 : Hyper-V : https://technet.microsoft.com/ko-kr/library/hh846766.aspx#BKMK_Step1




2016년 2월 11일 목요일

[Link] C#, .Net Framework, Mono, Xamarin 소개 링크 정리 및 프로그래밍 가이드 링크

C#을 알아보며 링크만 정리함....

C# 소개


http://soen.kr/book/dotnet/book/2-1-2.htm

마이크로소프트에서 개발한 객체지향 프로그래밍 언어.
아네르스 하일스베르(덴마크어: Anders Hejlsberg), Turbo Pascal > Delphi > C#

  • C++와 자바에서 강한 영향을 받았고 대부분의 유사 feature가 포함되어 있음
    • 괜찮은 Language feature(Generic, Lamda, LINQ 등)들은 포함되는 추세
  • 특징
    • 완전한 객체 지향 언어, 전역 함수, 전역 변수 불가
    • Garbage Collection 지원
    • 엄격한 Data형 형식 확인, 문법 확인
    • 다중 상속, 디폴트 인수, 비트 필드 지원 안 함
    • 클래스간 프렌드 지정 불가

모바일, 윈도우, 인터넷 등 다양한 domain에서 사용됨
C#으로 개발된 결과물은 .NET framework과 Mono에서 동작 가능


https://namu.wiki/w/C%23

마이크로소프트에서 개발한 객체지향 프로그래밍 언어. '씨샵'이라고 읽는다. C++ 자바에서 강한 영향을 받았다. 이름의 유래는 두 가지에서 따왔다고 한다.# 첫번째 의미는 음악에서 유래한 것으로, 도(C)에 반음(#)을 올린 것.[1] MS에서는 출판물 등에서 키보드의 #(원래는 숫자를 의미) 대신 유니코드의 진짜 반음 올림 기호(♯, U+266F)를 쓰기도 한다. 두번째 의미는 많은 사람들이 알고 있듯이 C++++라는 뜻도 있다고 한다. ++++을 상하좌우로 박으면 #가 되기 때문.

https://en.wikipedia.org/wiki/C_Sharp_(programming_language)

The reference C# compiler is Microsoft Visual C#, which is open-source.[50]
Microsoft is leading the development of a new open-source C# compiler and set of tools, previously codenamed "Roslyn". The compiler, which is entirely written inmanaged code (C#), has been opened up and functionality surfaced as APIs. It is thus enabling developers to create refactoring and diagnostics tools.
Other C# compilers exist, often including an implementation of the Common Language Infrastructure and the .NET class libraries up to .NET 2.0:
  • The Mono project provides an open-source C# compiler, a complete open-source implementation of the Common Language Infrastructure including the required framework libraries as they appear in the ECMA specification, and a nearly complete implementation of the Microsoft proprietary .NET class libraries up to .NET 3.5. As of Mono 2.6, no plans exist to implement WPF; WF is planned for a later release; and there are only partial implementations of LINQ to SQLand WCF.[51]
  • The DotGNU project (now discontinued) also provided an open-source C# compiler, a nearly complete implementation of the Common Language Infrastructure including the required framework libraries as they appear in the ECMA specification, and subset of some of the remaining Microsoft proprietary .NET class libraries up to .NET 2.0 (those not documented or included in the ECMA specification, but included in Microsoft's standard .NET Framework distribution).
  • Microsoft's Rotor project (currently called Shared Source Common Language Infrastructure) (licensed for educational and research use only) provides a shared source implementation of the CLR runtime and a C# compiler, and a subset of the required Common Language Infrastructure framework libraries in the ECMA specification (up to C# 2.0, and supported on Windows XP only).

C# 언어 및 .NET Framework 소개

  • MS에서 개발한 프로그램 개발 및 실행을 관리하는 런타임.
    • 실행중인 프로그램을 처리하는 실행 엔진인 CLR(공용 언어 런타임, Common Language Runtime) 포함
    • 응용 프로그램에서 사용 가능한 .NET FCL(Framework Class Library) 포함
  • 주요 지원 언어
    • C#, Visual Basic .NET, C++, Iron Python, F#


https://msdn.microsoft.com/ko-kr/library/z1zx9t92.aspx

C# 프로그램은 CLR(공용 언어 런타임)이라는 가상 실행 시스템 및 통합된 클래스 라이브러리 집합이 포함된 Windows 필수 구성 요소인 .NET Framework에서 실행됩니다. CLR은 다양한 언어와 라이브러리가 매끄럽게 함께 작동하는 실행 및 개발 환경을 구축하는 데 기준이 되는 국제 표준 CLI(공용 언어 인프라)를 Microsoft에서 상업용으로 구현한 것입니다.
C#으로 작성된 소스 코드는 CLI 사양을 따르는 IL(Intermediate Language)로 컴파일됩니다. IL 코드와 리소스(예: 비트맵 및 문자열)는 일반적인 확장명이 .exe 또는 .dll인 어셈블리라는 실행 파일로 디스크에 저장됩니다. 어셈블리에는 어셈블리의 형식, 버전, 문화권 및 보안 요구 사항에 대한 정보를 제공하는 매니페스트가 포함되어 있습니다.
C# 프로그램을 실행하면 어셈블리가 CLR로 로드되고 CLR은 매니페스트에 포함된 정보를 기반으로 다양한 작업을 수행합니다. 그런 다음 보안 요구 사항이 충족되면 CLR은 JIT(Just In Time) 컴파일을 수행하여 IL 코드를 네이티브 기계어 명령으로 변환합니다. CLR은 또한 자동 가비지 수집, 예외 처리 및 리소스 관리와 관련된 기타 서비스를 제공합니다. CLR을 통해 실행되는 코드를 "관리 코드"라고도 하며, 이는 특정 시스템을 대상으로 하는 네이티브 기계어로 컴파일되는 "비관리 코드"와 대조적인 의미입니다. 다음 다이어그램은 C# 소스 코드 파일, .NET Framework 클래스 라이브러리, 어셈블리 및 CLR의 컴파일 타임 및 런타임 관계를 보여 줍니다.

C# 소스 코드에서 컴퓨터 실행으로


C# 프로그래밍 가이드

https://msdn.microsoft.com/ko-kr/library/67ef8sbd.aspx

MS C# 샘플 코딩 규칙
https://msdn.microsoft.com/ko-KR/library/ff926074.aspx

Hello World code

// A Hello World! program in C#.
using System;
namespace HelloWorld
{
    class Hello 
    {
        static void Main() 
        {
            Console.WriteLine("Hello World!");

            // Keep the console window open in debug mode.
            Console.WriteLine("Press any key to exit.");
            Console.ReadKey();
        }
    }
}


Mono

http://www.mono-project.com/
https://en.wikipedia.org/wiki/Mono_(software)
https://namu.wiki/w/C%23#s-3.2
https://ko.wikipedia.org/wiki/%EB%AA%A8%EB%85%B8_(%EC%86%8C%ED%94%84%ED%8A%B8%EC%9B%A8%EC%96%B4)

  • Cross Platform, Open Source .NET Framework
    • .NET Framework 호환
    • C# compile, Mono Runtime, .NET Framework Class library, Mono Class Library 포함
  • 현재 Xamarin (Ximian>Novel>Xamarin)에서 주도
  • Multi-Platform, Multi-Language Support
    • Android, Linux, BSD, OS X, Windows, Solaris, PlayStation 3, Wii, Xbox 360
  • Novell, Microsoft 와의 특허 문제가 있었으나 MS의 약속, .NET core의 오픈소스화로 우려 거의 없어짐 (확인 필요..)
  • 간략 history
    • 2000년에 MS에서 ECMA-335에 기반한 .NET framework 발표
    • 2001년 Mono Open Source Project 발표
      • Miguel de Icaza(Ximian 근무)가 Linux에서 .NET framework 동작에 관심을 가지게 되며 시작
    • 2004년 Mono 1.0 릴리즈, Linux외 다른 OS도 시작
    • 2011년 Novell 구조조정여파로  Mono팀이 Xamarin으로 이동
      • 이후 Xamarin에서 Mono 개발을 주도하며 iOS, Android등에 대한 지원도 시작.

Xamarin

https://www.xamarin.com/
http://www.slideshare.net/Xamarin/native-i-os-android-and-windows-development-in-c-with-xamarin-4
https://developer.xamarin.com/guides/cross-platform/getting_started/introduction_to_mobile_development/
http://www.slideshare.net/joekoletar/minnesota-entrprise-mobile-user-group-meeting?from_action=save
http://developer.rhino3d.com/guides/rhinocommon/what_are_mono_and_xamarin/
http://www.slideshare.net/gilbok/xamarinforms-mvp-comcamp-2015?qid=e862ad23-0b08-4dd7-8d0a-a4c911f7414f&v=&b=&from_search=1
http://www.slideshare.net/kmstechnology/cross-platform-mobile-development-with-c-and-xamarin


  • Cross-Platform App Development Platform/SDK?
  • 2011년 Mono 개발자들이 설립한 회사며 2016년 MS가 인수.
  • C# 언어와 Xamarin tool로 Native UI를 사용한 Android, iOS, Windows app들을 개발 가능
  • 장점
    • Cross-Platform Development in C#
    • Native UI, Native Performance
    • Reuse existing code
  • 단점
    • Requires platform development knowledge
    • Need Max OS X for iOS development
  • Products
    • Xamarin Platform
      • Xamarin Studio, Xamarin.Android, Xamarin.iOS, Xamarin.Mac
    • Xamarin.Forms
      • Native UI Control과 mapping 된 Portable UI Control Set
    • Xamarin Test Cloud
    • Xamarin Studio, Xamarin for Visual Studio




2015년 7월 27일 월요일

앱 홍보 방안 관련 자료 링크 모음 및 대충 정리

앱 홍보/마케팅 방법 관련 자료를 찾아서 대충 괜찮은 내용만 정리해 봄.

앱 홍보 시 중요한 것들 중 몇가지는 아래와 같아 보임

1. 앱의 품질이 앱 홍보/오랜 사용의 기본 조건
2. 높은 앱 순위가 최고의 홍보 방안
3. 개발자나 유저들과 소통할 수 있는 공간(블로그, SNS 등)은 필수 이나 사용 시기는 출시 전 부터
4. 잘 모르면 다른 업체의 마케팅 방안을 참고하는 것도 방법 이겠음.

--------------------------------------------

[모바일 앱 마케팅 활용 방안]

https://www.youtube.com/watch?v=uEDiVWz_eqY


동영상을 보며 정리함. 자세한 내용은 동영상이니 발표자분의 회사에 문의하는게 좋을 것임.


순위 상승 전략
1. 브랜딩, 2. 보상제공, 3. 노출 마케팅, 4. app 이벤트

앱 마케팅 => 앱 설치

마케팅 용어
- CPI : 앱을 다운로드, 설치 시 설치 건수에 대한 비용을 말하는 보상형 마케팅 방식
- 잔존률 : 앱 마케팅 종료 후에도 앱이 삭제되지 않고 남아있는 휴대폰의 유저들을 의미
- 진성유저 : 앱설치 대가의 유무를 떠나 직접적인 필요에 의해 앱설치 및 실행하는 유저들을 의미 (충성고객)
- 오가닉유저 : 마케팅에 상관없이 순수하게 앱을 설치, 실행하는 유저들을 의미
- 체리피커 : 마케팅의 실속만 채우고 앱을 삭제하는 유저들을 의미

앱 순위의 선순환 구조
앱 순위의 상승 > 앱 인지도 상승 > 오가닉유저 증가 > 진성유저 증가 > 앱 활동성 증가 > 앱 순위의 상승

순위 전략
- Android는 집중 프로모션을 해도 순위 상승을 위해서는 3-7일 정도가 필요하다. 단 자연 다운로드 유지 기간이 길다.
- iOS는 집중 프로모션 시 1,2일이면 순위가 상승하지만 자연 다운로드 유지가 급격히 떨어짐

앱 설치 대비 예상 순위 (1일 기준)
약 4만건 => 20-15위
약 2-3만건 => 30-25위
약 1.5만건 => 50위
약 1만건 => 80-100위


보상형 마케팅 

=> 사용자에게 리워드
- CPI가 상대적으로 저렴함. => 저렴한 앱 설치 비용
- 빠르게 마케팅을 집행 => 마켓내 빠른 순위 진입
- 많은 유저에게 홍보 => 순수 앱설치 유저 확보
- 방법 : 게임 (app 내 충전소, 리스트 리워드)
잠금해제형, 푸시형 리워드, 위젯 슬라이드, 팝업 등


부보상형 마케팅

=> 순수 의지에 따른 설치 유도
- 마케팅 후 잔존률 중시 => 지속적인 진성회원 확보 (보상형 보다 10배 정도 차이)
- 다양한 마케팅 채널 중시 => 설치 외 브랜딩 효과
- 방법 : 모바일 배너(별로임), 마켓, 푸시형(이미지+글), 아이콘 형(숏컷형, 앱 설치 바로가기를 바탕화면에 깔아 줌), 전면 광고형, 프리로드형


Google Play 순위 상승 요건
- 신규 설치 수가 높아야
- 앱 실행 빈도가 높아야
- 설치수가 매일 지속 되어야
- 앱이 삭제되지 않고 오래 유지 되어야
- 업데이트는 반영하지 않는 것 같음

=> 보상형 마케팅 : 단순 설치 보다 설치 + 실행 형이 순위에 큰 영향을 미침

- 앱의 퀄리티가 마케팅 후 에 순위 유지에 영향을 끼침

- 순차적 보상향 마케팅을 할 경우 각 차수간 프로모션 시 중복 참가자로 인해 순위 상승에 문제 있음. 이때 중복 제거형을 사용 하거나 하나의 앱으로 장기적인 집행이 필요함.

- 보상형 시 7-10일 지나면 cheery picker들이 모두 빠져 나가고 3-5%정도의 사람만 남음.
- 보상형과 무보상형의 차이는. 7일 후 무보상 시 35-43% 남음, 보상 시 4-6% 남음.

- 예산이 별로 없을 때는 보상형은 기피하고 모 보상형으로 가야 함.
- 예산이 충분할 경우는 보상향 1차(순위올림) + 무보상형 2차(방어)

- 앱 등록 시 스크린샷(깔끔해야 함)이 중요하다.
- 앱에 대한 문의, 반응을 응대 하는 방법이 필요 => 신뢰 상승
- 이벤트도 중요하다.

--------------------------------------------

[‘홍보, 돈이 없으면 못할까? NO!’ 5인의 홍보 담당자가 말하는 스타트업 마케팅]

http://platum.kr/archives/16704

플래텀 기사 보고 일부를 발췌함. 자세한 내용은 직접 기사를 보아야 함.



* 스타트업 대다수는 여러분과 같은 담당자를 별도로 두기 어렵다. 홍보담당이 없는 스타트업에서는 누가 이 역할을 해야하나?


김 : 담당이 없다면, 대표나 이사 등이 하는 것이 바람직하다고 본다. 이들은 회사 업무 전반에 대해 이해하고 있는 사람들이다. 작은 기업이고 별도의 홍보담당자가 없다면, 회사 사정을 잘 아는 사람이 담당하시는 게 좋다.

정 : 스타트업은 대표부터 인턴사원까지 모두 홍보 역할을 하는것이 중요하다. 스스로가 회사의 얼굴이라는 책임과 서비스를 알리는 의지가 필요하다.

>>> 홍보 담당자는 따로 없고 인턴부터 대표까지 누구나 할 수 있되 책임감을 가지고...

* ‘예산이 부족해 다양한 마케팅을 진행할 수 없다’라고 말하는 이들이 있다. 홍보에 반드시 지출이 필요한가?


김 : ... 지출이 없다고 홍보를 할 수 없는 건 아니다. 자체적으로 콘텐츠를 생산해서 이를 공개하는 방식이 있다.
대표적인 예로 애드투페이퍼는 개발 블로그를 열어 서비스에 대한 이야기를 들려주고 있고, 프라이스톤스는 로켓펀치의 주 타깃고객인 ‘개발자’ 관련 콘텐츠(개친연)를 지속해서 내놓고 있다. 가치 있는 콘텐츠이기 때문에 유저가 자발적으로 확산시키고, 실제로 꽤 많은 분이 보고 있다.

정 : 그래서 초반에는 별도의 지출 없이 가능한 모든 방법을 동원해서 액션을 취해야 한다. ... SNS계정을 운영하거나, 까페에서 활동할 때도 마찬가지다. 스스로 댓글 알바생도 되어야 하고 여러개의 계정을 관리해야 한다.
홍보비용의 발생은 외부 행사에 부스를 운영하거나 참여할 때 발생한다. 이 때는 회사를 정말 효과적으로 전달할만큼 기발한 아이디어가 아닌 이상, 형식적인 볼펜이나 수첩같은 기념품은 만들지 않는편이 나은것 같다. 차라리 서비스에 대해 잘 정리된 1장짜리 리플릿을 만드는 편이 낫다. 하지만, 무조건 비용을 쓰지 않는것이 능사는 아니다.

>>> 블로그를 통해 콘텐트를 생산하여 공개한느 방식은 유저들로 호응과 공유가 높다. (앱 링크 홍보 가능) 여러 SNS를 관리하되 적절한 성격의 SNS를 선택해야 할 듯


* 스타트업 상당수는 SNS를 활용한 온라인 홍보의 비중이 절대적으로 높다. SNS를 활용함에 있어 어떤 부분에 중점을 둬야 할까? 그리고 병행해서 효과적인 오프라인 홍보 방법은 어떤것이 있을까?


이 : 스타트업일 수록 블로그, 페이스북, 트위터 등에 익숙해 져야 한다. 단순히 소셜미디어라는 이유이기 때문이 아니라 온드 미디어(Owned Media), 즉 기업이 온연히 기업의 목소리로 이야기를 내 놓고 고객과 직접 커뮤니케이션 할 수 있는 공간으로서 큰 역할을 할 수 있기 때문이다.
스타트업의 경우 고객 뿐 아니라 많은 사람, 조직들에게 인지도가 낮기에 신뢰도가 높지 않기 마련이다. 하지만 검색을 했을 때, 그 기업이나 서비스에 대해 검색되는 결과가 많고, 그 결과가 신뢰도가 높을수록 그 기업이나 서비스에 대한 신뢰도도 높아지는 것은 너무 당연한 일이다.

기업의 공식 블로그는 검색의 결과로 활용되어 기업과 서비스에 대한 신뢰도를 높여주는 역할을 한다. ... 현재까지 블로그와 트위터, 페이스북 만큼 비용을 절감할 수 있는 이벤트 툴은 없다.
좋은 아이디어와 전략을 세운다면 ‘검색 키워드 광고’의 효과도 노려볼 수 있다.

정 : SNS는 채널에 대한 이해를 높이고 특징을 잘 파악하고 실행해야 한다. 지금은 페이스북이나 카카오스토리같은 SNS채널이 홍보에 비중있는 채널로 떠올랐다. 반면, 트위터는 전에 비해 홍보 효과가 오히려 낮아진듯 싶다. 오프라인 전단지 배포의 경우에도 홈페이지 가입이나 SNS유입까지 고려해서 설계하는것이 좋다.

김 : 페이스북은 해야한다. 블로그는 포털에서 검색시 회사명이나 서비스명 노출이 된다는 점, 회사의 히스토리를 모아서 보여준다는 점에서 필요. 서비스가 B2C인지 B2B인지, 타깃 유저에 따라서 얼마나 다른지도 중요한 요소이기 때문이다. 예를들어 타깃 유저의 연령대가 높다거나, 주부 등이라면 꼭 카카오스토리도 해야 한다고 생각한다. 해당 연령대, 계층의 유저가 많이 활용하고 있기 때문이다.

>>> 인지도를 높이기 위해서 블로그, 페이스북, 트위터 등을 잘 활용하고 고객과 커뮤니케이션 할 수 있어야 한다.
블로그의 콘텐트가 꾸준히 쌓인다면 고정 독자가 늘고 검색 및 홍보를 위한 이벤트 툴이 될 수 있다.
홍보 타겟에 맞는 SNS를 선택해야 한다.


위 질문 외 스타트업들에게 홍보에 대해 이야기해주고 싶은 부분이 있다면?


이 : ‘내 수준이 곧 우리 회사의 홍보 수준이 된다’

김 : 앞서 질문에서 말한 것처럼 확산할 가치가 있는 콘텐츠, 회사와 연관성이 높은 콘텐츠, 향후 사업에 도움이 될 이미지를 심어주는 콘텐츠를 제작하고 이를 확산시키는 것이 중요
핸드스튜디오의 경우 부정기적으로 자체 생산하는 스마트TV 산업 관련 리포트를 슬라이드쉐어에 올리고, 스마트TV 산업을 전혀 모르는 분들을 위해 플래텀에는 ‘손에 잡히는 스마트TV’ 라는 이름의 칼럼을 기고하고 있다. 월간 W.E.B에는 스마트TV 개발 방법에 대해 기고하고 있다. 이런 내용들은 회사 블로그를 통해 누적시키고, 이것을 통해 관련 분야에 관심이 있는 분들을 끌어모으고 있다.

서 : 조급해 하지 않는게 중요한 것 같다. 그리고 허황된 셀링이 아닌, 진심과 본질이 담긴 한두개 키워드 중심으로 커뮤니케이션 하는게 중요

>>> 꾸준한 콘텐트 생산을 바탕으로한 홍보 준비가 필요

--------------------------------------------

[앱성공을 위한 홍보가이드 - 홍보의 신]

http://monthly.appstory.co.kr/plan3463

기사를 보며 내용을 일부 정리함. 역시나 자세한 내용은 기사를 봐야 함. 내용이 좋음.

>>> 유투브 동영상 - 국내/해외 대상 트레일러/사용리뷰 업로드를 통한 홍보별도의 가입절차가 필요 없으며 전세계 누구나 미디어 콘텐츠를 시청할 수 있는 플랫폼인 유투브는 자신을 뽐낼 수 있음과 동시에 기업 또한 자사의 제품을 홍보할 수 있는 대표적인 공간이다. 이를 앱 홍보에 활용할 경우, 국내 뿐 아니라 해외에서도 앱을 알릴 수 있는 장점이 있다. 유투브를 통한 앱 홍보는 크게 ‘트레일러(Trailer, 예고편)’와 ‘사용리뷰’로 나뉜다.

>>> 배너 광고는 별로다.광고가 나온 페이지나 바를 터치하면 즉각 스토어로 연결되기 때문에 언뜻 보기엔 사용자에게 앱을 알릴 수 있는 최고의 홍보 방식으로 볼 수 있다. 하지만 사용자 입장에서 광고는 광고일 뿐, 실제 다운로드까지 연결되는 비율은 낮은 편이다.

>>> 스토어 앱 랭킹이 깡패
스토어의 앱 랭킹은 사용자로 하여금 다운로드를 유도하게 하는 최고의 수단이다. 상위권에 올랐다는 것은 많은 사람들이 앱을 다운 받았다는 것을 증명하며 이는 앱의 완성도를 간접적으로 입증하는 것이다. 이에 많은 개발업체들이 앱 랭킹에 진입하기 위해 혈안이 되어 있으며, 앱 출시와 동시에 상위랭킹에 진출하지 못하면 이는 시장에서 사장되는 것과 마찬가지로 보고 있다.

>>> 앱의 퀄리티가 롱런을 위한 기본 조건다만, 아무리 랭킹을 올렸다한들 앱의 퀄리티가 떨어진다면 안한 것만 못한다. 받자마자 삭제버튼에 손이 가는 앱은 개발업체의 브랜드가치마저 떨어뜨릴 것이다.
개발한 앱의 퀄리티가 다른 앱들에 비해 압도적이거나 특색이 있으면 상위랭킹에 진입하는 것을 흐뭇하게 지켜볼 수 있을 것이다.

간단한 서비스라도 사용자가 애정을 가지고 사용할 수 있게 하고 내 가족에게 소개하고 싶은 서비스를 만들자 라는 것이다. 이는 앱의 완성도를 뜻하는 것이며 결국 앱이 훌륭해야 마케팅도 필요해진다고 생각한다.

회사방침으로 ‘좋은 제품이 가장 좋은 홍보 수단이다’를 내세우고 있다. 퀄리티가 높은 앱은 사용자들의 입소문을 타게 되고 웹과 SNS를 통해 빠른 속도로 홍보된다


>>> 이벤트는 랭킹을 상승하게 한다.
유료 앱을 무료로 전환하거나 할인하는 방법이다. 이는 초반에 비해 인기가 떨어진 앱을 홍보하는 데에 유리하다. 할인이나 무료이벤트가 시작되면 앱에 대한 정보를 제공해주는 앱이나 사이트에 소개가 되며 이로 인해 랭킹이 급상승하게 된다.

>>> 댓글 이벤트는 앱 다운로드를 높이는데 효과
마지막으로 댓글 이벤트가 있다. 흔히 사용자들이 다운로드 받을 앱을 검색할 때 눈여겨 보는 것이 ‘댓글의 개수’다. 요약된 리스트에선 앱의 대표 이미지와 댓글의 개수만 주목되기 때문이다. 댓글의 개수가 많을수록 좋은 앱이라는 생각이 들게 되고 다운로드 단계까지 순조롭게 연결된다.

>>> 블로그나 페이스북은 운영은 반드시 필요하고 여력이 된다면 언어별로 제공하는 것도 방법
개발업체에서는 업데이트 사항이나 버그 수정, 깜짝 이벤트 등을 개최하면서 앱에 대한 사용자들의 관심이 유지되는 효과를 누릴 수 있다. 사용자 입장에서도 앱에 대한 자신의 생각을 바로 작성함과 동시에 개발자의 답변을 받을 수 있으니 신뢰감도 조성된다. 여기에 페이스북은 ‘좋아요’, 트위터는 ‘팔로우’ 기능을 적극적으로 활용해주면 사용자 수를 더욱 늘릴 수 있다. 또한 글로벌 진출까지 고려하고 있다면 SNS에 한국어 외 다른 언어로 동일한 내용을 전달해주는 것이 좋다. 

>>> 직접적인 홍보 보다는 바이럴 마케팅이 필요, 단기간은 안된다.
거듭 강조하지만 B2C 서비스는 인위적 홍보를 통해 유입되는 고객보다는 바이럴한 입소문을 통해 유입되는 것이 효과적이라고 본다. 
하지만 최근 들어 새롭게 창업을 준비하는 사람들에게 해주고 싶은 말은 ‘수개월 내에 성과를 볼 수 있는 것은 B2C 서비스에서 거의 불가능하다’라는 것이다. 몇몇 성공사례는 분명 존재한다. 하지만 이는 하나의 도박과도 같다. 

>>> 런칭 이전 칼럼을 통해 사전 사용자 확보, 바이럴 마케팅, 1위
비타마인드는 교육 및 자기 개발 카테고리로 분류되는 앱이기 때문에 연관이 있는 카페에 뇌파 프로그램 관련 칼럼을 작성하며 런칭 2~3개월 전부터 꾸준히 독자들을 확보해뒀다. 그 결과 약 300명의 독자를 확보할 수 있었다. 그 중 약 100명이 런칭 때 구매와 동시에 입소문까지 퍼트려준 턱에 약 2주 만에 숙면닥터(유료 건강 카테고리)와 스터디 파워(교육 카테고리) 앱이 각각 1위에 올랐다. 유료 카테고리의 특성상 소수의 다운로드로도 순위권에 진입할 수 있지만 앱의 희소성, 콘텐츠, 디자인과 같은 완성도와 함께 이를 뒷받침해주는 맞춤형 홍보 전략이 없었다면 지금의 비타마인드는 없었을 것이다.

>>> 까페 및 개발자와 소통, SNS 등의 활용 필요
이러한 카페 홍보와 같은 무비용 마케팅은 할 수 있는 한도 내에서 최대한 활용해야 한다. 스마트포털 팟게이트는 중소 앱 개발업체에 있어 매우 유용한 홍보도구다. 리딤코드 리뷰 이벤트, 하루만 할인, 하루만 무료, 개발자 타운 등 제공하는 모든 기본 홍보수단도 활용해보는 것을 추천한다. SNS를 활용한 홍보도 부지런히 움직인다면 높은 성과를 낼 수 있다. 특히 페이스북 마케팅, 팬 페이지 개설 및 꾸준한 운영은 이제 선택이 아닌 필수라고 본다. 사용자들과 개발자가 눈높이를 맞출 수 있는 공간임과 동시에 상업적인 요소도 갖추고 있어 소통, 홍보, 수익에 큰 도움이 된다. 


--------------------------------------------

[모바일앱 시장현황 및 마케팅을 위한 25가지 방법]

: http://www.slideshare.net/makiind/25-9364639
PT를 보고 일부 정리함. 전체 내용은 PT를 참고하되 PT에서도 일부 빠진 부분은 있음.

1. 카테고리 상위 순위를 노려라
2. 앱 콘텐츠를 검색에 최적화 하라.
 : 검색 키워드를 포함시켜 이름을 지어라
 예) 다음 - 뉴스, 브라우저, 프로야구, 조용한카메라(무음/뛰어난화질/볼륨버튼촬영)
 1. 다음 트렌드, 구글 검색 통계를 이용해 주요 검색어 체크
 2. 앱과 관련된 인기 단어를 검색 해 제목과 설명에 포함
 3. 블로그, 유튜브, 앱 웹사이트, 메타 태그 등에도 앱 관련 콘텐츠와 단어를 넣는다.

4. 가치 있는 콘텐츠를 제공하라.
5. 앱 리뷰를 요청하라
 : 앱 리뷰 사이트 및 관련 영향력자
 : http://www.androidb.com/2013/07/android-review-sites-the-ultimate-list-to-help-market-your-app/
 : http://mobiledevices.about.com/od/additionalresources/tp/Top-6-Android-App-Review-Sites-For-Developers.htm

6. 나만의 홍보물을 만들어라
7. 앱 론칭 파티를 기획하라.
 : 앱 로고가 박힌 다양한 기념 상품, SNS 생중계, 블로거 초청
8. 앱 론칭 시 제휴 마케팅을 하라
9. 사용자가 자발적으로 홍보하게 하라.
 : 트위터, 페이스북 공유 버튼을 앱 안에 눈에 뛰게 만들어 넣어라.
 : contact과 연동
 : 좋은 리뷰를 더 볼 수 있게 링크를 단다.
 : 사전 문구를 미리 만들어 넣고 앱스토어 링크도 반드시 첨부
10. 앱 피드백을 꼼꼼히 살펴라
13. 앱 공식 블로그를 만들어 소개하라.
 : 새로운 앱 기능 포스팅, 로그분석, 블로그 콘텐츠를 보낸다. 메타블로그(다음뷰) 홍보
 : 좋은 콘텐츠에 반응
 : 콘텐츠에는 앱 스토어로 연결된 링크가 반드시 필요.
14. 앱 공식 SNS 계정을 만들어라
 : 앱 계정, 펜페이지를 만든다.
 : 앱에 SNS에 연결하는 기능 추가
 : SNS 프로필에 앱 아이콘을 넣어 인지도를 높임.
15. 유튜브에 프로모션 영상을 올림
16. QR 코드로 홍보
 : 앱 주소로 연결되는 QR 코드를 만듬
17. 슬라이드쉐어에 PT를 올려라.
 : 스크린샷, 기능, 혜택, 설명을 자세히 잘 씀
 : 텍스트는 검색에 노출되므로 적절한 키워드 삽입
 : 회사 사이트나 앱 링크를 첨부함.
18. 온라인 커뮤니티의 일원이 되어라.
 : 키뮤니티 일원이 되어 앱을 적절히 홍보, 무작정은 아니라 질문에 답을 한다던지 정보성 내용을 전하는 방식으로 커뮤니티에 도움이 되어야 함.
 : 앱 홍보가 커뮤니티 정책에 어긋날 경우, 부정적인 선입견을 줄 수 있음.
19. 링크드인에서 타겟 고객을 찾음
 : 링크드인에는 수십만개의 그룹이 있다.
 : 그룹 안에서 새로운 앱에 관련된 블로그 글이나 뉴스 링크를 올림
 : 링키드인 프로필에는 앱의 사이트 주소를 올리고 PT를 첨부함.
20. 문답 사이트에서 궁금증을 풀어줘라.
 : 성실한 답변은 제품에 대한 신뢰도를 높이고 자연스럽게 홍보효과를 제공
21. 온라인 문서들에 앱 링크를 포함한다.
 : 이메일 하단 서명란에 앱 링크를 포함한다.
 : 운영중인 뉴스레터에 앱 정보를 제공한다.
23. 모바일 광고를 활용하라
 : 나이, 성별, 지역, 디바이스로 타겟팅 된 분석을 제공하는 광고를 활용하라.
24. 이벤트를 기획하라
 : 소식을 사이트 소개, 트위터, SNS등을 통해 전파
25. 문자홍보, SNS 캠페인을 할 때 링크를 넣어라.

실수
1. 지나치게 복잡한 앱을 만든다.
2. 콘텐츠는 괜찮은데 아이폰, 아이패드에 어울리지 않는다.
3. 사용자 모니터링을 하지 않는다.
4. 기존 고객 명단을 잊는다.
5. 앱 먼저 만들고 그 다음 마케팅

2015년 4월 2일 목요일

ReactJS, React Native 참고 resource들 링크 정리

여기저기서 React.js에 대한 얘기들이 나오길래 찾아봄.

https://facebook.github.io/react/index.html


  • 페이스북이 Web User Interface를 만들기 위해 만든 JavaScript Library.
  • Model-View-Control 패턴 중 View를 위한 component를 만드는 방법을 제공 하고 있음.


ReactJS의 특징

  • JSX(JavaScript XML)
    • XML 기반의 JavaScript 확장 문법이며 Virtual DOM을 생성하기 위해 사용된다.
  • Virtual DOM 
    • JavaScript Object Graph를 저장하고 있으며 변환단계를 거처 HTML DOM을 생성 한다고 함.
    • 변환 시 차이점을 파악하여 업데이트하는 방법을 사용하므로 빠른 DOM 조작 성능을 제공한다고 함
  • 단방향 데이터 바인딩(Unidirectional Data Flow)
    • 데이터 바인딩을 props, state를 사용하도록 제한 하여 디버깅을 쉽게 하고 성능을 높인다고 함.


[그것이 알고 싶다 – Spinbox로 React 겉핥기]
http://wit.nts-corp.com/2014/11/19/2584
: 제목과는 다르게 한번 보면 아 이런 거구나 알 수 있는 포스팅.

[REACTJS 둘러보기 – XHP부터 REACT NATIVE까지]
http://taegon.kim/archives/5097
: React가 나오게 된 배경, ReactJS, React Native에 대한 설명

[영문 Resources]


https://code.facebook.com/
conference 비디오 자료들이 있음.

[Learning React.js: Getting Started and Concepts]
: https://scotch.io/tutorials/learning-react-getting-started-and-concepts
: 간략하게 React.js 컨셉에 대해서 쉽게 설명한 영문 문서

> Unidirectional Data Flow 설명
 : https://scotch.io/tutorials/learning-react-getting-started-and-concepts
사실 JavaScript 초짜인 나에게는 좀 이해가 잘 안되는 개념이다. 그냥 바인딩 하는 방법을 제한한 것만 같아서 React.js에서 디버깅말고 성능 개선 이점의 이유를 잘 모르겠음.

[Intro to the React Framework]
: http://code.tutsplus.com/tutorials/intro-to-the-react-framework--net-35660
: 자세하게 React.js의 컨셉을 설명하는 좀 긴 문서, MVC 패턴부터 설명한다.

> What Makes React Different?
 ReactJS의 특징을 좀 더 자세히 설명해 주는 부분

> Component Lifecycle
 Component Life cycle에 대한 설명

http://open.bekk.no/easier-reasoning-with-unidirectional-dataflow-and-immutable-data
이건 좀 나중에 봐야 겠다.

[React Native]



[React Native]
: http://dalinaum.github.io/react/ios/2015/03/27/hello-react-native.html
 React Native 샘플을 만드는 포스팅



2014년 10월 20일 월요일

Android WebView

Android WebView 관련 궁금한 것들 찾아봄.


[General]

API Reference
: http://developer.android.com/reference/android/webkit/WebView.html

Tutorial with Android Studio
https://developer.chrome.com/multidevice/webview/gettingstarted

Building Web Apps in WebView
http://developer.android.com/guide/webapps/webview.html

Pixel-Perfect UI in the WebView
https://developer.chrome.com/multidevice/webview/pixelperfect

WebView를 이용한 App 개발 tutorial
 by 제트스윙(http://www.zetswing.com)

http://www.zetswing.com/bbs/board.php?bo_table=java_04&wr_id=2
  http://www.zetswing.com/bbs/board.php?bo_table=java_04&wr_id=3
    > Android 버전별 file chooser 동작 이슈 해결 방법 설명
  http://www.zetswing.com/bbs/board.php?bo_table=java_04&wr_id=5


[Chrome based WebView (Android 4.4.3 later)]

아래 링크에서 언급된 것 처럼 Android 4.4.3(KitKat)에서 부터 Chrome 기반 WebView가 사용되고 있다고 함.
 . Android 4.4.3에서는 Chrome 30.0.0.0 기반 WebView가 사용되고 있음.
 . Android L Developer Preview에서는 36.0.0.0 기반이 사용되고 있다고 함.
   : https://developer.chrome.com/multidevice/webview/overview
   : Android 5.0 LOLLIPOP에서는 37.0.0.0 기반이며 System WebView를 제공하여 Google Play Store를 통해 업데이트 되어 파편화 문제가 사라짐.
    > http://youtu.be/HHXwsgw7M8s?t=3m13s


WebView User Agent 
https://developer.chrome.com/multidevice/user-agent#webview_user_agent
Old WebView UA:Mozilla/5.0 (Linux; U; Android 4.1.1; en-gb; Build/KLP)AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Safari/534.30
New WebView UA:Mozilla/5.0 (Linux; Android 4.4; Nexus 5 Build/_BuildID_)AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/30.0.0.0Mobile Safari/537.36

Supporting Chrome(for Android)'s feature 
WebView v30WebView v33WebView v36
WebGLxx
WebRTCxx
WebAudioxx
Fullscreen APIxxx
Form validationx
Filesystem APIxxx
File input typexxx
<datalist>x
잘모르겠고 Android 5.0 LOLLIPOP의 WebView에서는 WebRTC가 된다는 말인가?
WebRTC의 자세한것은 => http://www.html5rocks.com/ko/tutorials/webrtc/basics/


Supporting hardware sensor APIs on new WebView
WebView v30WebView v33
Geolocation API
(requires
android.permission.ACCESS_COARSE_LOCATIONand/or
android.permission.ACCESS_FINE_LOCATIONpermissions)
Device Orientation APIxx
Media Capture and Streamsxx
Vibration API
(requires android.permission.VIBRATEpermission)
x
LOLLIPOP에서는 Vibration API가 지원된다는 얘기 이고 vibrations API는 아래 참고
=> https://developer.mozilla.org/ko/docs/Web/Guide/API/Vibration/Vibration


[Interface between JavaScript and Native]

아래 링크 참조
http://developer.android.com/guide/webapps/webview.html#UsingJavaScript

WebView myWebView = (WebView) findViewById(R.id.webview);
WebSettings webSettings = myWebView.getSettings();
webSettings.setJavaScriptEnabled(true);
1. WebView를 생성
2. WebView의 WebSettings의 setJavaScriptEnalbed(true) 설정

public class WebAppInterface {
    Context mContext;

    /** Instantiate the interface and set the context */
    WebAppInterface(Context c) {
        mContext = c;
    }

    /** Show a toast from the web page */
    @JavascriptInterface
    public void showToast(String toast) {
        Toast.makeText(mContext, toast, Toast.LENGTH_SHORT).show();
    }
}
WebView webView = (WebView) findViewById(R.id.webview);
webView.addJavascriptInterface(new WebAppInterface(this), "Android");
3. JavaScript interface class 구현 및 설정

<input type="button" value="Say hello" onClick="showAndroidToast('Hello Android!')" />
<script type="text/javascript">
    function showAndroidToast(toast) {
        Android.showToast(toast);
    }
</script>
4. Javascript에서 Native 호출


addJavascriptInterface를 좀 더 들여야 보면
http://developer.android.com/reference/android/webkit/WebView.html#addJavascriptInterface(java.lang.Object, java.lang.String)

- Interface class의 method들 중
 . JELLY_BEAN_MR1 이상 : public method들과 @JavascriptInterface 명시된 것들만 호출
 . JELLY_BEAN 이하 : 모든 public method들이 호출 된다.
 => WebView를 사용한 app이 의도치 않은 JELLY_BEAN 이하 버전에서 동작할 때 webview interface의 모든 methods들이 호출 될 수 있으므로 보안상 신중하게 interface를 구현할 필요가 있음.

- JavaScript는 WebView의 private, background thread와 연동되므로 thread safety를 염두 해야 한다고 한다.. 실제예는 안 찾았음.
- Android 5.0 LOLLIPOP API level의 application의 WebView에서는 injected된 Java object의 methods들이 JavaScript에서 확인 가능하다고 한다.. 안해봄..
- Interface class의 method들은 primitve를 사용하는게 기본이겠지만 어떤 사람들은 JSONObject, JSONArray도 사용 가능하다고 한다..  안되면 그냥 stringify해서 넘기면 될듯
 => http://stackoverflow.com/questions/2250917/passing-a-javascript-object-using-addjavascriptinterface-on-android
 Java object를 넘겼다는 사람도 있는데 봐도 이해가 안되고 왠지 그대로 하다가 고생할것 같다.. => http://stackoverflow.com/questions/21173888/how-to-pass-non-primitive-object-from-java-to-js-by-android-addjavascriptinterfa


[Android 버전별 WebView 이슈들]

Migrating to WebView in Android 4.4
: https://developer.android.com/guide/webapps/migrating.html

kitkat(4.4)에서 맞닥뜨린 이슈 및 해결
by marojun
https://medium.com/marojuns-android/kitkat-4-4-%EC%97%90%EC%84%9C-%EB%A7%9E%EB%8B%A5%EB%9C%A8%EB%A6%B0-%EC%9D%B4%EC%8A%88-%EB%B0%8F-%ED%95%B4%EA%B2%B0-1ecb94c24694

버전별 WebKit 버전
by Padgom
: http://padgom.tistory.com/entry/Android-%EB%B2%84%EC%A0%84%EB%B3%84-Webkit-%EB%B2%84%EC%A0%84

@JavascriptInterface
Caution: If you've set your targetSdkVersion to 17 or higher, you must add the @JavascriptInterface annotationto any method that you want available to your JavaScript (the method must also be public). If you do not provide the annotation, the method is not accessible by your web page when running on Android 4.2 or higher.



[Remote Debugging on Android with Chrome]
: https://developer.chrome.com/devtools/docs/remote-debugging


[기타]

찾다 보니 Mozilla GeckoView도 있구나..

HTML5의 충실한 지원으로, Android WebView를 대체하는 View로 충분한 Mozilla GeckoView 사용하기.. by 코딩한줄에 12시간
: http://sjava.net/?p=471


WebView attack 관련 논문
선 링크 후 분석...
http://www.cis.syr.edu/~wedu/Research/paper/webview_acsac2011.pdf