Обновить
395.28

Веб-разработка *

Делаем веб лучше

Сначала показывать
Порог рейтинга
Уровень сложности

Балансировка нагрузки и поддержка непрерывности в режиме катастрофоустойчивости

Время на прочтение3 мин
Охват и читатели24K
image

Привет, Хабр! Представьте себе мир без катастроф — без каскадного резонанса и сдвига полюсов. Ах, сладкий сон. В реальной жизни такое невозможно: закон Мерфи живее закона Мура. Однако всё иначе в квантовом мире ИТ.


Сегодня мы поговорим о балансировке нагрузки и отказоустойчивости. Решаем эту задачу с помощью GSLB (global server load balancing). В случае падения соединения или полного отказа ЦОДа сервис GSLB перенаправит ваших пользователей к доступному дата-центру.

Читать дальше →

Резиновый десктопный адаптив: как сделать большие экраны одинаковыми

Время на прочтение5 мин
Охват и читатели13K

Зачастую, когда говорят об адаптиве, подразумевают сужение большого экрана до мобильного размера без потери функциональности. Однако, на самом деле, адаптив также существует между разными десктопными версиями. Обычно разработчики не очень стараются применять адаптивные подходы для больших экранов, ведь если интерфейс поместился на HD разрешении, то он точно поместится на 2K разрешении и больше. Однако контент никак не масштабируется, поэтому имеем на больших разрешениях маленькие элементы, которые трудно уловить взглядом. В этой статье я покажу, как сделать интерфейсы пропорционально одинаковыми на разных десктопных разрешениях.

Читать далее

Как работают this, call, apply и bind в Java Script: разбираемся на примерах

Время на прочтение3 мин
Охват и читатели50K

Привет, Хабр! Эту статью написал Тарас Голомозый, fullstack web-разработчик и преподаватель в школе программирования Эльбрус Буткемп. В своей практике он часто сталкивается с кейсами выпускников, которых на собеседовании просят рассказать о роли ключевого слова this в JavaScript. Простого определения про ссылку на контекст часто оказывается недостаточно, требуется более глубокое погружение в тему. В этой статье он на нескольких примерах разбирает, в каких ситуациях может пригодиться это ключевое слово и как используется call, apply и bind.

Читать далее

Сервисная архитектура во Vue 2 | Какие собственно варианты?

Время на прочтение6 мин
Охват и читатели5.7K

Рассуждаю о том, какие популярные методы выноса логики есть во Vue 2, какие у них плюсы и минусы. Расскажу о том, какую альтернативу я бы хотела видеть (спойлер, я ее реализовала), дам ссылку на репозиторий с решением. Это первая часть, подробнее о том что будет во 2 и 3 в конце статьи. Приятного просмотра!

Хочу узнать, что дальше

Пользовательские истории в разработке

Время на прочтение3 мин
Охват и читатели5.6K

Пользовательская история (User story) описывает тип пользователей, чего они хотят и почему. Этот инструмент помогает создать упрощенное описание требований, но при этом таковым не является. Требования — это другой инструмент, с более сложной структурой и описанием.

Обычно User story используют при разработке по методологии Agile. На этапе дискавери-фазы обычно разбивают разработку продукта на пользовательские истории, а не на характеристики или требования.

Читать далее

Генерация статических сайтов с Hugo

Время на прочтение7 мин
Охват и читатели32K

Иногда появляется необходимость в создании простого сайта. К примеру, личного блога, документации продукта или веб-версии резюме на нескольких языках, которым можно будет делиться по ссылке. Если нет времени разбираться с веб-разработкой, надо получить быстрый результат и не хочется пользоваться конструкторами, то в этом случае могут помочь генераторы статических сайтов. В этой статье рассмотрим популярный генератор Hugo и сделаем с его помощью простой мультиязычный блог.

Читать далее

Товарная дистрибуция 30 лет спустя. Как программисты изменили продажи крупного бизнеса

Время на прочтение9 мин
Охват и читатели4.3K

Есть такая штука — товарная дистрибуция. Так называют движение продукции от производителя до каждого дома. Этот процесс возник тысячи лет назад. А вот за последние 30 лет дистрибуция сильно поменялась. Расскажу что конкретно произошло и какую роль в этом сыграли технологии.

Читатели постарше могут помнить такую профессию — «торговый представитель». Эти ребята на служебных Ford Focus гоняли по районам, заходили в магазинчики и оформляли заказы на поставку сникерсов и стирального порошка. Раньше на людях — торговых представителях, мерчандайзерах и супервайзерах строились практически все процессы. Кое-где эти профессии еще сохранились, но они перестали быть массовыми. Почти все компании сегодня продают с применением ИТ.

Читать дальше

Как я Jest с помощью SWC ускорял

Время на прочтение7 мин
Охват и читатели14K

За последние пару лет не раз можно было услышать про новые инструменты
сборки статики, такие как SWC, esbuild и Vite. Все они обещают нам next
gen-оптимизацию времени сборки, а SWC ещë и грозится оптимизировать
скорость выполнения тестов на Jest; более того, судя по документации,
сделать это очень просто. Я решил проверить, так ли это на самом деле и
каким будет результат. Если вам интересно, что из этого получилось и
какие были проблемы, то прошу под кат.

Начать читать под чашечку кофе

Как сделать динамические цвета в CSS

Время на прочтение3 мин
Охват и читатели11K

Когда говорим «динамический», подразумеваем JavaScript. Но некоторые динамические функции можно реализовать, используя только CSS. Например, цвета. 

Читать далее

Готовим, пробуем Casbin RBAC и handmade RBAC

Время на прочтение13 мин
Охват и читатели8K

Всем привет!

Меня зовут Андрей Таболин, я системный аналитик в компании Bimeister.

Casbin – одна из популярных библиотек для построения авторизации в веб-сервисах. В этой статье расскажу, как я тестировал Casbin, попутно подготовил своё решение для сравнения и покажу результаты работы обоих. Тестировалась в первую очередь эффективность работы с СУБД на разных объёмах данных для ролевой модели доступа (RBAC). Использовал: Node.js + PostgreSQL.

Читать далее

TypeScript: паттерны проектирования. Часть 2

Время на прочтение10 мин
Охват и читатели17K


Привет, друзья!


Представляю вашему вниманию перевод второй части серии статей, посвященных паттернам проектирования в TypeScript.


Спасибо Денису Улесову за помощь в переводе материала.


Паттерны (или шаблоны) проектирования (design patterns) описывают типичные способы решения часто встречающихся проблем при проектировании программ.


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

Читать дальше →

Ошибки, RxJS & Angular

Время на прочтение3 мин
Охват и читатели4.5K

Что привлекает в Ангуляре экспертов и удручает начинающих? Одно и тоже, RxJS.

   Почему же это так сложно для начинающих? Возможно потому, что есть очень большое количество операторов, которые нужно просто знать, и без поиска понимать в чем разница между concatMap, switchMap и mergeMap. Почему же это так нравится тем, кто это уже выучил? Возможно, потому что вы начинаете понимать все могуществао RxJS, когда одним оператором вы можете сделать то, что в императивном коде писали бы полдня на двух страницах. Ведь это так приятно, ощущать себя богом, когда код просто отскакивает от ваших пальцев, а вы радостно рассказываете коллегам как вы классно и главное просто решили задачу.

Читать далее

Как отображать посты и ACF поля в WordPress. 2 Способа (перевод)

Время на прочтение13 мин
Охват и читатели10K

В данной статье вы узнаете как запрашивать и отображать посты, как отображать ACF поля (узнаете новый способ), также ближе познакомитесь с устройством мета полей и разберетесь с пользовательскими типами постов (Custom Post Types) в WordPress, эти знания помогут понять структуру WordPress изнутри.

Читать далее

Ближайшие события

Отображаем ACF поля красиво и без кодинга

Время на прочтение5 мин
Охват и читатели6.3K

Плагин Advanced Custom Fields используется в WordPress повсеместно, за свою карьеру я встретил лишь несколько сайтов которые обходились без него (весьма специфические). Большой набор типов полей, хороший интерфейс для админов, обширная документация для разработчиков. Казалось бы, чего проще, вывести поля на фронт сайта. Но на практике это делается довольно некрасиво, и занимает гораздо больше времени, чем можно было бы ожидать. Я расскажу как вывести любые ACF поля на фронт без кодинга (и без visual page builders), очень быстро и не превращая код темы в черную дыру спагетти код.

Читать далее

Как мы провели второй русскоязычный Laravel-митап

Время на прочтение4 мин
Охват и читатели4K

Привет, за клавиатурой Миша Радионов, и я снова расскажу вам про Laravel. Нет, не про тонкости этого фреймворка, а про Laravel-митап, который мы провели в Студии Флаг уже во второй раз.

Читать далее

TypeScript: паттерны проектирования. Часть 1

Время на прочтение10 мин
Охват и читатели29K


Привет, друзья!


Представляю вашему вниманию перевод первой части серии статей, посвященных паттернам проектирования в TypeScript.


Спасибо Денису Улесову за помощь в переводе материала.


Паттерны (или шаблоны) проектирования (design patterns) описывают типичные способы решения часто встречающихся проблем при проектировании программ.


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

Читать дальше →

К вопросу о современном восприятии методологии 12 Factor App

Время на прочтение9 мин
Охват и читатели8.3K

Методология Twelve-Factor App (Приложение двенадцати факторов), которую создал сооснователь платформы Heroku Адам Уиггинс, направлена на разработку SaaS-приложений. Документ, описывающий эту методологию, включает в себя множество идей, применение которых сделало использование и, я уверен, создание платформы Heroku, увлекательным и благодарным трудом.

Часто бывает так, что старые добрые времена разработки и развёртывания приложений превозносят как дни, когда всё было лучше, чем теперь. Сегодняшнее воплощение этого явления представляют воспоминания о Heroku десятилетней давности. Не поймите меня неправильно — Heroku тех времён была замечательной платформой, которая открыла всему миру новый путь к разработке веб-приложений и к их развёртыванию в распределённых системах. Похоже, что команда Heroku многое сделала правильно. Ведь не случайно же сейчас, более чем через 10 лет, мы пытаемся добиться той же простоты разработки программ, которая была характерна для Heroku.

Как, со времени представления методологии Twelve-Factor App в 2011 году, эволюционировали принципы, положенные в её основу? Чему они могут нас научить сегодня? Как эти принципы изменили положение дел в недавнем прошлом?

Читать далее

Фронтенд на Go с использованием библиотеки RUI

Время на прочтение4 мин
Охват и читатели6.9K

Изначально библиотека RUI разработана для создания клиент-серверных веб приложений на языке go, где вся обработка осуществляется на сервере, а браузер используется только как тонкий клиент.

Однако в последней версии библиотеки (0.10.0) была добавлена поддержка технологии WebAssembly. Теперь стало возможным объединить серверную и клиентскую часть в единый модуль исполняемый в браузере. При этом требуются минимальные изменения в уже существующем проекте использующем библиотеку RUI

В этой статье я покажу как переделать уже существующий проект чтобы его можно было скомпилировать в wasm модуль и запустить его в браузере

Читать далее

28 расширений VS Code для разработки документации

Время на прочтение3 мин
Охват и читатели46K

Плагины VS Code, без которых техническим писателям и разработчикам документации жить можно, но сложно. В подборке — линтеры, форматирование, работа с git, проектирование API, подготовка схем и милота для удобной разработки.

Читать дальше

Как битриксоиды в React уходили

Время на прочтение12 мин
Охват и читатели6.3K

Приятно познакомиться, мы битриксоиды. Да-да, те самые которые:
- вообще не модные,
- пишут НЕ на Laravel и Symphony,
- возятся с кучей мягко говоря “неидеального” кода под названием “1С-Битрикс: Управление сайтом”,
- проходят Академию 1С-Битрикс и сдают платные экзамены для подтверждения компетенций,
- умеют дорабатывать обмен с 1С без истерики,
- берут с заказчика "тонну денег" за то что любой php-джун сделает на вордпрессе одной левой,
- но при всем этом почему-то делают сложные проекты переживающие тысячи доработок без потери товарного вида и управляемости.

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

Но сегодня речь не о бекенде. Поговорим мы про переделку нашего собственного сайта на более-менее свежих FRONTEND-технологиях. И одновременно прикинем, а почему бы не делать все сайты/магазины/личные кабинеты на таком стеке.

Подробнее

Вклад авторов