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

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

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

Автономный способ обхода DPI и эффективный способ обхода блокировок сайтов по IP-адресу

Время на прочтение7 мин
Количество просмотров721K
Провайдеры Российской Федерации, в большинстве своем, применяют системы глубокого анализа трафика (DPI, Deep Packet Inspection) для блокировки сайтов, внесенных в реестр запрещенных. Не существует единого стандарта на DPI, есть большое количество реализации от разных поставщиков DPI-решений, отличающихся по типу подключения и типу работы.

Существует два распространенных типа подключения DPI: пассивный и активный.

Пассивный DPI

Пассивный DPI — DPI, подключенный в провайдерскую сеть параллельно (не в разрез) либо через пассивный оптический сплиттер, либо с использованием зеркалирования исходящего от пользователей трафика. Такое подключение не замедляет скорость работы сети провайдера в случае недостаточной производительности DPI, из-за чего применяется у крупных провайдеров. DPI с таким типом подключения технически может только выявлять попытку запроса запрещенного контента, но не пресекать ее. Чтобы обойти это ограничение и заблокировать доступ на запрещенный сайт, DPI отправляет пользователю, запрашивающему заблокированный URL, специально сформированный HTTP-пакет с перенаправлением на страницу-заглушку провайдера, словно такой ответ прислал сам запрашиваемый ресурс (подделывается IP-адрес отправителя и TCP sequence). Из-за того, что DPI физически расположен ближе к пользователю, чем запрашиваемый сайт, подделанный ответ доходит до устройства пользователя быстрее, чем настоящий ответ от сайта.
Читать дальше →
Всего голосов 212: ↑212 и ↓0+212
Комментарии352

Замедление YouTube с технической стороны: ограничение и обход

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

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

В последнее время замечаю огромное количество информации по поводу замедления Великого, но очень мало где видел конкретику о том, как именно это работает. Одно лишь отчаяние "мы все умрём".

Сразу скажу, что буду говорить обо всём, что известно на данный момент. Понятно, что с этим разбирался далеко не один я: огромное спасибо обывателям ntc party форума за проделанный ресёрч.

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

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

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

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

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

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

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

Почему иногда лучше оценить задачу в размерах майки, чем в часах

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

Привет! Я Игорь, фронтенд-разработчик в Selectel. Когда-то давно я был проектным менеджером в небольшой компании, где было принято работать по модели Waterfall. Все этапы разработки были определены заранее, а на каждый этап отводилось определенное время.

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

Почасовая оценка задач мне всегда казалась неэффективной. Но в то время не было опыта взаимодействия с другими методологиями. Сейчас я счастлив, ведь работаю с относительной оценкой задач в Story Points. 🙂 Добро пожаловать под кат, если тоже хотите добавить в ваш рабочий процесс немного гибкости!
Читать дальше →
Всего голосов 41: ↑37 и ↓4+46
Комментарии45

Выгорание — личный опыт и пошаговая инструкция по приведению себя в порядок за 24 часа

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

Меня зовут Слава Усов. В 20 лет я уехал в свою первую экспедицию на Шпицберген, потом в Антарктиду и с тех пор пожил и поработал практически на всех континентах. От ученого до операционного менеджера в Африке и на Ближнем Востоке.

Читать далее
Всего голосов 49: ↑37 и ↓12+33
Комментарии46

Разработчикам, аналитикам и архитекторам: рецензия на книгу «Проектирование архитектуры API»

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

Сегодня представляем на Хабре очень интересную книгу — переводное издание «Проектирование архитектуры API» («Mastering API Architecture») издательства O'REILLY. Это руководство по разработке и реализации API (программных интерфейсов приложений). Разобраны базовые вопросы обмена информацией в микросервисной архитектуре, обработка запросов на сайтах и в веб‑приложениях (парадигма REST). Бонусами к статье — промокод «SSPSOFT» на русское издание и ссылка на оригинальный текст книги (бесплатная копия книги в PDF).

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

Конверсия 1 собеседование на 500 откликов на западном рынке. Как так вышло и чем грозит?

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

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

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

Читать далее
Всего голосов 137: ↑90 и ↓47+64
Комментарии352

Опасность устарела: несколько важных нюансов в новых стандартах C++

Время на прочтение16 мин
Количество просмотров15K
Undefined behavior (UB) — боль, знакомая каждому разработчику со стажем; эдакий «код Шредингера», когда не знаешь, правильно тот работает или нет. К счастью, стандарты языка С++20/23/26 привнесли относительно неопределенного поведения кое-что новое. И довольно важное, если вы — архитектор ПО, а «плюсы» — ключевой стек вашей компании (подробнее о том, как и почему мы в «Лаборатории Касперского» много используем С++, читайте здесь).

В этой статье я со своих позиций Senior Software Architect и Security Champion в микроядерной операционной системе KasperskyOS рассмотрю кейсы-ловушки, в которые можно попасть практически в любом из стандартов, и покажу, что меняется в С++20/23/26, — уменьшается ли количество кейсов с неопределенным поведением, и становится ли С++ безопаснее.


Читать дальше →
Всего голосов 58: ↑56 и ↓2+60
Комментарии48

Выжимаем из Go максимум производительности

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

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

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

Читать далее
Всего голосов 76: ↑74 и ↓2+87
Комментарии40

Кажется, LLM программирует лучше меня

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

Может ли искусственный интеллект (ИИ) превзойти программиста-человека при написании кода? Проведя ряд экспериментов, становится понятно, что ответ на этот вопрос – уверенное да!

Давайте в этом убедимся
Всего голосов 52: ↑30 и ↓22+14
Комментарии250

Как и зачем мы затащили GeckoView в Почту

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

Начиная с июня 2023 года мы стали получать жалобы от пользователей о том, что у них не отображаются письма в Android-клиенте Почты Mail.ru. В ходе исследования мы даже приглашали пользователя к нам в офис для отладки. В конце концов мы поняли, что проблема на стороне WebView, компонента, с помощью которого мы можем отображать веб страницы. Ни для кого не секрет, что WebView используется во многих банковских и почтовых клиентах, в приложениях интернет-магазинов, сервисов доставки и многих других. Также изучили другие почтовые сервисы, нам хотелось понять, как они с этим справились. Оказалось — никак :)

А теперь обо всём в подробностях и с кодом
Всего голосов 52: ↑52 и ↓0+59
Комментарии10

GPT vs Copilot: кто лучший помощник в написании UI-тестов для iOS?

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

Мы выпускаем обновления приложений Lamoda минимум 4 раза в месяц. С каждым обновлением идут серьезные изменения: новые продукты, внедрение ML-моделей и так далее. У нас налажен процесс тестирования нового кода, но есть нюанс: проверять перед релизом нужно не только новую функциональность, но и базовые возможности приложения, чтобы убедиться, что они работают корректно и ничего не сломалось. 

На проверку базового функционала уходит куча времени QA. Поэтому мы создали автоматические UI-тесты. Они автономно проверяют базовые функции и помогают снизить нагрузку на тестировщиков.

Но приложение постоянно растет, а с ним должно расти и тестовое покрытие. Главная сложность здесь — количество тестов, которое приходится писать. Когда у меня появилась задача написать очередную партию тестов, я сразу подумал о том, что мне нужна помощь. Меня зовут Марк, я iOS-разработчик из Lamoda Tech. В этой статье я расскажу, как использовал LLM для написания UI-тестов, и сравню результаты ChatGPT и Copilot.

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

Архитектура RAG: часть вторая — Advanced RAG

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

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

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

Prompt engineering — путь к эффективной работе с ChatGPT

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

Привет, Хабр! Меня зовут  Илья Козырёв, я — CTO и Co-Founder в Raft. Много работал в консалтинге в сфере ритейла и фармацевтики, имею экспертизу в обработке данных, специализируюсь на ML/AI. А ещё я — участник опенсорсного продукта по обработке данных Apache Beam, помогаю запускать продукт по ценообразованию.

В этой статье расскажу, как эффективно работать с ChatGPT в разных задачах и архитектуре. Многие пробовали, но не у всех получилось.

Читать далее
Всего голосов 22: ↑21 и ↓1+28
Комментарии11

Повсеместная геймификация: как мы становимся заложниками развлечений

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

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

Это история о паре, заменившей настоящего ребенка на поддельного, о статистике, чья одержимость стоила США войны во Вьетнаме, об очевидном отсутствии внеземной жизни и о крупнейшем расследовании ФБР в XX веке.

Но начинается она с мягкого психолога, изучавшего голубей в Гарварде в 1930-х годах...

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

GPT-4, Claude 3, Gemini Pro или опенсорс — как выбрать LLM под свою задачу?

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

Несмотря на то, что сейчас из каждого утюга рекламируется доступ к ChatGPT и GPT-4, вообще говоря, в мире существует несколько больше разных поставщиков LLM (больших языковых моделей), и некоторые из которых могут гораааздо более эффективнее решать какие-то конкретные задачи.

Я уже полгода веду проект VseGPT.ru с доступом к разным LLM из России по OpenAI API (ну, и через вебчат). Львиная доля работы — подключение новых нейросетей. Сейчас их уже свыше 60, и каждую я попробовал хотя бы раз, ну, когда подключал.

Правда, сайт LLMExplorer, собирающий данные об опенсорс нейросетях с портала Hugging Face, говорит, что их там уже более 33 000 штук. М-да.

В общем, вероятно, я не знаю о текстовых сетках всё, но определенно знаю кое-что — хотя бы в пределах своего скромного опыта в 60 сеток. Так что кому интересно — прошу под кат.
Читать дальше →
Всего голосов 25: ↑24 и ↓1+31
Комментарии28

Factorio на движке Unreal Engine 5

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

Сегодня мы поговорим об интересном проекте FUE5. Это Factorio, но в 3D! Иногда мечты становятся явью. Это не совсем игра, а, скорее, потрясающее переосмысление её визуальной составляющей. В этой написанной Hurricane статье будет много технических подробностей, так что давайте приступим.

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

3 необычных робота, которые понравились читателям Хабра

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

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

В конце статьи — конкурс на плюшевого тирекса и другой мерч Selectel.
Читать дальше →
Всего голосов 30: ↑28 и ↓2+35
Комментарии4

IT для неайтишников: Куда исчезают программисты после 40 лет?

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

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

Читать далее
Всего голосов 114: ↑95 и ↓19+103
Комментарии281

Топ-10 докладов на С++ конференциях 2019-2022 года

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

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

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

Информация

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