DevNotes Live
6 subscribers
84.2K photos
12K videos
195 files
35.4K links
Автоматический агрегатор IT ресурсов в Telegram (@devnotes_robot)
Информация: https://t.me/devnotes_live/121
Download Telegram
Forwarded from Daily Coding 🔥
Бесплатный мини-курс: освой базу тестирования за 72 часа

Ты выполнишь 3 реальных задачи из жизни Junior QA — поиски багов вручную, и с помощью ПО. Получишь проекты в портфолио, значимые для будущего работодателя.

Как это работает?
1. Регистрируешься — это абсолютно бесплатно.
2. В течение трёх дней проходишь уроки от эксперта в удобное для себя время.
3. Получаешь консультацию по профессии, обучению и рынку.
4. Понимаешь, подходит ли тебе тестирование, как начать карьеру и как выгодно выделиться среди новичков.

Получи 4 гайда + 3 проекта в портфолио за 3 дня — успевай до 30 апреля!
👉 Записаться бесплатно (осталось 12 мест).
Forwarded from Dezzigners
🧰 3D abstract shapes

Большая коллекция разных абстрактных элементов в PNG формате, сделанных с помощью Stable Diffusion

Dezzigners
Forwarded from Daily Coding 🔥
📖Как учится машина
🖋Ян Лекун | 2021

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

Автор книги Ян Лекун стоит у истоков этой революции. Лауреат премии Тьюринга, профессор Нью-Йоркского университета, он является одним из изобретателей глубокого обучения, применяемого к так называемым искусственным нейронным сетям, архитектура и функционирование которых вдохновлены устройством человеческого мозга. В своей книге он, не прибегая к метафорам, делится своим научным подходом на стыке компьютерных наук и нейробиологии, проливая свет на будущее искусственного интеллекта, связанные с ним проблемы и перспективы.

💾 Скачать книгу

Daily Coding #книги #ML
This media is not supported in your browser
VIEW IN TELEGRAM
Плагин uilogos — включает в себя логотипы компаний из различных отраслей, что упрощает создание макетов и прототипов с реальными брендами. Это особенно полезно при создании пользовательских интерфейсов, где важна работа с логотипами и символикой.

#логотипы #дизайн #прототипирование

Источник

👨 Дизайн-телега
Forwarded from UI_UX inspiration
Китайский Behance, о котором ты ничего не знал, а там уже сидит 82 миллиона человек. На фоне умирающих просмотров Бешки, такая большая, хоть и китайская аудитория выглядит крайне заманчиво.

https://www.zcool.com.cn/

Подробнее: https://designpub.ru/zcool-китайский-behance-о-котором-вы-не-слышали-а-зря-fc316d2fe3d2

#showcase #behance

🌠 UI_UX inspiration
Forwarded from UI_UX inspiration
Forwarded from Shock Design
Крутые постеры для вашего вдохновения.

📙 Shock Design
Forwarded from Shock Design
Forwarded from Shock Design
Forwarded from Shock Design
Forwarded from Shock Design
Forwarded from Shock Design
Forwarded from Shock Design
Forwarded from Shock Design
Forwarded from Shock Design
🔬 Тестируй даже то, что кажется надёжным

«Это никогда не ломается» — последняя фраза перед катастрофой. Особенно в частях кода, которые трогают редко.

👉 Совет: пиши тесты для стабильных участков кода. Именно они чаще всего становятся ловушкой, когда всё вокруг уже поменялось, а эти куски — нет. Спокойствие в проде начинается с паранойи в деве.
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
Минука скрытого:

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

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

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

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

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

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

К сожалению, программист забыл настроить фича-флаги для этого кода. Кусочек программы с ошибкой запустился на всех пользователей сразу. Удивительно, что это не заметили на этапе code review!

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

Тут в дело вступает, на мой взгляд, первая ошибка (а не просто человеческая небрежность) инженеров — система контроля доступа настроена так, что при отсутствии ответа от программы проверок она отклоняет запрос. Так называемый fail closed. Хорошо для замков на банковских сейфах, плохо для пожарных выходов.
В нашем случае система не пропускает ни один запрос.

Дежурные инженеры замечают проблему в течение 2 минут, за 10 минут находят причину (дежурная система и дежурные инженеры у Гугла достойны восхищения) и нажимают большую красную кнопку, которая должна выключить эту часть программы (ее программисты сделали). Ее включение занимает еще 30 минут. (Не понятно, почему этот механизм занимает 30 минут, а не 20 миллисекунд, но движемся дальше).

Система заработала, но из-за того, что она лежала 40 минут, накопилось много желающих отправить запрос еще раз, и они создали эффект толпы, которая набежала и перегрузила остальные соседние сервисы через наш сервис проверок. Оказалось, что он не ждет какое-то время, если нужный сервис отказывается ответить на запрос (для этого есть красивая схема exponential back off), а долбит до упаду, тем самым не давая системе возможности восстановиться. Пришлось руками ограничивать число запросов. На постепенную, ручную разгрузку очередей ушло еще 2 часа.

Ко всему прочему, Гугл час не мог опубликовать уведомление о проблеме, потому что сервис публикации статус-страниц зависит от системы, которая упала.

Как вывод, Гугл обещает пройтись по всем сервисам и убедиться, что они, во-первых, fail open, то есть пропускают запросы, когда падают, во-вторых, реализуют exponential back off, если на их запрос не отвечают, а не добивают лежачего, и, наконец, в-третьих, что даже глобальные добавления правил должны прилетать во все регионы не сразу, а с некоторыми задержками. Ещё обещают добавить эти проверки в свои статические анализаторы кода, завидую!

Первые два пункта можно и нужно использовать в каждом проекте, даже если ты не Гугл.
Forwarded from Denis Sexy IT 🤖
13 минут заняла эта старая советская задача у o3 Pro, я бы точно так быстро не решил ☕️
Please open Telegram to view this post
VIEW IN TELEGRAM