When we started to you use Slick for the first time, we had no clue on how to set up our code for multiple database types in our Play! application.
Android contains several APIs that hold resources back. They need to be released before closing the current Activity or any other UI part. Doing things the old way, you are responsible for releasing these resources at the end of each activity. With complex tasks, it becomes quite hard to keep track of all of these resources. It is even more complicated when you use them in asynchronous tasks. A small programming overhead will eliminate this problem by replacing the async tasks with Rx streams and scheduling them on the background threads. So, Rx wrappers will ease thread handling. Here is how I use Rx wrappers to make them as awesome as possible:
This post will tell you how we use a simple YAML file to insert the initial data (like roles, privileges, admin user, and all the other necessary data) into our database. We use Play! Framework (Java) with Hibernate. The important part is how we make Objects from the YAML description using SnakeYAML (Play framework’s integrated YAML parser) though.
I’ll give you some tricks on how to use YAML easily in order to create the initial data for your application.
I was working on a Play! Framework project and I was wondering why our whole API was available in one piece. It got me thinking whether there is a way to hide at least some parts of the API from the clients. Precisely because some of the clients didn’t have the privilege/permission to execute given operations, e.g. visiting restricted pages. I thought there should be a way to hide at least the operations that are on these restricted pages. I’ve found a way to do so and below it is.
A junior developer starts to develop everything by himself. However, a little experience or help will teach him that it’s not useful to write every little piece of code on his own. Enthusiastic developers provide a lot of good and widely tested solutions for problems almost everyone faces during development. Using these libraries can save you […]
Some Android Projects might require high or low level media processing. This article rounds up a few useful libraries, like FFmpeg, MP4Parser, Intel Media for Mobile, etc. All the libraries have both pros and cons. You need to carefully consider, according to your initial target API-s, devices, and specification, which one you’ll use . I won’t go into too much detail, the article’s main purpose is to help you decide which lib fits best for a given issue. The selected library or libraries can have great effect on the size of your final application, and will also affect the code complexity and amounts of future maintenance.
I guess if you are reading this, you are working with web applications or web services. There are a number of posts on the internet that explain what shouldn’t be in a controller or in a model, but I didn’t find any proper summary of what should be in the MVC. So here is this blog post to collect our concepts.
Logging is essential during development. Therefore, the Android SDK provides the public with a default logger. It is easy to use: we can add tags and also separate logs by different levels.
The SDK’s defult logger is not bad and it’s enough for the basics. But hopefully developers think logging should result in far more than just the basics.
If you have a website on which users can register and login, then you also want to protect your application from attackers. We recommend you to protect your application’s actions not only from attackers, but from users, too. For example, if you want to make a user who can upload Excel files on a specific UI, then that user should neither see other UIs, nor should s/he be allowed to take any other actions.
At Wanari, we usually prefer native Android & iOS development and my colleagues have recently written quite a few articles on these topics. However, as a web developer, cross-platform mobile app development options stand closer to my heart. In this article, I provide an example for creating a custom Cordova plugin. Cordova is a […]