Forwarded from FEDOR BORSHEV
GraphQL и тесты
Будучи разработчиком, я не любил GraphQL с самого его появления — из-за ноды, привязки к Apollo, отсутствия APM (если не покупать подписку у Apollo) и сложного, вложенного языка запросов. В принципе до сих пор ничего изменилось, но в этом посте я хочу отдельнло поговорить о своей любимой теме – тестировании.
GraphQL замечательно умеет делать одну вещь: вытаскивать данные с сервера в произвольном формате, удобном в каждый конкретный момент. «Выгрузи мне все книги — название, количество страниц, пару интересных цитат и автора, а у каждого автора покажи ФИО, фотографию и список популярных произведений» — это типичный запрос для GraphQL, с которым он справляется идеально. В REST для такой специфичной выборки пришлось бы писать отдельный эндпоинт, следить за ним и поддерживать. А тут даже кода писать не надо — один раз описал схему данных, и всё работает из коробки.
Минус в том, что вместо понятного набора эндпоинтов с заранее определённым поведением, мы получаем один эндпоинт на все наши данные. Тестировать такой эндпоинт очень больно. Первая проблема – контракт между бекендом и фронтендом: раньше мы могли написать батарею юнит-тестов, которые проверяют все возможные запросы, аутентификацию и авторизацию, а затем копипастить их для разных эндпоинтов, добавляя локальную специфику. Тесты для GraphQL так не могут — мы же не знаем, что у нас запросят в каждый конкретный момент, а значит не можем написать тесты, которые отражают реальность. Остаётся только делать тесты для типичных запросов, и надеяться, что когда фронт или бек что-то поменяет, программисты сами договорятся и друг-другу ничего не сломают.
Сложно тестировать не только контракты, но и прозводительность. Раньше мы для каждого эндпоинта могли предсказать количество тяжёлых запросов с джоинами, и даже ограничить их количество в тестах или в рантайме (по ссылкам питон, в вашем стеке будут другие инструменты). Теперь мы каждый раз не знаем, что у нас запросят, а значит можно выгрузить хоть всю базу за один запрос.
Конечно, есть бизнесы, которые выигрывают от умения отдавать по 20 сущностей на один запрос, и делают это своей core-ценностью — к примеру облачные BaaS или высокоуровневые headless CMS вроде Sanity. Но если вам надо просто отдавать на фронт десяток известных сущностей, даже если вы планируете добавить в будущем ещё пару десятков — скорее всего GraphQL обойдётся вам намного дороже чем обычный REST, потому что с самого старта вам придётся тратить намного больше сил на тесты.
Будучи разработчиком, я не любил GraphQL с самого его появления — из-за ноды, привязки к Apollo, отсутствия APM (если не покупать подписку у Apollo) и сложного, вложенного языка запросов. В принципе до сих пор ничего изменилось, но в этом посте я хочу отдельнло поговорить о своей любимой теме – тестировании.
GraphQL замечательно умеет делать одну вещь: вытаскивать данные с сервера в произвольном формате, удобном в каждый конкретный момент. «Выгрузи мне все книги — название, количество страниц, пару интересных цитат и автора, а у каждого автора покажи ФИО, фотографию и список популярных произведений» — это типичный запрос для GraphQL, с которым он справляется идеально. В REST для такой специфичной выборки пришлось бы писать отдельный эндпоинт, следить за ним и поддерживать. А тут даже кода писать не надо — один раз описал схему данных, и всё работает из коробки.
Минус в том, что вместо понятного набора эндпоинтов с заранее определённым поведением, мы получаем один эндпоинт на все наши данные. Тестировать такой эндпоинт очень больно. Первая проблема – контракт между бекендом и фронтендом: раньше мы могли написать батарею юнит-тестов, которые проверяют все возможные запросы, аутентификацию и авторизацию, а затем копипастить их для разных эндпоинтов, добавляя локальную специфику. Тесты для GraphQL так не могут — мы же не знаем, что у нас запросят в каждый конкретный момент, а значит не можем написать тесты, которые отражают реальность. Остаётся только делать тесты для типичных запросов, и надеяться, что когда фронт или бек что-то поменяет, программисты сами договорятся и друг-другу ничего не сломают.
Сложно тестировать не только контракты, но и прозводительность. Раньше мы для каждого эндпоинта могли предсказать количество тяжёлых запросов с джоинами, и даже ограничить их количество в тестах или в рантайме (по ссылкам питон, в вашем стеке будут другие инструменты). Теперь мы каждый раз не знаем, что у нас запросят, а значит можно выгрузить хоть всю базу за один запрос.
Конечно, есть бизнесы, которые выигрывают от умения отдавать по 20 сущностей на один запрос, и делают это своей core-ценностью — к примеру облачные BaaS или высокоуровневые headless CMS вроде Sanity. Но если вам надо просто отдавать на фронт десяток известных сущностей, даже если вы планируете добавить в будущем ещё пару десятков — скорее всего GraphQL обойдётся вам намного дороже чем обычный REST, потому что с самого старта вам придётся тратить намного больше сил на тесты.
👍3
Вышел The State of Developer Ecosystem 2023, в котором в этом году особенно уделили внимание влиянию AI на процесс разработки.
Языки
По классике, на первом месте JS, на втором Python, бурный рост TS и Rust, падение php и objective-c. Так же из интересного некоторые(~10%) разработчики хотят изучить Rust и Go в ближайший год, а разработчики на Scala и Rust наоборот в большинстве не хотят изучать другие языки.
Жизнь
Из интересного 30% разработчиков находят работу через знакомства, что доказывает что лучше вкладываться в удобные рабочие часы и высокую ЗП, которую большинство разработчиков считают самым важным. Еще из забавного 75% разработчиков не окончили различные курсы, которые они проходили. Из грустного 50% разработчиков не следят за своим психическим здоровьем и 75% испытывали выгорание.
70% разработчиков пишут код на выходных и только 19% не работают.
У большинства разработчиков 16 GB – 32 GB оперативы, хотя не удивительно, ведь опрос проводил JetBrains.
AI
84% разработчиков знают какой-либо из AI tools, большинство из них сомневаются в надежности этих сервисов в плане хранения данных. 60% уверены, что AI полностью изменит процесс разработки и будет сам писать код. 77% используют ChatGPT, 46% Copilot. Чаще всего их применяют для того, чтобы писать код и обрабатывать natural language, реже для документации и прочей работы с текстом. Половина разработчиков с радостью переложат написание кода и тестов на AI, но та же половина не захочет передавать написание кода ИИ.
DB
Из грустного 64% разработчиков до сих пор используют MySQL и только половина использует Postgres. MySQL чаще всего используют в связке с MariaDB, что не удивительно, из-за их совместимой апи. Так же наблюдается значительное падение использование oracle в снг, думаю понятно почему.
DevOps and Cloud
54% на докере, 39% без ничего, 13% на кубере. Странно, что большинство разработчиков не знакомы с docker-compose, при том, что большая часть использует докер. 60% на aws, далее azure и гугл, но в этом году появляется Alibaba, которые предоставляют быстрый хостинг на территории Азии. В этом опросе только 10% разработчиков используют, однако на территории Китая около трети сайтов крутятся на Alibaba Cloud, а их главный конкурент - Huawei.
Development
Большинство(60%) разработчиков используют windows, на linux и на маке сидят одинаковое кол-во - по 40%. 41% разработчиков контрибутят в open-source, половина из них делает это постоянно. Еще из интересного в кросс-платформенной разработке 2 место после винды занимает linux, как target для разработчиков, обгоняя макось.
34% разработчиков пишут микросервисы, из их большинство используют различные протоколы поверх http.
Python
бОльшая часть разработчиков используют последнюю LTS - 3.11. Половина до сих пор на МЛ и аналитике, 40% на вебе. Django обогнал Flask как основной фреймворк, однако FastAPI понемногу догоняет его. Большинство разработчиков, около трети, пишут на vs code, несмотря на удобства в pycharm-а
Отчет очень информативный и красивый, с большим кол-вом смежной аналитики. Рекомендую изучить самостоятельно, например статистику по другим яп:
C C# C++ Go Java JavaScript Kotlin PHP Python R Ruby Rust Scala Swift and Objective-C
https://www.jetbrains.com/lp/devecosystem-2023/
Языки
По классике, на первом месте JS, на втором Python, бурный рост TS и Rust, падение php и objective-c. Так же из интересного некоторые(~10%) разработчики хотят изучить Rust и Go в ближайший год, а разработчики на Scala и Rust наоборот в большинстве не хотят изучать другие языки.
Жизнь
Из интересного 30% разработчиков находят работу через знакомства, что доказывает что лучше вкладываться в удобные рабочие часы и высокую ЗП, которую большинство разработчиков считают самым важным. Еще из забавного 75% разработчиков не окончили различные курсы, которые они проходили. Из грустного 50% разработчиков не следят за своим психическим здоровьем и 75% испытывали выгорание.
Those who have experienced burnout feel tired more often.
70% разработчиков пишут код на выходных и только 19% не работают.
У большинства разработчиков 16 GB – 32 GB оперативы, хотя не удивительно, ведь опрос проводил JetBrains.
AI
84% разработчиков знают какой-либо из AI tools, большинство из них сомневаются в надежности этих сервисов в плане хранения данных. 60% уверены, что AI полностью изменит процесс разработки и будет сам писать код. 77% используют ChatGPT, 46% Copilot. Чаще всего их применяют для того, чтобы писать код и обрабатывать natural language, реже для документации и прочей работы с текстом. Половина разработчиков с радостью переложат написание кода и тестов на AI, но та же половина не захочет передавать написание кода ИИ.
AI assistants are most commonly used to help developers perform routine tasks, like writing documentation, code comments, and commit messages, as well as searching. However, developers prefer to do their own coding, including understanding the code and recent code changes, debugging, and of course, writing code, even though 79% of the respondents mentioned that writing code is their most time-consuming activity.
DB
Из грустного 64% разработчиков до сих пор используют MySQL и только половина использует Postgres. MySQL чаще всего используют в связке с MariaDB, что не удивительно, из-за их совместимой апи. Так же наблюдается значительное падение использование oracle в снг, думаю понятно почему.
DevOps and Cloud
54% на докере, 39% без ничего, 13% на кубере. Странно, что большинство разработчиков не знакомы с docker-compose, при том, что большая часть использует докер. 60% на aws, далее azure и гугл, но в этом году появляется Alibaba, которые предоставляют быстрый хостинг на территории Азии. В этом опросе только 10% разработчиков используют, однако на территории Китая около трети сайтов крутятся на Alibaba Cloud, а их главный конкурент - Huawei.
Development
Большинство(60%) разработчиков используют windows, на linux и на маке сидят одинаковое кол-во - по 40%. 41% разработчиков контрибутят в open-source, половина из них делает это постоянно. Еще из интересного в кросс-платформенной разработке 2 место после винды занимает linux, как target для разработчиков, обгоняя макось.
62% of developers follow the Secure Software Development Life Cycle (SSDLC).
34% разработчиков пишут микросервисы, из их большинство используют различные протоколы поверх http.
Python
бОльшая часть разработчиков используют последнюю LTS - 3.11. Половина до сих пор на МЛ и аналитике, 40% на вебе. Django обогнал Flask как основной фреймворк, однако FastAPI понемногу догоняет его. Большинство разработчиков, около трети, пишут на vs code, несмотря на удобства в pycharm-а
Отчет очень информативный и красивый, с большим кол-вом смежной аналитики. Рекомендую изучить самостоятельно, например статистику по другим яп:
C C# C++ Go Java JavaScript Kotlin PHP Python R Ruby Rust Scala Swift and Objective-C
https://www.jetbrains.com/lp/devecosystem-2023/
JetBrains: Developer Tools for Professionals and Teams
The State of Developer Ecosystem in 2023 Infographic
Learn about the latest trends in tools, technologies, AI, and programming languages.
👍11
Forwarded from Хитрый Питон
Разработка REST Api кажется простым делом - перекладывай json-чики с места на место и все дела. Но когда ты сталкиваешься с плохо спроектированными Api-шками и начинаешь задумываться о том, как спроектировать хорошо, тут то и открывается бездна. Особенно интересно то, что каждый знает "как правильно проектировать Api" и часто даже в небольшой команде начинаются жаркие споры и каждый тянет одеяло на себя.
Вот еще одна из миллиона статей на тему "как делать правильно", которая мне понравилась взвешенным подходом и подробной аргументацией к каждому пункту. Если вы работаете на проектах, где нет внутреннего стандарта на Api, то рекомендую почитать https://github.com/stickfigure/blog/wiki/How-to-(and-how-not-to)-design-REST-APIs
Вот еще одна из миллиона статей на тему "как делать правильно", которая мне понравилась взвешенным подходом и подробной аргументацией к каждому пункту. Если вы работаете на проектах, где нет внутреннего стандарта на Api, то рекомендую почитать https://github.com/stickfigure/blog/wiki/How-to-(and-how-not-to)-design-REST-APIs
GitHub
How to (and how not to) design REST APIs
Jeff Schnitzer's Blog. Contribute to stickfigure/blog development by creating an account on GitHub.
👍6
rce через sqli выходят на новый уровень...
https://blogs.oracle.com/mysql/post/introducing-javanoscript-support-in-mysql
https://blogs.oracle.com/mysql/post/introducing-javanoscript-support-in-mysql
Oracle
Introducing JavaScript support in MySQL
MySQL continues to gear up innovations and now includes rich procedural programming capabilities inside the database. Developers can now write JavaScript stored programs (functions and procedures) in the MySQL database server. The stored programs will be…
🔥6👎3🙏1
mp3. Как мы научились сжимать музыку
Запуск завтра
mp3. Как мы научились сжимать музыку - Запуск завтра
30 лет назад, чтобы послушать любимую песню, нужно было пойти в магазин, отстоять очередь и купить дорогой диск, на который умещалось всего девять композиций. Всё изменил один немецкий ученый, который придумал революционную технологию сжатия звука. Благодаря ей диски стали не нужны - теперь всю музыку мира можно было бесплатно слушать с компьютера,
https://music.yandex.ru/track/121031035
30 лет назад, чтобы послушать любимую песню, нужно было пойти в магазин, отстоять очередь и купить дорогой диск, на который умещалось всего девять композиций. Всё изменил один немецкий ученый, который придумал революционную технологию сжатия звука. Благодаря ей диски стали не нужны - теперь всю музыку мира можно было бесплатно слушать с компьютера,
https://music.yandex.ru/track/121031035
👍2
Forwarded from Информация опасносте
GitLab 10/10
The most critical security issue GitLab patched has the maximum severity score (10 out of 10) and is being tracked as CVE-2023-7028. Successful exploitation does not require any interaction.
https://www.bleepingcomputer.com/news/security/gitlab-warns-of-critical-zero-click-account-hijacking-vulnerability/
The most critical security issue GitLab patched has the maximum severity score (10 out of 10) and is being tracked as CVE-2023-7028. Successful exploitation does not require any interaction.
https://www.bleepingcomputer.com/news/security/gitlab-warns-of-critical-zero-click-account-hijacking-vulnerability/
BleepingComputer
GitLab warns of critical zero-click account hijacking vulnerability
GitLab has released security updates for both the Community and Enterprise Edition to address two critical vulnerabilities, one of them allowing account hijacking with no user interaction.
🤯2
Forwarded from HERAKS
Куча успешных хакерских атак на российский хостинг, если кто-то не заметил. За последнюю неделю пострадали:
— CloudMTS
— 1Gb.ru
— 1cloud
— в свободном доступе куча дампов SQL-баз клиентов Reg.ru
Кроме того — очень много успешных атак на проекты, основанные на 1С-Битрикс.
И что-то подсказывает, что это не конец. Советую всем российским хостингам уделить больше внимания инфобезу, а клиентам — сделать бэкапы и сохранить их у себя "на жоском". Ну, или изыскать возможность переезда на иностранные хостинги.
— CloudMTS
— 1Gb.ru
— 1cloud
— в свободном доступе куча дампов SQL-баз клиентов Reg.ru
Кроме того — очень много успешных атак на проекты, основанные на 1С-Битрикс.
И что-то подсказывает, что это не конец. Советую всем российским хостингам уделить больше внимания инфобезу, а клиентам — сделать бэкапы и сохранить их у себя "на жоском". Ну, или изыскать возможность переезда на иностранные хостинги.
🎉4👎3🌚2
https://www.openwall.com/lists/oss-security/2024/03/29/4
tldr update any rolling release machine, which could caught xz version 5.6.0-1 or 5.6.1-1 (latest - xz-5.6.1-2).
tldr update any rolling release machine, which could caught xz version 5.6.0-1 or 5.6.1-1 (latest - xz-5.6.1-2).
🎉4
Хабр
Замедление YouTube с технической стороны: ограничение и обход
Привет, Хабр! В последнее время замечаю огромное количество информации по поводу замедления Великого, но очень мало где видел конкретику о том, как именно это работает. Одно лишь отчаяние "мы все...
https://habr.com/ru/articles/832678/
TLDR: YouTube в России замедляют, используя метод анализа незашифрованного SNI в TLS-соединениях, что позволяет определить и ограничить трафик. Ограничение можно обойти с помощью манипуляции SNI или использования специальных программ, таких как GoodbyeDPI и zapret, которые изменяют структуру пакетов, чтобы избежать блокировки.
TLDR: YouTube в России замедляют, используя метод анализа незашифрованного SNI в TLS-соединениях, что позволяет определить и ограничить трафик. Ограничение можно обойти с помощью манипуляции SNI или использования специальных программ, таких как GoodbyeDPI и zapret, которые изменяют структуру пакетов, чтобы избежать блокировки.
❤16👍6
www.gekk.info
Traceroute Isn't Real
Almost nobody understands how traceroute works. Worse, it's not a real tool
https://gekk.info/articles/traceroute.htm
tldr: Traceroute - это хак, а не настоящий сетевой протокол. Он работает случайно и ненадёжно. Маршрутизаторы не обязаны на него отвечать, и часто не отвечают. В современных сетях (особенно с MPLS) он показывает неверную информацию. Отсутствие ответа или высокая задержка в traceroute ничего не значат.
tldr: Traceroute - это хак, а не настоящий сетевой протокол. Он работает случайно и ненадёжно. Маршрутизаторы не обязаны на него отвечать, и часто не отвечают. В современных сетях (особенно с MPLS) он показывает неверную информацию. Отсутствие ответа или высокая задержка в traceroute ничего не значат.
👍6🤩5😢2❤1👎1
Разбираемся в дефолтных и откладываемых (деферрабельных) констрейнах в PostgreSQL
В постгре по умолчанию все констрейны проверяются немедленно, сразу после каждой операции(NOT DEFERRABLE INITIALLY IMMEDIATE). Это означает, что уникальные ограничения и внешние ключи всегда валидируются мгновенно, как только происходит изменение данных. Такой подход гарантирует целостность данных, но иногда это создает проблемы. Например, если вы пытаетесь изменить значения в столбце с уникальным индексом, сдвинув их все на единицу, то получите ошибку:
Почему так происходит? Дело в том, что проверка ограничений выполняется для каждой строки в транзакции, и если хотя бы одна из них нарушает уникальность, операция завершается ошибкой. Это неудобно, особенно если вы хотите массово изменить данные в рамках одной транзакции. Но постгрес так же позволяет создавать деферрабельные (отложенные) констрейны, которые проверяются не сразу, а только в момент завершения транзакции при выполнении команды
Отложенные ограничения можно настроить двумя способами. Первый —
На первый взгляд кажется логичным сделать все ограничения отложенными, ведь это позволяет избежать ошибок при массовых обновлениях и сложных операциях. Однако на практике это может привести к проблемам. Во-первых, использование отложенных ограничений снижает производительность. Планировщик запросов в PostgreSQL полагается на уникальность данных для оптимизации выполнения запросов. Если уникальность не гарантируется на каждом шаге транзакции, то некоторые оптимизации становятся невозможными, и выполнение запросов замедляется.
Также стоит учитывать, что отложенные проверки нельзя использовать для ограничений типа NOT NULL и CHECK. Эти типы ограничений всегда проверяются немедленно, что ограничивает применение деферрабельных настроек.
больше примеров использование деферрабельных констрейнов можно посмотреть тут:
https://emmer.dev/blog/deferrable-constraints-in-postgresql/
В постгре по умолчанию все констрейны проверяются немедленно, сразу после каждой операции(NOT DEFERRABLE INITIALLY IMMEDIATE). Это означает, что уникальные ограничения и внешние ключи всегда валидируются мгновенно, как только происходит изменение данных. Такой подход гарантирует целостность данных, но иногда это создает проблемы. Например, если вы пытаетесь изменить значения в столбце с уникальным индексом, сдвинув их все на единицу, то получите ошибку:
UPDATE numbers SET number = number + 1;
-- Ошибка: Duplicate key value violates unique constraint
Почему так происходит? Дело в том, что проверка ограничений выполняется для каждой строки в транзакции, и если хотя бы одна из них нарушает уникальность, операция завершается ошибкой. Это неудобно, особенно если вы хотите массово изменить данные в рамках одной транзакции. Но постгрес так же позволяет создавать деферрабельные (отложенные) констрейны, которые проверяются не сразу, а только в момент завершения транзакции при выполнении команды
COMMIT.Отложенные ограничения можно настроить двумя способами. Первый —
DEFERRABLE INITIALLY IMMEDIATE — позволяет отложить проверку ограничений вручную, изменив поведение внутри транзакции с помощью команды SET CONSTRAINTS <constraint_name> DEFERRED. Второй вариант — DEFERRABLE INITIALLY DEFERRED — изначально предполагает, что проверка всегда будет происходить в конце транзакции, что особенно полезно в случаях, когда временное нарушение ограничений не критично и будет исправлено до завершения транзакции.На первый взгляд кажется логичным сделать все ограничения отложенными, ведь это позволяет избежать ошибок при массовых обновлениях и сложных операциях. Однако на практике это может привести к проблемам. Во-первых, использование отложенных ограничений снижает производительность. Планировщик запросов в PostgreSQL полагается на уникальность данных для оптимизации выполнения запросов. Если уникальность не гарантируется на каждом шаге транзакции, то некоторые оптимизации становятся невозможными, и выполнение запросов замедляется.
Также стоит учитывать, что отложенные проверки нельзя использовать для ограничений типа NOT NULL и CHECK. Эти типы ограничений всегда проверяются немедленно, что ограничивает применение деферрабельных настроек.
больше примеров использование деферрабельных констрейнов можно посмотреть тут:
https://emmer.dev/blog/deferrable-constraints-in-postgresql/
🔥5👍4
Вышел Cloudflare 2024 Year in Review
Из интересного:
Starlink продолжает революцию в подключении:
Значительный рост трафика в новых рынках, таких как Зимбабве и Малави, показывает огромный потенциал спутникового интернета. Особенно интересен 900-кратный рост трафика в Парагвае.
Постквантовое шифрование набирает популярность:
Постквантовая криптография защищает данные от угроз со стороны квантовых компьютеров, которые теоретически смогут взламывать традиционные алгоритмы шифрования (например, RSA или ECC). В 2024 году доля трафика, использующего постквантовое шифрование в TLS 1.3, выросла до 13%, что стало значительным скачком по сравнению с 2% в начале года.
Уменьшение активности некоторых ИИ-ботов:
Падение активности Bytespider от ByteDance может сигнализировать об изменении стратегий сбора данных для моделей ИИ, возможно, из-за регуляторного давления.
Аномальное поведение TCP-соединений:
TCP-соединения часто завершаются неожиданно на разных стадиях без передачи полезных данных. В 2024 году 20.7% соединений с Cloudflare прерывались на ранних этапах, и почти половина из них завершалась после получения сервера SYN, но до передачи подтверждающего пакета ACK.
Возможные причины:
Сканирование и тестирование: Скрипты и программы для сканирования сети могут инициировать соединения, но не доводить их до конца.
DoS-атаки: Злоумышленники часто создают массовое количество неполных соединений, чтобы перегрузить серверы.
Фильтрация трафика: Провайдеры или посредники могут прерывать соединения, особенно в странах с ограничением доступа к определенным сайтам или сервисам.
Неравномерность внедрения HTTP/3:
2024
HTTP/3, который работает на основе нового протокола QUIC, обещает улучшенную производительность и встроенную шифрацию, но его использование остается неравномерным. В 2024 году только 20.5% запросов использовали HTTP/3, несмотря на его преимущества. В то же время 49.6% запросов все еще используют HTTP/2, а почти 30% — старые версии HTTP/1.x.
Опасность новых TLD:
Некоторые новые доменные зоны, такие как .bar, .rest и .uno, продемонстрировали, что более 99% писем с таких доменов являются либо спамом, либо вредоносными. Среди национальных доменов (ccTLD) худший результат у .ws (Западное Самоа), где более 90% писем оказались вредоносными.
Многие из этих доменов предоставляются по заниженной стоимости или используются для "парковки" доменных имен, что привлекает злоумышленников.
Отсутствие строгого контроля или регулирования делает их "серыми зонами" для размещения сомнительного контента..
Рост языка Go для API-запросов:
Факт, что Go обогнал NodeJS, подчеркивает сдвиг в сторону высокопроизводительных и масштабируемых решений. Это может быть связано с ростом микросервисной архитектуры и потребностью в быстрой обработке запросов.
Из интересного:
Starlink продолжает революцию в подключении:
Значительный рост трафика в новых рынках, таких как Зимбабве и Малави, показывает огромный потенциал спутникового интернета. Особенно интересен 900-кратный рост трафика в Парагвае.
Постквантовое шифрование набирает популярность:
Постквантовая криптография защищает данные от угроз со стороны квантовых компьютеров, которые теоретически смогут взламывать традиционные алгоритмы шифрования (например, RSA или ECC). В 2024 году доля трафика, использующего постквантовое шифрование в TLS 1.3, выросла до 13%, что стало значительным скачком по сравнению с 2% в начале года.
Уменьшение активности некоторых ИИ-ботов:
Падение активности Bytespider от ByteDance может сигнализировать об изменении стратегий сбора данных для моделей ИИ, возможно, из-за регуляторного давления.
Аномальное поведение TCP-соединений:
TCP-соединения часто завершаются неожиданно на разных стадиях без передачи полезных данных. В 2024 году 20.7% соединений с Cloudflare прерывались на ранних этапах, и почти половина из них завершалась после получения сервера SYN, но до передачи подтверждающего пакета ACK.
Возможные причины:
Сканирование и тестирование: Скрипты и программы для сканирования сети могут инициировать соединения, но не доводить их до конца.
DoS-атаки: Злоумышленники часто создают массовое количество неполных соединений, чтобы перегрузить серверы.
Фильтрация трафика: Провайдеры или посредники могут прерывать соединения, особенно в странах с ограничением доступа к определенным сайтам или сервисам.
Неравномерность внедрения HTTP/3:
2024
HTTP/3, который работает на основе нового протокола QUIC, обещает улучшенную производительность и встроенную шифрацию, но его использование остается неравномерным. В 2024 году только 20.5% запросов использовали HTTP/3, несмотря на его преимущества. В то же время 49.6% запросов все еще используют HTTP/2, а почти 30% — старые версии HTTP/1.x.
Опасность новых TLD:
Некоторые новые доменные зоны, такие как .bar, .rest и .uno, продемонстрировали, что более 99% писем с таких доменов являются либо спамом, либо вредоносными. Среди национальных доменов (ccTLD) худший результат у .ws (Западное Самоа), где более 90% писем оказались вредоносными.
Многие из этих доменов предоставляются по заниженной стоимости или используются для "парковки" доменных имен, что привлекает злоумышленников.
Отсутствие строгого контроля или регулирования делает их "серыми зонами" для размещения сомнительного контента..
Рост языка Go для API-запросов:
Факт, что Go обогнал NodeJS, подчеркивает сдвиг в сторону высокопроизводительных и масштабируемых решений. Это может быть связано с ростом микросервисной архитектуры и потребностью в быстрой обработке запросов.
👍9😢1
Forwarded from Технологический Болт Генона
Извините, но тут так совпало
Wiz Research Uncovers Exposed DeepSeek Database Leaking Sensitive Information, Including Chat History
https://www.wiz.io/blog/wiz-research-uncovers-exposed-deepseek-database-leak
Within minutes, we found a publicly accessible ClickHouse database linked to DeepSeek, completely open and unauthenticated, exposing sensitive data. It was hosted at oauth2callback.deepseek.com:9000 and dev.deepseek.com:9000.
. . .
However, as we expanded our search beyond standard HTTP ports (80/443), we detected two unusual, open ports (8123 & 9000) associated with the following hosts:
http://oauth2callback.deepseek.com:8123
http://dev.deepseek.com:8123
http://oauth2callback.deepseek.com:9000
http://dev.deepseek.com:9000
Wiz Research Uncovers Exposed DeepSeek Database Leaking Sensitive Information, Including Chat History
https://www.wiz.io/blog/wiz-research-uncovers-exposed-deepseek-database-leak
😁14🤔2❤1🔥1