Start of main content

  • Watch recording

    Talk type: Partner’s talk

    Shared Modules

    Let's discuss the problem of duplication of statics between different micro-frontends and how ModuleFederationPlugin helps with this.

  • Watch recording

    Talk type: Talk

    Taking apart the elephant (and this has nothing to do with JS)

    Let's disassemble the elephant.

    1. Why are elephants so smart and paranoid?

    2. What can be built into the hand: an odor sensor and a snorkel. How to use the hand after that. 

    3. Other elephant details: thermal panels on the head, radios in the legs, how the elephant gets dressed.

    4. The elephant is the king of beasts. Who gives who the bush a beating in the bush. Why it has to do with the pressure formula.

    5. Deployment of the elephant.

    6. How we almost killed elephants and are now rebuilding.

    7. That's why the elephant is so smart and paranoid!

  • Watch recording

    Talk type: Talk

    Event Sourcing: deep dive

    There are many challenges and pitfalls on the way to building an Event Sourcing system. You will have to make important architectural decisions, and the wrong choice will bring significant problems or even bury your project. The speaker has been involved in the topic of Event Sourcing for more than four years and has gone over every possible rake. In this talk, he will share his experiences.

  • Watch recording

    Talk type: Talk

    Toward a new developer experience with Leporello.js: inventing a livecoding development environment for functional programming

    Since the advent of the React library, the JavaScript world has seen an increase in interest in functional programming. 

    The speaker will discuss the process of developing and debugging functional programs and explain what new unique opportunities functional programming opens up in terms of developer experience. He will show a new IDE concept for functional programming and talk about its development.

  • Watch recording

    Talk type: Talk

    Citydrive: The Ride Continues

    In the talk you will see the flip side of one of the largest carsharing companies - how the company uses NodeJS to handle thousands of requests per second.

  • Watch recording

    Talk type: Partner’s talk

    Architectural refactoring

    Evolution of the project architecture from startup to Enterprise by the example of the Youla site. Analysis of the shortcomings of the historically established architecture, an overview of the architecture that eventually came to be. You will learn what inspired the team to divide the code into parts: Clean Architecture, Domain Driven Design. Will be of interest to those who face scaling problems.

  • Watch recording

    Talk type: Conversation

    E-learning as an alternative to a career

    Courses and training on the Internet have become a red flag for developers and companies. Together with the experts, we will understand how useful such education can be, how to start your own courses, and what it takes. In addition, you will learn how to deal with the main problems: imposter syndrome, finding the target audience, and loss of practical skills.

  • Watch recording

    Talk type: Talk

    Generating video in JavaScript

    If you type "JavaScript video generation" into the search box, google will return 100500 links to video players. And 99% of these players are just an interface on top of HTMLVideoElement.

    The speaker will focus exactly on video generation issues, talk about challanges, limitations and solutions. This talk will give you an idea about the main points of the generation process.

  • Watch recording

    Talk type: Talk

    High refresh web

    Every year more and more devices with displays that support high screen refresh rates appear on the market. There is more and more software that requires graphical resources of the device (GIS systems, graphic editors, games) on the web. The speaker will tell you what you need to take into account to ensure that JS-animations on such displays and in such applications work without errors.

  • Watch recording

    Talk type: Talk

    Storybook: the problem or the solution to the problem?

    The speaker will talk about what problems Storybook helps to solve. He will describe examples of case solutions from his practice and what problems he encountered when using Storybook.

    From the talk you will get a deeper understanding of what functionality Storybook has, how it can help you develop and build application architecture. We'll also touch the problems of implementation.

  • Watch recording

    Talk type: Talk

    Hacks and hams from JS gamemode that are suitable for cycling app optimizations on the web

    A talk for those who write their own games or highly loaded distributed data models. For example, a startup with an infinite board and the shuffles on it. 

    The speaker will consider the connection between some high-level concepts and simple JS code. The knowledge gained can come in handy when writing your own bikes and when exploring low-level inserts in the code of popular libraries. The whole talk is based on GameDev experience, in particular the development of the PixiJS renderer. 

  • Watch recording

    Talk type: Talk

    WebTransport and its place among other protocols

    The speakers will talk about WebTransport technology and its application. It is currently in draft stage and is actively being developed by W3C.

    The talk will introduce developers to the current state of the technology, the motivation for its emergence, and compare it with existing solutions.

  • Watch recording

    Talk type: Talk

    Why not put all the configs in a separate package, reducing the boilerplate to zero?

    Have you ever had to copy configs of ESlint, Babel, Webpack, and other tools from project to project? Your package.json already has so many plugins that you can't find real project dependencies among them? What if you could get rid of all unnecessary dependencies by putting them into separate thematic packages? And all the configs would be reduced to a single line of import, and the boilerplate to 100 bytes.

  • Watch recording

    Talk type: Talk

    Task Scheduler: Don't freeze a tab when a page opens

    You will learn how Yandex Task Scheduler makes script initialization on the search page more human-friendly and not blocking UI. And also about how you can achieve the same.

    The problem: large TBT (Total Blocking Time) when opening pages in the browser, irrespective of the frameworks and libraries you choose. The speaker will tell you how to reduce TBT without affecting other metrics.

  • Watch recording

    Talk type: Partner’s talk

    Migrating to Vue 3: failure and another failure

    Alexey will tell you why you should migrate to Vue 3, what the migration will help you to get rid of, and what new opportunities will open up for you. He will share his experience in migrating to Vue 3, describe the problems you may encounter during the migration and explain why you need to refactor your code now.

  • Watch recording

    Talk type: Talk

    [Test] + <T> = ❤️

    Today, development without writing tests is unthinkable, and test frameworks are widely used for convenience. Existing test frameworks use attributes for their work, the applicability of which has significant limitations due to their implementation in .NET. But in the new version of C#, there has been a small revolution of this special type: they have become generalized, and this has unimaginably expanded their potential. For example, it is now possible to write more efficient and expressive generalized tests. Out-of-the-box popular test frameworks do not allow you to work with generalized methods, but provide flexible functionality to make this possible. This talk will focus on how to friend tests with generalizations using the rarely used features of test frameworks.

  • Watch recording

    Talk type: Talk

    Microservice of the brain. Prescriptions for quality

    The microservice approach frantically speeds up development, but on the way back it produces a bunch of entities with endless dependencies. How not to drown in it? Mikhail will talk about how he and his team at SberCloud changed the standard approaches to application design.

  • Watch recording

    Talk type: Talk

    Pulling out the monorepository

    The speaker will review the mechanisms and tools that link packages together in JavaScript. Their advantages, disadvantages, and application scenarios will be touched upon. You will learn why a mono repository is needed and how to manage it; how to organize the code base according to the company structure and allocate responsibility.

  • Watch recording

    Talk type: Talk

    Introduction to Reactive Programming

    React is not reactive (spoiler: not really), but Vue, Svelte and Angular are. But why? In the days of jQuery, when a program received data, it had to know all the places where that data was involved in order to update it. Now the frameworks let you just update the data, and they'll do the mapping themselves. This is one of the principles of reactivity - dependency inversion. The mapping follows the change in the data to do something itself. In React this does not happen, but still it is better than it was - now we do not need to update manually in all places, the framework will do it for us. The talk will not be about frameworks, although we will talk about them, too, but more about the fundamental things.

  • Watch recording

    Talk type: Talk

    Open source from a lawyer's perspective

    Open source is a non-legal topic with legal issues at its core. We will talk about why a lawyer becomes a developer's best "friend" and how to avoid unexpected risks for a company when using open source components or software. We will also talk about the trends in prosecution for violations related to the misuse of open source. We will learn how it happens and why we should be worried about it when developing software in Russia.

  • No record

    Talk type: Talk

    Lightning talks

    Lightning talks are mini-talks from conference participants. At Lightning talks there are three rules: the time of the talk is strictly not more than 10 minutes; only conference participants can read talks; the talk must somehow overlap with IT in a broad sense. The activity will not be broadcasted.

  • Watch recording

    Talk type: Talk

    Algorithms of request trottling

    The speaker will talk about different approaches to implementing asynchronous locks and semaphores and their application to control the load on services (Rate Limiting). The standard SemaphoreSlim, System.Threading.RateLimiting, and other algorithms will be discussed.

  • Watch recording

    Talk type: Talk

    ESLint is more than just an "extend"

    ESLing is a powerful tool. If handled properly, it will serve faithfully. But often all the work with it is reduced to extend from a well-known plug-in. How to unlock its potential, how to reduce time for reviewing the code, how to make a reusable config and what Prettier has to do with it? You will learn this from Denis's talk.

  • Watch recording

    Talk type: Workshop

    Workshop: how to develop, build, and deploy Node.js microservices with NestJS & Pulumi (Part 2)

    The workshop gives a practical perspective of key principles needed to develop, build, and maintain a set of microservices in the Node.js stack. It covers the specifics of creating isolated TypeScript dockerized services using the monorepo approach and turborepo. The workshop includes an overview and a live exercise to create a cloud environment with the Pulumi framework. The sessions are suitable for developers who want to learn and practice building and deploying techniques using Pulumi and Docker for Node.js. 3–4 hours Overview of technologies: Pulumi, Docker, Kubernetes, Node.js, TypeScript, turborepo. NestJS Example structure: turborepo configuration, common utilities, demo services. Practical exercise: create a cloud environment and deploy microservices to a cluster.

  • Watch recording

    Talk type: Talk

    How much does it cost

    Let's try to calculate what we need to run a more or less decent Node.js service on VDS (blue-green deployment, balancing, database, logging) and compare it with the AWS stack approach (lambda, RDS, API-gateway). And maybe even compare Selectel with Yandex Cloud.

  • Watch recording

    Talk type: Talk

    Reatom Gigantism

    What, how and why can you cram into a library of two kilobytes and how can you build an application of any complexity on its basis?

    The speaker will tell how the right abstractions can reduce the amount and complexity of code many times over. All the examples will be related to the Reatom state manager, but the talk will be generalized to principles that are applicable in any code.

  • No record

    Talk type: Partner’s BoF-session

    Microfrontends: implementation in a project from scratch or in an existing project

    Let's talk about: why we use microfrontends; what typical difficulties are encountered when implementing them in the current project; what you might encounter when creating an application using Module Federation and TypeScript when the project is split into several repositories.

  • Watch recording

    Talk type: Talk

    Instruction pipelining from 8086 to 2022: how the pipeline works in modern processors

    Superscalar pipeline, µop cache, branch prediction, pattern recognition, Out-Of-Order pipeline, re-order buffer, and simply hyper-threading - all these mechanisms and technologies are added to modern processors to speed up execution of instructions and improve performance of final programs. But globally modern architectures do not differ much from the first Pentiums and are very similar to 8086 processors. 

    Let's see how RISC-processors work in 2022 and how it affects .NET-programmers, using a simple example of a supermarket chain's revenue calculation.

  • Watch recording

    Talk type: Talk

    What's new in .NET 7 and C# 11

    Together with the release of .NET 7 came C# 11 with new features: generic math, raw string literals and list patterns. In the talk we will look at what you can find interesting in the new version of .NET and related frameworks - ASP.NET Core, MAUI, Blazor and others. We will definitely touch upon minimal APIs, source generators and WebAssembly. We will also discuss what features make writing the modern cloud-native applications easier: integration with OpenTelemetry, autogenerating docker-containers, rate limiting and so on. And, of course, let's not forget about performance improvements.

  • Watch recording

    Talk type: Partner’s talk

    PWA & "Mir"

    The implementation and development of PWAs in the ecosystem will solve a number of challenges on the user side when using web applications instead of, or in conjunction with, native applications. The implementation and enhancement process will bring a more flexible solution to the business in terms of supporting, updating and implementing functionality for the end user.

  • Watch recording

    Talk type: Partner’s talk

    Code as data, or Be a cool programmer

    An engineer often has the problem: "How do I grow up?" You don't want to become a manager. Learn new frameworks and programming languages? Read a book about Hamster Driven Development? But you can look at your code differently, it is just a set of lines. You can analyze them, generate them, change them. Frontenders often write programs that translate some data into strings. So why not write a program that "writes" programs?

    Using examples, the speaker will show how other programs help us write/modify. From IDE prompts to handwritten generators and code modes. It's easier than it sounds. And that's where Alexander sees his development as an engineer.

  • Watch recording

    Talk type: Conversation

    Web almanac: frontrunners trying to get into analytics

    The modern frontend is not just about reports and development, but about how people use them. It is a reflection of our society. Let's find out how this year the developer community has influenced the technical component of the web and what demand has been formed by its users.

    Invited guests will demonstrate their horizons in practice. Do they know so much about the modern realities of the web?

  • Watch recording

    Talk type: Talk

    Architecture tests

    When it comes to a more or less complex system, for which long-term existence and, most importantly, development is assumed, the question of architecture becomes extremely important. But during the life of the system, how do you control the rules that a particular architecture implies?

  • Watch recording

    Talk type: Talk

    Animations and their optimization in corporate projects

    Despite the cheapening of device performance, animations are still quite a "heavy" story for the browser, and you have to put a lot of effort for smooth animation and high FPS. On the example of animations from real projects, written in Nuxt 2 with GSAP 3 and Lottie libraries, let's understand the nuances of wow effect creation with animations.

  • Watch recording

    Talk type: Workshop

    Workshop: how to develop, build, and deploy Node.js microservices with NestJS & Pulumi (Part 1)

    The workshop gives a practical perspective of key principles needed to develop, build, and maintain a set of microservices in the Node.js stack. It covers the specifics of creating isolated TypeScript dockerized services using the monorepo approach and turborepo. The workshop includes an overview and a live exercise to create a cloud environment with the Pulumi framework. The sessions are suitable for developers who want to learn and practice building and deploying techniques using Pulumi and Docker for Node.js. 3–4 hours Overview of technologies: Pulumi, Docker, Kubernetes, Node.js, TypeScript, turborepo. NestJS Example structure: turborepo configuration, common utilities, demo services. Practical exercise: create a cloud environment and deploy microservices to a cluster.

  • Watch recording

    Talk type: Talk

    Batching in the React

    Dmitry pointed out that few developers at interviews answer the question about pitching. Some of them even hear this word for the first time. The speaker will talk about this phenomenon in React. How it worked in older versions and how it works now.

  • Watch recording

    Talk type: Conversation

    Debate.JS

    Truth is born in argument. Arguing well is a skill that requires practice. Politicians and businessmen use sports debates to practice this skill. Our participants will try their hand at this discipline. 

    You'll see our speakers and experts try to defend a randomly chosen point of view on a random JavaScript-related topic without preparation or searching for materials. Only arguments, eloquence, and courage!

  • No record

    Talk type: Partner’s BoF-session

    How to switch to a different framework, change the team and not go crazy

    Switching to a new technology stack - dream or reality? Let's discuss what's the best place to start: learning about current technology or boring basic theory? How best to answer questions about another stack at a job interview and not burn with embarrassment? And how to "refresh" knowledge of a long forgotten programming language?

  • Watch recording

    Talk type: Talk

    How to actually work on web application performance

    When we google "how to improve the speed of a web application," we usually find the same set of practices-"compress everything you can compress" or "divide the code into chunks." 

    But if you've already done all that, can you improve more? There's no silver bullet here, because you have to do some research into the performance of your particular application. The speaker will talk about the concepts, approaches, and problems that came up in their Auto.ru team while solving this problem.

  • No record

    Talk type: Conversation

    Fail Section

    Every failure is actually an interesting engineering challenge. That's why we love hearing about other people's mistakes and how to overcome them.

    At the session, speakers will talk about their fails and what it took to fix them. The activity is not broadcast or recorded.

  • Watch recording

    Talk type: Talk

    Opening

    We will talk about the schedule, sessions, and share the information. Join the broadcast to find out what's on the air soon!