[Translation] 11 вещей, о которых вы должны помнить перед стартом нового проекта на Flutter

Привет! Меня зовут Дарья, я Flutter-разработчик уровня Junior и это моя первая публикация на Хабре.

Знаете, создавать новый проект всегда приятно — новая кодовая база, отсутствие legacy (пока что), null-safety, свежие версии ваших любимых пакетов и далее, далее, далее.

Однако в начале проекта вы должны принять несколько важных решений: выбрать инструменты и пакеты для приложения, определить решение для управления состоянием, разработать план тестирования. В противном случае проект из красивой кареты превратится в тыкву.

Чтобы такого не произошло, делюсь с вами списком самых важных решений, которые вы должны принять перед началом проекта. Я надеюсь, что это вам поможет, поэтому — приятного чтения!

Read more →
[Translation] 11 вещей, о которых вы должны помнить перед стартом нового проекта на Flutter
Source: habrahabr

How to mimic Agile correctly?

A similar article should have appeared earlier, about ten or fifthteen years ago, when Agile was just starting to be implemented in companies. How many mistakes, problems, conflicts could be avoided if managers immediately approached the issue correctly …

But during this time, the experience of «implementing» Agile in different conditions, in different companies has accumulated, which should be generalized and widely disseminated.

Read more
How to mimic Agile correctly?
Source: habrahabr

[recovery mode] Как мы перевели API-модули микросервисного проекта с Feign на OpenFeign

Всем привет! Недавно мы решили задачу, как перейти на новую версию Spring + OpenFeign в мультимодульном проекте, в котором выделен API с навешенными аннотациями @FeignClient@RestController и @FeignClient. Я, Алексей Скакун, @hyragano ведущий разработчик ДОМ.РФ, поделюсь с вами этим кейсом.

Читать далее
[recovery mode] Как мы перевели API-модули микросервисного проекта с Feign на OpenFeign
Source: habrahabr

Two Factor Authentication — More Security, Less Effort

Today we’re talking multi-factor authentication, also known as two-factor authentication, and 2-step verification. It’s got a few names but what is it?

Well, essentially it’s proving your identity in more than one way. The principle being that if one of these authentication factors is defeated, that’s not enough to give access to your data. So your data should be secure if someone steals your password for example. It’s not enough to just log in twice. These different authentication factors have to work in a fundamentally different way. So you can’t just use a second password or a password in a pin; because passwords and pins both rely on the same thing — your memory. So if they have to work in different ways, what different factors are available for us to use? Well, here are some of the common ones.

Read more
Two Factor Authentication — More Security, Less Effort
Source: habrahabr

[recovery mode] Information is changed by entropy

According to the no-cloning theorem it is impossible to create an independent and identical copy of an arbitrary unknown quantum state. We cannot delete any quantum information as well. All changes in time of the state vector in quantum mechanics are described by the action of unitary operators. Accordingly, there must be an operator performing a deleting operation. The operator must be a zero matrix in order to nullify quantum information totally in all cases. But a zero matrix is not a uninaty or hermitian matrix. Therefore there is no such unitary operator that can delete information.

   This might be proven in another way. Let us imagine the double-slit thought experiment where interference exists when we do not know about the system and interference does not when we know about the system. Assume we have a storage where the data is stored and the experiment is being conducted with knowing about the system. Suppose we destroy the storage. What does the screen in the experiment show us? Quantum mechanics tells us that there must not be interference. Should it appear after the data is destroyed? Since the wave function has collapsed it cannot be restored. If there is a chance to delete the information in the experiment, it means that the wave function must go back to the initial state and show us interference, which is a contradiction.

   Based on the foregoing, we will consider the quantum eraser experiment. In that experiment information is neither erased nor disappeared. It is being changed. That is the key point. We increase entropy. If there is a 50 per cent chance to get interference then the entropy = 1 (max value). The same with a spin. If we change spins of elementary particles, for example in the Stern–Gerlach experiment with different axes measurements, we do not delete the information about the states of particles, we increase the entropy. Changing does not equal deleting. 

Read more
[recovery mode] Information is changed by entropy
Source: habrahabr

Lexical Analysis in 11l

This article discusses the lexical analyzer, which is an integral part of any compiler.

The task of the lexical analyzer is to split the source code of the program into tokens.

So for example the code

print(1 + 2)

will be tokenized as
print, (, 1, +, 2 and )
Read more →
Lexical Analysis in 11l
Source: habrahabr