목록IT (1480)
오늘도 공부
storyboard 를 사용해서 간단하게 화면이동이 가능하지만, 조건문과 함께 사용할때는 코드로 이동하는 것이 편할때가 있다. 같은 스토리보드내에 있는 다른 뷰로 이동하는 경우// nextViewController.swift 인 경우let storyboard: UIStoryboard = self.storyboard!let nextView = storyboard.instantiateViewController(withIdentifier: "nextViewController")self.present(nextView, animated: true, completion: nil) 현재와 다른 스토리보드에 있는 뷰로 이동하는 경우xcode 상에서 is Initial View Controller 에 체크를 해도 되지만..
https://gitlab.com/yogeshc/awesome-ios
링크 http://minsone.github.io/programming/reactive-swift-flatmap-flatmapfirst-flatmaplatest
스위프트 공부 가이드Apple 공식 Swift 언어 가이드를 보시면 언어 자체를 공부하시는데 이보다 좋은 문서는 없을 듯 싶구요.https://developer.apple.com/library/ios/documentation/Swift/Conceptual/Swift_Programming_LanguageSwift를 이용한 iOS 개발 공부에 집중적으로 초점을 맞추신다면, Raywenderlich Tutorials을 추천합니다.https://www.raywenderlich.com/category/swift맛보기 정도로 가볍게 배워보고 싶으시면, CodeSchool의 Swift 코스를 추천합니다.https://www.codeschool.com/courses/app-evolution-with-swift그 외에도..
출처 : https://swifter.kr/2016/09/03/swifter%EA%B0%80-%EC%B6%94%EC%B2%9C%ED%95%98%EB%8A%94-%EC%95%8C%EB%A9%B4-%EC%A2%8B%EC%9D%80-%EA%B0%9C%EB%B0%9C%EC%9A%A9-%EB%9D%BC%EC%9D%B4%EB%B8%8C%EB%9F%AC%EB%A6%AC/기본1. Realm모바일 로컬 데이터베이스로 개인적으로 sqlite보단 빠르고 안정적이라고 생각한다. 그외 iOS자체적으로 제공하는 CoreData등이 있다.2. FirebaseMBaaS로 Parse가 없어지면서 대체할 수 있는 백엔드서비스로 각종 분석서비스등을 쉽고 저렴하게 이용할 수 있다.3. SDWebImage Objective-C시절부터 유명했..
안녕하세요, Realm World Tour 참가자/대기자 여러분.이번 Realm World Tour 2017 행사는 여러 도시에서 열리는 Realm 소개 행사로써, 한국에서는 서울과 부산에서 진행됐습니다. 서울에서 진행된 세션 동영상과 슬라이드 링크를 포함한 내용이 https://realm.io/kr/news에 정리되어 올라갔으니 확인해 주세요. --- 강연 영상 및 슬라이드 --- 1. Realm을 소개합니다! - Realm World Tour 2017 Seoul - https://www2.realm.io/e/210132/oducing-realm-would-tour-2017-/2q1vb/35873041 - 회사로서의 Realm과, Realm 모바일 데이터베이스와 Realm 모바일 플랫폼을 소개합니다. ..
유효성 체크https://github.com/Ilhasoft/data-binding-validator
출처 : http://dktfrmaster.blogspot.kr/2016/09/glide.htmlGlide란 무엇인가??구글에서 공개한 이미지 라이브러리기존의 Bump앱이 만들어 사용하던 라이브러리였는데 구글이 Bump앱을 인수하여 라이브러리를 공개웹 상의 이미지를 로드하여 보려주기 위해 고려해야 할 사항들을 미리 구현하여, 사용자가 이용하기 쉽게 만든 라이브러리Glide 추가하기Dependency 추가build.gradle의 dependencies에 다음을 추가한다.compile 'com.github.bumptech.glide:glide:3.7.0' 혹시 maven을 이용한다면 다음을 추가한다. com.github.bumptech.glide glide 3.7.0 aar 기본 이미지 로딩Glide 클래스..
https://github.com/ihsanbal/LoggingInterceptor
FLAG_ACTIVITY_CLEAR_TOP|FLAG_ACTIVITY_SINGLE_TOP 하단에 이미 스택에 있는 activity 일 경우 onCreate 를 방지하기 위해선 필요..
Retrofit 사용시 NumberformatException 발생시.. 간혹 숫자로 변환시 빈값으로 들어오는 경우 뱉는 오류 중 하나가 NumberformatException 이다. 이럴경우 Adapter를 하나 등록하면 된다. public class EmptyStringToNumberTypeAdapter extends TypeAdapter { @Override public void write(JsonWriter jsonWriter, Number number) throws IOException { if (number == null) { jsonWriter.nullValue(); return; } jsonWriter.value(number); } @Override public Number read(Jso..
출처 : http://www.cnblogs.com/zhaoyanjun/p/5535651.htmlButton 防抖处理 button = (Button) findViewById( R.id.bt ) ; RxView.clicks( button ) .throttleFirst( 2 , TimeUnit.SECONDS ) //两秒钟之内只取一个点击事件,防抖操作 .subscribe(new Action1() { @Override public void call(Void aVoid) { Toast.makeText(MainActivity.this, "点击了", Toast.LENGTH_SHORT).show(); } }) ; 按钮的长按时间监听 button = (Button) findViewById( R.id.bt ) ; //监听长按时..
Rx CheetSheet] 다중 터치 방지하기 - throttleFirst() http://kunny.github.io/tip/rx/2016/04/08/rx_cheatsheet_throttle_first/
http://eyeahs.github.io/rxjava/blog/2016/10/11/rxjava-wiki-backpressure/
출처 : http://beust.com/weblog/2015/06/01/easy-sqlite-on-android-with-rxjava/Easy SQLite on Android with RxJavaWhenever I consider using an ORM library on my Android projects, I always end up abandoning the idea and rolling my own layer instead for a few reasons:My database models have never reached the level of complexity that ORM’s help with.Every ounce of performance counts on Android and I can..
https://github.com/amitshekhariitbhu/RxJava2-Android-Sampleshttps://github.com/kaushikgopal/RxJava-Android-Samples
Do these modifications to your animation files:enter.xml: exit.xml: You'll have your second activity sliding in from right to the left.For a better understadnig on how to play around with the fromXDelta and toXDelta values for the animations, here is a very basic illustration on the values: This way you can easily understand why you add android:fromXDelta="0%" and android:toXDelta="-100%" for yo..
public class TileBitmapProvider implements BitmapProvider { private final TileProvider provider; private final Bitmap.Config bitmapConfig; private final int backgroundColor; private final BitmapPool bitmapPool; private final Rect frameRect = new Rect(); public TileBitmapProvider(final TileProvider provider, final BitmapPool bitmapPool, final Bitmap.Config bitmapConfig, final int backgroundColor)..
class ViewController: UIViewController { @IBOutlet weak var imgMain: UIImageView! @IBOutlet weak var btnPrev: UIButton! @IBOutlet weak var btnNext: UIButton! var idx = 0 var array_img = ["img1.jpeg" , "img2.jpeg" , "img3.jpeg"] override func viewDidLoad() { super.viewDidLoad() // Do any additional setup after loading the view, typically from a nib. initView(_pos : 0); } func initView(_pos : Int)..
List list = new ArrayList(); Iterator iterator = list.iterator(); // while (iterator.hasNext()) { for (Iterator iterator = list.iterator(); iterator.hasNext();) { String string = iterator.next(); if (string.isEmpty()) { // Remove the current element from the iterator and the list. iterator.remove(); } }
출처 : http://blog.danlew.net/2016/06/13/multicasting-in-rxjava/ 멀티 캐스팅은 RxJava에서 중복 된 작업을 줄이기위한 핵심 방법입니다.당신이 이벤트를 멀티 캐스트하면 보내 같은 이벤트를 모두 다운 스트림 사업자 / 가입자. 이 기능은 네트워크 요청과 같이 값 비싼 작업을 수행 할 때 유용합니다. 각 가입자마다 똑같은 네트워크 요청을 반복적으로 실행하고 싶지는 않습니다. 결과를 멀티 캐스팅하기 만하면됩니다.멀티 캐스트에는 두 가지 방법이 있습니다.를 사용 ConnectableObservable을 통해 ( publish()또는replay()1 )사용 SubjectConnectableObservable또는 전에 수행 된 Subject작업은 한 번만 발생합니다..
아이폰 공부 시작합니다
출처 : http://kunny.github.io/community/2016/02/08/gdg_korea_android_weekly_02_1/MissingBackpressureExceptionMissingBackpressureException은 Observable에서 항목(item)을 보내는(emit) 속도보다 처리하는 속도가 느릴 때 발생합니다.RxJava 가이드 문서 내 Backpressure 항목에도 이와 관련된 항목이 기술되어 있는데, 문서에서 예로 든 사례(zip 연산자를 사용하는 경우)를 사용하지 않는 경우에도 상당히 높은 확률로 경험할 수 있습니다.RxAndroid를 사용하는 경우, 수신된 데이터를 UI에 표시하기 위해 observeOn(AndroidSchedulers.mainThread()..
you may use Observable for example: handling GUI eventsworking with short sequences (less than 1000 elements total) ========================================================= You may use Flowable for example: cold and non-timed sourcesgenerator like sourcesnetwork and database accessors
출처 : http://www.introtorx.com/Content/v1.0.10621.0/12_CombiningSequences.htmlCombining sequencesData sources are everywhere, and sometimes we need to consume data from more than just a single source. Common examples that have many inputs include: multi touch surfaces, news feeds, price feeds, social media aggregators, file watchers, heart-beating/polling servers, etc. The way we deal with these ..
오픈소스 라이버러리 모음 http://pluu.github.io/blog/android/oepnsource/2015/05/11/android-opensource/
Jabber/XMPP Protocol NamespacesThis is the official registry of Jabber/XMPP protocol namespaces as maintained by the XMPP Registrar. This registry contains only namespaces that are defined in the XMPP RFCs (published by the IETF) or in XMPP Extension Protocols that have advanced to a status of Active, Draft, or Final within the standards process of the XMPP Standards Foundation. Other namespaces..
ConfigureForm form = new ConfigureForm(FormType.submit); form.setPersistentItems(false); form.setDeliverPayloads(true); form.setAccessModel(AccessModel.open); PubSubManager manager = new PubSubManager(connection, "pubsub.my.openfire.server"); Node myNode = manager.createNode("TestNode", form); SimplePayload payload = new SimplePayload("book","pubsub:test:book", "Lord of the Rings"); Item item = ..
출처 : https://www.ucert.co.kr/tech/sslinstall/openfire_all.html1. 웹 콘솔 접속1) 브라우저를 기동하여 openfire 콘솔에 접속(예. http://localhost:9090)2. SSL정의 작성1) 상단 탭 메뉴의 Server를 선택2) 왼쪽 메뉴의 System Properties를 선택3. SSL 설정 추가1) JKS 파일을 ${openfire_HOME}/resources/security/에 파일을 복사하여 truststore와 keystore로 이름을 변경합니다.* ${openfire_HOME} = openfire 설치 경로 2) Add new property 항목의 property Name:와 property Value:에 아래 내용을 추가A) ..
출처 : http://forum.theorex.tech/t/xmpp-register-login-and-chat-simple-example/198 compile 'org.igniterealtime.smack:smack-android:4.2.0' compile 'org.igniterealtime.smack:smack-tcp:4.2.0' compile 'org.igniterealtime.smack:smack-im:4.2.0' compile 'org.igniterealtime.smack:smack-android-extensions:4.2.0' public void getSrvDeliveryManager(Context context){ ServiceDiscoveryManager sdm = ServiceDiscov..
