Fault Injection: your system is unreliable if you have not tried to break it

Hi, Habr! My name is Pavel Lipsky. I am an engineer, I work in the company Sberbank-Technology. My specialization is testing the fault tolerance and performance of backends of large distributed systems. Simply put, I break other people's programs. In this post I will talk about fault injection - a testing method that allows you to find problems in the system by creating artificial failures. To begin with, I came to this method, then we will talk about the method itself and how we use it.
 
 
Fault Injection: your system is unreliable if you have not tried to break it ...
+ 0 -

Ten things you can do with GraalVM

Ten things you can do with GraalVM  
From the translator: GraalVM is a new, interesting technology, but on Habré there are not many articles on it that could show examples of the possibilities of Graal. The article below is not just a listing of what GraalVM can do, but also a small workshop similar to the one that Chris Seaton and Oleg Shelayev conducted on Oracle CodeOne 2018. Following the author, I urge you - try to make examples from the article, this is really interesting.
 
In GraalVM there are many different things, and if you heard this name before, or even saw reports, there are still many things that you probably don’t know ...
+ 0 -

Oleg Dokuka about reactive development on jug.msk.ru

December 1? 2018 at a meeting of the community of Moscow Java-developers 3r3202. jug.msk.ru
Oleg Dokuka spoke about the features of reactive development in the programming language 3r32222. Java 3r32323. . 3r3197.  
3r3197.  
Oleg Dokuka about reactive development on jug.msk.ru 3r3197.  
3r3197.  
About speaker 3r3122. 3r3197.  
Oleg is an active speaker at conferences such as 3-33222. JBreak [/i] , Joker , JEEConf , GeeCON , Voxxed Days and others. Project contributor Reactor and co-author of the book [leech=https://www.packtpub.com/application-development/hands-reactive-programming-spring-5] ...
+ 0 -

Compile Kotlin: JetBrains VS ANTLR VS JavaCC

Compile Kotlin: JetBrains VS ANTLR VS JavaCC
 
How quickly does Kotlin parse and what does it matter? JavaCC or ANTLR? Is the source code from JetBrains suitable?
 
Compare, fantasize and wonder.
 
3r311.
 

tl; dr


 
3r33434. JetBrains are too hard to carry, ANTLR is hyip but unexpectedly slow, and JavaCC is still too early to write off. 3r33434.
 
 
Parsing a simple Kotlin file with three different implementations:
 
3r33333.  
3r33399.  
Implementation  
First run  
The 1000th launch of  
jar size (parser)  
 
3r33399.  
3r33410. JetBrains  
3r33410. 3254ms  
3r33410. 16.6ms  
3r33410. 35.3MB ...[/h]
+ 0 -

From aircraft to programmers in one year, or how to become a Jedi

From aircraft to programmers in one year, or how to become a Jedi 3r3196. 3r3-31. 3r3179. 3r33180. Yoda: Master Qui-Gon, is there anything else to say to you? 3r3181.  3r3196. Qui-Gon Jin: With your permission, Master. I found the point of concentration of the Great Force. 3r3181.  3r3196. Yoda: Concentration, you said? 3r3181.  3r3196. Mace Windu: Inside a living being? 3r3181.  3r3196. Qui-Gon Jin: In the boy. His cells contain the highest level of midichlorians from all that I have seen. He was probably conceived by midichlorians. 3r3181.  3r3196. Mace Windu: You are hinting at a prophecy about the Chosen One that will bring balance to the Force. Do you believe ...
+ 0 -

Create a Shape Map RF map in Power BI

Create a Shape Map RF map in Power BI3r3124. Hello! Today let's talk about the "spatial" analysis in Power BI. On the platform for business intelligence, you can read 3r335. here
. I will analyze one aspect in the post - how to draw the RF map in the Shape Map. 3r3143. Map 3r3144.  
Card 3r3142 filled. 3r3144.  
3r350. ArcGIS Maps for Power BI
3r3144.  
3r361 Shape Map
3r3144.  
3r3338.
 
3r3124. 3r3117. Each has its own advantages and disadvantages, so it is better to consider them on the basis of a specific task 3r3r118. . 3r3143.
 
3r3124. The article will be considered a visual element ...
+ 0 -

Devops, JUnit5 and microservice testing: a subjective view of the Moscow “Heisenbag”

Devops, JUnit5 and microservice testing: a subjective view of the Moscow “Heisenbag” 3r33333.  
3r33333.  
On December 6-? the fifth Heisenbag conference took place in Moscow. 3r33333.  
Her slogan is “Testing. Not only for testers! ”, And for two years of regularly visiting Heisenbagov, I (formerly a Java developer, now a technical leader in a small company that had never worked in QA) managed to learn a lot about testing and implement a lot in our team. I want to share a subjective review of the reports I remembered this time. 3r33333.  
3r33333.  
Liquid Software ) 3r349. 3r33333.  
3r33333.  
Those who are engaged in Java and attend conferences of the JUGRU Group, Baruh ...
+ 0 -

How to handle errors on JVM faster

How to handle errors on JVM fasterThere are various ways to handle errors in programming languages: 3r33371.
 
 
standard exceptions for many languages ​​(Java, Scala and other JVM, python, and many others) 3r3105.  
status codes or flags (Go, bash)
 
various algebraic data structures, the values ​​of which can be both successful results and error descriptions (Scala, haskell, and other functional languages) 3r3105.  
 
Exceptions are used very widely, on the other hand they are often said to be slow. But opponents of the functional approach often appeal to performance. 3r33333.
 
Recently, I have been working with Scala, where ...
+ 0 -

Java Challengers # 3: Polymorphism and inheritance

Java Challengers # 3: Polymorphism and inheritanceJava Challengers # 3: Polymorphism and inheritance
 3r3r7787. 3r33775.
We continue to translate a series of articles with puzzles on Java. The last post about lines astonished 3r312. heated debate
. We hope that you will not pass by this article either. And yes - we now invite the tenth anniversary stream of our course 3r314. Java Developer 3r3779. .
3r33780.
 3r3r7787. 3r33775. According to the legendary Venkatu Subramaniam (Venkat Subramaniam) polymorphism is the most important concept in object - oriented programming.
Polymorphism
- or the ability of an object to perform specialized ...
+ 0 -

Camunda BPM Meetup Raiffeisenbank

December 18 r3r37. We invite you to the first open mitp 3r336. Camunda BPM which will be held at the Raiffeisenbank site in Nagatino.
 3r3394.
 3r3394. It is very important for us to form communities and share knowledge and experience both within the company and outside. That is why on a regular basis we hold open meetings in different directions. This time we open the doors and invite you to the first mitap of Camunda BPM. Within the framework of the mitap, we also want to create the Camunda BPM User Group chat, it is much easier to live with the chat, because then you have the opportunity ...
+ 0 -