Pull to refresh
Roman Naumov @sithread⁠-⁠only

Software Engineer

Send message

Как калькуляторы вычисляют синус?

Level of difficultyEasy
Reading time3 min
Views54K

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

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

Читать далее
Total votes 99: ↑97 and ↓2+95
Comments52

Обмани меня, если сможешь

Level of difficultyEasy
Reading time13 min
Views9.6K

Первый игровой автомат Atari Pong, был выпущен в 1972 году. Это игра для двух игроков, основанная на настольном теннисе, где каждый игрок управляет ракеткой и должен отбить мяч на другую сторону. Если игрок промахивается, соперник набирает очки. Первый кто наберет 11 очков становится победителем. Kent Steven в своей книге "The Ultimate History of Video Games" (Вся история видеоигр) описывает, что проект был отдан инженеру Aлану Алькорну (Alan Alcorn), который до этого не занимался играми и игровыми автоматами. Учитывая, что в кармане основателя Atari было немногим больше 500$, и привлечь опытных разработчиков для работы над неизвестным проектом шансы были минимальные, то Нолан Бушелл представил это как выполнение контракта для General Electric.

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

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

Давайте разберем к каким уловкам прибегают игры, чтобы играть было интересно.

Осторожно, много картинок
Total votes 26: ↑24 and ↓2+22
Comments15

Обзор языка Crystal

Level of difficultyEasy
Reading time7 min
Views3.6K

Привет, Хабр!

История Crystal начинается в 2011 году, когда команда энтузистов решили создать язык, который бы исправил некоторые из тех ограничений и проблем, с которыми они сталкивались, работая с Ruby. Они мечтали о языке, который бы позволял писать код, легкий для понимания и поддержки, но при этом обладающий высокой производительностью и эффективностью выполнения. Так родился Crystal, язык, который наследует синтаксис Ruby.

На первый взгляд, код на Crystal может показаться почти идентичным коду на Ruby — это было сделано намеренно, чтобы разрабы, уже знакомые с Ruby, могли без труда перейти на использование нового языка. Однако, несмотря на внешнее сходство, Crystal вносит ряд улучшений: система статической типизации с автоматическим выводом типов, обработка параллельных вычислений и возможность компиляции в машинный код.

Читать далее
Total votes 17: ↑14 and ↓3+11
Comments2

Шпаргалка для алгособеса — алгоритмическая сложность, структуры данных, методы сортировки и Дейкстра

Level of difficultyMedium
Reading time33 min
Views97K

Привет, Хабр!

Так уж повелось, что любой уважающий себя работодатель перенимает передовые^✻ методики FAANG — по этой причине практически во всех IT-собесах есть она: секция алгоритмов. Кто-то ей рад, кто-то не очень, но секция есть и уходить пока не планирует. Поэтому нужно закатать рукава и достойно встретить суровую реальность.

Читать далее
Total votes 216: ↑214 and ↓2+212
Comments77

Мечтают ли нейроовцы о генеративных трубах? Кратко о процедурной генерации контента (PCG) в контексте игровой индустрии

Level of difficultyMedium
Reading time16 min
Views5.9K

Привет, Хабр! Меня зовут Владимир Садовский и я трудоголик (вялые аплодисменты) работаю программистом инструментария в Nau Engine. А ещё — обожаю игры. С детства. Компьютер у меня появился, когда мне было восемь. Предполагалось, что для учебы, но на глаза мне попалась Carmageddon, и дальше всё как в тумане. Потом были Command & Conquer: Generals, Fallout 2, и, кажется, сотни других. Детское увлечение со временем превратилось в карьеру. 

Увлекаться PCG я начал ещё в вузе (ИТМО). Тогда меня интересовало, как процедурная генерация контента помогает создавать игры с открытым миром и влияет на реиграбельность. Когда я стал игровым разработчиком, то заметил, что даже профессионалы часто путают процедурную генерацию и генеративный ИИ. 

Про GAI поговорим как-нибудь в другой раз (потому что эта огромная интересная тема тоже заслуживает отдельного материала), а сегодня разберёмся, с чем едят процедурную генерацию контента, и как не подавиться как она используется в игровой индустрии. А заодно немного окунёмся в историю PCG (а она почти вдвое старше меня), рассмотрим популярные инструменты и обсудим самые перспективные алгоритмы. 

Погнали!

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

Шаг за шагом: Как интегрировать ChatGPT для ревью пулл-реквестов на GitHub с помощью GitHub Actions

Level of difficultyEasy
Reading time2 min
Views9.9K

В статье я поделюсь, как интегрировать ChatGPT для ревью пулл-реквестов на GitHub без покупок иностранных номеров, карт и различных ВПНов, используя, GitHub Actions

Читать далее
Total votes 19: ↑17 and ↓2+15
Comments24

Зарплаты и отношение к кадрам в российском ИТ как отображение заката эпохи «среднего класса»

Reading time9 min
Views137K

Зарплаты и отношение к кадрам в российском ИТ как отображение заката эпохи «среднего класса».

Для лиги лени: «9 из 10 российских работодателей испытывают ужасающий дефицит высококвалифицированных низкооплачиваемых работников, но Юрьев День для оставшихся официально никак не введут, это огорчает эффективных сов».

Эта заметка — приквел к циклу статей «Равновесие Нэша или почему эта музыка будет вечной» и ответ на пост «Вас просто стало слишком много».

Читать далее
Total votes 339: ↑272 and ↓67+205
Comments492

Изучаем C# в 2024 году

Reading time8 min
Views35K

Если вы собираетесь стать разработчиком С# в 2024 году, вас ждет увлекательное путешествие! Чтобы помочь вам эффективно ориентироваться в этом ландшафте, мы составили подробную дорожную карту, в которой описаны основные скиллы и технологии, которыми вы должны овладеть. Независимо от того, являетесь ли вы новичком в разработке программного обеспечения или переходите с другого технологического стека, эта дорожная карта поможет вам определить ключевые области, на которых следует сосредоточиться.

t.me/csharp_ci – огромное количество гайдов, библиотек и примеров с кодом в моем телеграм канале для C# и .Net разработчиков.

https://t.me/addlist/u15AMycxRMowZmRi – тут я собрал огромную папку каналов C# и .Net программистов.

Читать далее
Total votes 29: ↑10 and ↓19-9
Comments23

Разработал 50 игр. Мои самые первые игры (Часть 1)

Level of difficultyEasy
Reading time2 min
Views9.3K

С 2005 года я решил попробовать создавать игры и меня затянуло. Самоучка, у меня тогда еще интернета не было я был школьником) Рисовать и программировать я не умел, но было большее желание что-то создать)

Тут я поделюсь кратким списком своих первых игр. Все они были разработаны на flash. А подробнее как я их создавал, ухищрялся и как у них выглядит геймплей, можно посмотреть в видео.

Читать далее
Total votes 28: ↑18 and ↓10+8
Comments7

Unreal Engine vs Unity vs GoDot. Что нужно знать, если ты не программист

Level of difficultyMedium
Reading time17 min
Views18K


Доброго времени суток, дорогие хабражители. Продолжаем разбор строения игр, игровых движков и их особенностей с точки зрения человека, которому никогда в жизни не говорили «тыжпрограммист». Сегодня на повестке дня выбор игрового движка из двух гигантов игростроя: Unity и Unreal Engine.
Читать дальше →
Total votes 32: ↑25 and ↓7+18
Comments52

«Импортозамещение» в видеонаблюдении. Часть четвертая: разбираю камеру от НИЦ «Технологии» сам

Level of difficultyEasy
Reading time4 min
Views19K

Наконец пришла моя долгожданная двухмегапиксельная ip-камера, произведенная, как написано на стикере, в Краснодаре.

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

Читать далее
Total votes 40: ↑35 and ↓5+30
Comments60

Маленький да удаленький: лучшие миниатюрные лазерные граверы 2023 года

Reading time5 min
Views11K

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

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

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

IntelliJ IDEA 2023.2. Долгожданный LSP, встроенный AI-чат, апгрейд до Windows 10 и -Xmx2G

Level of difficultyEasy
Reading time6 min
Views14K

Это ретроспективный пост фичей IntelliJ IDEA 2023.2, в преддверии 2023.3 (которая сейчас в состоянии Beta 2). Несмотря на то, что эта версия вышла еще в июле, не все в точности помнят, что же там произошло, и какую версию они вообще используют.

Идея раздулась до 2 гигабайт хипа, появилась поддержка LSP-серверов, и теперь вам нужно проапгрейдиться с Windows 7 минимум до Windows 10.

Из мелочей: появился чата с нейронкой "AI Assistant". Профилировщик научился отображать подсказки прямо в редакторе, а интеграция с GitLab позволяет меньше переключаться между браузером и IDE.

Хотите узнать подробней?

Восхитительно! Читать далее
Total votes 25: ↑21 and ↓4+17
Comments22

Про unit-тесты кратко

Level of difficultyEasy
Reading time7 min
Views9.2K

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

Один из моих коллег-автоматизаторов упомянул, что к нему обращаются разработчики с вопросом: "А как написать unit-тест?". Не конкретный тест, а "в принципе". Это послужило для меня поводом подготовить эту статью, и адресована она молодым программистам. Они смогут ознакомиться с рекомендациями, которым стоит следовать при разработке unit-тестов. Но также может быть любопытна и QA-инженерам - ведь полезно получить представление об аспектах тестирования, выполняемого разработчиками.

Читать далее
Total votes 7: ↑6 and ↓1+5
Comments25

Романы, получившие одновременно и «Локус», и «Небьюлу»

Reading time3 min
Views19K

«Локус» и «Небьюла» вместе с «Хьюго» составляют тройку престижнейших фантастических литературных премий. При этом устроены они совершенно по-разному. За «Хьюго» голосуют участники фестиваля WorldCon. «Локус» вручается с 1971 года, а победителей выбирают читатели одноименного издания. А победители «Небьюлы» (впервые вручена в 1966 году) выбираются членами жюри. Любопытно, что в последние годы читатели «Локуса» и судьи «Небьюлы» проявляют удивительное единодушие. Четыре раза за последние пять обе премии имели общего лауреата.

Читать далее
Total votes 14: ↑11 and ↓3+8
Comments23

Развлекательное чтиво на выходные

Level of difficultyEasy
Reading time4 min
Views13K

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

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

Расслабон
Total votes 43: ↑35 and ↓8+27
Comments50

Лучшая фантастика последних трех лет по версии Goodreads

Reading time5 min
Views132K

GoodrGoodreads — пожалуй, главный книжный сайт англоязычного интернета. Недавно он составил список самых популярных фантастических книг за 2020-2023 годы, опираясь на мнение пользователей. К сожалению, на русский язык переведено далеко не все, однако даже те книги, которые уже можно прочитать в переводе, составляют внушительный список. Вот он.

Читать далее
Total votes 62: ↑58 and ↓4+54
Comments180

8-битный денди-ноутбук за 400 рублей из начала нулевых. Какой «компьютер» смогли сделать китайцы на базе железа «Денди»?

Level of difficultyEasy
Reading time10 min
Views13K
image

Друзья! А вы заметили, что NES, которая более известна у нас как Dendy, наряду с сегой стала консолью на много поколений вперёд? Даже спустя практически 40 лет после выхода, она не теряет актуальности и до сих пор взращивает все новые и новые поколения геймеров. 80-ые (Famicom/NES), 90-ые (тайваньские клоны NES, известные у нас как Dendy и Сюбор), 2000-ые («денди на капле» или новоделы), десятые и даже двадцатые (сейчас железные клоны уже не делают, но делают довольно мощные стики с эмуляторами и встроенными ромами). Для многих из нас NES/SMD стали первыми игровыми платформами, за которыми мы проводили часами на пузатых и изрядно уставших ЭЛТ-телевизорах. Недавно, листая онлайн-барахолки, я нашёл очень интересную вариацию денди: в виде эдакого «ноутбука», с настоящей рабочей клавиатурой, мышкой и двумя геймпадами. Сегодня мы с вами: осмотрим интересную покупку, узнаем, что у такого «ноутбука» под капотом, посмотрим на местный закос под Windows с настоящим бэйсиком и DOS. Интересно? Тогда жду вас под катом!
Читать дальше →
Total votes 49: ↑47 and ↓2+45
Comments52
1
23 ...

Information

Rating
Does not participate
Location
Victoria, British Columbia, Канада
Date of birth
Registered
Activity

Specialization

Mobile Application Developer, Game Developer
Lead
Unity3d
Unreal Engine
AR and VR development
C++
C#
Game Development