Pull to refresh
11
0
Сарычев Роман @romario13

User

Send message

Kubernetes tips & tricks: о локальной разработке и Telepresence

Reading time6 min
Views14K


Нас все чаще спрашивают про разработку микросервисов в Kubernetes. Разработчики, особенно интерпретируемых языков, хотят быстро поправить код в любимой IDE и без ожидания сборки/деплоя увидеть результат — по простому нажатию на F5. И когда речь шла про монолитное приложение, достаточно было локально поднять базу данных и веб-сервер (в Docker, VirtualBox…), после чего — сразу же наслаждаться разработкой. С распиливанием монолитов на микросервисы и приходом Kubernetes, с появлением зависимостей друг от друга, всё стало немного сложнее. Чем больше этих микросервисов, тем больше проблем. Чтобы вновь насладиться разработкой, нужно поднять уже не один и не два Docker-контейнера, а иногда — даже не один десяток… В общем, на всё это может уходить достаточно много времени, поскольку требуется ещё и поддерживать в актуальном состоянии.
Читать дальше →
Total votes 41: ↑40 and ↓1+39
Comments7

Определяем породу собаки: полный цикл разработки, от нейросети на Питоне до приложения на Google Play

Reading time27 min
Views23K
Прогресс в области нейросетей вообще и распознавания образов в частности, привел к тому, что может показаться, будто создание нейросетевого приложения для работы с изображениями — это рутинная задача. В некотором смысле, так и есть — если вам пришла в голову идея, связанныя с распознаватием образов, не сомневайтесь, что кто-то уже что-то подобное написал. Все, что от вас требуется, это найти в Гугле соответствующий кусок кода и «скомпилировать» его у автора.

Однако, все еще есть многочисленные детали, делающие задачу не столько неразрешимой, сколько… нудной, я бы сказал. Отнимающей слишком много времени, особенно если вы — новичок, которому нужно руководство, step-by-step, проект, выполненный прямо на ваших глазах, и выполненный от начала и до конца. Без обычных в таких случаях «пропустим эту очевидную часть» отговорок.

В этой статье мы рассмотрим задачу создания определителя пород собак (Dog Breed Identifier): создадим и обучим нейросеть, а затем портируем ее на Java для Android и опубликуем на Google Play.

Если вы хотите посмотреть на готовый результат, вот он: NeuroDog App на Google Play.

Веб сайт с моей робототехникой (в процессе): robotics.snowcron.com.
Веб сайт с самой программой, включая руководство: NeuroDog User Guide.

А вот скриншот программы:

image

Читать дальше →
Total votes 20: ↑18 and ↓2+16
Comments34

Приключения с домашним Kubernetes-кластером

Reading time10 min
Views20K
Прим. перев.: Автор статьи — Marshall Brekka — занимает позицию директора по проектированию систем в компании Fair.com, предлагающей своё приложение для лизинга автомобилей. В свободное же от работы время он любит применять свой обширный опыт для решения «домашних» задач, которые вряд ли удивят любого гика (посему вопрос «Зачем?» — применительно к описанным дальше действиям — априори опущен). Итак, в своей публикации Marshall делится результатами недавнего развёртывания Kubernetes на… ARM-платах.



Как и у многих других гиков, за прошедшие годы у меня накопились разнообразные платы для разработки вроде Raspberry Pi. И как и у многих гиков, они пылились на полках с мыслью, что когда-нибудь пригодятся. И вот для меня этот день наконец-то настал!
Читать дальше →
Total votes 34: ↑33 and ↓1+32
Comments13

NeurIPS: как покорить лучшую конференцию по ML

Reading time11 min
Views12K

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


Читать дальше →
Total votes 68: ↑65 and ↓3+62
Comments11

Как мы сдавали экзамен Certified Kubernetes Administrator

Reading time7 min
Views27K


В прошлом году у организации CNCF (Cloud Native Computing Foundation), помогающей развиваться таким Open Source-проектам, как Kubernetes и Prometheus, появилась программа сертификации CKA (Certified Kubernetes Administrator). В начале этого лета мы решили в ней поучаствовать и получили первые сертификаты для своих сотрудников. О том, что это, зачем и как происходит, с удовольствием рассказываем всем любопытствующим читателям хабры.
Читать дальше →
Total votes 29: ↑29 and ↓0+29
Comments25

KotlinConf 2018 — кейноут и первые видео

Reading time1 min
Views2.3K
3-5 октября в Амстердаме прошла конференция KotlinConf 2018, и мы рады поделиться первыми видео. Смотрите кейноут Андрея Бреслава, руководителя проекта Kotlin:


Ещё 7 видео доступны в нашем канале на YouTube.

Подпишитесь и получите ссылку на все видео, как только они станут доступны.

Ваша команда JetBrains
The Drive to Develop
Total votes 10: ↑9 and ↓1+8
Comments7

25 полезных инструментов Kubernetes: развёртывание и управление

Reading time7 min
Views22K

Anthony Smith Images / Shutterstock.com

Мы создаём Kubernetes как облачный сервис и пристально следим за актуальными инструментами разработчиков контейнерных приложений. В этом посте мы расскажем про инструменты, которые сильно облегчают работу с развёртываниями Kubernetes и помогают построить CI/CD.
Читать дальше →
Total votes 36: ↑31 and ↓5+26
Comments21

Восстановление смазанных и расфокусированных изображений с помощью фильтра Винера. Реализация на C++ OpenCV

Reading time2 min
Views25K

В продолжении статьи про восстановление расфокусированных и смазанных изображений хочу поделиться своими результатами восстановления реальных изображений с помощью фильтра Винера. В качестве библиотеки обработки изображений использовалась OpenCV 3.4. Фотокамера – Nikon D320, объектив Nikon DX AF-S NIKKOR 18-105mm, расфокусировка осуществлялась вручную, съёмка осуществлялась без штатива.

Читать дальше →
Total votes 45: ↑45 and ↓0+45
Comments19

Harbor — реестр для Docker-контейнеров с безопасностью «из коробки»

Reading time5 min
Views57K
31 июля организация CNCF объявила о принятии в свою «песочницу» (т.е. на самый ранний этап поддержки) нового Open Source-проекта, охарактеризованного как «облачный (cloud native) реестр», — Harbor. На его сайте нам объясняют, что продукт создан для управления образами Docker-контейнеров в безопасном окружении.



Казалось бы, уже есть Docker Registry  (или, скажем, Quay от CoreOS), но очевидно, что новые решения не появляются и не дозревают до применения в production просто так — тем более, Open Source-решения… и уж тем более, попадающие в CNCF. Эта обзорная статья призвана пролить свет на причины появления Harbor, его ключевые возможности и особенности.
Читать дальше →
Total votes 22: ↑22 and ↓0+22
Comments18

Тренировка эмпатии: стимуляция нейронных связей мозга посредством видеоигры

Reading time11 min
Views15K


Человеческие эмоции, как и любое другое явление, управляются определенными механизмами и законами, в данном случае, человеческого организма, а точнее мозга. Когда вы видите плачущего человека, то понимаете, что он опечален (горюет, грустит и т.д.). Понимая это, вы можете либо пройти мимо, либо сопереживать этому человеку. Умение сопереживать часто именуют эмпатией, и оно не является дефолтной настройкой нашего мозга с рождения. Его необходимо развивать. У кого-то это протекает быстрее и естественнее, у кого-то наоборот эмпатия притупляется. Кто-то может расплакаться при просмотре фильма «Хатико», а кто-то и бровью не поведет при просмотре документалки об Освенциме. Любой навык человека зависит от состояния систем его организма, от влияния родителей, общества в целом и прочего.

Ученые решили исследовать эмпатию и выбрали для этого самых подходящих испытуемых — подростков, ибо у них подобные навыки еще не сформированы полностью. Можно ли ускорить развитие эмпатии, можно ли ее «привить», и какие процессы протекают в головном мозге в момент сопереживания? Инструментом для поиска ответов послужила видеоигра, разработанная учеными специально для этого исследования. Какие результаты показали испытания мы узнаем благодаря отчету ученых. Поехали.
Total votes 22: ↑22 and ↓0+22
Comments15

Автоэнкодеры и сильный искусственный интеллект

Reading time16 min
Views23K
Теория автоэнкодеров и генерирующих моделей последнее время получила серьезное развитие, но достаточно мало работ посвящено тому, как можно использовать их в задачах распознавания. При этом свойство автоэнкодеров получать скрытую параметрическую модель данных и математические следствия из этого дают возможность связать их с Байесовскими методами принятия решения.

В статье предложен оригинальный математический аппарат «набор автоэнкодеров с общим латентным пространством», который позволяет выделять абстрактные понятия из входных данных и демонстрирует способность к «one-shot learning». Кроме того, с его помощью можно преодолеть многие фундаментальные проблемы современных алгоритмов машинного обучения, основанных на многослойных сетях и подходе «Deep learning».
Читать дальше →
Total votes 22: ↑22 and ↓0+22
Comments20

Actions on Google: пишем простое приложение для Google Ассистента на Dialogflow и Cloud Functions for Firebase

Reading time10 min
Views18K
В конце прошлого месяца состоялся официальный релиз Google Ассистента на русском языке, так что самое время разобраться, как делать свои приложения (экшены) для Ассистента на стандартном технологическом стеке Google. В этой статье мы рассмотрим создание экшена в Actions on Google, разберём процесс извлечения сущностей и интентов из фраз в Dialogflow, узнаем, как писать обработчики извлеченной информации и работать с сетью в Cloud Functions for Firebase.


Рис. 1. Архитектура приложения для Ассистента.
Читать дальше →
Total votes 30: ↑30 and ↓0+30
Comments1

Туториал по Unreal Engine. Часть 1: знакомство с движком

Reading time12 min
Views688K
image

Unreal Engine 4 — это набор инструментов для разработки игр, имеющий широкие возможности: от создания двухмерных игр на мобильные до AAA-проектов для консолей. Этот движок использовался при разработке таких игр, как ARK: Survival Evolved, Tekken 7 и Kingdom Hearts III.

Разработка в Unreal Engine 4 очень проста для начинающих. С помощью системы визуального создания скриптов Blueprints Visual Scripting можно создавать готовые игры, не написав ни строчки кода! В сочетании с удобным интерфейсом это позволяет быстро изготавливать рабочие прототипы.

В этой части туториала по Unreal Engine 4 мы ознакомимся с основными возможностями программы. Вот основные темы, которые будут в нём рассмотрены:

  • Установка движка
  • Импорт ассетов
  • Создание материалов
  • Использование Blueprints для создания объектов с простейшими функциями
Читать дальше →
Total votes 21: ↑19 and ↓2+17
Comments10

Умный дом: новое измерение комфорта и стремление к совершенству. Часть первая

Reading time10 min
Views17K
Эта статья – логическое продолжение поднятой ранее темы мониторинга систем загородного дома. Тому, кто не читал предыдущую статью, некоторые мысли в данной статье могут показаться странными. Напомню: уже в процессе проектирования и выбора базовых компонентов стало понятно, что мониторингом работы систем загородного дома дело не закончится и что нужно делать не просто мониторинг, а фундамент умного дома. Теперь посмотрим, как развивались события. Как и прежде, я не буду приводить полные листинги программ или детальные схемы. Моя задача – показать ход мысли и, возможно, инициировать дискуссию.


Читать дальше →
Total votes 27: ↑24 and ↓3+21
Comments32

Использование ядерной регрессии для прогноза спроса в сетевых магазинах

Reading time8 min
Views8.1K
Доброго времени суток, уважаемые хабровчане! В данной публикации речь пойдет о модели прогноза спроса на товары в сетевых магазинах и ее реализации на C++.

Постановка задачи


Допустим, у нас имеется сеть магазинов, в каждый из которых завозят товары. Товары (для модели прогноза) попадают в каждый магазин произвольным образом. За некий период времени мы имеем статистику — сколько в каждом магазине продано тех или иных товаров. Требуется спрогнозировать продажи товаров за период времени, аналогичный выбранному, для всех магазинов по всем товарам, которые в них не завозились.

Примечания и допущения постановки задачи
  • Товары, завезенные в магазины, не заканчивались за период сбора статистики.
  • Если в магазин завезли новые для него товары (при том, что старые товары остались), продажи не перераспределяться между старыми и новыми товарами. Статистика по старым товарам останется прежней, просто кто-то дополнительно покупает новые товары. Прогнозирование при невыполнении этого условия потребует дополнительных данных о том, как насыщается спрос при увеличении количества товаров.
  • Период, за который собирали статистику, и период, для которого нужно сделать прогноз, идентичны по спросу.
Метод решения и исходный код под катом
Total votes 13: ↑12 and ↓1+11
Comments6

Java и Project Reactor. Эпизод 2

Reading time9 min
Views21K


Привет! Удивительно, но первая часть статьи даже кому-то понравилась.
Отдельное спасибо за ваши отзывы и комментарии. У меня для вас плохая хорошая новость: нам ещё есть о чём поговорить! А если точнее, то о некоторых деталях работы Reactor.

Читать дальше →
Total votes 26: ↑26 and ↓0+26
Comments6

Java и Project Reactor

Reading time13 min
Views71K


Всем привет! Меня зовут Лёха, и я работаю бэкенд-разработчиком в FunCorp. Сегодня мы поговорим про реактивное программирование, библиотеку Reactor и немного про веб.


Реактивное программирование часто «подвергается упоминанию», но если вы (как и автор статьи) всё ещё не знаете, что это такое — устраивайтесь поудобнее, попробуем разобраться вместе.

Читать дальше →
Total votes 43: ↑43 and ↓0+43
Comments15

Дао интеграции Сбербанка: от локальных сетей к Kafka и потоковой разработке

Reading time25 min
Views28K
Привет, Хабр! Меня зовут Михаил Голованов, в Сбертехе я занимаюсь технической архитектурой и перспективными разработками. У нас, как и у любого современного банка, есть множество систем, которые поддерживают разные стороны работы банка: вклады, счета, зачисление денег, кредитование, финансовые рынки, акции и т.д. Всякий раз, когда появляется какая-то новая система, мы начинаем следующий уровень увлекательной игры под названием «Интеграция». И каждый следующий уровень сложнее предыдущего — ведь систем нужно охватывать все больше и больше. Этот пост — то, что в геймерских кругах именуется walkthrough: сначала мы пробежимся по локальным сетям и затем через очереди сообщений перейдем к масштабному этапу потоковых вычислений посредством Apache Kafka в широко распределенных сетях.  


Читать дальше →
Total votes 53: ↑47 and ↓6+41
Comments20

Готовим тестовое окружение, или сколько тестовых инстансов вам нужно

Reading time10 min
Views57K
Сколько в вашем проекте тестовых стендов — 5, 10 или больше 10? Навскидку, нужны стенды для каждой команды разработки, стенды для QA под каждый проект, менеджерам проектов тоже нужны стенды, а еще CI — трудно это все точно разграничить и не вызвать конфликтные ситуации. Одним словом, почему бы нам не делать тестовый стенд ровно тогда, когда он нужен? Нужен сейчас тестовый стенд — мы его сделали, не нужен — мы его удалили.

Именно такой подход предложил Александр Дубровин (adbrvn) на Highload++ 2017 в своем докладе, расшифровку которого вы найдете под катом.



О спикере: Александр Дубровин работает в Superjob. Известно, что проекты этой компании высоконагруженные. Но сегодня мы не будем говорить о том, сколько пользователей посещают портал, и сколько данных хранится на серверах, а затронем другие показатели.

Забегая вперед, скажем, что, на самом деле, Superjob не знают, сколько у них тестовых стендов. Но обо всем по порядку. Начнем с небольшой истории.
Total votes 28: ↑28 and ↓0+28
Comments3

Символы, генераторы, async/await и асинхронные итераторы в JavaScript: их сущность, взаимосвязь и варианты использования

Reading time23 min
Views33K
Сущность и предназначение множества возможностей JavaScript вполне очевидны. А вот некоторые, вроде генераторов, могут, на первый взгляд, показаться странными. Такое же впечатление способны вызвать и, скажем, символы, которые похожи и на значения примитивных типов, и на объекты. Однако, язык программирования — это целостная система, одни возможности которой полагаются на другие. Поэтому обычно нельзя в полной мере понять что-то одно, не разобравшись со всем тем, с чем это связано, от чего зависит, и на что влияет.

image

Материал, перевод которого мы сегодня публикуем, направлен на разъяснение таких механизмов и конструкций JavaScript, как символы, известные символы, итераторы, итерируемые объекты, генераторы, механизм async/await, и асинхронные итераторы. В частности, речь здесь пойдёт о том, почему они появились в языке, и о том, как ими пользоваться. Надо отметить, что темы, которые будут здесь подняты, рассчитаны на тех, кто уже имеет некоторое представление о JavaScript.
Читать дальше →
Total votes 43: ↑40 and ↓3+37
Comments14

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Date of birth
Registered
Activity