Как стать автором
Обновить
0
@DFoozread⁠-⁠only

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

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

Как сайты обнаруживают ботов по TLS

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

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

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

10 разных махагони: исследуем акустические свойства древесины, часть 1

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

«Дерево не влияет на звук струнного инструмента с электромагнитным датчиком и последующей аналоговой и/или цифровой обработкой сигнала.» Проще говоря, электрогитары. Динамическая головка (громкоговоритель), её акустическое оформление (кабинет), микрофон с его расположением, (или их импульс), усилитель, датчики, — всё это влияет. А материал, из которого изготовлена несущая струны конструкция, будто бы нет. Ведь она немагнитная, а на электромагнитный звукосниматель воздействуют только ферромагнитные струны. И в это многие верят, в том числе музыканты. Истина или заблуждение?

Начнём серию экспериментов с деревом, струнами, звуковыми колебаниями и их отображением в электрической форме. Послушаем сами, посмотрим, что покажут приборы.
И сможем сделать собственные выводы.
Всего голосов 37: ↑34 и ↓3+55
Комментарии123

React vs Vue vs Angular. Часть 3

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

Управление глобальным состоянием

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

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

12 лучших инструментов аннотирования изображений на 2023 год

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

С развитием сферы искусственного интеллекта (AI) увеличивается и спрос на высококачественные инструменты аннотирования изображений. Аннотирование изображений — это процесс добавления в изображения метаданных, например, меток или тэгов, чтобы их было проще распознавать и выполнять по ним поиск машинам. Этот процесс критически важен для обучения моделей ИИ, чтобы они могли точно распознавать и классифицировать изображения.

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

В этой статье мы обсудим критерии, использованные для оценки этих инструментов, их плюсы и минусы, а также сравним их между собой. Также мы приведём отзывы и рейтинги пользователей, варианты цен и тарифов и информацию об интеграции с другим ПО и платформами.
Читать дальше →
Рейтинг0
Комментарии0

Реализация консенсусного алгоритма Raft

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

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

Когда речь идет о распределенных системах и сетевых приложениях, консенсусный алгоритм становится must have. Эти алгоритмы играют ключевую роль в обеспечении надежности, согласованности и целостности данных в условиях, когда у нас есть несколько участников (узлов), работающих в сети. Например, множество современных распределенных баз данных, файловых систем и кластеров используют консенсусные алгоритмы для координации операций между разными узлами.

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

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

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

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

Легендарный Brown Sound на полевых транзисторах

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

Привет, Хабр! Brown Sound — это специфическое звучание электрогитары, ставшее визитной карточкой Эдди Ван Халена. Повторить уникальный звук великого гитариста пытались и пытаются многие. У каждого получается что-то своё.

Сегодня мы соберём и послушаем один из вариантов «дисторшна по ван-халеновски», используя интересную схему на полевых транзисторах с управляющим переходом (JFET).
А также поговорим об истории электрогитары.
Всего голосов 30: ↑29 и ↓1+43
Комментарии5

WebSocket. Краткий экскурс в пентест ping-pong протокола

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

"Краткость - сестра таланта" - именно так сказал Антон Павлович Чехов, и теперь говорю я. Сегодня, завтра и до конца дней habr-а речь пойдет о WebSocket-ах: "Что это?", "Как работает?" и главное - "Как это взламывать?" (в целях этичного хакинга конечно). Начнем с простого и будем идти к более сложному, пробираясь через тернии к звёздам.

Приятного чтения
Всего голосов 19: ↑19 и ↓0+19
Комментарии0

Strace

Время на прочтение7 мин
Количество просмотров123K
В течение минуты думал над заголовком, так ничего и не придумал…
Strace. Наверное нет того человека, который бы не слышал про strace. Если кто не слышал, то strace — это утилита, отслеживающая системные вызовы, которые представляют собой механизм трансляции, обеспечивающий интерфейс между процессом и операционной системой (ядром). Эти вызовы могут быть перехвачены и прочитаны. Это позволяет лучше понять, что процесс пытается сделать в заданное время. Перехватывая эти вызовы, мы можем добиться лучшего понимания поведения процессов, особенно если что-то идет не так. Функциональность операционной системы, позволяющая отслеживать системные вызовы, называется ptrace. Strace вызывает ptrace и читает данные о поведении процесса, возвращая отчет. Детали можно прочитать в вики или официальном man. Собственно вот, ну и речь конечно же о Linux. В других ОС свои аналоги.
Так вот, лично для меня strace это как последняя инстанция. Когда уже все логи просмотрены, все debug и verbose ключи включены, а причина проблем так и не обнаружена, я достаю из широких штанин запускаю strace. Есть одно но, strace это такой инструмент который вовсе не является серебряной пулей, которая тут же все покажет и расскажет. Для работы с strace требуется наличие определенных знаний и чем шире и глубже эти знания тем больше вероятность обнаружения проблемы.
В интернетах полно вводных статей, где описываются примеры запуска strace. Я же в этой статье покажу частные проблемы и их решение с помощью strace.
Читать дальше →
Всего голосов 97: ↑91 и ↓6+85
Комментарии33

Вышла Java 21

Уровень сложностиСредний
Время на прочтение18 мин
Количество просмотров65K
Вышла общедоступная версия Java 21. В этот релиз попало около 2500 закрытых задач и 15 JEP'ов. Release Notes можно посмотреть здесь. Изменения API – здесь.

Java 21 является LTS-релизом, а значит у него будут выходить обновления как минимум 5 лет с момента выхода.
Читать дальше →
Всего голосов 74: ↑74 и ↓0+74
Комментарии49

Что нужно знать о применении шрифтов

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

Одна из самых частых проблем при миграции информационных систем на ОС Astra Linux — это искажение документов, ранее созданных на ОС Windows в MS Office и других программных средствах. В лучшем случае «слетает» вёрстка, в худшем — всё превращается в текст из нечитаемых символов, известных в народе как кракозябры.

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

Читать статью
Всего голосов 20: ↑17 и ↓3+18
Комментарии8

Собственный строковый тип на Rust

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

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

pub enum Expr<'src> {
  Int(u32)
  Ident(&'src str),
  // ...
}

Когда мы парсим идентификатор, то вместо копирования его названия в новую String мы заимствуем его из входной исходной строки. Это позволяет избежать дополнительных распределений, дополнительного копирования и экономит слово на представлении данных. Компиляторы могут быть очень требовательны к памяти, поэтому стоит выбирать краткое представление.
Читать дальше →
Всего голосов 48: ↑47 и ↓1+63
Комментарии6

Реверс-инжиниринг промптов for fun and (no) profit

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

Этот материал посвящён взлому промптов Notion AI, семи методикам реверс‑инжиниринга промптов и рассказу о том, почему все ошибаются в своих мнениях о промпт‑инъекциях (prompt injection).

Вчера я получил доступ к публичной альфа‑версии Notion AI. У меня ушло 2 часа на то, чтобы, пользуясь промпт‑инъекциями, раздобыть полные тексты внутренних промптов, применяемых для реализации каждой из возможностей Notion AI.

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

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

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

Что нового в плане мониторинга в PostgreSQL (Алексей Лесовский)

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


Доклад Алексея Лесовского про то, что нового есть в PostgreSQL в плане мониторинга.


Охватывать Алексей будет 13 и 14 версии. Далее от его лица.

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

Геопространственная DuckDB

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

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

Моя роль заключается в управлении платформой данных, которая содержит 30 миллиардов записей примерно из 70 источников информации. Эти данные используются инженерами, разрабатывающими оптимальные планы развертывания оптоволоконной сети с помощью LocalSolver. Далее приведен пример одного из таких планов.

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

Ты не видишь капчу, а она есть: как мы разрабатывали сервис Yandex SmartCaptcha для людей и бизнеса

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

Меня зовут Алексей Тощаков, я руковожу службой антифрода в Яндексе. Моя команда использует алгоритмы и данные для защиты наших сервисов и пользователей от фрода. Один из сервисов, которые мы разрабатываем — SmartCaptcha в Yandex Cloud.

В 2021 году мы уже рассказывали на Хабре про то, как изменялась и совершенствовалась наша внутренняя капча. После публикации статьи к нам стали обращаться владельцы сайтов с вопросами о том, как можно наш инструмент использовать у них. Это стало для нас сигналом, что пора взяться за разработку сервиса Yandex SmartCaptcha для внешних клиентов. Казалось бы, весь код уже написан, так что нужно только оформить лендинг и подключить биллинг. В реальности вышло сложнее — нам пришлось провести рефакторинг кода и многое изменить. Сейчас расскажу подробнее о том, что получилось в итоге.

Читать дальше
Всего голосов 45: ↑34 и ↓11+37
Комментарии101

Вопросы на собеседовании для программистов компьютерной графики

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

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

Недавно я видел в твиттере довольно много дискуссий о хороших и плохих вопросах на интервью. Некоторые из этих вопросов выглядят полезными.

В основном, наиболее интересные из них выглядят открытыми. Они могут привести к весьма большим и разветвленным обсуждениям или даже не имеют «‎верного» ответа. В конце концов, вам, скорее, нужно не узнать ответ (он всё равно будет 42), а увидеть процесс решения проблемы и/или оценить общие знания и понять собеседуемого.

Ниже я приведу примеры, которые я использовал несколько раз, и они ориентированы на программистов графики с некоторым количеством опыта.

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

Анализ STL моделей с использованием Python

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

В программных продуктах для работы с STL, таких как Geomatix Design X, Wrap, NX и др., функционал обязательно включает сегментацию STL модели на отдельные грани. В свободно распространяемом ПО, однако, инструменты для сегментации зачастую отсутствуют. В данной статье хочу рассказать о реализованном мной на Python алгоритме разбиения STL на отдельные грани.

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

Какие кабели можно встретить в стойке дата-центра?

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

Приступая к работе в ЦОД, можно легко запутаться в различных типах кабелей, которые используются для соединения и подключения сетевых устройств и серверов. Некоторые из них распространены и в повседневной жизни, а потому хорошо узнаваемы – Ethernet-кабели (с коннекторами RJ-45) и кабели питания (например, с распространенными вилками C13). Но другие, такие как оптические кабели с коннекторами стандарта SFP, LC, SC, силовые с вилкой типа IEC-309 и т. д., известны не так широко.

Если вы проводите какие-либо работы непосредственно в стойке, любая ошибка может стоить дорого – нажата не та кнопка, и клиенты уже в дауне, а любимые и глубоко уважаемые специалисты техподдержки шлют вам тикеты счастья. Даже Uptime Institute в своем исследовании 2021 года отмечает, что в 79% случаев причиной падения серверов в ЦОДах является человеческий фактор.  Всё надо делать вовремя – и нажимать кнопки, и менять комплектующие, и переключать кабели… 

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

Этот материал как раз об этом. 

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

Читать далее
Всего голосов 30: ↑28 и ↓2+36
Комментарии26

В этой одежде системы распознавания будут считать вас животным

Время на прочтение4 мин
Количество просмотров45K
У Рэйчел Дидеро интересный набор навыков: несколько степеней в области дизайна одежды (полученные в школах трех разных стран) и докторская степень в области машинного обучения Миланского политехнического университета.

Эти знания позволили ей выпустить коллекцию — довольно уродливой — одежды Manifesto. Она страшная и безвкусная, зато в ней вы становитесь нераспознаваемые для ML-алгоритма детектирования Yolo, активно используемого для работы с уличными камерами.



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

Читать дальше →
Всего голосов 54: ↑52 и ↓2+74
Комментарии254

Приручение черного дракона. Этичный хакинг с Kali Linux. Часть 6. Пост-эксплуатация. Способы повышения привилегий

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

Приветствую тебя, дорогой читатель, в шестой части серии статей «Приручение черного дракона. Этичный хакинг с Kali Linux».

В прошлой статье мы рассмотрели основные методы эксплуатации уязвимостей в Linux и Windows системах при помощи модулей фреймворка Metasploit. Поговорили о таких вещах как типы полезной нагрузки, кодирование полезной нагрузки, а так же рассмотрели варианты соединения bind и reverse сессий. Однако, получение доступа к целевой системе, это лишь начальный этап проникновения, за которым следует постэксплуатация. С учетом обширности данной темы, мы разобьем ее на несколько частей. В этот раз мы поговорим о способах повышения привилегий в скомпрометированной системе на примере Linux. Так что, дорогой читатель, заваривай чайку покрепче, усаживайся поудобнее в кресло и мы начнем.

По сути, вся эта тема с повышением привилегий в Linux/Unix системах (все же, большая часть сервисов в Enterprise работает именно на Linux/Unix подобных системах. Пользовательский сегмент не берем в расчет), держится на двух основных способах:

1) Использование уязвимостей компонентов самой системы (например, ее ядра)

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

Информация

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