본문 바로가기

전체 글

(187)
안드로이드 CustomView 생성자 public class CusView extends View { static String TAG = CusView.class.getSimpleName(); public CusView(Context context) { //코드상에서 부를때 호출된다. super(context); Log.d(TAG, "CusView(Context context) 호출"); } public CusView(Context context, @Nullable AttributeSet attrs) { // XML에서 부를때 호출된다. //View가 Inflating될 때 3번째 생성자를 호출하는 것이 일반적임 this(context, attrs, R.attr.editTextStyle); Log.d(TAG, "CusView(Context ..
Swift 구조체와 클래스의 차이 Swift에서는 구조체와 클래스를 사용할 수 있는데 선언 방법이나 기능이 비슷해 차이점을 미리 숙지하지 않으면 디버깅할 때 곤란해질거 같아서 차이점을 정리해보려 한다. 차이점 1. 구조체는 상속을 할 수 없다. 2. 타입캐스팅은 클래스의 인스턴스에서만 사용할 수 있다 3. 클래스는 참조타입, 구조체는 값 타입 1,2번은 헷갈릴 일이 별로 없을거 같아서 3번 위주로 알아보겠다. struct StructInfo { let strName : String var nNo : Int init(strName : String, nNo : Int) { self.strName = strName self.nNo = nNo } } class ClassInfo { let strName : String var nNo : Int ..
안드로이드 Command Line으로 bundle 만들기 안드로이드 스튜디오에서 여러 프로젝트 번들을 만들때 컴퓨터가 너무 느려지고 다른 작업들을 할 수 없어서 커맨드 라인으로 번들을 만드는 방법을 찾아보았다. 안드로이드 모듈의 build.gradle을 열어준다. signingConfigs { release { storeFile file(testJks.jks) //키 스토어 파일의 위치를 적어준다. storePassword testStorePassword//키 스토어 패스트워드를 적어준다. keyAlias testAlias//키 Alias를 적어준다. keyPassword testKeyPassword //키 패스워드를 적어준다. } } buildTypes { release { signingConfig signingConfigs.release // 실제 마켓 배..
안드로이드 유튜브 검색 크롤링 유튜브 크롤링을 사용하여 컨텐츠 정보를 가지고 오도록 해봤다. json 데이터를 파싱해오기 위해서는 userAgent를 모바일에서 PC로 수정해줘야 한다. 검색 데이터를 가지고 오기 위한 url은 https://www.youtube.com/results?search_query=검색내용&page=페이지번호이다~~ class SearchTubeTask(var m_context : Context?, var m_strUrl : String?) : AsyncTask() { private var m_hSearchResultListener : OnSearchResultListener? = null private val USER_AGENT = "PC용 Agent" private val GOOGLE_URL = "http..
SGPlayer + mms옵션 빌드 git clone https://github.com/libobjc/SGPlayer.git cd SGPlayer git checkout 2.0.1 -B latest cd Desktop/workSpace/Lib/SGPlayer_Lib2/SGPlayer/scripts/ vim module.sh 수정전 #export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-protocol=mmsh" #export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-protocol=mmst" 수정후 export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-protocol=mmsh" expor..
Youtube V3 Search API 1. 유튜브 검색으로 컨텐츠 정보 얻어오기 https://www.googleapis.com/youtube/v3/search?part=snippet&maxResults=50&q=아이유&type=video&key={KEY} part = id, snippet이 있는데 id는 동영상 정보를 안가지고옴 따라서 snippet을 사용 q = 키워드 검색 type = video, chaneel 등등이 있는데 비디오 정보만 필요하기 때문에 video 사용 key = 콘솔키 maxResults = 컨텐츠 개수, 최대 100, 기본 5로 잡혀있음 2. 가지고온 컨텐츠 Duration 얻어오기 www.googleapis.com/youtube/v3/videos?id={VIDEO_KEY}&part=contentDetails&ke..
IOS SGPlayer demo Build SG Player git clone https://github.com/libobjc/SGPlayer.git cd SGPlayer git checkout 2.0.1 -B latest\n ./build.sh iOS build cd SGPlayer cd /Users/zerosoft/Desktop/workSpace/IOS/SGPlayer2 ./build.sh iOS build demo/demo.xcworkspace Xcode로 open Frameworks, Libraries, and Embedded Content에 Dependency 추가 - SGPlayer.framework - AVFoundation.framework - AudioToolBox.framework - VideoToolBox.framework -..
phpstrom xdebug install 환경(centos7, php5.6, phpstorm) 회사 버전에(php 5.6) 맞는 Xdebug를 설치해야 해서 다시 포스팅한다. 처음에 사용했던 php-devel 패키지의 xdebug를 사용하려 했더니 php common쪽에 충돌이 나서 설치할 수 없었다. 회사 서버라 마음대로 파일들을 변경할 수 없는 상황이라 다른 방법을 찾아보던중에 yum에 xdebug 패키지가 있길래 사용해봤더니 잘돼더라~~ php 7버전도 이 방식으로 설치해도 될거같다 Linux 포트 9000번 열어주셈 yum update yum install gcc yum install php56w-pecl-xdebug phpinfo 확인해서 xdebug가 있으면 제대로 설치된거임 vim /etc/php.ini shift + G [xdebug] zend_extension = "/usr/lib..