Как стать автором
Обновить
2
0
Руслан Хужин @ramilsson

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

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

Система типов — лучший друг программиста

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

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

Значение в string не лучший тип для записи адреса электронной почты или страны проживания пользователя. Эти значения заслуживают гораздо более богатых и специализированных типов. Мне нужно, чтобы существовал тип данных EmailAddress, который не может быть null. Мне нужна единая точка входа для создания нового объекта этого типа. Он должен валидироваться и нормализироваться перед возвратом нового значения. Мне нужно, чтобы этот тип данных имел полезные методы наподобие .Domain() или .NonAliasValue(), которые бы возвращали для введённого foo+bar@gmail.com значения gmail.com и foo@gmail.com. Эта полезная функциональность должна быть встроена в эти типы. Это обеспечивает безопасность, помогает предотвращать баги и существенно повышает удобство поддержки.
Читать дальше →
Всего голосов 102: ↑100 и ↓2+116
Комментарии90

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

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


Примерно год назад наша команда разработчиков Wix внезапно осознала, что мы слишком часто не даём пользователям ответы на эти вопросы. Когда мы это поняли, то начали действовать быстро и решать проблему не только с тем сообщением, которое заставило нас задуматься.

Так начался Errorgate 2021.

Всего за месяц мы изменили тысячи сообщений об ошибках в Wix.

Чтобы выполнить этот проект, нам сначала нужно было определиться с тем, что же считать плохим сообщением об ошибке, а что хорошим.
Читать дальше →
Всего голосов 15: ↑15 и ↓0+15
Комментарии5

Моделируем 3D-персонажа для игры при помощи Midjourney

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

На примере любопытного небольшого прототипа я захотел проверить, сколько труда потребуется при использовании ИИ для создания максимально возможного количества графики 2,5D-игры в жанре point and click.

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

Мне показалось, что лучше всего будет сгенерировать концепты персонажей при помощи ИИ, а затем смоделировать их в 3D.

Я работаю в игровой индустрии уже более двадцати лет, и в основном занимаюсь моделированием персонажей и фонов. Поэтому будет интересно проверить, позволит ли ИИ мне работать быстрее. И насколько?
Читать дальше →
Всего голосов 43: ↑43 и ↓0+43
Комментарии16

Интересное из мира Unity #3 (10.02.23 — 16.02.23)

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

Всем привет! Меня зовут Григорий Дядиченко, и я технический продюсер. Модель персонажа с помощью ИИ, математика для игровых разработчиков, как сделать красивую шерсть на URP и многое другое в сегодняшнем дайджесте. Если вам интересна Unity разработка, добро пожаловать под кат.

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

Эксперт по продуктивности делает с ChatGPT всякое. Ошибки и возможности использования нейросети

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

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

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

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

Код на React и TypeScript, который работает быстро. Доклад Яндекса

Время на прочтение16 мин
Количество просмотров28K
Евангелисты Svelte и других библиотек любят показывать примеры тормозящих компонентов на React. React и TypeScript дают много возможностей создавать медленный код. После доклада Виктора victor-homyakov вы сможете писать более производительные компоненты без усложнения кода.

— Здравствуйте, меня зовут Виктор, я один из разработчиков страницы поиска Яндекса. На ней каждый день сотни миллионов пользователей вводят свои запросы, получают страницу со ссылками или сразу с правильными ответами. Из-за такого количества запросов нам очень важно, чтобы наш код работал оптимально. И, конечно, я сразу должен затронуть тему преждевременной оптимизации кода.
Читать дальше →
Всего голосов 20: ↑19 и ↓1+23
Комментарии30

Зачем современную веб-разработку так усложнили? Часть 1

Время на прочтение7 мин
Количество просмотров72K
Современная фронтенд-разработка оставляет полярные впечатления: одни её любят, другие презирают.

Я большая поклонница современной веб-разработки, хотя она мне напоминает некую «магию», со своими плюсами и минусами:

  • Когда вы поймёте, как использовать волшебные инструменты (babel! бандлеры! вотчеры! и так далее!), ваш рабочий процесс становится быстрым, мощным и восхитительным
  • Если вы не понимаете волшебные инструменты, всё ужасно запутанно
  • …и попытки освоить магию слишком часто неудачны, если вам кто-нибудь не поможет продраться через джунгли жаргона, преувеличений и устаревшей информации в интернете
Читать дальше →
Всего голосов 107: ↑101 и ↓6+95
Комментарии320

Топ-5 когнитивных искажений при планировании в IT

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

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

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

Читать далее
Всего голосов 75: ↑74 и ↓1+95
Комментарии44

Воспитай свой второй мозг. Увеличь продуктивность

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

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

Хотели бы вы иметь второй мозг? Мозг, способный запомнить всё. Мозг, в котором содержится вся полезная информация из книг, статей, видео, полученная вами?

Звучит прекрасно, не так ли? Может, когда‑то и казалось сказками, однако не сейчас.

Хочу всё знать!
Всего голосов 62: ↑55 и ↓7+56
Комментарии111

Простейшая нейросеть: еще раз и подробнее

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

Машинное обучение это незаменимый инструмент для решения задач, которые легко решаются людьми, но не классическими программами. Ребенок легко поймет, что перед ним буква А, а не Д, однако программы без помощи машинного обучения справляются с этим весьма средне. И едва ли вообще справляются при минимальных помехах. Нейросети же уже сейчас решают многие задачи (включая эту) намного лучше людей. Их способность обучаться на примерах и выдавать верный результат поистине очаровывает, однако за ней лежит простая математика. Рассмотрим это на примере простого перцептрона.
Данная статья представляет собой пересказ-конспект первой части книги Тарика Рашида "Создай свою нейросеть" для тех, кто начал изучать тему, не понял отдельные детали или с трудом охватывает общую картину.

Читать далее
Всего голосов 84: ↑83 и ↓1+95
Комментарии27

Git scraping: методика бесплатного хостинга не совсем статических сайтов

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

Ни для кого не секрет, что, используя GitHub Pages, вы можете бесплатно разместить свой статический веб-сайт в сети Интернет. 1 Гбайт доступного пространства, SSL-сертификат, возможность привязать собственный домен — разве не сказка? Но что делать, если вам необходимо, чтобы содержимое вашего статического ресурса периодически обновлялось? Допустим, несколько раз в час.

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

Читать далее
Всего голосов 27: ↑26 и ↓1+31
Комментарии5

В очередь, ...! Как управлять состоянием системы через события

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

Существует множество разных подходов к построению архитектуры серверных приложений. В данной статье рассмотрим Event-driven архитектуру (она же событийно-ориентированная). Рассмотрим основные принципы, как перейти от связей Компонент А <-> Компонент В, к связям через события Компонент А -> Событие А -> Компонент Б и зачем это нужно?

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

Как быстро растут сети: прогресс Midjourney спустя полгода

Время на прочтение11 мин
Количество просмотров61K
Запрос stars world time 27 июня и спустя полгода.

«100500-ый текст про Midjourney», — подумал сейчас кто-то. Справедливости ради, шумиха вокруг нейросети немного поутихла, а работа над Midjourney — нет. Сейчас доступна четвертая версия генератора картинок, и если вы еще его не тестировали — самое время.

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

Если и это вам бесполезно, то под катом много красивых и смешных картинок — котов и «горячих собак».
Читать дальше →
Всего голосов 117: ↑115 и ↓2+144
Комментарии68

Как уронить космическую станцию

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

Когда "Наука" креативно избавлялась от остатков топлива, разворачивая МКС вокруг своей оси, мне стало любопытно: если расположение случайно включившегося двигателя было бы максимально неудачным, сколько потребовалось бы времени, топлива и тяги, чтобы свести станцию с орбиты?

Сегодня в выпуске: читаем с выражением первую страницу учебника по орбитальной механике, выясняем где у Солнца его смертельные лазеры, вспоминаем осень 2003, пишем отвратительно медленный код (из-за чего пьем много чая), пытаемся уронить МКС и Lunar Gateway.

Нажмите чтобы нырнуть в атмосферу
Всего голосов 114: ↑112 и ↓2+156
Комментарии65

150 книг для тех, кто делает игры

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

С Новым Годом уважаемые читатели! Как можно понять из заголовка я собрал для вас 150 книг (и несколько полезных ссылок) из областей разработки игр, геймдизайна, нарративного дизайна и прочих смежных дисциплин геймдева. Из подборки получилась целая библиотека, которую я собираюсь постоянно обновлять и добавлять в нее новые книги. Поэтому, если вы ищите что почитать, то заходите и добавляйте в закладки! 

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

Принципы SOLID коротко и простым языком (на JS)

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

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

Читать далее
Всего голосов 18: ↑7 и ↓11-1
Комментарии23

Как сделать билд минимального размера в Unity?

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

Всех с Новым Годом! Меня зовут Григорий Дядиченко, и я технический продюсер. Размер билда. Сегодня хотелось бы поговорить о нём и составить некий чек-лист, который полезно проходить перед выкладкой проекта. Если вам интересно, как можно инструментами Unity уменьшить вес сборки — добро пожаловать под кат!

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

Несколько советов по работе с CORS для начинающих разработчиков

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

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

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

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

Как зануды предсказывают результаты футбольных матчей

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

Завтра финал Чемпионата мира по футболу. Самое время для рассказа о футбольных прогнозах.

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

Такой день наступил и в моей жизни. И пусть я больше интересуюсь спортивным "Что? Где? Когда?", футбол - это классно. И это классно и с точки зрения прогнозов - и много данных, и много инересующихся, кому можно показать результаты. Давайте попробуем!

И раз за дело взялись зануды, будет много теорий, ещё больше таблиц и графиков.

Готовы? Вперёд!
Всего голосов 12: ↑12 и ↓0+12
Комментарии28

Лучшие в мире батарейки

Время на прочтение2 мин
Количество просмотров54K
Многие удивятся тому, что самые ёмкие в мире щелочные батарейки называются не Duracell, Energizer и Varta, а «Два оленя» — Pairdeer.

Хоть эти батарейки не продаются в России, я их добыл и протестировал.

Читать дальше →
Всего голосов 106: ↑104 и ↓2+126
Комментарии72

Информация

В рейтинге
Не участвует
Откуда
Уфа, Башкортостан(Башкирия), Россия
Дата рождения
Зарегистрирован
Активность

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

Web Developer
JavaScript
TypeScript
Node.js
React
HTML
CSS