Потянул live-данные с mygameodds co, собрал real-time графики на D3.js, столкнулся с диким хаосом в структуре данных, решил через нормализацию, но провалился с адаптивом.ЦельПостроить интерактивный дашборд, визуализирующий изменение спортивных коэффициентов в реальном времени. Аналог систем мониторинга, только вместо метрик — лайв-кэфы с букмекерского API.АрхитектураИсточник данных: mygameodds.coСтек:D3.js (визуализация)WebSocket (стриминг)TypeScript (вся логика)Vite + React (обвязка, рендер)Р…
👋 Привет! Меня зовут Александр, я работаю фронтенд-разработчиком в компании «МегаФон». Сегодня я хочу поговорить на тему Tagged Unions (размеченных объединений) и объяснить, почему они — ваш секретный инструмент для написания надежного TypeScript-кода.Улучшение типизации в TypeScriptВ динамично развивающемся мире веб-разработки создание надежного, масштабируемого и легко поддерживаемого программного обеспечения является ключевой задачей. TypeScript, будучи статически типизированным суперсетом J…
Всех постоянно интересует, как сделать Postgres быстрее, эффективнее и всё такое, но никто не задумывался, как её замедлить. Да, большинству этих людей платят за то, чтобы они повышали скорость, но ко мне это не относится. Недавно я писал более полезное руководство, и мне вдруг пришла мысль, что кто-то должен попробовать создать такую конфигурацию Postgres, которая будет настроена на максимально медленную обработку запросов. Зачем? Сложно сказать, но вот такая возникла мысль.ПараметрыСделать эт…
Дисклеймер: я сознательно упростил описание, чтобы статья была интересна широкой аудитории. Написал я ее для блога ТЕХНОНИКОЛЬТелефон зазвонил в тот момент, когда я разбирал техническое задание на крупный объект. — Максим, у нас беда, — голос в трубке звучал обеспокоенно. — Крыша течет. Мы ее чинили год назад, а она все равно протекает. Можете приехать посмотреть?Я взглянул на календарь. Завал с проектами, команда занята подготовкой к сезону. Но в голосе клиента слышалось отчаяние — проблема яв…
Наша родная планета просто переполнена жизнью. За более чем 4 миллиарда лет непрерывной биологической активности на нашей планете жизнь укоренилась практически в каждой нише — от глубочайших океанских впадин до внутренностей вулканических кратеров, от почти кипящих кислотных геотермальных источников до самых высоких заснеженных горных вершин. Живые организмы есть буквально повсюду, они хорошо приспособлены к своим экологическим нишам и способны извлекать энергию и/или питательные вещества из ок…
Магистр ГеоргийГлавный инженер компании ProSMDМыть платы – надоПренебрежение мытьем может превратить оргастично разведенную, геометрически совершенную плату в шедевр абстракционизма. Подобное случилось с моими преподавателями в пору, когда мы еще не ведали слова «стартап». Поскольку выжить и сохранить достоинство на зарплату преподавателя в провинциальном университете невозможно, а настоящий коньяк, классическая опера и благосклонность юных дев редко бывают бесплатными, те решили подрядиться на…
«Минутка в инсте» - пятьдесят страниц спустяПросыпаюсь, тянусь к телефону, «на минуточку» захожу в Instagram* (*запрещённая соцсеть, ну вы поняли), сморкаюсь в мемы, новости, рилсы, комментарии. Спустя сорок минут уже нужно собираться, кофе не успел сварить, голова гудит — а я ни одной строки в документе не написал.Такое утро повторялось чаще, чем хотелось бы признавать вслух. В какой‑то момент стало очевидно: если я сразу кормлю мозг быстрым «сахаром» из ленты, он потом воротит нос от любой «б…
Потому что 42...Go (Golang) создан для эффективной параллельной и конкурентной работы. Его killer feature — легковесные потоки выполнения, называемые горутины (goroutines), и мощные средства синхронизации. Приглашаю разобраться подробно.1. Что такое горутины и как они соотносятся с потоками?Обычные потоки (threads):В большинстве языков потоки создаются ОС, они "тяжёлые" (создание/переключение = дорого).Горутины (goroutines), это такой костыль go: Это "зелёные" потоки Go — намног…
ВступлениеПривет! Меня зовут Вячеслав, я инженер по автоматизации тестирования в компании ROWI.Tech.В ходе автоматизации тестирования пользовательских интерфейсов зачастую используется такой подход как визуальное тестирование. Он позволяет поддерживать стабильность и отсутствие ошибок в отображении страниц. Одним из инструментов, предоставляющих возможность автоматизации данного вида тестирования, является Playwright. В этой статье я расскажу о работе с визуальным тестированием в рамках упомян…