Developers Club geek daily blog

ASP.NET of 5 Identity 3 and new tools of authentication/authorization

1 year, 4 months ago
Life in Las Vegas is not limited to gamblings. Despite glory of the gambling capital, pass also actions absolutely from other spheres of life here. In particular, the annual DEVIntersection conference which this year was visited by command of our developers. And here we want to tell about all the most important and interesting that they learned at conference.

Read more »


Book "Way of the Programmer"

1 year, 4 months ago
image Any programmer — first of all, the person with the merits and demerits. But at the same time the programmer is an intellectual, the person who is constantly occupied with a solution of tasks, requirement analysis, correction of errors, interaction with colleagues and customers. At last, the programmer is the person who regularly have the serious stress forced to meet the tough deadline and simply obliged to self-improve constantly.

This book contains exhaustive information on what is required for building of successful career of the programmer, helps IT specialists to understand better the profession and colleagues, always to remain demanded in labor market, purposefully and to develop productively, and also to receive this devotion and original pleasure from favourite work.

Read more »


The centralized notification Email

1 year, 5 months ago


Earlier we ignored notification Email per se. There are many services which allow to send notifications from the websites to their users to mail address, but there are no services where users could select where and how many to accept notifications.

Yes, we said that Email not abruptly and it can replace it with push-notifications.
But there is a huge layer of users who got used to receive notifications on mail. It distracts less, to someone it is simple more usual.
However e-mail has minuses, for example having entrusted e-mail box to the website — you endanger yourself receipts of spam, also letters from different services look on a miscellaneous that can confuse.

So why not to make the protected notifications in a format of small blocks from different services under control of the user? The user will be able to select the frequency of receipt of letters, will be able to unsubscribe at any time from this or that channel, further to configure a quiet time. Moreover — it will be possible to add several boxes and to select from what channels on what boxes to receive letters.

We already partially implemented it, is more detailed under a cat to whom to read laziness — it is possible to try in our service, having added mail in the section "Profile" in the Email Beta block.

Read more »


Service from the Percona company for creation of an optimum configuration of MySQL of servers and the analysis of SQL queries

1 year, 4 months ago
I suggest to examine service from the Percona company which allows to configure correctly a server MySQL configuration on the basis of specific conditions of use and to analyze the used SQL queries on existence of errors and defects.



The analysis of requests in this service — is not replacement to the EXPLAIN command which is oriented to performance review of request, and is rather an addition which analyzes request from the point of view of its syntax.

Read more »


About participation in a hackathon from Beeline

1 year, 4 months ago
In last days off in the Museum of Moscow there took place the exhibition within which Beeline held a hackathon. I, just in case, decided to descend. The interesting challenge was offered: the graph, in tops subscribers is given, in edges the number of calls of one subscriber to another, their duration and number of sms is written. Data looked here so:
A,B,x_A,x_B,c_AB,d_AB,c_BA,d_BA,s_AB,s_BA
941235,666804,0,1,1,20,1,22,0,0
604328,367223,1,0,0,0,5,1364,0,0
932768,977234,0,0,1,168,0,0,0,0
395101,677107,0,1,1,160,0,0,0,0
250712,102647,0,0,0,0,3,456,0,0
510653,896558,0,0,139,50954,22,2990,0,0
...

A, B — subscribers, x — the operator, with — number of calls, d — duration of talk, s — number of sms. In total ~ 6 000 000 edges. Besides there was a confidential set of edges which in advance in a random way deleted from the graph. It was offered to guess what edges were. That is on the known set of communications to tell what else communications I can appear.

First of all I took 10 000 couples of subscribers between whom there was a communication and 10 000 couples between which communication was not. Two main differences consisted in the following:
  1. If subscribers are connected, then almost always at one of them the operator 0. So it turns out because Beeline possesses information only on the clients
  2. If subscribers are not connected, then they almost always have no general contacts.

That is, roughly speaking, my solution consisted in the following: if couple of subscribers, has at least one general contact and at least one of subscribers uses the operator 0, then we add between them communication. The problem was only that in the graph there were ~ 1 000 000 subscribers and in a forehead to check how many the general contacts were impossible to each couple. Here once again the algorithm which already two times was mentioned on this website, in articles about search of similar groups in VK and about search of the connected requests comes to the rescue. I will shortly describe an essence. Let to eat 5 edges:
A    B
1    10
2    10
3    10
1    11
2    11

Subscribers 1 and 2 are crossed on two contacts 10 and 11. Let's group edges in B and for each group we will write out all matchings of A:
1    2
1    3
2    3
1    2

Let's count the frequency of all matchings and, about a miracle, at the couple 1, 2 frequency 2. This algorithm it is good to lay down on a paradigm map-redyyus therefore here again very much is useful nano-hadup on 20 lines.

To check on how many qualitative the solution turns out, I took away 20% of edges from the graph and tried to guess them. As a metrics organizers used f1 score. If to guess accidentally f1 turns out ~ 0. Beyzlayn who organizers provided gathers ~ 0.02. My solution — ~ 0.07. It turned out that when checking the direction of edges therefore f1 turns out a little higher — ~ 0.08 is not considered.

Still I tried to consider duration of talk. Really, one general contact with which both subscribers communicated only once and not for long, at all does not mean that subscribers have to be somehow connected. But for some reason in practice I did not receive any gain in quality.

Read more »


Hexagonal architecture

1 year, 6 months ago
On recent Laracon NYC I read the paper on hexagonal architecture. In spite of the fact that I received positive reaction of listeners, it seems to me that there were people who would like to gain a little more complete idea of what is it. Certainly, with examples. It is my attempt to expand that report.

  1. Video from the report
  2. Slides


In my opinion, this architecture is an excellent example of how the structure of the application has to be created. Moreover, when I wrote the projects on Laravel, I, even without knowing it, quite often used the ideas mortgaged at the heart of hexagonal architecture.

Being one of options puff architecture, hexagonal means separation of the application into the separate conceptual layers having a different zone of responsibility and also regulates how they are connected with each other. Dealing with this type of architecture, we can also understand as, why, and why at an application programming interfaces are used.

Hexagonal architecture, not new development approach using frameworks. On the contrary, it only generalization "the best the practician" — the practician new and old. I enveloped these words in quotes that people did not perceive them absolutely literally. The best practicians who work for me can not work for you — everything depends on a task and the pursued purposes.

This type of architecture adheres to classical ideas with which developers at application design come up: separation of an application code from a framework. Let our application form in itself, but not based on a framework, using the last only as the tool for a solution of some tasks of our application.

Read more »


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

1 year, 5 months ago

Read more »


The digest of interesting materials from the world of web development and IT for the last week No. 186 (on November 15 — 22, 2015)

1 year, 5 months ago
We bring to your attention a selection with links to useful resources, interesting materials and IT news

Read more »


Code generation in Go

1 year, 5 months ago
Transfer of article of Rob Payk from the official blog Go about an automatic kodogeneration by means of go generate. Article became a little outdated (it was written before an output of Go 1.4 in which there was go generate), but well explains an essence of work of go generate.

Read more »


Asterisk + LUA: fast start

1 year, 4 months ago
For the last year on Habré there were several articles about use of a dialplan of lua in asterisk (time, two, three, four). It is rather interesting method of writing of flexible and powerful dialplan. But to try such method of writing of dialplan it is necessary to spend time quantity: to set the necessary libraries, to rebuild with necessary for options an asterisk.

In addition many users have asterisk'the different level of preparation: someone is closer to system administration or even to traditional telephony, than to programming. Plus specifics of telephony — are better not to load with unfamiliar experiments the working systems once again, and to carry out tests and experiments on the notebook — it is necessary to litter system. Generally, there are many reasons "to postpone for later".

I want to show in this article to everyone and working with an asterisk as, using docker, it is possible to feel taste of the flexible scenarios lua quickly. And then to these it is worth deciding to use further in practice or not. (To whom it is uninteresting to read, and it is interesting to watch and listen — at the end of the text to 6-minute video with highlights and result.)


Read more »