Как стать автором
Обновить
3
0

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

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

Вычисляем миллиардное число Фибоначчи менее чем за 7 секунд

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

Мы будем считать 1000,000,000 число Фибоначчи со всеми цифрами. Для этого я буду использовать продвинутый алгоритм для поиска чисел Фибоначчи. Тут не будет базовых алгоритмов на подобии матричного возведения в степень и проще. Но эта статья будет понятна и школьнику :-)

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

Я больше не верю публичным датасетам

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

Когда я прочитал новость о том, что исследователи MIT обнаружили вплоть до 10% ошибок в разметке самых популярных датасетов для обучения нейросетей, то решил, что нужно рассказать и о нашем опыте работы с публичными датасетами.

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

Читать далее
Всего голосов 20: ↑19 и ↓1+26
Комментарии10

Магия CSS на практике: советы по вёрстке от гика. Часть 3

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


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


Сегодня мы рассмотрим:

  • подходы при стилизации элементов для вёрстки текста;
  • какая может быть проблема с радиокнопками в вашем проекте;
  • как задать размеры с использованием функций min() и max();
  • CSS-наследование и свойство line-height;
  • для чего делать подсказки в имени класса.

Давайте посмотрим, что я вам подготовил.

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

Тестирование NAND и eMMC

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

Когда я плотно занимался аппаратным тестированием, в рамках разработки embedded-устройств, часто бывало так, что инженеры-разработчики и я оказывались в условиях жесткого ограничения в выборе возможных компонентов NAND или eMMC. И в этой связи очень часто возникала необходимость дополнительных проверок каждого из компонентов на долговечность и качество работы. Очень часто приходилось проверять чипы-кандидаты на общий ресурс записи/чтения, скорости операций и т. п. И мне пришла идея, почему бы не поделиться своим опытом с другими специалистами, перед которыми стоят аналогичные задачи. Я хотел бы рассказать в данной статье, что такое Flash-память, почему они выходят из строя и как я организовал тестирование, как через тестирование минимизировать риски при выборе устройства хранения для разрабатываемого устройства. 

Всем, кому интересна данная тема — приглашаю под кат.

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

Сбалансированный рацион питания

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

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

получать все требуемые элементы в минимально необходимых нормах,

не превышать безопасные нормы элементов,

оптимизировать меню относительно некоторого показателя, например цены, или относительной «вкусности», или др.

Читать далее
Всего голосов 28: ↑27 и ↓1+32
Комментарии29

Кунг-фу спикера: словесные трюки, вербальная дрессировка и другие приемы речевой борьбы

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

Представим ситуацию: вас позвали на подкаст. Вы обсудили материал с ведущим, подготовили тему, пришли и вам буквально не дали сказать и пары слов.

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

Читать далее
Всего голосов 54: ↑50 и ↓4+57
Комментарии15

Подборка игр с низкоуровневым программированием

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

TL;DR

Игры от Zachtronics:

TIS-100, EXAPUNKS, SHENZHEN I/O

Про создание процессора от логических элементов и до написания кода на ассемблере: браузерная бесплатная nandgame.com, более продвинутая Turing complete.

Если Вам нравится какая-то игра из перечисленных - наверно, и остальные тоже подойдут. В каждую из них я наиграл по 30+ часов, получил кучу удовольствия и научился чему-то новому.

Подробности
Всего голосов 65: ↑64 и ↓1+77
Комментарии26

Чиним замедление YouTube на уровне роутера

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

Всех категорический приветствую. Буквально первого августа, прямо в ночь, стал у меня жутко лагать YouTube. Естественно, мне это сильно не понравилось. Ну, что же, давайте разбираться, почему и как это исправить в условиях моей личной сети.

Что случилось?

Хорошо описано произошедшее здесь, на Хабре. Если совсем кратко, своими словами - во время установки SSL соединения в открытом виде домен передается к которому мы подключаемся(так называемое SNI). И если это googlevideo.com то начинают твориться "интересные вещи". Можно проверить это локально коммандами из статьи.

$ curl https://speedtest.selectel.ru/100MB -o/dev/null

Читать далее
Всего голосов 335: ↑333 и ↓2+386
Комментарии835

Как организовать анализ большого объема данных в реальном времени

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

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

Меня зовут Николай Карлов. Я директор инновационных проектов в VK Tech. В этой статье я расскажу, что такое HTAP-системы, какие преимущества они предоставляют, и познакомлю с нашей колоночной СУБД Tarantool Column Store, которая реализует HTAP-обработку.

Статья подготовлена по мотивам вебинара «Анализируем данные в Real-time». Его вы можете посмотреть здесь.

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

Как безопасно авторизироваться в веб-сервисе через скомпрометированное устройство?

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

Поискав в интернете, побеседовав с ИИ, можно выделить bullet-proof технологию многофакторной авторизации. "Добавь TOTP и спи спокойно", говорят они. Но что, если у вас только одно устройство, и оно скомпрометировано? Например, вы едете в путешествие и берёте с собой только телефон. Можете ли вы доверять вашему телефону? Можете ли вы с него ввести пароль и с него же сгенерировать TOTP?

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

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

Читать далее
Всего голосов 6: ↑4 и ↓2+5
Комментарии24

Разгоняем C++ с кастомными аллокаторами

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

Привет, Хабр!

Сегодня мы обратим свой взор на производительность в C++, и как ни странно, нашими главными героями станут не библиотеки или сложные алгоритмы, а казалось бы, простые аллокаторы. Но не просто аллокаторы, а кастомные, которые могут заметно ускорить работу приложений.

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

Как фронтендер сертификацию PostgresPro сдавал

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

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

Я хочу поделится тем, каким образом я подготовился к сертификации. Какого рода вопросы были. Насколько сложно это было для человека, который о СУБД не знал ничего и пользовался БД на уровне элементарных запросов. И не большая часть моих размышлений на тему того на сколько это вообще нужно.

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

Думаете, вы всё знаете о box shadows?

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

Я люблю box-тени.

Четыре года назад я выяснил, что мой процессор M1 может рендерить безумное количество таких теней, поэтому решил извлечь из них максимум, и мне это удалось. Если вам интересно, как пользоваться box-тенями, чтобы создать современный стиль UX, то вы не по адресу. Но если вам нравятся творчество и эксперименты, то продолжайте чтение.

Я хочу поделиться худшими примерами того, что можно сделать при помощи box-теней в одном div. Примерами, которые не должны работать, однако почему-то работают. Но прежде чем приступить, нужно ответить на вопрос: что же такое box-тень?

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

Записки о спамерах – 2023: небинарность на службе «солидного» бизнеса

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

Рис. 1: часть спектра гендерной идентичности спамеров.

Я радуюсь, получая спам, ведь у меня появляется возможность пополнить бюджет любимой страны (откуда берутся деньги на пенсии, больницы, школы, домики для уточек, а теперь еще и на Counter-Strike, если вы понимаете о чем я). Каждое полученное от спамеров сообщение я аккуратно пересылаю в ФАС, давая той возможность пополнить бюджет уже не на жалкие 2-500 тысяч рублей штрафа, а вплоть до 1 миллиона, а потом наслаждаюсь материалами «расследований», проливающих свет на грязную подноготную «солидного бизнеса» и его небинарных подручных. Вранье, подтасовка документов и далее со всеми остановками – все как и в прошлом году, и ранее… и еще кое-что про протезы лапок у надзорных органов.
Читать дальше →
Всего голосов 94: ↑86 и ↓8+103
Комментарии43

«Ньютон» – мультитул для гитаристов. Часть 2

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

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

Если вы слышите о проекте впервые, то рекомендуем вам ознакомиться: первая статья.

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

Пишем за неделю 3D-редактор на C

Уровень сложностиСредний
Время на прочтение6 мин
Количество просмотров8.8K
Прошлой осенью я участвовал в недельном мероприятии по программированию Wheel Reinvention Jam. Смысл этого джема заключается в том, чтобы взглянуть по-новому на уже существующие программные системы. Я написал для него 3D-редактор под названием ShapeUp. Пост будет понятнее, если вы сначала посмотрите видео-демо ShapeUp. Можно попробовать ShapeUp в браузере.

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

Майк Вазовски!

3D-редактор


Я ненавижу тормознутость компилятора Typescript (поверьте, это относится к теме статьи). Джем показался мне подходящей возможностью реализовать более быстрое подмножество Typescript, обгоняющее по скорости tsc. Мне показалось, что проект можно реализовать, если начать с парсера Typescript esbuild or Bun. Но потом ко мне пришло понимание, что успешный результат будет выглядеть как команда терминала, выполняющая работу быстрее другой. Не особо впечатляюще в качестве демо. Мне хотелось создать крутое демо, поэтому я выбрал 3D.
Читать дальше →
Всего голосов 50: ↑45 и ↓5+60
Комментарии7

На меня трудится 1 000 работников, хотя они думают, что работают на себя

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

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

Читать далее
Всего голосов 211: ↑179 и ↓32+188
Комментарии278

Тысяча и одна библиотека С++

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

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

Столкнувшись много раз подряд с тем, что найти что-то толковое довольно непросто, я решил попробовать распутать это узел и предложить для русскоязычных читателей свой справочник классных библиотек на С++. Я исходил из этого источника. Это очень многогранный и объемный список библиотек языка С++, но, скажем так, у меня были к нему вопросы. Потому я сделал перевод, затем значительно улучшил его в плане содержания (далее объясню, как, почему и зачем). На выходе получилось около 1000 библиотек. Как в сказке). Они, конечно, не покрывают все возможные задачи и предметные области, но поверьте, они затрагивают действительно многое.

Прикоснуться к сокровищнице языка С++
Всего голосов 78: ↑77 и ↓1+88
Комментарии23

Недокументированные функции загрузки DLL. Стек вызовов LoadLibrary

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

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

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

Насколько быстр Javascript? Симулируем 20 миллионов частиц

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

Я бросил себе вызов: симулировать 1000000 (миллион) частиц на чистом Javascript на телефоне, используя только CPU и добившись 60 FPS.

Поехали.

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

Читать далее
Всего голосов 109: ↑108 и ↓1+133
Комментарии34
1
23 ...

Информация

В рейтинге
Не участвует
Откуда
Россия
Зарегистрирован
Активность