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

[Из песочницы] Fish Redux — новая Redux библиотека для Flutter В конце 2018 года Google, не без помощи Open-Source сообщества, сделал большой подарок для мобильных разработчиков, выпустив первую стабильную версию кросс-платформенного фреймворка для мобильной разработки Flutter. Однако, при разработке крупных приложений, немного больших,...

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

[Перевод] Типы для HTTP-API, написанных на Python: опыт Instagram Сегодня мы публикуем второй материал из цикла, посвящённого использованию Python в Instagram. В прошлый раз речь шла проверке типов серверного кода Instagram. Сервер представляет собой монолит, написанный на Python. Он состоит из нескольких миллионов строк кода и имеет неско...

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

Анонсирована карточная игра Magic: ManaStrike во вселенной Magic: The Gathering В сети продолжают появляться подробностями об играх азиатских издателях, которые те будут показывать на G-Star 2019. Magic: ManaStrike — это новый проект от Netmarble во вселенной карточной игры Magic: The Gathering, которая принадлежит Wizards of the Coast. Судя по всему,...

Битва Големов из карт. Как мы превращали игру в Карточную лигу Пароботов Продолжение данной истории. Сейчас речь пойдет не о концепции, а том, как мы из вот этого т.е. классической версии в которой само игровое поле, элементы на нем, жетоны повреждений были представлены «вырубкой» из картона и было «дорого и богато» делали карточный «движок» и...

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

К чему приложить прикладного лингвиста? “Что за дело? Это многих славных путь.” Н.А. Некрасов Всем привет! Меня зовут Карина, и я “совместитель” — совмещаю учёбу в магистратуре и работу технического писателя в Veeam Software. О том, как у меня это вышло, я и хочу рассказать. Заодно кто-то узнает, как можно прийти...

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

Kubernetes Operator на Python без фреймворков и SDK Go на данный момент является монополистом среди языков программирования, которые люди выбирают для написания операторов для Kubernetes. Тому есть такие объективные причины, как: Существует мощнейший фреймворк для разработки операторов на Go — Operator SDK. На Go написа...

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

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

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

С сожалением об отсутствии в C++ полноценного static if или… … как наполнить шаблонный класс разным содержимым в зависимости от значений параметров шаблона? Когда-то, уже довольно давно, язык D начали делать как "правильный C++" с учетом накопившегося в C++ опыта. Со временем D стал не менее сложным и более выразительным языком, чем C...

Дилетант в opensource — lessons learned за 3 года Давно, в 2014 году я сделал для себя небольшую утилитку, чтобы перегонять C#-вьюмодели в TypeScript-код. Она сэкономила мне немало времени и нервов. И вот, в сентябре 2015 я решил оформить свои "эксперименты на коленке" в некую удобоваримую форму и вылить их на GitHub. Так н...

Большой город для мобильных устройств на Unity. Опыт разработки и оптимизации Привет Хабр! В этой публикации хочу поделиться опытом разработки массивной мобильной игры, с большим гордом и трафиком. Примеры и приемы описанные в публикации не претендуют называться эталонными и идеальными. Я не являюсь дипломированным специалистом и не призываю повторя...

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

Как мы пересадили всю команду на другой язык за один день (на самом деле — нет) func main() { envs.UpdateDotenv() ctx := context_os.Context(context.Background()) res := resources.Get(ctx) ready := readiness.New() ready.AddProbe(func() { //add some initialization }) h := handlers.New(res) s := server.NewServer(ready) s.HandleFunc("/test", h.Tes...

Оригинальная карточная игра Sheeping Around вышла на iOS Большая часть карточных игр — это Hearthstone: Heroes of Warcraft в другой вселенной и с парой оригинальных механик. Тем интереснее смотрится Sheeping Around, которую с проектом Blizzard роднит разве что использование карт. В Sheeping Around есть всего 2 героя: пастух Хейзе...

[Перевод] Мы ускорили планировщик Tokio в десять раз Мы в поте лица готовим очередную мажорную версию Tokio, асинхронной среды выполнения для Rust. 13 октября для слияния в ветку оформлен пул-реквест с полностью переписанным планировщиком задач. Результатом станет огромное улучшение производительности и уменьшение задержки. В ...

20 лучших ИТ-покупок к новому учебному году Время учебы это не только получение знаний, студенту хочется и развлечься, хотя бы иногда. Для тех, кто пошел в колледж, их первый опыт взрослой (ну, почти) жизни, конечно, не должен выглядеть как сплошь трудовые будни, без всяких развлечений ...

«Мы доверяем друг другу. Например, у нас вообще нет зарплат» — большое интервью с Тимом Листером, автором Peopleware Тим Листер — соавтор книг «Человеческий фактор. Успешные проекты и команды» (в оригинале книга называется «Peopleware») «Вальсируя с Медведями: управление рисками в проектах по разработке программного обеспечения» «Балдеющие от адреналина и зомбированные шаблонами. Паттерн...

[Перевод] Софт для Boeing-737 Max писался аутсорсерами, зарабатывающими $9 в час В разгар кризиса вокруг Boeing-737 Max, до сих пор остается загадкой: каким образом компания, прославленная своим тщательным подходом к проектированию, допустила, судя по всему, детские ошибки при разработке софта, приведшие к двум катастрофам с человеческими жертвами. Инж...

Методика D.I.Y. проекта. Часть вводная Данная статья написана радиолюбителем, имеющим опыт руководства проектами по разработке и постановке на производство сложной радиоэлектронной аппаратуры. Цель данной статьи: помочь энтузиастам в организации их проектной деятельности, а также обозначить различия в подходах ...

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

Быстрорастворимое проектирование Люди учатся архитектуре по старым книжкам, которые писались для Java. Книжки хорошие, но дают решение задач того времени инструментами того времени. Время поменялось, C# уже больше похож на лайтовую Scala, чем Java, а новых хороших книжек мало. В этой статье мы рассмотрим к...

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

Сертификация ISTQB. Часть 1: быть или не быть? Как показывает наше последнее исследование: образование и дипломы, в отличие от опыта и формата работы, почти никак не влияют на уровень оплаты труда QA-специалиста. Но так ли это на самом деле и какой тогда смысл в получении сертификата ISTQB. Почему получение сертификата ...

Мой первый опыт восстановления базы данных Postgres после сбоя (invalid page in block 4123007 of relatton base/16490) Хочу поделиться с вами моим первым успешным опытом восстановления полной работоспособности базы данных Postgres. С СУБД Postgres я познакомился пол года назад, до этого опыта администрирования баз данных у меня не было совсем. Я работаю полу-DevOps инженером в крупной IT-к...

Обучение детей программированию Здравствуйте. Меня зовут Михаил Капелько. Занимаюсь профессиональной разработкой ПО более 10 лет. Из них последние годы связаны с iOS. В свободное время разрабатываю игры и средства для их создания. Обзор Сегодня хочу рассказать о своём опыте обучения детей программированию,...

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

Как я подружил PlayStation 2 и PlayStation Portable (спойлер — объединил в один эмулятор) Привет читателям. В прошлом году я опубликовал свой хобби-проект Красный Омега PS2 эмулятор. Идея была в адаптации управления оригинального эмулятора PCSX2 для игр на Surface Pro через Touch Screen. Оригинальный код PCSX2 эмулятора был переписан в форме модуля DLL, загружае...

Новый пакет валидаций для React на Mobx @quantumart/mobx-form-validation-kit Добрый день. Сегодня я хочу рассказать о новом пакете для асинхронных валидаций в проектах использующих в своей основе React, Mobx и написанных на Typescript. Современная Frontend разработка предполагает большое количество логики при заполнении страниц с документами, анкет ...

Часть 4. Карьера программиста. Junior. Заход во фриланс Продолжение рассказа «Карьера программиста». Смеркалось. И прямо, и косвенно. Я с большим усердием искал работу программистом, но не было никаких вариантов. В моем городе было 2-3 объявления на 1С-разработчика плюс, редкий случай, когда требовались преподаватели курсов прог...

Карточная игра “Gwent” по мотивам “Ведьмака” вышла на iOS Компания CD Project Red выпустила мобильную версию карточной игры “Gwent” для iOS-устройств. Gwent (Гвинт) – […]

Техническая ипотека: что и кому должен тимлид Всем привет! Меня зовут Александр Афенов. Я тимлид команды разработки Order Processing в компании Lamoda. В прошлом году я выступал на TeamLead Conf 2018. Запись выступления доступна по ссылке. В своем докладе я расскажу историю того, как стал тимлидом, с какими проблемами...

Выход из зоны комфорта: с nodejs на dlang В 2017м году я начал писать проект на nodejs — реализацию протокола ObjectServer от Weinzierl для доступа к значениям KNX. В процессе написания было изучено: работа с бинарными протоколами, представление данных, работа с сокетами(unix sockets в частности), работа с redis баз...

[recovery mode] Создание игр и видео на YouTube. Мой эксперимент взаимодействия и доход от этого Привет всем, кто ещё не спит Возможно ты меня не помнишь, но где-то год назад я писал статью на Хабре, как я использовал свой Ютуб канал с 8К подписчиками и бюджет в 0 рублей, чтобы получить продажи моей с ПК игры. Не скажу, что эксперимент вышел удачный, но некий результат...

Транспилятор PAS2JS из Паскаля в JavaScript: несовместимости с Delphi и пути обхода В наше время в кармане обычного человека лежит мощный персональный компьютер, о котором 10-20 лет назад можно было только мечтать. И если у вас километры отлаженного Windows-кода и отлично работающие приложения и утилиты, написанные на Delphi, вы наверняка хотели бы задейств...

Как мы переложили управление инфраструктурой на Terraform — и начали жить У нас было 4 Amazon-аккаунта, 9 VPC и 30 мощнейших девелоперских окружений, стейджей, регрессий — всего более 1000 EC2 instance всех цветов и оттенков. Раз уж начал коллекционировать облачные решения для бизнеса, то надо идти в своем увлечении до конца и продумать как все э...

Летний DIYorDIE Meetup 16 июня 16 июня в московском офисе Mail.ru Group пройдет открытый DIY Meetup. Приглашаем всех неравнодушных провести выходные с пользой. Программа и ссылка на регистрацию — под катом. DIY-сообщество Mail.ru Group — это разработчики, которые в свободное от работы время мастерят кр...

[Из песочницы] Четырехдневная рабочая неделя. Российский опыт Привет, Хабр! Эту статью меня подвигла написать замечательная история, как одна новозеландская компания 8 недель работала с тремя выходными. И как мы ими как бы гордимся. Контекст Последнее время меня, волнует вот какая тема: как из отличной бирюзовой команды не стать чело...

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

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

Разработка Unix подобной OS — Оболочка. Заключение (9) Пришло время написать первую отдельную программу для нашего ядра — оболочку. Она будет храниться отдельным .elf файлом и запускаться init процессом при старте ядра. Это последняя статья из цикла по разработке своей операционной системы. Читать дальше →

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

Arduino DIY «Демоническая карусель» Всем привет. На данный момент я разработал прототип детского интерактивного тира в виде конструктора, которую я назвал “демоническая карусель”. Задумка была реализовать конструктор в области робототехники. Используя технологию 3D печати и различныx готовых плат, которые мо...

[Из песочницы] Антипаттерны в React или вредные советы новичкам Привет, Хабр. Ровно год прошел с момента, как я начал изучать React. За это время я успел выпустить несколько небольших мобильных приложений, написанных на React Native, и поучаствовать в разработке web-приложения с использованием ReactJS. Подводя итог и оглядываясь назад н...

[Перевод] Разработка микросервисов с помощью BDD и IOD BDD — разработка через поведение. BDD для микросервисов — это сотрудничество клиента, разработчиков и тестировщиков. BDD — это разработка, которая учитывает и технические интересы и бизнес-требования. Этот подход обычно применяется для описания интерфейсов приложений, а так ...

[Перевод] Как мы разработали девкит Librem 5 полностью на свободном ПО От переводчика: Librem 5 (на рендере) — защищённый смартфон под Linux от компании Purism, который создаётся на максимально открытом железе и софте за счёт краудфандинга. Сегодня расскажем о разработке Librem 5 Developer Kit и о том, как мы использовали в его разработке толь...

Как дурак C# учил. Часть 1 Запись 1 Я решил записывать. Главным образом потому, что я люблю записывать. Хотя нет. На самом деле мне хочется рассказать историю. Историю о том, что программирование это интересно. О том, что программирование может быть не только, профессией, но и отличным хобби, как фо...

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

Делаем ретро-игру из 80-х или как готовить макеты для лазерной резки Хабр, привет! Так получилось, что меня давно просили сделать старую настольную игру из СССР — «Сражение». Вот пришло время выполнять обещание, заодно решила показать как создавать макеты для лазерной резки и что получается в итоге. Большой сложности в этом нет, но есть неко...

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

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

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

Переключатели функциональности (feature toggles): виды, преимущества и работа с ними в .NET Переключатель функциональности — это инструмент, позволяющий переключаться со старой функциональности на новую, не пересобирая приложение и не выпуская его заново. Реализуется добавлением в код условного оператора (if), который дает возможность управлять поведением программ...

Слухи: на мобильных может выйти MMORPG Lost Ark на Unreal Engine 4 Lost Ark – достаточно популярная MMORPG с элементами классических action RPG, выпущенная в прошлом году на ПК издателем Smilegate. В России она еще не вышла, но в Азии быстро завоевала популярность. Некоторые СМИ в Азии заметили, что издатель оригинальной Lost Ark набирает ...

[Перевод] Мета-грамматика для PEG парсера На этой неделе мы делаем генератор парсеров «самостоятельным», то есть он будет генерировать свой собственный парсер. Содержание серии статей о PEG-парсере в Python PEG парсеры Реализация PEG парсера Генерация PEG парсера Визуализация работы PEG парсера Леворекурсивные PEG г...

Создание бэкенд приложения для онлайн чата Apollo, Node.js Некоторое время назад я работал над мобильным приложением, функционал которого включал в себя удобный онлайн-чат. И теперь я решил написать статью с краткой инструкцией, как создать чат, используя apollo server и node.js на бэкенде, а так же react native и apollo client на к...

Разработка чат-бота (telegram + youtube) Почему это вообще появилось здесь? Недавно я написал статью о разработке бота на php с использование laravel+botman для telegram. Самое первое, что написали, цитирую, “стрельба из пушки по воробьям”. Я согласен с этим, даже осознавал это во время разработки, но мне был инте...

Battle Tanks: Legends of World War II — новый мультиплеерный танковый шутер для Android На днях мы рассказали о новой io-игре — проекте в жанре, который некогда был завсегдатаем наших новостей. Сегодня время вспомнить еще один популярный тип мобильных развлечений — игры про танки. Battle Tanks: Legends of World War II — новый мультиплеерный танковый шутер от р...

У iPhone появилось новое преимущество перед Android. Легендарная карточная игра из «Ведьмака» пришла на мобильные Польская компания CD Projekt Red объявила о выпуске легендарной карточной игры из мира  «Ведьмака» для мобильных устройств.  На данный момент мобильный «Гвинт» доступен только для iOS. Его можно бесплатно загрузить из App Store, но сто...

Модуль подводного ультразвукового дальномера. Часть вторая В первой части мы описали процесс разработки тестового варианта модуля подводного дальномера. Пришло время поделиться информацией о второй версии модуля, поскольку заявленные в первой статье предполагаемые изменения мы реализовали. Читать дальше →

[Перевод] Реализуем UI в iOS: улучшаем, ускоряем, масштабируем Привет! Меня зовут Азат Зулькарняев, я занимаюсь разработкой iOS-приложений в компании Badoo. При создании мобильных приложений большая часть времени уходит на разработку UI, и оптимизация этого процесса всегда является актуальной темой в среде разработчиков. Мой коллега А...

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

Авторы Anthem о работе над полётами: «Они могли поломать игру» Французское издание JeuxVideo взяло интервью у нескольких руководителей разработки Anthem. Они поделились своим опытом работы над механикой полётов. По словам авторов, создание сбалансированного вертикального геймплея потребовало много усилий и преодоления огромного...

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

Overwatch предлагает бесплатную версию игры Overwatch, популярный командный шутер от Blizzard от первого лица, предлагает бесплатную пробную неделю для пользователей ПК, PlayStation 4 и Xbox One. Игра будет доступна до 4 декабря. Но есть нюанс, потребуется подписка PlayStation Plus или Xbox Live Gold, для того чтобы п...

Как написать музыку, используя ООП Говорим об истории программного инструмента OpenMusic (OM), разбираем особенности его устройства, рассказываем о первых пользователях. Плюс к этому — приводим аналоги. Читать дальше →

HDMI-LVDS. Разработка на TSUMV59 от MStar Доброго времени суток, Хабр! В продолжение прошлой статьи на тему DisplayPort-LVDS, решил написать о своей новой разработке контроллера HDMI-LVDS на чипе TSUMV59 от MStar. Контроллер имеет много интересного на борту, например, аналоговый выход звука, ИК порт, кнопки управ...

Предлагаемые изменения в Chromium нарушат работу uBlock Origin Разработчик uBlock Origin заявил, что его расширение для блокировки рекламы не сможет работать, если будут приняты изменения в Chromium. Речь идёт о внедрении declarativeNetRequest API, которые лишают возможности использовать webRequest API. Google считает, что изменения нео...

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

Знакомство со статическим анализатором PVS-Studio при разработке C++ программ в среде Linux PVS-Studio поддерживает анализ проектов на языках C, C++, C# и Java. Использовать анализатор можно под системами Windows, Linux и macOS. В этой заметке речь пойдет об анализе кода, написанного на C и C++ в среде Linux. Установка Установить PVS-Studio под Linux можно разными...

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

Elemancer - Legend of Cards — новая бесплатная карточная игра в фэнтезийном сеттинге Если вам не понравилась Calm Cards, о которой мы написали сегодня, и вы ждете новинку именно в жанре ККИ — красивую, разнообразную и предлагающую оригинальные механики, обратите внимание на Elemancer – Legend of Cards. Авторы утверждают, что их игра построена на решениях, т...

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

Как мы заново изобретали IP АТС Askozia, после того как проект был продан и закрыт разработчиком Как было все прекрасно до часа X Мы — небольшая команда разработчиков, которая много лет назад занималась разработкой и внедрением программ 1С. В далеком 2011 году мы хорошо знали программные продукты 1С, и не имели опыта в разработке собственных решений. На тот момент компа...

[Перевод] Создание игры для Game Boy Несколько недель назад я решила поработать над игрой для Game Boy, создание которой доставило мне большое удовольствие. Её рабочее название «Aqua and Ashes». Игра имеет открытые исходники и выложена на https://github.com/InvisibleUp/AquaAndAshes. Как мне пришла в голову эт...

Готовим полнотекстовый поиск в Postgres. Часть 1 Эта статья — первая из небольшой серии статей о том, как оптимально настроить полнотекстовый поиск в PostgreSQL. Мне пришлось недавно решать подобную задачу на работе — и я был очень удивлен отсутствию хоть сколько-нибудь вменяемых материалов по этому поводу. Мой опыт борьбы...

[Из песочницы] Небольшой бэкдор на Flask или как управлять компьютером в локальной сети Привет, Хабр! Недавно я посмотрел скачанную версию стрима по программированию «Как создать свое веб-приложение на Flask». И решил закрепить свои знания в каком-нибудь проекте. Долго не знал, что написать и мне пришла идея: «А почему бы не сделать мини-бэкдор на Flask?». В ...

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

[Перевод] Записки фрилансера: разработка первого React Native-приложения Автор материала, перевод которого мы публикуем, недавно выпустил своё первое мобильное приложение, написанное на React Native. Так случилось, что это приложение стало и его первым проектом, который он создал как программист-фрилансер. Здесь он расскажет о том, с чем ему приш...

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

Кайдзен в разработке ПО — из собственного опыта Термин «кайдзен» ввела компания Тойота, и про него много написано в толстенных книжках из серии «Дао Тойота». Кайдзен еще называют «процессом непрерывного совершенствования». Обычно его ассоциируют с промышленным производством автомобилей и конвейерами, ну или как минимум с...

[Из песочницы] Разработка игры и защита диплома или «Как я убил двух зайцев первым блином» Дипломный проект О создании игр и получении высшего образования обычно говорят как о вещах несовместимых, часто вполне справедливо. Многие известные инди-разработчики бросали универы. Я же расскажу о противоположном опыте. О своём довольно необычном проекте и о том, как удал...

[Перевод] Собственный сервер Commento с Docker Compose Примечание: это перевод моего поста (англ.), описывающий реализацию сервера комментариев, используемую на том же сайте, где находится оригинал. TL;DR-версия: я разработал конфигурацию Commento-сервера, которая легко и просто развёртывается в полуавтоматическом режиме. Скопир...

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

Превращая FunC в FunCtional: как Serokell победили в Telegram Blockchain Competition Вы наверняка слышали о том, что Telegram собирается запустить блокчейн-платформу Ton. Но вы могли пропустить новость, что не так давно Telegram объявил конкурс на реализацию одного или нескольких смарт-контрактов для этой платформы. Команда Serokell с богатым опытом разрабо...

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

[Перевод] Пишем клон движка Doom: чтение информации карт Введение Цель этого проекта — создание клона движка DOOM, использующего ресурсы, выпущенные вместе с Ultimate DOOM (версия со Steam). Он будет представлен в виде туториала — я не хочу добиваться в коде максимальной производительности, а просто создам работающую версию, и п...

Приложение для iOS и Android на Kotlin + Flutter UI Вступление Всем привет. Какое-то время назад, я решил делать свой проект для Android и iOS одновременно. Естественно, встал вопрос о выборе технологий. Пару недель присматривался к популярным стекам и выбрал Kotlin/Native. Поскольку я являюсь Android-разработчиком, то с Ko...

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

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

[Перевод] Сети Kubernetes: Ingress Сегодня мы публикуем перевод третьей части руководства по работе с сетями в Kubernetes. В первой части речь шла о подах, во второй — о сервисах, а сегодня мы поговорим о балансировке нагрузки и о ресурсах Kubernetes вида Ingress. Читать дальше →

[Перевод] Приключения с домашним Kubernetes-кластером Прим. перев.: Автор статьи — Marshall Brekka — занимает позицию директора по проектированию систем в компании Fair.com, предлагающей своё приложение для лизинга автомобилей. В свободное же от работы время он любит применять свой обширный опыт для решения «домашних» задач, ко...

[Перевод] Ужать аналог Space Invaders в 1 килобайт (оригинал 1978 года занимает 8) Эта игра, в значительной мере вдохновлённая Space Invaders, написана с нуля для ATtiny2313 и отправлена на недавно прошедший конкурс 1-килобайтных программ на Hackaday. Непросто поместить такую игру в 1024 байта. Но автор решил получить в результате полнофункциональную иг...

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

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

Мафия Непобедима 1.11 Только для пользователей Вконтакте! Установи приложение, пройди путь от новичка до закаленного Босса Мафии, стань победителем во всех боях и докажи, что твоя Мафия – Непобедима!  Все еще сомневаешься? Тогда прочти, чем наша «Мафия» отличается от других:  — Бол...

Не очередной язык программирования. Часть 3: Физика Третья и заключительная часть серии статей о языке lsFusion (ссылки на первую и вторую части) В ней речь пойдет о физической модели: всем том, что не связано с функционалом системы, а связано с ее разработкой и оптимизацией производительности, когда данных становится слиш...

[Перевод] Добавление экшенов в грамматику PEG Грамматика становится ещё лучше, если вы можете добавить (некоторую) семантику в соответствии с правилами. В частности, для анализатора Python, который я разрабатываю, мне нужно возвращать узел AST из каждой альтернативы, поскольку я хочу придерживаться текущей реализации AS...

Состоялся релиз красивой карточной игры Mystic Vale на iOS и Android Mystic Vale – это красивая и оригинальная карточная игра от разработчиков Nomad Games, совсем недавно представивших одиночную Talisman: Origins. Играть в Mystic Vale могут от одного до четырех человек. Вы будете управлять друидами, которые пытаются очистить землю от неизвес...

OpenSceneGraph: Обработка событий Введение Одной из особенностей языка C++, за которую его часто критикуют — отсутствие в стандарте механизма обработки событий. Между тем данных механизм это один из основных путей взаимодействия одних программных компонентов с другими программными компонентами и аппаратным ...

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

[Из песочницы] Рождение одного проекта или как написать свою CMS Приветствую вас, уважаемые Хабравчане. Я очень долго шел к тому чтобы написать статью здесь о себе и своем проекте. В этой статье я хотел бы рассказать Вам мою историю зарождения идеи проекта. А также написать свою историю развития взглядов на разработку ПО в целом. Возможно...

[Перевод] Реализация PEG парсера Вдохновленный лишь частичным пониманием PEG, я решил попробовать его реализовать. Результат может получиться и не самым лучшим среди парсеров PEG общего назначения — их уже много (например, TatSu написан на Python и генерирует код Python) — но это хороший способ разобраться ...

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

Как победить дракона: переписываем вашу программу на Golang Так случилось, что ваша программа написана на скриптовом языке — например, на Ruby — и встала необходимость переписать ее на Golang. Резонный вопрос: зачем вообще может понадобится переписывать программу, которая уже написана и нормально работает? Читать дальше →

[Перевод] Редактирование текста тоже вас ненавидит Опубликованная месяц назад статья Алексис Бингесснер «Рендеринг текста вас ненавидит» очень мне близка. В далёком 2017 году я разрабатывал интерактивный текстовый редактор в браузере. Неудовлетворённый существующими библиотеками на ContentEditable, я подумал: «Эй, да просто...

Как сэкономить на психотерапевте используя test-driven development У вас когда-нибудь было такое состояние? Хочу показать вам, как TDD может улучшить качество кода на конкретном примере. Потому что всё то, что я встречал при изучении вопроса, было довольно-таки теоретическим. Так получилось, что мне довелось написать два практически иден...

Как мы в QIWI пришли к единому стилю взаимодействия между View и ViewModel в рамках MVVM Изначально весь проект был написан на Objective-C и использовал ReactiveCocoa версии 2.0 Взаимодействие между View и ViewModel осуществлялось посредствам биндингов свойств вью модели, и все бы ничего, за исключением того, что отладкой такого кода заниматься было очень сложно...

Игра Xiaomi Survival Game — клон PUBG и Fortnite — стала доступна всем желающим Компания Xiaomi ещё в прошлом году обещала выпустить свой аналог популярнейшей игры PUBG. Собственно, Survival Game, а именно так называется игра, в режиме закрытой бета-версии стала доступна ещё в конце 2018 года, но теперь она вышла в отрытый доступ в магазине Mi App ...

[Из песочницы] Распутывание клубка уязвимостей на сайтах После своей первой статьи, опубликованной на codeby, которая вошла в топ 3 публикаций недели, я был очень мотивирован написать следующую. Но 11 класс накладывает ограничения на свободное время подготовкой к егэ и олимпиадами. Поэтому вторую я пишу лишь спустя несколько меся...

[Перевод] Измените свой образ мышления, работая с SwiftUI На прошлой неделе я увидел, что сообщество пытается перенести наработаные шаблоны разработки c UIKit в SwiftUI. Но я уверен, что лучший способ написать эффективный код используя SwiftUI — это забыть все об UIKit и полностью изменить свое мышление с точки зрения разработки ...

[Из песочницы] Как Мефодий стал Анной: опыт разработки и запуска классификаторов голосовых сообщений. Часть 1 Цель и задача В серии статей рассмотрим классификаторы голосовых обращений, зачем они нужны, как их быстро вывести в продуктив. Расскажу про подходы, которые позволят сократить время от постановки задачи до запуска модели и получения бизнес-результата. По этой статье можно п...

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

[Перевод] PostgreSQL 11: Эволюция секционирования от Postgres 9.6 до Postgres 11 Отличной всем пятницы! Все меньше времени остается до запуска курса «Реляционные СУБД», поэтому сегодня делимся переводом еще одного полезного материала по теме. В процессе разработки PostgreSQL 11 была проделана впечатляющая работа по улучшению секционирования таблиц. Секц...

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

Как я патчил Вселенную :) На Хабре достаточно много статей про разработку игр, однако среди них очень мало статей, которые касаются “закулисных” тем. Одной из таких тем является организация доставки, собственно, игры большому количеству пользователей на протяжении длительного времени (год, два, три...

Квест с iobroker для игр “Квесты в реальности” Всем привет, на хабре уже есть несколько статей про автоматизацию игр типа «квесты в реальности» (раз, два, три, четыре, пять...), я хотел бы тоже поделиться своим опытом участия в подобном проекте. В далеком 2015 году мои друзья решили организовать квест типа escape-room ...

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

Музыкальная викторина SongPop Live от Gameloft вышла в США и Канаде на iOS HQ Trivia — безумно популярное на западе приложение от авторов Vine, которое прошло незамеченным мимо большинства русскоязычных пользователей из-за отсутствия русского языка. Для них выходил своеобразный отечественный аналог под названием Клевер от VK. Свою версию развлечен...

Для iOS и Android анонсирована карточная игра Legends of Runeterra с героями League of Legends Помимо полноценной мобильной MOBA, League of Legends: Wild Rift, компания Riot Games анонсировала еще несколько проектов, которые выйдут в том числе и на мобильных. Legends of Runeterra — это карточная игра в стиле Hearthstone и Artifact, но с персонажами вселенной League o...

«Гвинт: Ведьмак. Карточная игра» выйдет на iOS 29 октября, предрегистрация стартовала «ГВИНТ» изначально была карточной игрой внутри другой игры, «The Wither 3: Wild Hunt». Но она стала настолько популярной, что CD Projekt RED создала на ее основе отдельный проект — бесплатную ККИ. Пока что она доступна только на ПК и консолях, но уже скоро выйдет и на мобиль...

Интеграция с SAP ERP. Реализация мобильного прайс-чекера в магазине В рассматриваемом нами примере интеграции SAP ERP со сторонним ПО, мы будем использовать SAP Connector for Microsoft .NET для получения данных из SAP. Программное обеспечение для терминала сбора данных (ТСД) будет взаимодействовать с Microsoft Internet Information Server (II...

Состоялся полноценный релиз карточной игры Warhammer Combat Cards на iOS и Android Карточная игра Combat Cards по мотивам Warhammer 40K в режиме пробного запуска была доступна уже целый год, но только сегодня состоялся ее полноценный релиз на iOS и Android с поддержкой русского языка. Warhammer Combat Cards — это типичная ККИ, где вы будете собирать собст...

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

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

3 недели с Galaxy S10: плюсы и минусы Вот и пришло время менять телефон и мой выбор пал на Samsung Galaxy S10. Для тех, кто поглядывает на флагман от Samsung, добро пожаловать под кат, расскажу что с ним так, а что не очень. Читать дальше →

ZENLIX 3.5 — спустя 2 год Начав разработку системы заявок, с 2013 года, история которой описана в предыдущих публикациях: Как мы написали helpdesk Как мы написали helpdesk (часть 2) Как мы написали helpdesk (часть 3) мы остановили выпуск новых версий в 2017 году. Это не значит, что мы переста...

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

Цифровая версия популярной карточной игры BANG! вышла на Android в режиме бета-теста Компания Asmodee Digital, которая славится тем, что выпускает цифровые версии популярных настольных игр, на этой неделе порадовала игроков веселой карточной BANG! The Card Game. Игра выполнена в сеттинге спагетти-вестерна. Каждому игроку достается одна из семи ролей: шериф,...

ID@Xbox в России: расширение горизонтов гейминга Совсем недавно в Москве состоялось мероприятие в рамках программы для независимых разработчиков игр ID@Xbox. Участники показали 14 новых инди-игр, включая Felix the Reaper, King’s Bounty 2 и другие, а также пообщались с европейским руководителем ID@Xbox Агостино Симонетта....

SteamWorld Quest: Hand of Gilgamech – карточная игра с паровыми роботами За последние десять лет шведская студия Image & Form выпустила пять разных игр в четырех разных сеттингах. Вначале разработчики создали Tower Defense для Nintendo DSi, затем выпустили любопытный платформер, потом фантастическую пошаговую стратегию, затем снова платформер...

40 миллионов HTTP запросов/мин на голом Си Введение I/O реактор (однопоточный цикл событий) — это паттерн для написания высоконагруженного ПО, используемый во многих популярных решениях: Node.js Tor Transmission Chromium Memcached ... В данной статье мы рассмотрим подноготную I/O реактора и принцип его работы, нап...

Microsoft анонсировала инициативу Game Stack для разработчиков игр Game Stack объединит под собой платформы, инструменты и сервисы Miсrosoft для создания игр, среди которых Azure, PlayFab, DirectX, Visual Studio, Xbox Live, App Center и Havok, в единую экосистему.Облачная платформа Microsoft Azure выступает в качестве основы для Game Stack,...

[Из песочницы] Хранение и автоматическая сортировка фото и других файлов. Работа с файлохранилищем на базе NAS Synology Давно хотел написать про то как я храню свои файлы, как делаю бэкапы, но все никак не доходили руки. Недавно тут появилась статья, в чем-то похожую на мою но с другим подходом. Сама статья. Я уже много лет пытаюсь найти идеальный для себя метод для хранения файлов. Думаю я ...

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

Плюсы и минусы свободной планировки жилья Разбираемся в вопросе планировки жилья и выясняем, так ли привлекательно отсутствие стен в новой квартире.

Адаптируем AutoMapper под себя AutoMapper один из основных инструментов применяемых в разработке Enterprise приложений, поэтому хочется писать как можно меньше кода определяя маппинг сущностей. Мне не нравится дублирование в MapFrom при широких проекциях. CreateMap<Pupil, PupilDto>() .ForMember(x =...

Почему Minecraft: Pocket Edition лучше PC-версии? В этом году портативная версия всем любимой Minecraft опередила по покупкам PC-версию игры. В этой статье мы объясним, в чем причина популярности Minecraft: Pocket Edition и в чем она превосходит «полноценную» версию. Ну а если вы хотите поиграть в мобильный Minecraft прямо ...

Как мы картонный программный код делали или Scratch-версия настольной обучающей игры Битва Големов Настольной игре, обучающей основам программирования и робототехники «Битва Големов» уже 5 лет. И игра продолжает жить и развиваться. Вы можете прочитать об идеях, которые мы туда заложили и разработке первого издания в этой статье. Но сейчас речь пойдет о достаточно кардина...

[Перевод] Рассказ о том, как не надо проектировать API Однажды я помогал товарищу, которому нужно было интегрировать с сайтом его клиента данные о свободном и занятом жилье из системы управления имуществом. К моей радости у этой системы было API. Но, к сожалению, устроено оно было из рук вон плохо. Я решил написать эту статью ...

TDDx2, BDD, DDD, FDD, MDD и PDD, или все, что вы хотите узнать о Driven Development Просматривая статьи по проектированию ПО, я постоянно встречал тучу невиданных сокращений и вскользь упоминаемых практик разработки. TDD — ну, это все знают, сначала пишем тесты, а потом остальной код. BDD — что-то знакомое, вроде как, тоже тесты, но особенные. TDD — снов...

10 популярных смартфонов 34 недели 2019: Samsung, Xiaomi и нежданный гость Уже подходит к концу август, время года готовится сменится на осень. Также стремительно сменяются интересы пользователей, когда речь заходит о мобильных телефонах и смартфонах. GSMArena в очередной раз делится с нами статистикой того, какие материалы интересовали читателей...

[Перевод] Бесстрашная защита. Безопасность памяти в Rust В прошлом году Mozilla выпустила Quantum CSS для Firefox, который стал кульминацией восьми лет разработки Rust — безопасного для памяти языка системного программирования. Потребовалось более года, чтобы переписать основной компонент браузера на Rust. До сих пор все основны...

Software Defined Radio — как это работает? Часть 2 Привет, Хабр. В первой части были описаны основные виды SDR-устройств и кратко были приведены их характеристики. Во второй части я расскажу подробнее о плюсах и минусах SDR, также будет рассмотрен пример доступа к приемнику из языка Python. Продолжение под катом (осторож...

Unity вместе с Havok работают над новым физическим движком Сегодня на GDC Unity объявили о сотрудничестве с Havok от Microsoft над двумя физическими движками. Первый — Unity Physics, который будет дефолтным, полностью написанный на высокопроизводительном C# коде. Второй — Havok Physics полностью интегрированный в Unity. Читать дал...

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

[recovery mode] Бесплатные ссылки, или чем заняться на досуге владельцу сайта Эта статья будет полезна владельцам бизнеса, которые занимаются продвижением своего сайта самостоятельно, но в “пассивном режиме”: в свободное время понемногу изучают вопрос, пытаются вникнуть в разные аспекты, пробуют разные способы и сервисы. Иными словами, не ставят жестк...

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

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

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

[По докам] Flutter. Часть 1. Для Android разработчиков Про Flutter написано уже много статей. С каждым месяцем он становится всё популярнее. Поэтому я решил интерпретировать официальную документацию Flutter в лаконичный формат «вопрос — ответ». Думаю, многие, как и я, не имеют достаточно свободного времени для подробного изучени...

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

[Перевод] Ищем свободное парковочное место с Python Я живу в хорошем городе. Но, как и во многих других, поиск парковочного места всегда превращается в испытание. Свободные места быстро занимают, и даже если у вас есть своё собственное, друзьям будет сложно к вам заехать, ведь им будет негде припарковаться. Поэтому я решил...

На мобильных выйдет очень красивая головоломка Dream Detective Студия FunPlus, в портфолио которой есть такие популярные развлечения как King of Avalon, Guns of Glory и Lumia Saga, готовит необычную головоломку под названием Dream Detective. Это игра-расследование, в которой вам предстоит путешествовать по Земле снов и раскрывать причу...

[Перевод] Мой компилятор для Lisp Очень рад объявить о завершении моего первого компилятора для языка программирования! Malcc — это инкрементальный AOT-компилятор Lisp, написанный на C. Вкратце расскажу о его многолетней разработке и что я узнал в процессе. Альтернативное название статьи: «Как написать комп...

Зарегистрируйтесь для участия в ЗБТ сиквела карточной  Meteorfall: Krumit's Tale В июне студия Slothwerks анонсировала Meteorfall: Krumit's Tale — продолжение популярный карточной игры Meteorfall: Journey. Действие нового проекта будет происходить в той же вселенной, что и события оригинала, можно будет встретить многих знакомых героев, и даже карточная ...

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

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

Двигаемые мышкой виджеты. Drag and drop в пределах окна Обычное понимание Drag and Drop(D&D) предполагает, что берётся, например, ссылка на файл из одного виджета и перемещается мышкой в другое окно или виджет. Далее пойдёт речь не о библиотечных функциях D&D, а о собственной реализации перемещения виджета в пределах окна...

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

Приглашаем энтузиастов в The Medium Foundation Приветствую, Сообщество! The Medium Foundation — это общественная организация, основной целью которой является разработка сети «Medium» — независимой телекоммуникационной среды передачи данных. Мы оказываем своим пользователям услуги подвижной радиосвязи на безвозмездной ос...

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

New Super Mario Bros. U Deluxe удержала лидерство в британской рознице на второй неделе января Издание Gamesindustry.biz опубликовало собранные GfK Chart-Track данные по розничным продажам игр на территории Великобритании. Лидером второй недели января оказался New Super Mario Bros. U Deluxe, эксклюзив Nintendo Switch. Некоторые игры потеряли позиции, другие в...

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

Работа в IT, управление проектами, регулирование ПД и разработка в облаке: мегадайджест от 1cloud.ru Это — наши лучшие хабратопики. Здесь вы найдете материалы об истории Linux, обсуждение стоп-фраз для PM'ов и зарплат разработчиков плюс — большую фотоэкскурсию по нашему облаку. Читать дальше →

Перенос сайта на статику: мотивация, стоимость, работа Недавно мы сделали то, о чём грезят все программисты и дизайнеры — переписали всё с нуля: полный редизайн нашего сайта и написание «движка» с чистого листа. Ниже поведаем о мотивации и процессе миграции с онлайн-CMS на статику. Читать дальше →

3 нововведения, которые стоит ждать в Android Q Совсем недавно руководитель Google Сундар Пичаи назвал дату проведения конференции I/O. Она пройдет весной этого года в период с 7 по 9 мая. Вне всяких сомнений, нас ожидает много интересного, но самое важное в этом то, что традиционно в рамках I/O Google анонсирует новую в...

LuaVela: реализация Lua 5.1, основанная на LuaJIT 2.0 Некоторое время назад мы анонсировали публичный релиз и открыли под лицензией MIT исходный код LuaVela – реализации Lua 5.1, основанной на LuaJIT 2.0. Мы начали работать над ним в 2015 году, и к началу 2017 года его использовали в более чем 95% проектов компании. Сейчас хоче...

[Перевод] 10 самых распространенных ошибок при работе с платформой Spring. Часть 1 Всем привет. Сегодня делимся первой частью статьи, перевод которой подготовлен специально для студентов курса «Разработчик на Spring Framework». Начнём! Spring — пожалуй, одна из самых популярных платформ разработки на языке Java. Это мощный, но довольно сложный в освоении...

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

Sheeping Around — очень оригинальная и забавная карточная игра про пастухов и овец Мы привыкли к тому, что большая часть современных карточных игр основана на существующих вселенных и населяющих их персонажах. Тем интереснее смотрится Sheeping Around с абсолютно другой и оригинальной концепцией. Игра строится на противостоянии пастуха Хейзела Вуфа и брако...

Quester — Платформа для создания и прохождения квестов (Beta) Доброго времени суток! Цель статьи — открыть публике платформу, которая разрабатывается в свободное от работы время и одновременно проверить, как данная платформа выдержит хабраэффект. Содержание Описание платформы Что доступно на сегодняшний день Технические детали (мы вс...

[Перевод] Обновление инструментов Web и Azure в Visual Studio 2019 Скорее всего вы уже видели, что состоялся релиз Visual Studio 2019. Как и следовало ожидать, мы добавили улучшения для веб-разработки и разработки с Azure. В качестве отправной точки Visual Studio 2019 предоставляет новые фичи для начала работы с вашим кодом, и также мы обно...

Как распилить монолит на сервисы и сохранить производительность In-memory кэшей без потери консистентности Всем привет. Меня зовут Александр, я Java-разработчик в группе компаний Tinkoff. В данной статье хочу поделиться опытом решения проблем, связанных с синхронизацией состояния кэшей в распределенных системах. Мы столкнулись с ними, разбивая наше монолитное приложение на микр...

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

[Перевод] Руководство по React Native для начинающих Android-разработчиков (с примером приложения) Представляем вам перевод статьи Nikhil Sachdeva, опубликованной на hackernoon.com. Автор делится опытом разработки мобильных приложений с помощью React Native и предлагает создать свое приложение, используя этот фреймворк. Я был Android-разработчиком и довольно длительное...

Игровой чат-бот Угадай Слово — немного наблюдений и вопросов о развитии Привет. Когда в сентябре прошлого года писался игровой чат бот, я поставил планку — если он наберёт 500 пользователей за пол года (то есть до марта 2019), то я напишу об этом боте на Хабре и поделюсь своими мыслями и вопросами по игровым чат-ботам. Читать дальше →

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

[Из песочницы] К чему приводит лень или как докатиться до написания парсера psd и что из этого может получиться Доброго времени суток! Меня зовут Андрей, я хочу рассказать Вам о своем проекте, который разрабатываю в свободное от работы время. Он уже достиг этапа, когда есть что показать и от этого не станет стыдно. Читать дальше →

[Перевод] Трудно быть мейнтейнером проекта Open Source Автор — Сальваторе Санфилиппо, разработчик и мейнтейнер свободной СУБД Redis Несколько месяцев назад мне написал мейнтейнер одного системного open source проекта с довольно большим и активным сообществом. Он написал, что много лет изо всех сил пытается поддерживать свой пр...

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

Gears 5 опробовали более 3 миллионов игроков Gears 5 — это шутер от третьего лица, созданный студией The Coalition, входящей в состав Xbox Game Studios и ответственной за популярную франшизу Gears of War. Версия Ultimate Edition стала доступна в раннем доступе 6 сентября, а на прошлой неделе состоялся полноценный рели...

[Перевод] Использование strict-модулей в крупномасштабных Python-проектах: опыт Instagram. Часть 1 Публикуем первую часть перевода очередного материала из серии, посвящённой тому, как в Instagram работают с Python. В первом материале этой серии речь шла об особенностях серверного кода Instagram, о том, что он представляет собой монолит, который часто меняется, и о том, ка...

[Из песочницы] Реализация свободного перемещения частиц на ReactJS Приветствую! Хочу вам показать один из способов, как реализовать свободное перемещение частиц в указанном диапазоне. Для выполнения этой задачи я буду использовать ReactJS. Но сам алгоритм все равно будет общим, и вы можете его использовать где угодно. Читать далее

С чего начать изучать веб-разработку в 2019 году или HTML Academy VS Codecademy VS FreeCodeCamp Привет, Хабр! Хочу поделиться своими мыслями о самых популярных площадках для изучения веб-разработки HTML Academy, Codecademy, FreeCodeCamp (мне бы хотелось прочитать подобную статью, когда я только начинала учиться веб-разработке самостоятельно). *Данный обзор является мо...

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

Логи не нужны? Разработка сильно изменилась за последние годы. Вместо монолитных приложений пришли микросервисы и функции. Базы данных из универсальных промышленных монстров переродились в узконаправленные. Docker изменил взгляд на деплой. Но изменилось ли наше представление о логах? Одна...

Nomad: проблемы и решения Первый сервис в Nomad я запустил в сентябре 2016 года. На данный момент пользуюсь как программист и занимаюсь поддержкой как администратор двух Nomad кластеров — один "домашний" для своих личных проектов (6 микро-виртуалок в Hetzner Cloud и ArubaCloud в 5 разных датацентрах ...

Простая реализация небольших CAM на ПЛИС Введение Как-то раз мне потребовалось по работе реализовать небольшой блок ассоциативной памяти. Почитав, как это делается у Xilinx на BlockRAM (BRAM) или на SRL16, я несколько опечалился, так как их реализации занимали довольно много места. Решил попробовать сделать его сам...

Первое знакомство с Home Assistant Home Assistant – популярное приложение с открытым исходным кодом для организации умного дома. Первый опыт автора в работе с Home Assistant основывается на попытке интеграции в него ‘умной рисоварки‘. Автор постарается описать основные компоненты и возможности данного прило...

Slay the Spire: вверх, до самых высот Slay the Spire – это крайне аддиктивная roguelike RPG с карточной боевой системой и динамическим сбором колоды во время прохождения. Даже если вы равнодушны к компьютерным карточным играм, не спешите листать дальше, Slay the Spire – это, вероятно, самая правильная и легкая т...

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

Romero Games & Paradox Interactive готовят новую игру про Мафию Romero Games & Paradox Interactive готовят новую игру про Мафию

noexcept-ctcheck или несколько простых макросов, чтобы компилятор помогал при написании noexcept кода При разработке на C++ время от времени приходится писать код, в котором исключения не должны возникать. Например, когда нам нужно написать не бросающий исключений swap для собственных типов или определить noexcept move-оператор для своего класса, или вручную реализовать нетр...

Анонсирована Harry Potter: Magic Awakened — карточная игра с элементами RPG Warner Bros. Interactive и NetEase анонсировали новый проект по одной из популярнейших франшиз в истории, Гарри Поттеру. Harry Potter: Magic Awakened — это карточная игра с элементами RPG, действие которой будет происходить через несколько лет после Второй магической войны. ...

Mattermost. Интеграция с внешними сервисами (часть 2) Продолжим разбираться с mattermost в части интеграции с внешними сервисами. Часть вторая. Интеграция с Zabbix Во второй части повествования о интеграции mattermost, речь пойдет про отправку сообщений об авариях из zabbix в mattermost. В результате поисков в сети был взят за ...

[Из песочницы] Как я обучал нейросеть для реализации функции оценки положения на Russian AI Cup CodeBall 2018 Имея возможность качественно оценить положение в игре в какой-то момент времени и возможность симулировать игровой мир, при создании бота, для одного из решений, остается лишь стремиться совершать такие действия, которые приводят к улучшению этой оценки в ближайшем будущем. ...

Почитать на каникулах. Лучшие посты в нашем блоге за 2018 год Привет! Грядут новогодние каникулы, а с ними и некоторое количество свободного времени Собрали подборку популярых статей из нашего блога. Внутри деление → бекенд, фронтенд, команда, мобильная разработка. Приглядитесь, даже если почитываете наш блог время от времени. Чита...

Обучающие настольные игры для программистов На рынке труда в Java-разработке наблюдается интересная ситуация. Активных резюме разработчиков больше 100 000 и на одно резюме приходится одна вакансия. В то же время работодатели и кадровые агентства жалуются на недостаток кадров, и, несмотря на тысячи резюме, найти хороше...

Для карточной игры Void Tyrant вышло крупное обновление с новым классом и массой контента Void Tyrantне пользуется особой популярностью, но на это необычное карточное развлечение точно стоит обратить внимание. В нем и со старта достаточно контента, а разработчики стабильно предлагают обновления. На днях выпустили крупнейший апдейт под названием Assassins and Out...

Книга «Vue.js в действии» Привет, Хаброжители! Цель этой книги — дать вам знания, с помощью которых вы без колебаний присоединитесь к любому проекту, использующему эту библиотеку. Книга предназначена для всех, кто заинтересован в изучении Vue.js и имеет опыт работы с JavaScript, HTML и CSS. От вас не...

Blitz Engine & Battle Prime: ECS и сетевой код Вступление Battle Prime — первый проект нашей студии. Несмотря на то, что многие члены команды имеют приличный опыт в разработке игр, мы, естественно, сталкивались с разными сложностями во время работы над ним. Они возникали как в процессе работы над движком, так и в процес...

Поиск похожих изображений, разбор одного алгоритма Пришлось мне недавно решать задачку по оптимизации поиска дубликатов изображений. Существующее решение работает на довольно известной библиотеке, написанной на Python, — Image Match, основанной на работе «AN IMAGE SIGNATURE FOR ANY KIND OF IMAGE» за авторством H. Chi Wong...

Видео: анонс западной версии карточного файтинга Super Dragon Ball Heroes: World Mission для ПК и Switch В декабре на ежегодном фестивале Jump Festa 2019, который посвящён манге и аниме журнала Jump, издательство Bandai Namco Entertainment заявило о том, что карточная игра Super Dragon Ball Heroes: World Mission выйдет на японском рынке 4 апреля 2019 года. О западном з...

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

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

Литература на выходные: легкое чтение для технарей Летом мы публиковали подборку книг, в которой не было справочников или руководств по алгоритмам. Она состояла из литературы для чтения в свободное время — для расширения кругозора. В качестве продолжения мы подобрали научную фантастику, книги о технологическом будущем челове...

Нейросетевой синтез речи с помощью архитектуры Tacotron 2, или «Get alignment or die tryin'» Нашей команде поставили задачу: повторить результаты работы искусственной нейронной сети синтеза речи Tacotron2 авторства DeepMind. Это рассказ о тернистом пути, пройденном нами в ходе реализации проекта. Читать дальше →

[Перевод] Асинхронное программирование в Python: краткий обзор Когда говорят о выполнении программ, то под «асинхронным выполнением» понимают такую ситуацию, когда программа не ждёт завершения некоего процесса, а продолжает работу независимо от него. В качестве примера асинхронного программирования можно привести утилиту, которая, работ...

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

Криптографический АРМ на базе токенов PKCS#11. Получение сертификатов для ЕГАИС. Часть 4 И вот, когда я уже практически добавил в криптографический АРМ на базе токенов PKCS#11 cryptoarmpkcs генерацию самоподписанных сертификатов и готов был приступить к написанию статьи, мне пришло такое письмо:Мы являемся УЦ «Имярек», у нас возникло затруднение с выпуском ЭП в...

[Из песочницы] Редактор блок схем — о дружбе Vue.js и MxGraph С чего все началось? Я фронтенд разработчик, но стремлюсь к развитию, решил написать fullstack приложение и стать миллионером получить бесценный опыт. Так вот, начал планировать бэкенд, выбрал MongoDB для хранения данных, и был готов планировать структуру и связи полей. Н...

[Из песочницы] Исследование системы магнитной левитации с модальным управлением Данный материал создан ввиду прошедшей защиты выпускной квалификационной работы бакалавра, учитывающей некоторые замечания по объекту управления. Материал создаётся в качестве первоначального задела под возможную магистерскую диссертацию по той же тематике. Современные сист...

[Перевод] Автор Dwarf Fortress Тарн Адамс рассказывает о разработке игры Одним из лучших способов применения мощных процессоров для развлечений долгое время была Dwarf Fortress — игра, в которой весь мир состоит из символов ASCII, и которая с радостью съест гигабайт памяти и большую долю процессорного времени. Но в отличие от некоторых других и...

Как мы из веб-разработки в разработку игры зашли Привет, Хабр! Без малого полтора десятка лет мы создаем и развиваем веб-сервисы. Некоторые из них вы можете знать, иметь опыт пользования, горячо любить или испытывать смешанные чувства, но сейчас не об этом. Итак, у нас было 2 известных рынку конструктора сайтов — uCoz и uK...

Turn 10 Studios ищет разработчиков для «следующего поколения» Forza Motorsport По информации многочисленных источников, следующее поколение Xbox появится в 2020 году. Учитывая этот факт, многие студии, такие как Rockstar Games, приступили к поиску разработчиков для работы над играми под новое поколение консолей. Теперь же стало известно, что собственн...

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

Проверка FreeRDP с помощью анализатора PVS-Studio FreeRDP – свободная реализация клиента Remote Desktop Protocol (RDP), протокола, реализующего удаленное управление компьютером, разработанного компанией Microsoft. Проект поддерживает множество платформ, среди которых Windows, Linux, macOS и даже iOS с Android. Этот проект ...

[Перевод] Как создавали Spore: интервью с разработчиками 7 сентября 2008 года Maxis выпустила одну из самых амбициозных игр своего времени — Spore. Однопользовательская «игра в бога» в песочнице была поначалу воспринята со смесью одобрения и критики: многие фанаты были расстроены тем, что она не соответствовала ожиданиям, данным...

DataArt примет открытую лекцию Андрея Терехова, завкафедрой системного программирования Матмеха СПбГУ 5 декабря — это будет четверг — в центре разработки DataArt в Санкт-Петербурге пройдет лекция доктора физмат наук, профессора, члена правления РУСОФТ Андрея Николаевича Терехова. Он расскажет о самых популярных советских ЭВМ, о работе над транслятором языка Алгол-68 для ни...

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

[Из песочницы] Создаем прототип для Sentiment Analysis с помощью Python и TextBlob Что важно для команды разработчиков, которая только начинает строить систему, базирующуюся на машинном обучении? Архитектура, компоненты, возможности тестирования с помощью интеграционных и юнит тестов, сделать прототип и получить первые результаты. И далее к оценке трудоем...

Обзор World of Myths. Отличная карточная игра Почему-то в последнее время коллекционные карточные игры стали появляться на рынке все чаще и чаще. Видимо, разработчики решили, что можно выпускать условно-бесплатные проекты и зарабатывать на ККИ столько же, сколько и Blizzard. Вот только есть определенные требования, кото...

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

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

На iOS вышла «Гвинт» — бесплатная карточная игра по «Ведьмаку» Мобильная версия игры с полной поддержкой русского языка.

Дайджест интересных материалов для мобильного разработчика #292 (25 марта — 31 марта) В нашей подборке за неделю есть создание игры «не художником», автоматизированная разработка мусора, видео докладов с конференций, разработка, отладка, костыли и документация. Добро пожаловать! Читать дальше →

[Из песочницы] Dart vs Node.js: сравниваем производительность на реализациях HTTP сервера Всем доброго времени суток! В этом году с выходом Flutter — фреймворка для кроссплатформенной разработки приложений наметился подъем хайпа по языку Dart. Как и любой перфекционист прокрастинирующий от скуки лентяй я задумался о сравнении производительности серверной реализа...

MVCC-6. Очистка Мы начали с вопросов, связанных с изоляцией, сделали отступление про организацию данных на низком уровне, затем подробно поговорили о версиях строк и о том, как из версий получаются снимки данных. В прошлый раз мы поговорили о HOT-обновлениях и внутристраничной очистке, а с...

Разработка hexapod с нуля (часть 5) — электроника Всем привет! Разработка гексапода близится к завершению первой боевой версии и вот настало время для описания всей его электронной начинки. На данном этапе разработки я наконец-то покажу все исходники проекта на github (ссылки как всегда будут в конце). Так же я добавил HC-...

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

[Перевод] «Пятнашка» на Java — как разработать полноценную игру «Пятнадцать», или «Пятнашка» — отличный пример простой логической игры, популярной во всем мире. Для того чтобы решить головоломку, необходимо расставить квадратики с цифрами по порядку, от меньшего к большему. Это непросто, но интересно. В сегодняшнем туториале показыв...

[recovery mode] Как сделать мобильную игру командой из 2 человек с нулевым бюджетом и получить фичеринг в Google Play Мы с мужем давно хотели делать игры вместе, но времени на это никогда не хватало. Мы оба работали: он — UI-программистом в геймдеве, я — продакт-менеджером в social media, затем в финтехе, и сил на собственную игру не оставалось. Год назад мы переехали в Канаду и решили, ...

DARPA займется разработкой ракетного ядерного двигателя Агентство DARPA в 2020 году планирует начать работу по созданию ядерного ракетного двигателя. Задача — разработка такого движка, который можно было бы использовать для передвижения космических транспортников в пределах лунной орбиты. Финансирование проекта составляет $10 м...

Как Мефодий стал Анной: опыт разработки и запуска классификаторов голосовых сообщений. Часть 2 Цель и задача Напомню, что в рамках первой статьи мы получили модель с удовлетворяющим нас качеством и пришли к выводу, что не стоит сразу строить нейронные сети, на некорректных данных большой пользы от этого не будет. Чтобы избежать потери времени и своих сил, достаточно п...

[Перевод] Что я узнал про оптимизацию в Python Всем привет. Сегодня хотим поделиться еще одним переводом подготовленным в преддверии запуска курса «Разработчик Python». Поехали! Я использовал Python чаще, чем любой другой язык программирования в последние 4-5 лет. Python – преобладающий язык для билдов под Firefox, те...

Студия Itatake обновила популярную головоломку Pebble Universe впервые за 5 лет Не так давно разработчик Itatake выпустил необычную аркаду Rest in Pieces. Но олдскульные геймеры знают, что именно эта студия в далеком 2012 работала над проектом Pebble Universe. Это была физическая головоломка, которые тогда заполонили App Store после ставшего очевидным у...

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

[Перевод] Новшества JavaScript: итоги Google I/O 2019. Часть 1 Материал, первую часть перевода которого мы сегодня публикуем, посвящён новым стандартным возможностям JavaScript, о которых шла речь на конференции Google I/O 2019. В частности, здесь мы поговорим о регулярных выражениях, о полях классов, о работе со строками. Ретроспект...

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

[Из песочницы] Что такое быть Team Leader Всем привет! Меня зовут Артур Дементьев, я бы хотел поделиться личным опытом и написать несколько статей о том, что из себя представляет менеджмент в IT. А также рассказать о том, на какие грабли наступал и каких ошибок можно было избежать. Все статьи я буду писать, основыва...

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

[Перевод] Чему я научился на своём горьком опыте (за 30 лет в разработке ПО) Это циничная, клиническая коллекция того, чему я научился за 30 лет работы в разработке программного обеспечения. Повторюсь, некоторые вещи весьма циничны, а остальное — результат долгих наблюдений на разных местах работы. Читать дальше →

Управление параметрами в бизнес-приложениях по аналогии с системой контроля версий В различных приложениях регулярно возникает задача по поддержке логики изменения во времени некоторого атрибута объекта относительно некоторого субъекта (или субъектов). Например, это может быть изменение розничной цены товара в магазинах или показателей KPI для сотруднико...

[recovery mode] Делаем маршрутизатор и NAS на одном процессоре У меня появился «домашний сервер» на Linux всего через несколько лет, как мне купили компьютер. Сейчас, с того момента прошло уже более пятнадцати лет и большинство этого времени у меня был какой-то второй дополнительный компьютер дома. Однажды, когда пришла пора его обновля...

Знакомимся с языком Swift на примере игры Snake Всем привет! В преддверии запуска курса «iOS-разработчик. Базовый курс» мы организовали очередной открытый урок. Этот вебинар рассчитан на людей, которые имеют опыт разработки на любых языках и платформах, однако желают ещё изучить язык Swift и освоить разработку под iOS. ...

Глобальный релиз «сказочной RPG» SINoALICE состоится 18 июля, анонсирован кроссовер Nier: Automata SINoALICE – оригинальная мобильная RPG от NEXON, действие которой происходит в мире темного фэнтези. За разработку отвечают геймдизайнер Йоко Таро — автор Drakengard и серии Nier, а также композитор Кэйити Окабэ, поработавший с теми же сериями. Главной фишкой игры будут пер...

Sigma mobile X-treme PQ53 — IP68, 4G, NFC и аккумулятор на 5000 мАч Sigma mobile X-treme PQ53 – смартфон в защищенном по стандарту IP68 корпусе. Кроме того, у него большой дисплей (5,7 дюйма), емкий аккумулятор с поддержкой быстрой зарядки, а также все популярные модули и интерфейсы, актуальная версия ОС Android плюс мн. др. А вот о том, как...

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

[Из песочницы] Навигация в кроссплатформенных приложениях: почему NavController победил angular/router в Ionic 4 Всем привет! Меня зовут Никита Жигамовский, программист в KitApp и я хочу рассказать о своем опыте построения навигации в Ionic 4: проблеме, с которой столкнулся, и ее решении. Я занимаюсь разработкой кросс-платформенных решений для мобильных приложений с 2018 года. Рань...

[Перевод] Топ-5 JS-фреймворков для фронтенд-разработки в 2020 году. Часть 2 Публикуем вторую часть перевода материала, посвящённого пятёрке лучших JavaScript-инструментов для разработки клиентских частей веб-проектов. В первой части речь шла о библиотеке React и о фреймворке Angular. Здесь мы обсудим Vue, Ember и Backbone. Читать дальше →

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

SOC — это люди: суровые будни сервис-менеджера центра мониторинга и реагирования на кибератаки Рассказывая о том, как устроена работа центра мониторинга и реагирования на кибератаки (SOC) изнутри, мы уже говорили об инженерах первой и второй линии и об аналитиках. Тогда же мы вскользь упомянули о сервис-менеджерах. Это сотрудники SOC, которые отвечают перед заказчик...

Как я опубликовал PWA на Svelte в Google Play Мне нравится метал музыка разных направлений. Для отслеживания новинок я сделал парсер, который ищет свежие альбомы и складывает их в базу. За время существования приложения парсер я почти не трогал, хотя он и далек от идеала, а вот фронтенд был переделан несколько раз. Под...

Реализация моделей seq2seq в Tensorflow Порождение данных с помощью рекурентной нейронной сети становится все более популярным методом и находит свое применение во многих областях компьютерной науки. С начала рождения концепции seq2seq в 2014 году прошло всего пять лет, но мир увидел множество применений, начиная ...

[Из песочницы] Проблемы и нюансы при разработке под SmartTV с использованием React.js Хочу поделиться опытом разработки приложения с просмотром видео контента для SmartTV (Tizen и WebOS) и с какими проблемами мы столкнулись. На современных телевизорах, как мы знаем, можно устанавливать разные приложения, для облегчения работы с какими-то ресурсами и контенто...

[Из песочницы] Расширения VSCode, которые облегчат разработку на JavaScript и Vue На сегодняшний день существует достаточное количество средств для разработки с поддержкой языка JavaScript и основанных на нем фреймворков. Вопрос выбора конкретного инструмента стоит вне этой статьи, тут же я постараюсь описать свой пользовательский опыт работы с Visual Stu...

Новое геймплейное видео пошагового карточного рогалика Space Grunts 2 Space Grunts 2 — это пошаговый рогалик известного разработчика Orangepixel (серия Gunslugs), который был анонсирован всего месяц назад. Оригинал же выходил еще в 2016 году. Разработчик не просто добавил новые механики, но и пересмотрел динамику игры, оставив фирменную пошаг...

Ностальгия по Half Life — создаем приставку для радиостанции для получения голоса и звука окончания в стиле комбайнов Когда-то давным-давно, когда деревья были большие, был такой шутер Half-Life, продолжение которого ждут до сих пор — это уже притча во языцах. Были там такие противники как Combines (Combine Soldiers) — измененные захватчиками люди. Во время игры можно было слышать их пер...

[Из песочницы] Принцип работы протокола VRRP FHRP (First Hop Redundancy Protocol) — семейство протоколов, предназначенных для создания избыточности шлюза по умолчанию. Общей идеей для данных протоколов является объединение нескольких маршрутизаторов в один виртуальный маршрутизатор с общим IP адресом. Этот IP адрес буд...

[Перевод] Использование Golang для создания микросервисов в The Economist: ретроспектива Всем привет! Уже 28 мая мы запускаем первую группу по крусу «Разработчик Golang». И сегодня делимся с вами первой публикацией приуроченной к запуску этого курсу. Поехали. Ключевые выдержки The Economist требовалось больше гибкости для распространения контента на все бол...

Редакция 3DNews ищет авторов новостей Редакция 3DNews ищет авторов новостей Hardware и Software. Если вы разбираетесь в мире информационных технологий, умеете грамотно, быстро и интересно писать, у вас есть не менее трёх часов свободного времени в день и вам нравится готовить публикации на тему IT — напишите нам...

Совместная работа с документами, обновленный корпоративный чат и мобильное приложение: Что нового в Zextras Suite 3.0 На прошлой неделе состоялся долгожданный релиз популярного набора дополнений для Zimbra Collaboration Suite Open-Source Edition под названием Zextras Suite 3.0. Как и подобает мажорному релизу, помимо различных баг-фиксов, в него было добавлено множество значительных изменен...

[Из песочницы] Duality — легкий и быстрый движок для игростроя под Windows (Доп.) Приветствую, читатель. В данной публикации речь пойдет о перспективном и достаточно молодом игровом движке, который незаслуженно остался в тени таких гигантов, как Unity или Unreal Engine. Разработчиками является объединение энтузиастов под руководством Adam's Lair. Как...

Google займется выпуском фитнес-браслетов и умных часов Компания Google имеет в своем портфолио массу решений – от смартфонов до умных колонок. Однако с носимыми устройствами у нее пока не сложилось: из подобных аксессуаров имеются только наушники Pixel Buds, которые едва ли можно назвать успешным продуктом. Но в скоро...

В следующем обновлении в карточной игре Meteorfall появятся ежедневные испытания Мы назвали Meteorfall одной из лучших карточных игр прошлого года и сегодня лишний раз убедились в том, что это заслуженно. Разработчики не только представили свежий взгляд на жанр, застрявший на одном месте из-за влияния Hearthstone: Heroes of Warcraft, но и активной поддер...

Первый и второй DOOM вышли на Android в честь 25-летнего юбилея Первый DOOM празднует свое 25-летие, и в ознаменование такой важной вехи в истории культовой франшизы компания Bethesda решила выпустить официальные порты двух первых частей популярной игры на Android, опубликовав их сегодня в Google Play. Ну что тут скажешь — в аду выдался...

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

[Перевод] Игры меняют мир: как Hellblade привлёк внимание к проблемам людей с психическими заболеваниями Мы привыкли относиться к играм несерьёзно. Если кино, литература и телевидение ассоциируются с чем-то солидным, то интерактивные развлечения пренебрежительно называют «видеоиграми». Большинство по-прежнему видит в этом виде искусства только Operation. Впрочем, это не мешает...

[Из песочницы] Как самостоятельно имплементировать (Proof of Existence) за 2 шага Всем привет! Я работаю в компании, QuantNet, которая проводит конкурсы алгоритмических стратегий. В недавнем времени передо мной встала важная задача — обеспечить гарантии неприкосновенности даты юзеров (это чрезвычайно важно, так как для корректной проверки эффективностей с...

[Перевод] Как освещение влияет на геймдизайн и игровой опыт В ожидании PS5 и Project Scarlett, которые будут поддерживать трассировку лучей, задумался об освещении в играх. Нашел материал, где автор объясняет, что такое свет, как он влияет на дизайн, меняет геймплей, эстетику и экспириенс. Все с примерами и скриншотами. Во время иг...

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

О новых стандартах C++ Сегодня у меня довольно короткий пост. Я бы его и не писал, наверное, но на Хабре в комментах довольно часто можно встретить мнение, что плюсы становятся хуже, комитет делает непонятно что непонятно зачем, и вообще верните мне мой 2007-й. А тут такой наглядный пример вдруг п...

Игровые автоматы гаминатор — начни играть без риска Игровые автоматы Гаминатор – это уникальный способ разнообразить досуг яркими впечатлениями, азартным боем и вполне материальной наградой. Сайт http://gaminatorslotsru.net/games/ предлагает более восьмидесяти моделей слотов от разработчиков с мировой известностью. Компании Н...

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

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

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

RC Машинки: Первые покупки — шасси и силовая установка Силовая установка — звучит как-то странно, но если подумать, то очень четко описывает те самые компоненты которые заставляют модель двигаться. Не уверен входит ли сюда сервопривод (лево/право). Если вы читали первую часть этого цикла, то вы знаете, что есть модели на ДВС и ...

[Из песочницы] Восстание машин началось. Google Play Небоскребы, небоскребы, стены, лифты, этажи, расскажу я вам, ребята, про восстание машин… Сцена из КВН Я — самый настоящий инди-разработчик и это моя страсть. Начал свой путь 4.5 года назад, опубликовав свое первое приложение в Google Play. Мной была сделана вся работа по ...

[Из песочницы] Invidious — альтернативный YouTube-фронтенд «Invidious» — это веб-фронтенд (грубо говоря, веб-клиент) для сайта YouTube. Код проекта написан на языке программирования Crystal, использует СУБД PostgreSQL и распространяется под свободной лицензией AGPLv3+. Читать дальше →

[Из песочницы] 10 лет на удаленке и что из этого вышло Содержание 1. Первая работа 2. Первый экономический кризис и первая удаленка 3. Год за два 4. Покоряем Москву, не выходя из дома в провинции 5. Второй (валютный) экономический кризис 6. А в это время в России 7. А что сейчас? 8. Выводы/Плюсы/Минусы 9. ЧаВО Читать дальше &r...

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

Государство перепишет население при промощи big data Планируемый Росстатом в 2020 году сбор сведений о населении России может быть проведен с применением технологии анализирующих большое количество данных. Такая система, вероятно, сможет оценить и количество граждан, и определит миграционные потоки. Предположительно, реализаци...

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

Слёрм DevOps. День первый. Git, CI/CD, IaC и зелёный динозавр 4 сентября в Санкт-Петербурге начался Слёрм DevOps. В одном месте и в одном времени собрались все необходимые факторы для увлекательного интенсива длительностью в три дня: удобный конференц-зал Selectel, семь десятков любопытных разработчиков в зале и 32 участника в онлайне...

AR, робототехника и катаракта: как мы съездили на российско-немецкую школу по программированию В середине марта в Мюнхене прошла Joint Advanced Student School 2019 (JASS) — недельная англоязычная студенческая школа-хакатон++ по разработке программного обеспечения. О ней в 2012 году уже писали на Хабре. В этом посте мы расскажем о школе и поделимся впечатлениями нескол...

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

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

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

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

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

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

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

Локализация приложения и поддержка RTL. Доклад Яндекс.Такси При локализации сервиса важно внимательно отнестись к согласованию переводов между собой. Руководитель группы клиентской Android-разработки Яндекс.Такси Александр Бонель рассказал, какие практики и инструменты упрощают локализацию. Во второй части доклада Саша поделился опыт...

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

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

Анонсирована мобильная версия одной из самых популярных MMORPG Китая Legend of Mir Eternal Вы, скорее всего, этого не знали, но с The Legend of Mir 2 началась эпоха мультиплеерных развлечений в Китае два десятка лет назад. За это была ответственна студия Shanda Games, которая перенесла игру с Южной Кореи. Оказывается, даже сегодня эта она остается одной из самых п...

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

«ГВИНТ: Ведьмак. Карточная игра» вышла на iOS CD Projekt выпустила на iOS, возможно, главного конкурента карточной Hearthstone: Heroes of Warcraft — ГВИНТ: Ведьмак. Карточная игра. Это карточная игра, которая изначально была мини-игрой в «Ведьмак 3: Дикая Охота». Она стала настолько популярной, что разработчики решили ...

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

Онлайн игра с RC моделями, управляемыми через интернет Продолжение статьи Как мы запустили роботов в маленький Чернобыль про игровую концепцию Remote Reality. Мы очень благодарны сообществу Хабр за проявленный интерес к нашему проекту, за много хороших слов и полезных комментариев к первой статье. Надеемся вторая часть нашей ис...

По-настоящему «народный»: обзор недорогого 27-дюймового 4К-монитора AOC U2777PQU Сегодня мы не будем тестировать новинку: в нашей тестовой лаборатории – AOC U2777PQU, монитор, который выпускается не первый год и остается по-прежнему популярным среди домашних и офисных пользователей. Что делает его столь привлекательным? Во-первых, оптимальная для работ...

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

Стартовала предрегистрация на тайм-менеджер SpongeBob: Krusty Cook-Off В прошлом месяце на мобильных вышла игра Potion Punch 2. Это казуальное развлечение в жанре тайм-менеджера, где вам нужно на скорость обслуживать клиентов собственного ресторана. Сегодня стартовала регистрация похожего проекта с персонажами популярного мультсериала SpongeBob...

[Перевод] Как написать смарт контракт на WebAssembly в сети Ontology? Часть 1: Rust Технология Ontology Wasm снижает стоимость переноса смарт контрактов dApp со сложной бизнес- логикой на блокчейн, тем самым значительно обогащая dApp экосистему. В настоящее время Ontology Wasm одновременно поддерживает разработку как на языке Rust, так и на языке C++. Яз...

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

Flutter. Плюсы и минусы В первую очередь расскажем немного о том, что же такое Flutter. Это фреймворк для создания мобильных приложений от компании Google. Он является кроссплатформенным и позволяет компилировать созданный проект под 3 операционные системы: Android iOS Fuchsia Причем для послед...

Проектирование Электро-Механической Marble Machine v2.0 Я хочу рассказать о второй версии моей электро-механической Marble Machine и о процессе ее проектирования. Про первую спиральную машину я уже писал здесь на хабре. Времени с тех пор прошло не мало, и вот, в принципе, задуманное осуществлено: два подъемника и два спуска рабо...

[Из песочницы] Дружим часы реального времени PCF8563 с Arduino по I2C Привет, Хабр. Довелось мне использовать RTC на микросхеме PCF 8563 по I2C.Так как нормальных функции для более удобной работы с Arduino я не нашел, пришлось работать напрямую через I2C. В Англоязычном интернете нашел толковый туториал с подробным описанием процесса. Данная с...

Какая оболочка для Android-смартфонов самая быстрая EMUI 10 — самая быстрая оболочка для Android. Интересно, почему? Одной из основных характеристик, на которую пользователи Android всегда обращали внимание при выборе нового смартфона, была скорость его работы. Видимо, так в них отзывалась память о временах, когда аппар...

Как мы делали свой движок Workflow Мы в компании DIRECTUM занимаемся разработкой ECM-системы DirectumRX. Основным элементом модуля Workflow для ECM-системы является движок. Он отвечает за изменение состояния экземпляра процесса (инстанса) по ходу жизненного цикла. Перед тем, как начать разрабатывать модуль Wo...

Опыт разработки Life Simulator: Спустя один год и миллион загрузок Эта игра с самого начала обладала недостатками, и я не хотел, чтобы она была такой. Я думаю, людям понравилась концепция, и поэтому они скачали игру; но я не уверен, почему именно игра стала популярной - считаю её успех везением, которого мы все жаждем в индустрии.

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

Ubisoft уличили в обмане игроков: год назад в Beyond Good & Evil 2 обещали офлайн-режим На этой неделе разработчики приключенческого экшена Beyond Good & Evil 2 преподнесли неприятную новость: для игры потребуется постоянное подключение к Интернету. По словам создателей, это необходимо не только для мультиплеера, но и для своевременного п...

Разработка игры Breakout на Svelte На MDN есть туториал "2D игра на чистом JavaScript", в котором изучаются основы использования элемента HTML5 <canvas>. В этом туториале мы повторим разработку этой игры на Svelte. Читать дальше →

Truck Trials 2.5: Free Range — новые гонки по бездорожью для iOS и Android Если вы считаете, что обычные гонки, такие как серия Asphalt, для вас давно стали чересчур простыми, обратите внимание на новинку Truck Trials 2.5: Free Range 4x4. Это развлечение для тех, кто не ищет легких путей. Truck Trials – это полноценные гонки по бездорожью, где вам...

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

Прошивка Marlin на Anet A8 под Ubuntu     Когда очень любишь свободное программное обеспечение, но не являешься "красноглазым" иногда приходится тяжко разобраться с чем то новым. Большинство гайдов пишется под Windows, а то, что удается найти на Linux, преимущественно на английском языке.     Являюсь обладателем...

Чего ждать, если хочешь стать iOS-разработчиком Со стороны iOS разработка может казаться закрытым клубом. Для работы обязательно нужен компьютер от Apple, экосистему пристально контролирует одна компания. Изнутри тоже иногда слышны противоречия — кто-то говорит, что язык Objective-C старый и неповоротливый, а кто-то, чт...

[Перевод] Опыт кандидата при рекрутинге разработчиков программного обеспечения. Часть 1 День добрый, друзья. Сегодняшняя публикация будет не совсем типичной для нашего блога, потому как речь пойдет о рекрутинге разработчиков ПО, а точнее о практическом опыте кандидата. И приурочена данная статья к запуску нового потока по курсу «IT-Recruiter». Было доказано,...

[Перевод] PEG парсеры Несколько лет назад меня кто-то спросил имеет ли смысл превести Python на PEG-парсер (или на грамматику PEG; я не помню точно кто и когда это было). Тогда я немного посмотрел на него, но так и не пришёл к какому-либо выводу, а потому и отбросил эту тему. Недавно я узнал боль...

OMEGA — Автоматизация подсчета времени на спортивных мероприятиях Всем привет, меня зовут Сергей. Я руководитель образовательного проекта "SERVODROID". Мой проект занимается разработкой простых в повторении роботов для детей и взрослых. Сам я преподаю робототехнику в Санкт-Петербурге. Но также я спортсмен, и, одно из моих любимых спортив...

[Перевод] Шесть историй, как код переписали с нуля Новый взгляд на извечный вопрос: следует ли переписывать приложение с нуля или это «самая худшая стратегическая ошибка, которую может сделать разработчик программного обеспечения»? Оказывается, при работе со зрелой кодовой базой есть более двух вариантов ответа. «Исходны...

При установке Windows 10 будет писаться не только ошибка, но и ее описание Для многих работа с Windows вызывает немало хлопот, хотя это очень простая и самая популярная операционная система в мире. Но возникают трудности, когда система не может совершить какое-то действие, после чего пользователю отображается код ошибки на Рабочем столе или Синем э...

Мысленный эксперимент: Flutter на Go Совсем недавно я открыл для себя Flutter – новый фреймворк от Google для разработки кроссплатформенных мобильных приложений – и даже имел возможность показать основы Flutter человеку, который никогда не программировал до этого. Сам Flutter написан на Dart – языке, родившимся...

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

Продвижение мобильного приложения на реальном опыте в цифрах Ниже пойдет речь о моем интересном опыте в продвижении мобильной игры. 1. Введение Меня никогда не отпускали мысли о том, что все вокруг говорят о большой доходности iOS приложений по сравнению с Android (думаю, каждый из вас об этом слышал), поэтому я не устоял от таких ...

Лучшее из опыта создания чистых и быстрых Angular приложений На написание этой статьи сподвигли поиски JavaScript front-end разработчиков в свою компанию в Ставрополе. Т.к. длительное время не удавалось найти толкового программиста и тогда мы решили запустить программу стажировки с большим количеством обучающего материала по Angular &...

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

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

Разработка под WebAssembly: реальные грабли и примеры Анонс WebAssembly состоялся в 2015-м — но сейчас, спустя годы, всё ещё немногие могут похвастаться им в продакшне. Тем ценнее материалы о подобном опыте: информация из первых рук о том, каково с этим жить на практике, пока что в дефиците. На конференции HolyJS доклад об о...

[Кейс] Мониторинг качества атмосферного воздуха в коттеджном поселке В статье представлен наш опыт разработки решения по мониторингу качества воздуха в поселках с помощью сети эко-датчиков и предоставления информации пользователям в режиме реального времени на основе технических решений компании Advantech. Читать дальше →

Обновленный Anet A8 Plus. Большой и из металла Здравствуйте! Я рад представить вниманию читателей обзор обновленного хита от Anet3D — принтер Anet A8 Plus. Он действительно стал заметно больше и по-настоящему металлический. Кроме того, производитель сделал серьезную работу над ошибками и принтер теперь собирается очень л...

Создатель Hearthstone работает над мобильной игрой во вселенной Marvel Бен Броуд — это не просто бывший гейм-директор Hearthstone: Heroes of Warcraft, он в какой-то мере представляет из себя карточную игру Blizzard. Поэтому все фанаты жанра следили за его дальнейшей активностью после ухода из компании. Сегодня стало известно, что новая компани...

[Из песочницы] Личный опыт невыгорания на удалённой работе Уже не помню когда, и при каких обстоятельствах услышал, что работу нужно менять каждые пять лет. Этого времени достаточно, чтобы достичь профессионализма и… чтобы работа стала рутиной, наскучила. Это первый, хотя и не обязательный шаг к выгоранию. В любом случае, скука ещё ...

Стартовали продажи умных часов Huawei Watch GT 2 в безрамочном дизайне Компания Huawei объявила о начале официальных предварительных продаж второй версии умных часов Huawei Watch GT 2. Речь идёт о модели Watch GT 2 с корпусом 42 мм, которая значительно отличается и внешне, и внутренне от Watch GT 2 с корпусом 46 мм.  Первым регионом, ...

Как глубока кроличья нора? CLRium #5: Garbage Collector Мир несется вперед, движимый прогрессом и конкуренцией. Нам с вами нереально повезло: ведь для нас работают величайшие умы, создавая поистине серъезные механизмы: компиляторы, IDE, базы данных. Делают их так, что мы получаем истинное удовольствие, используя их. Один из этих ...

Искусственный интеллект в файтинге Shadow Fight 3 Геймдизайнеры регулярно сталкиваются с задачей создать интересный ИИ. Этот процесс может быть как относительно простым, так и крайне сложным, в зависимости от нужд проекта и целей, которые вы преследуете. Старший геймдизайнер Banzai Games Михаил Драговаловский рассказал пр...

How to get Security Log with non-administrative user Привет Хабр! Читайте под катом как получить доступ к логу безопасности Windows без прав администратора. Эта будет не первая статья на Хабре связанная с логами Windows и наверно не самая оригинальная, но на мой взгляд я потратил слишком много времени на поиск простого решен...

[Перевод] Монорепозитории: пожалуйста не надо От переводчика: Привет, Хабр! Да, это очередная статья о преимуществах и недостатках монорепозиториев. Собирался написать свою статью о том, как мы используем монорепозиторий, как мы переходили с maven на bazel и что из этого получилось. Но пока собирался с мыслями, вышла от...

Как мы мониторили Black Hat Europe 2018 Полгода назад я уже писал на Хабре заметку, где делился нашим опытом мониторинга различных конференций по ИТ и ИБ, в которых Cisco приглашают для обеспечения работы SOC и NOC (Black Hat, Mobile World Congress, RSAC и т.п.). Сегодня я бы хотел поделиться опытом участия в рабо...

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

Работа с навигацией при рефакторинге легаси проекта в React Native Данный материал посвящен работе по рефакторингу навигации в мобильной разработке. В статье приведены примеры возможных проблем, а также выходов из сложных ситуаций, связанных с работой навигации в мобильной разработке на React Native. Мы рассмотрим основные особенности и ...

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

[Перевод] Как писать меньше кода и получать больше толку Как справедливо заметил легендарный писатель Жюль Верн: «Хорошо использованный минимум вполне достаточен». В нашу эпоху понятие хорошо использованного минимума применимо и к коду. Печально, но факт: в современном мире кода слишком много. Если быть точнее, то слишком много ...

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

Троян, написанный на JavaScript и использующий для запуска Node.js, маскируется под читы для игр Исследователи «Доктор Веб» изучили трояна-загрузчика, написанного на JavaScript, который распространяется через сайты с читами для популярных видеоигр.

«Гвинт» уже доступен в App Store. Но поиграть можно будет только 29 октября Польская компания CD Projekt разместила в App Store мобильную версию своей коллекционной карточной игры по вселенной «Ведьмака» под названием Gwent: The Witcher Card Game. Правда, скачать ее можно будет только в конце октября.Читать дальше... ProstoMAC.com.| Постоянная ссыл...

[Из песочницы] Хэш таблицы в Go. Детали реализации Порассуждаем об имплементации map в языке без дженериков, рассмотрим что такое хэш таблица, как она устроена в Go, какие есть плюсы и минусы данной реализации и на что стоит обратить внимание при использовании данной структуры. Детали под катом. Читать дальше →

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

Распознаём дату и время в естественной речи Задача Привет, Хабр! Увлёкся я навыками для Алисы и стал думать, какую пользу они бы могли принести. На площадке много разных прикольных игр (в том числе мои), но вот захотелось сделать рабочий инструмент, который действительно нужен в голосовом исполнении, а не просто копи...

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

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

Система управления движением корабля «Союз-ТМ» часть 2 В первой части я начал рассказывать вам о работе Системы Управления Движением (СУД) на этапе сближения. Остановились мы на методе свободных траекторий и я обещал вам рассказать о методе наведения по линии визирования и параллельном наведении. Пост будет небольшой, но интерес...

FARMING SIMULATOR 2019 продано более 2 миллионов Focus Home Interactive сообщила, что игру Farming Simulator 19 с момента выхода купили более 2 миллионов. Farming SImulator 19 вышла 19 ноября 2018 года. Компания пообещала, что в ближайшие месяцы в игру будут добавлен новый контент, а также сообщила о разработке верси...

Опубликовано подробное руководство по доменным спорам Юрист Джеральд Левайн, один из ведущих в мире экспертов по доменным спорам, опубликовал второе издание книги Domain Name Arbitration.Первое издание вышло в 2015 году. С того времени ВОИС разобрала более тысячи доменных споров, на основе которых был написан новый материал. Ав...

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

[Перевод] Я самый большой скупердяй в инди-разработке игр Скриншот из Queen's Wish. Учтите, что я использую игровой арт, который мне нравится. Это необходимо, потому что потом придётся смотреть на него годами, и я не хочу сойти с ума. Неделю назад я опубликовал в блоге пост «Почему все мои игры выглядят так отстойно» (оригинал). ...

bear_hug: игры в ASCII-арте на Python3.6+ Для своих игр в ASCII-арте я написал библиотеку bear_hug с очередью событий, коллекцией виджетов, поддержкой ECS и прочими полезными мелочами. В этой статье мы посмотрим, как с её помощью сделать минимальную работающую игру. Читать дальше →

Компьютер Raspberry Pi встроили в клавиатуру для него На прошлой неделе Raspberry Pi Foundation выпустила первую официальную мышь и клавиатуру (с USB-концентратором) для Raspberry Pi. Продажи клавиатуры только начались, но умельцам потребовалось всего два дня, чтобы произвести логичный моддинг, сделав моноблок с компьютером в...

Тюнинг Firebird и Linux для БД размером 691 Гб с 1000+ пользователей Firebird является очень популярной открытой СУБД в России, и, несмотря на отсутствие шумных маркетинговых акций, используется в большом количестве ответственных систем, особенно в медицинских и государственных системах автоматизации. Размер БД и количество активных пользова...

MSK VUE.JS meetup #3 в Mail.ru Group: материалы с митапа В сентябре в нашем офисе прошел большой митап по разработке на прогрессивном фреймворке vue.js. Мероприятие посетили 400 человек — это не может не радовать. В программе было 3 доклада: команда Delivery Club рассказала про технологическую сторону своей новой web-версии клие...

Кто лучше складывается: Samsung Galaxy Fold или Huawei Mate X? Гонка за то, кто будет лидировать на рынке складных устройств, уже началась. Во время мероприятия Galaxy Unpacked неделю назад компания Samsung, наряду с линейкой флагманских устройств Galaxy S10, показала свой первый складной смартфон Galaxy Fold. Вскоре за ним последовала...

[Из песочницы] Мой опыт разработки на Playcanvas Существуют ли среди читателей люди, которые хотя бы краем уха слышали, что есть некий 3D движок для разработки WebGL приложений с редактором, похожим на Unity, только в браузере? Тема крайне непопулярная, но я стал одним из таких людей почти 2 года назад. И теперь мне захоте...

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

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

League of Legends выйдет на мобильных устройствах League of Legends была запущена десять лет назад, но также остается одной из самых популярных компьютерных игр в мире. Компания Riot Games объявили о выходе новой версии MOBA для мобильных устройств и приставок. Новую игру под названием League of Legends: Wild Rift можно буд...

Что предоставляет казино 777 Ориджинал Русскоязычным геймерам предоставляется великолепная возможность стать частью игрового процесса, осуществляемого в казино 777 Ориджинал. Увидеть интересные сюжеты, встретиться с забавными персонажами, получить бонусы за игру — все это возможно в игровых автоматах, разм...

Несем IoT в массы: результаты первого IoT-хакатона от GeekBrains и Ростелекома Интернет вещей — восходящий тренд, технология используется везде и всюду: в промышленности, бизнесе, быту (привет умным лампочкам и холодильникам, которые сами заказывают еду). Но это только начало — задач, которые можно решать при помощи IoT, великое множество. Для того...

Топовая версия Redmi Note 7 Pro получит 6 Гбайт ОЗУ и 128 Гбайт флэш-памяти Как ожидается, на этой неделе Redmi готовится представать вариант смартфона Redmi Note 7 с 4 Гбайт ОЗУ плюс 128 Гбайт флэш-памяти. Кроме того, согласно свежей информации, Redmi Note 7 Pro, анонс которого ожидается в ближайшем месяце, будет доступен в конфигурациях 6 Гбайт + ...

[Перевод] CSS Subgrid новости Несколько недель назад, я выступала на Frontend NE в Ньюкасле и большую часть выступления объясняла, что за особенности будут в CSS Grid Subgrid из Grid Level 2. Не имея реализации данного свойства(в браузерах), я смоделировала кучу демок, используя DevTools, для того выступ...

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

[Из песочницы] Программируем проходной выключатель. MicroPython на esp8266 (sonoff) с OTA. Часть 1 Всем привет. В процессе ремонта возникла задача сделать проходной выключатель. Конечно же захотелось сделать самым простым и удобным способом, добавив базовые функции управления с телефона. Я выбрал наиболее простую и удобную технологию для этого (конечно, на свой взгляд) —...

[Перевод] Делаем стильный водопад из RiME прямо в Unity или UE4 Есть игры с таким запоминающимся визуалом, что страшно считать потраченное на его разработку время, взять хотя бы последний God of War или RDR2. А бывают проекты, которые подкупают своей атмосферной, даже если они далеки от ААА. Как пример — RiME не раз хвалили за стиль, зву...

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

[Из песочницы] Удаленный мониторинг и управление устройств на базе Lunix/OpenWrt/Lede через 80-ый порт… Всем привет, это мой первый опыт на Хабре. Хочу написать о том, как нестандартно управлять сетевым оборудованием во внешней сети. Что значит нестандартно: в большинстве случаев, для управления оборудованием во внешней сети Вам необходимо: Публичный IP-адрес. Ну, или если...

SVG в реальной жизни. Доклад Яндекса Привет, меня зовут Артём, я руководитель одной из групп разработки интерфейсов в Яндексе. Неделю назад на Я.Субботнике я рассказал, как мы использовали SVG для создания внутреннего календаря. Это расшифровка моего доклада, несколько историй из реализации виджета календаря: м...

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

Сотрудники Google обнаружили, что работа над версией поисковика для Китая продолжается На Хабре публиковалось несколько новостей и статей о том, что Google планировал запустить версию своего поисковика для Китая в полном соответствии с нормами и законами этой страны. То есть это должна была быть «исправленная» версия поискового сервиса c цензурой. После того...

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

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

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

Tic Tac Toe, часть 1 В статье "Сравнение: Svelte и React" я попробовал повторить разработку игры Tic Tac Toe. Там я выполнил только первую часть исходного туториала для React'а без поддержки истории ходов. В этой статье мы начнем разработку этой игры с применением фреймворка Svelte с поддержкой ...

Особенности настройки Palo Alto: SSL VPN Несмотря на все преимущества межсетевых экранов Palo Alto, в рунете не так много материалов по настройке этих устройств, а также текстов, описывающих опыт их внедрения. Мы решили обобщить материалы, накопленные у нас за время работы с оборудованием этого вендора и рассказа...

[Из песочницы] Архитектура SPA-приложения биржи в 2019 году Приветствую, хабровчане! Читаю данный ресурс со времени основания, но время на написание статьи появились только сейчас, а значит пора поделиться своим опытом с сообществом. Начинающим разработчикам, рассчитываю, статья поможет улучшить качество проектирования, а опытным выс...

[Перевод] Q2VKPT: полностью переписанный Quake II с реалистичным освещением Q2VKPT — это первая играбельная игра с полным рейтрейсингом, эффективно симулирующая полностью динамическое освещение в реальном времени с помощью тех же современных технологий, которые используются в киноиндустрии (см. Disney's practical guide to path tracing). Недавний в...

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

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

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

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

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

Состоялся релиз цифровой версии настольной игры Dream Home на iOS и Android Компания Asmodee Digital славится тем, что выпускает цифровые версии лучших настольных игр. Благодаря ей у нас есть Love Letter, Pandemic, Twilight Struggle, Agricola, Small World 2 и многие другие. На этой неделе было сразу несколько релизов студии, но самый интересный — Dr...

Экономика радости. Наставничество как частный случай. Закон трёх процентов Знаю, что написав этот пост, не стану Паисием Святогорцем. Однако, я надеюсь, найдётся хотя бы один читатель, который, возможно, поймет какой это кайф – быть педагогом (ментором) в IT. И наша страна станет чуточку лучше. И этот читатель (который поймет) станет чуточку счастл...

Реализация паттерна Page Object на Python + pytest Когда я начинал изучать автоматизацию тестирования, не мог понять — “что такое Page Object и как его реализовать на Python + pytest?”. Штудируя интернет, нашел реализацию на других языках и фреймворках: обучающие статьи, которые были непонятны для меня. Поэтому решил написат...

Не долго музыка играла… или как ОС Эльбрус так и не стала свободной Несколько дней назад некоторые СМИ сообщили о возможности свободного скачивания операционной системы Эльбрус. Ссылки на дистрибутив предоставлялся только для x86 архитектур, но даже в такой виде, это могло бы стать очень важной вехой в развитии данной операционной системы. ...

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

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

Пишем XGBoost с нуля — часть 1: деревья решений Привет, Хабр! После многочисленных поисков качественных руководств о решающих деревьях и ансамблевых алгоритмах (бустинг, решающий лес и пр.) с их непосредственной реализацией на языках программирования, и так ничего не найдя (кто найдёт — напишите в комментах, может, что...

Отображение текста в Android Отображение текстовой информации — наверное, самая базовая и важная часть многих Android-приложений. В данной статье пойдет речь о TextView. Каждый разработчик, начиная с «Hello World», постоянно сталкивается с этим элементом пользовательского интерфейса. Периодически в раб...

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

Разработка Unix подобной OS — Драйверы символьных устройств (8) В предыдущей статье мы ввели многозадачность. Сегодня пришло время рассмотреть тему драйверов символьных устройств. Конкретно сегодня мы напишем драйвер терминала, механизм отложенной обработки прерываний, рассмотрим тему обработчиков верхних и нижних половин прерываний. ...

[Из песочницы] Решение японских кроссвордов c P̶y̶t̶h̶o̶̶n̶ Rust и WebAssembly Как сделать решатель (солвер) нонограмм на Python, переписать его на Rust, чтобы запускать прямо в браузере через WebAssembly. TL;DR Читать дальше →

Численное моделирование – история одного проекта Привет, Хабр и его уважаемые читатели! В статье (ссылка) мы рассказали о нашем опыте внедрения инструментов численного моделирования в исследовательскую практику металлургической компании. Рады, что тема нашла поддержку и вызвала интерес у читателей ресурса. Сегодня мы рас...

Nitter, альтернативный фронтенд для Twitter Nitter — это свободный фронтенд для Twitter, ориентированный на сохранение пользовательской конфиденциальности. Проект написан на языке Nim, и находится в стадии активной разработки, ни одного релиза пока не было. Аналогичным фронтендом для YouTube является Invidious, которы...

[Из песочницы] VR-игра на блокчейне с использованием ERC-1155 токена: React 360 или Unity? VR-игры всегда вызывали у нас восхищение. Это некое подобие магии в цифровой оболочке, полный эффект погружения в другой мир. На всех конференциях VR-проектам уделяется наибольшее внимание, масштабные стенды, сотни зрителей, ожидающих своей очереди нырнуть в свежесозданную в...

HIS показала розовую версию адаптера RX 5700 XT В ближайшее время HIS планирует выпустить несколько разноцветных версий Radeon RX 5700 XT. Особого внимания заслуживает розовый вариант, ведь это далеко не самый популярный цвет, если речь идет о «железе». Хотя можно вспомнить про розовую периферию от ASUS, которая с...

[Перевод] Quasar 1.0: новый полезный инструмент для Vue-разработчиков и не только для них Автор материала, перевод которого мы публикуем сегодня, занимается работой над фреймворком Quasar. Это — полнофункциональный расширяемый опенсорсный инструмент для разработки современных приложений различного назначения. Он построен на базе популярного фронтенд-фреймворка Vu...

Ender 3. Переход на SKR v1.3 с TMC2130 со стоковым дисплеем Погуглив, я не нашел четких инструкций о прошивке, подключении и настройке конкретно этой платы на Ender 3. Это был мой первый опыт работы с Platformio и Marlin, поэтому я и решил написать этот мануал, думаю кому-то да и будет полезно.Подробнее...

[recovery mode] Вышел Embarcadero RAD Studio 10.3.2 или то что мертво… умерло Привет, Хабр! Присаживайтесь поудобней, заварите себе чайку, ибо я пишу немного затянуто и через правое ухо. Итак, Вы готовы? Отлично, тогда приступаем. ВНИМАНИЕ! Информация, описанная ниже, написана исключительно в исследовательских целях и не предназначена для использовани...

[Перевод] Как сделать SFINAE изящным и надежным И снова здравствуйте. Делимся с вами интересной статьёй, перевод которой подготовлен специально для студентов курса «Разработчик C++». Сегодня у нас гостевой пост Адама Балаша (Ádám Balázs). Адам является инженером-программистом в Verizon Smart Communities Hungary и зани...

[Перевод] Планы на Angular 8.0 и Ivy Каждую неделю мы получаем вопрос: "Когда уже Ivy будет готов?". Пришло время рассказать, как обстоят дела с версией 8.0, а также поделиться с вами планами по доведению до ума и релизу движка Ivy. В восьмой версии, выходящей во втором квартале текущего года, мы хотели бы ввес...

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

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

Унифицированные сервисы goszakup.gov.kz — Версия 2 Я работаю разработчиком в компании АО «Центр Электронных Финансов». Один и наших проектов — портал Государственных закупок Республики Казахстан — goszakup.gov.kz. Год назад мы запустили большой проект — Унифицированные сервисы (OpenData). Для реализации была использована ме...

Технологии, аутсорс и менталитет: как мы внедряли Microsoft Dynamics 365 в немецком офисе Lamoda Объединение учетных систем удаленного филиала и их интеграция с головной структурой — задача достаточно непростая даже в пределах России. А когда заказчик находится за рубежом, весь проект может усложнить отсутствие экспертизы в местном налоговом законодательстве и конфликт ...

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

[Из песочницы] 9 Принципов для создания качественных iOS приложений Принципы основаны на известной методологии от heroku, адаптированы под реалии айос разработки (Отсутствие контейнеров, ревью которые занимают несколько дней и тормозят развертывания, работа Xcode только на маке). Эта статья является коротким введением, полную серию можете на...

Как мы тестируем Сбербанк Онлайн на iOS В предыдущей статье мы познакомились с пирамидой тестирования и тем, какую пользу несут автоматизированные тесты. Но теория, как правило, отличается от практики. Сегодня мы хотим рассказать о своем опыте тестирования кода приложения, которым пользуются миллионы пользовател...

[Перевод] Свободные текстовые редакторы для совместной работы Много лет меня преследовал этот зуд — попытки найти «идеальный» текстовый редактор для совместной работы. Но не просто любой текстовый редактор, который поддерживает совместную работу, о нет, моя задача — найти (ну, по крайней мере, искать) открытые текстовые редакторы с г...

[Перевод] Ускорение instagram.com. Часть 3 Сегодня публикуем перевод третьей части серии материалов об ускорении instagram.com. В первой части мы говорили о предварительной загрузке данных, во второй — об отправке данных клиенту по инициативе сервера. Здесь речь пойдёт о кэшировании. Читать дальше →

Бывший программист Rockstar упомянул о работе над ПК‑версией Red Dead Redemption 2 Бывший программист Rockstar Toronto Нан Ма написал в резюме, что занимался разработкой версии Red Dead Redemption 2 для персональных компьютеров. Пользователи reddit предположили, что Ма допустил ошибку, однако в перечне других проектов, над которыми он работал, программист ...

Минус уши или как не испортить звук в игре с самого начала Статья о звуке, но адресована скорее не саунд-дизайнерам (которым всё известно), а продюсерам, ПМ-ам игровой индустрии и начинающим разработчикам. Собранные здесь ошибки — это наш собственный опыт из времён, когда War Robots была ещё прототипом в новой для компании нише. ...

Microsoft полностью перепишет часть Windows на своем новом языке программирования Как пишет CNews со ссылкой на Zdnet, новый язык базируется на набирающем популярность Rust, развитием которого занимается компания Mozilla, разработчик известного браузера Firefox. Проект получил название Verona и, по данным издания, ключевое его отличие от Rust заключается ...

Студия Ustwo games объявила о начале работ над Monument Valley 3 На днях студия Ustwo games объявила о начале работ над третьей частью популярной серии Monument Valley. Забегая вперед, стоит отметить, что на данный момент никаких подробностей о проекте нет. Работы над Monument Valley 3 находятся на самом раннем этапе, и сейчас студии нуже...

Телега для датасайентиста How to deploy Python Telegram bot using Webhooks on Google Cloud Platform Вместо предисловия — Напиши телеграм-бота. Сейчас даже школьники пишут, — сказала она. — А почему бы и нет, — подумал я тогда ( — Ну, ну, — сказал бы я сейчас). Мы сидели в Бине и за чашкой кофе обсуж...

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

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

Внимание! Опасный баг в реализации C++ std::map::merge в Visual Studio 2017 Если Вы используете стандарт C++17 в MS Visual Studio 2017 — будьте осторожны: текущая реализация содержит критический баг в реализации std::map::merge и std::set::merge. Подробности — под катом. Читать дальше →

Завтра стартует 2 сезон киберспортивного турнира по Guns of Boom С выходом PUBG Mobile (PlayerUnknown’s Battlegrounds) и Fortnite, остальные мультиплеерные развлечения хоть и не утратили в популярности, стали куда меньше освещаться в специализированной прессе. Но дела у них идут даже лучше, чем когда-либо. Например, уже завтра стартует вт...

Опыт использования генератора статических сайтов Hugo Делюсь 2-х летним опытом использования генератора статических сайтов Hugo. Заметка ориентирована на начинающих, но в этой заметке не будет инструкций "как установить Hugo" или "как создать первый пост". Эта заметка будет полезна тем, кто выбирает и сравнивает альтернативы дл...

[Перевод] Параллельные запросы в PostgreSQL В современных ЦП очень много ядер. Годами приложения посылали запросы в базы данных параллельно. Если это отчетный запрос ко множеству строк в таблице, он выполняется быстрее, когда задействует несколько ЦП, и в PostgreSQL это возможно, начиная с версии 9.6. Понадобилось 3 ...

[Из песочницы] Использование оптики Minolta AF (Sony A-mount) на современных беззеркальных фотокамерах Sony Я написал эту статью, потому что не нашёл в сети адекватного обзора ситуации. Меня интересовала тема на протяжении нескольких лет, я много экспериментировал, накопил опыт и хочу им поделиться. Статья выражает мое личное мнение, вы можете быть с ним не согласны. Читать даль...

Анонс FunTech QA-automation meetup Всем привет! Приглашаем QA-инженеров на наш первый митап по тестированию, посвящённый автоматизации. Программа «Автотесты, объединяющие подходы, платформы и сердца», Михаил Чирков, ivi.ru Преимущества и недостатки кроссплатформенных автотестов (в нашем случае речь о плат...

[Из песочницы] Нужно ли писать weak self в Grand Central Dispatch? Тут у нас возник спор: нужно ли писать [weak self] в GCD? Один говорит: – [weak self] нужно писать везде! Второй говорит: – Нет, даже если не писать [weak self] внутри DispatchQueue, утечки памяти не будет. Вместо того, чтобы разбираться, легче написать пару строк. Тяжеле...

Конференция "Свободное программное обеспечение в высшей школе" 25-27 января 2019 года компания "Базальт СПО" проведет четырнадцатую конференцию "Свободное программное обеспечение в высшей школе" в Переславле-Залесском Ярославской области. Это единственная в России конференция, посвященная разработке и применению с...

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

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

Help Desk за 3 часа. Автоматизация несложных бизнес-процессов в PowerApps, Flow и Teams Всем привет! Мой коллега написал статью по опыту использования различных инструментов О365 для автоматизации небольших бизнес-процессов. Мы взяли за основу кейс по автоматизации HelpDesk на технологиях PowerApps, MS Flow и MS Teams. Подробности под катом. Надеюсь, статья бу...

[Перевод] Серверный рендеринг в бессерверной среде Автор материала, перевод которого мы публикуем, является одним из основателей проекта Webiny — бессерверной CMS, основанной на React, GraphQL и Node.js. Он говорит, что поддержка многоарендной бессерверной облачной платформы — это дело, которому свойственны особенные задачи....

Пустые карточные столы: Artifact потеряла 95 % игроков с момента выхода Ещё до выхода коллекционная карточная игра Artifact от Valve Corporation успела заработать себе дурную репутацию. Главной причиной стала экономика бета-версии, рассчитанная на микротранзакции (при цене основной игры 1390 рублей). Перед релизом эту проблему...

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

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

Zombotron — динамичный космо-шутер про зомби без зомби Первая игра с названием Zombotron появилась еще в начале 2000-х годов и была выполнена на популярном тогда flash. Весной 2019 вышла уже четвертая часть достаточно популярной серии. Однако на этот раз разработчик решил использовать более функциональный движок – Unity. Такие и...

Обновились языковые пакеты в Windows 10 20H1 до сборки 18908 Microsoft уже как 2 недели не выпускала новые сборки Windows 10 20H1. WZor время от времени замечает, что происходит обновление языковых пакетов. Вначале они обновились до версии 18906, а сегодня – до версии 18908. Скорее всего, на этой неделе выйдет сборка под номером 18908...

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

Continuous Monitoring – автоматизация проверок качества ПО в CI/CD Pipeline Сейчас на хайпе тема DevOps. Конвейер непрерывной интеграции и доставки CI/CD внедряют все, кому не лень. Но большинство не всегда уделяют должное внимание обеспечению надежности работы информационных систем на различных этапах CI/CD Pipeline. В данной статье я хотел бы пого...

[Из песочницы] Красивые точные часы из старого смартфона Речь в статье пойдёт о том, как старый ненужный мобильник переделать в отличные настенные часы с крупными цифрами, всегда точным временем и резервным питанием. Я расскажу о некоторых выясненных особенностях сихронизации времени в ОС Андроид, а также о разных электрических...

Как я расширение для Atom и VS Code создавал: личный опыт и исходники Перевели для вас статью Филипа Корейа о том, как он разрабатывал расширения для редакторов Atom и VS Code. Назвать проекты сложными нельзя, но в этом их преимущество: сходу можно понять, что необходимо делать для создания собственного расширения. Когда был впервые предс...

Как взять сетевую инфраструктуру под свой контроль. Глава четвертая. Автоматизация. Темплейты Эта статья является шестой в цикле статей «Как взять сетевую инфраструктуру под свой контроль». Содержание всех статей цикла и ссылки можно найти здесь. Оставив несколько тем позади, я решил все же начать новую главу. К безопасности вернусь чуть позже. Здесь я хочу обсудит...

[Перевод] Первым хитовым форматом файлов в интернете был не MP3, а MIDI Как нацеленный на профессионалов формат MIDI на короткое, но примечательное время стал основным способом распространения музыки в интернете Почему-то каждый год, когда на горизонте начинает маячить начало ноября, я вспоминаю композицию November Rain. Я не большой фанат ха...

[Из песочницы] Сниппеты против Клевера – обыгрываем популярнейшую викторину в реальном времени Апрель 2018-го года. Мне было 14. Мы с друзьями играли в тогда очень популярную онлайн-викторину «Клевер» от ВКонтакте. Один из нас (обычно я) всегда был за ноутбуком, чтобы пытаться быстро гуглить вопросы и глазами искать в поисковой выдаче правильный ответ. Но вдруг я поня...

Опыт работы в Netflix: Netflix изнутри Недавно мы поделились с Вами материалом о том, как работает Netflix, теперь пришло время рассказать о том, как работается в одной из крупнейших IT-компаний мира. Для этих целей мы расшифровали интервью одного из сотрудников Netflix, который рассказал много интересного о комп...

[Из песочницы] Как я проработала 3 месяца в Я.Маркете и уволилиась Первая попытка Все началось с того, что я люблю ходить по конференциям и частенько хожу на них в Яндекс, Mail.ru и другие крупные компании. Однажды мне написал HR из Яндекса и попросила сделать тестовое на стажера фронтенд разработчика. Я его сделала, вот оно. По условию он...

Особенности работы Auto Tiering в СХД Qsan XCubeSAN Продолжая рассматривать технологии ускорения операций ввода/вывода в применении к СХД, начатые в предыдущей статье, нельзя не остановиться на такой весьма популярной опции, как тиринг (Auto Tiering). Хотя идеология работы данной функции весьма близка у различных производител...

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

Пример разбора C++ кода с помощью libclang на Python На одном личном проекте на C++ мне потребовалось получать информацию о типах объектов во время выполнения приложения. В C++ есть встроенный механизм Run-Time Type Information (RTTI), и конечно же первая мысль была использовать именно его, но я решил написать свою реализацию,...

Стартовал открытый бета-тест MMORPG по мотивам аниме BLEACH Mobile 3D На прошлой неделе стартовал открытый бета-тест MMORPG Bleach Mobile 3D по мотивам популярного аниме. Разработчики обещают, что она прямо связана с источником, так что вас ждут и знакомые персонажи и, возможно, определенные сюжетные арки. Более того, в озвучке игры даже прин...

Импортозамещение на практике. Часть 1. Варианты Введение В связи с тем, что близится 2020 год и «час хэ», когда нужно будет отчитаться об исполнении приказа Минкомсвязи о переходе на отечественное ПО (в рамках импортозамещения), да не простое, а из реестра Минкомсвязи, мне прилетела задача о разработке плана, собственно...

Новости игровой индустрии (11-18 марта 2019) Крайне самоуверенная подборка игровых новостей за прошлую неделю. В прошлый раз парочка людей сказала, что будет читать, поэтому продолжаю. Вначале пишется на видео, потом расшифровывается текстом. Новый шутер от Wargaming с AAA бюджетами Wargaming вместе с украинской студие...

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

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

Ember.js: (снова) время попробовать Я написал эту статью по мотивам выступления, которое я делал в meetup-группе Berlin.js. Последнее время выходит очень мало русскоязычных материалов об этом достаточно популярном и стабильном фреймворке и я решил немного исправить эту ситуацию. Вы учите Ember.js один раз, а ...

Пошаговая RPG с элементами карточной игры Traitors Empire Card RPG вышла на iOS Около месяца назад на Android вышла смесь из ролевого приключения и карточной игры Traitors Empire Card RPG, где механика перемещений выполнена в стиле традиционных пошаговых проектов, но действия героев представлены картами, которые можно прокачивать. Теперь она доступна и ...

Мой опыт работы в Фирме 1С Кажется, писали уже обо всех: от Яндекса до Мэйлру, от Люксофта до Туту. Но про самую отстраненную, самобытную и изолированную компанию на ИТ рынке еще не было. Расскажу о своем опыте работы в отечественной Корпорации зла. К тому чтобы поделиться своим опытом меня подтолк...

Кастомизация резолвинга зависимостей в Spring Привет! Меня зовут Андрей Неведомский и я главный инженер в СберТехе. Я работаю в команде, которая занимается разработкой одного из системных сервисов ЕФС (Единой Фронтальной Системы). В своей работе мы активно используем Spring Framework, в частности его DI, и время от врем...

Auto Chess наконец-то добралась до Google Play, iOS-версия все еще в разработке Fortnite – уникальный случай, когда издатель осмелился не выпускать столь популярную игру в Google Play, а предложил игрокам загружать ее с официального сайта. На ее популярность на этой платформе такое решение наверняка не сильно повлияло. В апреле повторить это решили авто...

Как мультфильмы Ghibli: первый геймплей MMORPG Ni no Kuni: Cross Worlds На прошлой неделе издатель Level-5 впервые поделился подробностями касательно MMORPG Ni no Kuni: Cross Worlds, разработкой которой занимается Netmarble. Это будет многопользовательская ролевая игра по мотивам франшизы Ni no Kuni. Тогда же были и геймплейные ролики, которые ...

postfix+dovecot+mysql в FreeBSD Введение Почтовый сервер хотел изучить уже давно, но руки дошли только сейчас, да и информации корректной не особо много удавалось найти, поэтому решил написать как можно более подробную публикацию. В данной публикации пойдёт речь не только о postfix, dovecot, mysql, postfix...

Эволюция средств поставки, или размышления о Docker, deb, jar и прочем Как-то в один момент я решил написать статью про поставку в виде контейнеров докер и deb-пакетов, но когда начал, меня почему-то понесло в далекие времена первых персональных компьютеров и даже калькуляторов. В общем, вместо сухих сравнений докера и deb получились вот таки...

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

MIRO — открытая платформа indoor-робота. Часть 4 — Программная составляющая: ARDUINO (AVR) Продолжаем разбирать программную составляющую платформы MIRO. Хочется более подробно рассмотреть именно программное обеспечение под AVR. Поэтому вопросу посвятим две части. В первой опишем общую структуру библиотеки, а во второй — реализацию некоторых ключевых методов клас...

Российские космонавты могут получить модульный скафандр Научно-производственное предприятие (НПП) «Звезда», по сообщению ТАСС, уже в текущем году может приступить к разработке передового модульного скафандра для российских космонавтов. Фотографии Роскосмоса В настоящее время космонавты Роскосмоса используют скафандры «Орлан». Они...

[Перевод] Реализация остальных возможностей PEG После того, как я собрал все части генератора PEG-парсеров воедино в предыдущем посте, я готов показать как реализовать и некоторые другие интересные штуки. Содержание серии статей о PEG-парсере в Python PEG парсеры Реализация PEG парсера Генерация PEG парсера Визуализация р...

О том как я подготовился и сдал сертификацию Oracle Database SQL (1Z0-071) Зачем написана статья? Когда я готовился к OCA и OCP по Java 8, то нашел много статей на Хабре, благодаря которым выбрал оптимальный путь и сэкономил много времени. Однако по подготовке именно к OCA Oracle Database SQL (1Z0-071) материалов на Хабре нет и в интернете тоже о...

Electronic Arts возвращается в Steam: первой игрой станет Star Wars Jedi: Fallen Order Известная компания Electronic Arts наконец-то подтвердила слухи, блуждающие по Сети уже некоторое время. Один из гигантов индустрии интерактивных развлечений вновь будет публиковать игры в цифровом сервисе Steam. Первой игрой после длительного перерыва станет...

[Перевод] Редизайн UI — чаще всего пустая трата времени В качестве предисловия отмечу, что я в основном работаю над бэкендом и предпочитаю соответствующий код. Веб-разработкой и разработкой ПО я занимаюсь более четырёх лет и работал со многими фронтенд- и серверными фреймворками. Новый интерфейс Twitter Прежде чем на меня нае...

Удалённое управление эмулятором Fceux с помощью Python В статье я опишу, как сделать эмулятор NES управляемым удалённо, и сервер для удалённой отправки команд на него. Зачем это нужно? Некоторые эмуляторы различных игровых консолей, в том числе и Fceux, позволяют писать и запускать пользовательские скрипты на Lua. Но Lua – пл...

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

Озера с радиоактивными отходами на территории России и опыт их ликвидации Продолжу тему накопленных в нашей стране радиоактивных материалов написанной месяц назад статьей. В отличие от ОГФУ, сейчас речь о реальных радиоактивных отходах, чей статус никем не оспаривается. В начале года я уже писал об утилизации советский атомных подводных лодок в Пр...

Состоялся релиз игры Addams Family Mystery Mansion по грядущему мультфильму Как и планировалось, сегодня состоялся релиз игры Addams Family Mystery Mansion. Она вышла за пару недель до премьеры мультфильма Семейка Аддамс в кинотеатрах. В этой игре вы будете заниматься несколькими вещами: восстанавливать особняк, в котором живет семья, и собирать зн...

[Перевод] Советы по созданию нестандартных рабочих процессов в GitLab CI Прим. перев.: Оригинальную статью написал Miłosz Smółka — один из основателей небольшой польской компании Three Dots Labs, специализирующейся на «продвинутых backend-решениях». Автор опирается на свой опыт активной эксплуатации GitLab CI и делится накопленными советами для д...

Умное музыкальное радио, не требующее постоянного Интернет-соединения Во время работы и прогулок я часто слушаю фоновую музыку. Раньше я использовал интернет радио под названием Jango, которое меня почти всем устраивало, за исключением следующих вещей: недоступность во время почти ежедневных прогулок по лесу (т.е. без подключения к Интернету)...

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

Экспресс-тест: слитно, раздельно, через дефис? Определите, как пишется слово! В слитном, раздельном и дефисном написании слов частенько путаются даже заядлые граммар-наци. «Не понаслышке» или «непонаслышке», «супер-Олег» или «супер Олег», «персона нон грата» или «персона нон-грата» — проверьте, знаете ли вы, как правильно пишутся эти и другие коварные...

Вулкан Престиж: игорное заведение для всех желающих Если вы устали от однообразных игровых аппаратов, то вам обязательно следует посетить сайт онлайн казино Вулкан Престиж. Сайт http://vulkan-prestige.name/ является довольно молодым, однако уже за это время заслужил доверие среди игроков и стал местом, где собираются любители...

Российские военные создадут свой собственный закрытый интернет Источник: «Известия» Сегодня стало известно о том, что вооруженные силы РФ начали работу по созданию суверенного сегмента сети для себя. Речь идет о закрытой системе обмена цифровой информации, у которой есть и собственное название — мультисервисная транспортная сеть связи...

[Из песочницы] ОС реального времени AQUA RTOS для МК AVR в среде BASCOM AVR При написании для МК кода посложнее, чем «помигать лампочкой», разработчик сталкивается с ограничениями, присущими линейному программированию в стиле «суперцикл плюс прерывания». Обработка прерываний требует быстроты и лаконичности, что приводит к добавлению в код флагов и п...

Удаленка в IT: личный опыт Сейчас все больше компаний готовы к найму удаленных сотрудников. Для работодателей это расширяет возможность выбора высококвалифицированных специалистов. В Surf найм удаленных сотрудников практикуется уже давно, на данный момент 40% работают дистанционно — разработчики и мен...

[Перевод] Представлен Polaris для поддержания кластеров Kubernetes в здоровом состоянии Прим. перев.: Оригинал этого текста написал Rob Scott — ведущий SRE-инженер компании ReactiveOps, которая и стоит за разработкой анонсируемого проекта. Нам очень близка идея централизованной валидации того, что деплоится в Kubernetes, поэтому мы с интересом следим за подобны...

WinForms: ошибки, Холмс Мы любим искать ошибки в проектах Microsoft. Почему? Всё просто: их проекты, как правило, легко проверить (работу можно вести сразу в среде Visual Studio, для которой у PVS-Studio есть удобный плагин) и они содержат мало ошибок. Поэтому обычный алгоритм работы такой: найти ...

Популярный open source — часть первая: 3 инструмента для работы с данными Мы решили подготовить серию дайджестов с обзорами наиболее популярных open source проектов. В список попали самые обсуждаемые на Hacker News решения с открытым исходным кодом. Тема первой подборки — инструменты и сервисы для работы с логами и базами данных. Читать дальше →

[Перевод] Пишем свой сетевой слой на Swift: протокол-ориентированный подход Сейчас практически 100% приложений используют работу с сетью, поэтому вопрос организации и использования сетевого слоя встает перед каждым. Есть два основных подхода к решению этой проблемы, это либо использование сторонних библиотек, либо собственная реализация сетевого с...

Code style как стандарт разработки Давайте сразу, это не про скобочки. Здесь речь пойдет о том, как работает наш мозг и почему code style помогает обеспечивать линейное развитие проекта, значительно ускоряет адаптацию новых сотрудников и, в целом, формирует и воспитывает культуру разработки. Я постарался собр...

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

[Перевод] Fortnite — это будущее, но по довольно неожиданным причинам Уже многое сказано о Fortnite, о её доходах, пользователях, бизнес-модели, истоках и многоплатформенности. Но вокруг всех этих историй слишком много ажиотажа. Самое главное то, как все эти достижения, дополненные остальной частью Epic Games, навечно сохранятся в индустрии р...

Подоспели качественные рендеры OnePlus 8 Неделю назад был представлен OnePlus 7T, продажи которого стартуют 18 октября. А на следующей неделе должна случиться глобальная премьера этой модели и OnePlus 7T Pro. Тем временем компания не теряет время даром и ведет работы над OnePlus 8, а поведал об этом инсайдер Стив Х...

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