Pull to refresh
241
0
Вячеслав @Singerofthefall

Пользователь

Send message

Книга «Многопользовательские игры. Разработка сетевых приложений»

Reading time 5 min
Views 26K
image Привет, Хаброжители! Ранее мы Вас спрашивали переводить ли книгу «Multiplayer Game Programming: Architecting Networked Games (Game Design)». Недавно новинка пришла из типографии.

В этой книге подробно рассматриваются все основные понятия, необходимые для создания сетевых многопользовательских игр. Вначале мы познакомимся с основами сетевых взаимодействий: как работает Интернет и как выполняется пересылка данных на другие компьютеры. Далее, после закладки фундамента, будут рассмотрены основы передачи данных в играх, как подготавливать игровые данные к передаче по сети, как изменять содержимое игровых объектов по сети и как организовать взаимодействие компьютеров, вовлеченных в игру. Затем мы поговорим о том, как компенсировать ненадежность соединения и задержки при передаче данных по сети и как обеспечить масштабируемость и безопасность игрового кода. В главах 12 и 13 рассматриваются службы объединения игроков для выделенных серверов и использование облачного хостинга — две темы, чрезвычайно важные для современных сетевых игр.
Читать дальше →
Total votes 29: ↑27 and ↓2 +25
Comments 14

Программирование на Python — курс для желающих узнать о нём больше или изучить ещё один язык программирования

Reading time 3 min
Views 125K
"The joy of coding Python should be in seeing short, concise, readable classes that express a lot of action in a small amount of clear code — not in reams of trivial code that bores the reader to death."
Guido van Rossum

Python — язык программирования, на котором приятно писать и который приятно читать. Мы предлагаем тринадцать лекций осеннего курса CS центра, чтобы посмотреть вглубь языка и попробовать понять, как пользоваться всеми его возможностями. Лекции читает Сергей Лебедев, разработчик в компании JetBrains и преподаватель в Computer Science Center.

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

Фотография сделана осенью 2014 года в Страсбурге, за две недели до начала первого прочтения этого курса.
Открыть лекции курса
Total votes 45: ↑42 and ↓3 +39
Comments 32

Время учиться: дайджест бесплатных образовательных материалов от Mail.Ru Group

Reading time 10 min
Views 112K

Кадр из к/ф «Операция Ы и другие приключения Шурика»

Как говорят, «кризис — пора возможностей». И поэтому сейчас самое время начать вкладывать в саморазвитие, осваивать новую профессию или повышать свою квалификацию. Займитесь изучением языков программирования, обретением навыков разработки, тестирования и вообще всячески прокачивайте свой IT-скилл. Ведь чем больше вы знаете, тем прочнее будете стоять на ногах. А чтобы вам было легче сориентироваться и выбрать направление, мы сделали подборку наших бесплатных образовательных материалов, курсов и инициатив за 2015–2016 годы.
Читать дальше →
Total votes 48: ↑43 and ↓5 +38
Comments 29

Большой список научно-фантастических сериалов

Reading time 20 min
Views 413K
image
Кадр из заставки сериала «Грань»

Предисловие

На Geektimes и Habrahabr уже были статьи со списком Sci-Fi сериалов (Фантастические сериалы — обзор от фаната, Фантастические сериалы и др.). Но все они либо содержали достаточно мало сериалов и/или поверхностную информацию о них самих, либо были предвзяты в отношении тех или иных сериалов.

В данной публикации я постараюсь предоставить большой список научно-фантастических сериалов. А благодаря голосованию — узнать какие сериалы на самом деле нравятся пользователям Geektimes.
Читать дальше →
Total votes 58: ↑47 and ↓11 +36
Comments 189

Application Lifecycle в приложениях Windows 8.1 и UWP

Reading time 7 min
Views 13K

В приложениях Windows Store жизненный цикл довольно похож на картинку. Он довольно простой и содержит всего 3 состояния: NotRunning – Running – Suspended

Для себя я мысленно отождествляю его с «Не копать – Копать – Перекур». Опытные работяги знают, что с перекура к работе можно уже не вернуться. Опытные разработчики сохраняют состояние приложения при событии Suspending и возвращают его впоследствии в исходное состояние при возобновлении работы приложения.

В приложениях Windows UWP (Windows 10) все точно так же, но появились новые фичи.
Читать дальше →
Total votes 27: ↑23 and ↓4 +19
Comments 0

Инкапсуляция интерфейсов. Делаем API в C++ удобным и понятным

Reading time 9 min
Views 22K
В свое время я написал для журнала «Хакер» цикл статей для рубрики «Академия С++», в котором описывал интересные возможности использования C++. Цикл давно завершён, но меня до сих пор часто спрашивают, как именно работает эмуляция динамической типизации из первой статьи. Дело в том, что когда я начинал цикл, не знал точно, что нужно, а что нет, и упустил в описании ряд нужных фактов. Зря! В обучающем материале не бывает ничего лишнего. Сегодня я в деталях изложу, как именно получается красивый высокоуровневый API в терминах самого обычного C++: просто классы, методы и данные.
Добро пожаловать под кат
Total votes 21: ↑16 and ↓5 +11
Comments 22

Путеводитель по реализации 2Д платформеров (начало)

Reading time 10 min
Views 48K
Так как ранее я был разочарован количеством информации по этому вопросу, я решил восполнить этот пробел, собрав разные виды реализации 2Д платформеров, описав их сильные и слабые стороны и порассуждав над деталями реализации.

Моей целью было создать исчерпывающий и понятный путеводитель по реализации 2Д платформеров.



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

Четыре решения


Мне приходит на ум четыре основных варианта решений при создании платформера. В рамках этой статьи будут рассмотрены все четыре, но из-за большого объема статья поделена на 2 части (прим. пер).
Читать дальше →
Total votes 56: ↑53 and ↓3 +50
Comments 30

Бесплатный учебник электроники, архитектуры компьютера и низкоуровневого программирования на русском языке

Reading time 2 min
Views 245K

Господа! Я рад сообщить, что наконец-то все желающие могут загрузить бесплатный учебник на более чем 1600 страниц, над переводом которого работало более полусотни человек из ведущих университетов, институтов и компаний России, Украины, США и Великобритании. Это был реально народный проект и пример международной кооперации.

Учебник Дэвида Харриса и Сары Харрис «Цифровая схемотехника и архитектура компьютера», второе издание, 2012, сводит вместе миры программного обеспечения и аппаратуры, являясь одновременно введением и в разработку микросхем, и в низкоуровневое программирование для студентов младших курсов. Этот учебник превосходит более ранний вводный учебник «Архитектура компьютера и проектирование компьютерных систем» от Дэвида Паттерсона и Джона Хеннесси, причем соавтор предыдущего учебника Дэвид Паттерсон сам рекомендовал учебник от Харрисов как более продвинутый. Следуя новому учебнику, студенты строят реализацию подмножества архитектуры MIPS, используя платы с ПЛИС / FPGA, после чего сравнивают эту реализацию с индустриальными микроконтроллерами Microchip PIC32. Таким образом вводится вместе схемотехника, языки описания аппаратуры Verilog и VHDL, архитектура компьютера, микроархитектура (организация процессорного конвейера) и программирование на ассемблере — в общем все, что находится между физикой и высокоуровневым программированием.

Как загрузить? К сожалению, не одним кликом. Сначало надо зарегистрироваться в пользовательском коммьюнити Imagination Technologies, потом зарегистрироваться в образовательных программах на том же сайте, после чего наконец скачать:
Читать дальше →
Total votes 117: ↑114 and ↓3 +111
Comments 66

GammaRay — средство интроспекции Qt-приложений

Reading time 4 min
Views 15K
Фреймворк Qt предоставляет неплохие средства разработки — входящая в него IDE Qt Creator включает дизайнер, отладчик, профайлер и другие удобные вещи. К сожалению, даже со всем этим иногда не очень понятно, почему приложение в данные момент выглядит так, как выглядит: чего-то не видно, что-то выглядит не так, как ожидалось, где-то неподходящий размер шрифта или неверная картинка.

Часть этих проблем может быть решена в Qt Designer, но только часть. Qt Designer имеет несколько существенных недостатков: во-первых, он неверно отображает положение Qt Quick компонентов в случае активного использования Javascript при расчете их координат и размеров, во-вторых в дизайнере мы видим состояние только «пустой» формы, без загруженных в неё данных. В общем, очень не хватает чего-то вроде инструментов разработчика в любом современном браузере: чтобы можно было посмотреть всё дерево компонентов, найти нужный, увидеть его положение относительно других, свойства, поправить на лету что-то, подобрать цвет\шрифт\размер, увидеть какие обработчики повешены на события и т.д.

И такой инструмент в мире Qt появился! Встречайте — GammaRay, средство интроспекции приложений на Qt. GammaRay понимает, что такое Qt, из чего состоит ваше Qt-приложение, как в нём взаимодействую компоненты, как они выглядят, как генерируются и обрабатываются события и т.д. Давайте посмотрим, что умеет GammaRay.


Читать дальше →
Total votes 28: ↑28 and ↓0 +28
Comments 6

Разработка ММО РПГ – практическое руководство. Сервер (часть 1)

Reading time 10 min
Views 45K
Турель Аннигилятор
  • Игровой backend: из каких модулей он должен состоять?
  • Расчет параметров персонажа: виртуальные методы или сложение массивов?
  • Логика поведения: на каком уровне она должна находится?
  • Перемещение персонажей: кто этим должен управлять?

        Сегодня мы продолжим знакомиться с разработкой и проектированием он-лайн игры на примере космической ММО RPG «Звездные Призраки». В этой статье речь пойдет о backend'е на С++ и она будет насквозь техническая.

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

        В статье мы сосредоточимся именно на архитектурных решениях применительно к backend'у MMO RPG в реальном времени. Исходного кода будет не много и он точно не будет содержать таких специфических для С++ вещей как множественное наследование или шаблоны. Задача данной статьи помочь в проектировании игрового сервера и ознакомить всех желающих со спецификой игрового backend'а.

        Описываемые решения достаточно универсальны и вполне подойдут для многих RPG. В качестве иллюстрации в конце статьи я приведу пример использования описанной архитектуры в игре «про эльфов».
Далее
Total votes 33: ↑29 and ↓4 +25
Comments 29

Введение в функциональное программирование на Python

Reading time 10 min
Views 152K
Рассуждая о функциональном программировании, люди часто начинают выдавать кучу «функциональных» характеристик. Неизменяемые данные, функции первого класса и оптимизация хвостовой рекурсии. Это свойства языка, помогающие писать функциональные программы. Они упоминают мапирование, каррирование и использование функций высшего порядка. Это приёмы программирования, использующиеся для написания функционального кода. Они упоминают распараллеливание, ленивые вычисления и детерменизм. Это преимущества функциональных программ.

Забейте. Функциональный код отличается одним свойством: отсутствием побочных эффектов. Он не полагается на данные вне текущей функции, и не меняет данные, находящиеся вне функции. Все остальные «свойства» можно вывести из этого.

Нефункциональная функция:

a = 0
def increment1():
    global a
    a += 1


Функциональная функция:

def increment2(a):
    return a + 1


Вместо проходов по списку используйте map и reduce
Читать дальше →
Total votes 33: ↑30 and ↓3 +27
Comments 51

300 потрясающих бесплатных сервисов

Reading time 11 min
Views 1.6M


Автор оригинальной статьи Ali Mese добавил ещё 100 новых бесплатных сервисов. Все 400 потрясающих сервисов доступны здесь. И еще подборку +500 инструментов от 10 марта 2017 г. смотрите здесь.



A. Бесплатные Веб-Сайты + Логотипы + Хостинг + Выставление Счета

  • HTML5 UP: Адаптивные шаблоны HTML5 и CSS3.
  • Bootswatch: Бесплатные темы для Bootstrap.
  • Templated: Коллекция 845 бесплатных шаблонов CSS и HTML5.
  • Wordpress.org | Wordpress.com: Бесплатное создание веб-сайта.
  • Strikingly.com Domain: Конструктор веб-сайтов.
  • Logaster: Онлайн генератор логотипов и элементов фирменного стиля (new).
  • Withoomph: Мгновенное создание логотипов (англ.).
  • Hipster Logo Generator: Генератор хипстерских логотипов.
  • Squarespace Free Logo: Можно скачать бесплатную версию в маленьком разрешении.
  • Invoice to me: Бесплатный генератор счета.
  • Free Invoice Generator: Альтернативный бесплатный генератор счета.
  • Slimvoice: Невероятно простой счет.

Читать дальше →
Total votes 341: ↑325 and ↓16 +309
Comments 107

Хороших книг пост

Reading time 2 min
Views 70K


А давайте давайте соберём здесь хорошие книги, которые просто стоило собрать.
Суть в том, что просто давно стоило сложить хорошие книги в одном посте, чтобы было что прочитать в дороге — или просто для души.
Читать дальше →
Total votes 84: ↑72 and ↓12 +60
Comments 392

Нужны ли программисту бесплатные *люшки (версия 2023)

Reading time 5 min
Views 204K
Я хочу рассказать вам историю, которая, скорее всего, случится в 2023 году в калифорнийском офисе разработки одной крупной ИТ-компании FAC***GLE. Я думаю, история поможет посмотреть на реальность, окружающую программистов, с новой точки зрения.

Часть первая. Внутри офиса

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

Усики сканера альфа-активности приятно поглаживали виски и Шон чувствовал, что его, как и всегда, «прет»… О, это ощущение демиурга, когда ты видишь воплощение своих строчек кода в чудесных элементах виртуальной реальности.
Шон не зря был ведущим разработчиком — его показатель количества безошибочных строк в день на 4% превышал средний уровень по корпорации, и это в положительную сторону отражалось на зарплатных чеках и разнообразных бонусах.
Компания исключительно хорошо заботилась о своих программистах, которые, в свою очередь, не жалели сил и энергии на самую качественную разработку.
Читать дальше →
Total votes 367: ↑307 and ↓60 +247
Comments 115

Мифы нашего времени: генетически модифицированные организмы. Так ли страшен черт?

Reading time 21 min
Views 572K
Человеку давно свойственно интересоваться окружающим миром и находить объяснения тому окружающим вещам и событиям. Собственно, без этого человек не стал бы человеком. На базе верований, мифов развивалась сначала религия, а потом — и современная наука, которая уже весьма успешно объясняет окружающий мир от очень малых до впечатляющих масштабов. Но всегда оставались люди, которые противились прогрессу и распространяли устоявшиеся мифы, уверяя, что они отвечают на все вопросы и незачем двигаться дальше. Гром гремит — это Перун-громовержец злится; кто-то заболел — это Бог его наказывает, вот тебе объяснения, отстань, не задавай вопросов, а лучше помолись.
Современные мифы более глубоки и обычно связаны с наукой. Причины понятна — наука развилась (особенно в последнее время) до такой степени, что часто нужен колоссальный объем знаний, чтобы просто понять, о чем вообще идет речь. У многих людей этого объема нет или безвозвратно потерян, что и снижает их сопротивляемость к разного рода мифам нашего времени. Миф про вредность пищевых добавок Exxx; миф про полезность натурального и вредность «химии»; миф про врачей-убийц, травящих людей прививками; миф про настолько страшное ГМО, что наклейки с надписью «без ГМО» надо клеить даже на салфетки и на пачки с солью.
Картинка для привлечения внимания
Что такое ГМО? Зачем они нужны? Как велика опасность и польза от их использования? Есть ли доказательства безопасности этих организмов?
Рассуждения дилетанта на тему - под катом
Total votes 319: ↑291 and ↓28 +263
Comments 832

Миниатюрный беспилотный мультикоптер QR Ladybird “Букашка”

Reading time 5 min
Views 134K
image
QR Ladybird от компании Walkera — небольшой квадрокоптер, продается в комплекте “включил и летай”, стоит от $90, включая доставку. Есть комплектация с FPV — к коптеру подвешена камера и передатчик видео, в пульт встроен приемник и экран — можно практиковаться в полетах «от первого лица».
Читать дальше →
Total votes 103: ↑100 and ↓3 +97
Comments 80

Солнечные затмения с расстояния 36 тыс. км или почему мы об их космосе знаем больше чем о нашем

Reading time 5 min
Views 173K
Я выбирал заголовок для этого текста из двух вариантов, но потом решил объединить. Многие уже привыкли, что я пишу о Curiosity или, в крайнем случае, о каком-нибудь достижении NASA. Сегодня я отойду от традиции, и поговорим о наболевшем родном — о русском исследовательском космосе. Нет, я не о том, что воруют и ничего не летает. Наоборот, кое-что летает, даже есть чем гордиться, хоть и не так много как хотелось бы. Я о чертовски бестолковой и зачастую провальной работе отделов по связям с общественностью нашей космической науки.
image
Читать дальше →
Total votes 397: ↑394 and ↓3 +391
Comments 95

[Перевод] Что произошло, когда Facebook заблокировал мой аккаунт

Reading time 5 min
Views 159K
Заметка от переводчика: Мне хотелось перевести эту статью для русскоговорящих пользователей таких социальных сетей, как Facebook или Вконтакте, чтобы каждый мог сделать вывод, и если и не перейти из виртуального в реальный мир, то хотя бы попытаться застраховать себя от ситуации, описанной автором.

Facebook; миллиард человек использует его каждый месяц. Мы загружаем наши жизни и наши воспоминания на его страницы. Мы используем его для связи с любимыми, друзьями и коллегами. Некоторые из нас даже работают с ним, устраивают события, рекламируют и управляют сообществами и разрабатывают на его платформе. Он стал одним из таких сервисов, без которых нельзя жить, которых не избежишь. Некоторые из нас думают, что можно, что на самом деле мы не живем в Facebook и можем оставить его и уйти, когда захотим, но эти люди ошибаются. Это уже не просто социальная зависимость, он превращается в нечто намного большее.
Читать дальше →
Total votes 130: ↑107 and ↓23 +84
Comments 140

Интересующимся мозгом/ИИ: ссылки на почитать

Reading time 18 min
Views 81K
Расчищая Авгиевы конюшни на своем компе, взялся за структурирование накопившихся линков. Подумал, может и другим будет интересно то, что когда-то мне показалось достойным. Опять же, будет к чему отсылать с вопросом есть чо? «что почитать?»

Этот набор (порядка 400 ссылок) ни в коей мере не претендует на полноту или объективность. Наоборот, приглашаются все желающие дополнить и исправить (например раздел «Онлайн Курсы» подозрительно пуст). Если будет интерес, буду апдейтить этот пост новыми линками + апдейты отдельными постами оформлять.

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

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

PS: я оставил ссылки как есть, чтобы было видно куда ведет. Если кого напрягает — пишите, апдейтом спрячу.

Знание - сила!
Total votes 86: ↑79 and ↓7 +72
Comments 11

Что в кратере тебе моём?

Reading time 9 min
Views 101K
Как и обещал, публикую материал о том месте, которое сейчас исследует марсоход Curiosity. Кратер Гейла и гора Шарпа (Эолида), по мнению NASA – самые перспективные объекты для исследования на поверхности Марса. Оттуда мы сможем получить самую богатую научную информацию, которою в состоянии собрать такой совершенный робот-геолог как Curiosity.
image
Читать дальше →
Total votes 244: ↑240 and ↓4 +236
Comments 58

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Date of birth
Registered
Activity