Regular Motion

개발자가 상팔자

Category: library

[Library Naming] Package Naming과 관련된 이야기.

외부 Library를 가져와서 사용하다 보면 package 들의 공통점이 있다.

80% 이상의 Library들이 com.(ex: com.android.Activity)으로 시작한다는 것이다.

물론 나도 이유도 모른체 com.ecofocus.모듈명 이런식으로 이름을 짖기 시작했다.

문득 그 이유가 궁금해지기 시작해서 구글링을 해서 좀 알아봤다. 

이유인 즉슨, 소스가 점점 오픈소스화 되어가고, 모듈화 되어 가면서 외부 Library나 Package를 

가져다가 쓰게 되는 경우가 점점 많아지게 되었는데 이때 서로 충돌이 나지 않도록 (Package 이름이

동일한 경우를 예방하도록) 암묵적인 을 만들어 사용하고 있다고 한다.

암묵적인 룰은 아래와 같다.

회사일 경우

com.회사이름.모듈네임

 

단체일 경우

org.단체이름.모듈네임 

 

개인일 경우

pe.ID값.모듈네임 

 
필요해 의해 생겨난 룰인 만큼 지켜주면 좋을 것 같다!!! 

[Library] MP3 태그를 수정할 수 있는 Library!

Android의 치명적인 버그중 하나는 바로 MP3 태그가 한글(사실 영어를 제외한 언어로 보는게 맞다)로 

되어 있을 경우 정상적으로 출력되지 않는 경우가 많다는 것이다.

위와 같은 문제가 발생하는 이유는 framework내에 버그가 존재하기 때문인데 버그는 아래와 같다.

ID3tag내에 정보는 한글로 채워져 있는데 encoding에 정보가 명시적으로 정의되어 있지 않은 경우 

이를 UTF-8로 인코딩해서 처리하기 때문에 발생하는 문제로 보인다.

위와 같은 문제를 피해서 한글로 태그정보를 입력하기 위해서는 EUC-KR로 encoding해서 입력하는

방법이 있다.

MP3 Tag정보를 수정할 수 있는 JAVA 기반의 Library는 많이 나와있으나 여기서는 사용하기 가장

편리하고 업데이트도 꾸준히 되는 jaudiotagger를 사용하는 것을 권고한다.

jaudiotagger사용법은 아래와 같다. 

참고 : http://www.androidpub.com/471907 
         http://www.jthink.net/jaudiotagger/       <- Library를 다운 받을 수 있는 사이트

[Library] StringDistance(문자열 유사도) 검사하는 Library

가끔 정말 가끔, 2개의 문자열이 얼마나 비슷한지 체크해야 되는 경우가 있다.

예를 들면
1) I went to school.
2) I want to Squall.

위의 2개의 문자열이 있다고 가정할 때 2개의 문자열이 실제로 얼마나 비슷한가를

구해야하는 경우가 가끔 있다.

이때 사용하면 좋은 Library를 소개한다.

일명 SecondString이라고 불리는 Library다.

Library 관련 정보는 http://secondstring.sourceforge.net/ 사이트에 가면 얻을 수 있고

어떠한 알고리즘으로 구현되었는지는 http://secondstring.sourceforge.net/doc/iiweb03.pdf  

위의 문서를 탐독하면 알 수 있다.

문서는 영어로 작성되어 있고, 처음보는 수학기호들이 많이 존재하며, 그냥 많이 어렵다.

문자열 알고리즘을 개선하고자 함이 아니라면 그냥 Library만 가져다 쓸 것을 권장한다.

Example)

JaroWinkler jaro = new JaroWinkler();
StringDistance distanceChecker = jaro.getDistance();

double similarity =  distanceChecker.score(string1, string2);

위와 같이 사용하면 된다. score는 double값을 반환하는데 1에 가까울수록 2개의 문자열이

비슷하다는 것을 의미한다.

Class Description을 보면 이 외에도 정말 많은 기능을 제공하지만 우선 필요한 기능은 

이것뿐이다.

Go! and Coding!

[Android Lib] 1. Twitter4j

1. Twitter4j란?
   Android App에서 Twitter API를 사용하가 쉽게 해주는 Library.
   http://twitter4j.org/en/index.html 사이트에서 Android용으로 packaging된 jar파일을
   받아서 import하여서 사용하면 된다. 대부분의 Twitter 기능을 Android 함수로 제공하기
   때문에 쉽게 개발할 수 있다.

2. 인증하기
 
 xAuth 방식과 oAuth방식이 있다.
   1).xAuth : api@twitter.com (Twitter Support Team) 으로 앱에 대한 간단한 설명을
      첨부한 메일을 보내면 Twitter에서 직접 Application 자체를 인증해주는 방식이다.
      인증후에는 App에서 id와 pwd로 Log-in이 가능하기 때문에 사용하는 입장에서 훨씬
      편하다.

   2) oAuth : Twitter Site를 통해서 인증을 하는 방식이다. oAuth를 사용하게 되면 
     Log-in시에 App -> Twitter WebSite(Log-in) -> 다시 App 이러한 흐름으로 진행되기
     때문에 사용자의 입장에서 정신이 없다.

3. 구현하기.
   http://twitter4j.org/en/code-examples.html  
   위의 사이트에서 code-example을 참고해서 만들면 아주 잘 돌아간다.

updateStatus와 같은 POST함수의 경우 RateLimit이 걸릴때가 종종있다. 

© 2017 Regular Motion

Theme by Anders NorenUp ↑