Pull to refresh
3
0
Владимир Григорьев @Valdemarskyi

User

Send message

Как работает JS: WebSocket и HTTP/2+SSE. Что выбрать?

Reading time16 min
Views126K
[Советуем почитать] Другие 19 частей цикла
Часть 1: Обзор движка, механизмов времени выполнения, стека вызовов
Часть 2: О внутреннем устройстве V8 и оптимизации кода
Часть 3: Управление памятью, четыре вида утечек памяти и борьба с ними
Часть 4: Цикл событий, асинхронность и пять способов улучшения кода с помощью async / await
Часть 5: WebSocket и HTTP/2+SSE. Что выбрать?
Часть 6: Особенности и сфера применения WebAssembly
Часть 7: Веб-воркеры и пять сценариев их использования
Часть 8: Сервис-воркеры
Часть 9: Веб push-уведомления
Часть 10: Отслеживание изменений в DOM с помощью MutationObserver
Часть 11: Движки рендеринга веб-страниц и советы по оптимизации их производительности
Часть 12: Сетевая подсистема браузеров, оптимизация её производительности и безопасности
Часть 12: Сетевая подсистема браузеров, оптимизация её производительности и безопасности
Часть 13: Анимация средствами CSS и JavaScript
Часть 14: Как работает JS: абстрактные синтаксические деревья, парсинг и его оптимизация
Часть 15: Как работает JS: классы и наследование, транспиляция в Babel и TypeScript
Часть 16: Как работает JS: системы хранения данных
Часть 17: Как работает JS: технология Shadow DOM и веб-компоненты
Часть 18: Как работает JS: WebRTC и механизмы P2P-коммуникаций
Часть 19: Как работает JS: пользовательские элементы

Перед вами — перевод пятого материала из серии, посвящённой особенностям JS-разработки. В предыдущих статьях мы рассматривали основные элементы экосистемы JavaScript, возможностями которых пользуются разработчики серверного и клиентского кода. В этих материалах, после изложения основ тех или иных аспектов JS, даются рекомендации по их использованию. Автор статьи говорит, что эти принципы применяются в ходе разработки приложения SessionStack. Современный пользователь библиотек и фреймворков может выбирать из множества возможностей, поэтому любому проекту, для того, чтобы достойно смотреться в конкурентной борьбе, приходится выжимать из технологий, на которых он построен, всё, что можно.
Читать дальше →
Total votes 24: ↑23 and ↓1+22
Comments10

5 вещей, о которых должен знать любой разработчик Apache Kafka

Reading time15 min
Views78K


Apache Kafka — это платформа потоковой обработки событий, которую используют 30% компаний из Fortune 500. У Kafka много функций, благодаря которым платформа задает стандарт обработки событий, и здесь мы поговорим о пяти самых важных аспектах, которые должны быть известны любому, кто работает с Kafka.


Некоторые аспекты связаны с производительностью, другие — с архитектурой. Надеюсь, к концу этого поста вы лучше поймете, как работает Kafka, и освоите пару новых трюков.

Читать дальше →
Total votes 18: ↑17 and ↓1+22
Comments3

Ивентная модель данных с использованием Kafka и Kafka Connect: Построение гибкой и распределенной архитектуры

Level of difficultyMedium
Reading time16 min
Views10K

Привет, Хабр! В наше время при постоянном росте объемов данных и необходимостью более быстрой и надежной обработки информации, мы сталкиваемся с требованием к эффективному обмену и синхронизации данных между различными системами. Отслеживание и обработка данных в реальном времени стало жизненно необходимым для современных приложений.

В этой статье мы рассмотрим, как Kafka Connect – мощный инструмент из экосистемы Apache Kafka – приходит на помощь при решении сложной задачи синхронизации данных между базами данных. Мы рассмотрим, как используя Kafka Connect, мы можем эффективно следить за изменениями в одной базе данных, обрабатывать их в нашем Java приложении и мгновенно записывать их в другую базу данных, обеспечивая надежность и безопасность данных.

Построим гибкую и масштабируемую архитектуру, которая позволит нам забыть о проблемах связанных с несогласованными данными и наслаждаться мгновенным доступом к актуальной информации для наших бизнес-процессов.

Читать далее
Total votes 2: ↑2 and ↓0+2
Comments0

Архитектура ИТ решений. Часть 1. Архитектура предприятия

Reading time12 min
Views172K

I. Вступление

Архитектура распределяет массы и объемы.
Вдохновение превращает инертный камень в драму.
Ле Корбюзье.
Недавно столкнулся со следующей ситуацией, одна крупная ИТ компания подбирала для себя архитектора, с целью доработки компьютерной платформы «собственного исполнения». Такая работа, естественно, требовала привлечения специалиста высокой квалификации. А как это сделать дешево и сердито, чтобы призванный варяг был «и чтец и жнец и на дуде игрец»? Решили без всяких излишеств разработчика ПО, поименовать архитектором, и заполучить помимо кодировщика, еще и профессионала, способного разобраться с чужими решениями, до проектировать их на свое усмотрение, принимать самостоятельные решения и т.п…

Когда стали выяснять, а как же в организации вообще обстоит дело с архитектурой, обозначились следующие тенденции. Есть ряд высококвалифицированных разработчиков, позиционируемых как архитекторы. Помимо непосредственно создания кода, они выполняют достаточно низкоуровневое проектирование различных технологических систем и задают вектор и горизонт их развития. Решения представлены ими в основном в виде текстовых описаний, разбавленных небольшим количеством схем, в основном производных от диаграмм компонентов. Каждый из архитекторов представляется уникальным и эксклюзивным носителем знаний, а по сути — является узким местом в процессе производства программных продуктов. Ведь на практике без его постоянных уточняющих консультаций, воспользоваться результатом евонной деятельности практически невозможно. Полная, логически выстроенная, структурированная картинка сложного решения есть лишь в его голове.
Читать дальше →
Total votes 9: ↑9 and ↓0+9
Comments7

Websocket или REST? А зачем выбирать?

Reading time8 min
Views34K

В этой статье я описываю, как создать систему, в которой абсолютно каждое действие можно выполнять, как с помощью Websocket, так и с помощью обычных запросов на входные точки REST.

Узнать больше
Total votes 6: ↑3 and ↓30
Comments20

Архитектура предприятия, TOGAF 10 и адаптивность организационной структуры

Reading time11 min
Views31K

Архитектура предприятия предназначена для самого предприятия, а не для архитекторов.

«Предприятие» —  это любая совокупность организаций, объединенных общими целями. В этом смысле предприятие может быть государственным учреждением, целой корпорацией, подразделением корпорации, самостоятельным отделом или цепочкой географически удаленных друг от друга организаций, связанных общей формой собственности.

Термин «архитектура предприятия» может использоваться как для обозначения архитектуры всего предприятия, включающей все его информационные системы, так и для обозначения архитектуры конкретной области внутри предприятия. В обоих случаях архитектура охватывает многочисленные системы и функциональные группы предприятия.

Читать далее
Total votes 6: ↑6 and ↓0+6
Comments3

Австралия vs США. Что выбрать русскому программисту?

Reading time15 min
Views38K


Саша Штейников родился в Тюмени, но потом много лет работал программистом в Австралии, и получил там гражданство. А сейчас уже второй год живет в США, работая на Uber в Сиэтле.


Мы с ним провели самое детальное сравнение двух стран. Где комфортнее будет жить на зарплату? Где безопаснее? В чем разница двух культур? Чем отличается атмосфера в компаниях AU и US? Где лучше медицина? Где красивее природа? Где на дорогах настоящий ад? И куда всё-таки стоит переезжать?


Слово Саше.

Читать дальше →
Total votes 48: ↑42 and ↓6+48
Comments170

Типизация для Kafka-топиков в Юле

Reading time10 min
Views6.4K

Мы делаем Юлу уже 7 лет, из небольшого проекта она превратилась в сервис объявлений с аудиторией в 33 млн пользователей. За это время в Юле появилось значительное количество функций и настроек, реализованных в разных компонентах. Одна из трудностей, встающих перед разработчиками подобных распределённых систем, связана с обеспечением согласованной работы отдельных компонентов, а именно с поддержкой контрактов сервисов. Мы также столкнулись с некоторыми проблемами, вытекающими из первоначального отсутствия контрактов.

Читать далее
Total votes 14: ↑14 and ↓0+14
Comments2

Используем аннотацию @Transactional like a pro

Reading time20 min
Views26K

Привет, Хабр! Меня зовут Никита Летов, я тимлид бэкенд-разработки мобильного приложения Росбанка для физических лиц. Этот пост входит в серию постов по разработке бэкенд-микросервисов на Java и Spring и является адаптацией моего доклада с JPoint 2022

Также хочу предупредить, что данный пост не cookbook и не предоставляет идеально приготовленное решение какой-либо бизнес-проблемы. Это разбор одной технологии, которая при правильном использовании может помочь вам в решении реальной проблемы. А может и не помочь — всё зависит от ее природы.

Читать далее
Total votes 16: ↑15 and ↓1+15
Comments11

ScyllaDB: приручение «лающей» базы данных

Reading time9 min
Views21K

Критериям выбора архивного хранилища она соответствовала идеально. Оптимизированная под запись, легко масштабируемая, совместимая с привычной уже Cassandra, только в разы быстрее… Имя же её — Сцилла (греч. Σκύλλα — «лающая») — напоминая о мифологическом чудовище, рисовало в воображении картины молниеносного поглощения гигантских объемов данных. Сложно было устоять и не попробовать.

Читать далее
Total votes 19: ↑19 and ↓0+19
Comments9

gRPC в качестве протокола межсервисного взаимодействия. Доклад Яндекса

Reading time16 min
Views214K
gRPC — опенсорсный фреймворк для удаленного вызова процедур. В Яндекс.Маркете gRPC используется как более удобная альтернатива REST. Сергей Федосеенков, который руководит службой разработки инструментов для партнеров Маркета, поделился опытом использования gRPC в качестве протокола для построения интеграций между сервисами на Java и C++. Из доклада вы узнаете, как избежать частых проблем, если вы начинаете использовать gRPC после REST, как возвращать ошибки, реализовать трассировку, отлаживать запросы и тестировать вызовы клиентов. В конце есть неофициальная запись доклада.

— Сначала хотелось бы познакомить вас с некоторыми фактами про Яндекс.Маркет, они будут полезны в рамках доклада. Первый факт: мы пишем сервисы на разных языках. Это накладывает требования по наличию клиентов для сервисов.
Читать дальше →
Total votes 28: ↑24 and ↓4+30
Comments12

WebView: забыть нельзя интегрировать

Reading time14 min
Views35K

При разработке мобильного приложения iOS или Android рано или поздно может встать вопрос: «Реализовать фичу на WebView или же нативно?». В некоторых случаях ответ лежит на поверхности, но, к сожалению, так бывает не всегда. А если очень велик соблазн предоставить пользователям новый функционал поскорее — это может склонить к неправильному решению, с которым впоследствии предстоит что-то сделать.

Сегодня мы хотим поделиться с вами тем, какую стратегию мы выбрали в Циан для себя и как к ней пришли. Посмотрим, где же мы поставили запятую :)

Поехали!
Total votes 14: ↑14 and ↓0+14
Comments12

Шпаргалка по SQL (postgres), которая выручает меня на собесах

Level of difficultyEasy
Reading time8 min
Views205K

Привет, Хабр!

Я решил посвятить свою первую статью SQL. Вопросы, рассмотренные ниже мне задавали на собеседованиях на позицию python-разработчика. Естественно отвечать правильно получалось не всегда, а если точнее то чаще не правильно, однако проведя N часов в рефлексии я составил перечень ответов, которыми пользуюсь до сих пор.

Данная информация предполагает знание основ языка запросов и я надеюсь, она окажется полезной для разработчиков, которые сейчас активно ищут работу а также, что ты прочитаешь этот текст до конца и добавишь свой вопрос к перечню (ну или поправишь неточности в существующих)

Читать далее
Total votes 156: ↑149 and ↓7+177
Comments178

Переезжаем на ClickHouse: 3 года спустя

Reading time19 min
Views22K
Три года назад Виктор Тарнавский и Алексей Миловидов из Яндекса на сцене HighLoad++ рассказывали, какой ClickHouse хороший, и как он не тормозит. А на соседней сцене был Александр Зайцев с докладом о переезде на ClickHouse с другой аналитической СУБД и с выводом, что ClickHouse, конечно, хороший, но не очень удобный. Когда в 2016 году компания LifeStreet, в которой тогда работал Александр, переводила мультипетабайтовую аналитическую систему на ClickHouse, это была увлекательная «дорога из желтого кирпича», полная неведомых опасностей — ClickHouse тогда напоминал минное поле.

Три года спустя ClickHouse стал гораздо лучше — за это время Александр основал компанию Altinity, которая не только помогает переезжать на ClickHouse десяткам проектов, но и совершенствует сам продукт вместе с коллегами из Яндекса. Сейчас ClickHouse все еще не беззаботная прогулка, но уже и не минное поле.

Александр занимается распределенными системами с 2003 года, разрабатывал крупные проекты на MySQL, Oracle и Vertica. На прошедшей HighLoad++ 2019 Александр, один из пионеров использования ClickHouse, рассказал, что сейчас из себя представляет эта СУБД. Мы узнаем про основные особенности ClickHouse: чем он отличается от других систем и в каких случаях его эффективнее использовать. На примерах рассмотрим свежие и проверенные проектами практики по построению систем на ClickHouse.


Total votes 35: ↑35 and ↓0+35
Comments9

Когда действительно пора делать микросервисы

Reading time4 min
Views15K

Микросервисную архитектуру масштабировать легче, чем монолит. Но преимущества не даются просто так, иначе все бы просто пилили микросервисы и горя не знали.

За лёгкую масштабируемость приходится платить десятками часов проектирования. Чтобы удачно разложить концепцию приложения на части, требуется глубокое погружение — до уровня, где под словом «дизайн» подразумевают не шрифты с иконками и даже не UX. Как понимаете, глубоководные экспедиции в пучину архитектуры окупаются далеко не всегда.

Под катом шесть вопросов, их задают себе системные архитекторы Газпромбанка, когда хотят понять, пора пилить микросервисы или можно обойтись монолитом.

Читать далее
Total votes 16: ↑13 and ↓3+22
Comments19

Новая Зеландия открывает границы

Reading time4 min
Views15K

Прошло два года с моей прошлой статьи, которая случилась как раз на заре COVID-19, и буквально через несколько дней после её выхода Новая Зеландия закрыла границы для всех, кроме обладателей виз постоянных резидентов и граждан.

Два года спустя, когда уже стало понятно, что держать оборону с нынешним вариантом Omicron не выйдет, правительство придумало план постепенного открытия границ.

Уже сейчас в страну могут вернуться резиденты и граждане без обязательного прохождения государственного карантина (который стоил относительно больших денег, кстати).

И примерно с июля 2022 смогут заехать обладатели рабочих виз.

Естественно все ниже не может являться советом по иммиграции, потому что по закону это могут делать только лицензированные агенты (кстати, есть русскоговорящие).

Читать далее
Total votes 18: ↑11 and ↓7+11
Comments34

Как устроен банкомат: что происходит с деньгами и данными внутри аппарата

Reading time9 min
Views62K

Как с пользой потратить время в очереди к банкомату? Предлагаем такое упражнение: представьте, что у вас рентгеновское зрение, и попробуйте проследить весь путь, который проходят купюры внутри устройства.

Чтобы вам было легче ориентироваться, вот пост про богатый внутренний мир банкомата. Рассказываем и про механическую часть, и немного про связь с банковским информационным контуром. Всех любопытных приглашаем под кат.

Читать далее
Total votes 33: ↑32 and ↓1+46
Comments42

Один канал для всех: как устроена омниканальная платформа Газпромбанка

Reading time9 min
Views5.3K

Сегодня хочу рассказать про фронт-платформу розницы Газпромбанка, в которой мы реализовали омниканальный подход для выставления продуктов в цифровых и традиционных каналах продаж. Это когда клиент начал свой путь в одном канале, продолжил в другом, а закончил в третьем — и не только пострадал при этом ни морально, ни физически, но и вообще не обнаружил проблем при переходе из одного канала в другой.

Омниканальная платформа (ОКП) — это стратегический и очень важный продукт для всей нашей розницы. Преимущества просматриваются сразу с нескольких сторон.

Читать далее
Total votes 6: ↑3 and ↓3+2
Comments7

Information

Rating
Does not participate
Location
Москва и Московская обл., Россия
Date of birth
Registered
Activity

Specialization

Systems Analyst, Business Analyst
Nginx
Database
High-loaded systems
Designing application architecture
Creating project architecture
Oracle Solaris
Oracle DBA
*NIX administration
Zabbix