Pull to refresh

Вышла стратегия в реальном времени Bos Wars 2.6

Reading time1 min
Views713
Bos Wars игровым процессом напоминает игры серсии CnC — строим базу, собираем ресурсы, набираем мощь, защищаемся, и, в конце концов, огромной армией вламываемся на базу противника для установления полной демократии.

Версия 2.6 вышла через два года после 2.5, список измененией состоит из 37 позиций.

Появился новый юнит-вертолёт, новая башня Big Gun с двумя пулемётами, новые карты (выглядят лучше старых). Улучшен редактор карт. Доступна новая кампания.

Скачать: готовую для запуска игру (62.1 MiB), исходники (61.8 MiB).

Видео (здесь можно увидеть новую карту, новый юнит-вертолёт и новую защитную башню):
Total votes 58: ↑41 and ↓17+24
Comments63

На сайте Boeing появилась возможность отслеживать положение самолета почти как в симуляторе

Reading time1 min
Views17K


Трекинг самолётов по карте не такой уж редкий сервис, однако на сайте Боинга реализовали эту возможность довольно реалистично для веб: выбранный рейс можно наблюдать на карте Google Earth со стороны, из кабины самолёта и схематически — как это сделано на большинстве трекинговых сервисов. Для полноты ощущений можно включить (или отключить) характерный звук двигателей Boeing 787.
Узнать подробности
Total votes 18: ↑16 and ↓2+14
Comments16

Sublime Text для фронтэнд-разработчика

Reading time5 min
Views215K


Sublime Text на данный момент является одним из самых популярных текстовых редакторов, используемых для веб-разработки, поэтому надо знать его преимущества и недостатки. Вместо того, чтобы шаг за шагом описать все фичи Sublime Text, эта статья познакомит вас с самыми популярными приёмами и полезными плагинами, позволяющими ускорить разработку.
Читать дальше →
Total votes 50: ↑36 and ↓14+22
Comments46

Wesbos  рассказывает как использовать новое React Context API (субтитры)

Reading time1 min
Views3.4K

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


image

Читать дальше →
Total votes 10: ↑6 and ↓4+2
Comments3

Больше, чем React: Почему не следует использовать ReactJS для сложных интерактивных фронтенд-проектов

Reading time6 min
Views50K
Перевод статьи, посвящённой использованию ReactJS для создания фронтенда.

React — отличный инструмент для реализации простых интерактивных веб-сайтов. Но насколько он применим в сложных фронтенд-проектах? Работает ли он там столь же хорошо?

В этой статье мы рассмотрим некоторые проблемы, с которыми можно столкнуться при использовании React во время веб-разработки. Также вы узнаете, почему автор статьи решил разработать новый фреймворк на Scala, благодаря которому удалось сократить количество строк кода с 30 тысяч (на React) до одной тысячи.
Читать дальше →
Total votes 65: ↑32 and ↓33-1
Comments169

Псевдослучайно vs. По-настоящему Случайно

Reading time2 min
Views34K
Ниже перевод статьи Бо Аллена отсюда.

Простой наглядный пример

Однажды я наткнулся на Random.org, классный сервис генератора настоящих случайных чисел. Разница между генератором настоящих случайных чисел (ГНСЧ) и генератором псевдослучайных чисел (ГПСЧ) в том, что ГНСЧ использует непредсказуемые физические средства для генерации чисел (например шумы атмосферы), а ГПСЧ использует математические алгоритмы (полностью производимые компьютером). Об этом можно более подробно узнать на Random.org (англ.) и в Википедии (англ.).
Читать дальше →
Total votes 74: ↑62 and ↓12+50
Comments96

Как Discord хранит триллионы сообщений

Level of difficultyEasy
Reading time10 min
Views27K

В 2017 году мы написали пост о том, как храним миллиарды сообщений [перевод на Хабре]. В нём мы рассказали о том, как начали с использования MongoDB, но потом выполнили миграцию данных в Cassandra, потому что искали надёжную, устойчивую к сбоям базу данных, имеющую относительно низкую стоимость обслуживания. Мы знали, что будем расти, так и произошло!

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

Спустя почти шесть лет мы многое изменили; изменился и способ хранения сообщений.
Читать дальше →
Total votes 34: ↑32 and ↓2+36
Comments12

Улучшения в сервисе распространения Visual Studio App Center

Reading time2 min
Views1.5K
Здесь, в Visual Studio App Center, мы стараемся включать в нашу повседневность идеи, которыми одержимы пользователи. Ранее в этом году мы уже начали работу по широкому охвату пользователей, чтобы лучше понимать их и определять приоритеты продуктов. Эти усилия помогли нам лучше понимать пользователей и расставить приоритеты в прошлом квартале. Однако, по мере нашего роста, мы, к сожалению, не можем охватить столько, сколько бы хотели.

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

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

  • Распространение релизов по нескольким направлениям
  • Распространение релизов для отдельных тестеров
  • Отключение уведомлений по электронной почте для релизов
  • Отключение релиза
  • Возможность сортировки релизов

image
Читать дальше →
Total votes 8: ↑8 and ↓0+8
Comments0

Эволюция или делаем базу для роботележки на ARDUINO платформе, а сенсоры и видео гоним на компьютер через смартфон

Reading time26 min
Views7.9K
Для уважаемых читателей GeekTimes очередная (четвёртая) долгожданная статья о том, что будет, если снова замешать ардуинку, ESP8266, WI-FI, приправить смартфоном на Android и посыпать сверх JAVA приложением.

Речь у нас пойдет про роботелегу из позапрошлой статьи, которой пришла пора хотя бы немного поумнеть.

image

Кому интересно, добро пожаловать под кат.
Total votes 15: ↑15 and ↓0+15
Comments16

Ужасно подробные ошибки в API: пишем на Go инструмент для работы с ними

Level of difficultyMedium
Reading time14 min
Views2.4K

Привет, Хабр! Меня зовут Александр Лырчиков, я разрабатываю систему хранения данных TATLIN.UNIFIED в YADRO. СХД — сложная система, и, если при работе произошла ошибка, она должна своевременно и понятно сообщать пользователю об этом. В большинстве веб-сервисов для этого используют баннер с надписью «Что-то пошло не так», но такой способ уведомления нам не подходит.

Мы столкнулись с проблемой, когда переданных сообщений и HTTP-кодов уже не хватает. Поэтому разработали собственный инструмент для обработки ошибок Terror (TATLIN + error). В результате работа с кодом стала проще, мы получили красивый API, а пользователи — понятное описание ошибки и локализацию текста на разные языки. В этой статье расскажу, как мы создавали Terror, чтобы вы смогли повторить решение.

Читать статью
Total votes 8: ↑8 and ↓0+10
Comments0

MMO с нуля. Часть 2. Наращивание функционала + алгоритм Diamond Square

Reading time127 min
Views15K
Всем привет! В предыдущей части мы разобрались с базовой архитектурой, сетью и обменом сообщениями. Нарастим теперь функционал. Сделаем возможность войти, зарегистрироваться получив при этом сессионный id, который можно в будущем использовать для управления клиентом в процессе игры. Далее мы добавим чат, по сути все работает по его принципу: получили сообщение — разослали подписантам. Сделаем возможность создавать игровые комнаты, где будем собирать игроков и отправлять в бой. Синхронизировать перемещение клиентов и напоследок проверять выстрел на проверочном сервере. Будет много кода, я продолжаю пошаговое описание, чтобы можно было быстро разобраться и воспроизвести для своих нужд. Для тех, кто не знаком с первой частью, но хочет вынести для себя что-то полезное здесь и сейчас, я добавил реализацию алгоритма генерации фрактальных ландшафтов Diamond Square, в начало. Happy coding!

Часть 1. Общая картина, сборка библиотек, подготовка клиента и сервера к обмену сообщениями
Часть 2. Наращивание игрового функционала + алгоритм Diamond Square


Читать дальше →
Total votes 19: ↑18 and ↓1+17
Comments4

Cетевое взаимодействие посредством TCP в C# — свой велосипед

Reading time10 min
Views50K


Приветствую!

Продолжу серию постов посвященных программированию, на этот раз я хочу поговорить на тему сетевого взаимодействие посредством TCP соединения между .Net приложениями. Статья может быть полезна новичкам или тем кто еще не сталкивался с сетью по отношению к .Net. Полностью работоспособный пример прилагается: http://yadi.sk/d/1OxmAFuCN3kmc.

Подробности под катом.
Читать дальше →
Total votes 22: ↑12 and ↓10+2
Comments9

Как сделать своего “Марка”? Обучение

Level of difficultyMedium
Reading time8 min
Views11K

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

Читать далее
Total votes 8: ↑6 and ↓2+4
Comments4

Производительность: нюансы против очевидностей

Reading time27 min
Views6.7K

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

Читать далее
Total votes 10: ↑10 and ↓0+10
Comments2

Робот-собеседник на основе ИНС: рекуррентные сети

Reading time4 min
Views4.4K
Ранее в статье «Робот-собеседник на основе нейронной сети» я рассматривал вопрос применения нейронных сетей прямого распространения для создания робота-собеседника. В результате экспериментов стало понятно, что применять такие сети для генерации текстов ― идея плохая. Спасибо Roman_Kh, daiver19, vladshow, что показали, как необходимо изменить сеть и в каком направлении двигаться.

Следующий этап тестирования ― рекуррентные LSTM-сети.
Читать дальше →
Total votes 16: ↑12 and ↓4+8
Comments3

LÖVE + Android + AdMob = дружба

Reading time6 min
Views12K
Однажды возникло желание изучить для своих скромных нужд Lua. Но просто прочесть спецификации и примеры не интересно, и давно была мысль написать свою логическую игру под Android, начались поиски подходящего фреймворка для комфортной работы.
Читать дальше →
Total votes 14: ↑12 and ↓2+10
Comments5

Работа со строками на этапе компиляции в современном C++

Reading time20 min
Views32K


Если вы программируете на C++, то наверняка задавались вопросом почему нельзя сравнить два строковых литерала или выполнить их конкатенацию:


auto str = "hello" + "world"; // ошибка компиляции

if ("hello" < "world") { // компилируется, но работает не так, как ожидалось
    // ...
}

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

Читать дальше →
Total votes 39: ↑38 and ↓1+37
Comments47

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

Level of difficultyEasy
Reading time13 min
Views9.2K

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

Читать далее
Total votes 16: ↑13 and ↓3+13
Comments5

USB Mass Storage BOT чиним multi LUN у STM32

Reading time50 min
Views7.4K

Попалась задача в проекте реализовать, чтобы по USB микроконтроллер прикидывался несколькими дисковыми устройствами для MicroSD, встроенной EEPROM и нескольких страничек оперативной памяти. Решил, что вполне логично, пойти по пути наименьшего сопротивления, попробовав запустить из коробки, то что ST реализовали в своей библиотеке. Работа c USB разделена у них на уровни абстракции: драйвер + MiddleWare:

В статье говорится как заставить работать USB Mass Storage multi LUN путём исправления ошибок в библиотеке Middlewares ST, а также побороть сопутствующие проблеммы. Исравлялось для stm32l4, но может быть достаточно легко адаптированно для остальных серий. Каждый LUN, по сути - независимый диск со своей таблицей разделов и адресацией. В конце статьи приводится ссылка на репозиторий с исправленной библиотекой. Также отправил Pull Request в ST - ждём официальных исправлений!

Читать далее
Total votes 21: ↑21 and ↓0+21
Comments8

Как использовать тип JSONB в PostgreSQL с Hibernate

Reading time6 min
Views28K

Многие СУБД, помимо поддержки стандарта SQL, предлагают дополнительную проприетарную функциональность. Одним из таких примеров является тип данных JSONB в PostgreSQL, позволяющий эффективно хранить JSON-документы.

Конечно, хранить JSON-документ можно и в виде простого текста — это входит в стандарт SQL и поддерживается Hibernate и JPA. Но тогда вам не будут доступны возможности PostgreSQL по обработке JSON, такие как валидация JSON и другие интересные функции и операторы. Хотя, вероятно, вы об этом уже знаете, раз читаете этот пост.

Если вы хотите использовать колонку типа JSONB с Hibernate 6, то у меня для вас отличные новости. В Hibernate 6 появился стандартный маппинг атрибутов сущностей на колонки JSON — необходимо только его активировать. К сожалению, Hibernate 4 и 5 не поддерживают JSON-маппинг, поэтому при их использовании придется реализовать UserType. Мы рассмотрим оба варианта.

Читать далее
Total votes 7: ↑7 and ↓0+7
Comments5
1
23 ...