All of us in IT faced bug tracking systems — with so-called bug trackers, with issue-trackers. One of popular products such — Atlassian JIRA.
Actually, Atlassian JIRA is more, than just bug tracking system. JIRA can be used quite widely — including for project management. It is possible to tell that JIRA is a system for tracking of the status of tasks. Tasks can be different: it is requirements gathering, testing, directly development etc. I saw even attempts to place on JIRA of accountants — and that supposedly we will have an agile-accounts department!
On the official website JIRA it is described as follows: JIRA is the tracker for teams planning and building great products. Thousands of teams choose JIRA to capture and organize issues, assign work, and follow team activity. At your desk or on the go with the new mobile interface, JIRA helps your team get the job done. Generally, the main idea of JIRA that it allows to plan work.
In this article I will tell about how to develop additions to this program. However, there can be a question — and why to develop additions for JIRA. Therefore let's consider what additions happen.
1 year, 6 months ago
From experience of code-review and answers to StackOverflow it was gathered many moments concerning Java Collections API which to me seemed obvious, but other developers for some reason did not know about them or knew, but did not feel confidence them to apply. In this article I collect everything that collected in the general heap.
EnumSet and EnumMap
Set.add(E) and Set.remove(E) return boolean value
Map.put (K, V), Map.remove(K), List.set (idx, E), List.remove(idx) return the previous element
On April 22 and 23 in Moscow in hotel "Slavic Radisson" there will take place the JPoint 2016 Java-conference, the largest Java-conference in Russia. In two days of conference to participants more than 40 reports from developers of the Java platform and the leading Java-experts from Russia will be submitted, to the USA, Great Britain, Israel, Ukraine, Estonia, Latvia and other countries.
JPoint will take place already for the fourth time, and for the first time — in a two-day format!
Two days are:
twice more than reports;
twice more than speakers;
twice more than communication with experts and colleagues from other companies.
There is video which gives the flavor, about what occurs on JPoint:
1 year, 6 months ago
Within educational programs in e-Legion we give lectures on Android-development in ITIS KFU laboratory. We decided to share two of them with you. Lectures are devoted to RxJava framework gaining popularity.
In lecture it is told about:
The general ideas of a framework of RxJava why it is necessary and as to work with it
Methods of creation of different Observable and the main operations over them
The main conversion operators of Observable, and also about the cache method
Connective operations of Observable and their consecutive / side-by-side execution.
It is the 6th article of a cycle on the development managed by models. In last article you gained general idea about development of domain-specific languages by means of EMFText. Time to pass from toy language to more serious came. There will be many drawings, a code and the text. If you are going to use EMFText or the similar tool, then this article has to save to you a lot of time. Perhaps, you learn something new about EMF (delegates of conversions).
Like the brave hobbit we will begin the way with BNF grammar of SQL, we will reach a terrible dragon (metamodel) and we will return back to grammar, but already another …
1 year, 6 months ago
I think very few people will argue that viewing of video of good lectures and reports from conferences is one of the fastest and easy ways will learn something new. The problem is that on Java it is difficult to find all good videos of conferences and reports on the necessary subject. Moreover, according to the name of many videos from conferences it is difficult to understand by what they to a subject are hung up.
Therefore I prepared this collection of video of reports in Russian from different conferences (Joker, JPoint, JavaDays, JEEConf, of course, with DEV labs which are organized by Luxoft), and, naturally, video from Luxoft Training Center channel. In total video is separated into different categories and if necessary the description is added.
1 year, 6 months ago
In this article it will be a question of use of a framework of testNG, and it is specific — about implemented in it and enough seldom used interfaces: IRetryAnalyzer, ITestListener, IReporter. But about everything one after another.
Eternal problem of each tester at start of autotests is "fall" of separate scripts from start for start randomno. Also it is not about fall of our tests for the objective reasons (i.e. really the error in work of the tested functionality takes place, or the test is written not correctly), and just about those cases when after restart earlier failed tests by miracle pass. The reasons of such randomny falling there can be a weight: the Internet, an overload of CPU/absence of free RAM on the device, a timeout, etc. fell off. A question — how to exclude or at least to reduce the number of such not objectively failed tests?
For me given chellendzh arose under the following circumstances:
1) the current application of autotests was decided to place on the server (CI); 2) implementation of multithreading in the project turned from desire into mustHave (in a type of need of reduction of time of regression testing of service).
Personally I was very glad to the second point as I consider that any process which can last a smaller amount of time — shall arrive thus (whether it be passing of the autotest or queue on cash desk in a supermarket: the quicker we can complete these processes, the more time at us remains for occupations by something really interesting). And so, having placed our tests on the server (here we were helped by administrators and their knowledge of jenkins) and having started them in flows (here our assiduity and experiments with testng.xml already helped), we received reduction of time of passing of tests from 100 minutes to 18, but at the same time we received a gain in the failed tests> 2 times. Therefore to the first two points it was added following (actually, itself chellendzh to which this article is devoted):
"Time is the capital of the worker of brainwork." Honoré de Balzac
Often it happens that people give preference to old and usual things, ignoring new, even to itself to the detriment. Here and we long time with persistence used system of accounting of time which did not meet our requirements and constantly created problems literally all — from programmers to accounts department.
General tortures with system of accounting of time, because of lack of time (cm drawing), did not become a strong reason for development of the system. The idea to write the real application for demonstration of opportunities of our CUBA platform rescued a situation. Combining business with pleasure, the system of accounting of time became the first candidate.
At the moment development is complete, the application is implemented in our company, and we are ready to share it with everyone.
In this article I will tell how we in a short time (< 1 мес), ограниченными силами (человек и еще полчеловека) разработали это приложение.
1 year, 6 months agoSearch of housing, information on goods, vacancies, acquaintances, comparison of goods of firm with competitors, research of responses in a network.
In the Internet a lot of useful information and ability to retrieve data is published will help with life and work. Let's learn to obtain information by means of webdriver API. In the publication I will give two examples which code is available on github. At the end of article skrinkast how the program manages the browser.