~/conference

HolyJS Piter 2020

date:2020-06-22..2020-06-26
location:-- online --
series:HolyJS Piter · 2 editions
editions:[HolyJS Piter 2019, HolyJS Piter 2020]

frontend developers, full-stack JavaScript engineers, framework and library authors, build and release engineers, web performance engineers, devtools and tooling maintainers, QA and test engineers

Node.js backend-for-frontend; GraphQL client and server; CSS resets and regression testing; Canvas text rendering evolution; WebAssembly internals; Postgres for frontend developers; Vue 3 routing changes; Angular CLI build internals; Webpack bundling in production; conditional modules and dynamic bundling; Puppeteer automation workflows; utility-first CSS workflows

titleauthorlength
Modern Backend for Frontend on Node.jsAndrey Melikhov01h 13m
Talk explains how to build a backend-for-frontend using Node.js and JavaScript, aiming to let frontend engineers write server code for data-rich client apps…
Talk in Russian on
Wrapping an Existing REST API in GraphQL (Methodology for 1,000,000 Rubles)Pavel Chertorogov01h 14m
A practical case study of wrapping an existing REST API (Wrike) with GraphQL: the talk covers converting Wrike's REST (22 entities, 87 methods) into a GraphQL…
Talk in Russian on
A tale of CSS resets and everything you need to know about themMargarita Roi01h 14m
Compares concrete resets (Eric Mayer, html5doctor, normalize, sanitize, reboot, mini reset), demonstrates sanitize + html5doctor as a practical combo, and…
Talk in English on
The Evolution of Text Rendering on Canvas: On Flash, IE11, Designers and CuneiformAndrey Churakov01h 14m
A talk about drawing text on HTML Canvas covering Canvas and SVG, compatibility issues (e.g., older browsers like IE11), designers' requirements, and…
Talk in Russian on
Workshop: Postgres for Frontend Developers (Part 1)Ivan Panchenko01h 12m
Introduction to PostgreSQL for frontend developers: explains what DBMS and relational databases are, how to install and run Postgres, and basic tools to work…
Workshop in Russian on
Workshop: Postgres for Frontend Developers (Part 2)Ivan Panchenko01h 14m
Introduction to relational databases and PostgreSQL: what an RDBMS is and why use one. Shows how to install and run Postgres, basic tools, database concepts…
Workshop in Russian on
Workshop: Preparing 3D Graphics in the Browser (Part 1)Leonid Vinnichenko01h 14m
Introduces 3D graphics on the web for beginners by walking through a full pipeline: exporting a model from a 3D editor, loading GLTF model files, and rendering…
Workshop in Russian on
Workshop: Preparing 3D Graphics in the Browser (Part 2)Leonid Vinnichenko01h 07m
Introduction to 3D graphics on the web for beginners using Three.js: covers the full workflow from exporting models in a 3D editor through loading the GLTF…
Workshop in Russian on
Workshop: GraphQL on Client and Server — From Idea to Prototype (Part 1)Ruslan Baygunusov01h 12m
A hands-on workshop shows building a small client-server prototype from an empty folder using GraphQL, Next.js, Prisma 2, TypeScript, CSS-in-JS, React Hooks…
Workshop in Russian on
Workshop: GraphQL on Client and Server — From Idea to Prototype (Part 2)Ruslan Baygunusov01h 14m
Hands-on workshop showing how to build a small full-stack prototype in a few hours using GraphQL. Starting from an empty folder, it uses TypeScript, code…
Workshop in Russian on
I Fed HTML to the Rendering DogAleksandr Korotaev01h 14m
Examines how renderers can work independently of HTML by exploring rendering targets beyond the DOM and comparing which frameworks or renderer designs handle…
Talk in Russian on
Wasm InternalsDmitriy Bezhetskov01h 11m
Overview of WebAssembly internals focused for JavaScript developers: how Wasm is executed, validated and compiled inside VMs (examples from Firefox and V8)…
Talk in Russian on
Migrating from an Isomorphic App to a Static Site Generator: the revolut.com Case StudyOleg Obidin01h 14m
A case study of Revolut’s migration from an isomorphic (server/client-rendered) web app to a static site generator. Covers reasons for the migration, the…
Talk in Russian on
Decisions We Make: A Personal View on ArchitectureAleksey Zolotykh01h 10m
Talk examines how to see and evaluate the software architecture of a product, how to make architectural decisions and justify their importance to the business…
Talk in Russian on
Apache Kafka: What It Is and How It Will Change Your Application ArchitectureIvan Ponomarev01h 10m
Overview of Apache Kafka: its core concepts and how Kafka is used for storage and stream processing, plus how application architecture is built around Kafka…
Talk in Russian on
I Want Digital Signatures in JavaScriptArtem Kobzar01h 11m
Artem describes his experience building a YubiKey-like hardware device and developing cross-platform JavaScript libraries for working with electronic digital…
Talk in Russian on
Working with the DOM in JS FrameworksNikita Mostovoy01h 13m
Examines how JavaScript frameworks manage the DOM by comparing and updating elements instead of manual element-by-element changes. Covers the cost and…
Talk in Russian on
Speak My Language %app%Sergey Fetiskin01h 11m
The talk examines common failures in frontend localization—wrong file formats (like ad-hoc JSON), poor tooling, and lack of context—causing problems for users…
Talk in Russian on
Internals of the Angular CLIMinko Gechev01h 13m
Explains how the CLI builds an in-memory file system and uses schematics and AST + TypeScript type checking to perform safe code transforms, how builders run…
Talk in English on
Make It Seem Like Everything Loads FastViktor Rusakovich01h 12m
Frontend techniques to make a slow-loading web app feel faster without changing the backend API. Covers “perceived performance” tricks (fake…
Talk in Russian on
Static Typing: Which language to choose?Aleksandra Sikora01h 11m
Company evaluates PureScript, TypeScript, ReasonML and Elm for Hasura Console, backs actual migration plan and tooling (bs-platform, spago, webpack loaders…
Talk in English on
What's new in Vue 3 RoutingEduardo San Martin Morote01h 14m
Vue Router 4 introduces true dynamic routing with functions to add, remove, list and check routes and addRoute returns a remover function; a new matcher ranks…
Talk in English on
Webpack in the WildSergey Melyukov01h 14m
Description of how Avito's frontend team adapted and extended webpack to work within a large, multi-team codebase: integrating webpack with PHP and Twig…
Talk in Russian on
How to release open source library in 2020Eunjae Lee01h 12m
Shows a concrete workflow and a working tool: uses conventional commits to auto-calculate semver, creates a staging branch and PR, then CI runs a publish job…
Talk in English on
Tempus Fugit: A story of timeUjjwal Sharma01h 13m
JavaScript gets a concrete plan: Temporal proposes immutable, strongly typed primitives for dates, times, calendars and durations, with built-in IANA time…
Talk in English on
Utility-first CSS: The highs and lows of styling web sitesPhil Hawksworth01h 11m
Argues that a utility-first CSS workflow (Tailwind/Tachyons) lets teams ship with almost no hand-written CSS, using tools like TailwindCSS, PostCSS and…
Talk in English on
Let's Stub the BackendMariya Shakshina01h 11m
Talk shows how to handle missing backend during frontend development by using stub servers. It demonstrates and compares many stub-server tools for REST APIs…
Talk in Russian on
Puppeteer can automate that!Önder Ceylan01h 15m
Puppeteer pairs with the Chrome DevTools Protocol and serverless functions to automate real tasks: over a dozen live demos show screenshots/PDF generation…
Talk in English on
Reflection in TypeScriptAleksandr Bogachev01h 13m
Shows how to implement Role-Based Access Control (RBAC) in a NestJS app by using TypeScript reflection to pass types and classes from build time into runtime…
Talk in Russian on
Exploring the hidden potential of sound dataCharlie Gerard01h 14m
Claim: browsers can do acoustic activity recognition by turning microphone data into spectrogram images and running lightweight CNNs. Implementation uses the…
Talk in English on
Web: The good partsKen Wheeler01h 13m
Shows which browser features actually change what gets built: web workers move CPU work off the main thread so a canvas animation keeps running while a prime…
Talk in English on
Vue.js: Forms & validations in the composition ageDamian Dulisz01h 08m
A complete rewrite of Vuelidate targets Vue.js 3 and the Composition API, delivering half the code and quarter the complexity and a minified core around two…
Talk in English on
Conditional modules & dynamic bundling, a Netflix originalRajat Kumar01h 11m
Netflix builds a Webpack-based system that turns boolean feature flags into a conditional dependency graph using a Webpack plugin that reads the AST…
Talk in English on
The multi-year quest for the best web test in the westAndrey Lushnikov01h 13m
Multi-year engineering history leads to a concrete tool: Playwright is a Microsoft open source library that actually controls Chromium WebKit and Firefox with…
Talk in English on
You can also be a heroDario Kondratiuk01h 10m
Journey runs from community consumer to active contributor: created Puppeteer Sharp (port of Puppeteer), keeps a blog, and maintains an OSS package with 100k+…
Talk in English on
Chronotope: await Eloquent.ErrorsViktor Vershanskiy01h 12m
A talk that uses the literary concept of a chronotope to examine error handling in legacy JavaScript systems. It discusses common classes of runtime mistakes…
Talk in Russian on
Music 101 with JS BachCraig Spence01h 10m
Reimplements musical primitives — pitch, rhythm, harmony — in JavaScript and shows working code: a metronome built from setInterval moved to a Web Worker and…
Talk in English on
Interview and Q&A with David NolenDavid Nolen01h 14m
A live Q&A explains why ClojureScript gets small maintainable apps: a production stack uses Clojure everywhere including crypto and two React Native apps, the…
Interview in English on
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.