Как стать автором
Обновить
0
0
Артем Седых @sedyh

Backend / ML Developer

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

Занимательная математика с цветными кубиками

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



Совсем немного истории


Головоломка «Instant Insanity» (Мгновенное Безумие), возможно, одна из самых востребованных для иллюстрации применимости теории графов в решении задач подобного ей типа.
Читать дальше →
Всего голосов 26: ↑26 и ↓0+26
Комментарии6

Готовимся к Java 9. Обзор самых интересных улучшений

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


В эту среду, 30 августа, в офисе компании Oracle состоялась встреча JUG.ru с Олегом Шелаевым, Developer Advocate в компании ZeroTurnaround, которая делает JRebel и XRebel. Тема встречи — инструменты создания многопоточных программ на Java (от конструирования велосипедов и запуска потоков ручками, до ForkJoinPool-ов, зеленых потоков и транзакционной памяти).


Конечно, мы поинтересовались, какие фишки Java 9 считают в ZeroTurnaround наиболее полезными. В результате, разжились статьей, которую вы сейчас читаете. Оригинал статьи Олег опубликовал в блоге RebelLabs, там есть еще много интересного.

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

6 сентября QIWI соберёт back-end разрабочиков на QIWI SERVER PARTY

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

QIWI SERVER PARTY для back-end разрабочиков — 6 сентября, дизайн-завод FLACON


Неформальный митап для back-end разработчиков, которым не нужны эффективные рабочие процессы.

Ты узнаешь:

• Как с пользой провести время на собеседовании
• Почему Big Data бесполезна
• Как внедрить Kubernetes и не сойти с ума
• Почему архитектуру иногда нужно менять просто так

Программа митапа:

17.00–18.00 — cбор гостей и регистрация
18.00–19.00 — выступления спикеров
19.00–19.20 — перекур
19.20–20.00 — выступления спикеров
20.00–22.00 — свободное общение и специальный приглашенный гость

Ближе к дате программа может незначительно поменяться.

Где: дизайн-завод FLACON / ул. Б. Новодмитровская, 36 / Крыша кафе-бара «Искра»
Когда: 6 сентября в 17.00

Вход свободный по регистрации на таймпад

Если back-end твоя тема, ждем!
Читать дальше →
Всего голосов 16: ↑14 и ↓2+12
Комментарии4

Генерация Галактики и обучение начальным знаниям астрономии

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

Введение


Некоторое время назад я дома решил посмотреть, что нового появилось на тему космоса за последнее время. За этим делом меня застал мой 7 летний сын, проявив большой интерес к этой тематике. Пока я ломал голову, как просто и доходчиво, а также в каком именно объеме дать ребенку информацию по космосу, я наткнулся на статью, где написано, что принято решение вернуть в российские школы предмет «Астрономия» в 2017-2018 учебном году, но только с 11 класса. Это и стало тем событием, которое подвигло меня написать эту статью, чтобы помочь ознакомить с азами астрономии детей до 11 класса.

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


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

Введение в октодеревья

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


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

В этой статье я постараюсь рассказать обо всех этапах, необходимых для создания структуры данных октодеревьев, на примере объяснения концепций, иллюстраций и кода. Также я опишу свои решения, которые принимал на каждом из этапов. Не думайте, что эта статья будет единственно верным руководством к реализации октодеревьев, но она должна дать вам хороший фундамент и её можно использовать для справки.
Читать дальше →
Всего голосов 49: ↑49 и ↓0+49
Комментарии17

Java.next: Общие принципы языков нового поколения

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

Java.next: Общие принципы языков нового поколения


Это первая часть серии статей насчёт Java.next. В первой части я собираюсь рассмотреть общие принципы, которые разделяют языки Java.next.

Я выбрал четыре языка, которые вместе и назвал «Java.next»: Clojure, Groovy, JRuby, and Scala. На первый взгляд, эти языки совершенно разные. Clojure — это Lisp. Groovy — это «почти Java». JRuby обладает красотой Ruby, и использует мощь Rails. Scala, в отличие от других языков, настаивает на том, что нам нужна статическая типизация.
Читать дальше →
Всего голосов 60: ↑53.5 и ↓6.5+47
Комментарии133

Запуск Java классов и JAR-ов не по учебнику

Время на прочтение3 мин
Количество просмотров18K
Меня давно занимала мысль как в Linux-е запускать программы на Java без вспомогательных Bash скриптов. Я не видел приемлемого решения, если не считать способ «bash script payload», когда в конец скрипта помещается бинарный файл.

Но на прошлой неделе случайно наткнулся на модуль ядра binfmt_misc, с помощью которого можно перехватить исполнение файла по его magic number. Для этого через update-binfmts добавляется собственный обработчик для получения имени исполняемого файла и аргументов пользователя.
Читать дальше →
Всего голосов 20: ↑20 и ↓0+20
Комментарии21

Метод безытеративного обучения однослойной сети прямого распространения с линейной активационной функцией

Время на прочтение2 мин
Количество просмотров7.3K
В этой статье не будет ни одной строчки кода, тут будет просто теория метода обучения нейронных сетей, который я разрабатываю последние пол-года. Реализацию метода планирую в следующей статье.

Перспективы безытеративного обучения нейронных сетей очень велики, это, потенциально, самый быстрый способ обучения НС. Начать цикл работ по безытеративному обучению я хочу с самого простого случая(где упрощать уже некуда). А именно, с однослойной сети прямого распространения с линейной активационной функцией, взвешенного сумматора.
Читать дальше →
Всего голосов 15: ↑11 и ↓4+7
Комментарии38

Tcl/Tk. Разработка графического пользовательского интерфейса для утилит командной строки

Время на прочтение4 мин
Количество просмотров27K
Тестируя облачный токен на различных платформах, меня не покидала мысль о некой несправедливости: почему утилиты конфигурирования токенов PKCS#11 на платформе MS Windows имеют графический интерфейс, а для других платформ его нет. И в первую очередь это касается базовой утилиты p11conf, которая доступна для свободного использования и является утилитой командной строки, взаимодействие с которой осуществляется через стандартный ввод/вывод.
Читать дальше →
Всего голосов 21: ↑19 и ↓2+17
Комментарии32

Красный, белый, голубой: восемь правил подбора цветовой палитры, которые должны знать все

Время на прочтение10 мин
Количество просмотров80K
Взаимодействие человека с компьютером во многом опирается на графические элементы интерфейса, и цвет играет в этом процессе не последнюю роль. Как однажды сказал Pierre Bonnard: «Цвет не просто делает дизайн приятным для глаз, но и подкрепляет его».

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


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

Как создаются изометрические миры

Время на прочтение25 мин
Количество просмотров59K
image

Все мы играли в потрясающие изометрические игры, будь то первые Diablo, Age of Empires или Commandos. При первой встрече с изометрической игрой можно задаться вопросом: двухмерная она, трёхмерная или нечто совершенно другое. Сам мир изометрических игр обладает волшебной притягательностью для разработчиков. Давайте попробуем раскрыть тайну изометрической проекции и создадим простой изометрический уровень.

Для этого я решил использовать Phaser с кодом на JS. В результате у нас получится интерактивное приложение HTML5.

Учтите, что это не туториал по разработке на Phaser, мы просто используем его для удобного ознакомления с базовыми концепциями создания изометрической сцены. Кроме того, в Phaser есть простые способы создания изометрического контента, например, Phaser Isometric Plugin.

Для упрощения при создании сцены мы будем использовать тайлы.
Всего голосов 49: ↑49 и ↓0+49
Комментарии7

Рекомендации по безопасности при работе с Docker

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

Docker ускоряет разработку и циклы развертывания и тем самым позволяет выдавать готовый код в невероятно короткие сроки. Но у этой медали есть и обратная сторона — безопасность. Стоит знать о ряде вещей, на безопасность которых влияет Docker, и именно о них пойдет речь в этой статье. Мы рассмотрим 5 типовых ситуаций, в которых образы, развернутые на Docker, становятся источником новых проблем с безопасностью, которые вы могли и не учитывать. Также мы рассмотрим крутые инструменты для решения этих проблем и дадим совет, которым вы можете воспользоваться, чтобы удостовериться, что все люки задраены при деплое.


1. Достоверность образа


Начнем с проблемы, которая является, пожалуй, неотъемлемой частью самой природы Docker — достоверность образа.


Если вы хоть когда-нибудь пользовались Docker, то вам должно быть известно, что с его помощью вы можете разместить контейнеры практически на любом образе — как на образе из официального списка поддерживаемых репозиториев, таких как NGINX, Redis, Ubuntu, или Alpine Linux, так и на любом другом.


В результате у нас есть огромный выбор.

Читать дальше →
Всего голосов 22: ↑21 и ↓1+20
Комментарии9

OpenGl vs DirectX episode II

Время на прочтение2 мин
Количество просмотров15K
А что за четыре прошедшие дня никто не написал про развитие темы habrahabr.ru/blogs/development/80236? =)

Ребятки из Wolfire за это время написали реакцию на негативные отзывы (почитать оригинал можно по ссылке blog.wolfire.com/2010/01/DirectX-vs-OpenGL-revisited)

Основные идеи такие:

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

Знакомимся с OpenGL

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

OpenGL


Знакомство с OpenGL нужно начать с того, что OpenGL — это спецификация. Т.е. OpenGL лишь определяет набор обязательных возможностей. Реализация же зависит от конкретной платформы.
OpenGL является кроссплатформенным, независимым от языка программирования API для работы с графикой. OpenGL — низкоуровневый API, поэтому для работы с ним неплохо иметь некоторое представление о графике в целом и знать основы линейной алгебры.
Читать дальше →
Всего голосов 96: ↑81 и ↓15+66
Комментарии47

История противостояния OpenGL и Direct3D

Время на прочтение11 мин
Количество просмотров26K
Перед тем как мы начнём, скажу: я знаю об OpenGL гораздо больше чем о Direct3D. Я в жизни не написал ни одной строки кода для D3D, и я писал руководства по OpenGL. Так что то что я тут расскажу, не вопрос предвзятости. Теперь это просто история.

Зарождение конфликта
Всего голосов 213: ↑204 и ↓9+195
Комментарии132

NetBeans в Java Real-Time

Время на прочтение2 мин
Количество просмотров5.1K
nb
NetBeans — очень удобная для разработчика среда, обычно отпугивающая своей тормознутостью, т.к. громоздка и написана на Яве. Что ж, будем надеятся, что однажды все наладится, а пока посмотрим, как эту ситуацию может исправить Real-Time Java.

Запуск NetBeans в JavaRTS
Всего голосов 21: ↑16 и ↓5+11
Комментарии42

Сетевое программирование для разработчиков игр. Часть 1: UDP vs. TCP

Время на прочтение9 мин
Количество просмотров171K
От переводчика: Это перевод первой статьи из цикла «Networking for game programmers». Мне очень нравится весь цикл статей, плюс всегда хотелось попробовать себя в качестве переводчика. Возможно, опытным разработчикам статья покажется слишком очевидной, но, как мне кажется, польза от нее в любом случае будет.


Привет, меня зовут Гленн Фидлер и я приветствую вас в первой статье из моей онлайн-книги “Сетевое программирование для разрабочиков игр”.

image

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

Вы, скорее всего, уже что-нибудь слышали о сокетах, и, возможно, знаете, что они делятся на два основных типа — TCP и UDP. Первое, что нужно решить при разработке многопользовательской игры — это какой тип сокетов использовать — TCP, UDP, или оба?
Читать дальше →
Всего голосов 86: ↑75 и ↓11+64
Комментарии53

Ссылочная TCP/IP стеганография

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

TCP-стеганография не является чем-то принципиально новым, например Джон Торакис в 2016 году реализовывал на Питоне довольно интересные вещи, жаль не все они есть в открытом доступе. Не была она принципиально новой и на момент написания статей Торакисом. Вот пост на Хабре 2009 года, описывающий идею и, например, программа Covert_TCP далекого (а может и не очень) 1996 года, написанная на чистом Си и реализующая довольно тонкие настройки.


Если Covert TCP предлагает передавать по одному байту полезной нагрузки в TCP пакете, Торакис использовал от 2 до 6 байт на пакет и предложил идею создания протокола в протоколе. Но даже таким образом затруднительно передать большие массивы данных.


Тут на помощь может прийти система одноразовых сообщений. Действительно, почему бы не объединить 2 подхода, раз они изобретены до нас?


picture

Посмотреть, что из этого получилось
Всего голосов 19: ↑19 и ↓0+19
Комментарии8

Введение в процедурную анимацию: инверсная кинематика

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

Часть 4. Введение в градиентный спуск


Эта часть представляет собой теоретическое введение в инверсную кинематику и содержит программное решение, основанное на градиентном спуске (gradient descent). Эта статья не будет всеобъемлющим руководством по этой теме, это всего лишь общее введение. В следующей части мы покажем настоящую реализацию этого алгоритма на C# в Unity.

Серия состоит из следующих частей (части 1-3 представлены в предыдущем посте):

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

Программирование и боевое искусство: что общего?

Время на прочтение4 мин
Количество просмотров9.8K
Написание кода — ремесло, которое требует постоянного развития — считают участники инициативы Coding Dojo в EPAM. Лидер движения Александр Баглай из Киева рассказал, как «додзё»-практики повышают настроение у инженеров и почему игра помогает преуспеть в работе.

image
Читать дальше →
Всего голосов 11: ↑9 и ↓2+7
Комментарии4

Информация

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