Pull to refresh
0
0
Send message

Как я перестал тревожиться из-за читабельности и… все

Level of difficultyEasy
Reading time12 min
Views32K

Всем привет.

Давно читаю хабр, давно и регулярно читаю статьи про правильное программирование.

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

TLDR: забейте на читабельность и выразительность. Стремитесь сделать ваш код хорошо работающим..

Идем забивать
Total votes 113: ↑52 and ↓61+1
Comments364

Изучение TypeScript — Полное руководство для начинающих. Часть 1 — Введение и примитивные типы данных

Reading time5 min
Views92K

Всем привет. Меня зовут Лихопой Кирилл и я - Fullstack-разработчик.

Представляю вашему вниманию cвою первую статью на Хабре, a точне перевод англоязычной статьи, на тему изучения TypeScript (TS, Тайпскрипт).

Другие части:
Часть 2 - Ссылочные типы данных
Часть 3 - Классы и интерфейсы
Часть 4 - Литералы и дженерики
Часть 5 - Строгий режим и сужение типов

Читать далее
Total votes 12: ↑8 and ↓4+7
Comments9

Сегодня ночью мы успешно выполнили обновление вашего организма

Reading time4 min
Views58K

Добрый день!

Мы рады представить вам новую версию, в которой много замечательных изменений! Вот только некоторые из них:

  • Убраны пальцы ног. Отдельные пальцы только тратили излишние ресурсы, теперь ступня просто заканчивается второй пяткой меньшего размера. Форма второй пятки примерно совпадает с формой пальцев прошлой версии для совместимости с обувью. В некоторых азиатских и греческих локалях, увы, ряд сандалий будет несовместим с новой версией. Пользователи этих локалей могли прочесть уведомления о необходимости обновить обувь за 2 недели до релиза в подразделе 14.22 оферты на нашем официальном сайте.
  • Исправлена ошибка в 6-й жаберной дуге, возвратный гортанный нерв больше не возвратный. В новой стабильной версии это прямой гортанный нерв.
  • RBP v1.0: добавлена возможность для разработчиков обращаться к нервной системе по API.

Также исправлено более сотни мелких ошибок, внесено несколько изменений в архитектуру для большего удобства пользователя, поддержки экологичности, стабильности развития, снижения углеродного следа и экономии невозобновляемых энергоресурсов. Часть обновлений связана с безопасностью, но мы не раскрываем эти данные на текущий момент.
Читать дальше →
Total votes 228: ↑214 and ↓14+253
Comments198

Система динамического разрушения стен в Radio Viscera

Reading time16 min
Views5.2K

В этой статье я расскажу о системе динамических разрушений, созданной для видеоигры Radio Viscera.

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


Рисунок 1. Базовые концепции, лежащие в основе системы
Total votes 23: ↑23 and ↓0+23
Comments1

Как я изучал структуры данных и алгоритмы для собеседования в FAANG

Reading time12 min
Views64K
Продолжая тему устройства в FAANG, которую уже мы поднимали в нашем блоге, и специально к старту нового потока нашего курса по алгоритмам сегодня делюсь описанием пути Эско Обонга, старшего инженера-программиста Uber.

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


Приятного чтения!
Total votes 46: ↑40 and ↓6+49
Comments71

Как «приручить» консоль, или 5 шагов к жизни с командной строкой

Reading time15 min
Views26K

Всем привет! Меня зовут Осип, я Android-разработчик в red_mad_robot и я люблю автоматизировать всё, что автоматизируется. В этом мне помогает консоль, поэтому решил поделиться опытом, как настроить командную оболочку так, чтобы в ней было приятно работать и она ежедневно помогала вам решать задачи.

Статья для тех, кто использует Linux или macOS. Если у вас Windows, вы можете использовать WSL (приравнивается к Ubuntu).

Читать далее
Total votes 23: ↑22 and ↓1+23
Comments33

Более 10 лет ставлю цели на год: рассказываю, как это делать эффективно

Reading time12 min
Views196K

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

Я полностью прошёл все стадии грехопадения: в студенческие годы искал сакральные ответы в стопках self-help макулатуры; затем разочаровался и решил, что весь этот «успешный успех» – это разводилово для дурачков (до сих пор уверен, что Наполеон Хилл – шизофреник); позже переосмыслил всё ещё раз и пришёл к своему пониманию того, как может выглядеть саморазвитие с адекватным лицом.

Читать далее
Total votes 78: ↑67 and ↓11+81
Comments223

«Harmony в отличном настроении». Интервью с создателем RealDoll и его секс-роботом (ВИДЕО)

Reading time2 min
Views30K
Он 20 лет изучал анатомию и материалы. Он постоянно оттачивал навыки художника. Он мечтал заставить двигаться и научить разговаривать кусок пластика. Он мечтал и действовал. И получил.

Ему в прямом смысле удалось преодолеть эффект «зловещей долины». Действительно: разве может милашка RealDoll кого-то напугать?



Сегодня речь пойдёт об авторе идеи, изобретателе и дизайнере секс-роботов RealDoll Мэтте МакМаллене. Именно он собрал команду Realbotix, которая сейчас продолжает совершенствовать их.

Работу над первыми прототипами Мэтт начал ещё в 1997 году в собственном гараже. В итоге за последние 20 лет этот мир так и не смог переплюнуть его достижение: RealDoll по сей день считаются самыми реалистичными куклами.
Читать дальше →
Total votes 26: ↑19 and ↓7+12
Comments44

Как секс-индустрия двигает робототехнику?

Reading time6 min
Views50K

Дэвид Леви считает, что через 30 лет секс и взаимоотношения с роботами станут нормой. Футуролог Ян Пирсон убежден, что к 2050 году роботы будут гораздо востребованнее людей в отношениях и в жизни. Нет смысла отрицать, что технологии оказывают все большее влияние на все сферы нашей жизни, включая секс. Ну или секс влияет на технологии?! В этом посте мы попробуем разобраться: какие технологии сейчас нам представляет секс-индустрия, и как она может повилять в дальнейшем на робототехнику?

Читать далее
Total votes 26: ↑25 and ↓1+34
Comments327

В браках станет больше общения, любви и внимания детям: как роботы для секса перевернут институт семьи

Reading time7 min
Views49K

Листал я тут давеча хаб роботехника и наткнулся на статью «Как секс-индустрия двигает робототехнику?». Так как мне не понравился уровень погружения в эту тему, я считаю своим долгом рассказать Хабру о том, откуда вообще взялись подобные идеи, и какая у них теоретическая база. Точкой отсчета можно считать вот эту книгу, а моя статья - её краткое изложение.

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

Читать далее
Total votes 64: ↑37 and ↓27+30
Comments687

Избавляемся от «мистических» строк в системе реактивного связывания на Unity

Reading time15 min
Views3.8K
Любая система, которая часто используется в проекте, со временем обречена на эволюцию. Так случилось и с нашей системой реактивного связывания reactive bindings.

Что это за система? Она позволяет нам связывать данные на префабе с данными в коде. У нас есть ViewModel, лежащая на префабе. В ней есть некие ключи с разными типами. Соответственно, вся остальная логика, которая у нас привязана к UI, привязана к этим ключам и их изменениям. То есть, если у нас есть некая логическая переменная, меняя ее в коде, мы можем менять любые состояния UI автоматически.



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

Росла частота использования системы — росло число подобных сложностей.

Два основных неудобства, с которыми мы столкнулись:

  • Строковые ключи в коде;
  • Нет проверки соответствия ключей в коде и ключей в модели.

Эта статья — о том, как мы дополнили систему и тем самым закрыли эти потребности.
Читать дальше →
Total votes 20: ↑19 and ↓1+21
Comments2

Реактивное программирование для разработчиков игр: Введение

Reading time9 min
Views12K

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

Не отвлекайтесь на котят. Читайте о реактивном программировании!

Итак, я привлек ваше внимание?

Отлично! Я приложу все силы, чтобы не потерять его.

Читать далее
Total votes 8: ↑7 and ↓1+8
Comments4

Анимация в KAPIA. «Лучше один день потерять, чтобы потом за пять минут долететь»

Reading time3 min
Views8.4K

Анимация в KAPIA


image

Добрый день! Меня зовут Павел. Я являюсь программистом и аниматором маленькой семейной команды по разработке игр. Я и моя жена делаем 3Д адвенчуру в постапокалиптическом мире. За время разработки мы изобрели свои технические “велосипеды” с которыми я хотел бы с вами поделится. Хочу начать с анимации и рассказать как мы ее делаем.

Уже много лет мы работаем в 3D пакете Softimage XSI. Хоть проект уже давно не поддерживается и закрыт, но мы до сих пор им пользуемся. Я думаю, что примерно такой же пайплайн возможно воспроизвести и в других пакетах. Поехали!

Риггинг


Total votes 33: ↑33 and ↓0+33
Comments10

Unity UIElements: первые впечатления в продакшн

Reading time8 min
Views10K

Сегодня мы поделимся впечатлениями от работы с нашумевшим фреймворком от Unity — UIToolkit, известным также как UIElements. Мы рассмотрим его основные особенности без глубокого погружения в код. Стоит уточнить, что у команды ранее не было опыта работы с веб-версткой и очевидные для профессионалов этой сферы вещи, для нас могут быть не очевидны.


image


Заметка от партнера IT-центра МАИ и организатора магистерской программы “VR/AR & AI” — компании PHYGITALISM.

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

Вычисления на видеокарте, руководство, лёгкий уровень

Reading time3 min
Views35K
Это руководство поясняет работу простейшей программы, производящей вычисления на GPU. Вот ссылка на проект Юнити этой программы:

ссылка на файл проекта .unitypackage

Она рисует фрактал Мандельброта.

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

Шейдер, который рисует фрактал, написан на языке HLSL. Ниже приведён его текст. Я кратко прокомментировал значимые строки, а развёрнутые объяснения будут ниже.
Читать дальше →
Total votes 34: ↑32 and ↓2+30
Comments12

A* pathfinding на C#: двоичные кучи и борьба с аллокациями

Reading time20 min
Views16K
Сегодня мы разбираем один из популярнейших алгоритмов поиска пути. Работать будем с двумерным массивом целочисленных координат.

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

Я был изумлен, когда поверхностный поиск не выдал мне ни одной качественной реализации алгоритма A* на C# без использования сторонних библиотек (это не значит, что их нет). А значит самое время размять пальцы!

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

Приступим!
Читать дальше →
Total votes 17: ↑17 and ↓0+17
Comments15

Async/await в Unity

Reading time7 min
Views46K
Салют, хабровчане. Совсем немного времени остается до старта курса «Разработчик игр на Unity», в связи с этим мы подготовили для вас еще один интересный перевод.




async в Unity уже и так работает без каких-либо плагинов или оборачивающих Task корутин, имитирующих асинхронное поведение проверяя завершение на каждом кадре. Но это все-равно своего рода магия. Давайте же немного углубимся в эту тему.

(Примечание: пока еще я не обладаю идеальным пониманием всех подкапотных тонкостей async/await в C#, по этому я буду стараться дополнять изложенное, по мере углубления моего понимания.)
Total votes 7: ↑6 and ↓1+5
Comments6

Unity + git = дружба: часть 1 джентльменский набор

Reading time8 min
Views45K
image
Система контроля версий git уже давно стала стандартом де-факто в мире разработки, но для большинства разработчиков на Unity не секрет, что существует ряд трудностей связанных с особенностями Unity, которые мешают эффективно использовать ее совместно с git.

Вот список типичных проблем:

  1. в репозиторий попадают ненужные файлы или наоборот не попадают нужные
  2. множество больших файлов раздувает размер репозитория
  3. проблема с мерджем yaml файлов Unity
  4. в репозиторий добавлен только сам файл или только meta
  5. в проекте присутствуют пустые папки
  6. сложность автоматической нумерации версий и билдов
  7. неудобство использования кода между несколькими проектами

О решение этих проблем, связанных с совместным использованием git и Unity, вы можете прочитать в моем цикле статей.

В этой статье будет описано решение первых трех проблем
Читать дальше →
Total votes 7: ↑7 and ↓0+7
Comments15

Как я создавал очередной конструктор сайтов

Reading time9 min
Views15K
Всем привет, меня зовут Саша. Я создаю свой конструктор сайтов. Я получил первых платящих пользователей. Все они преимущественно из США и Европы.

Я хочу поделиться историей своего пути, который включает кодинг, краудфандинг и продвижение.
Читать дальше →
Total votes 20: ↑15 and ↓5+18
Comments14

Блендинг и Unity Terrain: как избавиться от пересечений и перестать делать глазам больно

Reading time15 min
Views13K
Для того, чтобы получить реалистичный мир внутри игры, необходимо учитывать взаимодействие различных форм рельефа между собой и с другими моделями. И если видимые линии пересечения между 3D-моделями портят органичность изображения, стоит задуматься над тем, как их устранить. Самый распространенный случай таких линий, который может быть знаком многим, — пересечение билбордов частиц с непрозрачной геометрией.

image

Другой пример — нарушающие естественность композиции пересечения скал и растительности с поверхностью ландшафта в сценах «на открытом воздухе».

image

Помимо разнообразных методов сглаживания (SSAA, MSAA, CSAA, FXAA, NFAA, CMAA, DLAA, TAA и др.), которые пусть и смягчают вызывающий внешний вид таких линий пересечений, но не исправляют ситуацию в полной мере, существуют и более действенные приемы. Их мы и рассмотрим.
Читать дальше →
Total votes 35: ↑35 and ↓0+35
Comments10

Information

Rating
Does not participate
Location
Санкт-Петербург, Санкт-Петербург и область, Россия
Date of birth
Registered
Activity