В данной статье мы рассмотрим простой пример готового к запуску в продакшн приложения с генеративным пайплайном. Расчет идет на возможность простого масштабирования и распределения вычислений на GPU.
Пользователь
В стране потоков — Kafka, часть 1: сообщение producer’а
В мире потоков Kafka - это хорошо известная платформа для потоковой передачи событий. Эта серия статей предполагает некоторое базовое знакомство с Kafka — создание producer’ов и consumer’ов — и будет сосредоточена на выстраивании лучшего понимания того, как именно Kafka работает под капотом, для лучшего проектирования и настройки ваших приложений.
Как стать React разработчиком в 2018 году
Несмотря на то что пост написан в этом году, изучить всю предложенную программу за оставшиеся месяцы вы, вероятно, не успеете. Поэтому карту разработчика можно смело брать с собой в год следующий.
Адам Голаб, эксперт по React и JS, составил пошаговый учебный план, который поможет вам стать разработчиком с нуля либо укажет направление для дальнейшего повышения навыков в профессии.
План Адама представляет собой список основных пунктов, которые вам нужно изучить самостоятельно. Мы добавили описание, а в некоторых сложных моментах указали ссылки на дополнительные справочные материалы, с помощью которых вы получите ответ на вопрос: «Что я должен узнать как React-разработчик?».
Слёрм: видео занятий и организационные факапы
Записи занятий:
День 1
Вступление (Павел Селиванов). Автоматизация развертывания инфраструктуры. Ansible (Сергей Бондарев)
Docker, его устройство, Dockerfile, docker-compose (Павел Селиванов)
Знакомство с Kubernetes, начало (Павел Селиванов)
Знакомство с Kubernetes, продолжение (Павел Селиванов)
Знакомство с Kubernetes, завершение (Павел Селиванов)
Kubespray, тюнинг и настройка кластера Kubernetes (Сергей Бондарев)
День 2
Ceph, настройка кластера и особенности работы в продакшен (Сергей Бондарев)
Введение в Helm (Павел Селиванов)
Траблшутинг кластера (Павел Селиванов)
День 3
CI/CD, построение деплоя в кластер с нуля (Сергей Бондарев)
Бывают проблемы со звуком. Иногда видеоряд появляется не сразу. В записях нет практики и многих обсуждений.
А теперь — как все это было, с кровавыми подробностями.
Откровения аварийного инженера
Или как сэкономить 15% и более от бюджета на разработку
Я профессионально работаю с Unreal Engine уже более 9 лет. За это время я освоил множество специальностей и занимал разные должности в разработке игр: от разработчика-«пехотинца» до менеджера больших команд разработчиков игр и даже консультировал инвесторов игровых компаний.
В последнее время я работаю на себя, но время от времени предлагаю экстренные услуги «тушения пожаров» своим клиентам, которые находили меня по сарафанному радио. Сложно объяснить, в чём конкретно заключаются эти услуги, но больше всего они похожи на работу аварийного сантехника. Вы точно не захотите оказаться в такой ситуации, когда приходится его вызывать.
Если у игровой компании в Лос-Анджелесе появляется проблема с Unreal Engine 4, которую никто не может решить, в конце концов звонят мне. Я пишу эту статью, чтобы объяснить, почему мне звонят, как избежать необходимости таких звонков, и что я обычно делаю, получив такой звонок.
Большинство проблем разработки игр хорошо понятно тем, кто находится «в траншеях», но эти проблемы пролетают над головами менеджеров и руководства. Кроме того, похоже, подобные статьи читают только люди из траншей на передовой, а не те, кому они действительно необходимы.
Использование событийной модели в Doctrine 2 + Symfony 3
Давайте представим ситуацию: у вас есть заказ в интернет магазине (Entity). Заказ имеет некий статус. При смене статуса заказа необходимо провести кучу сопутствующих действий, например:
- сохранить в заказе дату последнего изменения
- записать в историю по заказу информацию о смене статуса
- отослать письмо / sms клиенту
- вызвать метод API службы доставки / платежной системы / партнера и т.д.
Возникает вопрос как все это правильно организовать с точки зрения программного кода.
Все ниже описанное справедливо для Doctrine 2 и Symfony > 3.1
Kubeflow: новый проект для работы с машинным обучением в Kubernetes
- о компонентах Kubeflow;
- как начать работу с решением;
- о перспективах проекта.
Пишем бота-кликера на Python для Lineage 2
Предисловие
Как можно развлечься в новогодние праздники? Поиграть в компьютерные игры? Нет! Лучше написать бота, который это будет делать за тебя, а самому пойти лепить снеговика и пить глинтвейн.
Когда-то в школьные годы был увлечен одной из популярных MMORPG — Lineage 2. В игре можно объединяться в кланы, группы, заводить друзей и сражаться с соперниками, но в общем игра наполнена однообразными действиями: выполнением квестов и фармом (сбор ресурсов, получение опыта).
В итоге решил, что бот должен решать одну задачу: фарм. Для управления будут использоваться эмулированные клики мыши и нажатия клавиш клавиатуры, а для ориентирования в пространстве — компьютерное зрение, язык программирования — Python.
Открытый курс машинного обучения. Тема 3. Классификация, деревья решений и метод ближайших соседей
Привет всем, кто проходит курс машинного обучения на Хабре!
В первых двух частях (1, 2) мы попрактиковались в первичном анализе данных с Pandas и в построении картинок, позволяющих делать выводы по данным. Сегодня наконец перейдем к машинному обучению. Поговорим о задачах машинного обучения и рассмотрим 2 простых подхода – деревья решений и метод ближайших соседей. Также обсудим, как с помощью кросс-валидации выбирать модель для конкретных данных.
UPD 01.2022: С февраля 2022 г. ML-курс ODS на русском возрождается под руководством Петра Ермакова couatl. Для русскоязычной аудитории это предпочтительный вариант (c этими статьями на Хабре – в подкрепление), англоговорящим рекомендуется mlcourse.ai в режиме самостоятельного прохождения.
Создаём нейронную сеть InceptionV3 для распознавания изображений
Привет, Хабр! Под катом пойдёт речь о реализации свёрточной нейронной сети архитектуры InceptionV3 с использованием фреймворка Keras. Статью я решил написать после ознакомления с туториалом "Построение мощных моделей классификации с использованием небольшого количества данных". С одобрения автора туториала я немного изменил содержание своей статьи. В отличие от предложенной автором нейронной сети VGG16, мы будем обучать гугловскую глубокую нейронную сеть Inception V3, которая уже предустановлена в Keras.
Вы научитесь:
- Импортировать нейронную сеть Inception V3 из библиотеки Keras;
- Настраивать сеть: загружать веса, изменять верхнюю часть модели (fc-layers), таким образом, приспосабливая модель под бинарную классификацию;
- Проводить тонкую настройку нижнего свёрточного слоя нейронной сети;
- Применять аугментацию данных при помощи ImageDataGenerator;
- Обучать сеть по частям для экономии ресурсов и времени;
- Оценивать работу модели.
При написании статьи я ставил перед собой задачу представить максимально практичный материал, который раскроет некоторые интересные возможности фреймворка Keras.
Быстрый курс Redux + websockets для бэкендера
Всем привет из 2018! Оригинальный react-redux-universal-hot-example прекратил развитие в 2017 году, но его можно собрать на версии 6.14.2, на 8 и выше версии будут ошибки. Но есть его форк
https://github.com/bertho-zero/react-redux-universal-hot-example, где продолжается разработка и поддерживаются более свежие версии Nodejs.
Это краткое руководство и обучение по фронтэнеду для бэкендера. В данном руководстве я решаю проблему быстрого построения пользовательского интерфейса к серверному приложению в виде одностраничного веб-приложения (single page app).
Основной целью моего исследования является возможность за разумное время (для одного нормального человека) получить удобный и простой в использовании интерфейс-черновик к серверному приложению. Мы (как разработчики серверной части) понимаем, что наш приоритет — серверная часть. Когда (в гипотетическом проекте) появятся во фронте профи своего дела, они все сделают красиво и "правильно".
В роли учебной задачи представлена страничка чата с каким-то умозрительным "ботом", который работает на стороне сервера и принимает сообщение только через WebSocket. Бот при этом выполняет эхо ваших сообщений (мы тут не рассматриваем серверную часть вообще).
Кластер высокой доступности на postgresql 9.6 + repmgr + pgbouncer + haproxy + keepalived + контроль через telegram
На сегодняшний день процедура реализации «failover» в Postgresql является одной из самых простых и интуитивно понятных. Для ее реализации необходимо определиться со сценариями файловера — это залог успешной работы кластера, протестировать его работу. В двух словах — настраивается репликация, чаще всего асинхронная, и в случае отказа текущего мастера, другая нода(standby) становится текущем «мастером», другие ноды standby начинают следовать за новым мастером.
На сегодняшний день repmgr поддерживает сценарий автоматического Failover — autofailover, что позволяет поддерживать кластер в рабочем состоянии после выхода из строя ноды-мастера без мгновенного вмешательства сотрудника, что немаловажно, так как не происходит большого падения UPTIME. Для уведомлений используем telegram.
Появилась необходимость в связи с развитием внутренних сервисов реализовать систему хранения БД на Postgresql + репликация + балансировка + failover(отказоустойчивость). Как всегда в интернете вроде бы что то и есть, но всё оно устаревшее или на практике не реализуемое в том виде, в котором оно представлено. Было решено представить данное решение, чтобы в будущем у специалистов, решивших реализовать подобную схему было представление как это делается, и чтобы новичкам было легко это реализовать следуя данной инструкции. Постарались описать все как можно подробней, вникнуть во все нюансы и особенности.
Прокси-сервер с помощью Tor. Основа для многопоточного парсинга
После нескольких часов безуспешных поисков, было принято решение использовать свои ресурсы!
Итак, что в итоге должно получиться:
1. VM Ubuntu/Debian 2 CPU, 2GB RAM, 8GB HDD (ну тоесть совсем не требовательная)
2. PRIVOXY для проксирования запросов (Можно взять nginx, varnish — я взял Privoxy)
3. TOR сервер
Партиционирование в PostgreSQL – Что? Зачем? Как?
В последнее время я заметил, что всё чаще и чаще сталкиваюсь с кейсами, где можно было бы использовать партиционирование. И хотя, теоретически, большинство людей знает о его существовании, на самом деле эту фичу не слишком хорошо понимают, а некоторые её даже побаиваются.
Так что я постараюсь объяснить в меру своих знаний и возможностей, что это такое, зачем его стоит использовать и как это сделать.
Под капотом Redis: Хеш таблица (часть 1)
О чём эта статья — какие расходы несёт Redis на хранения самого ключа, что такое ziplist и dict, когда и для чего они используются, сколько занимают в памяти. Когда hash хранится в ziplist, когда в dicth и что нам это даёт. Какие советы из модных статей об оптимизации Redis не стоит воспринимать всерьёз и почему.
SELinux – описание и особенности работы с системой. Часть 1
О SELinux на Хабре уже писали, однако, не так много опубликовано подробных мануалов по данной системе. Сегодня мы публикуем именно такой, подробный мануал по SELinux, начиная от информации по системе, и заканчивая гибкой настройкой политик.
Для того, чтобы не превращать пост в «простыню», сложную для понимания, мы решили разделить мануал на две части. Первая будет рассказывать о самой системе, и некоторых ее особенностях. Вторая – о настройке политик. Сейчас публикуем первую часть, чуть позже будет опубликована и вторая часть.
Видео с LoveQA митапа
1. «Эволюция php code coverage в Badoo», Илья uyga Агеев, Head of Q/A department.
Правильное использование Exception’ов в PHP
В этой статье не будет мануала по эксепшенам — это все отлично описано в документации php. Здесь я я расскажу о преимуществах использования эксепшенов, и о том, где их, собственно говоря, надо использовать. Все примеры будут для
Yii
, но это не особо важно.PostgreSQL 9.5: что нового? Часть 1. INSERT… ON CONFLICT DO NOTHING/UPDATE и ROW LEVEL SECURITY
Часть 3. GROUPING SETS, CUBE, ROLLUP
В 4 квартале 2015 года ожидается релиз PostgreSQL 9.5. Как всегда, новая версия
Скачать можно тут
Первые шаги в работе с Arduino
Мы будем разбирать платформу Arduino от покупки самого контроллера, до «заливания» кода программы (далее скетч*) и управления собственной моделью при помощи телефона на Android; далее напишем свой алгоритм, по которому наш робот будет сам выбирать путь, куда ему двигаться (следующий урок).
Вот такой робот у нас получится по истечению всех уроков (прошу прощения за качество, это стоп-кадр видео):
Содержание
1. Покупка деталей
2. Разбор каждой позиции
3. Сборка и программирование модели
4. Подключение к Android
Итак, начнём!
Информация
- В рейтинге
- Не участвует
- Откуда
- Санкт-Петербург, Санкт-Петербург и область, Россия
- Дата рождения
- Зарегистрирован
- Активность