Limitations that need to be violated or how we speeded up the functional tests three times

Limitations that need to be violated or how we speeded up the functional tests three times
 
 
Functional tests are a useful thing. At first they do not take much time, but the project is growing, and more and more tests are needed. We did not intend to endure the slowdown in the speed of delivery and, gathering strength, accelerated the functional tests three-fold. In the article you will find universal advice, however, you will notice a special effect on large projects.
 
 

Briefly about the appendix


 
My team is developing a public API that provides data to users of 2GIS. When you visit 2gis.ru and search for "Supermarkets", you get a list of organizations - this is the data from our ...[/h]
+ 0 -

Use the debugger Android Studio to a maximum of

Use the debugger Android Studio to a maximum of
 
It's a trick that I learned about recently from the Android Android Developer in my company, and now I feel unhappy, regretting the time I spent waiting for the Gradle build to check my changes when writing Android applications.
 
Here is a typical scenario that every Android developer could meet at least once during its development life cycle. You have a list of the items you want to show in
ListView
or
RecyclerView
.
 
Below is our beloved method onBindViewHolder , which connects your model to your view-components RecyclerView .
 
    @Override
public ...
+ 0 -

As the only line of ancient code for six months, the developers of MMORPG &lt;{short}&gt; were mad. &lt;{full}&gt; <div class="post__text post__text-html js-mediator-article"> <div style="text-align:center;"> <img src="https://habrastorage.org/getpro

were mad. <{full}>
As the only line of ancient code for six months, the developers of MMORPG  were mad.         
 Most often from game developers you can hear a very simple phrase: it's surprising that games generally come out. Games are complicated, untamed monsters, connected by something like digital insulating tape. It's not surprising that they fall apart.    
    
  Aliens: Colonial Marines  was problematic for many reasons, but quickly became a common laughingstock when such viral  appeared. clips  , in which xenomorphes meaningless wander through the levels. This month the developer of mods  found  , that the reason for the stupid behavior of AI "strangers" was one error in the code of the game. (This was  were mad.         
 Most often from game developers you can hear a very simple phrase: it's surprising that games generally come out. Games are complicated, untamed monsters, connected by something like digital insulating tape. It's not surprising that they fall apart.    
    
  Aliens: Colonial Marines  was problematic for many reasons, but quickly became a common laughingstock when such viral  appeared. clips  , in which xenomorphes meaningless wander through the levels. This month the developer of mods  found  , that the reason for the stupid behavior of AI "strangers" was one error in the code of the game. (This was
 
Most often from game developers you can hear a very simple phrase: it's surprising that games generally come out. Games are complicated, untamed monsters, connected by something like digital insulating tape. It's not surprising that they fall apart.
 
 
Aliens: Colonial Marines was problematic for many reasons, but quickly became a common laughingstock when such viral
appeared. clips
, in which xenomorphes meaningless wander through the levels. This month the developer of mods
found
, that the reason for the stupid behavior of AI "strangers" was one error in the code of the game. (This ...
+ 0 -

Why Skylake processors sometimes work 2 times slower than

I was informed that on some new computers some regression tests became slower. It's common, it happens. Incorrect configuration is somewhere in Windows or not the most optimal values ​​in the BIOS. But this time we could not find the "adjusted" setting. Since the change is significant: 9 to 19 seconds (blue on the graph is old iron, and orange is new), then we had to dig deeper.
 
 
Why Skylake processors sometimes work 2 times slower than  
Intel's leadership , which explicitly mentions the Skylake microarchitecture and the pause ...
+ 0 -

Write code that is easy to delete and debug

Write code that is easy to delete and debug  
 
Simple code for debugging is code that does not fool you. It is more difficult to debug code with hidden behavior, with poor error handling, with uncertainties, insufficiently or excessively structured, or in the process of changing. In fairly large projects, you eventually encounter a code that you can not understand.
 
 
If the project is relatively old, then you can find code that you forgot about, and if it were not for the commits, you would have sworn that you did not write these lines. As the project grows, it becomes more difficult to remember what the different pieces of code are doing. And ...
+ 0 -

STM32 + NetBeans =?

STM32 + NetBeans =?

 
As you know, compatibility with GNU tools and GDB support make almost any popular development environment suitable for debugging a wide range of embedded platforms, mostly free of charge and legally. In theory.
 
 
What happens in practice when trying to make friends STM32 and NetBeans, and is it possible in principle to get a workable system with support for the newest stones - under the cut.
 
 
Spoiler [/b]
Yes. But no.
setup guide. . The main difference was only in the OS (Linux against Win7 x64 for me)...
+ 0 -

Guide to Assembler Go

Guide to Assembler Go  
 
Before implementing the implementation of runtime and learning the standard library, you need to master the abstract assembler Go. I hope this guide will help you quickly master the necessary knowledge.
 
"Pseudo-assembler"
 
Decomposition of a simple program
 
 
Let's analyze add
 
Analyzing the main
 
 
A couple of words about gorutins, stacks and partitions
 
 
Stacks
 
...
+ 0 -

Antipatterns testing software

Antipatterns testing software

Introduction


 
There are several articles on the antipatterns of software development. But most of them talk about the details at the code level and focus on a specific technology or programming language.
 
 
In this article, I want to take a step back and list the high-level antipattern testing common to all. I hope you will learn some of them regardless of the programming language.
 
 

Terminology


 
Unfortunately, the testing has not yet developed a common terminology. If you ask a hundred developers what the difference between an integration, cross-sectional and component test is, you'll ...[/h][/h]
+ 0 -

Logging as a way to debug the code

Why so it is important forbid self-debugging with your hands?
 
 
When you debug a program, you yourself, without realizing it, think that for one debugging session, fix all the problems that have arisen in the framework of this task. But our shortsightedness does not want to believe that in fact there is not one problem, but several. And for one debug session it will not be possible to solve all these problems.
 
 
Therefore, you will need to run this code several times in debug mode, spending hours debugging over the same piece of code. And it's only you alone spent so much time on this ...
+ 0 -

About memory leak in one server application

About memory leak in one server application  
 
After reading this note, you will find out what you went through after the unexpected leak of memory of the server application in the FreeBSD OS. What modern means of detecting such problems exist in this environment and why the most powerful of them can be completely useless in the crooked hands .
 
roll the updates , when it will take in head and, in addition, restart the machine. A couple of months ago, so many services collapsed on a neighboring project.
 
someone is conducting a targeted network attack causing an overflow;
 
MeltdownSpectre. Yes! Yes, of course. I do not ...
+ 0 -