Привет! Перевод пятой лекции о создании Super Mario Bros.
Новости
Установка Sonatype Nexus с SSL
Sonatype Nexus — программный продукт, который представляет собой менеджер репозиториев для хранения артефактов. По умолчанию установка происходит без включенного SSL. В данной статье будет описана установка Sonatype Nexus в контейнере Docker с использованием Nginx в качестве обратного прокси сервера, а также будет рассмотрено получение бесплатного доменного имени на сайте freenom.com и создание SSL-сертификата при помощи службы Let’s Encrypt.
Почему GPU обманывают о своей нагрузке и как с этим бороться
Почему в распределённом обучении нельзя доверять утилизации GPU? Почему переход в эру распределённого обучения — фундаментальный сдвиг парадигмы мышления, к которому должен быть готов каждый ML-разработчик? Ещё больше «Почему» и ответов на них — под катом.
Стелем мягкую соломку на жёсткий Flutter: как подготовиться к первому проекту, чтобы не провалить его
Есть мнение, будто Flutter недостаточно хорош, недостаточно развит и не готов к использованию в крупном и сложном проекте. Собрали советы, которые помогут не наступать на популярные грабли и получить максимум возможностей, которые может предоставить Flutter-фреймворк.
Terraform-модуль для инициализации Vault
При настройке CI/CD для приложений мы в компании, как правило, используем Vault от HashiCorp. К тому же сами приложения зачастую используют Vault для хранения секретных данных. Но для того, чтобы начать использовать Vault, сначала необходимо произвести его настройку. Раньше нам приходилось вручную производить подобные манипуляции для каждого проекта, что отнимало немало времени. Найти готовый модуль, который подошел бы нам, не удалось. Поэтому мы написали свой terraform-модуль, который позволяет автоматизировать данный процесс.
На текущий момент созданный нами terraform-модуль покрывает все наши требования, но в дальнейшем он будет дорабатываться. Модуль позволяет создавать политики доступа и хранилища секретов, включать необходимые способы авторизации (certs, jwt, oidc, kubernetes и т.д.), создавать токены, jwt/oidc/token-роли и идентификационные группы. Также при помощи него можно генерировать TLS-сертификаты и jwt ключи в определенной директории.
Ограничиваем Prometheus метрики в Webflux
Всем привет! В текущей статье, хотелось бы поделиться опытом решения задачи ограничения вывода метрик в Prometheus для сервиса, написанного в функциональном стиле на Spring Webflux.
Казалось бы – подключил Actuator, Micrometer, Prometheus зависимости, прописал в management пропертях включение метрик и радуешься выводу всего нужного для мониторинга по соответсвующему ресту. Однако, после наката метрик на окружение, внезапно приложение начинает стремительно деградировать, графану начинает спамить огромным количеством избыточной информации, коллеги из QA наблюдают существенное замедление скорости отклика запросов к бэкенду, соотвественно принимается решение по откату фичи.
Неприятно, но бывает, давайте исправлять ситуацию.
Стейт-машины в iOS
Бизнес-логика – это сложно. Сложная бизнес-логика — ещё сложнее. А описать всё это в коде – просто жесть. Мы с вами каждый день реализуем тонну разных сценариев с огромным количеством веток развития. Каждую ветку нужно запрограммировать, потом суметь быстро поправить, а когда придёт продакт, еще и поменять ее логику. И если писать код просто как он пишется, можно оказаться в ситуации, когда простой фикс вместо 20 минут занимает 6 дней. Это проблема.
В этой статье мы поговорим про паттерн проектирования, который сможет собрать осколки логики в одно красивое полотно, а затем будет долго и успешно поддерживать его целостность. Поехали!
Распознавание документов в браузере вашего устройства
Привет Хабр! Те из вас, кто следит за нашими публикациями про мобильное распознавание документов, знает, что мы придерживаемся принципа распознавания документов только на самом устройстве. Модуль, который отвечает за распознавание и ввод данных, не должен быть уязвимее того, что он в моменте заменяет (а именно, клавиатуру). Наши технологии легко встраиваются в мобильные приложения, но что делать, когда необходимо реализовать веб-приложение с возможностями ИИ? Уступать принципам не приходится - на помощь приходит WebAssembly. Под катом мы расскажем, как мы портировали наши решения по распознаванию документов, банковских карт, баркодов, и всего остального, для использования в Wasm. Уверены, что вам будет интересно.
Делаем зарядную станцию для электромобилей из доступных промышленных компонентов
Тема электромобилей и зарядных станций - одна из моих любимых, интересуюсь ей давно и сейчас в связи с началом активного внедрения электротранспорта, получается практически участвовать в различных проектах по разработке зарядной инфраструктуры. В предыдущем обзоре (ссылка в конце публикации) были представлены основные стандарты электрозарядных станций переменного (АС) и постоянного (DC) тока и основы построения инфраструктуры для групповой зарядки. Тема заинтересовала читателей и потенциальных производителей таких станций. При этом большинство вопросов относилось к тому, как создать отдельную зарядную станцию. При этом большинство потенциальных производителей электрозарядных станций ранее не создавали такие станции и поэтому вопросов достаточно много.
В этом обзоре в сжатой форме постараюсь рассказать об основных компонентах для построения зарядной станции и представлением базовой спецификации для практической реализации. Пока не будем затрагивать мифологию, которая сложилась вокруг электромобилей и систем зарядки для них, это тема отдельного обзора. Однозначно буду признателен за вопросы в комментариях по теме электрозарядной инфраструктуры и электромобилей.
Типовые запросы в SQL для всех. Плюсы и минусы
Я всегда составляю для себя Типовые запросы - список готовых запросов, которые можно потом скопировать, а не писать заново. Тут есть основные показатели, чтобы не путаться, как правильно их считать. Здесь же и редкие вещи, расположение которых легко забыть и трудно найти заново. А еще полезные функции, например, как получить инфу о таблице или вытащить айдишку товара из урла. В общем, этим файлом я пользуюсь постоянно.
Однажды я стала раздавать его всем желающим...
Ректоры и президенты неожиданно согласились рассказать студентам, что их ждет в микроэлектронике
Мы на Школе Синтеза двадцать суббот учили школьников и студентов проектировать процессоры на FPGA. Для выпуска мы решили пригласить крутых топов, и на наше удивление, откликнулись сразу семеро:
1. Александр Редькин, гендир и основатель компании Syntacore, которая разрабатывает будущий флагман российcких процессоров для линуксных ноутбуков - суперскаляр с внеочередным исполнением иструкций, совместимый по системе команд с архитектурой RISC-V.
2. Сергей Сергеевич Шумилин - заместитель директора по науке компании Миландр, российского лидера по разработке микроконтроллеров, пионера лицензирования ядер ARM и надежды российcких пользователей ПЛИС.
3. Николай Суетин - главный микроэлектронщик фонда Сколково, бывший руководитель R&D Интела в России.
4. Сергей Михайлович Абрамов - член-корреспондент РАН, руководитель разработки суперкомпьютера СКИФ и других HPC проектов.
5. Игорь Рубенович Агамирзян - бывший менеджер Микрософта, Российской Венчурной Компании, вице-президент Высшей Школы Экономики и программист.
6. Александр Тормасов - ректор Иннополиса, Chief Scientist компании Parallels, гуру виртуализации, лектор по компьютерной архитектуре.
7. Тимур Палташев - известный специалист по архитектуре компьютерной графики, c 25-летним опытом в Silicon Valley и работой с питерским ИТМО.
Вообще мы планировали бОльшую часть времени в субботу разбирать микроархитектурные задачки на верилоге, но раз так, то будем устраивать устраивать сессию на тему "лидеры индустрии и академии расскажут, какие следущие шаги предпринять после решения микроархитектурных задачек, чтобы стать лидерами индустрии и академии". И ответят на вопросы.
Это состоится в субботу 23 апреля в Капсуле №2 Технопарка Сколково в 12:00.
Заградотряд
Вот вы как программистов удерживаете в компании? Хорошо платите? Создаёте комфортные условия? Интересные задачи и проекты? Перспективы? Обучение?
И как, получается? Сидят, не уходят? А сколько денег и усилий затрачиваете? Стоит оно того? Наверняка стоит. Но можно и по-другому. Дёшево и бесчеловечно.
Например, используя заградотряд.
Модель удержания программистов в одной известной на локальном рынке компании рассказал друг, который сумел оттуда сбежать. Как он это сделал – расскажу в конце.
Шизофрения, как и было сказано. Игры с Бессознательным
Когда-то давным-давно резанув по глазам, остались в памяти две книжки в размалеванных обложках. Первая - нечто из разряда экстрасенсорики, написанное в стиле "в первую ночь занятий делайте то-то и то-то, во вторую - еще и вот это..." после чего, на третий раз, обещан был гарантированный "выход из тела" и астральная прогулка по окрестностям; книга же вторая утверждала за Высоцким безусловный дар ясновидения, находя в каждой из песен завуалированное а-ля Нострадамус предсказание. Как сейчас помню, "Охота на волков" являла собой "предвидение осады Белого дома", и т. д. и т. п.
Недельный геймдев: #66 — 17 апреля, 2022
Из новостей: Unity 2021 LTS, Cascadeur 2022.1 EA, HIP-RT от AMD, Rust GameDev 32.
Из интересностей: о работе над освещением и окружением для Cyberpunk 2077, про создание игр на своём 3D движке в одиночку, значение рандомизации в игровом дизайне, сборка мусора в Unreal Engine, плащ-невидимка, сделанный в Blender.
«Помощник учителя»: от идеи до популярного мобильного приложения
Привет, читатель! Меня зовут Марчук Иван, и я разработчик мобильного Android-приложения Teacher's Assistant («Помощник учителя»). Я начал его разрабатывать еще школьником, когда учился в «IT Школе Samsung». Сейчас мое приложение скачали более 160 тысяч человек.
Помощник учителя – это электронный журнал для учителей, где они могут ставить оценки, отмечать посещаемость и записывать ДЗ, а также удобный инструмент для учета активности учеников во время урока.
Подробнее о моем приложении и о том, как я его создавал, читайте далее.
Синхронизируем данные с yarsync
yarsync - Yet Another Rsync - предназначен для синхронизации данных между несколькими устройствами, более точно - между файловыми системами в Unix-подобных средах. yarsync обладает интерфейсом, похожим на git, и является Python-обёрткой вокруг программы rsync. Программа доступна под свободной лицензией GPL v3.0 на github (я автор).
yarsync работает там, где есть Питон и rsync.
Данные могут синхронизироваться локально или между разными компьютерами (в таком случае на удалённой машине также должен быть установлен rsync). Кроме того, файловые системы должны поддерживать жёсткие ссылки (hard links). Популярные системы, поддерживающие жёсткие ссылки - ext2-ext4, HFS+, а также NTFS. Не поддерживают жёсткие ссылки FAT, exFAT (часто используемые на флеш-накопителях).
Говоря простыми словами, допустим, что у вас есть компьютеры дома и на даче. У вас есть папка с книгами и статьями по программированию, которые вы собирали долгие годы, и которой регулярно пользуетесь (её копиями на разных машинах). Вы хотите, чтобы эти копии были одинаковы - то есть в идеале чтобы можно было работать с данными на разных компьютерах (добавлять новые статьи, удалять ненужные, переименовывать и перемещать файлы и папки), а затем эти изменения легко переносились на другие копии. Это и делает yarsync, отслеживая изменения и позволяя эффективно синхронизировать данные через доступный сервер или внешний накопитель (жёсткий диск).
Алгоритм создания технических курсов, которые хочется проходить до конца
Недавно, забросив свой очередной курс, который я обязательно как-нибудь пройду, я подумал: «Хватит это терпеть!».
И перестал это терпеть.
И решил рассказать о том, как делать интересные курсы, которые до чесотки хочется пройти до конца.
Как мы потеряли 54 000 звёзд на GitHub
К старту курса по Fullstack-разработке на Python рассказываем о том, как один из самых популярных репозиториев GitHub лишился десятков тысяч своих звёзд, а также о том, как помочь пользователям ваших решений избегать подобных ситуаций.
Почти детективная история болезни
Начало XIX века, Англия.
Пожилой респектабельный мужчина, врач и аптекарь, член Королевского общества хирургов и один из основателей Лондонского Геологического Общества, идя по улице, стал свидетелем странного и пугающего зрелища. Позже он описал увиденное в своей научной работе следующими словами:«Случай пятый
В еще одном случае заболевания, подробности которого не удалось выяснить, а субъекта которого, несчастного джентльмена, я наблюдал лишь издали, один из симптомов данного недуга – возможность передвигаться только бегом – проявлялся в экстраординарной степени. По всей видимости, тому джентльмену все время должен был помогать слуга, стоящий спереди и поддерживавший его за плечи, пока, легкими покачиваниями взад-вперед, не добивался его равновесия; затем тот, выкрикнув команду, срывался на бег, слуга же уворачивался с его пути и обгонял, готовясь подхватить его, когда тот едва не падал, пробежав около двадцати шагов.»
“Сигма дельта” или как сделать хорошую звуковую карту из STM32F401
Жене мешают смотреть последние новости из телефона и телевизора, приходящие поесть (первично ?) и поиграть на компьютере (вторично?) внуки. Она их конечно любит , но звуки их взаимодействия с компьютером ее сильно раздражают. Пришлось надеть на внуков наушники. А звуковой выход у компа в неудобном месте и каждый хочет со своей громкостью. Ну пришлось разработать внешнюю USB звуковую карточку. Хочется и красиво и качественно. Впрочем, внуки скорее , только повод для поностальгировать по своей старой специальности радиоконструктора и вообще, так как последние двадцать с лишним лет я далеко от нее и пишу заклинания программы реконструкции изображений для медицинских томографов в больших и не очень фирмах , то есть энжинер-погромист по специальности. Хотел написать статью на эту очень интересную и важную тему (компьютерная томография), но выяснилось что мне нельзя по условиям контракта ...
Итак вернемся к нашим баранам внукам и звуковым карточкам, у нас есть в нескольких экземплярах(овер дофига,купил пока были дешевые) модули из Китая:
1. Stm32f401ccu6 black pill – сейчас $3 за штучку
2. I2S DAC Decoder GY-PCM5102 ->$3.5 за штучку
3 .SPI display ips 1.3 inch 240x240 (controller st7789) ->$7 за два
Сначала построим максимальную конфигурацию из двух экранов и I2S GY-PCM5102.
Конфигурируем куб, разбавляем его говно код своим г. кодом, добавляем ФАПЧ ( фазовой автоматической подстройки частоты или PLL на ихнем ) , для согласования скоростей приходящих от компьютера данных и выдачи на i2s внешний ЦАП (DAC). Хмм , звучит очень неплохо, явно лучше большинства встроенных звуковушек. PCM5102 – весьма и весьма качественный ЦАП за свою цену в пару- тройку долларов за модуль с чипом. Добавляем отображение индикаторов уровня на паре неплохих дисплеев st7789 ...