Как стать автором
Обновить
0
0
Иванов Никита @RamzesXI

Разработчик C++

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

Программисты, давайте изучать исходники классических программ

Время на прочтение2 мин
Количество просмотров54K
Современные программисты — счастливчики: мы живём в мире, в котором исторические и оказавшие существенное влияние программы имеют открытый код, доступный для изучения. Однако, многие программисты только учатся, и изучают те программы, над которыми работают сами. У нас редко находится время для изучения исторических работ, и курсы программирования редко тратят время на такие вещи.

Мы полагаем, что разработчикам следует изучать исходники программ, оказавших большое влияние, подобно тому, как архитекторы изучают здания, оказавшие влияние на архитектуру (и критикуют их). Чем повторять те же ошибки снова и снова, мы должны изучить большую работу, проделанную до нас, и вынести из неё уроки.
Читать дальше →
Всего голосов 74: ↑69 и ↓5+64
Комментарии68

Первые в мире серийные лампы с солнечным спектром

Время на прочтение4 мин
Количество просмотров143K
В январе 2020 года в продаже появились первые светодиодные лампы, в которых используются светодиоды Sunlike, обеспечивающие равномерный спектр без пиков и идеальную цветопередачу.



Читать дальше →
Всего голосов 146: ↑145 и ↓1+144
Комментарии307

Автоматизация тестирования при создании игр

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

Введение


Автоматизированное тестирование во всю свою мощь используется многими компаниями. Юнит-тесты, Интеграционные тесты, UI тесты, ручное тестирование и прочие методы. Но почему-то в такой большой области, как GameDev автоматизация тестов сводится к тому, что билды передаются в QA отдел на ручное тестирование. Постараюсь рассказать как разрабатываю игры я, и как пишу для них тесты.


Читать дальше →
Всего голосов 13: ↑12 и ↓1+11
Комментарии2

Дж. Х. Рейнвотер «Как пасти котов»: породы программистов и особенности их разведения

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


Об управлении людьми в целом на сегодняшний день сказано уже немало (по мнению многих, более чем достаточно). Об управлении программистами с учетом специфики их задач, организации работы и внутренних отношений в команде – в разы меньше. Любая попытка обобщить и проанализировать свой опыт от человека, который варился в IT-среде и как разработчик, и как управленец, имеет особую ценность для тех, кто готовится пройти тем же путем и ломает голову, как приложить общеуправленческие теории к программистским реалиям.

Дж. Ханк Рейнвотер, программист старой закалки, относится к числу людей, которые знают все топкие места в роли технического лидера наперечет, потому что сами в них плавали. Его книга «Как пасти котов» подкупает своей предметностью: здесь описываются конкретные, хорошо всем знакомые ситуации, разбираются по косточкам разные составляющие и условия работы команды, даже приводятся авторские технологические решения (к сожалению, уже устаревшие). В небольшом цикле статей мы планируем осветить все, что нам показалось наиболее полезным и актуальным в книге – от типологии сотрудников до рекомендаций по общению с другими командами.
Читать дальше →
Всего голосов 21: ↑19 и ↓2+17
Комментарии11

Душевный Mikrotik против бездушного РКН и такого же провайдера

Время на прочтение3 мин
Количество просмотров79K
Статья описывает способ получения доступа к ресурсам ошибочно попавшим под раздачу плюшек Роскомнадзором (далее РКН). Именно ошибочно попавшим. Мы законопослушные граждане и не ходим туда куда нам запрещают наши госорганы. Так что если вдруг вы решите воспользоваться способом для того что бы пойти на какие то “законно” заблокированные ресурсы, суровый меч правосудия возможно взметнется над вашей головой и я в этом не виноват, поскольку вот прямо сейчас я вас предупредил!
Читать дальше →
Всего голосов 58: ↑49 и ↓9+40
Комментарии91

Нечувствительные к весам нейронные сети (WANN)

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


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


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

Читать дальше →
Всего голосов 68: ↑67 и ↓1+66
Комментарии87

Проекции карт: о чём на самом деле шутит xkcd

Время на прочтение12 мин
Количество просмотров45K
Xkcd — один из самых культовых веб-комиксов, и минималистичный стиль зарисовок будто из учебника механики стал его визитной карточкой. Автор комикса Рэндел Манро признавался, что старательно ищет вдохновение для новых выпусков: он пробует новые программы и игры, работает над математическими задачами, следит за новостями науки и технологий. Если бы он этого не делал, то комикс рассказывал бы о том, как художник сидит дома за компьютером.

Иногда выпуск комикса xkcd — это поверхностная шутка в узкой области знаний. Понять такой юмор сможет специалист или хотя бы слабо знакомый с затрагиваемой областью, а остальные будут лишь недоумевать. Пример такого выпуска — xkcd.com/977 Map Projections 2011 года. Для полного понимания выпуска нужно лишь примерно представлять историю и функцию различных проекций карт мира, иначе комикс останется чёрно-белым рисунком.



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

Не все мы смотрим на карту для навигации в открытом море. Часто выбор метода преобразования формы Земли — это не вопрос жизни и смерти, это художественная иллюстрация. В этих случаях проекцию выбирают из устоявшихся вкусов и предпочтений — точно так же, как выбирают одежду или автомобиль. Можно смешно шутить про моду на дорогие кроссовки среди директоров крупных компаний Кремниевой долины или про популярность заниженных автомобилей. Точно так же шуткам поддаются предпочтения картографической проекции, как это и было сделано в Map Projections.
Всего голосов 137: ↑136 и ↓1+135
Комментарии107

Учеба на частного пилота в Средиземье: переезд и жизнь в новозеландской деревне

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


Всем привет!

Хочется поделиться довольно необычным опытом и дополнить замечательную статью bvitaliyg о том, как прийти в небо и стать пилотом. Расскажу о том, как я уехал в новозеландскую деревню под Хоббитоном, чтобы сесть за штурвал и научиться летать.
Читать дальше →
Всего голосов 94: ↑90 и ↓4+86
Комментарии83

После прочтения применить. 25 книг для игрового разработчика

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


Читать дальше →
Всего голосов 15: ↑14 и ↓1+13
Комментарии7
«Библиотеки для C++ нередко похожи на русскую классику: страдает либо их автор, либо пользователь, либо архитектура». Автор этой цитаты, Сергей Садовников из «Лаборатории Касперского», прошел свой путь от страданий к просветлению и узнал о метапрограммировании в С++ нечто важное и нужное. Сочувствующих приглашаем в волшебный мир макросов, шаблонов, boost и прочих loki.
Подробности – под катом
Всего голосов 65: ↑64 и ↓1+63
Комментарии39

Математика, сообщающая клеткам, какими они должны быть

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

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




В 1891 году, когда немецкий биолог Ханс Дриш разделил двухклеточный эмбрион морского ежа пополам, он обнаружил, что каждая из разделённых клеток в итоге выросла в полноценную, хотя и меньшую по размеру, личинку. Половинки каким-то образом «знали», как поменять программу развития: судя по всему, на этом этапе полные чертежи их развития ещё не были нарисованы (по крайней мере, не чернилами).

С тех пор учёные пытаются понять, как создаётся такой чертёж и насколько он детален. (Сам Дриш, раздосадованный тем, что не может найти ответ на этот вопрос, в отчаянии всплеснул руками и вообще перестал работать в этой области). Сейчас известно, что некая позиционная информация заставляет гены включаться и выключаться по всему эмбриону, и задаёт определённые роли клеткам на основании их местоположения. Однако кажется, что сигналы, переносящие эту информацию, колеблются сильно и хаотично – совсем не так, как можно было ожидать от важных инструкций.
Читать дальше →
Всего голосов 31: ↑29 и ↓2+27
Комментарии26

Ровные зубы, C++ и математика — как они связаны? Разговор с Align

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


Иногда мне кажется, что чем больше я смотрю на ИТ- индустрию, тем примитивнее становится в голове общая картина. Как будто ИТ — это либо серьезный rocket science, либо очередной сервис, который «позволяет сделать *что-нибудь-еще* всего в один клик». А за пределами этого представления все еще остались нетронутые новыми технологиями занятия. Сходить к тому же зубному — ну причем здесь ИТ?

Какое же это заблуждение.

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

Зачем столько людей, чем конкретно они заняты, и как математики и знатоки C++ помогают делают зубы ровными, мы поговорили с Align Tech — огромной международной компанией, которая массово производит капы для ортодонтического лечения.
Align Technology Inc. получила на «Моём круге» среднюю оценку 4,5 от своих сотрудников, которые выше всего оценили компанию за интересные задачи, социальный пакет, комфортные условия и за то, что она помогает делать мир лучше!
Читать дальше →
Всего голосов 43: ↑43 и ↓0+43
Комментарии13

Лабиринты: классификация, генерирование, поиск решений

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

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

Классификация лабиринтов


Лабиринты в целом (а значит, и алгоритмы для их создания) можно разбить по семи различным классификациям: размерности, гиперразмерности, топологии, тесселяции, маршрутизации, текстуре и приоритету. Лабиринт может использовать по одному элементу из каждого класса в любом сочетании.
Читать дальше →
Всего голосов 82: ↑82 и ↓0+82
Комментарии13

Стажёр Вася и его истории об идемпотентности API

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

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


Меня зовут Денис Исаев, и я руковожу одной из бэкенд групп в Яндекс.Такси. Сегодня я поделюсь с читателями Хабра описанием проблем, которые могут возникнуть, если не учитывать идемпотентность распределенных систем в своем проекте. Для этого я выбрал формат вымышленных историй о стажёре Васе, который только-только учится работать с API. Так будет нагляднее и полезнее. Поехали.


image

Читать дальше →
Всего голосов 219: ↑216 и ↓3+213
Комментарии163

Совсем просто про минимальное идеальное хеширование, основанное на графах

Время на прочтение5 мин
Количество просмотров30K
Представим, что перед нами стоит классическая задача получить данные по какому-то ключу. Причем количество данных и их ключей заранее известно.

Как решать подобную задачу?
Читать дальше →
Всего голосов 20: ↑18 и ↓2+16
Комментарии5

Книга «Совершенный алгоритм. Основы»

Время на прочтение5 мин
Количество просмотров24K
image Привет, Хаброжители! Эта книга основана на онлайн-курсах по алгоритмам, которые Тим Рафгарден ведет на Coursera и Stanford Lagunita, а появились эти курсы благодаря лекциям для студентов, которые он читает в Стэнфордском университете на протяжении многих лет.

Алгоритмы — это сердце и душа computer science. Без них не обойтись, они есть везде — от сетевой маршрутизации и расчетов по геномике до криптографии и машинного обучения. «Совершенный алгоритм» превратит вас в настоящего профи, который будет ставить задачи и мастерски их решать как в жизни, так и на собеседовании при приеме на работу в любую IT-компанию. Тим Рафгарден расскажет об асимптотическом анализе, нотации большое-О, алгоритмах «разделяй и властвуй», рандомизации, сортировки и отбора. Книга адресована тем, у кого уже есть опыт программирования. Вы перейдете на новый уровень, чтобы увидеть общую картину, разобраться в низкоуровневых концепциях и математических нюансах.
Читать дальше →
Всего голосов 20: ↑19 и ↓1+18
Комментарии20

Функторы, аппликативные функторы и монады в картинках

Время на прочтение5 мин
Количество просмотров190K
Вот некое простое значение:


И мы знаем, как к нему можно применить функцию:


Элементарно. Так что теперь усложним задание — пусть наше значение имеет контекст. Пока что вы можете думать о контексте просто как о ящике, куда можно положить значение:


Теперь, когда вы примените функцию к этому значению, результаты вы будете получать разные — в зависимости от контекста. Это основная идея, на которой базируются функторы, аппликативные функторы, монады, стрелки и т.п. Тип данных Maybe определяет два связанных контекста:


data Maybe a = Nothing | Just a

Позже мы увидим разницу в поведении функции для Just a против Nothing. Но сначала поговорим о функторах!
Читать дальше →
Всего голосов 184: ↑175 и ↓9+166
Комментарии60

Жизнь на частицах

Время на прочтение4 мин
Количество просмотров64K
Всем привет! Сегодня я расскажу о своих экспериментах с системами частиц. Основной целью было нахождение простых правил, которые бы порождали интересное поведение.

Классический пример системы с простыми правилами и сложным поведением — клеточные автоматы, именно на них я и ориентировался, пытаясь подобрать правила. Конечно же, для клеточных автоматов правила будут в большинстве случаев проще. Но частицы могут быть красивее!

Под катом много мегабайт гифок.

Читать дальше →
Всего голосов 269: ↑267 и ↓2+265
Комментарии67

Физика игрового торнадо: как реализована аэродинамика в Just Cause 4 (трафик)

Время на прочтение23 мин
Количество просмотров9.8K
Жак Кернер — старший инженер-разработчик ПО в Avalanche Studios.


Как будто раньше игра была недостаточно безумной

Введение


Серия игр Just Cause и Avalanche Studios известны своей технологией открытого мира, обеспечивающего разнообразный и увлекательный игровой процесс. В последней версии игры — Just Cause 4 — добавлены ветер и погодные катаклизмы, ставшие новинкой в стеке технологий, углубляющих игровой процесс. Но экстремальные природные условия изначально задумывались не просто как способ симуляции более правдоподобного мира. Ярость природы управляется силами зла, противостоящими Рико Родригесу. Мы намеревались сделать так, чтобы ветер проявлялся более явно и экстремальные погодные условия не выглядели как внезапные события, чуждые этому миру. В этой статье представлены техники, разработанные нами для реализации ветра во всех его проявлениях с физической точки зрения, а также реакции на него всех объектов.

[Под катом около 120 МБ файлов GIF]
Читать дальше →
Всего голосов 35: ↑34 и ↓1+33
Комментарии5

20 игр, чтобы научить ребёнка программированию

Время на прочтение5 мин
Количество просмотров302K
Привет Хабр! Меня зовут Оксана Селендеева. Я считаю, что лучше начинать программировать с юного возраста — 4-5 лет, потому что кодинг активно развивает у детей когнитивные функции мозга, и это впоследствии помогает им отлично усваивать точные науки. А попробовать себя в программированию можно через обучающие игры. Мы с преподавателями школы программирования для детей CODDY составили такую подборку.

Для дошкольников


Box Island — мобильная 3D-игра, которая обучает основам кодирования через увлекательное приключение. Игроки путешествуют по острову Box и помогают персонажу собирать звезды, разбросанные по пустыне. Через игровой квест дети изучают основы алгоритмов, последовательностей, циклов и условных выражений, а ещё игра развивает алгоритмическое мышление и распознавание образов.
Всего голосов 59: ↑53 и ↓6+47
Комментарии91
1
23 ...

Информация

В рейтинге
Не участвует
Откуда
Санкт-Петербург, Санкт-Петербург и область, Россия
Дата рождения
Зарегистрирован
Активность