blog.oozou.com 2019-02-18 16:40 Gilded Rose Kata Refactoring — Part 1 Gilded Rose Kata Refactoring — Part 1Here’s a well-known Kata called Gilded Rose which has a flog complexity of 45 and almost 12 duplicate method calls and is a great example for refactoring so let’s hop...
blog.oozou.com 2019-02-11 10:55 Command, Don’t Query Have you ever come across chunks of code as below?An Ruby-ized version of The Art of Enbugging’s exampleAn enhanced version of Ben Orenstein’s exampleThat’s a violation of “Tell, Don’t Ask” principle or as...
blog.oozou.com 2019-01-14 09:03 Create a Router Network from URLSession https://www.tomsguide.com/us/best-wifi-routers,review-2498.htmlMost of the iOS apps in the world could have an interaction with data from network e.g. Restful, XML-RPC, GraphQL etc. We mostly use 3rd party to get the...
blog.oozou.com 2019-01-09 16:22 Introduction to Coordinator iOS flow controllerPhoto by Ryoji Iwata on UnsplashThe Model-View-Controller (MVC) is a design pattern Apple choose for the iOS. I think it is a good choice because it easy for newcomers to grasp and flexible enough...
blog.oozou.com 2018-12-18 12:34 Enum & custom type from primitive JSON type with Swift CodableLast year I wrote a review of Codable protocol in Swift 4 and how it competed with JSON encoder/decoder out there. I happy to say that Codable served me well over the year, so today I’m going to...
blog.oozou.com 2018-12-12 10:42 Simple Flux architecture with Vue.js Photo by Denys Nevozhai on UnsplashFor a small app that only needs a simple state management pattern. I always use one component to hold the state of the app, a container. This act as a single source of truth for an...
blog.oozou.com 2018-12-07 20:38 LiveData to the next level with MediatorLiveData and Transformations MediatorLiveData and Transformations seem to be very useful classes if we would like to do a ‘reactive patterns’ with LiveData and here are what I can show to you:MediatorLiveDataFrom its explanation, it is a...
blog.oozou.com 2018-07-26 13:47 Handle Complex Network Call with Kotlin Coroutine + Retrofit 2 https://www.pexels.com/photo/abstract-art-background-brown-279844/When you’ve been working with some Android applications, you may encounter the scenario where you have to make multiple network requests such as...
blog.oozou.com 2018-07-05 21:46 Interface in Kotlin and when to use it After using Kotlin in Android development for a while, I’ve just realized the benefit of Interface in Kotlin. In Java, Interface can only be used to describe the behaviors, but not implement them.Fortunately, Kotlin...
blog.oozou.com 2018-05-31 15:28 Documenting iOS apps, visually Let’s admit it, it’s hard to remember all the UIView’s classes, even in medium-sized iOS apps. There’re hundreds of those files, made by multiple people, using different languages, scattered around the...
blog.oozou.com 2018-05-29 22:47 Commit Messages Matter Please put your thought on itGit is currently the most popular version control of the software industry. Created by Linus Torvalds, the mind behind Linux kernel, himself back in 2005, It is now one of a must-have tool...
blog.oozou.com 2018-04-06 14:57 How to prevent ViewController initiation unexpected behavior https://en.wikipedia.org/wiki/LionFor iOS developers nowadays, there are many ways to create ViewController. How do you create it? By Storyboard, Xib file, or Programmatically?// Storyboardlet vc = UIStoryboard(name:...
blog.oozou.com 2017-12-21 11:45 How to fix Xcode indexing endless problem (a different way) Hi everyone, I am a hundred percent sure that every iOS developer used to face the Xcode indexing endless problem. I bet you before you read this short article you will sayJust clear derive data folder, clean, and...
blog.oozou.com 2017-11-03 12:03 Feature Test with Headless Chrome and Capybara Capybara is so cute ❤Capybara is one of the most popular feature testing framework in the Ruby on Rails community. I’ve been pretty happy using it with headless browser like PhantomJS.However, Google recently...
blog.oozou.com 2017-08-22 23:27 Handling decimal operations in Javascript Don’t we all love Javascript?I ❤ JsThe most annoying thing when you have to do some math operation in Javascript is that sometimes it does not work the way you want.Take a look at this example0.1 + 0.2...
blog.oozou.com 2017-07-25 18:26 Tail Call Optimization in Kotlin Since Kotlin is a multi-paradigm language, we can also avoid using for loop and use recursion instead. This blog, I will show a little trick to do a TCO in Kotlin.The Imperative Programing is normally defined by thing...