Как стать автором
Обновить
0
0
Виталий Тофановский @tofa

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

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

Пишем ИИ для Виндиниума на одноплатных компьютерах. Часть 2: логика принятия решения

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

Серия статей по написанию ИИ для многопользовательской онлайн игры жанра рогалик.


Часть 1.
Часть 3.


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


image

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

Пишем ИИ для Виндиниума на одноплатных компьютерах. Часть 1: подбор кандидатов

Время на прочтение8 мин
Количество просмотров12K
Иногда возникает желание отвлечься от мирской суеты и заняться чем-нибудь интересным. В моем случае это был Виндиниум — соревнование ИИ, в котором четыре рыцаря сражаются за славу, богатство и яства.



И приготовим себе задачу — попасть в таблицу лидеров. Однако задача будет решаться еще интереснее, если поставим жесткое ограничение — ресурсы искусственный интеллект будет черпать не от нашего, несомненно, мощного компьютера, а от одноплатника на архитектуре ARM! Заодно получим не только опыт работы с портативными устройствами, но и возможность держать бота включенным 24/7 без какого-либо ущерба для основного компьютера!

Часть 2
Часть 3
Приступим!
Читать дальше →
Всего голосов 14: ↑14 и ↓0+14
Комментарии8

Безопасный OpenVPN на VPS за несколько минут

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

Введение


В связи с последними событиями и возможной блокировкой публичных VPN сервисов созрела идея облегчить жизнь людям и сделать скрипт для быстрой установки OpenVPN со всеми настройками и легким выпуском сертификатов.

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

Скрипт создавался для машин с CentOS 7.x или Ubuntu Server 17.x, использование на Ubuntu 16.x. возможно, но там OpenVPN 2.3.x в репозиториях. При необходимости можно добавить другие дистрибутивы, но обычно при покупке VPS можно выбрать систему и это не так важно.
Читать дальше →
Всего голосов 41: ↑36 и ↓5+31
Комментарии59

Итак, вы решили развернуть OpenStack

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

Вы наверняка слышали об OpenStack. Блин, да о нем говорят на каждом более-менее связанном мероприятии. Все кому не лень пропагандируют OpenStack. Модно, молодежно, все уже есть, Open Source, вливайся давай. И вот наслушавшись тонны маркетингового булшита, вы решаетесь: Будем ставить OpenStack!

Я не проводил специальных изысканий на этот счет, но отрицательных отзывов о нем вроде бы не так много, по крайней мере на русском. На первый взгляд все выглядит просто фантастически. Что ж, извольте представить мой личный пост ненависти к OpenStack.
Читать дальше →
Всего голосов 71: ↑63 и ↓8+55
Комментарии94

DevOps на сервисах Amazon AWS

Время на прочтение6 мин
Количество просмотров22K
Эффективность, которую даёт использование облачных сервисов — один из главных трендов для преобразования многих IT-компаний на сегодняшний день. Автоматизация всех процессов по пути от кода на GIT до развёртывания на Development и/или Production, а также последующий мониторинг, реакция на инциденты и т.д. (что также может и должно быть автоматизировано) — всё это, если не отменяет, то существенно меняет многие общепризнанные ITIL-практики. Взгляд на DevOps-процессы с точки зрения Amazon AWS: как они могут быть реализованы на его сервисах в рамках концепции IaaC (Infrastructure as a Code) — всё это будут даны далее в цикле статей, посвящённых Code-сервисам Amazon AWS: CodeCommit, CodeBuild, CodeDeploy, CodePipeline, CodeStar.

Эта статья первая, обзорная.

Цель данной статьи есть не ликбез по DevOps и не банальное дублирование и так имеющихся у первоисточника материалов. Целью есть представление реализации DevOps на сервисах Amazon AWS в её общем виде, из которой каждый волен выбрать нужный вариант. Целевыми читателями являются знакомые как минимум о существовании Amazon AWS, планирующие задействовать его возможности в своей работе, перенести туда свои процессы частично или полностью. Предоставляемые сервисы Amazon AWS плодятся с большой скоростью, их число уже превысило круглую отметку в 100 штук, потому даже имеющим хороший опыт с AWS может быть полезным узнать — что же появилось нового, такого, которое, может быть, они просто пропустили, а это можно успешно задействовать в их работе.
Читать дальше →
Всего голосов 15: ↑14 и ↓1+13
Комментарии12

ENTRYPOINT vs CMD: назад к основам

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

Construction


Название ENTRYPOINT всегда меня смущало. Это название подразумевает, что каждый контейнер должен иметь определенную инструкцию ENTRYPOINT. Но после прочтения официальной документации я понял, что это не соответствует действительности.

Читать дальше →
Всего голосов 28: ↑27 и ↓1+26
Комментарии17

Git: много хуков полезных и разных

Время на прочтение4 мин
Количество просмотров20K
Статья является вольным переводом вот этого материала. Любителям длинных и заумных первоисточников можно сразу читать оригинал.

Когда перед нами ставится задача при изменении кодбейса, например, в Github-репозитории выполнить пересборку/перезапуск какого-нибудь приложения на каком-то нашем окружении, то первое, что приходит на ум в качестве возможного триггера такой пересборки, это предоставляемый тем же гитхабом механизм веб-хуков: при наступлении какого-либо события с нашим удаленным репозиторием (т.к. появление нового коммита в какой-нибудь его отслеживаемой ветке) гитхаб задействует соответствующий веб-хук и «дернет» указанный в его настройках сервис, который и запустит процесс пересборки/перезапуска нашего приложения. Это стандартный широкоиспользуемый и простой механизм для таких случаев, все так делают, и все такое…

Но что, если наше приложение живет на хосте, доступ к которому по каким-то причинам гитхабу не положен? Например, хост находится в закрытой сети или за NAT'ом и недоступен из интернета?
Читать дальше →
Всего голосов 15: ↑14 и ↓1+13
Комментарии4

Создание веб-приложения на Go в 2017 году

Время на прочтение8 мин
Количество просмотров78K
Содержание

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


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

Читать дальше →
Всего голосов 36: ↑28 и ↓8+20
Комментарии44

Комплексная автоматизация с Ansible и OpenStack

Время на прочтение12 мин
Количество просмотров14K
Решения Ansible гарантируют максимальную гибкость. Это позволяет сообществу находить все новые способы использования модулей Ansible для автоматизации часто выполняемых операций на многих уровнях, в том числе в сочетании с технологиями OpenStack.

В этом блоге мы будем обсуждать многочисленные варианты использования Ansible, самого популярного программного обеспечения (ПО) для автоматизации, совместно с OpenStack, самым популярным ПО для облачной инфраструктуры. Мы поможем вам понять, как и почему вам следует использовать Ansible, чтобы сделать свою жизнь проще с помощью комплексной автоматизации (Full-Stack Automation), как мы любим ее называть.

image
Читать дальше →
Всего голосов 12: ↑10 и ↓2+8
Комментарии6

Руководство по безопасности MongoDB

Время на прочтение12 мин
Количество просмотров15K
Нравится нам это или нет, но нереляционные базы данных с открытым исходным кодом составляют значительную часть сложившейся экосистемы инструментов для хранения данных, повсеместно применяются как в небольших, так и крупных Web-проектах. Вполне вероятно, что кому-то из вас пришлось столкнуться с MongoDB в «продакшене». Умение обезопасить БД от внешних посягательств является необходимым для успешной экплуатации навыком. Об этом и многих других вопросах мы поговорим на PG Day'17 в секции открытых баз данных. Тем временем, мы рады представить вам перевод интересной обзорной публикации, посвященной безопасности MongoDB.



У MongoDB есть всё необходимое для сохранения ваших данных в целости. Мы расскажем о том, что именно может вам понадобиться и как это настраивать.

Безопасность MongoDB снова в новостях. Совсем недавно СМИ наводнили истории, рассказывающие о том, как хакеры захватывали базы данных MongoDB и требовали выкуп в биткойнах. Десятки тысяч инсталляций MongoDB были скомпрометированы, согласно Rapid7.
Читать дальше →
Всего голосов 12: ↑10 и ↓2+8
Комментарии0

Работники фабрики Tesla в США жалуются на условия труда

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

Несмотря на большое количество промышленных роботов, на фабрике Tesla в США трудится более 10 000 человек

После того, как Илон Маск выкупил закрытый автомобильный завод во Фремонте, Калифорния, это предприятие за считанные месяцы было преобразовано в современный завод с большим количеством разного рода hi-tech промышленных манипуляторов и кучей новшеств. Предприятие продолжают совершенствовать по сей день, вводя новые методы работы, оптимизируя процесс производства, логистику и т.п. Но некоторые сотрудники фабрики не слишком довольны условиями работы, считая, что ради достижения своих целей Маск не жалеет людей.

По статистике, с 2014 года на завод Tesla «неотложка» приезжала более 100 раз. В общем-то, здесь нет ничего удивительного, поскольку на любом, даже самом современном производстве есть определенные риски для сотрудников. Иногда неприятности случаются и тогда страдают люди. Со времени открытия предприятия Tesla таких инцидентов насчитывается уже несколько сотен.
Читать дальше →
Всего голосов 40: ↑34 и ↓6+28
Комментарии123

Химия компьютерного мира

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


Школьная наука часто преподается в сухой и неинтересной форме. Дети учатся механически запоминать, чтобы сдать экзамен, и не видят связи науки с окружающим миром.

Эти слова принадлежат великому физику, никогда не сдающемуся и верящему в чудеса, Стивену Хокингу. Но важны не слова об образовании, а вторая часть цитаты о связи науки с окружающим миром. Наука следует за нами каждый день. Она повсюду, видим мы это или нет. Её влияние мы ощущаем вне зависимости от нашего вероисповедания, места жительства или рода занятий. Черт подери, наука была еще до того, как сам этот термин был придуман. Вся наша Вселенная полна процессов, которые описываются различными науками. В большинстве своем, предпочтение все же отдается физике. Науке, способной хаос назвать порядком, а порядок хаосом. И пояснить почему именно так, а не иначе. Однако мне бы хотелось прикоснуться к науке, которая так же, как и физика, присутствует в нашей жизни, обладая невероятным влиянием на её течение. Долго сохранять интригу не вижу смысла, ибо все уже из заголовка к этому очерку и так поняли, что речь пойдет о химии. Но не просто о химии, как о науке, а о том, как она проявляет свою силу и красоту в компьютерном мире.
Читать дальше →
Всего голосов 12: ↑10 и ↓2+8
Комментарии9

Умный дом, как я до такого докатился. Часть 4-я

Время на прочтение4 мин
Количество просмотров36K
В первых трех частях я рассказал как у меня возникла идея (необходимость) построения “умного дома” и как я ее воплотил в жизнь.

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

Ну и небольшой спойлер: под катом будет краткое описание “очередной поделки на esp8266 с преферансом и куртизанками”.
Поехали!
Всего голосов 34: ↑33 и ↓1+32
Комментарии63

Способы диагностики PostgreSQL — Владимир Бородин и Ильдус Курбангалиев

Время на прочтение14 мин
Количество просмотров29K
Одним из самых популярных докладов конференции PG Day в 2015 году стал рассказ Владимира Бородина и Ильдуса Курбангалиева о ситуациях, когда посгресовым базам становится плохо, надо их диагностировать и искать узкие места. Все примеры в докладе взяты из реальной практики Яндекса, сопровождаются иллюстрациями и подробным рассказом о поиске «боттлнека». Не смотря на то, что проблемы рассматривались в разрезе 9.4 и 9.5 версий базы данных, общая ценность и практическая применимость советов Владимира и Ильдуса остается неизменной. Рады предложить вам транскрипцию этого доклада.

Вступление Ильи Космодемьянского: сейчас у нас будет рассказ о том, как жить, если очень хочется иметь Oracle, а его нет. На самом деле, это полезный доклад, потому что одна из проблем, которую мы сейчас имеем – это проблема средств диагностики. Средства диагностики местами не достают, местами, вместо привычных средств диагностики нужно использовать довольно сложные тулзы, которые вообще предназначены для разработчиков Linux, а не для DBA. У DBA зубы начинают болеть, когда они смотрят на эти скрипты. И вот ребята из Яндекса и PG Pro расскажут о методах диагностики Postgres, которые они применяют, как ими пользоваться и немного расскажут о том, как они собираются улучшить этот мир.


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

Нагрузочное тестирование: с чего начать и куда смотреть

Время на прочтение11 мин
Количество просмотров79K
Вы наверняка знаете, что есть большая разница между тем, как будет работать ваше приложение/сервис в зависимости от того, сколько пользователей его используют. То, что работало во время разработки, может развалиться, когда придут первые реальные пользователи со своим окружением, а то, что работало с сотней пользователей, может умереть, когда их станет 10 тысяч. Или бывает, что вы все потестили на искусственных данных, а потом ваша база начинает торзмозить из-за пользователя с именем İnari.

О том, как выживают баги, когда «включать» в проекте нагрузочные тесты, откуда брать для них данные и можно ли вообще не тестировать, вывалив результаты сразу в продакшн, мы поговорили с Алексеем Лавренюком («Яндекс») и Владимиром Ситниковым (Netcracker).


Читать дальше →
Всего голосов 38: ↑36 и ↓2+34
Комментарии7

В чём суть проекта Moby и почему главным репозиторием Docker вдруг стал moby/moby?

Время на прочтение5 мин
Количество просмотров25K
Месяц назад компания Docker на конференции DockerCon 2017 официально представила свой новый Open Source-проект — Moby. Если это просто ещё один дополнительный проект, нужный кому-то, кто работает с Docker… то почему, как заметили внимательные пользователи, основной репозиторий компании в GitHub — docker/docker — стал пересылать на moby/moby?



Забегая вперёд и заранее отвечая на вопросы разработчиков, использующих Docker как простой способ запуска приложений в контейнерах: Moby — проект не для вас. Несмотря на его появление и происходящие внутри перестановки, «внешне» (для пользователей Docker как готового продукта) ничего не изменится. А для тех, кто настроен более глубоко разобраться в этих перестановках (весьма значимых!) и, возможно, даже воспользоваться ими для решения своих задач… начну с краткого экскурса в новейшую историю развития Docker.
Читать дальше →
Всего голосов 31: ↑31 и ↓0+31
Комментарии7

Ценности GitLab

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


Компания GitLab уже несколько раз привлекала наше внимание: мы писали об инциденте с базой данных, решении перейти на собственное железо и о том, как пользователи убедили GitLab не уходить из облака. Все эти истории объединяет небывалая открытость, которую проявила компания при ликвидации последствий аварий и принятии жизненно важных решений. Мы решили узнать причины такой публичности и нашли замечательный документ, в котором описаны ценности GitLab.


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

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

Лекции Техносферы. Подготовительный курс «Алгоритмы и структуры данных» (весна 2016)

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


Цель этого курса — познакомить слушателей с основными алгоритмами, применяемыми для разработки программного обеспечения. Вы научитесь выбирать подходящие структуры данных и алгоритмы для реализации возникающих задач, и узнаете, как использовать языки С/С++ для реализации алгоритмов.

Курс ведет Сергей Бабичев, доцент кафедр информатики и вычислительной математики, а также теоретической и прикладной информатики в МФТИ. Под катом вас ждет восемь лекций:

  • Лекция 1. «Введение. Исполнители. Абстракции интерфейсов. Рекурсия»
  • Лекция 2. «Жадные алгоритмы»
  • Лекция 3. «Сортировки»
  • Лекция 4. «Поиск. Списки»
  • Лекция 5. «Деревья»
  • Лекция 6. «Хеш-таблицы»
  • Лекция 7. «Динамическое программирование»
  • Лекция 8. «Алгоритмы на графах»
Всего голосов 52: ↑52 и ↓0+52
Комментарии7

Сети для самых матёрых. Часть двенадцатая. MPLS L2VPN

Время на прочтение48 мин
Количество просмотров158K
Долго ли коротко ли, но шестерни в очередной раз провернулись и linkmeup встал на ступень Tier 2. И несколько достаточной платёжоспособности энтерпрайзов проявили заинтересованность в организации связи между своими филиалами через сети linkmeup.

L3VPN, который мы рассмотрели в прошлом выпуске, покрывает собой огромное количество сценариев, необходимых большинству заказчиков. Огромное, но не все. Он позволяет осуществлять связь только на сетевом уровне и только для одного протокола — IP. Как быть с данными телеметрии, например, или трафиком от базовых станций, работающих через интерфейс E1? Существуют также сервисы, которые используют Ethernet, но тоже требуют связи на канальном уровне. Опять же ЦОДы между собой любят на языке L2 общаться.

Вот и нашим клиентам вынь да положь L2.

Традиционно раньше всё было просто: L2TP, PPTP да и всё по большому счёту. Ну в GRE ещё можно было спрятать Ethernet. Для всего прочего строили отдельные сети, вели выделенные линии ценою в танк (ежемесячно).

Однако в наш век конвергентных сетей, распределённых ЦОДов и международных компаний это не выход, и на рынок выплеснулось некоторое количество масштабируемых технологий випиэнирования на канальном уровне.

Мы же в этот раз сосредоточимся на MPLS L2VPN.


Читать дальше →
Всего голосов 51: ↑49 и ↓2+47
Комментарии20

Server-less API на AWS за 15 минут

Время на прочтение6 мин
Количество просмотров18K
Amazon Web Services позволяют очень быстро производить прототипирование простых веб-приложений, и написать API, допустим, для простого мобильного приложения можно за считанные минуты. Мы будем использовать связку DynamoDB и API Gateway (без Lambda-функций!) для настройки GET и POST запросов к базе с возможностью чтения, записи и изменения данных в ней.


Читать дальше →
Всего голосов 11: ↑11 и ↓0+11
Комментарии2
1
23 ...

Информация

В рейтинге
Не участвует
Откуда
Киев, Киевская обл., Украина
Дата рождения
Зарегистрирован
Активность