In this post I will tell:
Many habrovchane work in IT-companies, and our companies have a blog on Habré. This blog is often seen as a showcase for the company's products and services. When you write posts in the corporate blog, everyone subconsciously expects such behavior. As hunters hang trophies with amazing animals on the walls of their houses, new versions, new features and new bugs should appear on the display case.
But we all understand that Habr, first of all, is a collection of amazing stories. A corporate blog can be turned into something really useful (the @ptsecurity article on code execution in Intel ME is in my “speed dial” of the browser), and arrange a hellish dirty swamp with “new technologies” and even not quite technology) or an Instagram branch with photos of the office. You yourself decide what happens in the end.
I will say even more: the top companies have a lot of subscribers (there are one and a half thousand subscribers at the JUG.ru Group blog ), while a typical publication on the main one has about 50 advantages. So, your subscribers can pull almost any post to the main page, just pushing it within the limits of error. That is, it is you, as habraavtor, who are responsible for the content of the main page - for the appearance, honor and reputation of Habr.
Hence the question automatically arises: what about conference reviews? In this regard, we are somewhat more complicated than, for example, the software manufacturer. The software vendor usually writes about work already completed and successfully completed, the result of which will be used by the browser. The conference is always work-in-progress, even in the very last days before holding. If you write about each new nuance and step in development, you would have to issue updates in paragraph size in a continuous stream, and this is rather a Twitter format. On Habré, we want to see the Longrid.
I think many people have the same problem here, it should be discussed in the comments and criticized the decisions.
Our solution is briefly described by the “progressive dzhipeg” method, which Artemy Lebedev spoke about in the 167 paragraph of the Mangling .
I will allow a small practical digression. Many people know about paragraph 167, they want to illustrate in their work “the progressive jeep method” with their own pictures, but they don’t know how to do it. The article would not be complete without disclosing this open secret, which, however, is very difficult to google.
Intuitively, it seems that you need to take an algorithm that draws a picture and fix it by stopping it at the Nth step (scan). It is difficult and not for everyone. In fact, everything has already been done before us: such a stop is programmed in browsers, if the browser needs to download less data than the picture weighs at all. It remains only to set the correct “Content-Length” value on the server.
brew install php70
and apt-get install php7.0
.php.exe
is php.exe
is desirable (but not necessary) to add to PATH
in order not to type the full path to php.exe
with your hands.C:\\Temp\\jpeg.jpg
.Let's use the jpeg.php
script:
<?php // ? $divide = isset($_GET['divide']) && intval($_GET['divide'])>1 ? intval($_GET['divide']) : 1; $img = 'jpeg.jpg'; // . // , : $size = round(filesize($img) / $divide); // HTTP-: header("Content-Type: image/jpeg"); header("Content-Length: $size"); // : $fp = fopen($img, 'r'); echo fread($fp, $size); fclose($fp); ?>
cmd
, macOS - iTerm, etc.) go to the folder where jpeg.php
and start the local PHP server: php -S localhost:8000
;http://localhost:8000/jpeg.php?divide=10
;
divide
parameter, the more blurred the picture will be. The ideal picture is divide=1
.Why not in Java? Has it sold, gone over, is Java all bad? But nothing is bad, it was a tactical retreat.
This paragraph is entirely for those who are interested in how this happens inside us. If you need essentially a new Heisenbug, you can scroll to the next big title or click on this link .
Usually the review of the next conference rolls out very soon after the previous one. At a minimum, a post on Habré is needed to make it clear that the site does not have old information and the site should be trusted .
Why this is important: yesterday the organizer of the Django Girls SPb workshop , Dmitry Nazarov ( @nazarov_tech ) wrote to me in person . Django Girls is such a free web development workshop for women. We talked happily, and I thought that the next Django Girls would be only in the fall (the last time was in the fall). But it turned out that it will pass very soon, but this is not yet on the site. It doesn't say anything bad about Django Girls - after all, everyone does. This suggests that our strategy for a paranoid fast site update is good.
By this time, the date and venue is already clear, but the program is completely incomprehensible. There are a few stars that are definitely coming. In the case of Heisenbug, for example, Simon Stewart is a man-Selenium or Vitaly Friedman, thanks to which Smashing Magazine is so hopeless and quick.
In this case, we are writing not just an announcement, but also announcing the so-called Call For Papers (CFP) . At the conference really get not only a legend, but also an ordinary person.
Many believe that they have nothing to tell. Some of the best reports began precisely with such a delusion. In fact, what may seem like a chore to you will be a revelation for someone. For example, you took and debugged the process of load testing in a cunning way - and that’s it, now it’s become a routine for you. But for most people, it remains the same challenge, for the chance to hear the solution to which they will do anything.
Right now, for a moment, distract from reading this post and think about what you could tell. Then quickly and decisively go to fill in the registration form !
Unfortunately, such posts-announcements and posts-appeals are gaining very few views, and the speakers are lost on this. Not everyone read this paragraph, not everyone realized the opportunity to become a speaker. You can help us by telling your friends about Call For Papers - those who do not read Habr, who do not have enough invites, and so on. At a minimum, you can like this post (if you like it).
Immediately after this stage, work begins on a progressive jeep. First, we can already speak about the program: first, just about people, and then about specific reports.
But the main thing is that we constantly publish updates that already contain a lot of informative information: text-based transcripts of old reports (we read Habr including because we love the text - otherwise we would watch YouTube and read interviews with speakers and the Program Committee , as well as interesting articles on the topic. Creating one decryption can easily take a week or more, but the result (filling Habr with valuable content) is worth it.
In addition, in the work we constantly meet with the tasks of development and testing. Sometimes there are interesting tasks that are not a sin to write - for example, as in that article about Selenium .
And finally, closer to the day of the conference, the final megapost is written about all the reports and speakers, and a separate article is about the online broadcast (if it will be held).
I noticed that the easiest way to form a mega-post frame is to write a Java program that will parse the site and pull out everything you need from it. How to write code for this, I told in a separate post and laid out a ready-made example of code on GitHub . Yes, one could do everything in a normal way and ask them to pull out the data of our programmers. But I write posts at night, in moments when inspiration appears. And site developers are normal people who sleep at night. Easier and faster to do everything yourself.
In general, thanks to this approach, it turns out to be on the main one, and not to litter it with advertising, and to deliver our users a lot of interesting content. The main problem of this strategy is extreme resource intensity. One well balanced post is much more expensive than a click game heading.
As you already know, May 17-18, 2018 will be the Heisenbug 2018 Piter . Many have already started to buy tickets (I am a pessimist and I understand that this is more likely because of the special January ticket price, and not because of our super international fame). Therefore, I want to tell the new arrivals what has changed and improved compared to the previous report .
Good news: ten speakers have already confirmed their participation in the conference. Half of them have already decided on the reports, some are only in the process of writing. A number of speakers are currently working with the Program Committee, for example, Michael Bolton , a renowned consultant and trainer who has written Rapid Software Testing and Rapid Software Testing for Managers . But I will write only about these ten.
The selenium project
Simon is the creator of WebDriver and the head of the Selenium project. In the past, he was the head of the Facebook build tools team, developed the Buck build graph utility, and vehemently advocated using mono-repositories. Before joining Facebook, he spent almost five years in a row on Google and three years on ThoughtWorks. He saw really a lot of code. In addition, Simon is seriously interested in exactly reproducible assemblies.
In his career, Andrew managed to work in completely different projects: he was engaged in testing distributed systems in Yandex, tested the game in Mail.ru, the cloud detection system at Kaspersky Lab, and the currency pricing system at Deutsche Bank. Interested in testing backend and distributed systems.
The Mobile Experience Company
Adam automates everything that moves. What does not move - first makes you move, and then automates. These are his own words. It was he who revived Selenium IDE (and since then has been paying the price). In her free time, she participates in a roller durbi (a contact team sport on roller skates) as a judge.
Report: The "C0MEDIES" of testing in the cloud age
Testing an application that lives in the cloud requires the same techniques and techniques that are used on its own hardware. But it will not be limited to just the usual user functionality: you will have to check everything that makes cloudy software “cloudy”. In fact, it can be proved that ensuring good cloud performance is almost more important than user functionality, since a change in the architecture for repairing cloud solutions will definitely lead to a complete re-testing of everything else. “C0MEDIES” is an abbreviation for a list of different principles and techniques that can cope with these problems and will be covered in this report.
Independent consultant
Artyom has been involved in web application testing automation for over 8 years. During this time, he worked in different teams and in different roles: testing automator, testing tool development team manager, testing automation team leader. Artyom has extensive experience with popular tools (Selenium, HtmlElements, Allure, Jenkins). Programs mainly in Java and Groovy.
Element34 Solutions GmbH
Founder and CEO of Element34 Solutions. One of the developers of Selenium Grid. Former Director of Quality Engineering at eBay. For more than 10 years, Michael has been developing an testing approach at eBay International, being in the position of head of Quality Engineering. He was the manager responsible for transforming eBay International from the abyss of Waterfall into a very flexible organization using new ways and approaches, especially in the field of engineering practices. Before joining eBay, Michael held leading positions at companies such as Ericsson, Nortel Networks and Intel.
Report: Enterprise Automation with Selenium and Selenium
As Selenium becomes the W3C standard, more and more organizations are beginning to use it as the main test automation tool. Most teams focus on writing tests and dealing with problems with the help of Selenium itself. However, in our experience, Selenium is the smallest problem when creating a test solution from scratch that is suitable for use in enterprise projects. This report will look at many real-life examples of how test automation with the help of Selenium eventually turns into a project to create a large software product. It is necessary from the very beginning to understand that this is precisely such a software project, and conduct it accordingly. The report will show the main problems that prevent teams from building expandable and reliable solutions based on Selenium tools. We will also see how you can successfully apply the principles of lean in creating a similar solution based on Selenium.
Julian is an independent mobile technology consultant. He is now working with the Program Committee on the content and announcement of his report. For more information, see the following articles on the Heisenbug 2018 Piter program.
Classmates
Nikita worked in outsourcing and grocery companies. He was engaged in the automation of embedded operating systems based on Linux, integrated VPN solutions for business, software and hardware systems. Since January 2012, he has been the head of the test automation group in the Odnoklassniki project.
Smashing magazine
Vitali loves to make good, beautiful content - and does not give up when difficulties arise. He grew up in Minsk, and studied Computer Science and Mathematics in Germany, where he found a passion for typography, writing and design. After working as a freelance designer for six years, he co-founded Smashing Magazine , one of the largest and most influential online magazines about web design and web development. Vitaliy wrote with his own hands, was a co-author and editor of both Smashing Books books (a book of times , a book two ). Currently, Vitaly is working as the chief editor of Smashing Magazine in the German city of Freiburg .
Report: Wild West testing: smart responsive interface design patterns
In this report, Vitaly will talk about microscopically accurate testing of commonly encountered interface elements. About what to look for problems in responsive UI and what they generally are. The report will be about the ideal components of the accordion type, the choice of date and time, components for comparing product features, calculating the cost of insurance, a vehicle configuration configurator, and other such things. Beware: once studied on this report, forget back will not work :-)
Grid dynamics
Vsevolod more than 5 years in software testing / test automation. Full Stack Developer / Tech Lead has been working for the last year and has experience building test automation from scratch for mobile, desktop and web projects (mainly for financial companies). He likes to participate in hackathons and work with smart colleagues. He conducted many interviews (more than 200, and has already stopped counting) for test automation engineers, developers, and analysts. The last few years working in the company Grid Dynamics. Now living in California, working on a contract with Google.
EPAM Systems
Stanislav has been developing since 2008, mainly in Java. Always testing and quality code. At some point I began to get involved in process optimization and in 2013 switched to CI / CD activity. I have never been completely satisfied with the work of AQA, and therefore in 2015 I went into testing to prove that everything can be done much better. Proved and went into business analysis.
Report: Puff Tests
We hear from everywhere about how important it is to build pyramids so that testing becomes fast, simple, reliable. But why nobody does it? We will discuss:
The report is focused on developers and project managers.
If you are interested in these (and future) reports - as always, you can buy Heisenbug tickets on the official conference site until January is over - at a special January price. Additional questions can be asked in the comments to this article or write to private messages - we always read and answer everything.
We are waiting for you at Heisenbug 2018 Piter!
Source: https://habr.com/ru/post/347490/