Как стать автором
Обновить
80
0
Mr. Skam @mrskam

Пользователь

Отправить сообщение

Из-за чего Facebook стал глобально недоступен. Технический ликбез

Время на прочтение6 мин
Количество просмотров128K

Прим. перев.: в этой статье инженеры онлайн-сервиса Cloudflare весьма популярно объясняют, что именно (технически) произошло с недоступностью Facebook минувшим вечером (4-го октября 2021), а также затрагивают тему того, как этот сбой повлиял на более глобальные процессы в интернете.

«Разве Facebook может упасть?» — задумались мы на секунду…

Сегодня в 16:51 UTC (в 19:51 MSK — прим. перев.) у нас был открыт внутренний инцидент под названием «Facebook DNS lookup returning SERVFAIL». Мы решили, что это с нашим DNS-ресолвером 1.1.1.1 что-то не так. Однако к моменту размещения соответствующего обновления на публичной статус-странице стало ясно, что здесь что-то серьёзное.

Социальные сети уже разрывались от сообщений о том, что быстро подтвердили и наши инженеры: Facebook и связанные с ним сервисы WhatsApp и Instagram действительно упали. Их DNS-имена больше не ресолвились, а IP-адреса инфраструктуры были недоступны. Выглядело так, как будто кто-то буквально выдернул кабели разом во всех их дата-центрах, отключив от интернета.

Как такое вообще возможно?

Читать далее
Всего голосов 160: ↑158 и ↓2+156
Комментарии160

Критерии качества вёрстки 2021

Время на прочтение32 мин
Количество просмотров50K

6 лет назад мы обсуждали с сообществом критерии качества вёрстки, которые мы используем в обучении, чтобы наши выпускники радовали рынок своими умениями и подходом к работе.

С тех пор в разработке интерфейсов произошло море изменений: сначала в продакшн пришли флексы, потом подтянулись гриды, умер IE, все переехали из Фотошопа в Фигму, и много чего ещё. Каждое это изменение влияло на наши критерии, и мы постоянно их дорабатывали.

Сейчас пришло время обсудить с сообществом обновлённые критерии.

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

Читать далее
Всего голосов 35: ↑33 и ↓2+31
Комментарии22

Chrome Audit на 500: Часть 1. Лендинг

Время на прочтение16 мин
Количество просмотров22K
В инструментах разработчика браузера хром есть вкладка «Audit». На ней расположился инструмент который называется Lighthouse, служит он для анализа насколько хорошо сделано веб приложение.

image

Недавно я решил протестировать одно приложение и ужаснулся результатам. Сразу по нескольким разделам оценка находилась в красной зоне. Я принялся изучать что же с моим приложением не то. И нашел в результатах анализа большой список очень полезных рекомендаций, выполнил их и получил 500 баллов. В результате приложение стало запускаться значительно быстрее, а я пересмотрел несколько концепций относительно метода построения приложений. А в этой статье я хочу поделиться самыми интересными решениями к которым я пришел.
Читать дальше →
Всего голосов 48: ↑43 и ↓5+38
Комментарии39

Очень интересная библиотека JS: распознавание символов, введённых с дисплея вашего смартфона на сайте

Время на прочтение2 мин
Количество просмотров3.8K

Ссылка на github

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

Очень простая библиотека JavaScript, которая распознаёт ваши рисунки на мобильной версии сайта.

Читать далее
Всего голосов 4: ↑3 и ↓1+2
Комментарии3

Все английские времена в одной простой схеме

Время на прочтение3 мин
Количество просмотров219K

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

Как это часто бывает, по-настоящему понимаешь какую-то тему, только когда начинаешь рассказывать о ней другим («метод Фейнмана»). Несколько друзей, позавидовав моим «успехам», попросили помочь разобраться с английским. Тут и обнаружилось, что хотя я уже успешно использую английский в повседневной работе, обучать ему кого-то ещё — это совершенно отдельный навык.

Первоначальная идея. Сначала разъяснить все английские времена за один присест удавалось, надёргав различных идей из интернета: обрывки чьих-то схем, начинали склеиваться в свою схему и обрастать собственными легендами, а применение времён почти всегда было проще пояснить, используя хрестоматийную «систему английских времен с точки зрения употребления глагола “to vodka”». С каждой новой импровизированной лекцией, схема и нарратив продолжали меняться. «Ученики» попадались с различным базовым уровнем, что позволило понять, откуда нужно начинать плясать, чтобы урок был понятен всем, кто хоть раз слышал что-то про глаголы have и be. Когда счёт обученных уже пошёл на десятки, я решил оформить идею в более стройную лекцию. От первых попыток преподавания английских времён, до этого момента прошло пять лет. За это время было обучено ещё пару сотен человек. Обучено — по приколу. Денег за эти уроки я не брал.

Читать далее
Всего голосов 69: ↑66 и ↓3+63
Комментарии130

AMP сайты — попасть в ловушку и выиграть

Время на прочтение7 мин
Количество просмотров13K

Яндекс и Google не жалея ресурсов развивают собственные экосистемы, поглощая старый добрый web турбо-страницами и AMP-сайтами. От этого не выигрывают все, но есть ли выход?

Читать далее
Всего голосов 6: ↑4 и ↓2+2
Комментарии7

Лучшее в мире видео-объяснение нейронных сетей, глубокого обучения, градиентного спуска и обратного распространения

Время на прочтение1 мин
Количество просмотров56K
image

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

Из комментариев к прошлым публикациям мне стало понятно, что есть большое количество людей, кто не знает про канал, поэтому хочу поделиться четырьмя видео (+ русские субтитры и дубляж) и сэкономить время школьникам, родителям и учителям, чтобы они могли иметь быстрый доступ к самому интересному и качественному объяснению одной из самых важных тем современности.
Всего голосов 65: ↑61 и ↓4+57
Комментарии24

До свидания, Google Fonts. Последний аргумент

Время на прочтение6 мин
Количество просмотров78K


Шрифты Google Fonts страшно популярны. Их загружают более 42,8 миллиона сайтов, в том числе Хабр. Библиотека Google Fonts содержит 1023 свободных шрифта и программные интерфейсы для их внедрения через CSS. Очень удобно, казалось бы.

Во многих статьях отмечалось, в какую цену обходятся многочисленные запросы через API. Совет самостоятельно хостить шрифты дают много лет. Даже сама Google давала такой совет на конференции Google I/O 2018 года в выступлении на тему веб-производительности.

Так почему же многие до сих пор загружают шрифты через Google Fonts API? Ну, был последний аргумент — кэширование. Мол, благодаря общему CDN пользователю не нужно скачивать шрифт заново с каждого сайта. Однако в октябре 2020 года этот аргумент перестал работать. Теперь шрифты Google Fonts больше не кэшируются!
Читать дальше →
Всего голосов 76: ↑76 и ↓0+76
Комментарии65

Фреймворки и библиотеки для кроссплатформенной разработки десктопных программ

Время на прочтение7 мин
Количество просмотров42K

В этой статье я расскажу вам о некоторых самых популярных фреймворках, которые помогут вам при разработке программ для компьютеров под управлением Windows/MacOS/Linux. Если вы опытный программист, то вряд ли найдете в этой статье что-то новое для себя. Она скорее для новичков, которые ищут простое решение своей проблемы — быстрое написание хорошей (на сколько это возможно) кроссплатформенной программы.

Читать далее
Всего голосов 19: ↑19 и ↓0+19
Комментарии64

Хочу как у YouTube

Время на прочтение11 мин
Количество просмотров39K

Вы когда-нибудь задумывались как устроен ID видео на YouTube?
Возможно, вы уже знаете/нашли ответ, но, как показали обсуждения на Stack Overflow, многие понимают эту технологию неправильно. Если вам интересно изучить что-то новое, добро пожаловать под кат.


Хочу как у YouTube
Читать дальше →
Всего голосов 44: ↑33 и ↓11+22
Комментарии61

Задавать Height и Width для изображений снова важно

Время на прочтение13 мин
Количество просмотров60K

Сторонники веб-оптимизаций часто советуют добавлять к изображениям атрибуты с размерами, что позволяет при отрисовке страницы оставлять нужное количество пространства ещё до загрузки самого изображения. Это позволяет избежать смещения раскладки страницы по мере загрузки изображений - что с недавних пор начал измерять Chrome в новой метрике Cumulative Layout Shift (CLS).

Секрет, не так хорошо известный разработчикам, не являющимся заядлыми сторонниками веб-производительности, заключается в том, что до недавнего времени, как мы увидим в статье, во многих случаях это фактически не имело особого смысла. Однако, недавние изменения в мире CSS и их быстрое внедрение в браузерах снова делает добавление атрибутов width и height к тегу <img> полезным.

Читать далее
Всего голосов 26: ↑25 и ↓1+24
Комментарии21

Отзывчивый веб-дизайн и учёт высоты окна браузера

Время на прочтение9 мин
Количество просмотров15K
Знаю, что у многих появится вопрос о том, почему у этой статьи такой необычный заголовок. Как связаны «отзывчивый веб-дизайн» и «высота окна браузера»? Пожалуй, этот заголовок кажется необычным из-за того, что под «отзывчивым дизайном», как правило, понимают проектирование страниц таким образом, чтобы они подстраивались бы под ширину области просмотра, чтобы они хорошо бы выглядели на разных устройствах. Сайты всегда тестируют, уменьшая ширину браузера и наблюдая за происходящим. Но я практически никогда не сталкивался с некими указаниями по тестированию какого-то проекта, в которых сказано, что страницы исследуют путём уменьшения высоты окна браузера. Возможно, вы когда-нибудь ловили себя на такой мысли: «Надо ли проверять страницы в окнах браузера разной высоты?». Я полагаю, что делать это надо, и собираюсь убедить в этом всех, кто прочитает эту статью.



При работе над веб-сайтом не очень правильно делать некие предположения, не опираясь на реальные данные. Поэтому очень важно брать на себя ответственность по проверке сайтов в окнах браузеров разной ширины и разной высоты.
Читать дальше →
Всего голосов 27: ↑26 и ↓1+25
Комментарии6

Разрабы работают медленно и дорого — и люди считают нас лентяями. Просто в разработке всё сложно

Время на прочтение7 мин
Количество просмотров75K

— Люди не из индустрии вечно не понимают программистов: что они там такое сложное делают, если видно только две кнопки? Что за непонятные слова говорят? Почему так много получают?


Вместе с парнями из подкаста «Мы обречены» решили с этим разобраться и запустили совместную рубрику, где будем объяснять, почему в разработке всё так сложно. А для тех, кто любит читать, а не слушать, парни написали эту статью.


Читать дальше →
Всего голосов 219: ↑183 и ↓36+147
Комментарии533

Объектно-ориентированный JavaScript простыми словами

Время на прочтение23 мин
Количество просмотров103K


Доброго времени суток, друзья!

В JavaScript существует 4 способа создать объект:

  • Функция-контруктор (constructor function)
  • Класс (class)
  • Связывание объектов (object linking to other object, OLOO)
  • Фабричная функция (factory function)

Какой метод следует использовать? Какой из них является лучшим?

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

Давайте начнем с того, что такое объектно-ориентированное программирование (ООП).
Всего голосов 17: ↑15 и ↓2+13
Комментарии2

Думал, что добьюсь большего к своим 35

Время на прочтение3 мин
Количество просмотров115K


Уже два часа дня? Ничего за сегодня не сделал. Проснулся, потянулся, видел 6 голосовых сообщений — проигнорировал, принял душ, съел 3 вафли и улегся с мыслями, что мне 35, а я так и не выучил французский. Стоп, я не был в душе, это было вчера.


Попытался купить себе новые конверсы (кроссовки), но не смог выбрать между серым и обсидиановым, оба цвета мне не нравятся. Затем я отвлекся на лайфхаки на Medium, залип там минут на 90. Мне 35! Я думал, что уже давным-давно куплю себе крутую обувь и снимусь в фильме. Мой друг Сэнджей и то снялся в инди фильме. Все время рассказывает об этом.

Читать дальше →
Всего голосов 166: ↑131 и ↓35+96
Комментарии666

Сознание без внутреннего «Я»

Время на прочтение16 мин
Количество просмотров96K
image

Данная статья посвящена состоянию сознания без внутреннего «Я». Такое состояние при определенной тренировке может испытать каждый человек на личном опыте. Восприятие в данном состоянии сознания сильно отличается от восприятия в обычном состоянии, и некоторыми своими аспектами может помочь решить различные вопросы касательно человеческого разума, которые возникают в том числе при обсуждении технологий переноса сознания в машину, создания искусственного мозга или копирования мозга человека и т.д.
Читать дальше →
Всего голосов 57: ↑45 и ↓12+33
Комментарии202

Цвета в CSS

Время на прочтение11 мин
Количество просмотров53K
Цвета играют жизненно важную роль в формировании внешнего вида веб-страниц. С помощью CSS мы можем управлять основным цветом элементов и их фоновым цветом. Для этого, соответственно, используются свойства color и background. Когда, много лет назад, я изучал CSS, мне не удалось найти доходчивого руководства по использованию цветов в CSS. Поэтому я решил написать такое руководство сам. В этом материале я расскажу о типах цветов и о ключевых словах, используемых при работе с цветами. Мы поговорим о том, в каких ситуациях используются те или иные методики работы с цветами и рассмотрим примеры. Сразу скажу, что здесь я не буду касаться теории цвета.


Читать дальше →
Всего голосов 33: ↑33 и ↓0+33
Комментарии9

Стоит ли хранить Google Fonts на своём сервере?

Время на прочтение22 мин
Количество просмотров23K
В последние несколько недель, по стечению обстоятельств на работе и в сторонних проектах, я узнал много о веб-шрифтах, а также много нового о Google Fonts в частности. Благодаря этому я могу дать более развернутый ответ на вопрос, который в прошлом мне казался простым: стоит ли вам хранить Google Fonts на своём сервере?

Говоря объективно, признаю, шрифты — не моя сильная сторона. Я предпочитаю более практичный подход и не зацикливаюсь на дизайне (посмотрите на этот сайт и убедитесь, что так и есть) и прежде не чувствовал необходимости в использовании нестандартных шрифтов. Конечно, они выглядят немного приятнее и «брендируют» текст. Но для основного текста толку в них мало. Я никогда не оценивал статью (или иначе относился к её содержанию), только потому что для её подачи использовался красивый шрифт. Тем не менее, мне было полностью понятно негативное влияние дополнительных шрифтов на производительность и скорость загрузки страницы, так что, возможно, из-за этого я предвзят.

Тем не менее, многие со мной могут не согласится, да и шрифты, важны они лично для меня или нет, регулярно используются многими другими разработчиками, и часто у них просто нет выбора. Давайте посмотрим, что можно сделать, чтобы и в скорости сайта не потерять, и дизайнеров довольными оставить.
Читать дальше →
Всего голосов 33: ↑33 и ↓0+33
Комментарии10

Методы скрытия элементов веб-страниц

Время на прочтение13 мин
Количество просмотров177K


Веб-разработчикам приходится скрывать элементы веб-страниц по самым разным причинам. Например, есть кнопка, которая должна быть видимой при просмотре сайта на мобильном устройстве, и скрытой — при использовании настольного браузера. Или, например, имеется некий навигационный элемент, который должен быть скрыт в мобильном браузере и отображён в настольном. Элементы, невидимые на странице, могут пребывать в различных состояниях:

  • Некий элемент совершенно невидим и, более того, удалён из потока документа.
  • Глазами элемент не увидеть, но он присутствует в документе и доступен для ассистивных технологий наподобие средств для чтения с экрана.
  • Элемент видим, но скрыт от средств для чтения с экрана.

Статья, перевод которой мы сегодня публикуем, посвящена разбору методов скрытия элементов веб-страниц с использованием HTML и CSS. Здесь будут рассмотрены такие вопросы, как доступность контента, анимация, сценарии использования технологий скрытия данных на страницах.
Читать дальше →
Всего голосов 46: ↑45 и ↓1+44
Комментарии8

API, ради которых наконец-то стоит обновиться с Java 8. Часть 1

Время на прочтение11 мин
Количество просмотров32K

На сегодняшний день Java 8 является самой популярной версией Java и ещё довольно долго будет ей оставаться. Однако с тех пор уже выпущено пять новых версий Java (9, 10, 11, 12, 13), и совсем скоро выйдет ещё одна, Java 14. В этих новых версиях появилось гигантское количество новых возможностей. Например, если считать в JEP'ах, то в сумме их было реализовано 141:



Однако в этом цикле статей не будет никакого сухого перечисления JEP'ов. Вместо этого я хочу просто рассказать об интересных API, которые появились в новых версиях. Каждая статья будет содержать по 10 API. В выборе и порядке этих API не будет какой-то определённой логики и закономерности. Это будет просто 10 случайных API, не ТОП 10 и без сортировки от наиболее важного API к наименее важному. Давайте начнём.

Читать дальше →
Всего голосов 55: ↑52 и ↓3+49
Комментарии41
1
23 ...

Информация

В рейтинге
Не участвует
Откуда
Гатчина, Санкт-Петербург и область, Россия
Дата рождения
Зарегистрирован
Активность