Как стать автором
Обновить
4
0

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

Отправить сообщение

5 книг, которые стоит прочесть С++-разработчику

Время на прочтение4 мин
Количество просмотров16K

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

Один из самых распространённых инструментов самообразования — книги. Сегодня поговорим о полезных для разработчиков С++ изданиях, часть которых — просто must have. Всего в подборке пять вариантов, некоторые из них, вероятно, покажутся читателям необычным выбором. Но все они полезны для программистов. Если у вас есть собственные предпочтения, которые в подборку не попали, пишите о них в комментариях, с удовольствием ознакомимся.

Читать далее
Всего голосов 9: ↑7 и ↓2+14
Комментарии8

Шутер «Проект Кощей», разработка игр на SFML C++

Время на прочтение16 мин
Количество просмотров9K

Предыдущая тема

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

Читать далее
Всего голосов 16: ↑12 и ↓4+12
Комментарии4

Демо BACK TO THE PET — дневник разработки

Уровень сложностиСредний
Время на прочтение54 мин
Количество просмотров1.8K

В 2022 году я написал и выставил на CAFe 2022 полноформатное демо для редкой в наших краях платформы, одного из древнейших персональных компьютеров — Commodore PET 4032. Монохромный текстовый режим 40x25 без возможности загрузки шрифта, никаких аппаратных скроллов, однобитный бипер на выходе последовательного порта, 32 килобайта ОЗУ, в которые помещается все 4 минуты демо без дозагрузок.

Читать далее
Всего голосов 19: ↑19 и ↓0+19
Комментарии5

Математическая версия игры «Морской бой»

Уровень сложностиПростой
Время на прочтение3 мин
Количество просмотров8.9K

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

В качестве игрового поля берётся координатная плоскость хОу произвольного размера. Если играющие знакомы с отрицательными числами, то от (-10; -10) до (10; 10) скорее всего будет достаточно, хотя чем обширнее их знания алгебры, тем больше нужна игровая площадь. Для всех, кто младше шестого класса, советую поле от (0; 0) до (20; 20), или даже до (10; 10). Прямоугольное, естественно (квадратность не обязательна). Для старших, конечно, можно задавать её как любую криволинейную трапецию или не задавать вовсе, лишь бы все корабли вместились в чертёж заданного масштаба.

Читать далее
Всего голосов 47: ↑47 и ↓0+47
Комментарии40

Повторяй за мной или двигаем виртуальной камерой like a pro

Уровень сложностиСредний
Время на прочтение8 мин
Количество просмотров3.1K

DVD – как много в этой аббревиатуре! Уверен, что вы наверняка помните такое явление, как ларьки и палатки с дисками, исчезнувшие только к началу 2010-х годов (по крайней мере так было в столице). В один из таких ларьков в конце 2009-го заглянул десятилетний я, внимание которого тут же привлекла коробка с надписью «3D Studio Max 2010»... Аниматором я, увы, так и не стал, однако интерес к области визуальных эффектов сохранился надолго.

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

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

Читать далее
Всего голосов 4: ↑4 и ↓0+4
Комментарии4

Поиск работы за границей. Попытка номер раз

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров21K

Всем привет. Осенью 2022 года я занялась поиском IT работы в Португалии. В статье поделюсь, как это было и чем закончилось. Дисклеймер: многие подробности я намеренно опустила, будут вопросы – задавайте в комментариях.

Читать далее
Всего голосов 43: ↑36 и ↓7+41
Комментарии33

Есть там молот, есть там серп…

Уровень сложностиСредний
Время на прочтение7 мин
Количество просмотров4.6K

Вообще‑то я не особый любитель игр. Но прочитал тут на любимом хабре про Кужлёвку и захотелось в это дело поиграть. Не буду утомлять описанием игры, скажу только что игра на мой взгляд исключительно достойная, хотя и не без серьёзных (опять‑таки на мой дилетантский взгляд) недостатков. Перехожу к делу. Первый (и пока единственный) затык у меня случился в эпизоде, где Михалычу нужно собрать Серп и Молот из плиток типа пятнашек. Помучившись с этим часа полтора, я понял, что не смогу этого сделать даже за миллион. Хотя может конечно я просто тупой как пробка. Но на берегу спасённый мной мечехвост ждёт сигаретку! Не могу же я бросить древнее живое существо одно, да без курева!

Так что пойдём добывать сигареты !
Всего голосов 16: ↑11 и ↓5+12
Комментарии17

Какая ты кривая, или математика вокруг нас

Уровень сложностиПростой
Время на прочтение15 мин
Количество просмотров22K

Слово «математика» у кого-то ассоциируется с вечной зубрёжкой и строгим учителем, другие же представляют себе некоторую абстракцию, существующую отдельно от нашего мира, но есть и те, кто видит проявления этой науки в нашей повседневной жизни.

Читать далее
Всего голосов 94: ↑94 и ↓0+94
Комментарии37

Программирование для Palm OS: ставим CodeWarrior и оживляем ТСД

Уровень сложностиСредний
Время на прочтение30 мин
Количество просмотров6.2K
Приветствую всех!

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



Итак, в сегодняшней статье рассмотрим разработку софта для КПК под управлением легендарной Palm OS. Узнаем, где взять весь нужный софт, как собрать свою программу. Поговорим о некоторых аспектах программирования для этих железок. Традиционно будет много интересного.
Читать дальше →
Всего голосов 54: ↑54 и ↓0+54
Комментарии26

Откройте для себя весь потенциал побитовых операторов. Без математики

Уровень сложностиСредний
Время на прочтение13 мин
Количество просмотров23K

При изучении нового языка программирования в его документации мы обычно находим таблицу, где перечислены различные операторы, которые можно использовать с числами. Помимо хорошо знакомых нам +, -, * и /, в ней всегда присутствует раздел, который многие пропускают. Я имею ввиду раздел с побитовыми операторами: <<, >>, &, ^ и |.

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

Побитовые операторы позволяют управлять двоичным представлением данных, что на деле оказывается очень полезной возможностью. Поэтому предлагаю познакомиться с этим инструментом и научиться грамотно его использовать.
Читать дальше →
Всего голосов 35: ↑28 и ↓7+35
Комментарии20

Шнековый дозатор малых порций. Часть 1

Уровень сложностиСредний
Время на прочтение7 мин
Количество просмотров5.2K

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

Читать далее
Всего голосов 38: ↑38 и ↓0+38
Комментарии12

Из лягушек в автоматизаторы — мое решение

Уровень сложностиСредний
Время на прочтение17 мин
Количество просмотров6K

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

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

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

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

Читать далее
Всего голосов 17: ↑17 и ↓0+17
Комментарии9

ME2108 в дешевом фонарике

Уровень сложностиПростой
Время на прочтение3 мин
Количество просмотров9.5K

На сегодняшний день DCDC конвертеры выпускают не только всем известные крупные производители, но и китайцы. Последние отличаются ценой около 50 рублей за 10-20шт. Когда я вижу настолько дешевые детальки, меня поглощает желание встроить их повсюду. Ситуация немного похожа на ситуацию с блогером Александр Полулях, он заливал алюминий везде, в тыкву, арбуз, муравейник, настолько было много таких экспериментов, что ему уже начали советовать в комментариях залить этот алюминий себе самому не буду говорить куда. Хотя применение данной микросхемы в этом посте оправдано, т.к. всегда огорчало падение яркости на фонариках, по мере того, как в них садятся батарейки.

хотел пост, но не влезло
Всего голосов 23: ↑21 и ↓2+25
Комментарии54

Использование Command Line Tool на Swift в iOS проекте

Уровень сложностиСредний
Время на прочтение8 мин
Количество просмотров2.1K

Не так давно на проекте возникла необходимость настроить периодическое обновления информации со стороннего сервиса. В моем случае это был файл‑справочник в формате JSON, хранящийся в Bundle приложения, и ещё Info.plist в придачу. Отмечу, что такие файлы нельзя изменять в запущенном iOS приложении. Да и вообще, вызовы напрямую в сторонний сервис уже в рантайме меня не сильно радовали — в случае сбоя загрузки данных у приложения отваливался кусок функциональности.

Как бы вы поступили в этом случае? Вынесли бы кэширование таких файлов на ваш бэк? Таким образом мы бы решили проблему со сторонним нестабильным сервисом, но что делать с Info.plist?

Первое, что приходит в голову — написать Shell‑скрипт. Но это могло привести к проблемам с поддержкой другими iOS разработчиками. Поэтому было принято решение создать утилиту на Swift.

В сети много материала по созданию Command Line Tool на Swift, но мы разберем абстрактный пример создания такой утилиты сразу в связке с iOS проектом.

Читать далее
Всего голосов 2: ↑1 и ↓10
Комментарии28

Способы взаимодействия в Unreal Engine 5

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров15K

В Unreal Engine 5, Блюпринты являются одним из основных инструментов для создания игровой логики без необходимости писать код на C++. Блюпринты позволяют разработчикам создавать, настраивать и контролировать многие аспекты игровых объектов и окружающей среды. Однако, чтобы полностью раскрыть потенциал блюпринтов, необходимо понять, как они могут взаимодействовать друг с другом.

Читать далее
Всего голосов 8: ↑8 и ↓0+8
Комментарии5

LangBar++. Два вечных вопроса: индикация раскладки и ее исправление в набранном тексте

Уровень сложностиПростой
Время на прочтение6 мин
Количество просмотров4.3K

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

Читать далее
Всего голосов 26: ↑26 и ↓0+26
Комментарии13

Wireshark — подробное руководство по началу использования

Уровень сложностиСредний
Время на прочтение8 мин
Количество просмотров197K

Wireshark – это широко распространённый инструмент для захвата и анализа сетевого трафика, который активно используется как для образовательных целей, так и для устранения неполадок на компьютере или в сети. Wireshark работает практически со всеми протоколами модели OSI, обладает понятным для обычного пользователя интерфейсом и удобной системой фильтрации данных. Помимо всего этого, программа является кроссплатформенной и поддерживает следующие операционные системы: Windows, Linux, Mac OS X, Solaris, FreeBSD, NetBSD, OpenBSD.

Читать далее
Всего голосов 32: ↑30 и ↓2+36
Комментарии21

Технология покраски деревянных фигурок для настольных игр от Meeplewood. Путь технологии

Уровень сложностиПростой
Время на прочтение17 мин
Количество просмотров15K

Эта статья посвящена описанию моего пути созданию (отработки) технологии производства деревянных фигурок Meeplewood. В статье вы найдете трудности, которые пришлось преодолеть и решения, которыми это было сделано.

Статья описывает технологию, которая применялась нами в период с 2017 по 2019 год. С весны 2019 мы перешли на другой техпроцесс - более производительный и более экологичный. Тем не менее фигурки, произведенные по описанному тех.процессу проложили нам дорогу успеха к международному рынку фигурок и крупным заказам от издательств.

Читать далее
Всего голосов 63: ↑62 и ↓1+89
Комментарии37

SQL HowTo: замена в строке по набору

Уровень сложностиПростой
Время на прочтение2 мин
Количество просмотров5K

Решим сегодня простую, казалось бы, задачу: как на PostgreSQL можно в строке провести замены по набору пар строк. То есть в исходной строке 'abcdaaabbbcccdcba' заменить, например, 'а' -> 'x', 'bb' -> 'y', 'ccc' -> 'z' и получить 'xbcdxxxybzdcbx'.

Фактически, мы попробуем создать аналог str_replace или strtr.

Читать далее
Всего голосов 9: ↑9 и ↓0+9
Комментарии8

Русские шашки: представление доски с помощью двух uint64

Уровень сложностиПростой
Время на прочтение3 мин
Количество просмотров7.1K

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

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

Читать далее
Всего голосов 10: ↑9 и ↓1+13
Комментарии32

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность

Специализация

Специалист
iOS development
Objective-C
Xcode
Development of mobile applications
UIKit
Cocoa Touch