JS from all sides: top 10 reports of HolyJS 2018 Moscow



    In December, we held another HolyJS, and at first the video recordings of her reports were available only to viewers, and now are open to everyone. For Habr, we traditionally made a selection of 10 reports that received the highest ratings from the audience. They are increasing in rating, so the further, the more interesting.

    Under the cutscene are the video recordings of the reports themselves, their short descriptions from the conference website, and links to slides.

    If the top 10 is not enough for you, there is also a more complete YouTube playlist .

    Deep immersion in webpack


    Speaker: Stas Kurilov
    Presentation

    Actually, the tenth place was taken by Mattias Petter Johansson, known to many on the YouTube channel Fun Fun Function. But we cannot show his report (under the terms of the MPJ it is exclusive for the audience of the conference), so instead of him the 11th was included in the post.

    Stas talks about the internal device webpack on the example of writing a loader for working with SVG-sprites. He considers the main stages of his work, showing when a loader is needed, when - a plug-in, how you can establish a connection between them and why you need it. He also explains how popular plugins work - extract-text-webpack-plugin, html-webpack-plugin, react-styleguidist.





    Little Data Science for a Big Frontend


    Speaker: Roman Dvornov ( lahmatiy )
    Presentation

    Roman (author of basis.js, CSSTree and not only) almost every HolyJS demonstrates the most interesting tools and approaches that do not leave you indifferent. This time, a step was made towards Data Science, and Zhora was introduced to the public.

    In the report:

    • What is Data Science and why is it worth knowing about it?
    • How can Data Science help in front-end and what is needed for this?
    • Announcement of a tool for building data analysis stands and how we got to this.
    • The answer to the question "who is Zhora?"
    • Practical examples of what can be done today and plans for the future.






    Final Form: Form state management via observers


    Speaker: Erik Rasmussen

    Managing the state of forms is difficult. Who needs to know about this, if not the author of the popular Redux Form library ? In the report, Eric shares the experience gained in developing and supporting the library.



    Microservice architecture


    Speaker: Dmitry Patsura
    Presentation

    Around microservices there is less hype - which means that now it's time to dive into them seriously. The report discusses:

    • What architectures are
    • Basic principles in the light of advantages and disadvantages
    • Teamwork
    • Dependency control
    • Communication between services
    • Service architecture
    • When we highlight a new microservice
    • The complexity and importance of CI / CD
    • Misconceptions






    WebAssembly development: real rake and examples


    Speaker: Andrey Nagih ( AndreyNagih )
    Presentation
    Text version of the report on Habré

    WebAssembly technology quickly broke into all popular browsers and thus became available for commercial development. The report tells what real rake was collected when porting a large C ++ application to the browser.
    In particular, it is considered:

    • What are the tools and what can they
    • How to toss objects between JS and Wasm
    • What problems arise and how to solve them?
    • What can wasm and what can not
    • How to see C ++ code in a browser debugger
    • How Wasm Faster than JS.






    Type systems in a nutshell


    Speaker: Vyacheslav Shebanov
    Presentation

    JS applications are getting bigger and more complex, and tools like Flow and TypeScript are gaining popularity. Static typing is becoming a common theme in the JS world, and we rarely ask ourselves why these types look anyway. How did the type systems of modern languages ​​form, what theory lies behind them, and where does all this move? The report tries to briefly talk about it.





    Build a GraphQL server


    Speaker: Pavel Chertorogov
    Presentation of

    REST API and Swagger were good for their time. Everyone around discusses the component approach, and it’s time for backenders to think about GraphQL: a new standard for the mega-friendly API for front-end vendors and their component approach. But what is good for the front-end can be a pain for an unprepared back-end.

    The report examined the points that are worth considering. What pieces is the GraphQL server going for (on the Internet there are already a lot of packages, would it be nice to understand what needs to be installed and why)? What is a scheme and how to write it so that the whole thing rustles? Authorization, writing a primitive ACL are considered. The issue of performance and security will be raised. The topics of file upload, schema generation, documentation and versioning of the API are discussed.





    JS battle: how I wrote my eval ()


    Speaker: Alexander Korotaev
    Presentation
    Text version of the report on Habr

    Once, Alexander was asked to write some game for the stand at the WSD conference. He had only three weeks, complete freedom in choosing a topic and colleagues on whom he tested all this.

    Report on how to write a game for developers, and not only from the world of frontend. Why is RxJS and Workers cool, but the most popular game engine is not. Is it possible to make JS safe and programmers happy. How to survive the war with the streams of events and criticism in order to manage to roll everything to the day of the programmer ...





    There is a bluebird in my talk that wants to get out


    Speaker: Lucas da Costa
    Presentation

    Lucas himself said that his report was quite simple and that he could be given a smoothie level in the program. If you understand what functions are in JS, conditional and arithmetic operators, then well. But the program committee decided to put on "hardcore".

    The main focus of the report is on the concept of Y-combinators and lambda calculus, and if you use the functional approach in industrial development, some conceptual aspects of functional programming are beyond the scope of your code. And what Lucas shows will be the most useful to practitioners for a functional approach and will reveal some aspects of the concept itself.

    Is the approach shown applicable in production? Unlikely. But the ideas themselves give a different perspective and help to draw up a more complete picture.





    Robust JavaScript: chasing a myth


    Speaker: Ilya Klimov
    Presentation
    Text version of the report on Habré

    January 2018. Venue: Ilya's own small outsourcing company. A small error in the code costs the client $ 600k - an amount that neither Ilya nor (now) the client has. This event, although it did not (fortunately) become fatal either for the project or for the company as a whole, was a decisive factor in Ilya’s revision of his views on writing reliable code by the development team.

    In this report, Ilya highlights the results of his research, the selection of technologies and architectural solutions to increase the reliability of his team’s code as he understands it:

    • Bad and “wrong” code should look wrong
    • June (and not only) should be easier to write the correct code than the wrong
    • Everything that can be automated should be automated, but with as little blood as possible




    The speakers who took the first two places in May can be seen on the new HolyJS with new topics: Ilya Klimov will talk about CI / CD , Lukas da Costa - about recursion . There will be many new faces, from Ryan Dahl (known by Node.js) to David Horschid of Microsoft.

    The conference will be held May 24-25 in St. Petersburg , the program and tickets are on the site , and from April the cost of tickets will increase.

    Also popular now: