Записки разработчика
28 subscribers
22 photos
4 files
131 links
Заметки о используемых инструментах и технологиях, прочитанных статьях и книгах, размышления о саморазвитии и решении прикладных задач.
Download Telegram
Maykl_A_Di_Spetsio_-_Prevoskhodnye_Golovolomki.pdf
26 MB
Превосходные головоломки, развивающие критическое мышление
Майкл А. Ди Специо.

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

#book
[Gleizer_D.,_Madhav_S.]_Mnogopolzovatelskie_igrue.pdf
6.9 MB
Многопользовательские игры. Разработка сетевых приложений
Глейзер Д., Мадхав С.

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

#book #gamedev
Вести свой блог, конечно, тяжело. На это нужно много времени.
Но я все равно постараюсь выкладывать интересные вещи, которые будут полезны. Сегодня это понятие Bus Factor - мера сосредоточения информации среди отдельных членов проекта; фактор означает количество участников проекта, после потери которых (в оригинале — «попадания» которых под автобус или грузовик, варианты: увольнения, заболевания, рождения ребёнка, несчастного случая и других форс-мажорных обстоятельств) проект не сможет быть завершён оставшимися участниками.
https://stackoverflow.com/questions/8911440/c-sharp-float-expression-strange-behavior-when-casting-the-result-float-to-int
Сегодня в очередной раз столкнулся с проблемой в математике с плавающей точкой, но в этот раз в C#.
По приведенной ссылке все, в принципе, хорошо описывается, но удивлению моему не было приделу, так как поведение отличное от C++.
А именно:
int time = 550;
float bonus = 1.1f;
var value1 = (int)(time/ bonus);
var floatValue = time/ bonus;
var value2 = (int)(time/bonus);
Ожидается, что value1 и value2 должны быть равны, но нет :) value1 - 499 и value2 - 500
Почему так?
Тип выражения time/bonus - это float. Так нам говорит стандарт C#. Да и (time/bonus).GetType() пишет System.Single.
Приведение к инту отбрасывает значимую часть. Вo float значение выглядит как 500.0000002, отбрасываем - получаем 500.
НО компилятор волен (т.е. зависит от реализации, а точнее от платформы) промежуточные значения оставлять с более высокой точностью, т.е. в первом случае double. 500 в double 499.99999998 (или как-то так). Отбрасываем, получаем 499 :)
В общем, в очередной раз убеждаюсь, что нет платформонезависимых языков.
https://www.facebook.com/aslanbeily/posts/2547154415327407
Очень интересный прецедент в IT-сфере. Это начало?
https://habr.com/ru/company/pvs-studio/blog/465575/
В новом стандарте появится новый оператор упорядочивания, который может избежать кучи проблем в реализации операторов сравнения. Одно из очень полезных нововведений.
Forwarded from DevBrain
В сети появился документ с набором правил и подходов, которые практикуются в компании Google по code review: https://google.github.io/eng-practices/review/reviewer/

А вы практикуете code review в своей команде? Комментарий можно оставить к этому посту, нажав на кнопку Add a comment
https://www.levels.fyi/salary/Google/
А вот тут можно узнать о зарплатах в Google.
Маскот С++ - больная крыса с отстрелянной ногой.
http://xgu.ru/wiki/ssh-copy-id
ssh-copy-id - утилита для копирования публичных ключей на удаленные машины.
https://www.hcidata.info/inet.htm
Internet- общедоступная сеть.
Intranet - сеть, недоступная извне.
Extranet - сеть, частично доступная извне для авторизованных пользователей.