Developers Club geek daily blog

As we again wrote ourselves or how to lose source codes and not to give a sign

1 year, 4 months ago


There was a fine May day. My look accidentally fell to a chat of children from the extreme server. They had not such May day fine: during the relayout of minor service authorization service, related so far as fell. Situation tsimmes that nobody supports the falling part of service of authorization it devolved to us and never especially failed. I was carried away by reading the detective of search of the reasons, and till a certain moment I was a passive reader — yet did not see the phrase of our administrator filled with the purchased gray hair of his hair: "For an hour 800+ flows accumulate".

Read more »


Development of fast mobile applications on Android. Part one

1 year, 4 months ago
In Edison we often face optimization of mobile applications and we want to share material which we consider extremely useful if you solve one of two tasks: a) you want that the application braked less; b) you want to make the beautiful, soft and smooth interface for the mass user.
We bring to your attention the first part of transfer of the article Udi Cohen which we used as a benefit for training of young colleagues of optimization under Android.



A few weeks ago I made on Droidcon in New York the report on optimization of performance of Android.

I spent a lot of time for the presentation as wanted to show real examples of performance concerns and as they can be revealed by means of the available tools. I had to clean a half of slides because I lacked time to show all. In this article I collected all I spoke about, and also examples which I did not manage to show.

My basic rules to which I conform during the work with optimization.

My rules


Every time when I face performance concerns or I look for a solution of these problems, I conform to the following rules.

Always measure — optimization approximately is always bad idea. After you look at identical animations several times, will begin to seem to you that they go quicker. Numbers do not lie. Use tools to which we will pass soon, and measure several times as your application before changes works.

Use slow devices — if you really want to find all weak places, slow devices will help you with it more. With newer and powerful devices it is possible to worry not so because of performance questions, but not all users use the latest and best models.

Compromises — optimization of performance is constructed on compromises. You optimize one, but at the price of something another. In many cases your time spent on searches and corrections, either quality of your bitmap images, or data volume which you have to store in certain structures can be this other thing. Be ready to such victims.

Read more »


DevOps: we send metrics and we sleep peacefully

1 year, 5 months ago


Suddenly, the call is distributed at night and we learn that our application does not work. There are 2 hours on its reanimation …

Read more »


As sometimes the bad code and an anti-pattern solve

1 year, 5 months ago
Hi % %username!

Today I would like to tell about how I was helped with the project by a bad code :)

To whom it is interesting, under kat

Read more »


Become the participant of the 1st free International school by software development methods

1 year, 5 months ago
Innopolis declares university order taking from students of a magistracy for participation in the International school by methods of software development which will take place in February in the territory of IT higher education institution in Innopolis. On action there will take place the seminars and a practical training devoted to the intellectual analysis of the mobile and distributed data, development of network games, architecture of the Android operating system, and also detection of requirements for mobile sentences. Free accommodation and power supply is included, the number of participants is limited. All details under a cat.


Read more »


Tracking of notifications on Android 4.0-4.2

1 year, 5 months ago
Starting with version 4.3 in Android OS the feature to trace all notifications in system was added using NotificationListenerService. Unfortunately, backward compatibility with the previous OS versions is absent. What to do if the similar functionality is necessary on devices with older version of an operating system?

It is possible to find a set of crutches and hak for tracking of notifications on version 4.0-4.2 Android OS in article. Not on all devices the result of 100% is efficient therefore it is necessary to use additional crutches to assume removal of notifications in certain cases.

Read more »


Google Cloud Endpoints on Java: Manual. p. 3

1 year, 5 months ago

Read more »


Google Cloud Endpoints on Java: Manual. p. 2 (Frontend)

1 year, 5 months ago

Read more »


Crib of Java of the programmer 4. Java Stream API

1 year, 5 months ago


In spite of the fact that Java 8 left already for a long time, not all programmers use its new opportunities, someone is stopped that detail designs it is too difficult to transfer from Java 7 or even Java 6, someone use in the GWT projects, someone does projects under Android and does not want or cannot use third-party libraries for implementation lyambd and Stream Api. However lyambd and Stream Api for the Java programmer often demand knowledge on interviews, well and it will be just useful upon transition to the project where Java 8 is used. I would like to offer you a short crib on Stream Api with practical examples of implementation of different tasks with new functional approach. The knowledge lyambd and functional programming will not be required (I tried to give examples so that all was clear), level from the basic knowledge of Java above.

Also, as it is a crib, article can be used quickly to remember as this or that feature of Java Stream Api works. Short transfer of opportunities of basic functions is given at the beginning of article.

For those who does not know at all that such Stream Api
Stream API is new method to work with data structures in functional style. Most often by means of stream in Java 8 work with collections, but actually this mechanism can be used for the most different data.

Stream Api allows to write processing of data structures in SQL style if earlier the task to receive the sum of all odd numbers from a collection was solved the following code:
        Integer sumOddOld = 0; 
        for(Integer i: collection) {
            if(i % 2 != 0) {
                sumOddOld += i;
            }
        }

That by means of Stream Api it is possible to solve such problem in functional style:
       Integer sumOdd = collection.stream().filter(o -> o % 2 != 0).reduce((s1, s2) -> s1 + s2).orElse(0);

Moreover, Stream Api allows to solve a problem in parallel only having changed stream () to parallelStream () without any excess code, i.e.
       Integer sumOdd = collection.parallelStream().filter(o -> o % 2 != 0).reduce((s1, s2) -> s1 + s2).orElse(0);

Already does a code parallel, without any semaphores, synchronization, risks of interlocks, etc.

Read more »


Introduction to development of domain-specific languages (DSL) by means of EMFText

1 year, 5 months ago

It is the 5th article of a cycle on the development managed by models. In the previous articles we already dealt with metamodels, validation of models, some notations for models (the chart and the table). All this was within space of modeling of MOF. Today we will build the bridge in space of modeling of EBNF – we will get acquainted with the text notation for MOF models.

Read more »