Pull to refresh
12
0.2
AlexXYZ @AlexXYZ

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

Send message

Ехал handler через handler, или почему всё тормозит

Level of difficultyEasy
Reading time5 min
Views7.3K

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

К ленивой отладке
Total votes 25: ↑28 and ↓-3+31
Comments6

Вы думаете рисовать линии это просто?

Level of difficultyMedium
Reading time13 min
Views20K

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

Читать далее
Total votes 57: ↑61 and ↓-4+65
Comments36

NumPy для самых маленьких

Level of difficultyEasy
Reading time7 min
Views15K

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

Самая новичковая "библиотека" с примочками в виде SciPy и Matplotlib предназначена для работы с многомерными массивами. NumPy – основа для многих других библиотек для машинного обучения, таких как SciPy, Pandas, Scikit-learn и TensorFlow. 

Pandas, например, строится поверх NumPy и позволяет работать со структурами данных высокого уровня по типу DataFrame и Series. При помощи NumPy можно проводить преобразование категориальных данных в числовой формат, например, с использованием кодирования one-hot.

Читать далее
Total votes 20: ↑19 and ↓1+18
Comments2

100 вопросов для подготовки к собесу Python

Level of difficultyMedium
Reading time75 min
Views116K

Доброго времени суток!

Представляю подборку из 100 вопросов с собесов на позицию джуна Python-разработчика. На Хабре есть неплохие статьи на тему подготовки к собеседованию и всё в таком духе, но прямо набора вопросов/ответов на понимание Python в формате чек-листа не встречал.

Для кого статья?

Читать далее
Total votes 56: ↑53 and ↓3+50
Comments55

Директор директив. Расширяем функционал angular-компонентов красиво. Директива-контекст

Level of difficultyMedium
Reading time8 min
Views3K

Игнорируете кастомные директивы в Angular? Зря-зря, многое упускаете.

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

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

Stack Trace в C++ или велосипедирование, уровень «Быдлокод»

Reading time9 min
Views31K

DISCLAMER


Статья является шуточной, но с долей правды (программирование, же). Данная статья также содержит код, который может смертельно навредить вашему зрению. Читайте на ваш риск.

Вступление


Здравствуйте. Думаю многие сталкивались с неинформативностью большинства критических ошибок, вылетающих в программе. Давайте перечислим, какие ситуации могут приводить к аварийному завершению работы программы:
Читать дальше →
Total votes 18: ↑12 and ↓6+6
Comments19

Chromium. Отрисовка страницы с помощью Blink, CC и планировщика

Reading time10 min
Views1.5K

Движок Chromium от компании Google состоит из огромного числа внутренних механизмов, подсистем и других движков. В этой статье мы погрузимся в процесса компоновки и вывода Web-страницы непосредственно на экран. А так же, чуть ближе познакомимся с движком Blink, композитором (или, как его еще называют, сопоставитель контента) и планировщиком задач.

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

Учимся читать новости правильно (на примере космонавтики)

Level of difficultyHard
Reading time4 min
Views5.8K

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

Перед дальнейшим чтением напоминаю:

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

Читать далее
Total votes 60: ↑32 and ↓28+4
Comments25

Итак, вы думаете, что знаете Git? Часть третья: реально большие репозитории

Level of difficultyEasy
Reading time7 min
Views19K


Автор оригинала Скотт Чакон — сооснователь GitHub и основатель нового клиента GitButler. Этот клиент ставит во главу угла рабочий процесс и удобство разработки, в том числе код-ревью, и не является просто очередной обёрткой над CLI git.

Вам хочется использовать ванильный Git, чтобы управлять репозиторием с объёмом 300 ГБ в 3,5 млн файлов, которые без проблем получают пуш каждые 20 секунд от 4000 разработчиков? Тогда читайте дальше!


Вот агенда блога — наша блогенда:


Читать дальше →
Total votes 40: ↑38 and ↓2+36
Comments30

Оффлайновое использование Git

Level of difficultyEasy
Reading time6 min
Views12K

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

Система контроля версий Git вполне благополучно работает без удалённого репозитория. Такова её природа. При таком подходе можно создавать ветви репозитория, можно индексировать файлы и коммитить их в репозиторий. Всё выглядит так же, как и при обычной работе.

Читать далее
Total votes 40: ↑38 and ↓2+36
Comments17

Реверс-инжиниринг программ DOS как в старом добром 1990-м

Level of difficultyMedium
Reading time5 min
Views7.2K
На видео выше я записал наглядную реализацию процесса, описанного в разделе «Сборка и установка».

Эта статья посвящена запуску SoftICE, популярного отладчика для DOS и Windows, в эмулированной среде MS-DOS, а также обходу недостатка Bochs, эмулятора IA-32 (x86) PC.
Весь процесс выполнялся из-под Linux. Не знаю, получится ли проделать то же самое в MacOS, не говоря уже о Windows.
Читать дальше →
Total votes 61: ↑60 and ↓1+59
Comments11

Найм и HR 2024 — чего нового

Reading time11 min
Views9.1K

Я инженер на сотню рублей,
И больше я не получу.
Мне двадцать пять,
И я до сих пор не знаю, чего хочу.

(На хабре же положено маркировать что автор текста — шпион и агент польский, японский, и иностранный? Или хабр не про политику и можно не маркировать?)

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

Для Лиги лени: несмотря на все заявления про срочный переход на Open[stack | nebula | Office ] – движения на рынке труда нет, рынок найма ждет направляющих пинков от государства.

Читать далее
Total votes 36: ↑26 and ↓10+16
Comments16

Наш опыт мультиаутентификации в приложениях ASP.NET Core

Level of difficultyMedium
Reading time6 min
Views5.7K

Привет, Хабр! На связи разработчик АО АльфаСтрахование. В этой статье я хочу рассказать о мультиаутентификации в ASP.NET Core приложениях.

Нам довольно часто нужно писать .NET Core приложения. Нередко они используются для интеграции крупных систем. А в этих системах частенько свой собственный набор учетных записей (далее УЗ) и инструментов по управлению доступа к ним.

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

Читать далее
Total votes 5: ↑4 and ↓1+3
Comments3

10 «золотых» советов авторам любых текстов

Level of difficultyEasy
Reading time6 min
Views11K

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

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

Создание шейдеров

Reading time27 min
Views188K
Освоить создание графических шейдеров — это значит взять под свой контроль всю мощь видепроцессора с его тысячами параллельно работающих ядер. При таком способе программирования требуется другой образ мышления, но раскрытие его потенциала стоит потраченных усилий.

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


Сцена из Minecraft, до и после добавления нескольких шейдеров.

Задача этого туториала


Иногда программирование шейдеров представляется загадочной чёрной магией и его часто понимают неправильно. Существует множество примеров кода, демонстрирующих создание невероятных эффектов, но в которых практически нет объяснений. В своём руководстве я хочу восполнить этот пробел. Я сосредоточусь в основном на базовых принципах создания и понимания кода шейдеров, чтобы вы смогли с лёгкостью настраивать, сочетать или писать свои собственные шейдеры с нуля!
Total votes 105: ↑105 and ↓0+105
Comments27

Алгоритм быстрого и простого объёмного рендеринга

Reading time9 min
Views14K

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

У моего ShaderToy были три основные задачи:

  1. Выполнение в реальном времени
  2. Простота
  3. Физическая корректность (… или типа того)

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

  1. Трассировка лучей непрозрачных объектов. Все объекты являются примитивами с простыми пересечениями с лучами (1 плоскость и 3 сферы)
  2. Для вычисления освещения используется затенение по Фонгу, а в трёх сферических источниках света применется настраиваемый коэффициент затухания света. Лучи теней не требуются, потому что мы освещаем только плоскость.

Вот как это выглядит:

ShaderToy screenshot
Читать дальше →
Total votes 52: ↑52 and ↓0+52
Comments6

Процедурные складки на одежде для мультфильма на основе Geometry Nodes

Reading time6 min
Views4.1K

Привет, Хабр! Я Михаил Солуянов, ведущий разработчик в МТС Авто — занимаюсь генерацией синтетических изображений для обучения нейросетей. В рабочее время я Unity-разработчик, а в свободное — инди-аниматор мультфильмов. Сегодня расскажу о том, как сделать складки на одежде без симуляции ткани в Blender.

В 2020 году я сделал мультфильм «Мышиный Новый год» (ru, en), который попал на фестиваль Giffoni-50 — один из самых крутых фестивалей, специализирующихся на детской анимации. В мультфильме у меня были герои — антропоморфные мыши в миниатюрных одеждах. И мне захотелось добавить им складки на одежде, которые правдоподобно реагировали бы на их движения. Расскажу о том, как использовал Tension Map и почему перешёл в итоге на Geometry Nodes. Поехали!

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

Автоматизируем все с помощью Python: 10 процессов, которые можно сделать лучше

Level of difficultyEasy
Reading time9 min
Views47K

Перевод и адаптация статьи Analytics Vidhya выполнены ProductStar специально для Хабра

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

Читать далее
Total votes 23: ↑9 and ↓14-5
Comments6

Советские игровые автоматы — ностальгический гейминг с запахом резины. Часть 1: как родился «Морской бой»?

Level of difficultyEasy
Reading time7 min
Views12K

Многие миллениалы, не говоря уже о более старших поколениях, впервые познакомились с играми на экране либо посредством «Ну, погоди!» и других устройств «Электроники», либо на аркадных игровых автоматах. Уже в 90-е они повсеместно ушли в историю, но для советских детей 70-х и особенно 80-х годов они были отлично знакомым, популярным и местами даже культовым развлечением. Вспомним о том, какими были советские игровые автоматы — а заодно разберёмся, как они вообще возникли.
Читать дальше →
Total votes 61: ↑59 and ↓2+57
Comments66

Делаем addon для Blender

Level of difficultyMedium
Reading time8 min
Views4K

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

А что делать, если руками никак, а нужного функционала нет? Написать свой аддон!

Читать далее
Total votes 11: ↑11 and ↓0+11
Comments11
1
23 ...

Information

Rating
2,249-th
Location
Россия
Date of birth
Registered
Activity