Today two of my most favourite subjects — SQLite and key-value of the database. And this time I write about both at once: this post is devoted to a Python-wrapper for the storage used in SQLite 4 key-value on the basis of LSM.
I not too attentively trace SQLite releases, but version 3.8.11 drew my attention as in its description serious increase in performance in comparison with 3.8.0 is declared. In accompanying information I came across mentioning of new experimental expansion for full-text search (about which wrote once) and therefore it became interesting to me what develops a situation with SQLite 4.
Having studied available information, I paid attention that one of tasks of developers was to provide in new versions the interface for the connected engines of databases. At the time of writing of this post in SQLite 4 there were already two built-in backends, one of which — key-value storage on the basis of LSM. Few months I happened to be played the last with Cython while I wrote a Python-wrapper for the built-in k-v of UnQLite and Vedis storages. And I thought that it would be quite good to apply Cython to creation of the interface of the DB engine on the basis of LSM used in SQLite 4.
In this post councils are stated how not to write a code which performance will be much lower than expected. Especially it concerns situations when the V8 engine (used in Node.js, Opera, Chromium etc.) refuses to optimize some functions.
1 year, 9 months ago
Competent segmentation of users — one of cornerstones on which the success of game is based. In this post we will talk about how it is possible to select correctly target audience of games on any platforms: client, browser, mobile.
This article does attempt to make the overview of different criteria of segmentation and is aimed more at the beginning audience of developers of games and the interested geymdizayny.
1 year, 9 months ago
Five years I publish regular reviews of fresh articles on a subject of interfaces, new tools and collections of patterns, interesting cases and historical stories. From tapes of several hundred thematic subscriptions about 5% of the standing publications which are interesting for sharing are selected. Previous materials: April 2010 November, 2015.
On January 28, 2016 in the Moscow office of Mail.Ru Group there will take place the second meeting of Tarantool meetup. If someone else does not know: Tarantool is the NoSQL In-Memory DBMS open source which is created for ensuring the greatest possible performance. On the second mitap we will consider the main benefits and features of Tarantool, we will tell about the experience of use of this product and plans for the future. First of all this meeting will be interesting to the developers, Unix-system administrators and other specialists anyway working with databases. You watch the program of a meeting under a cat.
Treda, or a chain of letters in mail — one of features, on which at geeks and mass audience polar views. Geeks actively use them; normal users, as show our polls, treat them rather watchfully. First, unusually, secondly, people are afraid that they will not be able to orient in chains. When we implemented treda in the web version of the Mail.Ru Mail, we remembered this chellendzh — and found how it seems to us, the most convenient and intuitively clear algorithm of grouping which will be convenient to both geeks, and less advanced users. In work on mobile treda we took the system developed by big Mail as we did not want to confuse users as a basis and to do different logic. Our task from the point of view of a product was in that both web tredy, and mobile treda worked for the user equally. But many things had to be remade taking into account offline - works. About how we made in a chain Mail.Ru Mail Android-application where letters are not lost even at failures in a network, I will tell in this article (how made the same in an iOS-application, we will tell in one of the following posts).
Learning any programming language, it is useful to know about its features and to be able to use effectively language constructions. I want to share with you shortcuts for JS. These reductions in certain cases can facilitate reading a code, and also it is essential to reduce its quantity. However it is necessary to remember that they can play a dirty trick with you and if to use them everywhere, your code will stop being read and supported.
During creation of any company it is possible to do many misses which can bury afterwards all business. In each sphere there are specific errors including in IT. How not to run on a rake, in Technopark Stas Schukin possessing 15 years' experience with IT in such companies as "Sitroniks", "Svyaznoy", Tvigle Media and A1 told. Besides, six years ago Stas founded the home company developing custom projects where periodically acts as the contractor, the consultant and the main developer. Read the text of performance under a cat.
Such question gave command of the Mail.Ru Mail before writing of the next service. A main objective of such choice — high performance of development process within selected languages/technologies. What influences this indicator?
Existence of debugging tools and profiling;
The big community allowing to find quickly answers to questions;
Existence of the stable libraries and modules necessary for development of web applications;
The number of developers in the market;
Possibility of development in modern IDE;
Threshold of entry in language.
Besides, developers welcomed briefness and expressiveness of language. Laconicism, certainly, also influences efficiency of development as lack of kilogram weights on probability of success of the marathoner.
For certain many of you repeatedly faced myths about / dev/urandom and / dev/random. Perhaps, you even trust in some of them. In this post we will break covers from all these myths and we will sort the presents strong and weaknesses of these random number generators.