Обновить
256K+

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

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

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

Виртуальный куб — вместо OLAP

Время на прочтение9 мин
Охват и читатели8.9K
Когда делаешь наоборот и получаешь то же...

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


Одни системы хорошо индексируют и находят, другие умеют быстро рассчитывать и агрегировать данные, третьи просты. Где-то приходится организовывать предварительную загрузку и индексирование данных со всеми сопутствующими трудностями, а где-то пользователю предоставляется абстракция его модели исходных и агрегированных данных поверх встроенных или внешних физических хранилищ и баз данных, используемых непосредственно во время вычислений. В любом случае, пользователь, от программиста до аналитика, должен проделать относительно большую работу, начиная с подготовки сырых данных и составления запросов, модели вычислений, заканчивая визуальным оформлением результата на виджетах, конечно же "Sexy" – красивых, отзывчивых и понятных, – иначе вся проделанная работа пойдет насмарку. И часто, как назло, пройдя через муки выбора решения, мы замечаем, как простая и понятная на первый взгляд задача вырастает в жуткого монстра, с которым имеющимися средствами бороться бесполезно, и надо срочно что-то изобретать – велосипед "с блэкджеком и шлюхами"©. Наш велосипед поехал, даже неплохо объезжает кочки и справляется с препятствиями, о которых раньше можно было только гадать.


Ниже будет описана одна сторона оригинального внутреннего устройства вымышленного "Кубика-Рубика" – вычислительная обработка для интерактивной визуализации данных.

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

PHP-модуль для работы с иерархическими данными в InterSystems IRIS

Время на прочтение7 мин
Охват и читатели2.5K
image PHP с начала своих времён славен (и критикуем) тем, что поддерживает интеграцию с массой библиотек, а также с практически со всеми СУБД существующими на рынке. Однако в силу каких-то странных причин в нём не было поддержки иерархических баз данных на глобалах.

Глобалы — это структуры для хранения иерархической информации. Они чем-то напоминают базы «key -> value» только с тем отличием, что ключ может быть многоуровневым:
Читать дальше →

Python — помощник в поиске недорогих авиабилетов для тех, кто любит путешествовать

Время на прочтение15 мин
Охват и читатели31K
Автор статьи, перевод которой мы публикуем сегодня, говорит, что её цель — рассказать о разработке веб-скрапера на Python с использованием Selenium, который выполняет поиск цен на авиабилеты. При поиске билетов используются гибкие даты (+- 3 дня относительно указанных дат). Скрапер сохраняет результаты поиска в Excel-файле и отправляет тому, кто его запустил, электронное письмо с общими сведениями о том, что ему удалось найти. Задача этого проекта — помощь путешественникам в поиске наиболее выгодных предложений.



Если вы, разбираясь с материалом, почувствуете, что потерялись — взгляните на эту статью.
Читать дальше →

Лучшая приоритизация HTTP/2 для ускорения веба

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

HTTP/2 обещал заметно ускорить веб, и Cloudflare давным-давно развернула доступ по HTTP/2 для всех клиентов. Но одна особенность HTTP/2, приоритизация, не соответствовала ожиданиям. Не потому, что она принципиально сломана, а из-за реализации в браузерах.

Сегодня Cloudflare предлагает изменить приоритизацию HTTP/2, что даёт нашим серверам контроль над решениями о приоритизации, которые действительно заметно ускоряют интернет.

Исторически именно браузер контролирует, как и когда загружать веб-контент. Сегодня для всех платных планов мы вносим радикальные изменения в эту модель. Они передают контроль напрямую владельцу сайта. На вкладке «Скорость» в панели мониторинга Cloudflare клиенты могут включить «Расширенную приоритизацию HTTP/2»: она переопределяет настройки браузера по умолчанию на улучшенную схему планирования, что значительно ускоряет доступ для посетителей (в некоторых случаях мы видели ускорение на 50%). С воркерами Cloudflare владельцы сайтов могут пойти ещё дальше и полностью подобрать настройки под свои конкретные нужды.
Читать дальше →

Улучшения диагностики в .NET Core 3.0

Время на прочтение5 мин
Охват и читатели12K
В .NET Core 3.0 мы представляем набор инструментов, которые используют новые возможности среды выполнения .NET, которые упрощают диагностику и решение проблем с производительностью.

Эти возможности помогут вам ответить на некоторые распространенные вопросы диагностики, которые могут у вас возникнуть:

  1. Является ли мое приложение работоспособным?
  2. Почему мое приложение имеет аномальное поведение?
  3. Почему мое приложение крашится?


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

Технологические тренды веб-разработки 2019

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

Введение


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


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

Почему Do-Not-Track может стать обязательным

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

В США предлагают обязать технологические компании учитывать согласие пользователей на передачу их персональных данных рекламным сетям.



/ фото Tom Roberts — Unsplash

Do-Not-Track (DNT) позволяет пользователю сети дать или отозвать как согласие на передачу третьим лицам данных о его действиях на странице так и на их применение в онлайн-рекламе.

По умолчанию DNT принимает значение null, что свидетельствует об отсутствии предпочтений.
Читать дальше →

ok.tech: frontend meetup

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


UPD: по форс-мажорным обстоятельствам, митап перенесен на 2 июля.

2 июля в петербургском офисе Одноклассников пройдет ok.tech: frontend meetup. Вместе с коллегами из OK.ru, Яндекса и Mail.Ru Cloud Solutions поговорим про тестирование на основе свойств, эволюцию подходов работы с текстами, познакомимся с новой библиотекой от создателя Emmet Сергея Чикуёнка — EndorphinJS, и обсудим переход фронтенда поисковых сервисов Яндекса на React.

Презентации

Под катом тезисы выступлений и расписание.
Читать дальше →
Это наш первый HighLoad++ в Питере, и весьма успешный. Два дня выступлений спикеров, сотни литров выпитого кофе, семинары, митапы, интерактивы и новые знакомства. В стенах Park Inn Пулковская нам удалось собрать тысячу участников, которые проявили впечатляющую активность. Ниже — рассказ о том, чем запомнилась крупнейшая конференция разработчиков высоконагруженных систем Saint HighLoad++ 2019, а также ключевые моменты докладов.
Подробности – под катом

MODX-Дайджест #5 (22 апреля – 13 мая 2019)

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

MODX-Дайджест #5, 22 апреля – 13 мая 2019


Свежая подборка новостей о MODX за последние 3 недели. В выпуске: возобновление встреч MAB, все процессоры переведены в новый формат, активная работа над рефакторингом и документацией, обновления дополнений и интересные заметки.


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


Приятного чтения!


Thanks a lot to Mark Hamstra for supporting me and my work (Patreon).


А так же спасибо всем тем, кто поддерживает переводя деньги на яндекс кошелек. Пишите ваши имена в комментариях к переводу, чтобы я мог вас поблагодарить персонально.

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

Дайджест свежих материалов из мира фронтенда за последнюю неделю №364 (6 — 12 мая 2019)

Время на прочтение4 мин
Охват и читатели11K
Предлагаем вашему вниманию подборку с ссылками на новые материалы из области фронтенда и около него.


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

Пишем меньше дублирующего кода, используя биндинг в Laravel

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

Доброго времени, уважаемые господа.

Не так давно столкнулся с явлением дублирующегося и повторяющегося кода при код ревью одного проекта на Laravel.

Суть в следующем: у системы существует некоторая структура внутреннего API для AJAX запросов, по сути возвращающая коллекцию чего-либо из базы (заказы, пользователи, квоты, etc...). Вся суть данной структуры — вернуть JSON с результатами, не более. При код-ревью я насчитал 5 или 6 классов, использующие один и тот же код, разница была лишь в инжекте зависимостей ResourceCollection, JsonResource и непосредственно модели. Такой подход мне показался в корне неверным, и я решил внести свои, как я считаю, правильные изменения в данный код, воспользовавшись мощным DI, который предоставляет нам Laravel Framework.
Читать дальше →

Пишите меньше кода

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

Хайп по Svelte после недавнего релиза 3 версии фреймворка всё-таки имеет место быть, чему свидетельствуют сильно возросшее комьюнити и огромное количество вопросов как в официальном чате, так и в нашем рускоязычном telegram-канале. Всё больше разработчиков украдкой или всерьёз присматриваются к этой технологии и задумываются о её применении в своих новых проектах. Для этих разработчиков и всех прочих интересующихся темой максимально эффективного написания кода, Rich Harris, автор и идеолог фреймворка, опубликовал статью о том, как Svelte помогает разработчику минимизировать усилия при создании современных реактивных web-приложений, перевод которой я и предлагаю ниже.

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

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

HTTP-заголовки для ответственного разработчика

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

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

Разработчики соединяют людей.
Разработчики помогают людям.
Разработчики дают людям возможности.

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

Разделение профилей заказчика и фрилансера

Время на прочтение3 мин
Охват и читатели3.1K
Издревле на биржах фриланса есть остроконечники и тупоконечники в вопросах профилей заказчиков и фрилансеров. Один и тот же человек может выступать в обеих ролях, быть как заказчиком, так и фрилансером. На одних биржах у человека два профиля, по одному на каждую роль, на других же профиль один, мультиаккаунт, который позволяет исполнять обе роли одновременно.



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

Однако есть и неприятные моменты. Нередко требуется просто дважды регистрироваться, заполнять информацию о себе.

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

Ускоряем сборку веб-приложения с webpack

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

По мере того как ваше приложение развивается и растёт, увеличивается и время его сборки — от нескольких минут при пересборке в development-режиме до десятков минут при «холодной» production-сборке. Это совершенно неприемлемо. Мы, разработчики, не любим переключать контекст в ожидании готовности бандла и хотим получать фидбек от приложения как можно раньше — в идеале за то время, пока переключаемся с IDE на браузер.


Как этого достичь? Что мы можем сделать, чтобы оптимизировать время сборки?


Эта статья — обзор существующих в экосистеме webpack инструментов для ускорения сборки, опыт их применения и советы.


Оптимизации размера бандла и производительности самого приложения в этой статье не рассматриваются.

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

Представлен .NET 5

Время на прочтение7 мин
Охват и читатели68K
6 мая было объявлено, что следующим после .NET Core 3.0 релизом будет .NET 5. Это будет следующий большой релиз в семействе .NET.

В будущем останется только один .NET, и вы сможете использовать его для разработки под Windows, Linux, macOS, iOS, Android, tvOS, watchOS, WebAssembly и другие платформы.

Мы представим новые .NET API, возможности исполняющей среды и возможности языка как части .NET 5.


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

Производительность анимаций на сайтах

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

image


При разработке сайтов, выходящих за рамки условного бутстрапа, рано или поздно возникают вопросы, связанные с производительностью анимаций. Особенно важными они являются в дизайнерских сайтах, вроде тех, что попадают в каталоги Awwwards, FWA, CSS Design Awards и.т.д. При этом часто задача создания анимаций и последующей оптимизации, если она будет нужна, ложится на плечи не очень опытных разработчиков, которые даже не знают с чего начать. Обычно все это выливается в тормозящие сайты, которыми невозможно пользоваться, и последующее негативное отношение ко всему классу таких проектов. В этой статье мы постараемся разобрать, где находится граница приемлемой производительности анимаций, какие узкие места часто встречаются и куда смотреть в инструментах разработчика в первую очередь.

Ember.js: (снова) время попробовать

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

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


Вы учите Ember.js один раз, а потом применяете эти знания на всех Ember.js проектах. Этот тезис я попытаюсь раскрыть под катом.

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

Как сделать из сайта приложение и выложить его в Google Play за несколько часов. Часть 2/2: Trusted Web Activity

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

В первой части мы превратили наш сайт в Progressive Web App. Там же было сказано, что совсем недавно, 6 февраля 2019 года, Google предоставили простую возможность выкладывать PWA в Google Play при помощи Trusted Web Activity. Всё, что нужно сделать, это написать небольшую обёртку под Android, которую можно будет выложить в Google Play. Когда пользователь скачает такое приложение-обёртку, оно просто будет открывать наше PWA внутри Chrome. Конечно же, интерфейс Chrome будет спрятан и всё будет выглядеть красиво.

Если вы, как и я, никогда не писали приложений под Android, то дальнейшее вам тоже должно показаться чередой магических манипуляций. Но к чему только не прибегнешь, чтобы выложить своё приложение. Поехали!
Читать дальше →