Доброго времени суток, Хабр! Совсем недавно появилась цель создать аналог игры Agar.io. Чтобы не терять время и не усложнять себе жизнь было решено, что проще и быстрее будет делать игру используя готовый движок для разработки игр.
Мой выбор пал на phaser.js, так как, мне показалось, по нему больше всего есть обучающего материала и он достаточно быстрый так как построен на библиотеке Pixi.js.
В этой части я расскажу как реализовать управление мышью. В конечном итоге мы получим вот такой результат: Читать дальше →
Доброго времени суток, Хабр! Совсем недавно появилась цель создать аналог игры Agar.io. Чтобы не терять время и не усложнять себе жизнь было решено, что проще и быстрее будет делать игру используя готовый движок для разработки игр.
Мой выбор пал на phaser.js, так как, мне показалось, по нему больше всего есть обучающего материала и он достаточно быстрый так как построен на библиотеке Pixi.js.
В этой части я расскажу как реализовать управление мышью. В конечном итоге мы получим вот такой результат: Читать дальше →
Вам когда-нибудь приходилось писать на хорошо знакомом языке под никогда ранее невиданную платформу? Странное ощущение.
Кодабра делится опытом, как максимально быстро разобраться с незнакомым окружением и начать жить.
В статье рассматривается реализация двухфакторной аутентификации с помощью ключа Yubikey 4 для монтирования зашифрованного раздела LUKS.
Процесс реализации двухфакторной аутентификации с помощью ключа Yubikey 4 для монтирования зашифрованного раздела LUKS можно разбить на три части:
1. Подготовка LUKS раздела.
2. Подготовка к использованию ключа Yubikey 4 в операционной системе.
3. Непосредственно использование ключа Yubikey 4 для двухфакторной аутентификации.
С утра вы приходите на работу, выпиваете чашечку кофе, закусывая печенькой, и в полной боевой готовности идете на свое рабочее место. Заходите в Jira (любой другой трекер), выбираете наиболее приоритетную задачу из текущего спринта и переводите ее в статус “In Progress”. Спустя некоторое время увлеченной работы задача отправляется на код-ревью, а вы позволяете себе отлучиться еще за одной чашкой кофе.
Вы довольны собой – к решению задачи вы подошли ответственно и копнули вглубь, проработав все возможные сценарии развития событий и написав красивый и лаконичный код. Вы возвращаетесь с кухни спустя несколько (десятков) минут, отвечаете на пару сообщений в одном из чатов и замечаете, что ваш почтовый ящик не пуст. Это пришла нотификация с гитхаба – ваш ревьюер оставил около 10 комментариев и сделал change request.
Коллеги, хочу поделиться опытом установки IBM Cognos Analytics Software на Power платформу. До сегодняшнего момента это решение функционировало у нас на основе Intel x86 платформы. По ряду причин было принято решение протестировать работоспособность данного программного обеспечения на Power платформе: встроенная аппаратная виртуализация, энергоэффективность, простота обслуживания, возможность снижения ТСО (The total cost of ownership). О преимуществах (или недостатках) Power можно говорить бесконечно долго, но это не является темой данной статьи. Техническое задание состояло в установке всех существующих компонент IBM Cognos Software на Power для получения выгоды от всех преимуществ этой платформы, и как следствие продвижения Power внутри нашей компании.
Давно про Qt не писали, потому сделаем что-то простое но мощное. Фреймворк был создан уже более десяти лет тому (скоро и 20), но всё ещё продолжает нас радовать и удивлять благодаря усилиям Qt сообщества.
Я хочу показать пример разработки приложения с затратой небольших усилий на стыке технологий создания десктопных приложений и веб-программирования.
Несколько недель тому я искал способ конвертации специфических PDF документов в изображения с учетом возможности автоматизации и скриптования в будущем. Конечно есть старожил — пакет ImageMagic с утилитой convert, но к сожалению я столкнулся с тем что этот инструмент не так хорош как я ожидал именно на этих файлах — не рендерит корректно многие файлы и что совсем не радовало — многие иллюстрации были испорчены.
Я стал искать другие инструменты и хотя всевозможных утилит очень много но у каждой есть свои особенности так что я так и не выбрал какую использовать.
Вместо этого у меня появилась идея, может ли Qt как довольно зрелая технология помочь мне? В Qt очень просто создать PDF документ с помощью QPrinter, но как насчет обратной функциональности - сделать изображение из PDF страницы? А ведь есть ещё одна хорошо проработаная технология — PDF.js.
Можно ли совместить эти две технологии? Конечно! Qt имеет компонент QWebEngineView. Продемонстрируем в коде:
В новом дайджесте история автомобильного аукциона, много про Kotlin и продолжение про прошедшую I/O, мобильные миллионеры и зарплаты в мобайле, безвременные цифровые продукты и их дизайн.
В новом дайджесте история автомобильного аукциона, много про Kotlin и продолжение про прошедшую I/O, мобильные миллионеры и зарплаты в мобайле, безвременные цифровые продукты и их дизайн.
Молодые (притом не только в значении времени нахождения на рынке) студии и агентства порой напоминают маленькие лодочки, выкинутые в огромный digital-океан. И даже если у руля (пардон, у штурвала) стоят выходцы из крупных ТОП’овых компаний, им все равно сложно: новые задачи, новые обстоятельства. Выполнять свои узконаправленные функции в большой организации с отлаженной структурой — это одна история. А оказаться в центре команды из 5 человек, где каждый выполняет роль «оркестра» — совсем другое дело.
Поэтому в рамках данной статьи ответим на самые распространенные вопросы (хотя некоторые из них являются неправильно сформулированными). Я не знаю, какую нишу вы заняли/стремитесь занять, какие услуги оказываете, сколько вас, как дорого продаете. Но постараюсь унифицировать рекомендации.
Привет, я одесситка и 2 года назад переехала в небольшой промышленный город Ижевск в Предуралье. Обычно на Хабре пишут статьи о том, как уехать из России в Европы, но я решила поделиться опытом переезда в Россию. Расскажу вам, как это было, чего ждать при переезде в Россию, и к чему готовиться. Расскажу, как чуть не стала техническим писателем, но все-таки устроилась на работу программистом.
Я переехала в Ижевск исключительно по личным причинам, с политической ситуацией в стране это никак не связано. Сюда переезжает довольно много украинцев (только среди коллег в компании можно насчитать четверых). Большинство сначала находит работу в каком-нибудь городе, а потом уже переселяется в этот город. Кто-то сначала выбирает город, например, по климату, уровню зарплат, количеству населения и т. д. Но это все не про меня. Я не выбирала город и работу искала уже окончательно переехав сюда. Расскажу по порядку. Читать дальше →
Сегодня хочу рассказать об одной валюте, которая довольно известна в определенных кругах. Меня удивило, как в свое время она прошла и мимо меня.
Для начала, почему эта криптовалюта стоит внимания?
1) Она стабильна. Да-да, на фоне дампа всех криптовалют только она стабильно растет. Почти как золото.
2) И самое интересное — ее предназначение. Как Ethereum начал использовать Смарт-контракты, чтобы на базе blockchain избавиться от посредников, так и Bitmark решил использовать blockchain в качестве… гаранта авторства. Нет, это не из области роскомнадзора и прочей нечисти. Это из области цифровых подписей. Именно так можно описать функционал Bitmark. Вся информация доступна на официальном сайте, а мы же поговорим с одним из разработчиков. Читать дальше →
Не просто найти ресурсы, которые дают возможность познакомиться с возможностями IOT платформ в «живом» демо доступе. Большинство компаний предоставляют этот сервис по специальным запросами или дают возможность познакомиться с системами в демо роликах. В этом посте приводятся ссылки на сайты компаний, которые дают эту возможность. Кроме возможности посмотреть работу платформ, они обладают особенностями, которые выделяют их в большом потоке рождающихся IOT сервисов. Читать дальше →
Решалась задача анализа текущих предложений на минском рынке недвижимости с целью поиска недооцененных квартир. В качестве источника информации был выбран сайт риэлтерского агентства "Твоя столица".
Решалась задача анализа текущих предложений на минском рынке недвижимости с целью поиска недооцененных квартир. В качестве источника информации был выбран сайт риэлтерского агентства "Твоя столица".
На этой неделе произошли два замечательных события – мы выпустили 3CX V15.5 RC и долгожданную среду разработки сложных голосовых приложений Voice Application Designer, которая теперь называется Call Flow Designer. Но обо всем по порядку!
3CX V15.5 Release Candidate
После тестирования бета-версии 15.5 тысячами пользователей и партнеров, представляем сборку Release Candidate. Основной упор тут сделан на совершенствовании нового веб-клиента 3CX, который был отлично принят сообществом.
В веб-клиенте добавилась возможность подключать и отключать операторов колл-центра в Очередях вызовов. Также добавлен Отчет об активности пользователей, включающий вызовы в Очереди. Мы улучшили работу корпоративного чата и дали возможность пользователям с соответствующими правами редактировать записи в Корпоративной адресной книге 3CX.
В результате предыдущих статей у нас получилось приложение на Go, которое может обслуживать небольшой кусочек HTML. Эта статья расскажет о клиентской части, которая, увы, состоит в основном, из JavaScript, а не Go.
Среди методов решения задачи коммивояжёра метод ближайшего соседа привлекает простотой алгоритма. Метод ближайшего соседа в исходной формулировке заключается в нахождении замкнутой кривой минимальной длины, соединяющей заданный набор точек на плоскости [1]. Моё внимание привлекла наиболее распространённая реализация данного алгоритма в пакете Mathcad, размещённая в сети на ресурсе [2]. Сама реализация не совсем удобна, например, нельзя вывести матрицу расстояний между пунктами или проанализировать альтернативные маршруты.
На ресурсе [2] приведена следующая вполне справедливая критика данного метода. «Маршрут не оптимальный (не самый короткий) и сильно зависит от выбора первого города. Фактически не решена задача коммивояжера, а найдена одна гамильтонова цепь графа». Там же предложен путь некоторого усовершенствования метода ближайшего соседа. «Следующий возможный шаг оптимизации — «развязывание петель» (ликвидация перекрестий). Другое решение — перебор всех городов (вершин графа) в качестве начала маршрута и выбор наикратчайшего из всех маршрутов». Однако реализация последнего предложения не приведена. Учитывая все перечисленные обстоятельства, я решил реализовать приведенный алгоритм на Python и при этом предусмотреть возможность выбора начального пункта по критерию минимальной длины марщрута. Читать дальше →