Обновить
256K+

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

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

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

История выкатки, которая затрагивала всё

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

Enemies of Reality by 12f-2

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

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

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


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

CSS Subgrid новости

Время на прочтение2 мин
Охват и читатели10K
Несколько недель назад, я выступала на Frontend NE в Ньюкасле и большую часть выступления объясняла, что за особенности будут в CSS Grid Subgrid из Grid Level 2. Не имея реализации данного свойства(в браузерах), я смоделировала кучу демок, используя DevTools, для того выступления.

По пути в San Francisco на Smashing Conf, где я проводила семинар по CSS Layout, мне дали доступ к пробной сборке Firefox Nightly, которая имела раннюю реализацию этого свойства.
Это значит, что мне нужно переделать некоторые слайды для моих выступлений в мае, там будут использованы реальные скриншоты.
Читать дальше →

Открытая трансляция главного зала РИТ++ 2019

Время на прочтение4 мин
Охват и читатели4.2K
РИТ++ — это профессиональный фестиваль для тех, кто делает Интернет. Прямо как на музыкальном фестивале у нас много потоков, только вместо музыкальных жанров — IT-тематики. Мы, как организаторы, стараемся угадать тренды и найти новое звучание. В этом году это «качество» и конференция QualityConf. Не обходим стороной любимые мотивы в новых интерпретациях: распил монолита и микросервисы, Kubernetes и CI/CD, CSS и JS, рефакторинг и performance. Конечно, представляем новые и хитовые темы. Всё как у людей, включая горы сложного оборудования, мерч и выпивку!

Последние два — только для гостей фестиваля. А вот оборудование пойдет в дело для трансляции. И по хорошей традиции Главный зал — то есть как раз самые востребованных «исполнителей» — мы бесплатно транслируем на нашем youtube-канале.



Подключайтесь к трансляции 27 мая в 9:30, увидите и услышите много айтишно интересного, расписание под катом.
Читать дальше →

Настоящее реактивное программирование в Svelte 3.0

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

Заголовок статьи может показаться немного кричащим, впрочем как и сам фреймворк Svelte и те идеи, что стоят за ним. Если вы ещё не знаете ничего про Svelte, пристегнитесь, сейчас мы рванём навстречу революции.


Учтите, что это не урок по началу работы со Svelte. Уже существует прекрасное пошаговое интерактивное руководство от команды Svelte, которое погрузит вас в мир реактивного программирования.


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

100 cамых ценных репозиториев GitHub [по версии алгоритма UOS]

Время на прочтение10 мин
Охват и читатели52K
Привет, Хабр! Представляю вашему вниманию подборку — перевод статьи из Hackernoon «GitHub’s Top 100 Most Valuable Repositories Out of 96 Million». А саму статью написали ребята, которые использовали алгоритм U°OS Network, чтобы выявить самые ценные оупесорсные проекты на Github.

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

Автостопом по доступности: Ссылки для пропуска навигации и секции

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

Привет, Хабр. Предлагаю вашему вниманию перевод статьи «The Hitchhiker’s Guide to Accessibility: Skiplinks and Landmarks» автора Attila Vágó о паре незаменимых инструментов UI и их особенностях.


Ссылки для пропуска навигации (далее skiplinks) — невоспетые герои каждого уважающего себя доступного (accessible) веб-сайта и веб-приложения. Незаметные, но очень полезные помощники UX и непризнанные гении UI, skiplinks как концепция не являются чем-то новым, ими с благодарностью пользуются сообщества инвалидов на протяжении десятилетий. Если Вы слышали выражение ”мелочи решают все", то это выражение как раз про skiplinks.

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

Управляем асинхронностью в PHP: от промисов к корутинам

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


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


Представляем перевод статьи из блога бэкенд-разработчика Skyeng Сергея Жука.

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

Восемь причин перейти на новый API Яндекс.Кассы

Время на прочтение7 мин
Охват и читатели10K
В октябре 2017 года у Яндекс.Кассы появились новый платёжный протокол и третья версия API. Мы уже рассказывали о том, как и почему к этому пришли, а сейчас напомним ключевые причины перейти на него для тех, кто этого ещё не сделал.

1. Подключение платежей стало реально быстрым


На новом API оно происходит в 5-10 раз быстрее, чем раньше, и теперь среднестатистический разработчик может подключить платежи к своему (ну, или не совсем) сайту или приложению за один рабочий день, а не за пять, как было раньше. Речь, конечно, о той части работы, когда всё согласовано, заявки одобрены и ключи доступа получены. Но на это тоже достаточно дня.
Ещё семь причин

Борьба за качество в веб-приложениях, депрессия, драконы и Вестерос

Время на прочтение10 мин
Охват и читатели4.1K
Веб-разработку никто, изначально, не планировал. Даже в страшном сне. В генеральном плане, при поддержке крупных корпораций и науки, люди воспринимали создание дорогостоящих IT-систем как близконаучный процесс, доступный избранным, в котором очень важно знать не только быстро забывающиеся большинством алгоритмы (я 5 раз заучивал с листочком принцип обхода красно-черного дерева — взгляд на покачивающиеся бедра ранней весной полностью стирает полученную информацию), но и внутренности железа. Это священнодействие, разумеется, нужно было правильно (слава великому Демингу) контролировать, измерять и тестировать и тестировать и во веки веков, аминь. Но что-то сразу пошло не туда и не так…
Читать дальше →

Детальный разбор новых возможностей React 16+, часть 1: общие сведения

Время на прочтение3 мин
Охват и читатели8.6K
Сегодня мы представляем вам первую часть перевода этого большого материала. Он посвящён детальному разбору новых возможностей React, которые появились в этой библиотеке начиная с версии 16. Автор этого материала уже 5 лет занимается программированием. В прошлом он был дизайнером и пробовал себя в качестве иллюстратора. Он включил в статью комиксы, которые, по его мнению, помогут читателям лучше усвоить то, о чём тут идёт речь.
image
В оригинале эта статья называется «Reintroducing React: every React update since v16 demystified». Название намекает на то, что читателю, возможно, уже знакомому с React, предлагается снова познакомиться с этой библиотекой. Это повторное знакомство с React поможет ему упорядочить то, что он уже знает, и открыть для себя что-то новое.
Читать дальше →

Асинхронное программирование (полный курс)

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

Методы асинхронного программирования


Асинхронное программирование за последнее время стало не менее развитым направлением, чем классическое параллельное программирование, а в мире JavaScript, как в браузерах, так и в Node.js, понимание его приемов заняло одно из центральных мест в формировании мировоззрения разработчиков. Предлагаю вашему вниманию целостный и наиболее полный курс с объяснением всех широко распространенных методов асинхронного программирования, адаптеров между ними и вспомогательных проемов. Сейчас он состоит из 23 лекций, 3 докладов и 28 репозиториев с множеством примеров кода на github. Всего около 17 часов видео: ссылка на плейлист.

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

JMAP — открытый протокол заменит IMAP при обмене электронными письмами

Время на прочтение4 мин
Охват и читатели11K
В начале месяца на Hacker News активно обсуждался протокол JMAP, разрабатываемый под руководством IETF. Мы решили поговорить о том, зачем он понадобился и как устроен.

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

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

Гибкие таблицы на CSS Grid

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

Просмотр списка лидов («холодных» контактов)

Поскольку мы уже запустились, я, наконец, могу рассказать о секретном проекте, над которым работал последние два года. Одна из интересных функций Teamwork CRM — просмотр списка (list view).

Это мощный компонент, который встречается в приложении семь раз. По сути, таблица на стероидах. Я мог бы много рассказать, но не хочу вас утомлять. Сосредоточусь на том, как мы реализовали подобную гибкость с помощью всего нескольких строк CSS (Grid). А именно, как мы выкладываем тяжёлые таблицы данных, как поддерживаем изменение размера столбцов и многое другое.

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

Node.js для начинающих: основы работы с файлами

Время на прочтение4 мин
Охват и читатели63K
Сегодня мы поговорим о том, как работать с файловой системой средствами Node.js, рассмотрим базовые операции, выполняемые с файлами. К таким операциям относятся следующие:

  • Создание файла
  • Чтение файла
  • Запись данных в файл
  • Удаление файла
  • Переименование файла

Необходимость в выполнении подобных операций возникает в самых разных ситуациях.


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

10 верстальщиков на 30 команд. Вы рехнулись?

Время на прочтение15 мин
Охват и читатели13K
Всем привет! Меня зовут Костя, и я руковожу отделом верстки в компании Wrike.
В нашем отделе сейчас работает 10 человек, и все эти ребята пришли в компанию в разное время, у них различный опыт и задачи в отдельных командах. При этом все сотрудники — прекрасные специалисты, которые вдесятером умудряются закрывать потребности всего продукта в верстке.

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

Для тех, кому много букв, есть видео.


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

Как подключить скрипт на сторонний сайт

Время на прочтение12 мин
Охват и читатели34K
Привет, Хабр! Это первый пост в нашем блоге. Многие знают нас как чат для сайта, именно с него мы начинали, а сейчас занимаем лидирующие позиции в сфере бизнес-мессенджеров. Мы постепенно эволюционировали в комплексное бизнес-решение, которое предоставляет множество возможностей для клиентов: callback, общение с клиентами через мессенджеры, соцсети, мобильные приложения, виртуальная АТС, CRM-функции и многое другое.

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

image

Jivosite сегодня это:

  • 250К клиентов по всему миру;
  • 150М показов виджета в сутки;
  • 3.5М сообщений в сутки;
  • 10М чатов в месяц;
  • 1М одновременных коннектов;
  • 250+ серверов в production.

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

Входная точка


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

<script src="https://site.com/file.js"></script>

Казалось бы, что может быть проще подключения скрипта на сайт?
Читать дальше →

Возможности Python 3, достойные того, чтобы ими пользовались

Время на прочтение5 мин
Охват и читатели46K
Многие программисты начали переходить со второй версии Python на третью из-за того, что уже довольно скоро поддержка Python 2 будет прекращена. Автор статьи, перевод которой мы публикуем, отмечает, что основной объём Python 3-кода, который ему доводилось видеть, выглядит как код со скобками, написанный на Python 2. По его словам, он и сам грешит чем-то подобным. Здесь он приводит примеры некоторых замечательных возможностей, доступных лишь тем, кто пользуется Python 3. Он надеется, что эти возможности облегчат жизнь тем, кто о них узнает.



Все примеры, приведённые в этом материале, написаны с использованием Python 3.7. В описании каждой возможности имеются сведения о минимальной версии Python, необходимой для её применения.
Читать дальше →

Phoenix LiveView: когда javascript код доставляет удовольствие*

Время на прочтение2 мин
Охват и читатели5.4K
* благодаря его отсутствию

Продолжение статьи про Phoenix Live View. Сегодня я опишу базовую конфигурацию для комфортной работы с технологией и создам новое приложение.
Читать дальше →

Как проверить cookies на соответствие GDPR — поможет новый открытый инструмент

Время на прочтение4 мин
Охват и читатели8.2K
Разработчики базы данных CovenantSQL представили опенсорсную утилиту Cookie Scanner, которая определяет, какие cookies устанавливают сайты и с какой целью.

Обсуждаем, зачем понадобился инструмент и как он работает.

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