Creating templates in the IDE from Jetbrains

Introduction


 
Today I want to bring a small review-tutorial templates in the ISR from Jetbrains. The examples below will be implemented on Java in Intellij IDEA, but the creation mechanism is the same for other languages ​​and products of the company. I think all programmers in this IDE used built-in templates. For example, when you write fori, press TAB or ENTER and you have a for loop that specifies the variable name and condition, and the rest of the code is generated for you.
 
for (int i = 0; i < ; i++) {
.
}
.
.
 
Or familiar to all java programmers sout -> System.out.println ...[/h]
+ 0 -

ActionViews or how I do not like boilerplate from the very childhood

Hello, Habr! In this article, I want to share my experience creating my mechanism for automating the display of various View types: ContentView, LoadingView, NoInternetView, EmptyContentView, ErrorView.
 
ActionViews or how I do not like boilerplate from the very childhood
 
 
It was a long journey. The path of trial and error, a search of methods and options, sleepless nights and an invaluable experience that I want to share, and hear criticism that I will definitely take into account.
 
I will say at once that I will consider working on RxJava, since for coroutines I did not do such a mechanism - my hands did not reach. And for other similar tools (Loaders, AsyncTask, and ...
+ 0 -

Open lesson "Web applications and micro services on Spring Boot 2.0"

Hello!
 
 
Last week we had an open lesson at the rate of "Developer on the Spring Framework" , where the teacher is Yuri Dvorzhetsky acquainted with the features of Spring Boot 2.? told and showed the development of web applications with it and dismantled the work of Spring Boot Actuator.
 
 

 
As always, we are waiting for questions, suggestions and other slippers :)Hello!  Last week we had an open lesson at the rate of "Developer on the Spring Framework" , where the teacher is Yuri Dvorzhetsky acquainted with the features of Spring Boot 2.? told and showed the development of web applications with it and dismantled the work of Spring Boot Actuator.    As always, we are waiting for questions, suggestions and other slippers :)...
+ 0 -

Consulo UI API from the idea to the prototype

Consulo UI API from the idea to the prototypeHello everyone, I have not written an article about the life of the project on a hub for a long time, I decided to correct it and start perhaps with what I'm working on right now, namely the Consulo UI API.
 
Consulo - This is the IntelliJ IDEA Community Edition fork, which has support for .NET (C #), Java
Research . It was a test of my abilities in this part. At first I used only GWT - to get the information I used the built-in RPC.
 
There was a simple goal - the project was already open, it was only necessary to display
Project Tree
+
Editor Tabs
. At the same time everything should ...
+ 0 -

Annotations of compilation time for the example @Implement

Annotations of compilation time for the example @Implement
 
 
We all like to catch errors at the compilation stage, instead of runtime exceptions. They are easiest to eliminate, the compiler itself shows all the places that need fixing. Although most problems can only be detected when the program is started, we try to do this as soon as possible. here and here . The most important method in it is process. In which we can get a list of all the annotated elements and conduct the necessary checks.
 
 
@Override
public boolean process (Set
, returned by the getClass () method. For example, they can be compared to find out if the types ...
+ 0 -

How did I break String.getBytes (UTF_8) and what I did with it

(spoiler) debajil, disaballed and came to the conclusion that the problem in SSE instructions is
 
 
Hello, Habr!
 
 
It all started with the fact that I wrote the Load test for Java for the internal component of the system over which I am currently working. The test created several threads and tried to do something very many times. In the process of execution sometimes appeared java.lang.ArrayIndexOutOfBoundsException: 0 errors on the line very similar to this:
 
 
"test" .getBytes (StandardCharsets.UTF_8)

 
The line certainly was different, but after a short study it was possible ...
+ 0 -

We collapse on a maximum: from ORM to the analysis of bytecode

As you know, a real programmer in his life has to do 3 things: create your own programming language, write your operating system and make your ORM. And if I've written a language for a long time (maybe I'll tell you some other time), but the OS is still waiting, then I want to tell about ORM right now. And more precisely, it's not even about ORM itself, but about the implementation of one small, local and, as it seemed initially, quite simple feature.
 
Together we will go all the way from the joy of finding a simple solution to the bitterness of realizing its fragility and incorrectness. From ...
+ 0 -

Summer Mitap Apache Ignite in St. Petersburg

Summer Mitap Apache Ignite in St. Petersburg  
 
Friends, we invite you to the summer Mitap, dedicated to Apache Ignite. Join our informal meeting of users and developers. There will be new speakers, new topics and ice cream. With you bring interesting questions and summer mood.
 
 

June 2? St. Petersburg


 
on the meeting page (authorization via Facebook or Google takes only a couple of minutes).
 
 
Location: St. Petersburg, Kuznechny Lane ? studio 18/39 (in the courtyard), 2 minutes walk from the metro Vladimirskaya /Dostoevskaya.
 
 
Video Records at the ...[/h]
+ 0 -

We invite you to Java Meetup in Raiffeisenbank

The internal community of Java developers Raiffeisenbank invites to its first open Mitap, which will be held on the site of the Moscow office in Nagatino, 28 June .
 
 
We invite you to Java Meetup in Raiffeisenbank  
fill the form.
 
 
In the Java mitapa program, we are waiting for four reports from the speakers of Raiffeisenbank and colleagues from Infobip. Start of papers in 18:00 , we'll open the registration in 17:30 .
 
 
The program:
 
 
Viktor Tsvetkov, Raiffeisenbank
 
 
CRDT: relationships at a distance. How to resolve conflicts in distributed systems
 
 
Andrey Markelov, Infobip
 
 
Redis anti-patterns ...
+ 0 -

Ruslan Cheremin and Maxim Gramin - work with the environment on jug.msk.ru

The next meeting of the Moscow community of Java developers jug.msk.ru was held on June ? 2018. It was performed by Ruslan Cheremin and Maxim Gramin. The reports were devoted to testing the configuration and code management for databases.
 
 
Ruslan Cheremin and Maxim Gramin - work with the environment on jug.msk.ru
 

 

About the speakers


 
Ruslan is really a multi-faceted person. His area of ​​interest extends from programming (he is an active participant in conferences as a speaker and conducts a technical blog) to dances. Technical references: blog about programming , GitHub ...[/h]
+ 0 -