Социальные сети Рунета
Среда, 24 апреля 2024

[Из песочницы] Как создать 2D игру с Python и аркадной библиотекой Привет, Хабр! представляю вашему вниманию перевод статьи How to create a 2D game with Python and the Arcade library автора Paul Vincent Craven Как создать 2D игру с Python и аркадной библиотекой Узнайте, как начать работу с Arcade, простой в использовании библиотеки Python д...

Ускоряем PHP-коннекторы для Tarantool с помощью Async, Swoole и Parallel В экосистеме PHP на данный момент существует два коннектора для работы с сервером Tarantool ― это официальное расширение PECL tarantool/tarantool-php, написанное на С, и tarantool-php/client, написанный на PHP. Я являюсь автором последнего. В этой статье я хотел бы подели...

[Перевод] Объясняем код с помощью ASCII-арта Примечание от переводчика: типично пятничная статья во вторник утром… почему бы и нет? Большинство людей — визуалы. Они используют изображения, чтобы вникнуть в суть проблемы. А вот мэйнстримные языки программирования, напротив, основаны на текстовом представлении. Возник...

[Перевод] Создание игры «Крестики-нолики» при помощи TypeScript, React и Mocha Представляем вам перевод статьи Josh Kuttler, опубликованной на blog.bitsrc.io. Узнайте, как создать приложение «Крестики-нолики», используя React и TypeScript. Простая игра в крестики-нолики создана по модульному принципу и загружена на сайт Bit. Вы можете изменять компо...

Искусственный интеллект на примере простой игры. Часть 2 В этот раз выбрана игра «Змейка». Создана библиотека для нейросети на языке Go. Найден принцип обучения, зависимый от «глубины» памяти. Написан сервер для игры между разработчиками. Читать дальше →

[Перевод] Создание пиксельной туманности при помощи шума и Median Cut Я хотел, чтобы в моей игре The Last Boundary была туманность. Они потрясающе выглядят и космос без них не космос, а просто разбросанные по фону белые пиксели. Но так как игру я делаю в стиле «пиксель-арт», то мне нужно было как-то заставить мою библиотеку шума генерировать п...

[Перевод] Как встроить С-библиотеку в Swift-фреймворк В 2014 году был представлен Swift, новый язык для разработки приложений экосистемы Apple. Новинка принесла не только новые возможности и функции, но и проблемы — тем, кто хотел пользоваться старыми добрыми C-библиотеками. В этой статье я рассмотрю одну из них — бандлинг C-...

Физические безумства Добрый день, уважаемый читатель! Я, начинающий Java-программист, долгое время не мог освоиться с библиотекой Box2D. Во-первых, из-за того, что она написана для C++, и по ней нет документации, а синтаксис Си я не знаю. Во-вторых, из-за того, что подробные уроки по этой библио...

[Перевод] Игра на Rust за 24 часа: личный опыт разработки В этой статье я расскажу о личном опыте разработки небольшой игры на Rust. На создание рабочей версии ушло около 24 часов (преимущественно я работала по вечерам или на выходных). Игра еще далека от завершения, но я думаю, что опыт будет полезным. Я расскажу, чему научилась...

[Перевод] Современная игра для NES, написанная на Lisp-подобном языке What Remains — это повествовательная игра-адвенчура для 8-битной видеоигровой консоли NES, выпущенная в марте 2019 года как бесплатный ROM, запускаемый в эмуляторе. Она создавалась небольшой командой Iodine Dynamics на протяжении двух лет с перерывами. В настоящий момент игр...

[Перевод] Глубокое обучение с подкреплением: пинг-понг по сырым пикселям Это давно назревшая статья об обучении с подкреплением Reinforcement Learning (RL). RL – крутая тема! Вы, возможно, знаете, что компьютеры теперь могут автоматически учиться играть в игры ATARI (получая на вход сырые игровые пиксели!). Они бьют чемпионов мира в игру Го, ви...

Angulareact У меня есть проблема. Приложение написано на Angular, а библиотека компонентов на React. Делать клон библиотеки слишком дорого. Значит, нужно использовать React-компоненты в Angular-приложении с минимальными затратами. Разбираемся как это делать. Читать дальше →

[Из песочницы] ClusterJ — работаем с MySQL NDB Cluster из Java Привет, Хабр! В этой статье я хочу рассмотреть такую библиотеку для Java, как ClusterJ, которая позволяет очень просто работать с движком MySQL NDBCLUSTER из Java кода, которая представляет собой высокоуровневое API, схожее по концепции с JPA и Hibernate. В рамках статьи со...

OS1: примитивное ядро на Rust для x86. Часть 2. VGA, GDT, IDT Первая часть Первая статья еще не успела остыть, а я решил не держать вас в интриге и написать продолжение. Итак, в предыдущей статье мы поговорили о линковке, загрузке файла ядра и первичной инициализации. Я дал несколько полезных ссылок, рассказал, как размещается загружен...

Адаптация программ для ZX Spectrum к TR-DOS современными средствами. Часть 1 В отличие от современных компьютеров, на спектрумах понятия файловой системы не было как такового. Это значит, что загрузка с каждого типа носителя требовала отдельной реализации и в большинстве случаев программу нельзя было просто так скопировать с кассеты на дискету. В слу...

Модификация к игре на основе dll-wrapper'a Имеется игра In Verbis Virtus с необычной механикой — творить заклинания с помощью микрофона. Это не симулятор Амаяка Акопяна, это головоломка от первого лица с нетипичным управлением. Для этого в игре используется библиотека распознавания речи Sphinx. Задумка выглядит инт...

Разработка монолитной Unix подобной OS — Библиотека С В предыдущей статье мы научились запускать Hello World ядро и написали пару функций для работы со строками. Теперь пришло время расширить библиотеку С чтобы можно было реализовать kprintf и другие необходимые функции. Поехали! Читать дальше →

3D игра на three.js, nw.js Я решил выпустить новую версию своей старой браузерной игры, которая на протяжении пары лет пользовалась успехом в качестве приложения в социальных сетях. На этот раз я задался целью оформить ее также и в виде приложения под Windows (7-8-10) и разместить в различных магазина...

[Из песочницы] MicroPyServer простой HTTP сервер для ESP8266 и ESP32 Всем привет! Хочу рассказать о библиотеке MicroPyServer написанной на Python, которая позволяет взаимодействовать с устройствами ESP8266 и ESP32 посредством простого HTTP сервера. Что такое MicroPyServer? MicroPyServer это простой HTTP сервер предназначенный для проектов на...

[Из песочницы] Пишем telegram бота на python с помощью библиотеки telebot Лирическое отступление Боты сегодня — это многофункциональный инструмент, как для бизнеса, так и для развлечений. Лично я считаю, что за ними будущее. Конечно, прочитав эту статью, вы не сможете создавать большие проекты, но заинтересоваться и начать — вполне. Установка и н...

[Из песочницы] Тестирование API с использованием Postman и Excel Всем привет, я руководитель отдела тестирования, и недавно по работе появилась задача на тестирование API. Для ее решения освоил новый для меня инструмент Postman и JavaScript. Первоначально на каждый API я писал свои коллекции и готовил тестовые данные в JSON формате. Это ...

Автоматизация ответов на часто задаваемые вопросы в навыке для «Алисы» с помощью библиотеки DeepPavlov Лаборатория нейронных систем и глубокого обучения МФТИ вот уже больше года делает DeepPavlov — открытую библиотеку для создания диалоговых систем. Она содержит набор претренированных компонент для анализа языка, с помощью которых можно эффективно решать задачи бизнеса. Напр...

[Из песочницы] Рендеринг 3D графики с помощью OpenGL Введение Рендеринг 3D графики — непростое занятие, но крайне интересное и захватывающее. Эта статья для тех, кто только начинает знакомство с OpenGL или для тех кому интересно, как работают графические конвейеры, и что они из себя представляют. В этой статье не будет точных ...

[Перевод] Управление стейтом с помощью React Hooks – без Redux и Context API Всем привет! Меня зовут Артур, я работаю ВКонтакте в команде мобильного веба, занимаюсь проектом VKUI — библиотекой React-компонентов, с помощью которой написаны некоторые наши интерфейсы в мобильных приложениях. Вопрос работы с глобальным стейтом у нас пока открыт. Существу...

[Из песочницы] Структуры данных в Java. Полезные методы вспомогательных классов Привет, habr! Я Software Engineer в EPAM. Более 8 лет я работаю с legacy-кодом, написанном на языке Java (предвосхищая комментарии, отмечу, что понимание и терпимость к legacy началась задолго до EPAM, в заключении вы найдёте ответ, почему). Часто в работе я сталкивался с ...

Пишем свой язык программирования, часть 3: Архитектура транслятора. Разбор языковых структур и математических выражений Введение Приветствую вас, заинтересованные читающие разработчики на не важно каких языках, на которых я ориентирую эти статьи и чьи поддержку и мнения я ценю. Для начала, по устоявшимся традициям, я приведу ссылки на предыдущие статьи: Часть 1: пишем языковую ВМ Часть 2:...

«Прикладной» ASCII-арт Привет, Хабр! Автор недавней статьи рассказал о разновидности ASCII-арта, которая вроде как и не совсем «арт», т.е., искусство. Ибо служит практическим целям: показать небольшой эскиз, график, электрическую или иную схему… Решил и я вспомнить на эту тему что-нибудь. WA1-o-o...

[Перевод] 56 проектов на Python с открытым исходным кодом 1. Flask Это микро-фреймворк, написанный на Python. Он не имеет валидаций для форм и уровня абстракции базы данных, но позволяет вам использовать сторонние библиотеки для общих функций. И именно поэтому это микро-фреймворк. Flask предназначен для простого и быстрого создан...

[Из песочницы] Создаем свой компонент с микро-шаблонами Всем привет. Все кто так или иначе писал на фреймворке Angular сталкивался или работал с библиотекой Angular Material. Это очень хорошо написанная библиотека компонентов способная к гибкой стилизации, которая реализована через возможность создания различных тем вашего прилож...

[Перевод] Создание ритм-игры в Unity Введение Итак, вы хотите или пытались создать ритм-игру, но игровые элементы и музыка быстро рассинхронизировались, и теперь вы не знаете, что делать. Эта статья вам в этом поможет. Я играл в ритм-игры со старшей школы и часто зависал на DDR в местном зале аркадных автомато...

[Перевод] 5 продвинутых техник тестирования на Go Всем салют! До старта курса «Разработчик Golang» остается меньше недели и мы продолжаем делиться полезным материалом по теме. Поехали! Go имеет хорошую и надежную встроенную библиотеку для тестирования. Если вы пишите на Go, то вы уже это знаете. В этой статье мы поговори...

Microsoft ML Spark: расширение Spark, делающее SparkML человечнее, и LightGBM как бонус Многие, кто работал с Spark ML, знают, что некоторые вещи там сделаны "не совсем удачно" или не сделаны вообще. Позиция разработчиков Spark в том, что SparkML — это базовая платформа, а все расширения должны быть отдельными пакетами. Но это не всегда удобно, ведь Data Scient...

Стохастический градиентный спуск(SGD) для логарифмической функции потерь(LogLoss) в задаче бинарной классификации Предыдущая часть (про линейную регрессию, градиентный спуск и про то, как оно всё работает) — habr.com/ru/post/471458 В этой статье я покажу решение задачи классификации сначала, что называется, «ручками», без сторонних библиотек для SGD, LogLoss'а и вычисления градиентов, ...

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

ML на Scala с улыбкой, для тех, кто не боится экспериментов Всем привет! Сегодня будем говорить о реализации машинного обучения на Scala. Начну с объяснения, как мы докатились до такой жизни. Итак, наша команда долгое время использовала все возможности машинного обучения на Python. Это удобно, есть много полезных библиотек для подг...

[Из песочницы] Пишем бот для рыбалки в игре Albion Online на языке Python Всем привет, я являюсь счастливым пользователем операционной системы GNU/Linux.И как многим известно, игрушек идущих на линукс без дополнительных танцев с бубном намного меньше чем в «Винде». И еще меньше игр в жанре MMORPG. Однако, где-то пол года или год назад я узнал ...

[Из песочницы] Быстрая интеграция с 1С: Предприятие В данной статье я расскажу о наиболее простом, на мой взгляд, способе интеграции сторонних приложений с конфигурациями 1С. Статья будет интересна в первую очередь разработчикам, пишущим на .Net Core, PHP и Python. Способов интеграции с 1С известно много, этому даже посвящен...

Дизайн игровых интерфейсов. Брент Фокс. О чём книга? Данная статья — это краткий обзор книги Game interface design от автора Брента Фокса. Для меня эта книга была интересна с точки зрения программиста, занимающегося разработкой игр в качестве хобби в одиночку. Здесь я опишу, насколько полезной она оказалась для меня и моего хо...

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

[Из песочницы] Ещё одна библиотека для создания mock'ов Добрый день. Я занимаюсь автоматизацией тестирования. Как и у всех автоматизаторов, у меня есть набор библиотек и инструментов, которые я обычно выбираю для написания тестов. Но периодически возникают ситуации, когда ни одна из знакомых библиотек может решить задачу с риском...

Оптимальная линейная фильтрация: от метода градиентного спуска до адаптивных фильтров Развивая тему конспектов по магистерской специальности "Communication and Signal Processing" (TU Ilmenau), продолжить хотелось бы одной из основных тем курса "Adaptive and Array Signal Processing". А именно основами адаптивной фильтрации. Для кого в первую очередь была напис...

Простая игра на SFML Будем делать игру «пятнашки» на языке C++ с использованием библиотеки SFML. Пятнашки — это широко известная головоломка, которая выглядит следующим образом: На игровом поле размером 4х4 случайным образом расположены 15 плашек с номерами от 1 до 15 и одно свободное место. П...

[Из песочницы] Интервалы: грядущая эволюция C++ Уже скоро появится стандарт C++20, в который, скорее всего, добавят концепцию интервалов (ranges), однако мало кто знает, что они из себя представляют и с чем их едят. Доступных широкой аудитории русскоязычных источников про этого зверя мне найти не удалось, вследствие чего ...

Как нужно и не нужно писать чат ботов на примере моего бота для игры в «Тайный Санта» Предыстория Год назад решил я создать телеграм бот для того, чтобы поиграть в достаточно популярную новогоднюю игру «Тайный Санта». Вдохновился я тем, что пару лет назад мы на работе компанией решили сыграть в эту игру (это показалось очень круто), и плюс я давно следил за...

[Перевод] LLVM IR и Go В этой статье мы рассмотрим, как построить программу на Go, такую, как компилятор или статический анализатор, которая взаимодействует с фреймворком компиляции LLVM, используя язык ассемблера LLVM IR. TL;DR мы написали библиотеку для взаимодействия с LLVM IR на чистом Go, см...

Создаём библиотеку по последнему слову техники Привет, Хабр. Это статья о том как написать Hello world по последнему слову техники. В конце мы получим hello world библиотеку которая: Использует typescript Заботится о codestyle Генерирует доку Проводит тесты Читать дальше →

[Перевод] Машинное обучение агентов в Unity Эта статья об агентах машинного обучения в Unity написана Майклом Лэнхемом — техническим новатором, активным разработчиком под Unity, консультантом, менеджером и автором многих игр на движке Unity, графических проектов и книг. Разработчики Unity внедрили поддержку машинног...

Разработка ТамТам-бота на Python Привет, Хабр! Позвольте представиться: меня зовут Сергей Агальцов, и я "программист по жизни". Это значит, что я давно уже IT-менеджер, а вовсе не программист по профессии, но программирование использую постоянно, как в своей основной деятельности, так и как хобби. Как част...

Умный сервис кэша на базе ZeroMQ и Tarantool Руслан Ароматов, главный разработчик, МКБ Привет, Хабр! Я работаю бэкенд-разработчиком в Московском кредитном банке, и за время работы у меня накопился некоторый опыт, которым я хотел бы поделиться с сообществом. Сегодня я расскажу, как мы писали свой собственный сервис к...

[Из песочницы] Эффективное создание компонентов с помощью styled system Для стилизации react компонентов наша команда использует styled-components. О styled-components уже есть статьи на Хабре, поэтому подробно останавливаться на этом не будем. Знакомство с Styled components Лучше, быстрее, мощнее: styled-components v4 Написав много компоне...

[Перевод] Чтобы вести разработку быстрее, необходимо замедлиться Примечание переводчика: Начало года — отличное время, чтобы вдумчиво оценить прошедший год. Окинуть широким взглядом происходящее и понять, как сделать 2019 год лучше, спокойнее и продуктивнее. В этом деле нам показалась полезной статья How To Slow Down to Go Faster Than E...

PyDERASN: как я написал ASN.1 библиотеку с slots and blobs ASN.1 это стандарт (ISO, ITU-T, ГОСТ) языка описывающего структурированную информацию, а также правил кодирования этой информации. Для меня как программиста это просто ещё один формат сериализации и представления данных, наравне с JSON, XML, XDR и другими. Он крайне распрост...

«Игры на деньги вне блокчейна должны умереть» Дмитрий Пичулин, известный под ником «deemru», стал победителем игры Fhloston Paradise, разработанной Tradisys на блокчейне Waves. Победу Дмитрию принес созданный им бот Patrollo. Дмитрий сделал всего восемь ставок по одному WAVES и в итоге выиграл 4700 WAVES (836300 руб.)...

[Перевод] Десять заповедей React компонентов Написано Kristofer Selbekk, в сотрудничестве с Caroline Odden. Основано на лекции с таким же названием и с теми же людьми, состоявшейся на встрече ReactJS в Осло в июне 2019 года.От переводчика — оригинальное название The 10 Component Commandments не упоминает React, но бол...

[Из песочницы] Make it True — Разработка логической игры на Unity Хочу поделиться процессом разработки простой мобильной игры силами двух разработчиков и художника. Данная статья в большей мере состоит описания технической реализации. Осторожно, много текста! Статья не являются руководством или уроком, хотя надеюсь что читатели смогут в...

DirectX 12 – добавлена поддержка Windows 7 Microsoft постоянно обновляет API DirectX 12, который включает все новые и новые возможности. Неожиданно для всех Microsoft официально заявила, что отныне DirectX 12 поддерживается и операционной системой Windows 7. Естественно, не все библиотеки нового API поддерживаются, н...

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

[Перевод] Делаем приложение доступным, используя библиотеку тестирования доступности aXe Представляем вам перевод статьи Indrek Lasn, опубликованной на Medium.com. Под катом вы узнаете, как сделать приложение или сайт более доступными при помощи aXe — средства тестирования доступности веб-сайтов и других пользовательских интерфейсов. react-axe показывает резул...

Fancade — приложение для создания собственных миниатюрных игр на мобильных Martin Magni – автор популярной головоломки Mekorama – выпустил свой новый проект Fancade. Пока что он доступен только в Google Play в режиме пробного запуска. Если вы хотите получить доступ и на iOS, напишите автору в Discord – ссылку него и другие полезные материалы можно ...

Разработчики теперь могут использовать сетевое API Valve для своих игр в Steam Последние несколько лет Valve работали над улучшением качества мультиплеера в Dota 2 и CS:GO при помощи ретрансляции трафика и его переноса на свою сетевую магистраль. Это позволяет защищать игры от DoS-атак, понижает пинг и повышает качество соединения. В SDK Steamworks вер...

В Steam появятся мобильные игры BlueStacks анонсировала набор инструментов для разработчиков, которые упростят портирование мобильных игр на PC. Благодаря BlueStacks Inside, издателям и создателям игры для Android и iOS не придется формировать отдельную команду для переноса игры на большие платформы. От р...

Tic Tac Toe, часть 2 Продолжение статьи Tic Tac Toe, часть 1, в которой мы начали разработку этой игры на Svelte. В этой части мы доделаем игру до конца. Добавим команды Undo/Redo, произвольный доступ к любому шагу игры, попеременные ходы с противником, вывод статуса игры, определение победителя...

В России начал работать стриминговый сервис GeForce NOW: 999 рублей в месяц за игровой ПК в облаке Пока Google и Microsoft только тестируют собственные стриминговые сервисы, Nvidia не без помощи партнеров официально запускается в России. GeForce Now — это сервис, который позволяет играть в большинство современных игр даже на слабых компьютерах. Да, пока речь идет только ...

E-Dobavki — веб-сервис поиска пищевых добавок на Java и Spring Boot, написанный моими студентами Введение Так получилось, что последние почти два года я преподаю программирование в одной из IT школ Киева. Занялся я этим Just For Fun. Когда-то я вел блог по программированию, потом забросил. Но желание рассказывать полезные вещи заинтересованным людям никуда не делось. Мо...

[Из песочницы] Phoenix LiveView: когда вам больше не нужен JavaScript* * для создания динамической страницы Не так давно 12.12.2018 был анонсирован выход новой библиотеки для фанатов phoenix framework под названием Phoenix LiveView. Я бы хотел поделиться с вами впечатлениями от ее использования и phoenix в целом, а в следующей статье попробова...

GOG представил клиент GOG GALAXY 2.0, который позволит собирать игры с различных платформ в одну универсальную библиотеку Сервис цифровой дистрибуции GOG.com объявил о начале бета-тестирования новой версии клиента GOG GALAXY 2.0, с помощью которой можно будет объединить различные игровые библиотеки в одну и общаться с друзьями независимо от платформы. Клиент GOG GALAXY 2.0 будет доступен беспла...

Отправка статистики из DataFrame в BigQuery на примере статистики Яндекс Директ В этой статье расскажу о том, как я свел статистику по всему контексту в одном месте с помощью BigQuery и Data Studio У меня появилась необходимость визуализировать данные по всем источникам трафика. Для данной задачи я использую Data Studio. Google Ads туда подтягивается ...

Фотогалерея дня: Valve показала как будет выглядеть обновленный интерфейс Steam Во время мероприятия GDC 2019 компания Valve продемонстрировала, как будет выглядеть обновленный интерфейс библиотеки игр магазина Steam. Разработчики пообещали запустить бета-тестирование нового интерфейса уже летом. Библиотека игр будет выглядеть более свежо, пользователь ...

[Перевод] NLog: правила и фильтры NLog: правила и фильтры В Confirmit мы используем библиотеку NLog для логирования в наших .NET-приложениях. Хотя для этот библиотеки существует документация, для меня было сложно понять, как все это работает. В данной статье я попытаюсь объяснить, как правила и фильтры приме...

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

[Из песочницы] Преобразование черно-белых изображений в ASCII-графику при помощи неотрицательного матричного разложения В общем случае преобразование изображения в ASCII-графику представляет собой довольно трудоемкую задачу, однако существуют алгоритмы, позволяющие автоматизировать данный процесс. В данной статье рассматривается подход, предложенный исследователями Paul D. O’Grady и Scott T....

[Из песочницы] Инструмент для сравнения CSS фреймворков Привет, я Александр. Активно изучаю и занимаюсь веб разработкой уже около года. Все началось с удаления клиента любимой игры и поиска ментора. Совершенствуясь в веб-разработке создал проект CSS Comparator. Сама суть проекта заключается в сравнении CSS фреймворков по размерам...

Организуем ML-проект с помощью Ocean Вступление За годы разработки ML- и DL-проектов у нашей студии накопились и большая кодовая база, и много опыта, и интересные инсайты и выводы. При старте нового проекта эти полезные знания помогают увереннее начать исследование, переиспользовать полезные методы и получить ...

Сценарное и исследовательское тестирование мобильных игр На глобальном игровом рынке приложения для смартфонов и планшетов в 2018 году обеспечили 45% продаж, обогнав игры для консолей (32%) и ПК (23%). Рынок мобильных игр ежегодно растет как минимум на 10% – около 7 миллиардов долларов в денежном выражении – по данным Global Games...

Список игр Xbox Game Pass пополнила Life is Strange: Before the Storm В декабре библиотека сервиса Xbox Game Pass пополнилась двенадцатью играми разных жанров. На этом Microsoft решила не останавливаться и добавила в список ещё один проект. Им оказалось интерактивное приключение Life is Strange: Before the Storm. Игра является приквел...

Реализуем AutoMapper при помощи Roslyn и кодогенерации В прошлой статье я описал способ организации кодогенераци при помощи Roslyn. Тогдашней задачей было продемонстрировать общий подход. Сейчас я хочу реализовать то, что будет иметь реальное применение. И так, кому интересно посмотреть на то как можно сделать библиотеку на под...

Sony сделала бесплатными лучшие игры для PlayStation 4 С каждым днем коллекция игр для Sony PlayStation 4 пополняется, пускай действительно классные во всех отношениях видеоигры и выпускаются на рынок сравнительно редко. Сегодня, 8 мая 2019 года, стало известно о том, что уже вскоре Сообщение Sony сделала бесплатными лучшие игр...

[Из песочницы] Как работают веб-приложения Это статья для начинающих разработчиков и тех, кто хочет немного ориентироваться в терминах и технологиях современных веб-приложений. В статье написано о том, чем веб-приложения отличаются от сайтов, какие бывают веб-приложения, из чего они состоят и как работают. Читать да...

[Перевод] Создание игры для Game Boy, часть 2 Несколько недель назад я решила поработать над игрой для Game Boy, создание которой доставило мне большое удовольствие. Её рабочее название «Aqua and Ashes». Игра имеет открытые исходники и выложена на GitHub. Предыдущая часть статьи находится здесь. Фантастические спрайты...

Применение машинного обучения и Data Science в промышленности Хабр, привет. Написал пост, который идёт строго (!) в закладки и передаётся коллегам. Он со списком блокнотов и библиотек ML и Data Science для разных отраслей промышленности. Все коды на Python, и размещены на GitHub. Они будут полезны как для расширения кругозора, так и дл...

История взлома классической игры на Dendy или Contra со спрэдганом в начале Раз уж прошлая моя статья, к моему большому удивлению, вас заинтересовала. Я решил дополнить её результат, хакнутую версию игры "Contra (J) [T+Rus_Chronix]", небольшим функционалом, заодно показав "code injection" на NES. В этот раз я сделаю так, чтоб игроки начинали игру с ...

[Из песочницы] Создание своего jsfiddle, часть 1 Привет всем читателем habr. В данной статье мы напишем свой онлайн редактор кода. Зачем я писал свой онлайн редактор кода В один день мне стало интересно насколько сложно создать свой онлайн редактор по типу jsfiddle, из-за чего я решил написать свой редактор. Написание сво...

Google Tag Manager: неочевидные и полезные настройки триггеров Маркетолог в Otzyvmarketing Станислав Романов рассказал, как с помощью диспетчера тегов Google Tag Manager (GTM) настроить аналитику и отслеживать скачивание файлов с сайта. Статья для тех, кто знает основы языка JavaScript и уже работал с GTM.  Читать дальше →

The Division покинет Xbox Game Pass к концу месяца, а Ultimate Marvel VS. Capcom 3 прошла вне очереди Корпорация Microsoft рассказала о том, какие игры в этом месяце покинут библиотеку сервиса Xbox Game Pass. После объявленной недавно январской подборки сервис должны покинуть четыре игры, одна из которых крупная. В меню Xbox указано, что из библиотеки уйдут Tom Clan...

5 способов полезного использования Raspberry Pi Привет Хабр. Raspberry Pi наверное есть дома почти у каждого, и рискну предположить, что у многих она валяется без дела. А ведь Raspberry это не только ценный мех, но и вполне мощный fanless-компьютер с Linux. Сегодня мы рассмотрим полезные возможности Raspberry Pi, для исп...

[Перевод] Пишем игру «Карточки памяти» на Swift В этой статье описывается процесс создания простой игры для тренировки памяти, которая мне очень нравится. Кроме того, что она сама по себе хороша, во время работы вы немного больше узнаете о классах и протоколах Swift. Но прежде чем начать, давайте разберемся в самой игр...

[Перевод] Особенности рендеринга в игре Metro: Exodus c raytracing Предисловие После выхода последней игры из серии «Метро» я потратил несколько часов на изучение её внутренней работы и решил поделиться тем, что может показаться интересным с технологической точки зрения. Я не буду проводить подробный анализ или изучать дизассемблированный ...

[Перевод] Как Крис Жуковский учился клиентской поддержке своих игр в аэропорту Это перевод недавнего письма из рассылки от игрового инди разработчика Криса Жуковского [1]. Автор успешно выступал на конференциях, в том числе на GDC [2]. Статьи этого автора пользуются заслуженной популярностью на Гамасутре и регулярно переводятся на русские площадки. В д...

[Из песочницы] Наша с девушкой первая видео игра. Разработка на Unity. Часть 1 Ну как первая… Если не считать релизы только под Android и с десяток заброшенных проектов у финиша, то да, это первая наша игра с замахом больше чем одну платформу. Как же всё начиналось? А всё просто, работали мы значит над другим проектом, назовем его «проект А», работали ...

[Из песочницы] Ticket to Ride.Европа — скромные шаги в арифметику игры День первый. Нам подарили игру «Ticket to ride. Европа». Это моё первое знакомство с игрой данной серии, надо обязательно попробовать и заценить. День пятый. Как-то надоело регулярно проигрывать, пора бы призвать на помощь математику и попробовать таким образом одержать зас...

[Перевод] Генерация подземелий в Diablo 1 Diablo 1 — это классический roguelike 1996 года в жанре hack and slash. Это была одна из первых успешных попыток познакомить широкие массы с roguelike, которые до этого имели нишевую графику в виде ASCII-арта. Игра породила несколько сиквелов и множество имитаций. Она извес...

[Из песочницы] Подводные камни Java Здравствуйте. Хочу представить вашему вниманию небольшую статью. Цель данной публикации: Показать наиболее часто встречающиеся ошибки начинающих и некоторые приемы их исправления. Понятно, что некоторые ошибки могут быть сложными и происходить по тем или иным причинам. Цель...

C/C++ из Python (C API) Продолжаем тему как вызывать C/C++ из Python3. Теперь используем C API для создания модуля, на этом примере мы сможем разобраться как работает cffi и прочие библиотеки упрощающие нам жизнь. Потому что на мой взгляд это самый трудный способ. Читать дальше →

Как отличить хороший ремонт от плохого, или как мы в SRG сделали из Томита-парсера многопоточную Java-библиотеку В этой статье речь пойдет о том, как мы интегрировали разработанный Яндексом Томита-парсер в нашу систему, превратили его в динамическую библиотеку, подружили с Java, сделали многопоточной и решили с её помощью задачу классификации текста для оценки недвижимости. Читать да...

Осторожно — ГАЗ! или Как мы делали негазированные смарт-контракты Блокчейн и смарт-контракты все еще остаются горячей темой среди разработчиков и технических специалистов, много исследований и рассуждений об их будущем и о том, куда это все движется и приведет нас. У нас в Waves Platform свой взгляд на то, какими должны быть смарт-контрак...

Памятка начинающему разработчику компьютерных игр Данная статья ориентирована на школьников, студентов, и тех, кто постарше, кто никогда не пробовал, но очень хочет начать писать компьютерные игры. Кто в детстве не играл в компьютерные игры, и не хотел написать свою игру, которая будет лучше, чем GTA или Crysis? И я хотел,...

[Перевод] Компилируем FFmpeg в WebAssembly (=ffmpeg.js): Часть 1 — Приготовления Из этой части вы узнаете: Зачем это всё нужно Как скомпилировать FFmpeg в Docker Зачем это всё нужно Главные задачи у серии публикаций такие: Создать туториал по использованию Emscripten для компиляции C/C++ библиотек в JavaScript (более детальный и полезный, чем написа...

Разработчики Minecraft добавят в игру поддержку рейтрейсинга Minecraft в версии для Windows 10 получит опциональную поддержку трассировки лучей. Об этом стало известно из совместного заявления разработчиков игры и производителя видеокарт Nvidia. Как утверждается, технология сделает графику проекта более реалистичной, в частности, доба...

Программирование для детей. Пять самых крутых игр на HTML и JavaScript Привет, Хаброжители! Хотите сделать отличный подарок ребёнку, желающему научиться программировать, или научить взрослого, далёкого от мира кодов? Тогда книга-героиня нашего поста Вам подойдет. Эта книга научит писать код веб-игр на языках HTML и JavaScript и даже поможет чи...

[Из песочницы] Права в Linux (chown, chmod, SUID, GUID, sticky bit, ACL, umask) Всем привет. Это перевод статьи из книги RedHat RHCSA RHCE 7 RedHat Enterprise Linux 7 EX200 and EX300. От себя: Надеюсь статья будет полезна не только начинающим, но и поможет более опытным администраторам упорядочить свои знания. Итак, поехали. Читать дальше →

[Перевод] Как заставить игру работать с частотой 60fps Представьте себе задачу: у вас есть игра, и вам нужно, чтобы она работала с частотой 60 fps на 60-герцовом мониторе. Ваш компьютер достаточно быстр для того, чтобы рендеринг и обновление занимали несущественное количество времени, поэтому вы включаете vsync и пишете такой иг...

opencv4arts: Нарисуй мой город, Винсент OpenCV — библиотека с историей непрерывной разработки в 20 лет. Возраст, когда начинаешь копаться в себе, искать предназначение. Есть ли проекты на ее основе, которые сделали чью-то жизнь лучше, кого-то счастливее? А можешь ли ты сделать это сам? В поисках ответов и желании ...

[Перевод] Подготовка к Spring Professional Certification. Spring REST Сегодняшняя статья рассмотрит основные вопросы про REST в Spring. Она будет особенно полезна для начинающих программистов. Официальный гид от Pivotal, в котором написано про темы для подготовки. Оглавление Внедрение зависимостей, контейнер, IoC, бины AOP (аспектно-ориентир...

Постмортем с GGJ-2019: как набить шишек, но всё-таки сделать игру GGJ-2019 — это проходящий ежегодно, в последние выходные января, глобальный гейм джем. Отличается от других широкой поддержкой (спонсоры, все дела), большим количеством участников, а также тем, что он проходит исключительно в оффлайне. Далее весь опыт, полученный мной на мер...

[Перевод] Собственная реализация библиотеки ECS На этой неделе я начал работать над своим движком для игры Vagabond и приступил к реализации шаблона entity-component-system. В этой статье я хочу рассказать о своей реализации, которая свободно доступна на GitHub. Но вместо простого комментирования кода я хочу объяснить, ...

Интерактивная игра на XSLT Когда-то давным-давно придумали люди язык XML и увидели, что это хорошо. И стали использовать его везде, где можно, и даже там, где не следует. Форматы хранения и передачи данных, конфиги, веб-сервисы, базы данных… Казалось, оглянись вокруг — XML, XML повсюду. Время прошло...

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

[recovery mode] REST страсти по 200 Давно я хотел написать эту статью. Все думал — с какой стороны зайти правильнее? Но, вдруг, недавно, на Хабре появилась подобная статья, которая вызвала бурю в стакане. Больше всего меня удивил тот простой факт, что статью начали вбивать в минуса, хотя она даже не декларир...

Почему мы используем GraphQL в 8base Друзья, всем привет! Эта статья в первую очередь будет интересна фронтенд-разработчикам, особенно тем кому актуальна тема GraphQL, но в то же время я надеюсь, что она будет полезна и бэкенд-разработчикам и поможет им понять преимущества GraphQL глазами фронтендера. Читать...

Reaktive — мультиплатформенная библиотека для реактивного Kotlin Многие сегодня любят реактивное программирование. В нём масса плюсов: и отсутствие так называемого "callback hell", и встроенный механизм обработки ошибок, и функциональный стиль программирования, который уменьшает вероятность багов. Значительно проще писать многопоточный ...

[Перевод] Как генерируются подземелья в Enter The Gungeon В последнее время я много играл в Enter The Gungeon. Это потрясающая, ужасно сложная игра в жанре bullet hell, сильно напомнившая мне Binding of Isaac. Но чем больше я играл в неё, тем больше осознавал малозаметную гениальность дизайна подземелий. Существует много процедур...

Один из методов получения истории блокировок в PostgreSQL Продолжение статьи "Попытка создать аналог ASH для PostgreSQL ". В статье будет рассмотрено и показано на конкретных запросах и примерах — какую же полезную информацию можно получить с помощью истории представления pg_locks. Предупреждение. В связи с новизной темы и незавер...

Список полезных книг по анализу данных, математике, data science и machine learning Хабр, привет! Написал пост, который идет строго в закладки, он со списком полезнейших книг по анализу данных, математике, data science и machine learning. Они будут полезны как новичкам, так и профессионалам. Для удобства можете читать здесь или использовать удобный google ...

Google Play Pass: сервис подписки на игры и приложения для Android Не так давно был анонсирован сервис ежемесячной подписки Apple Arcade, дающий пользователям доступ к библиотеке мобильных игр для устройств, работающих под управлением мобильной платформы iOS.

[Из песочницы] Рассылка Push-уведомлений с SpringBoot сервера Предисловие Приветствую Вас. Недавно передо мной стала задача — настроить Push-уведомления на сайте. С этим я столкнулся впервые и во много разобраться мне помогла эта статья. В ней же уже есть описание серверной стороны, но, в процессе изучения данной темы я обнаружил более...

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

[Перевод] Создаем базовую сцену в A-Frame От автора перевода: в предыдущей статье мы обсудили базовые концепции A-Frame. Чтобы продолжить цикл, я хотел создать урок, который бы иллюстрировал основные возможности A-Frame, но понял, что лучше сделать перевод статьи с официального сайта, которая, по-моему мнению напи...

Google представила будущее гейминга — стриминговый сервис Google Stadia Google провела презентацию в рамах Game Developers Conference, где представила стриминговый сервис Google Stadia. Stadia будет использоваться для запуска игр на любых устройствах, поддерживающих браузер Google Chrome – от Chromecast до смартфонов на iOS и Android. Сервис ра...

Настройка сервера для развертывания Rails приложения при помощи Ansible Не так давно мне было необходимо написать несколько ansible playbooks для подготовки сервера к деплою rails приложения. И, на удивление, я не нашел простого пошагового мануала. Копировать чужой плейбук без понимая происходящего я не хотел и в итоге пришлось читать документац...

Виртуальная машина на ESP8266 для запуска игр VM, написанная неуверенной рукой гуманитария в среде программирования Arduino с использованием быдлокода и велосипедов. А еще есть компилятор для нее из си-подобного языка, написанный на JavaScript теми же методами. Да. Уже можно спешить в комментарии, бросать камни. Ну а те...

[Из песочницы] Бизнес-логика в базе данных при помощи SchemaKeeper Цель данной статьи — на примере библиотеки schema-keeper показать инструменты, которые позволяют существенно облегчить процесс разработки баз данных в рамках PHP-проектов, использующих СУБД PostgreSQL. Информация из этой статьи, в первую очередь, будет полезна разработ...

Xamarin.Forms — декоративное отображение QRCode с помощью SkiaSharp Для вывода/чтения штрихкодов есть популярная библиотека ZXing. Она умеет выводить и считывать много разных форматов: QRCode, Aztec и другие, более 2 десятков. Для считывания кодов в ней есть готовый контрол ZXingScannerView. Требуется минимум кода, чтобы добавить этот функ...

Поиграем в книжки — что такое геймбуки и какие из них стоит попробовать Учить английский по играм и книгам — приятно и довольно эффективно. А если игра и книга объединены в одно мобильное приложение — еще и удобно. Так сложилось, что на протяжении последнего года я неспешно знакомился с жанром мобильных «геймбуков»; по итогам ознакомления готов...

Анализ производительности виртуальной машины в VMware vSphere. Часть 1: CPU Если вы администрируете виртуальную инфраструктуру на базе VMware vSphere (или любого другого стека технологий), то наверняка часто слышите от пользователей жалобы: «Виртуальная машина работает медленно!». В этом цикле статей разберу метрики производительности и расскажу, ...

Как я улучшил свои навыки работы с алгоритмами, структурами данных и научился использовать все это на практике От переводчика: сегодня публикуем для вас статью Фабиана Терха. Статья в первую очередь будет полезна для начинающих программистов. Я программист-самоучка, этот пост отражает мой личный опыт и навыки в такой сфере, как алгоритмы и структуры данных; кроме того, я расска...

[Из песочницы] Сравнение популярных CLI-библиотек для Python: click, cement, fire и другие Python — отличный язык для консольных приложений, и это подчёркивает большое количество библиотек для этих задач. Но какие вообще библиотеки существуют? А какую лучше взять? В этом материале сравниваются популярные и не очень инструменты для консольного мира и дана попытка...

[Из песочницы] Основы реактивного программирования с использованием RxJS Часть 1. Реактивность и потоки Данная серия статей посвящена реактивности и ее применению в JS с использованием такой замечательной библиотеки как RxJS. Для кого эта статья: в основном, здесь я буду объяснять основы, поэтому в первую очередь статья рассчитана на новичков в ...

[Перевод] Указатели сложны, или Что хранится в байте? Привет, Хабр! Представляю вашему вниманию перевод статьи "Pointers Are Complicated, or: What's in a Byte?" авторства Ralf Jung. Этим летом я снова работаю над Rust фуллтайм, и я снова буду работать (помимо прочих вещей) над "моделью памяти" для Rust/MIR. Однако, прежде чем я...

[Перевод] Как сделать ваш HTML отзывчивым, добавив одну строку кода на CSS Привет, Хабр! представляю вашему вниманию перевод статьи «How to make your HTML responsive by adding a single line of CSS» автора Per Harald Borgen. В этой статье я научу вас, как использовать CSS Grid для создания крутой сетки изображений, которая изменяет количество сто...

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

Безопасность со вкусом Google Отгремел Google I/O 2019 и пришла пора переписывать проекты на новую архитектуру изучать новинки. Так как я интересуюсь безопасностью мобильных приложений, то в первую очередь обратил внимание на новую библиотеку в семействе JetPack — security-crypto. Библиотека помогает пра...

[Перевод] Автоматизация библиотек на Typescript Хочу сразу оговориться: эта статья не дает готового к использованию рецепта. Это скорее моя история путешествия в мир Typescript и NodeJS, а также результаты моих экспериментов. Тем не менее, в конце статьи будет ссылка на GitLab репозиторий, который вы можете посмотреть, и ...

Анонсирована MMORPG Echo of Soul RED — мобильная версия популярной ПК-игры Корейский разработчик Blue Potion Games, занятый сейчас поддержкой MMORPG для компьютеров Echo of Soul, анонсировал официальное название для мобильной версии игры — Echo of Soul RED. Особый акцент в игре будет сделан на PvE-режимах, в которых вам вместе с другими игроками п...

Приключения, головоломки и футбол — 6 новых игр в Apple Arcade Пока все ждут (только зачем?), когда Apple уже не сможет удерживать взятый темп и перестанет представлять новые игры для сервиса Arcade, она взяла и вместо привычных 4-5 пополнила библиотеку аж на 6 проектов. Discolored — это сюрреалистическая головоломка, действие которой ...

Как добавить проверки в NoVerify, не написав ни строчки Go-кода В статическом анализаторе NoVerify появилась киллер-фича: декларативный способ описания инспекций, который не требует программирования на Go и компиляции кода. Чтобы вас заинтриговать, покажу описание простой, но полезной инспекции: /** @warning duplicated sub-expressions in...

Optlib. Реализация генетического алгоритма оптимизации на Rust В этой статье описывается библиотека optlib, предназначенная для решения задач глобальной оптимизации на языке Rust. На момент написания этой статьи в этой библиотеке реализован генетический алгоритм нахождения глобального минимума функции. Библиотека optlib не привязана к к...

[Перевод] Комбинирование Signed Distance Fields в 2D В предыдущем туториале мы научились создавать и перемещать простые фигуры с помощью функций расстояний со знаком. В этой статье мы научимся комбинировать несколько фигур для создания более сложных полей расстояний. Большинству описанных здесь техник я научился из библиотеки ...

Антирейтинг 2018 Эта статья написана по аналогии со статьей «Как не надо писать на Хабр: Антирейтинг 2017». Статьи взяты за 2018 год, точнее, начиная с индекса 345000. Кроме отрицательных значений рейтинга, есть список по абсолютному количеству минусов (видимо, самые обсуждаемые темы, в бо...

[Из песочницы] Провинциальный костёр или рождение нации Пролог Вызывайте пожарную бригаду! Только они смогут потушить костёр под его задницей. Год 1996 Америка празднует день независимости. В честь этого Уилл Смит спасает планету от атаки пришельцев с помощью компьютерного вируса. Я же спасаю планету с помощью координации бойцов...

Проверка исходного кода библиотек .NET Core статическим анализатором PVS-Studio Библиотеки .NET Core — один из самых популярных C# проектов на GitHub. Неудивительно, с учётом его широкой известности и используемости. Тем интереснее попробовать выяснить, какие тёмные уголки можно найти в исходном коде этих библиотек, что мы и попробуем сделать с помощью...

Под капотом Screeps — виртуализация в MMO-песочнице для программистов В этой статье я расскажу про одну малоизвестную технологию, которая нашла ключевое применение в нашей онлайн-игре для программистов. Чтобы долго не тянуть резину, сразу спойлер: кажется, что такого шаманства в нативном коде Node.js, к которому мы пришли после нескольких лет ...

«Вы будете сидеть с раскрытым ртом»: критики и игроки остались в восторге от Resident Evil 2 Сегодня Resident Evil 2 поступила в продажу для ПК, Xbox One и PlayStation 4. Большинство критиков уже опубликовали свои обзоры. На агрегаторе оценок OpenCritic средний рейтинг Resident Evil 2, основанный на 96 рецензиях, составил 92 балла из 100. Все кр...

Как ускорить шифрование по ГОСТ 28147-89 на процессоре Байкал-Т1 за счет SIMD-блока В статье на примере описания реализации алгоритма шифрования по ГОСТ 28147–89, построенного на сети Фейстеля, показаны возможности двухъядерного процессора BE-T1000 (aka Байкал-Т1) и проведены сравнительные испытания реализации алгоритма с помощью векторных вычислений с сопр...

DeepPavlov для разработчиков: #2 настройка и деплоймент Всем привет! В первой статье из нашего цикла мы узнали, что такое DeepPavlov, какие модели библиотеки готовы к использованию без предварительного обучения и как запустить REST серверы с ними. Перед тем, как приступить к обучению моделей, мы расскажем о различных возможностях...

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

[Перевод] Как происходит рендеринг кадра A Plague Tale: Innocence Предисловие Как и в других моих исследованиях, давайте начнём с введения. Сегодня мы рассмотрим последнюю игру французского разработчика Asobo Studio. Впервые я увидел видео этой игры в прошлом году, когда коллега поделился со мной 16-минутным геймплейным трейлером. Моё вни...

Что курил автор: добавим олдскула в этот безумный мир игр Привет, Хабр. Не буду повторять тысячный раз о том, что как любой из нас всегда мечтал написать игру. Мне 37. Я разработчик. Как раз самое время задуматься. Аркады, симуляторы, RPG, шутеры, веб, десктоп, мобильная. Было непросто. В какой-то момент я понял, что хочу возродить...

[Перевод] Как решить «Сапёра» (и сделать его лучше) «Сапёр» (Minesweeper) — это простая игра с простыми правилами, однако некоторые её конфигурации создают любопытные трудности. В этой статье мы создадим солвер «Сапёра» с увеличивающейся сложностью, и поразмышляем над тем, как меняется динамика игры при постепенном повышении...

[Из песочницы] Два процента «кота» или кто сфотографировал Мастера Йоду? В 2016 из-за давней мечты о видео-играх и «хайпа» вокруг AI я начал изучать Python. Computer Science is Fun потому только неделю назад я обучил первую recognition модель, но без использования Python (в computer science много соблазнов). Как и предсказывал Андрей Себрант (Ya...

[Из песочницы] Игра (не) для дураков. Пишем AI для «Дурака» (часть 1) Думаю, ни для кого не секрет, что "Дурак" (далее это слово будет написано с маленькой буквы и без кавычек) — это самая популярная карточная игра в России и странах бывшего СССР (хотя и почти неизвестная за его пределами). Несмотря на свое название и довольно неслож...

Автор книги «Ведьмак» все же получит у CD Projekt Red отступные В октябре прошлого года сообщалось, что Анджей Сапковский, автор книги «Ведьмак», потребовал у CD Projekt Red компенсацию за использование своей интеллектуальной собственности. Причем потребовал не просто так, а при помощи юристов, требуя выплаты роялти. Все было бы впол...

[Из песочницы] Помощь и просьба о ней. Статья про информационную безопасность для рядовых пользователей Я предлагаю вам некоторые шаги по повышению безопасности и приватности в интернет сети (и не только) для рядовых пользователей. Обоснование почему это необходимо – в начале статьи. Для тех кто всё знает и недоумевает почему этот текст находится здесь — просьба прочитать пунк...

[Перевод] Реверс-инжиниринг Fantastic Dizzy Fantastic Dizzy — это игра в жанре «пазл-платформер», созданная в 1991 году компанией Codemasters. Она является частью серии игр про Диззи (Dizzy Series). Несмотря на то, что серия Dizzy до сих пор популярна, и по ней создаются любительские игры (Dizzy Age), похоже, что никт...

[Из песочницы] Решение проблемы с переключением по alt+shift в Linux, в приложениях на Electron Здравствуйте, коллеги! Хочу поделиться поделиться своим решением проблемы, которая указана в заголовке. Написанием статьи вдохновился от коллеги brnovk, который не поленился и предложил частичное (для меня) решение проблемы. Я сделал свой «костыль», который помог мне. Делюс...

[Из песочницы] UICollectionView всему голова: Изменение представления на лету Привет, Хабр! Представляю вашему вниманию перевод статьи "UICollectionView Tutorial: Changing presentation on the fly". В данной статье мы рассмотрим использование различный способов отображение элементов, а также их переиспользование и динамическое изменение. Зде...

Continuous delivery для вашей Kotlin Multiplatform библиотеки Привет! Меня зовут Юрий Влад, я Android-разработчик в компании Badoo и принимаю участие в создании библиотеки Reaktive — Reactive Extensions на чистом Kotlin. В процессе работы мы столкнулись с тем, что в случае с Kotlin Multiplatform continuous integration и continuous del...

Как рендерится кадр в Shadow Fight 3 Технический 3D-художник Banzai Games Роман Терский рассказал о том, как происходит отрисовка кадра и устроены материалы для персонажей в мобильной игре Shadow Fight 3, а также раскрыл небольшие хитрости в настройке окружения Shadow Fight 3 — игра в жанре файтинг/РПГ, разр...

В июле на PS4 появится EA Access Игроки PlayStation 4 будут рады узнать, что EA Access выйдет на PS4 в июле этого года. Для тех, кто все еще покупает игры и не знает о бизнесе потоковой передачи игр, EA Access позволяет подписчикам загружать и играть в игры в своей библиотеке, которую они называют хран...

Консоль Xbox 360 официально снята с производства Консоль Xbox 360 от компании Microsoft разошлась по всему миру примерно в 82 миллиона экземпляров. Благодаря именно Xbox 360 многие люди открыли для себя дорогу в цифровой мир игр за счет сервиса Xbox Live, который до сих пор позволяет играть с друзьями используя Интернет, а...

[Из песочницы] Об актуальных проблемах геймдизайна и путях их разрешения. Взгляд снизу Итак, всем привет и добро пожаловать в мир современных игр! Дабы заранее предупредить различные вопросы, а также обеспечить удобство чтения, далее — небольшой дисклеймер: всё что будет написано далее — основано на личном и субъективном игровом опыте, который включает в себя...

[Перевод] Маркетинг в движении: год производства гифок Когда Банди с другом начинали работать над динамичным рогаликом Wizard of Legend, они понимали, что главная проблема — это недостаток опыта. У них не было связей, бюджета на маркетинг или экспертизы, которую могли бы использовать ветераны индустрии. Поэтому было важно начать...

DrumHero: Как я делал первую в жизни игру В этом году социально-образовательной программе IT ШКОЛА SAMSUNG исполняется 5 лет (читайте об IT ШКОЛЕ здесь), и по этому случаю мы предложили нашим выпускникам рассказать о себе и опыте создания своих мобильных приложений. Мы верим, что при большом желании каждый может дос...

Разрабатываем игру на Svelte 3 Чуть больше месяца назад вышел релиз Svelte 3. Хороший момент для знакомства, — подумал я и пробежался по отличному туториалу, который еще и переведен на русский. Для закрепления пройденного я сделал небольшой проект и делюсь результатами с вами. Это не one-more-todo-list, а...

[Из песочницы] Прибыльность сайтов и сервисов Эта статья будет полезна всем, кто хочет сделать собственный бизнес на веб-сайтах и сервисах. Здесь приведены примеры прибыльности и средней посещаемости сайтов через год работы. Основная цель статьи — дать приблизительное представление о сложности развития проектов для тех,...

Epic Games открыла бесплатный доступ к тысячам материалов Megascans для разработчиков Разработчик компьютерных игр Epic Games приобрёл компанию Quixel, создавшую крупнейшую в мире библиотеку фотограмметрических материалов Megascans. Теперь огромная библиотека из более 10 тыс. текстур и объектов, которые ранее использовались для создания фотореалистичных сцен ...

Создание моментальных игр на Unity в Google Play Instant Привет! Перевели статью от Google с пошаговой инструкцией создания Instant Game в Google Play для игр на Unity. Google анонсировал сервис Google Play Instant в марте 2018-го; с тех пор гейм-девелоперы могут создавать игры с мгновенным погружением. Существует несколько спо...

[Перевод] Работа с ошибками в Go 1.13 В последнее десятилетие мы успешно пользовались тем, что Go обрабатывает ошибки как значения. Хотя в стандартной библиотеке была минимальная поддержка ошибок: лишь функции errors.New и fmt.Errorf, которые генерируют ошибку, содержащую только сообщение — встроенный интерфейс...

Angular: создание и публикация библиотеки Начнем с начала Если мне не изменяет память, то с версии 6 в angular появилась возможность создавать в одном workspace проекты разных типов: application и library. До этого момента люди, которые хотели создать библиотеку компонент, скорее всего, пользовались отличным и поле...

Valve в четверг анонсирует новую игру во вселенной Half-Life Half-Life 3 всё-таки будет! Именно это мы могли бы написать сейчас. И даже сделали немного кликбейтный заголовок (sorry for that). Но в этой шутке всё же есть доля правды, ведь уже в этот четверг состоится анонс игры Half-Life: Alyx. На самом деле это будет уже седьмой игрой...

Как создать приложение для сферы финансов: 5 API в помощь разработчику Всем привет! Продолжаю свое исследование сферы финансов с точки зрения технологий. В прошлом материале мы изучали существующие торговые терминалы и их особенности, а сегодня предлагаю поговорить, собственно, о разработке финансовых приложений. Для нового топика я подобра...

Steam распродаёт игры про Лару Крофт со скидками до 90% Сервис цифровой дистрибуции Steam с огромными скидками распродаёт коллекцию игр серии Tomb Raider про прекрасную искательницу приключений Лару Крофт.

[Из песочницы] Сплайны в 3d графике, максимально автоматизированный вариант С месяц назад начал учить Python по книге Доусона и очнулся уже глубоко в процессе написания своей игры под pygame. ТЗ было таково, что наиболее перспективным показалось сделать игру с псевдо-трехмерной графикой, запихнув в спрайты сохраненные поверхности 3d-сплайнов. О посл...

[Перевод] Распознавание текста с помощью VNRecognizeTextRequest в iOS 13 Теперь фреймворк Vision умеет распознавать текст по-настоящему, а не как раньше. С нетерпением ждем, когда сможем применить это в Dodo IS. А пока перевод статьи о распознавании карточек из настольной игры Magic The Gathering и извлечении из них текстовой информации. Читат...

[Из песочницы] Покупки в Android приложении — Play Billing Library И как это до сих пор на Хабре нет статьи об этом? Не дело, надо исправлять. Есть 2 способа добавить In-App покупки в Android-приложение — старый и новый. До 2017 года все пользовались библиотекой от anjlab, но с июня 2017 года ситуация изменилась, Google выпустила собстве...

NVIDIA выпускает крупное обновление графических драйверов Компания NVIDIA объявила о выпуску большого обновления драйверов для своих видеокарт. Новая версия драйвера под номером 436.02 получила название «Gamescom Game Ready Driver» и приносит с собой новый режим сверхнизкой задержки, целочисленное масштабирование и новый фильтр Sh...

OpenCV 4.0 и 4.1 — что нового? Мы возвращаемся к рассказу об open source библиотеке компьютерного зрения OpenCV. Проект живет и развивается, движимый командой разработчиков, работающих в компании Intel, а также неугасающей поддержкой community. В конце 2018 года увидел свет первый стабильный релиз из ве...

[Перевод] Как Doom попал на Super Nintendo Эта статья — перевод главы книги Game Engine Black Book: DOOM, подробного анализа внутреннего устройства одной из самых влиятельных игр id Software. В этой главе рассказывается о сложном процессе портирования DOOM на Super Nintendo и о ключевой роли, которую сыграл в нём ра...

Google сделала сайт для создания игр под Android Игры составляют значительную часть магазина приложений Google Play, а также библиотеки приложений многих пользователей устройств на ОС Android. Игры всегда были трендом, и сейчас, когда играть можно где-угодно и когда угодно, достав лишь смартфон из кармана, игровая индустр...

Создание продуктов, формирующих привычки Продолжаю, как я считаю, хорошую привычку делиться конспектами прочитанных книг. Букв будет много, но оно того стоит. Сократить старалась максимально, оставив полезное и не потеряв суть, но получилось все равно много. Немного о книге: написана легко и интересно, мало воды...

[Из песочницы] React. Lazy loading Доброго времени суток. Занимаюсь разработкой проекта на React и Redux. Хочу в этой статье описать архитектуру своего проекта. Итак, начнем. Файловая структура: Для подключения редьюсеров создаем класс singleton reducerRegister: ./reducerRegister.js class ReducerRegistry...

Подходы к сегментации мобильных игроков — перевод Алисса Перез из команды Google Play Dev написала статью, которую мы перевели. В ней много полезной информации о подходах к сегментации пользователей: юзер-таргетинге и его связи с развитием бизнеса. Основная цель каждой мобильной игры — создать для игроков что-то интерес...

Введение в разработку CatBoost. Доклад Яндекса Меня зовут Стас Кириллов, я ведущий разработчик в группе ML-платформ в Яндексе. Мы занимаемся разработкой инструментов машинного обучения, поддержкой и развитием инфраструктуры для них. Ниже — мой недавний доклад о том, как устроена библиотека CatBoost. В докладе я рассказал...

Meeting Room L̶i̶t̶t̶l̶e̶ Helper v 2 Данная статья подробно описывает этапы разработки мобильного приложения Meeting Room Helper: от зарождения идеи до релиза. Приложение написано на Kotlin и построено по упрощённой MVVM архитектуре, без использования data binding. Обновление UI-части происходит с помощью LiveD...

Расширение Password Checkup сверяет пароли с базой из 4 млрд скомпрометированных аккаунтов Недавно хакеры выложили в открытый доступ коллекции №1-5 — в общей сложности около 2,7 млрд аккаунтов с паролями (magnet-ссылки: коллекция № 1, коллекции № 2-5). Эти пароли многие годы собирались из всех доступных источников, в том числе с российских сайтов. Каждый может п...

[Перевод] Возможности Python 3, достойные того, чтобы ими пользовались Многие программисты начали переходить со второй версии Python на третью из-за того, что уже довольно скоро поддержка Python 2 будет прекращена. Автор статьи, перевод которой мы публикуем, отмечает, что основной объём Python 3-кода, который ему доводилось видеть, выглядит как...

Принципы документирования и локализации, или как получить хорошую локализацию минимальными затратами Всем привет! Меня зовут Денисов Александр. Я работаю в компании Naumen и отвечаю за документирование и локализацию программного продукта Naumen Contact Center (NCC). В этой статье расскажу о тех проблемах, с которыми мы сталкивались при локализации NCC на английский и нем...

Unity Package Manager Unity — платформа, которая существует довольно давно и постоянно развивается. Однако, работая в ней с несколькими проектами одновременно, все еще можно столкнуться со сложностями в использовании общих исходников (.cs), библиотек (.dll) и остальных ассетов (изображения, звуки...

[Перевод] Руководство по API Коллекций Vavr VAVR (известная ранее, как Javaslang) — это некоммерческая функциональная библиотека для Java 8+. Она позволяет писать функциональный Scala-подобный код в Java и служит для уменьшения количества кода и повышения его качества. Сайт библиотеки. Под катом — перевод статьи, сис...

[Из песочницы] Как сэкономить в AWS до полумиллиона долларов? Привет, Хабр! Представляю вашему вниманию перевод статьи «How to reduce your AWS costs? Save up to $500k with these guidelines!» автора George Batschinski. В этой статье мы в подробностях расскажем, как Back4App уменьшила свои расходы в AWS с $55,492 в месяц до $20,074 в ...

Официально представлен эмулятор Purple для запуска Lineage 2M на ПК в разрешении 4К Издатель NCSoft провел мероприятие, на котором официально представил эмулятор Purple, который в первую очередь был создан для поддержки кроссплатформенной игры в Lineage 2M. Вместо того чтобы добавлять поддержку для BlueStacks или любых других эмуляторов, издатель решил созд...

На мобильных вышла jRPG SaGa Scarlet Grace: Ambitions за 1790 рублей (это со скидкой) На E3 2019 в этом году компания Square Enix удивила многих, анонсировав локализации сразу для нескольких игр во франшизе SaGa. Romancing SaGa 3 уже недавно вышла на iOS и Android, одновременно с остальными платформами, а теперь пришла очередь ремейка эксклюзива PS Vita SaGa ...

Настройка CD через gitlab Задумался как-то раз я об автоматизации развертывания своего проекта. gitlab.com любезно предоставляет для этого все инструменты, и я конечно решил воспользоваться, разобравшись и написав небольшой сценарий деплоя. В статье я делюсь своим опытом с сообществом. Читать дальше ...

[Перевод] История сохранений в играх: от паролей на бумаге до облаков В начале этого года пользователь Twitter по имени Paul Hubans поделился скриншотом, сделанным его 87-летней бабушкой в Animal Crossing: спустя четыре года ежедневных игр она накопила 3 580 часов — почти 150 дней общего игрового времени. Возможность сохранения прогресса и во...

[Из песочницы] Анализ эмоциональной окраски отзывов с Кинопоиска Вступление Обработка естественного языка (NLP) является популярной и важной областью машинного обучения. В данном хабре я опишу свой первый проект, связанный с анализом эмоциональной окраски кино отзывов, написанный на Python. Задача сентиментного анализа является довольно р...

Software Defined Radio — как это работает? Часть 9 Привет Хабр. В предыдущей части было рассмотрено декодирование сигналов RDS для FM-радиостанций, и идея следующей статьи возникла сама собой — нужно сделать свой собственный FM-трансмиттер. Вариантов будет два — простой, и более сложный, с RDS. Как и в предыдущих случая...

[Перевод] Разработка приложения на SwiftUI. Часть 1: поток данных и Redux После участия в сессии State of the Union на WWDC 2019 я решил детально изучить SwiftUI. Я потратил много времени на работу с ним и теперь приступил к разработке реального приложения, которое может оказаться полезным широкому кругу пользователей. Его я назвал MovieSwift...

Потрясающая GRIS вышла на iOS: произведение икусства за 379 рублей Если вы играете на ПК или консолях и следите за индустрией, то не могли пропустить GRIS — инди-шедевр, вышедший в конце прошлого года,о красоте которого говорили все без исключения. GRIS — это платформер с элементами головоломки, но в первую очередь акцент в игре сделан на ...

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

В интернете появился «музей», представляющий собой онлайн-коллекцию прошлых версий популярных сайтов и сервисов Энтузиаст по имени Alex вместе со своим сыном запустил проект «Музей версий» (Version Museum) — сайт, на котором можно посмотреть, как в разные годы выглядели сайты крупных компаний и интерфейсы популярных сервисов. В коллекции есть программы Microsoft (в частности, Microsof...

Заметки product manager’a: поведение пользователей на страницах игр в app store. Сколько надо времени чтобы скачать игру В интернете большое количество информации о том, как правильно паблишить мобильные игры, как делать для них маркетинг, что размещать на страницах магазинов, однако большое количество нюансов незаметны сразу. В данной статье я поделюсь своими заметками и инсайтами, которые бы...

[Перевод] Создание игровых 3D-моделей «для бедных»: путь инди Вы когда-нибудь задумывались о том, как работает небольшая инди-студия, занимающаяся разработкой видеоигр? Создавать игры с очень маленьким бюджетом можно, но для этого необходима смекалка, много труда и ещё больше любви к своему делу. Мы — небольшая команда из Польши. Нас...

Автоматизация Для Самых Маленьких. Часть 1.1. Основы виртуализации Предыдущая статья рассматривала архитектуру виртуализированной сети, underlay-overlay, путь пакета между VM и прочее. Роман Горге вдохновился ею и решил написать обзорный выпуск о виртуализации вообще. В данной статье мы затронем (или попытаемся затронуть) вопросы: а как с...

Разработка сайта на WebAssembly с помощью NetCore 3 и Blazor Мое мнение, что WebAssembly будущее интернета. Данная технология на текущий момент уже интегрирована в большинство современных браузерах (а точнее в их движках) на ПК и мобильных устройствах. В таких браузерах как Chrome, Edge, Firefox, и WebKit. В данной статье я опишу как ...

Python v3.x: обработчик исключений для корутин и синхронных функций. Вобщем, для всего В свободное время я работаю над своим небольшим проектом. Написан на Python v3.x + SQLAlchemy. Возможно, я когда-нибудь напишу и о нем, но сегодня хочу рассказать о своем декораторе для обработки исключений. Его можно применять как для функций, так и для методов. Синхронных ...

Как я сделал (почти) бесполезный стриминг вебкамеры на Javascript В статье я хочу поделиться своими попытками сделать стримминг видео через websockets без использования сторонних плагинов браузера типа Adobe Flash Player. Что из этого получилось читайте далее. Читать дальше →

Монтируем iOS под OSX с помощью ifuse На днях столкнулся с задачей примонтировать в OSX 10.14 iPad в качестве внешнего диска, с возможностью осуществлять файловые операции из консоли. В интернете я нашел довольно много инструкций как это сделать с помощью файловой системы ifuse. К сожалению с iOS 12 ничего не вы...

Самая большая коллекция видеоигр Guinness World Records Владелец самой большой коллекции видеоигр — Антонио Монтейро (Antonio Monteiro) из техасского города Ричмонд. Как сообщает Книга рекордов Гиннесса, в коллекции Монтейро содержится 20 139 видеоигр: она включает игры для консолей от второго до восьм...

Как мы сделали движок и игру на нем за полтора года. Часть вторая. Инфраструктура Для начала несколько комментариев по следам предыдущей статьи. Мы действительно раньше работали в компании Wargaming, где разрабатывали движок, известный как dava.framework или dava.engine. Поэтому многие старые коллеги, с которыми мы по-прежнему в хороших отношениях, активн...

CodeSide. Новая игра для знаменитого соревнования Russian AI Cup Сообщество участников чемпионатов и команда Mail.ru Group в сотрудничестве с Codeforces.com приглашают вас на самую настоящую бойню, от которой вы получите бессонные ночи и мозоли на руках, поскольку будете участвовать в одном из самых живых и интересных чемпионатов по про...

Полет пчелы. Как работают сети ZigBee и как искать уязвимости в них Для подписчиковZigBee — один из протоколов, который используют для домашней автоматизации. Его поддержкой наделяют умные лампочки, беспроводные выключатели, датчики движения и прочие устройства, которые повышают комфорт. Но насколько они безопасны? В этой статье я расскажу, ...

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

Обзор методов сегментации изображений в библиотеке scikit-image Thresholding Это самый простой способ отделить объекты от фона, выбрав пиксели выше или ниже определенного порога. Это обычно полезно, когда мы собираемся сегментировать объекты по их фону. Вы можете прочитать больше о пороге здесь. Люди, знакомы с фильмом «Терминатор», нав...

[Перевод] PHP дженерики уже сегодня (ну, почти) Если спросить PHP-разработчиков, какую возможность они хотят увидеть в PHP, большинство назовет дженерики. Поддержка дженериков на уровне языка была бы наилучшим решением. Но, реализовать их сложно. Мы надеемся, что однажды нативная поддержка станет частью языка, но, вероятн...

Мультиплеерный шутер Ace Force может выйти на английском языке Летом в Китае вышел мультиплеерный шутер Ace Force. Игра очень напоминает Overwatch: тот же жанр, похожий визуальный стиль, уникальные персонажи, яркие локации. В плане внешности ее также можно сравнить с Borderlands. На днях стало известно, что издатель Garena, работающий ...

[Из песочницы] Опыт установки Apache Airflow на Windows 10 Преамбула: волею судьбы из мира академической науки (медицины) я попала в мир информационных технологий, где мне приходится использовать свои знания о методологии построения эксперимента и стратегиях анализа экспериментальных данных, однако, применять новый для меня стек тех...

Autodesk Maya: полезные базовые функции для работы с 3Д моделями Недавно я столкнулся лицом к лицу с таким зверем как Autodesk Maya. За плечами у меня не было опыта в работе с 3Д моделированием и пришлось в экстренном порядке прокачиваться, начиная с основ, а также ознакомится с функциональностью данного ПО, чтобы проверить работу плагина...

[Перевод] 9 библиотек веб-компонентов 1. Material components web Обычно заголовок «Material» размещает библиотеку компонентов пользовательского интерфейса прямо наверху рейтингов по количеству звездочек и загрузок. Веб-библиотека Google Material-components — это версия веб-компонента библиотеки Material-UI. По...

Microsoft позволит сделать любую игру кроссплатформенной Компания Microsoft собирается выпустить инструмент, который позволит разработчикам встроить поддержку сервиса Xbox Live в игры на Android, iOS и Nintendo Switch.

[Перевод] Физика игрового торнадо: как реализована аэродинамика в Just Cause 4 (трафик) Жак Кернер — старший инженер-разработчик ПО в Avalanche Studios. Как будто раньше игра была недостаточно безумной Введение Серия игр Just Cause и Avalanche Studios известны своей технологией открытого мира, обеспечивающего разнообразный и увлекательный игровой процесс. В ...

Software Defined Radio — как это работает? Часть 6 Привет, Хабр. В предыдущей части мы рассмотрели возможность передачи простых сигналов с помощью GNU Radio. Сейчас мы пойдем дальше, и посмотрим, как передать что-нибудь посложнее. Начнем с радиолюбительских сигналов WSPR, а затем создадим работающий программный QAM-модем. ...

[Из песочницы] Работа Xamarin c SDK, написанном на C Не так давно у меня был интересный проект на Xamarin Forms для нескольких платформ: Android iOS UWP MacOS Нам было необходимо создать библиотеку, которая смогла бы подключаться к нескольким нашим проектам: Xamarin.Forms, Android на Java, Cordova, а также позволять сторонн...

Библиотека Apple Arcade уже насчитывает 100 игр Компания Apple продолжает активно наполнять библиотеку игр Apple Arcade. Сервис Apple Arcade стал доступен пользователям […]

[Из песочницы] Классификация покрова земли при помощи eo-learn. Часть 1 Привет, Хабр! Представляю вашему вниманию перевод статьи "Land Cover Classification with eo-learn: Part 1" автора Matic Lubej. Предисловие Примерно полгода назад был сделан первый коммит в репозиторий eo-learn на GitHub. Сегодня, eo-learn превратился в замечательную библиоте...

[Из песочницы] GameBoy на C# Когда я только начинал программировать, думаю, как и многим, мне хотелось делать игры. Но передо мной стояло множество архитектурных вопросов, которые я не знал как решить, про двойную буферизацию я даже не слышал, а получить результат хотелось как можно скорее. Поэтому неда...

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

[Перевод] Как в 1995 году писали игры для Sega Saturn Это документ, написанный мной в 1995 году, когда я работал над первой игрой студии Neversoft: Skeleton Warriors. Это была первая игра, в которой я не использовал язык ассемблера 68K. Фото сделано примерно в то время. Комплект разработчика (dev kit) («Small Box» и ICE) стоит...

Генератор больших графов транзакций с паттернами преступной деятельности Доброго времени суток. Пару лет назад перед нашей командой (compliance в швейцарском банке) встала очень интересная задача — нужно было сгенерировать большой граф транзакций между клиентами, компаниями и банкоматами, добавить в этот граф паттерны, похожие на паттерны отмыв...

Деревянные игрушки, часть шестая — 1992 Игры начинают становиться всё менее деревянными, в некоторых случаях начинает проявляться оказуаливание — упор на графику и упрощение игрового процесса в сравнении с предыдущими играми этого жанра. В минимальных требованиях появляется «4MB RAM». Но я про всё это не особо в к...

Sea of Thieves получит новую систему квестов Sea of Thieves — кооперативная приключенческая игра с пиратской тематикой, в основе которой лежит великолепная механика управления парусным судном. Игрокам предлагают самостоятельно найти себе развлечение в игре, однако такой подход не подходит тем, кому нравятся одиночные ...

[Перевод] Новое в Hadoop: познакомимся с различными форматами файлов в Hadoop Всем привет! Публикуем перевод статьи, подготовленный для студентов новой группы курса «Data Engineer». Если интересно узнать, как построить эффективную и масштабируемую систему обработки данных с минимальными затратами, посмотрите запись мастер-класса Егора Матешука! Неско...

Проверка обёртки OpenCvSharp над OpenCV с помощью PVS-Studio OpenCV — библиотека алгоритмов компьютерного зрения, обработки изображений и численных алгоритмов общего назначения с открытым кодом, знакомая многим разработчикам на C++. Помимо C++, OpenCV также разрабатывается для Python, Java, Ruby, Matlab, Lua и других языков. Так как ...

19 полезных возможностей файла .htaccess Спорим, о некоторых вы не подозревали. Мы собрали варианты применения .htaccess для улучшения работы сайта. Он часто используется оптимизаторами для корректной настройки 301 редиректов. Но этим возможности файла не ограничиваются. Тут и безопасность, и оптимизация, и парам...

Книга «Kafka Streams в действии. Приложения и микросервисы для работы в реальном времени» Привет, Хаброжители! Эта книга подойдет для любого разработчика, который хочет разобраться в потоковой обработке. Понимание распределенного программирования поможет лучше изучить Kafka и Kafka Streams. Было бы неплохо знать и сам фреймворк Kafka, но это не обязательно: я ра...

[recovery mode] Асинхронная библиотека для работы с API Mikrotik Категорически приветствую. Недавно мне понадобилось поработать с Mikrotik через его API. Вроде бы ничего примечательного, есть официальная библиотека , есть еще на гитхабе обёртка, но вот беда — мне надо было работать асинхронно через asyncio и использованием плюшек async/aw...

[Из песочницы] Как сделать поддержку PCRE2 для Apache 2.4 Хочу поделится своим опытом перевода Apache 2.4 на PCRE2, так как даже PHP 7 уже давно поддерживает библиотеку PCRE2, а open source Apache Software Foundation все еще нет. Конечно я сейчас наверно опережаю релиз Apache с поддержкой PCRE2, так как я использую исходники с гита...

[Перевод] Создание игры для SEGA Mega Drive/Genesis в 2019 году Даже сегодня люди по-прежнему продолжают создавать новые игры для старых консолей. Мы называем их «homebrew». Иногда это способ реализовать детскую мечту о создании игры для консоли, на которой играл ребёнком. Но кроме того это ещё и интересная задача для любого дизайнера и...

«Ритм-игры, которые стоит знать»: какие проекты поставили на звук и сделали его частью жанра Довольно часто музыкальную составляющую компьютерных игр затмевают геймплей и сюжет. Однако есть проекты, в которых звук не просто выходит на первый план, но становится неотъемлемой частью игрового процесса — например, в ритм-играх. В этой статье мы обойдем стороной такие ку...

Три года автотестов: как повысить скорость и не только Привет, я Алексей, full-stack разработчик платформы Vimbox. Когда я пришел в Skyeng, здесь решали, стоит ли тратить время на систему автотестов и попросили меня поделиться опытом с предыдущей работы. А такой опыт у меня был: к моменту ухода с предыдущего места мы написали н...

Обработка исключений ASP.NET при помощи IRO.Mvc.MvcExceptionHandler Если вы являетесь c# бекенд разработчиком, наверняка рано или поздно появилась необходимость найти унифицированный способ обработки исключительных ситуаций. Хотя, даже если вы довольствуетесь кодом 500 в ответе, эта статья все равно поможет улучшить ваш способ, при этом не...

[Перевод] Чему можно научиться у дизайна гиперказуальных игр Кто-то может сказать, что гиперказуалки, вероятно, один из простейших жанров для анализа гейм-дизайна. Кто-то может сказать что гиперказуальные игры даже не стоят анализа, потому что этот тренд скоро исчезнет, но у меня есть другое мнение. Не могу сказать, что являются спе...

[Из песочницы] Обзорная статья по A-Frame A-Frame — это веб-фреймворк позволяющий создавать различные приложения, игры, сцены в виртуальной реальности (ВР). Все вышеописанное будет доступно прямо из браузера вашего шлема ВР. Этот инструмент будет полезен как тем кто хочет заниматься разработкой ВР игр в браузере, ...

Поймай меня, если сможешь. Версия директора «Поймай меня, если сможешь». Так называется фильм Стивена Спилберга. Я смотрел, интересно. Но не правда, хоть и основано на реальных событиях. В действительности, «поймай меня, если сможешь» — это такая игра. Я вижу эту игру каждый день, и даже участвую в ней. И чувствую се...

[Перевод] Почему на собеседованиях так часто спрашивают про связные списки Примечание переводчика: оригинальная статья опубликована в серии твитов Вероятно, вы уже читали кучу объяснений, почему обработка связных списков — плохой вопрос для собеседования. Я же в первую очередь хочу объяснить, откуда он вообще взялся. Всем пристегнуться, погружаем...

[Перевод] 10 советов и приемов, которые помогут вам стать лучшим разработчиком на VueJS Перед вами вольный перевод статьи 10 Tips & Tricks to make you a better VueJS Developer с сайта Dev.to. Автор расскажет нам об интересных и полезных вариантах применения привычных нам средств VueJS. Введение Мне действительно нравится работать с VueJS и каждый раз, когда...

SEGA Mega Drive mini с 40 играми дебютирует в сентябре В прошлом году Sony вернула классические игровые тайтлы PlayStation в консоли PlayStation Classic, которая получила библиотеку из 20 игр и компактные габариты. А в сентябре 2019 состоится воскрешение легендарной приставки SEGA Mega Drive 16 бит.

Особенности тестирования мобильной ММО Недавно довелось пообщаться с Алексеем Нелюбовым — QA-директором компании Datcroft Games. Сейчас ребята работают над мобильным ММО Action Pixel Wars, проект находится в стадии софтланча. Отдел тестирования сопровождал игру на каждом этапе ее развития, и я решил, что из расск...

Разработка чат-бота (laravel+botman) Welcome! Я, как junior full stack разработчик, при попытке написать бота с использованием laravel и botman’а столкнулся с многими проблемами. Во-первых, я плохо знаю английский, а на русском статей очень мало на эту тему, а те, что есть не помогли мне решить мои проблемы. В ...

Обзор игры Gris для iPhone и iPad: медитативная, умная игра с продуманным анимированным миром и крутым оригинальным саундтреком Испанские разработчики из Nomada Studio явно хотели выделиться из общей массы своим дебютным проектом. Сам по себе эффектный визуальный ряд платформера значит многое, но создатели Gris сумели сделать из игры образец современного искусства. Или же они своему творчеству придал...

Разрабатываем приложение, которое отсылает данные другим приложениям (экосистемное приложение) Привет, хаброжители! Это моя вторая статья про разработку своего проекта. Тем, кто не читал предыдущая статейку: она про то, как из одного места (гугл таблицы) автоматически экспортировать данные в другое (ноушн). Сегодня я расскажу, как я писал (и проектировал) библиотеку...

[Перевод] Angular без zone.js: максимум производительности Angular-разработчики в большом долгу перед библиотекой zone.js. Она, например, помогает достичь в работе с Angular почти волшебной лёгкости. На самом деле, практически всегда, когда нужно просто поменять какое-нибудь свойство, и мы меняем его, ни о чём не задумываясь, Angula...

Project xCloud получил поддержку 50 игр В попытке привлечь больше игроков из Stadia, Microsoft объявила в четверг, что она добавляет более 50 новых игр в свой сервис потоковой передачи игр Project xCloud. Новые игры включают Madden NFL 20, Devil May Cry 5 и Tekken 7. В настоящее время xCloud доступен только для те...

Huawei не разрабатывает систему-заменитель Android Нас долго держали в неведении, слухи ходили по сети, каждый толковал, как хотел, выдвигал гипотезы, но теперь появилось опровержение. Представители компании сообщили репортёрам в Брюсселе, что Hongmeng не будет выпущена на смену Android. Huawei действительно работает над э...

Видео: Assassin’s Creed III, Unravel Two, Grid Autosport и Hellblade для Nintendo Switch Nintendo на последней презентации Direct сделала массу анонсов, включая версии известных игр для её гибридной консоли Switch. Среди прочих были подтверждены варианты таких проектов, как Assassin’s Creed III Remastered, Unravel Two, Grid Autosport и Hellblade: ...

Upgrade дисковой подсистемы старого сервера с шиной PCIe 1.0 — 2.0 Почему темой данной статьи выбран апгрейд дисковой подсистемыПонятно, что в первую очередь нужно, как правило: Увеличить оперативную память. Это настолько очевидный ход, что я даже не счёл нужным писать об этом в основной статье Поставить дополнительный процессор(ы) или за...

Подарок к 9 мая Близится 9 мая. (Тот кто будет читать этот текст позже — сегодня 8 мая 2019 года). И в этой связи я хочу сделать нам всем вот какой подарок. Совсем недавно я обнаружил у себя в стопке заброшенных CD-дисков игру Return to castle Wolfenstein. Смутно припоминая, что «кажется,...

[Перевод] Thinking with Portals: создаём порталы в Unreal Engine 4 В этой статье я расскажу, как создавать порталы в Unreal Engine 4. Я не нашёл никаких источников, подробно описывающих такую систему (наблюдение сквозь порталы и проход через них), поэтому решил написать собственную. Что такое портал? Давайте начнём с примеров и объяснения...

PS4 Remote Play скоро получит поддержку любых устройств с Android 5.0 и DualShock 4 Многие знакомы со Steam Link — технологией, которая позволяет стримить игры со своего ПК на мобильный. Такая же есть и у Sony. Она называется Remote Play и долгое время она работала только со смартфонами Sony и iPhone. Но скоро для запуска достаточно будет смартфона или пла...

[Из песочницы] Изучаем STM8S Медленный старт. Часть 0 МК семейства STM8S относительно STM8L/32 имеет меньший арсенал периферии, но позволяет без лишних усложнений разобраться с основами и получить необходимые навыки для работы с его старшими братьями. 0. На кого ориентирован материал, зачем и почему При написании данной стать...

Где взять аудиосемплы для ваших проектов: подборка из восьми тематических ресурсов В прошлый раз мы делали подборку ресурсов с полноценными музыкальными композициями для приложений, игр или видео. Сегодня рассказываем о площадках с библиотеками коротких звуков и семплов, распространяемых в основном по лицензиям класса Creative Commons. Читать дальше →

Про Godot, GLSL и WebGL, шейдеры используемые в мини игре Статья в основном про GLSL-шейдеры, и как я их использовал в этой мини-демке-игре. Статья разбита по такой очередности: Ссылки и краткое описание. Очень краткое описание игровой логики, и используемых возможностей Godot. Про используемые шейдеры. Еще немного про Godot, и е...

Издатель игр «Софтклаб» удалил рекламу Mortal Kombat 11 с «дракой» в библиотеке после осуждения пользователей В ролике блогер Тимур Сидельников и косплеерша Ирина Мейер в образах персонажей игры сражаются за комикс.

[Перевод] История 3dfx Voodoo1 Это вторая статья из серии «3D-карты конца 90-х, на которых работал Quake». В первой части мы рассмотрели Rendition Vérité 1000 конца 1996 года и специальный порт игры для неё под названием vQuake. Rendition удалось победить всех на рынке Quake. На короткий промежуток време...

[Перевод] Дизайн геймплея, основанный на принятии решений (Эта статья изначально была опубликована в Gamasutra Online Magazine) Чтобы развить полезное понимание системы, нужно знать, как система работает изнутри, на самом нижнем уровне. Даже полное запоминание каждого входного сигнала и реакции на него, связанной с этой системой...

Разработка новой ветки продукта: как избавиться от непрактичного и сохранить полезное Привет, Хабр! Меня зовут Дмитрий, я разработчик в ISPsystem. Недавно мы выпустили в бета-тестирование новую версию панели управления виртуальными машинами. Сегодня я расскажу, как мы решали, что взять из старого продукта, а от чего лучше отказаться. Пройдусь по самым важны...

Как создать Python wrapper и не сойти с ума Недавно на Хабре прочитал статью про очень полезный инструмент, и так как я уже давно искал какой-то проект, чтобы начать контрибьютить, решил посмотреть, что там есть на гитхабе и чем можно помочь. Одно из issue было на счет создания обертки (дальше буду использовать wrappe...

Математика и игра «Сет» Кто найдет тут «сет», получит от меня шоколадку. Сет — гениальная игра в которую мы рубились лет 5 назад. Крики, вопли, фотографирование комбинаций. В правилах игры написано, что ее изобрела в 1991 году генетик Марша Фалко (Marsha Falco), делая пометки во время исследова...

[Перевод] ИИ и 2048. Часть 1: Метод Монте-Карло «2048» через несколько недель исполняется 5 лет, а значит, пора написать что-нибудь, посвящённое этой замечательной игре. Особенно познавательна тема самостоятельной игры искусственного интеллекта в головоломку. Способы реализации есть самые разные и сегодня разберём отно...

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

[Из песочницы] Организация интерфейса в Unity с UI Canvas В Unity есть хорошая система для создания пользовательского интерфейса UI Canvas. По ней написано довольно много обучающего материала, но большинство гайдов рассказывает только о том, какие кнопки нажать и какой код написать, чтобы все заработало. В качестве примеров обычно ...

[Перевод] Семь книг для тех, кто хочет стать гейм-дизайнером В этой статье рассказывается о том, когда и как дизайн игр стал профессией, а также о том, как он сформировался в отдельную дисциплину. Также мы предложим 7 книг, которые нужно прочитать каждому гейм-дизайнеру. Мы объясним, что особо ценного в этих книгах и как они позволят...

[Из песочницы] Забытый enchantjs + новый 1С-Битрикс = Игра для мотивации клиентов Акции в интернет-магазинах бывают разные, а вот как их сделать визуально интересными для клиента — всегда вопрос, мы попробовали превратить обычную акцию в которой есть обычные статистические показатели клиента в игру в стили Dendy. Читать дальше →

[Перевод] Примеры C++ кода до и после Ranges Снова здравствуйте. Перевод следующего материала подготовлен специально для студентов курса «Разработчик C++», занятия по которому стартуют уже 27 июня. Библиотека Ranges была принята в C++20 на совещании стандартного комитета в Сан-Диего в ноябре прошлого года. Библиотек...

С игрой Quake II RTX в 4K не справляется даже видеокарта GeForce RTX 2080 Ti Компания Nvidia на днях представила игру Quake II RTX. Это старый добрый Quake II, но с поддержкой эффектов, основанных на трассировке лучей. Официальные минимальные системные требования игры включают видеокарту GeForce RTX 2060. Как оказалось, для игры в 4K недостаточ...

[Из песочницы] Sourcery для автоматического конвертирования в структуры объектов Realm В интернете, да и даже на Хабре, есть куча статей о том, как работать с Realm. Эта база данных достаточно удобная и требует минимальных усилий для написания кода, если ей уметь пользоваться. В этой статье будет описан метод работы, к которому пришел я. Читать дальше →

[Из песочницы] Разброс цен на проектирование и дизайн онлайн-сервиса от 100 тыс до 5 млн руб. Причины Эта статья для тех, кто хочет свой запустить it-стартап и понять сколько денег и времени нужно на MVP (минимальную версии), чтобы протестировать идею или сделать рабочий прототип для презентации инвесторам. После прочтения данной статьи: Вам не нужно будет отправлять 10-2...

Game Dev Sim: настольная игра про разработку игр Недавно появилась российская настольная игра, наглядно и весело дающая представление о том, как непрост труд создателя видеоигр! Немного напоминает известную игру Стартап, но сильно больше по содержанию и геймплейным возможностям. Ну и конечно специфический сеттинг про разра...

[Из песочницы] Сравнение: Svelte и React На сайте React'a есть туториал, в котором описывается разработка игры Tic Tac Toe. Я решил повторить разработку этой игры на Svelte. Статья охватывает только первую половину туториала, до реализации истории ходов. Для целей ознакомления с фреймворком этого вполне достаточно....

Распознавание объектов в режиме реального времени на iOS с помощью YOLOv3 Всем привет! В данной статье мы напишем небольшую программу для решения задачи детектирования и распознавания объектов (object detection) в режиме реального времени. Программа будет написана на языке программирования Swift под платформу iOS. Для детектирования объектов буд...

[Из песочницы] GridmiAPI — простая и гибкая библиотека Android для работы с REST&RPC Здравствуйте, хабровчане! Когда занимаешься разработкой сетевых приложений под платформу Android, понимаешь, что одно и другое приложение похоже друг на друга. С этой мыслью у большинства разработчиков инициализируется и другая мысль — «Почему бы мне не использовать какие-л...

Как работать с Google Trends — полное руководство для новичков Привет, Хабр! Заметил, что многие не знают, как работать с трендами в интернете. И тем более, не знают о существовании бесплатного сервиса, решающего эту проблему- Google Trends Сервис поможет узнать, что волнует ваших клиентов сегодня, интересен ли ваш товар рынку, как...

[Перевод] Создание системы боёв в RPG Боевые системы наших игр Rimelands: Hammer of Thor и Trulon: The Shadow Engine были высоко оценены игроками. Несмотря на то, что это два сильно отличающихся взгляда на систему боя в RPG, они имеют много общего в дизайне механик и иллюстрируют мою личную философию дизайна. В...

Издатель игр «Софтклаб» удалил рекламу Mortal Kombat 11 из-за негативной реакции пользователей В ролике блогер Тимур Сидельников и косплеерша Ирина Мейер в образах персонажей игры сражаются в библиотеке за комикс.

Что нужно знать о JavaScript Engine Switcher 3.0 JavaScript Engine Switcher изначально создавался как вспомогательная библиотека и его развитие во многом определялось потребностями библиотек, которые его использовали. Фактически каждая его мажорная версия решала одну или несколько крупных задач необходимых для дальнейшего...

Энтропийное кодирование rANS или как написать собственный архиватор Эта статья может быть интересна тем, кто занимается сжатием данных или хочет написать собственный архиватор. Статья написана, в основном, по материалам блога, который ведёт Fabian Giesen. Читать дальше →

Делаем UITableView. Для начинающих Новогодние праздники прошли, а мое стремление писать полезные и не очень статьи — нет! Сегодня поговорим о UITableView, работе с UITableViewDataSource и переиспользовании ячеек. Затронем как установить рут контроллер без сториборда, ошибки при работе с таблицей, лейаут и бол...

Как я создавал Recycle! VR В предыдущей статье мы попробовали создать базовую сцену в A-Frame, чтобы опробовать основные концепции фреймворка на практике. В этой статье я хотел бы поделится своим опытом создания игры на A-Frame — Recycle! VR. Репозиторий проекта доступен по следующей ссылке. Перера...

Redux. Простой как грабли Мне уже доводилось заглядывать в репозиторий библиотеки redux, но откуда-то появилась мысль углубиться в его реализацию. Своим в некотором роде шокирующим или даже разочаровывающим открытием я хотел бы поделиться с сообществом. TL;DR: базовая логика redux помещается в 7 ст...

Redmi Note 8 Pro и Honor 9X Pro сравнили в играх Как мы уже сообщали, Redmi Note 8 Pro стал первым в мире смартфоном, который получил сетевой сертификат TUV Rheinland. Последний гарантирует стабильное постоянное подключение к Сети с минимальной задержкой даже в сложных условиях. Это было создано для того, чтобы польз...

[Из песочницы] Что нужно для разработки игр и кем реально является разработчик игр Большинство людей (нормальных), которые планируют заниматься программированием (как хобби или основной профессией) обычно задаются вопросами: «Что такое программирование?», «Зачем мне нужно программирование?», «Какой язык я буду учить?», «Что я получу в итоге?». Таким был и...

[Перевод] Как написать смарт-контракт на Python в сети Ontology. Часть 1: Blockchain & Block API Это первая часть из серии обучающих статей о создании смарт-контрактов на Python в блокчейн сети Ontology при помощи инструмента разработки смарт-контрактов SmartX. В этой статье мы начнём знакомство с API смарт-контракта Ontology. API смарт-контракта Ontology разделен н...

[Перевод] Процедурные дороги в Houdini и Unity Для моей постапокалиптической игры Frameshift мне нужно было заполнить очень большой открытый мир разнообразными городами. В нашей команде всего 3 человека, поэтому я, разумеется, воспользовался процедурной мощью Houdini! Раньше, когда не знал о Houdini, я писал на C# соб...

21 июня, Москва, Deworkacy — AnalyzeIT MeetUp #2 Привет! По традиции, митап пройдет в Deworkacy и будет бесплатным, надо лишь зарегистрироваться. В пятницу, 21 июня, в 19.00 наши ребята расскажут, как аналитикам работается в банке и по какому количеству граблей они успели пройтись за 6 лет работы. Мы поговорим про личн...

Игра фреймворков: тренды JavaScript в 2019 TypeScript против ES6, React против Angular, Jest против Mocha… Не хуже нашумевшего сериала, эти «битвы» держат поклонников JavaScript в напряжении, заставляя их задумываться: «Что же учить дальше?» К тому же, армии пользователей каждой из технологий приводит настолько убеди...

[Из песочницы] Git и командная разработка (для чайников) Введение Привет! Если ты сюда зашел, значит тебя заинтересовал вопрос, как программисты работают в команде. Если до этого ты работало только в соло, то тебе, наверно, кажется, что в команде работать проще, ведь больше рук и значит можно гораздо быстрее справиться с работой. ...

[Перевод] Как состязательные игры помогают работать эффективнее Я играю в компьютерные игры с пяти лет. Первой моей игрой стала GTA, вышедшая в 2001 году, которая тогда была чем-то вроде того, что представляет собой Fortnite сегодня, только оффлайн и намного менее социальная. Со временем я вырос и увлекся играми, требующими стратегичес...

[Перевод] Приёмы в проектировании пользовательского интерфейса, которые сэкономят время В переводе этой статьи автор приводят ряд советов и приёмов, которые упростят жизнь при проектировании дизайна пользовательского интерфейса. В статье даны сведения о полезных и экономящих время возможностях работы таких программ как Sketch, Adobe Illustrator, Figma, Adobe XD...

[Перевод] Почему жульничает дружественный ИИ в Ghost Recon Wildlands При создании игр разработчики одержимы желанием создать для игроков интересный и увлекательный игровой процесс: поставить их в новые условия или по-новому взглянуть на знакомые. И иногда для этого необходимо немного сжульничать. Разработчики вносят небольшие изменения в сист...

[Из песочницы] Использование SQLite в Unity (Unity + SQLite) Всем привет, данная публикация будет посвящена работе с встраиваемой реляционной базой данных SQLite в Unity. Данная статья написана новичком для новичков с целью показания работы с SQLite, предполагается, что вы знаете основы SQL. Так как в интернете нет ясного тутора для н...

Halo: Reach войдёт в Master Chief Collection 3 декабря на ПК и Xbox One На фестивале X019 Брайан Джаррард, директор по связям с общественностью в студии 343 Industries, сообщил, что 3 декабря этого года Halo: Reach войдёт в состав Halo: The Master Chief Collection на ПК и Xbox One. На ПК все шесть игр коллекции можно приобрести за 725 рублей в ...

Вычисляем символьные выражения с нечеткими треугольными числами в python Привет, Хабр! Сегодня миниатюрный туториал о том, как сделать разбор строки с математическим выражением и вычислить его используя нечеткие треугольные числа. При соответствующих изменениях кода туториал сгодится для работы и с другими «кастомными» переменными. Требования: ...

AERODISK Engine: Катастрофоустойчивость. Часть 1 Привет, читатели хабра! Темой этой статьи будет реализация средств катастрофоустойчивости в системах хранения AERODISK Engine. Изначально мы хотели написать в одной статье про оба средства: репликацию и метрокластер, но, к сожалению, статья получилась слишком большой, поэто...

Диздок-десятистраничник — шаблон по книге Скота Роджерса с примером на игру от Pixonic В данной статье я приведу пример составления дизайн-документа для разработки игры в формате десятистраничника. В начале будет приведён общий шаблон документа, предлагаемый Скотом Роджерсом в его книге «Level up. The guid to great video game design» [1]. Затем будет выложен...

Один из методов получения профиля рабочей нагрузки и истории ожиданий в PostgreSQL Продолжение статьи "Попытка создать аналог ASH для PostgreSQL ". В статье будет рассмотрено и показано на конкретных запросах и примерах — какую же полезную информацию можно получить с помощью истории представления pg_stat_activity. Предупреждение. В силу довольно большого ...

GOSTIM: P2P F2F E2EE IM за один вечер с ГОСТ-криптографией Будучи разработчиком PyGOST библиотеки (ГОСТовые криптографические примитивы на чистом Python), я нередко получаю вопросы о том как на коленке реализовать простейший безопасный обмен сообщениями. Многие считают прикладную криптографию достаточно простой штукой, и .encrypt() ...

Через тернии к игре мечты — прогресс и эволюция существ Всем привет! Мы продолжаем работать над игрой “мечты” Another Way. Это уже третий пост на эту тему, с предыдущим вы можете ознакомиться по ссылке — Через тернии к игре мечты — месяц спустя. Я не писал о прогрессе чуть более месяца, скопилось много много информации, поэтому...

Бизнес на свои: мы написали книгу с тактикой прохождения этой игры Привет! Я хотел сказать, что вчера вышла третья наша книга, и тоже очень помогли посты с Хабра (а частично и вошли). История такая: на протяжении примерно 5 лет к нам подходили люди, которые не умели в проектное мышление, не понимали разные вопросы бизнеса и задавали одни ...

Как организовать работу над библиотекой общих компонентов Если ваша компания делает несколько продуктов в едином стиле, однажды вам в голову придет идея сделать библиотеку с общим кодом. Например, с UI-компонентами, сервисом авторизации или для работы со сторонними API. Возможно, вы зададитесь вопросами: кто должен поддерживать это...

[recovery mode] Как я свою онлайн игру создавал. Часть 1: Работа с сетью Привет всем! У меня недавно был отпуск, и появилось время спокойно попрограммировать свои домашние проекты. Захотел я, значит, свою простенькую онлайн игру сделать на Rust. Точнее, простенькую 2D стрелялку. Решил сначала сделать сетевую часть, а там уже видно будет, что да...

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

Компоненты-агностики в Angular Когда работаешь над библиотекой переиспользуемых компонентов, вопрос API встает особенно остро. С одной стороны, нужно сделать надежное, аккуратное решение, с другой — удовлетворить массу частных случаев. Это относится и к работе с данными, и к внешним особенностям различных...

[Перевод] Автоматически импортируем избранные библиотеки в IPython или Jupyter Notebook Всем привет! Сегодня мы разберем очень короткий, но полезный лайфхак о том, что нужно сделать, чтобы не вводить, к примеру, «import pandas as pd» по 10 раз в день. Для этого нужно: Перейти к ~/.ipython/profile_default; Создать папку с именем startup, если ее там еще нет; ...

[Из песочницы] Трехмерное моделирование в современном мире Сегодня я расскажу вам о том, что такое 3D-моделирование, каким оно бывает, где его применяют и с чем его едят. Эта статья в первую очередь ориентирована на тех, кто только краем уха слышал, что такое 3D-моделирование, или только пробует свои силы в этом. Поэтому буду объясн...

Впечатляющие пейзажи Wilderless — новой игры в открытом мире от автора Nimian Legends Серия Nimian Legends — это две игры, созданные в первую очередь для того, чтобы продемонстрировать возможности современных смартфонов. Разработчик проектов, Prototop Games, объявил, что работает над новой игрой, которая будет называться Wilderless. Как и Nimian Legends, нови...

[Перевод] Генератор подземелий на основе узлов графа В этом посте я опишу алгоритм процедурной генерации уровней двухмерного подземелья с заранее заданной структурой. В первой части будет представлено общее описание, а во второй — реализация алгоритма. Введение Алгоритм был написан как часть работы на получение степени бакал...

Вместе пытаемся сломать игру «7 на 9» Сегодня будет маленький этюд просто понять, интересно ли вам такое. В общем, есть такой дядька Алексей Савватеев, который читает потрясающий курс по теории игр. Он же написал книгу «Математика для гуманитариев», где очень тонко постебался над всеми гуманитариями. Просто это ...

Что делать, чтобы получать нормальные деньги и работать в комфортных условиях будучи программистом Этот пост вырос из комментария к одной статье здесь, на Хабре. Вполне обычного комментария, разве что сразу несколько человек сказали, что было бы очень хорошо оформить его в виде отдельного поста, а МойКруг даже не дожидаясь этого опубликовали этот самый комментарий отдельн...

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

[Перевод] Введение в Redis с использованием Spring Boot Перевод статьи подготовлен специально для студентов курса «Разработчик на Spring Framework». В этой статье мы рассмотрим основы использования Redis через Spring Boot с помощью библиотеки Spring Data Redis. Мы создадим приложение, которое демонстрирует, как выполнять CR...

TDD приложений на Spring Boot: тонкая настройка тестов и работа с контекстом Третья статья в цикле и небольшое ответвление от основной серии — в этот раз я покажу как устроена и как работает библиотека интеграционного тестирования Spring, что происходит при запуске теста и как можно тонко настраивать приложение и его окружения для теста. Читать дальш...

Настройка Firefox в Linux Решил написать о настройке Firefox для Linux. В интернете похожие статьи то же есть, но в основном они по старым версиям браузера. Радикальных отличий в настройке Firefox для Linux или для Windows нет, однако есть свои особенности. Читать дальше →

Делаем домашнюю библиотеку с Notion и Python Мне всегда было интересно, как бы получше распределить книги у себя в электронной библиотеке. В итоге пришел к такому варианту с автоматическим подсчетом количества страниц и прочими плюшками. Всех заинтересованных прошу под кат. Читать дальше →

Геймплей и системные требования Wasteland 3 Студия InXile Entertainment показала геймплей и раскрыла системные требования к своей будущей постапокалиптической ролевой игре Wasteland 3. Вся информация доступна на странице игры в Steam. Минимальные системные требования: ОС: Windows 7/8/8.1/10 (64-bit). Процессор:...

Как стать разработчиком игр, если ты риелтор Добрый день, Хабр. Два года и несколько месяцев назад, я написал здесь своей первый и единственный пост, как, не имея никакого опыта разработки игр, я создал свое первое android-приложение. Пусть и потратил на это весь свой тогдашний отпуск. Хотя игрой это было и сложно наз...

[Перевод] Фэнтезийная игра с 300 тысячами рас Когда я начинал работать над Warsim: the Realm of Aslona, в ней было всего две расы — люди (Humans), создавшие несколько королевств, групп бандитов и бунтовщиков, и гоблины (Goblins), у которых было несколько королевств и кучка племён. На момент беты Warsim 0.7.4 в игре насч...

Классическая мобильная метроидвания Waking Mars теперь доступна по подписке GameClub Сервис GameClub прошел в наших широтах почти незамеченным, особенно на фоне Apple Arcade. Для тех, кто не знает, о чем речь, GameClub — это такая же возможность играть в десятки игр по подписке. Даже цена та же — всего 199 рублей в месяц для России. Главное отличие в том, чт...

[Из песочницы] Изменяем содержимое нотификации приложения iOS Привет! В этой статье я хочу поделиться своим опытом использования одного не очевидного (по крайней мере для меня) варианта изменения текста уведомления приложения, отправкой дополнительных данных через UNUserNotificationCenter. Я надеюсь эта статья будет полезна для нович...

Где брать аудио для разработки игр и других коммерческих проектов? Библиотеки со звуками природы Существует множество сервисов и приложений для релаксации, в которых можно послушать звуки природы. Но что если вы хотите использовать такие аудиозаписи в рамках собственного проекта? В подборке расскажем о пяти библиотеках, откуда можно скачать реальные звуки природы и ис...

Про установку и использование LineageOS 16, F-Droid Предлагаю вашему вниманию инструкцию как оптимально(по моему мнению) перейти на свободное программное обеспечение при использовании смартфона на примере операционной системы LineageOS(далее сокращённо LOS) и приложений из F-Droid. Я думаю, что это статья будет вам интересна,...

[Перевод] 34 open source библиотеки Python (2019) Мы просмотрели и сравнили 10 000 open source библиотек для Python и выбрали 34 самые полезные. Мы сгруппировали эти библиотеки в 8 категорий. Читать дальше →

История о том, как мы иконку PVS-Studio меняли Релиз 7.0 ознаменовал новую веху в истории анализатора PVS-Studio – теперь доступен анализ не только кода, написанного на C, C++, C#, но также и Java. Кроме этого глобального нововведения продолжают улучшаться и дорабатываться существующие механизмы анализа, добавляются ди...

Из риелтора в разработчика игр 2. «Операция: Андроид» Добрый день, Хабр. Две моих предыдущих статьи (раз, два) вы приняли очень тепло и даже выдвинули в топ, поэтому и продолжение не заставило себя ждать. Всего-то полгода, не такой уж и большой срок. Для тех, кто не в курсе – меня зовут Тим, мне 30 лет, я риелтор и сейчас пыта...

Делаем современное веб-приложение с нуля Итак, вы решили сделать новый проект. И проект этот — веб-приложение. Сколько времени уйдёт на создание базового прототипа? Насколько это сложно? Что должен уже со старта уметь современный веб-сайт? В этой статье мы попробуем набросать boilerplate простейшего веб-приложения...

[Из песочницы] Создание библиотеки в стиле Spring Data Repository своими руками при помощи Dynamic Proxy и Spring IoC А что если бы можно было создать интерфейс, например, такой: @Service public interface GoogleSearchApi { /** * @return http status code for Google main page */ @Uri("https://www.google.com") int mainPageStatus(); } А затем просто внедрять его ...

Установка и настройка Nexus Sonatype используя подход infrastructure as code Sonatype Nexus – интегрированная платформа, с помощью которой разработчики могут проксировать, хранить и управлять зависимостями Java (Maven), образами Docker, Python, Ruby, NPM, Bower, RPM-пакетами, gitlfs, Apt, Go, Nuget, а также распространять свое программное обеспечение...

Python из C В прошлом году появилась необходимость дополнить старый проект написанный на C функционалом на python3. Не смотря на то, что есть статьи на эту тему я помучился и в том году и сейчас когда писал программы для статьи. Поэтому приведу свои примеры по тому как работать с pytho...

[Из песочницы] Как два студента сделали игру под iOS и сколько заработали на этом Ровно год назад мы с другом решили побыстрому сделать игру под iOS. Что из этого вышло и сколько нам удалось заработать я расскажу под катом. Читать дальше →

Библиотека генератора ассемблерного кода для микроконтроллеров AVR. Часть 2 Библиотека генератора ассемблерного кода для микроконтроллеров AVR Часть 2. Начало работы Как и планировалось, в этой части рассмотрим более подробно особенности программирования с использованием библиотеки NanoRTOS. Те, кто начал чтение с этого поста, могут ознакомиться с о...

[Из песочницы] Патент на настольную игру в России Недавно я и Антон Ендресяк начали второй сезон подкаста об интеллектуальной собственности «Копикаст», и в новом выпуске обсудили вопрос о правовой охране настольной игры как объекта интеллектуальной собственности. По ходу дела мы развенчали миф о невозможности патентования н...

GeekBrains приглашает на образовательную игру начинающих дизайнеров Образовательный портал GeekBrains приглашает принять участие в игре «Один день из жизни дизайнера», которая состоится 24 марта в московском офисе Mail.ru Group. За шесть часов участники, разбившись на команды, смогут погрузиться в работу дизайнера, получить базовые навыки и...

Математика в Gamedev по-простому. Триангуляции и Triangle.Net в Unity Всем привет! Меня зовут Гриша, и я основатель CGDevs. Математика – очень крутой инструмент при разработке игр. Но если скажем без понимания векторов и матриц обойтись в принципе сложно, то алгоритмы триангуляций не столь обязательная вещь, но с помощью них решается достаточн...

Игра в прятки с оптимизатором. Гейм овер, это CTE PostgreSQL 12 Эта статья — продолжение рассказа о новом в PostgreSQL 12. Мы уже разобрали SQL/JSON (патч JSONPath) в статье «Что заморозили на feature freeze 2019. Часть I. JSONPath», теперь очередь CTE. CTE CTE это Common Table Expression — общие табличные выражения, их еще называют к...

Запустился подписочный сервис GameClub с 100+ классических мобильных игр В марте этого года компания GameClub сообщила о планах выпустить переиздания классических мобильных игр, улучшив их внешний вид и адаптировав для современных устройств. За это время разработчики анонсировали десятки проектов, над которыми они работают, а теперь объявили о п...

«Ведьмак 3: Дикая охота»: как локализаторы переводили имена и названия Сегодня у нас снова геймерская тема. Поговорим об игре «Ведьмак 3: Дикая охота». Игра сама по себе отличная, одна из лучших в своем жанре. Она собрала множество наград и миллионы восторженных поклонников. Но поговорим не о самой игре, а о ее локализациях. А если точнее, т...

[Перевод] Создание дизайн-документа миссии повествовательной игры на примере Last of Us Я всегда начинаю с того, что задаю много вопросов и провожу активные исследования. За свою карьеру я успел поработать над множеством сиквелов уже существовавших франшиз. Лучшее, что ты можешь сделать в этом случае — полностью освоить жанр игры и изучить мир. Среди прочих пр...

Nvidia займётся перевыпуском классических игр с эффектом трассировки лучей Quake II RTX далеко не последняя игра, получившая поддержку трассировки лучей от Nvidia. Сообщается, что Nvidia нанимает продюсера для своего подразделения Lightspeed Studios, который возглавит работу «программы ремастеринга игры», которая добавит трассировку лучей к классич...

Вышел первый трейлер полнометражного аниме по мотивам серии игр Ni No Kuni Warner Bros. опубликовала первый трейлер полнометражного аниме по Ni No Kuni. Сюжет рассказывает о старшекласснике Ю и его друзьях, которые обретают способность перемещаться в волшебный мир. Производством аниме занимается студия Level 5, которая разработала обе части ролевой...

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

Microsoft добавит поддержку Win32-игр в Microsoft Store Microsoft сообщила, что в обозримом будущем разработчики смогут продавать свои нативные Win32-игры в магазине приложений Microsoft Store в Windows 10. «Мы понимаем, что Win32 — это формат приложений, который любят использовать разработчики игр, а геймеры любят использовать ...

[Перевод] 10 Git-команд, которые стоит знать разработчику В этой статье мы обсудим разные Git-команды, которые могут оказаться полезными для разработчика или специалиста по Big Data. Вы узнаете, как проверять, удалять и приводить код в порядок. А еще рассмотрим способы выхода из Vim и экономию времени с помощью псевдонимов Bash ...

Always on Display придет на все смартфоны Xiaomi с OLED-дисплеями Одной из полезных функций является режим Always on Display. Он позволяет с минимальной нагрузкой на аккумулятор постоянно отображать часы, информацию о пропущенных сообщениях и звонках. Это мелкая, но полезная фича возможна только при наличии целого ряда технологий, это OLED...

FFI: пишем на Rust в PHP-программе В PHP 7.4 появится FFI, т.е. можно подключать библиотеки на языке C (или, например, Rust) напрямую, без необходимости писать целый extension и разбираться в его многочисленных нюансах. Давайте попробуем написать код на Rust, и используем его PHP-программе Читать дальше →

Патентные тролли начинают и выигрывают: как я остался без игры "Балда ® – игра, знакомая всем со школьной скамьи". Очень часто описание этой словесной игры начинается с избитой фразы. Однако, такое клише хорошо отражает суть: игра Балда ® широко известна еще с тех времен, когда в школах вместо стульев были лавки. У самой игры Балда ® б...

Адаптация программ для ZX Spectrum к TR-DOS современными средствами. Часть 3 Как мы выяснили в предыдущей части, машинные коды игры загрузить с дискеты непосредственно по адресу назначения нельзя. Мы загрузим их в другое место, а после загрузки переместим куда нужно. Кроме этого, мы хотим сделать моноблочный загрузчик, когда и загрузчик и загружаемые...

Реализация физически корректных объемных облаков как в игре Horizon Zero Dawn Раньше облака в играх рисовались обычными 2D спрайтами, которые всегда повернуты в направлении камеры, но последние годы новые модели видеокарт позволяют рисовать физически корректные облака без заметных потерь в производительности. Считается, что объемные облака в игры прин...

Крадущийся тигр, затаившийся SQLAlchemy. Основы Доброго дня. Сегодня хочу рассказать про ORM SQLAlchemy. Поговорим о том, что это, про его возможности и гибкость, а также рассмотрим случаи, которые не всегда понятно описаны. Данная ORM имеет порог вхождения выше среднего, поэтому я попытаюсь объяснить всё простым языком ...

BLoC паттерн на простом примере И еще раз про BLoC на классическом примере счетчика Flutter. Читая некоторые статьи про реактивное программирование и используя BLoC паттерн в приложениях я понимал, что чего-то не догоняю. Как обычно на все не хватает времени, но вот, выдался свободный час и силы есть — реш...

[Из песочницы] Ретрогейминг: PAL vs NTSC. Или почему PAL не нужен Многие из вас знают про форматы видео как PAL, NTSC и, конечно же, SECAM. Скорее всего эти аббривеатуры вы слышали, когда речь шла о видеотехнике. Толком никто не знал в чем была между ними разница и почему они отличались. Что касательно видеоигровой индустрии, то тут уж точ...

PHP Composer: фиксим зависимости без боли Многие из вас наверняка сталкивались с ситуацией, когда в библиотеке или фреймворке, который вы используете, есть баг или нет необходимой функциональности. Предположим, вы даже не поленились и сформировали pull request. Но примут его далеко не сразу, а следующий релиз продук...

Место enum в современном изменчивом мире Есть у нас, допустим, компьютерная игра с разнополыми персонажами. Пол персонажа будет храниться в поле gender. Можно сделать это поле целым числом или строкой, но хороший программист стремится сделать некорректные состояния объектов невыразимыми, и поэтому, скорее всего, з...

Новые WD Black и WD Passport на IFA 2019 Места под хранение библиотеки игр, фото, видео и документов никогда не бывает много. Внешние и внутренние накопители будут всегда актуальными. В рамках выставки IFA 2019 компания Western Digital представила целый ряд новинок с которыми мы имели возможность ознакомиться. WD...

[Перевод] Как работает оптимизирующий компилятор Оптимизирующие компиляторы — основа современного ПО: они позволяют программистам писать код на понятном для них языке, затем преобразуя его в код, который сможет эффективно исполняться оборудованием. Задача оптимизирующих компиляторов заключается в том, чтобы понять, что де...

Сын маминой подруги завидует: как дважды выиграть Премию Алисы Вот уже почти год Яндекс вручает денежную Премию Алисы за самые популярные и интересные навыки для своего голосового ассистента. Анна Савинкова, не будучи программистом, гейм-девелопером или ux-дизайнером, разработала голосовой квест «Цитадель» в двух частях, каждой из котор...

Retentioneering: как мы open-source инструменты для продуктовой аналитики на Python и Pandas написали Привет, Хабр. Эта статья посвящена итогам четырехлетней разработки набора методов и инструментов обработки траекторий движения пользователей в приложении или на сайте. Автор разработки — Максим Годзи, который стоит во главе команды создателей продукта, он же — автор статьи. ...

[Из песочницы] Процесс компиляции программ на C++ Цель данной статьи: В данной статье я хочу рассказать о том, как происходит компиляция программ, написанных на языке C++, и описать каждый этап компиляции. Я не преследую цель рассказать обо всем подробно в деталях, а только дать общее видение. Также данная статья — это необ...

Autoscaling своими руками с помощью AWX, Ansible, haproxy и Облака КРОК Какое-то время назад мы сделали безагентский (Agentless) мониторинг и алармы к нему. Это аналог CloudWatch в AWS с совместимым API. Сейчас мы работаем над балансировщиками и автоматическим скейлингом. Но пока мы не предоставляем такой сервис — предлагаем нашим заказчикам сд...

Nvidia опубликовала системные требования Quake 2 RTX Компания Nvidia выложила в Steam системные требования Quake 2 RTX — фанатской модификации, которая добавляет в классическую игру технологию трассировки лучей в реальном времени. Для комфортной игры в Quake 2 RTX вам понадобится: Операционная система: Windows 7 64-битная ве...

[Перевод] Конференция DEFCON 19. Взламываем MMORPG ради веселья и прибыли. Часть 2 Конференция DEFCON 19. Взламываем MMORPG ради веселья и прибыли. Часть 1 Джош Филлипс: как мы говорили, все хаки довольно просты, и их использование иногда не требует никаких навыков, достаточно просто творческого подхода к делу. Для использования «суперсилы» вам не обязате...

Игра Nintendo ‘Mario Kart Tour’ для iOS, запускается 25 сентября Новую игру Nintendo, Mario Kart Tour, планируется запустить на устройствах iOS 25 сентября, сообщила компания в Twitter. Начиная с мая, Nintendo предложила бета-версию игры нескольким пользователям в Соединенных Штатах и ​​Японии. Как и в случае с консольной версией игры, M...

[Перевод] React, JSX, импорт ES модулей (в том числе динамический) в браузере без Webpack Эта статья — попытка свести воедино имеющиеся на текущий момент средства и выяснить, возможно ли создавать production ready приложения на React без предварительной компиляции сборщиками типа Webpack, или по крайней мере свести такую компиляцию к минимуму. Все описанное носит...

Заметки фитохимика. Радио-банан Каждое чудо должно найти свое объяснение, иначе оно просто невыносимо… К.Чапек Я практически не касаюсь в своих статьях вещей, которые повсеместно описаны и легко доступны, к примеру макро- и микроэлементного состава фруктов/овощей. Но вот для банана решил сделать исключени...

Yandex Retro Games Battle 2019 — разрабатываем игры для ZX Spectrum Привет! Меня зовут Дмитрий Пугачев, я помогаю развивать музей Яндекса, в котором наша команда собирает редкие и интересные экземпляры вычислительной техники. Недавно мы приглашали читателей Хабра посетить наш музей в рамках акции «Ночь музеев». Честно говоря, мы не ожидали, ...

[Из песочницы] Dagger 2 – это элементарно (Часть 1) Содержание Введение Что такое Dependency Injection, Пример зависимости Dagger 2 – введение Первое использование Dagger 2 Введение Статья написана не продвинутым программистом для таких же, обычными и понятными словами В статье используется пример кода на Kotlin. Версия da...

Основы работы с Neo4j в браузере В статье рассматривается как начать работать с графовой СУБД Neo4j, используя Neo4j Browser. Это руководство может быть полезным как дополнение к книге Редмонда и Уилсона "Семь баз данных за семь недель", так как рассматриваемый веб-интерфейс был полностью переработан, а так...

[Из песочницы] Использование верилятора как средства быстрого моделирования RTL проектов. Введение в UVM В данной статье будут описаны установка и применение бесплатного ПО для моделирования схем цифровой логики на языке Verilog как альтернативы коммерческих продуктов Incisve от компании Cadense и ModelSim от компании MentorGraphics. Сравнение моделирования в ModelSim и Verilat...

[Из песочницы] Анимация в мобильных приложениях: тестируем Lottie О библиотеке LottieFiles многие знают, но пробовать на практике не спешат. Статей на эту тему мало, поэтому я решила поделиться своим опытом создания анимации для мобильных приложений с помощью Lottie. Читать дальше

[Из песочницы] Учебник по JavaFX: начало работы Привет, Хабр! Представляю вашему вниманию перевод статьи «JavaFX Tutorial: Getting started» автора Vojtech Ruzicka. Как настроить и начать работать с JavaFX, с помощью Maven, Gradle или JavaFX SDK. Читать дальше →

Замыкание обобщенного типа в Rust В этой короткой статье я расскажу о паттерне в Rust, который позволяет "сохранять" для последующего использования тип, переданный через обобщенный метод. Этот паттерн встречается в исходниках Rust-библиотек и я тоже иногда его использую в своих проектах. Мне не удалось найт...

[Перевод] 50 оттенков matplotlib — The Master Plots (с полным кодом на Python) Те, кто работает с данными, отлично знают, что не в нейросетке счастье — а в том, как правильно обработать данные. Но чтобы их обработать, необходимо сначала проанализировать корреляции, выбрать нужные данные, выкинуть ненужны и так далее. Для подобных целей часто использует...

Американец потратил более миллиона долларов на игры для Денди В сети появилась информация о том, что американский дантист потратил более 1 млн долларов на приобретение редких раритетных игр для игровой консоли NES, более известной в России как Денди. На сегодняшний день его коллекция считается самой дорогой во всем мире.

Угадай бойцов Brawl Stars 1.3 Тебе нравится играть в Brawl Stars? Тогда эта игра для тебя. Знаешь всех бойцов из Brawl Stars? Тогда эта игра для тебя. Особенности игры Угадай бойцов Brawl Stars: Все герои Brawl Stars! 💪 Полезные подсказки! 🆘 Каждый ответ дает вам монету, которую...

Разрабатываем педальную прошивку для обучения игре на балалайке Я очень люблю видеоуроки. Почему-то информацию с текста лично я воспринимаю весьма и весьма плохо. А есть вещи, в которых информации на бумаге не так много. Возьмём, к примеру, уроки игры на балалайке: на YouTube есть замечательные разборы, как играть ту или иную мелодию (ко...

[Перевод] Как Artifact стал самым крупным провалом Valve Artifact представляет собой печальное зрелище. На момент написания статьи онлайн есть только 101 игрок, а максимум за 24 часа ненамного больше — 124 игрока. От Valve не было никаких новостей об игре с 29 мая, когда компания объявила, что разработчики «вместо выпуска обновле...

ReactiveX Redux Все, кто работает с Redux, рано или поздно сталкиваются с проблемой асинхронных действий. Но современное приложение разработать без них невозможно. Это и http-запросы к бэкенду, и всевозможные таймеры/задержки. Сами создатели Redux говорят однозначно — по умолчанию поддержив...

Опыт перевода Maven-проекта на Multi-Release Jar: уже можно, но ещё сложно У меня есть маленькая библиотека StreamEx, которая расширяет возможности Java 8 Stream API. Библиотеку я традиционно собираю через Maven, и по большей части меня всё устраивает. Однако вот захотелось экспериментов. Некоторые вещи в библиотеке должны работать по-разному в раз...

Вместо NVLink и SLI. Nvidia реализовала в драйверах режим CFR, позволяющий использовать в играх несколько GPU одновременно У пользователей видеокарт Nvidia скоро появится возможность использования в играх нескольких видеокарт одновременно, причем для этого не потребуется никаких усилий – все реализовано на уровне драйвера. Новый режим уже реализован в драйвере, а включить его можно пр...

[Перевод] Интервью — 10 вопросов про Swift. Часть 2 До запуска курса «iOS-разработчик» остается все меньше времени, поэтому сегодня мы продолжаем публиковать материал из серии «10 вопросов про Swift». Первую часть которого можно прочитать тут. Объясните дженерики в Swift? Дженерики (универсальные шаблоны) позволяют вам пис...

[Из песочницы] Дифференциальная геометрия кривых. Часть 1 Предисловие Привет всем читателям. Просто решил написать статью о дифференциальной геометрии кривых. На мой взгляд, тема из «непрерывной» математики будет большинству читателей Хабра полезна, по крайней мере ближайший час =), учитывая что это IT ресурс, а IT это где то ближ...

Полезная help-ссылка для работы с данными Хабр, привет. Представляю вам главную help-ссылку для работы с данными. Материал в Гугл-доке подойдет как профессионалам, так и тем, кто только учится работать с данными. Пользуйтесь и прокачивайте скиллы сами + делитесь с коллегами. Дальнейшее описание поста — это содержан...

[Перевод] WolframClientForPython | Новая клиентская библиотека Wolfram Language для Python Оригинал перевода в моём блоге Получение полного доступа к языку Wolfram Language из языка Python Язык Wolfram (Wolfram Language) дает программистам в руки уникальный язык с огромным множеством сложных алгоритмов, а также встроенных знаний об окружающем мире. На протяжении...

Составлен рейтинг самых высокооцененных игр 2019 года Чарт возглавила последняя серия легендарного хоррора Resident Evil 2. Игра набрала 92 балла. За ней, с минимальным отставанием в 1 балл, следуют экшен Sekiro: Shadows Die Twice и многопользовательская ролевая онлайн-игра Final Fantasy XIV: Shadowbringers.

[Из песочницы] В каких странах выгодно регистрировать IT-компании в 2019 году IT-бизнес остаётся направлением с высокой маржинальностью, далёко опережая производство и некоторые другие виды услуг. Создав приложение, игру или сервис, можно работать не только на локальных, но и на международных рынках, предлагая услуги миллионам потенциальных клиентов. ...

Тест: подходит ли тебе удаленка (не фриланс!)? Эта статья для тех, кто задумывается, стоит ли пробовать удаленную работу, и взвешивает риски: стиль жизни существенно поменяется, мало ли, что пойдет не так, а вернуться обратно будет непросто. Я не буду преподносить удаленку как райское наслаждение на пляжике под пальмочко...

Как загрузить OpenStreetMap в Hive? В прошлой статье я рассмотрел обратное геокодирование средствами Spark. Теперь представим, что перед нами встала задача прямого геокодирования почтовых адресов. То есть, получения для записанного текстом адреса неких географических координат. Адреса для определенности росс...

Разработка Unix подобной OS — Многозадачность и системные вызовы (7) В предыдущей статье мы научились работать с виртуальным адресным пространством. Сегодня мы добавим поддержку многозадачности. Читать дальше →

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

Battleborn официально закрывается Начиная с 24 февраля 2020 года, валюта в игре не будет покупаться, но играть в иргу можно. Это первая фаза закрытия. Вторая фаза начнется в январе 2021 года, когда серверы будут переведены в автономный режим навсегда, что сделает игру непригодной для игры. Игра не пользовала...

Empire Warriors TD 0.6.9 Empire Warriors TD это игра сочетание TD-стратегии и RPG. Вам придётся отправится на далекий фэнтезийный континент, где сосуществуют люди, эльфы, гномы и прочие фантастические существа. Вам предстоит давать отпор армиям врагов, идущих на его земли. Делать это он будет с п...

Принципы построения REST JSON API Эта памятка писалась для внутренних нужд (открыть глаза менее опытным в вебе коллегам). Но, т.к. я насмотрелся велосипедов от довольно уважаемых, казалось бы, контор, — выкладываю на хабр. Мне кажется, многим будет полезно. Зачем Надеюсь, читающий уже понимает, зачем ему во...

Как адаптировать UX/UI под permissions Во многих проектах существует процессы аутентификации (в той или иной степени). Написано много “бест практис” во всех известных технологиях и т.д. и т.п. Но вот пользователь сделал логин и? Ведь он далеко не всё может сделать. Как определить что он может видеть, а что нет. ...

[Перевод] Встречайте Big Data Tools: поддержка Spark и Zeppelin-ноутбуков в IntelliJ IDEA У нас отличные новости. Мы рады объявить о выходе Big Data Tools — нового плагина для IntelliJ IDEA, который обеспечивает интеграцию со Spark и поддерживает редактирование и запуск Zeppelin-ноутбуков. Теперь вы можете создавать, редактировать и запускать Zeppelin notebooks п...

Метод дублирования. 11 примеров из конструкции ДВС Дублирование (от французского doubler удваивать) в системе это вид резервирования, имеющего минимальную избыточность. Статья эволюция развития автомобильных двигателей с начала 90-х годов вызвала интерес, и сильное обсуждение преобразований в двигателестроении. Эта стать...

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

[Перевод] История создания первой Diablo Больше двадцати лет назад Дэвид Бревик участвовал в создании Blizzard North. Также он сыграл важную роль в разработке хита студии — Diablo. «Оригинальный концепт я придумал ещё в старшей школе», — рассказывает Бревик, посещавший школу в Области залива Сан-Франциско (назван...

Решение задания с pwnable.kr 07 — input. Разбираемся с pwntools В данной статье разберем решение многоуровнего задания с помощью библиотеки pwntools. Организационная информацияСпециально для тех, кто хочет узнавать что-то новое и развиваться в любой из сфер информационной и компьютерной безопасности, я буду писать и рассказывать о след...

Assassin’s Creed III Remastered — системные требования Assassin’s Creed III Remastered выйдет на консолях и ПК 29 марта (на Nintendo Switch — 21 мая). Разработчики напоминают о том, что игра будет поддерживать HDR и разрешение 4K. Для запуска проекта в формате 1080р и на минимальных настройках потребуется: Windows 7 SP1,...

[Из песочницы] Создание системы расширения на библиотеке Qt Плагины(Расширения) Расширения это совместно используемая динамическая библиотека предназначения для загрузки в процессе исполнения основного приложения, которая обязательно должна реализовывать хотя бы один специальный интерфейс. Расширения делятся на два типа: Для Qt Дл...

[Из песочницы] Тестирование локализации мобильных игр для чайников от чайника Введение Я уже полгода работаю тестеровщиком мобильных игр и хотел немного рассказать о своём самом любимом тестировании — Тестировании локализации. В этой статье я поделюсь своим опытом тестирования именно локализации, в основном будет опора именно на локализацию текста. Н...

Библиотеки Electronic Arts почти хорошего качества Наше внимание привлёк репозиторий Electronic Arts на GitHub. Он очень маленький и из двадцати трёх проектов нас заинтересовали только несколько C++ библиотек: EASTL, EAStdC, EABase, EAThread, EATest, EAMain и EAAssert. Проекты оказались тоже очень маленькими (около 10 файлов...

[Перевод] Раф Костер: «Community Cookbook» Полезный материал для модератеров Пикабу, Хабра, урбанистов, чиновников, колонистов на Марсе/Луне и всем тем, кто планирует править этим (или еще каким) миром. Слово Рафу Костеру, легенде геймдева, Ultima Online, Star Wars Galaxies, геймификации, автору книги «A Theory of Fu...

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

REST Assured: что мы узнали за пять лет использования инструмента REST Assured — DSL для тестирования REST-сервисов, который встраивается в тесты на Java. Это решение появилось более девяти лет назад и стало популярным из-за своей простоты и удобного функционала. В DINS мы написали с ним более 17 тысяч тестов и за пять лет использования ст...

[Из песочницы] Аппаратный bit banding CortexM3/M4(ARM), архитектура ядра, ассемблер, С/C++14 и капля мета программирования Введение Внимание, это не очередная «Hello world»статья о том как помигать светодиодом или попасть в свое первое прерывание на STM32. Однако, я постарался дать исчерпывающие объяснения по всем затрагиваемым вопросам, поэтому статья будет полезна не только многим профессионал...

Опыт создания первого робота на Ардуино (робот-«охотник») Здравствуйте. В данной статье я хочу описать процесс сборки своего первого робота на ардуино. Материал будет полезен другим таким же новичкам, как и я, которые захотят изготовить какую-нибудь «самобеглую тележку». Статья представляет собой описание этапов работы с моими доп...

[Из песочницы] Выбор между XML и SQL для накатывания скриптов LiquiBase на примере Java/Spring/H2 В процессе работы над очередным проектом в команде возникли споры по поводу использования формата XML или SQL в Liquibase. Естественно про Liquibase уже написано много статей, но как всегда хочется добавить свои наблюдения. В статье будет представлен маленький туториал по со...

Немного Ferrari: Финтех-стартап Rally Rd позволит покупать «акции» редких автомобилей Изображение: Unsplash Нью-Йоркский финтех-стартап Rally Rd позволяет инвестировать в редкие коллекционные автомобили, вроде Ferrari, Porsche или Lamborghini Для этого инвесторам не обязательно обладать суммой, достаточной для покупки всего автомобиля. В продажу будут вы...

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

[Перевод] Как работает рендеринг 3D-игр: обработка вершин В этом посте мы рассмотрим этап работы с вершинами. То есть нам придётся снова достать учебники по математике и вспомнить линейную алгебру, матрицы и тригонометрию. Ура! Мы выясним, как преобразуются 3D-модели и учитываются источники освещения. Также мы подробно объясним р...

[Перевод] Разработка Adblock Radio tl;dr: Adblock Radio распознаёт аудиорекламу с помощью машинного обучения и Shazam-подобных техник. Основной движок с открытым исходным кодом: используйте его в своих продуктах! Можно объединить усилия для поддержки большего количества радиостанций и подкастов. Мало кому н...

Drimsim vs Mate 20 Pro, раунд! Но за кем? Эта небольшая статья возможно будет полезна для тех, кто пользуется Drimsim или собирается это делать в будущем. Статья — предостережение. Читать дальше →

[Из песочницы] Трансформация кода в Android Вместо вступления Всё началось с того, что мне захотелось изучить тонкости настройки Gradle, понять его возможности в Android разработке (да и вообще). Начал с жизненного цикла и книги, постепенно писал простые таски, попробовал создать свой первый Gradle плагин (в buildSrc)...

Как написать вредное API Пишите код так, как будто сопровождать его будет склонный к насилию психопат, который знает, где вы живёте. Всем привет! Я работаю тимлидом команды Integration Development в сервисе онлайн-бронирования отелей Ostrovok.ru и сегодня хотел бы поделиться своим опытом работы с ра...

Универсальный пул У нас есть ArrayPool для переиспользования массивов. Работает это так: взяли массив определенной длинны что то с ним поделали и положили обратно. Нужно это для больших объектов которые по логике программы долго не должны храниться. В предыдущей статье описана эта проблема. ...

Сервис Xbox Live появится на Android, iOS и Nintendo Switch На GDC 2019 Microsoft готовится представить новую кроссплатформенную разработку, которая позволит интегрировать Xbox Live в игры на Android, iOS, Nintendo Switch, а также ПК и консоли Xbox. В настоящее время у компании есть несколько игр с поддержкой Xbox Live на мобильных у...

[Перевод] Воссоздание старой DOS-игры на C++ 17 В 2016 году я начал работу над хобби-проектом по реверс-инжинирингу игры Duke Nukem II и воссозданию с нуля его движка. Проект имеет название Rigel Engine и выложен в open source (его страница на GitHub). Сегодня, более чем два с половиной года спустя на моём движке уже можн...

Учебные проекты на Godot — Pong (часть 2) Создание и настройка мяча Приветствую вас, хабровчане! В этой части я буду создавать и настраивать мяч для игры Pong. Если вы пропустили начало, то оно здесь. Уровень статьи по прежнему начинающий. Под катом по прежнему много скринов.Зовите детей и welcome под кат. Читать дальше →

Как зеленый джуниор в IT попал Зачем вообще эта статья, для кого и что дает читателю Для тех, кто не хочет читать много, краткий ответДля тех, кто только думает о смене профессии или уже в пути. Моя статья дает мотивации. После написания статей о bike (раз, два) меня много спрашивали о том, как я попал...

Игровая консоль и игры к ней своими руками. Little Game Engine + ESPboy Little Game Engine (LGE) – это виртуальная игровая консоль выдуманной конфигурации, с выдуманным процессором и онлайн web-SDK, состоящий из компилятора С-подобного кода в ассемблер и дальнейшей перекомпиляцией его в машинный код с возможностью исполнения этого кода там же, в...

Контент-маркетинг в США, Латинской Америке и Азии: полезные советы, ссылки и инструменты для бюджетного продвижения Изображение: Unsplash Выход за пределы родного рынка для любого стартапа – непростое испытание. У вас ограничены ресурсы, вы мало знаете о специфике продвижения в новых странах, не работали с локальными языками. Задача охватить даже минимальную аудиторию в разных концах...

Музей DataArt. Человек-машина: настольная вычислительная техника до микрокалькуляторов DataArt продолжает расширять коллекцию и рассказывать об отдельных экспонатах музея. В прошлой статье речь шла о советских мышках. На этот раз в центре внимания арифмометры и ЭКВМ — орудия производства специально обученных вычислителей. Читать дальше →

Подборка: 4 полезных сервиса для потенциальных иммигрантов в США, Европу и другие страны Тема переезда в Европу, США или другие приятные регионы мира довольно часто поднимается на Хабре. Я решил собрать в одном месте список онлайн-сервисов, которые будут полезны тем, кто всерьез задумался об иммиграции. На удивление, «живых» и активных стартапов в этой сфере н...

Несколько простых, но полезных советов по работе с геттерами в Vuex Vuex предоставляет удобные инструменты для работы с данными, но некоторые разработчики используют их не всегда по назначению, либо создают избыточные конструкции там, где можно было написать более понятно и ёмко, такое также случается, когда разработчик только знакомится с д...

Айсиошечка от Цукерберга — кратко и по делу о Libra Объявленный 17 июня 2019 года проект Libra уже наделал шума в прессе и даже большой политике, но все виденные мной статьи пестрят лозунгами и предсказаниями мрачного будущего, опуская технические детали. В этой статье я кратко изложу что же Facebook собственно обещает, как р...

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

Свой Telegram бот для отслеживания uptime своих серверов на python и docker 1. Делаем телеграм бота Для начала нужно написать бота, который будет пинговать нужные ip и посылать сообщение, когда нужный сервис пропадает из сети, а потом появляется Читать дальше →

Фил Спенсер: Xbox Scarlett должен обеспечить высокую частоту кадров и плавный геймплей На конференции E3 2019 компания Microsoft поделилась первыми подробностями об игровой консоли Xbox следующего поколения, которая разрабатывается под кодовым названием Project Scarlett. В частности, особенностями новинки называется поддержка разрешения 8K и частоты кадров до...

Мирный атом не в каждый дом: неожиданные варианты радионуклидных источников энергии Радиоизотопы в середине XX века казались почти бесконечным источником дешёвого электричества — вот-вот реакторы придут в самолёты, автомобили и даже дома, думали тогда. Но это случилось только в мире игры Fallout. Почему ядерная энергетика в тупике и застанем ли мы её зака...

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

[Из песочницы] Как рушатся стереотипы начинающего разработчика при старте игры Сегодня хотел бы уже начать свою деятельность на этом хабе и написать свою первую статью. Она будет посвящаться тому, как были в миг обрушены мои стереотипы об успешной карьере на Google Play для каждого желающего. И да, я начинающий разработчик на Google Play. Но давайте об...

Wanderlust Travel Stories — «текстовый квест 21-го века» для iOS от разработчиков The Witcher В большей мере медиа упоминают об этом для привлечения аудитории, нежели по конкретной причине, но не сказать все-таки нельзя: Wandelust — это нарративное приключение от бывших разработчиков The Witcher. Wandelust Travel Stories — это текстовое приключение о современных пут...

Терраформируй это: обзор Terragenesis В App Store/Google Play можно найти самые разные игры, поэтому я не сильно удивился, когда в одном из профильных чатов меня спросили, знаю ли я игру о терраформировании небесных тел. Посмотрев ее, решил написать небольшой обзор, потому что игра, на мой взгляд, хоть и не без ...

[Перевод] Легендарный Intel Core i7-2600K: тестирование Sandy Bridge в 2019 году (часть 3) Часть 1>> Часть 2 >> Часть 3 Игровые тесты: World of Tanks enCore Несмотря на то, что World of Tanks сильно отличается от большинства других часто играемых массовых многопользовательских онлайн-игр, он позволяет игроку очутиться в середине 20-го века и под сво...

[Из песочницы] Управление несколькими шаговыми двигателями Nema 17 одновременно или NemaStepper Всем привет. Я думаю что вы, если работали с arduino+nema 17, знаете, что запустить несколько двигателей одновременно бывает очень затруднительно. Есть разные способы решения этой проблемы, самый простой, пожалуй — использование библиотеки NemaStepper. Библиотека упрощае...

[Перевод] Продумываем персонажей игр и диалоги по советам писателей и на примере сторонников теории плоской Земли Как человек, который в качестве хобби начал делать свою первую игру без всякого опыта программирования, постоянно читаю разные туториалы и гайды по геймдеву. А как человек из PR и журналистики, который часто работает с текстом, хочу сценарий и персонажей, а не просто геймпле...

[Из песочницы] Профилируем Unity проект с Android Studio Всем день добрый! Это статья о том, как профайлить Unity игры на Android с Android Studio. Я расскажу о том, как настроить Android Studio и получить максимальное кол-во данных. Вопросы анализа и выводов на основе полученного результата находятся вне рамок данной статьи. Чита...

Apache Kafka + Spring Boot: Hello, microservices Привет, Хабр! В этом посте мы напишем приложение на Spring Boot 2 с использованием Apache Kafka под Linux, от установки JRE до работающего микросервисного приложения. Коллеги из отдела фронтэнд-разработки, увидевшие статью, сетуют на то, что я не объясняю, что такое Apache ...

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

Dungeon Boss 0.5.11573 Dungeon Boss – крутая эпичная игра в жанре RPG. Собирай армию из мифических героев, снабди их оружие и отправляйся в бой, на встречу приключения. В нашей игре вам на выбор будет выделено более ста разнообразных персонажей. В игре так же огромное многообразие оружия брон...

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

Реализация целого типа в CPython На Хабре уже были статьи о подробностях реализации менеджера памяти CPython, Pandas, я написал статью про реализацию словаря. Казалось бы, что можно написать про обычный целочисленный тип? Однако тут не всё так просто и целочисленный тип не такой уж и очевидный. Если вам и...

[Из песочницы] Стартуем библиотеку компонентов на React и TypeScript Большую часть свой работы, я пишу бэкенды, но вот на днях появилась задача начать библиотеку компонентов на React. Несколько лет назад, когда версия React была такой же маленькой, как и мой опыт фронтенд-разработки, я уже делал подход к снаряду и получилось неумело и коряво...

Использование DiagnosticSource в .NET Core: теория DiagnosticSource — это простой, но весьма полезный набор API (доступен в NuGet пакете System.Diagnostics.DiagnosticSource), который, с одной стороны, позволяет различным библиотекам отправлять именованные события о своей работе, а с другой — позволяет приложениям подписывать...

Обзор Beyond: Two Souls. Женская доля Продолжаем знакомство с переизданиями игр Quantic Dream для PC. На очереди Beyond: Two Souls — самый масштабный и неоднозначный по отзывам проект. К данной игре были привлечены известные голливудские актеры, а кинематографичность...

Анализ кода CUBA Platform с помощью PVS-Studio Для Java программистов существуют полезные инструменты, помогающие писать качественный код, например, мощная среда разработки IntelliJ IDEA, бесплатные анализаторы SpotBugs, PMD и другие. Всё это уже используется в разработке проекта CUBA Platform, и в этом обзоре найденных...

[Перевод] Робот из MIT обучается игре в «Дженгу», полагаясь на зрение и осязание Особый подход к машинному обучению может помочь роботам научиться собирать телефоны и работать с другими мелкими запчастями на конвейере В подвале 3-го корпуса MIT робот тщательно размышляет над своим следующим ходом. Он нежно тыкает башню из блоков, выискивая наиболее по...

Разделение экрана на айфоне: Split Screen [видео] В этом видео я покажу как с помощью двух приложений можно сделать разделение экрана на айфоне. Функция split screen есть на ipad, и этого порой не хватает iphone. Надеюсь в iOS 13 что-то подобное будет реализовано apple. Двойной экран может быть иногда полезен! Вот приложен...

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

PHP-Дайджест № 164 (27 августа – 9 сентября 2019) Свежая подборка со ссылками на новости и материалы. В выпуске: PHP 7.4.0 RC1, Laravel 6, Monolog 2 и другие релизы, Union Types и прочие новости из PHP Internals, порция полезных инструментов, пачка подкастов и многое другое. Приятного чтения! Читать дальше →

СКИДКА (229р → 75р) Обзор игры Sally’s Law для iPhone и iPad В 2016 году проект Sally’s Law получил звание лучшей инди-игрой в App Store. Мировой славы игра не снискала, но своих поклонников, несомненно, обрела. Sally’s Law сумела выбиться из ряда классических горизонтальных платформеров за счет необычного игрового решения. Скачать иг...

[recovery mode] «Быть Insight-Driven»: продвинутая аналитика и управление жизненным циклом моделей машинного обучения Сегодня мы хотим поговорить о концепции Insight-Driven и о том, как ее реализовать на практике c помощью DataOps и ModelOps. Insight-Driven подход — это комплексная тема, про которую мы подробно рассказываем в нашей недавно созданной библиотеке полезных материалов про управл...

Бэкап для Linux не пишет писем Всем привет! Сегодня хочу поведать о том, как управлять Veeam Agent for Linux с помощью командной строки, и о том, какие возможности она открывает в умелых руках программиста. На написание статьи меня подтолкнул комментарий к предыдущей статье. Перефразирую удивление поль...

Новый Яндекс.Браузер для десктопов помогает работать с коллекциями Вышла новая версия Яндекс.Браузера для Windows с Коллекциями, позволяющая пользователю выбирать: сохранить страницу в закладках или создать новую коллекцию. Возможность быстро открыть все свои коллекции теперь на расстоянии всего одного клика.  Яндек...

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

Обман нейронной сети для начинающих В рамках ежегодного контеста ZeroNights HackQuest 2018 участникам предлагалось попробовать силы в целом ряде нетривиальных заданий и конкурсов. Часть одного из них была связана с генерированием adversarial-примера для нейронной сети. В наших статьях мы уже уделяли внимание ...

Как подготовиться и сдать экзамен ITIL 4 Foundation ITIL (произносится как «áйтил», англ. IT Infrastructure Library — библиотека инфраструктуры информационных технологий) — библиотека, описывающая лучшие из применяемых на практике способов организации работы подразделений или компаний, занимающихся предоставлением услуг в об...

[Перевод] Как написать смарт контракт на WebAssembly в сети Ontology? Часть 2: С++ В этой статье мы разберем на двух примерах, как написать смарт контракт на языке C++, используя WASM на основе блокчейн сети Ontology. Сегодня, после нескольких месяцев стабильной работы в тестовом режиме, Ontology запустила WASM в основной сети, что позволяет безболезненн...

Фракталы в иррациональных числах Статья является продолжением моей первой статьи «Фракталы в простых числах». В предыдущей статье мы научились рисовать самоподобные паттерны с помощью взаимно простых чисел. В этой статье покажу фрактальную природу числа . Без предисловия. Под кат. Читать дальше →

[Из песочницы] Программ для изучения английского очень много, но стоит ли какой-нибудь из них пользоваться если ты программист? Всем привет, меня зовут Алексей. Я давно увлекаюсь программированием, хоть это и не является моей основной профессией. А ещё где-то год назад я увлёкся изучением английского языка. Много статей написано о том, как учить английский язык. Но если ты владеешь навыками програм...

JS-битва: как я написал свой eval() Вы можете помнить Александра Коротаева по браузерной версии «Героев Меча и Магии»: расшифровка его доклада о ней собрала на Хабре громадное количество просмотров. А теперь он сделал игру, ориентированную на программистов: играть в неё надо JS-кодом. В этот раз на разработку...

QEMU.js: теперь по-серьёзному и с WASM Когда-то давно я смеха ради решил доказать обратимость процесса и научиться генерировать JavaScript (а точнее, Asm.js) из машинного кода. Для эксперимента был выбран QEMU, некоторое время спустя была написана статья на Хабр. В комментариях мне посоветовали переделать проект ...

[Перевод] Руководство для чайников: создание цепочек DevOps с помощью инструментов с открытым исходным кодом Создание первой цепочки DevOps за пять шагов для новичков. DevOps стал панацеей для слишком медленных, разобщенных и прочих проблемных процессов разработки. Но нужны минимальные познания в DevOps. Здесь будет рассмотрены такие понятия, как цепочка DevOps и как создать ее за...

[Перевод] Рассказ о решении проблемы с производительностью Moment.js Moment.js — это одна из самых популярных JavaScript-библиотек для разбора и форматирования дат. В компании WhereTo используют Node.js, поэтому для них применение этой библиотеки было совершенно естественным ходом. Проблем с серверным использованием Moment.js не ожидалось. В ...

Warner Bros работают над игрой про Супермена После бешеного успеха серий игр Batman Arkham, фанаты жаждут увидеть игру про Супермена. Одна из игр, которая была запущена в 2013 году, должна была стать игрой Супермена с открытым миром в духе Spider-Man PS4. В ней был бы огромный Мегаполис и различные злодеи. Эта игра был...

[Из песочницы] Автоматика для дома своими руками Моя статья будет полезна тем, кто только задумывается над подобного рода системой, поможет определиться делать ли самому и ориентирована в основном на энтузиастов-колхозников. Изначально пишу “автоматика” а не умный дом, потому что на данном этапе умных функций в моей систем...

Logitech G604 — мышь, которая понравится геймерам Скоро на прилавках магазинов можно будет найти Logitech G604 LIGHTSPEED — новая игровая мышь, ориентированная на геймеров, в первую очередь на тех, кто любит игры с режимом «королевская битва» или MMORPG. Впрочем, благодаря своей форме и программируемым клавишам, она окаже...

[Перевод] 10 полезных фич R, о которых вы могли не знать В R полным-полно самых разных функций. Ниже я приведу десять самых интересных из них, о которых многие могли не знать. Статья появилась после того, как я обнаружил, что мои рассказы о некоторых возможностях R, которые я использую в работе, восторженно воспринимаются знако...

RTOS или не RTOS вот в чем вопрос На написание данной статьи меня побудила длинная ветка комментариев (дискуссией это я назвать, к сожалению, не могу) к моей недавней статье “Многообразный мир embedded systems и место Embox в нем”. Меня в нескольких местах упрекнули в том, что я путаю RTOS и Embedded OS, чт...

[Перевод] Есть ли что-то общее у разных песен-хитов? Если выполнить вход на Spotify.me, то можно получить персонализированную сводку того, как Spotify понимает вас через музыку, которую вы слушаете на этом сайте Spotify. Это круто! Я слушаю много музыки и люблю работать с данными, поэтому это вдохновило меня на попытку анали...

[Из песочницы] Система мониторинга автотранспорта своими руками В данной статье хочу затронуть тему о том, как собрать систему для контроля местонахождения автомобиля с минимальными затратами. В качестве главного контроллера будем использовать микроконтроллер Orange pi Zero. Стоимость данного устройства на Aliexpress от 9 USD. Читать...

Space Invaders: теперь и в 512 байт (Assembler x86) Казалось бы, ещё совсем недавно Space Invaders умещали в 1 килобайт, а теперь смогли уместить в один загрузочный сектор (512 байт). Автор программы — Оскар Толедо, пятикратный победитель IOCCC (International Obfuscated C Code Contest) и регулярный участник JS1K, также извес...

Oceanhorn обновили для поддержки новых iOS-устройств и улучшили графику Oceanhorn 2: Knights of the Lost Realmбыла одной из самых ожидаемых мобильных игр этого года. А когда стало известно, что она выйдет в составе Apple Arcade, стала еще и негласным флагманом сервиса. К сожалению, игра оказалась лишь набором хороших идей, которые в готовом вид...

Системные требования ролевой игры GreedFall Разработчик Spiders и издатель Focus Home Interactive объявили о минимальных и рекомендуемых требованиях фэнтезийной ролевой игры GreedFall, выход которой состоится через неделю, 10 сентября. Игра требует четырехядерный процессор Intel третьего/четвертого поколения или эквив...

[Из песочницы] Full-stack TypeScript Apps Привет, Хабр! Представляю вашему вниманию перевод статьи "Full-Stack TypeScript Apps — Part 1: Developing Backend APIs with Nest.js" автора Ana Ribeiro. Часть 1: Разработка серверного API с помощью Nest.JS TL;DR: это серия статей о том, как создать веб-приложение TypeScript ...

Бесплатный VPN сервис Wireguard на AWS Для чего? С ростом цензурирования интернета авторитарными режимами, блокируются все большее количество полезных интернет ресурсов и сайтов. В том числе с технической информацией. Таким образом, становиться невозможно полноценно пользоваться интернетом и нарушается фундамента...

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

[Из песочницы] Объектно-ориентированное программирование в Java и Python: сходства и отличия Привет, Хабр! Представляю вашему вниманию перевод статьи “Object-Oriented Programming in Python vs Java” автора Джона Финчера. Реализация объектно-ориентированного программирования (ООП) в языках Java и Python отличается. Принцип работы с объектами, типами переменных и прочи...

Автор «Игры престолов» Джордж Мартин и FromSoftware анонсировали игру Elden Ring Автор «Игры престолов» (цикла романов «Песнь Льда и Огня») Джордж Р. Р. Мартин в сотрудничестве со студией FromSoftware (создавшей серию игр Dark Souls) работают над совершенно новой игрой под названием Elden Ring. Эти сведения были озвучены во время проведения пресс-конфере...

[Перевод] Создание игры Tower Defense в Unity, часть 1 Поле Создание тайлового поля. Поиск путей с помощью поиска в ширину. Реализация поддержки пустых и конечных тайлов, а также тайлов стен. Редактирование контента в режиме игры. Опциональное отображение сетки поля и путей. Это первая часть серии туториалов, посвящённых созда...

Приглашаем на митап факультета разработки игр GeekUniversity Наш онлайн-университет GeekUniversity проведет митап факультета разработки игр. Участники смогут обсудить с практиками, для чего и как применять архитектуру ECS (Entity Component System) и можно ли обойтись без нее. Встреча будет полезна как начинающим, так и практикующим р...

Видеозвонки, WebRTC и браузер: как это работает и как согреть «замерзающую» трансляцию Для большинства из нас видеосвязь в браузере — нечто вроде черного ящика. Есть изображение собеседника на экране, звук, возможность общения. Но что происходит там, внутри? Об этом сегодня и поговорим. Статья сделана на основе доклада нашего сотрудника, Кирилла Рогового....

[Перевод] Пишем HTTP/1.1 & HTTP/2 клиент и сервер на Golang Golang — отличный язык программирования с широким спектром возможностей. В этой статье показано, как на Go можно написать клиент и сервер для протоколов HTTP/1.1 и HTTP/2. Читать дальше →

[Перевод] Реализация шаблона проектирования Command в Unity Вы задавались когда-нибудь вопросом, как в играх наподобие Super Meat Boy реализована функция реплея? Один из способов её реализации — выполнять ввод точно так же, как это делал игрок, что, в свою очередь, означает, что ввод нужно как-то хранить. Для этого и многого другого...

YIMP — Панель управления для Yii 2 на Bootstrap 4 Уверен, что у многих разработчиков, предпочитающих фреймворки готовым CMS, есть в запасе решение на Bootstrap или его аналогах, которое используется в для создания интерфейсов админок и прочих бэк-офисов. И у меня такое есть. Успешно работает много лет, но безнадежно устарел...

Cataclysm Dark Days Ahead, статический анализ и рогалики Скорее всего, из названия статьи вы уже догадались, что в центре внимания ошибки в исходном коде. Но это вовсе не единственное, о чем пойдет речь в этой статье. Если кроме С++ и ошибок в чужом коде вас привлекают необычные игры и вам интересно узнать, что это такие за «рога...

Модернизация IDA Pro. Отладчик для Sega Mega Drive (часть 2) Привет всем, В предыдущей статье мы успешно модифицировали ядро эмулятора игр на Sega Mega Drive / Genesis, добавив в него возможность отладки. Теперь пришёл черёд написания собственно плагина-отладчика для IDA Pro, версия 7.0. Приступим. Читать дальше →

[Из песочницы] Неявные (implicit) параметры и преобразования в Scala Пробежавшись по предыдущим статьям на Хабре, тыц и тыц так и не удалось в быстром режиме понять, что делает неявность (implicit) в Scala. Попробуем разобраться вместе. Итак, implicit в Scala позволяют избежать вызывания методов или явных ссылок на переменные, и взамен это...

Как продвинуть инкрементальную игру? Бесплатно, быстро и эффективно* Если вы когда-либо сделали игру, вероятно, вы столкнулись с той же проблемой, что и многие другие разработчики до вас: никто не знает о вашей игре. Под катом я расскажу, как рассказать миру о вашей инкрементальной** игре бесплатно, быстро и эффективно (в какой-то степени). Ч...

Тестирование аннотаций @NonNull/@Nullable Вместо «Посвящается ...» Описанная ниже задача не была новаторской или чертовски полезной, компания в которой я работаю не получит за нее прибыль, а я премию. Но эта задача была, а значит ее пришлось решить. Intro В статье вы часто будете встречать слово Lombok, прошу хей...

[Из песочницы] Управление подставкой для ноутбука с помощью digispark Решил написать статью об очень простом устройстве, сделанным за два вечера. Решило оно давнюю проблему, чему я сильно рад и использую его по сей день. Отработало исправно оно около 3 месяцев. Собственно вот что получилось в итоге. Кого заинтересовало, прошу под кат. Читат...

SNA Hackathon 2019: усложняем архитектуру — упрощаем признаки В этой статье я расскажу про свое решение текстовой части задачи SNA Hackathon 2019. Какие-то из предложенных идей будут полезны участникам очной части хакатона, которая пройдет в московском офисе Mail.ru Group с 30 марта по 1 апреля. Кроме того, этот рассказ может быть ин...

Типичные ошибки при работе с PostgreSQL Чуть более месяца назад в Москве состоялась крупнейшая конференция постгресового сообщества PGConf.Russia 2019, собравшая в МГУ свыше 700 человек. Мы решили выложить видео и расшифровку лучших докладов. Выступление Ивана Фролкова с разбором типичных ошибок при работе с Postg...

Все материалы на данном сайте взяты из открытых источников или присланы посетителями сайта и предоставляются исключительно в ознакомительных целях. Права на материалы принадлежат их владельцам. Администрация сайта ответственности за содержание материала не несет. (Правообладателям)