Pull to refresh
4
0
Константин Чураков @VertogPro

Будущий разработчик

Send message

Оцениваем сложность алгоритмов на C# по памяти и времени с примерами

Level of difficultyHard
Reading time10 min
Views4.5K

Продолжаем говорить о производительности и оптимизации кода. Сегодня поговорим о том, как и зачем оценивать сложность алгоритмов,  а также наглядно покажем, как эта сложность влияет на производительность кода.

Читать далее
Total votes 8: ↑6.5 and ↓1.5+5
Comments18

SSD killer

Level of difficultyEasy
Reading time3 min
Views38K

SSD killer — destroyer for your ssd

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

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

SSD killer
Total votes 53: ↑51.5 and ↓1.5+50
Comments264

Вы все еще пишете многопоточку на C++ с ошибками синхронизации?

Level of difficultyMedium
Reading time11 min
Views11K
Привет, коллеги! В этой статье я покажу свой подход к написанию многопоточного кода, который помогает избежать типовых ошибок, связанных с использованием базовых примитивов синхронизации.

Демонстрация идеи будет проходить на живых примерах кода на современном C++. Большинство описанных решений я применял сначала на собственных проектах, а теперь часть этих подходов уже используется в нашей собственной микроядерной операционной системе «Лаборатории Касперского» (KasperskyOS).

Сразу хочу оговориться, что тема многопоточности — очень большая и серьезная. И эта статья — не полноценный анализ проблем многопоточки, а только частНЫе (но довольно частЫе) кейсы, когда мы вынуждены использовать мьютексы.
Читать дальше →
Total votes 37: ↑36.5 and ↓0.5+36
Comments49

Генеративные 3D-модели

Level of difficultyMedium
Reading time15 min
Views2.2K

Салют, Хабр! На связи Игорь Пасечник — технический лид направления XR RnD SberDevices. Сегодня я хочу рассказать про одно из наших направлений исследований — разработку генеративных моделей для 3D-контента. 

Современные методы генерации 2D-контента, такие, как 2D-диффузионные модели (Kandinsky 3.0, SDXL), уже достигли впечатляющих результатов и несколько лет являются неотъемлемой частью современности, генеративные видео модели также активно развиваются. Кульминацией развития таких подходов, вероятно, станет представленная не так давно модель Sora. Тем не менее большинство из этих моделей до сих пор испытывают проблемы при генерации консистентных 3D-сцен и объектов.

С другой стороны стороны, существует конвенциональная 3D-графика, а также огромная индустрия и множество прикладных областей, включая игры, XR, дизайн, архитектуру, маркетинг, 3D-проектирование, где используются пайплайны на основе 3D-графики и производится контент на их основе. Методы создания 3D-моделей, такие, как ручное моделирование, 3D-сканирование и фотограмметрия, могут быть трудоёмкими, дорогостоящими и требующими специальных навыков. 3D-продакшн в общем виде использует множество инструментов для создания и рендеринга тяжелой фотореалистичной графики, адаптация генеративных 3D-пайплайнов под такие подходы достаточно тяжела из-за множества инструментов, которые такие пайплайны должны поддерживать. Также адаптация больших латентных генеративных 2D-моделей вроде SORA для прикладных задач фотореалистичной графики может стать альтернативой классическми пайплайнам на основе физического моделирования. Тем не менее, на текущий момент пайплайны работы с графикой, использующие базовый набор примитивов, включая меши, PBR-текстуры, простые модели освещения, закрывают множество прикладных задач и также могут быть востребованы у массового пользователя в случае их демократизации.

Читать далее
Total votes 17: ↑20.5 and ↓-3.5+24
Comments5

Развертываем peer-to-peer чат с голосом, видео, шарингом экрана, файлов и паролем

Level of difficultyMedium
Reading time7 min
Views8K

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

Что будет ниже:

Поиск open source решения для общения голосом, шаринга экрана, включения видео и чатов в режиме peer-to-peer, без лишних бекендов
Запуск этого решения в открытую в github pages
Заворачивание этого решения на приватный сервер
Простенькое закрытие доступа туды через basic http auth
Заключение с описанием некоторых замечаний и потенцевальных возможностей

Читать далее
Total votes 29: ↑28 and ↓1+27
Comments13

Теоретические основы всех популярных алгоритмов машинного обучения и их реализация с нуля на Python

Level of difficultyHard
Reading time1 min
Views21K

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

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

ИТ в РФ. Все по прежнему: не нужно. Итоги 1 квартала 2024, обзор текущей прессы и статей на Хабре

Level of difficultyHard
Reading time8 min
Views49K

За МКАДом зарплаты в несколько раз меньше, чем в ДС. Это правда. Но нужно учитывать, что у каждого жителя замкадья есть огород и приусадебное хозяйство. Жители замкадья питаются с огородов, выращивают птицу и скот. Поэтому деньги им нужны только на одежду и коммунальные платежи. А значит вполне справедливо было установить им меньшие зарплаты, чем в Столице, где приходится покупать в том числе и продукты питания.
Как я вижу, эта паста из как минимум 2018 года не утратила силы, только стала звучать короче – «Для замкадья ЗП озвученную ранее считаю нормальной».
Для лиги лени: HR копируют друг у друга статьи «вода жидкая» и «На рынке дефицит высококвалифицированных низкооплачиваемых кадров». Иных изменений нет.
Сама статья - низкокачественное нытье, можно не читать.

Читать далее
Total votes 129: ↑82.5 and ↓46.5+36
Comments174

Самое понятное объяснение Специальной теории относительности

Level of difficultyMedium
Reading time13 min
Views97K

Специальная теория относительности - удивительная теория, которая опровергла многие представления о мире, в которых человечество не сомневалось всю историю своего существования.

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

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

Для иллюстраций я написал интерактивный визуализатор СТО, работающий в браузере. Ссылка на него и исходники проекта в конце статьи.

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

Что почитать игровому программисту?

Level of difficultyEasy
Reading time6 min
Views24K

Объём специфичных знаний, которые требуются рядовому программисту игр, даже если он только начал свою карьеру, вызывает у меня «лёгкую» тоску. Это одна из причин, почему большая часть людей, которые «горят делать игры», отсеивается на этапе технических собеседований (обычно их больше одного). Это нормально и грустно. Добавьте сюда, что нефундаментальные знания, вроде инструментов, библиотек и движков, приходится обновлять где‑то раз в 5–7 лет. Не вижу тут, что игрострой сильно отличается от других областей разработки. Если бы лет 15 назад «добрый я» скинул на почту список книг, которые придется прочитать и осмыслить, армия собранных граблей не была бы столь большой и разнообразной, и без ручек половинной длины. Осторожно, в конце статьи будет супердлинная картинка (взята с github отсюда, с разрешения автора).

У программиста нет цели, только путь.
Total votes 60: ↑60 and ↓0+60
Comments36

Создаем свою STL-совместимую реализацию std::allocator с лучшей производительностью

Reading time11 min
Views4.3K

Реализация защиты от сбоев из-за фрагментации кучи и повышение скорости выполнения с помощью STL-альтернативы std::allocator, работающей с блоками памяти фиксированного размера.

В этой статье описывается реализация STL-совместимого аллокатора, ориентированного на выделение и высвобождение блоков памяти фиксированного размера. Предложенный аллокатор предотвращает сбои, вызванные фрагментированной кучей, и обеспечивает стабильное время выполнения выделения/высвобождения памяти. Моей главной целью при создании stl_allocator было устранение ошибок памяти. Вдобавок использование STL-совместимого блочного аллокатора открывает возможность использования функций стандартной библиотеки шаблонов (STL) C++ в проектах, в которых иначе это было бы невозможно.

Читать далее
Total votes 18: ↑14 and ↓4+10
Comments11

Дети лезут в сети: как обезопасить самых маленьких

Level of difficultyEasy
Reading time6 min
Views18K

Мои школьные годы пришлись на времена, когда всяческие наказания детей были если не нормой, то «пустяками, делом житейским». Обычно влетало за оценки и хулиганство, реже — за курение. И вот, в один из дней мы устроили в классе бойкот учителю по черчению и подписали созданную против него петицию (на секунду, повод был весомым: он пнул кошку и вышвырнул её за дверь). Через пару дней учителя заменили, а одна девочка с очень строгими родителями пришла в школу только спустя три дня. Оказалось, все эти дни она была заперта дома и много стояла в углу. Повод был сумасбродным: за то что оставила на петиции ФИО и подпись. С тех пор прошло почти 25 лет, и сегодня повод не кажется сумасбродным, а прозорливость отца девочки, учинившего наказание, впечатляет. 

День защиты персональных данных — время не только обсудить взрослые темы, но и поговорить о детях. Как-никак, это наши личные бреши в безопасности (причём не только кибер).

Читать далее
Total votes 52: ↑45 and ↓7+38
Comments100

15 когнитивных искажений

Reading time9 min
Views179K
Люди сталкиваются с большим объёмом информации, часть из которой достоверна, а часть освещает интересующую область односторонне, а иногда и сознательно искажённо.

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



Начнём с того, что люди не всегда мыслят рационально. Это данность, которая обусловлена принципами работы нашего интеллекта, выработанными в процессе эволюции. Условно, представим разум, разделённый на две Системы. Устройство разума не так однозначно, но описанное упрощение позволит понять причины искажений. Первая система генерирует решения и гипотезы быстро «если коснёмся горячего предмета, то отдёрнем руку». Вторая, принимает решения путём логических рассуждений. Первая Система генерирует гипотезы, а вторая принимает их или отвергает. Такой способ мышления медленный и энергозатратный. Логическое рассуждение используется людьми реже и требует больших усилий. Это причина большинства когнитивных искажений.

Так, галочка «по умолчанию согласен» позволила увеличить количество согласных на донорство до 86% в Швеции, тогда как в Дании, где при получении прав нужно самостоятельно ставить согласие, т. е. принимать осознанный выбор, количество согласных на донорство 4%.
Читать дальше →
Total votes 63: ↑62 and ↓1+61
Comments114

Как я победил хаос умных устройств, или Цифровая трансформация жилого пространства

Level of difficultyEasy
Reading time9 min
Views34K

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

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

Публикация локального сервера из дома в интернет

Level of difficultyEasy
Reading time10 min
Views38K

Приветики. Надеюсь, все отошли от новогодних, и можно писать и читать дальше. Как хозяин умного дома, я состою в чатике по Home Assistant, там прекрасное ответчивое комьюнити,
но периодически задаётся вопрос по тому, как собственно выставить свой веб сервис в интернет. И оказывается, что в двух словах тут не ответишь, а вменяемой инструкции на которую можно дать ссылку - нет. Так что теперь она будет здесь.

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

Мы рассмотрим здесь несколько сценариев - статический белый айпи, динамический белый айпи, и серый. Для серого рассмотрим варианты с готовыми сервисами, с помощью Keenetic и с помощью ssh туннеля. Погнали!

Читать далее
Total votes 66: ↑64 and ↓2+62
Comments95

Способы взаимодействия в Unreal Engine 5

Level of difficultyEasy
Reading time5 min
Views11K

В Unreal Engine 5, Блюпринты являются одним из основных инструментов для создания игровой логики без необходимости писать код на C++. Блюпринты позволяют разработчикам создавать, настраивать и контролировать многие аспекты игровых объектов и окружающей среды. Однако, чтобы полностью раскрыть потенциал блюпринтов, необходимо понять, как они могут взаимодействовать друг с другом.

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

Создаем блог на Django с опросами и тестами. Краткая инструкция. Часть 1

Reading time7 min
Views17K

Самый действенный способ изучить фреймворк — написать пет-проект. Например, свою социальную платформу на Django. Во время реализации можно попрактиковаться в работе с формами, представлениями, сигналами и SMTP.

В Proglib собрали небольшой шаблон, на базе которого можно создать свой блог на Django, а после — задеплоить на виртуальный сервер. Материал будет полезен новичкам, которые знакомы с базовыми концепциями фреймворка и хотят закрепить знания. Подробности под катом!
Читать дальше →
Total votes 52: ↑49 and ↓3+46
Comments7

Математика самонаводящихся ракет из аниме

Reading time4 min
Views18K

Я создал прототип ракетной атаки! Для этого понадобилась хитрая математика, о которой будет рассказано в этой статье.

Мы поговорим о кубических кривых Безье, шуме Перлина и rotation minimizing frames.
Читать дальше →
Total votes 77: ↑76 and ↓1+75
Comments11

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

Reading time10 min
Views53K

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

Читать далее
Total votes 97: ↑96 and ↓1+95
Comments26

From Zero to Hero: определите ваш уровень решения LeetCode задач от 1 до 5

Reading time8 min
Views56K

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

А какой у вас уровень?

Читать далее
Total votes 26: ↑21 and ↓5+16
Comments25

Созданы ли люди для конфликтов?

Reading time10 min
Views32K

Военный танец племени Оббо

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


А самые начитанные из нас могут вспомнить, как об этом отлично рассказывает знаменитая книга «Повелитель мух», выигравшая Нобелевскую премию и все возможные награды. Она была написана в 1954 году, вскоре после Второй мировой. О том, как на острове случайно оказываются шесть обычных благовоспитанных мальчиков, и, лишившись надзора со стороны общества, постепенно начинают бороться друг с другом за ресурсы и власть, в конце концов скатываясь до своих примитивных, животных инстинктов. Книга напоминает нам, как легко мы можем превратиться в дикарей, и насколько он на самом деле тонкий, этот налёт цивилизации.


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

Читать дальше →
Total votes 145: ↑139 and ↓6+133
Comments524
1
23 ...

Information

Rating
Does not participate
Location
Екатеринбург, Свердловская обл., Россия
Date of birth
Registered
Activity