This media is not supported in your browser
VIEW IN TELEGRAM
Одно из важных преимуществ шардинга базы данных — это скорость резервного копирования #database
👍13🔥1👏1
Методы пагинации
🔸 Пагинация на основе смещения: использует параметры limit (сколько элементов вернуть) и offset (откуда начать выборку)
GET /items?limit=10&offset=20 - возвращает 10 элементов с 21-й записи.
🔸 Курсорная пагинация: сервер генерирует курсор для определения начальной точки для следующей страницы
GET /items?cursor=abc123 - cервер предоставляет курсор для следующей страницы, например abc123
🔸 Разбиение на страницы на основе набора ключей: использует стабильный ключ (например, идентификатор, временную метку) для разбиения на страницы
GET /items?after_id=100 - извлекает элементы, где id больше 100
🔸 Пагинация на основе страниц: извлекает набор данных с помощью параметра страницы (например, ?page =3)
GET /items?page=3 - выбирает 3-ю страницу результатов, каждая из которых содержит предопределенное количество элементов
🔸 Пагинация на основе смещения: использует параметры limit (сколько элементов вернуть) и offset (откуда начать выборку)
GET /items?limit=10&offset=20 - возвращает 10 элементов с 21-й записи.
🔸 Курсорная пагинация: сервер генерирует курсор для определения начальной точки для следующей страницы
GET /items?cursor=abc123 - cервер предоставляет курсор для следующей страницы, например abc123
🔸 Разбиение на страницы на основе набора ключей: использует стабильный ключ (например, идентификатор, временную метку) для разбиения на страницы
GET /items?after_id=100 - извлекает элементы, где id больше 100
🔸 Пагинация на основе страниц: извлекает набор данных с помощью параметра страницы (например, ?page =3)
GET /items?page=3 - выбирает 3-ю страницу результатов, каждая из которых содержит предопределенное количество элементов
👍1🔥1
Сервис PYPL (PopularitY of Programming Language) опубликовал рейтинг языков программирования, который использует Google Trends. Первая пятерка не изменилась:
1 Python 29.8% (+1.7%)
2 Java 15.35% (-0.5%)
3 JavaScript 7.96% (-1.0%)
4 C/C++ 7.17% (+0.3%)
5 C# 6.36% (-0.3%)
По сравнению с январём прошлого года выросла популярность языка Rust: он переместился с 11 на 9 место, а также языков Ada (16 → 15), PowerShell (18 → 17), Abap (23 → 22) и Cobol (28 → 26).
Снизилась популярность Swift (9 → 11), Dart (15 → 16), Ruby (17 → 18), Visual Basic (22 → 23), Perl (26 → 27) и Haskell (27 → 28).
https://pypl.github.io/PYPL.html
1 Python 29.8% (+1.7%)
2 Java 15.35% (-0.5%)
3 JavaScript 7.96% (-1.0%)
4 C/C++ 7.17% (+0.3%)
5 C# 6.36% (-0.3%)
По сравнению с январём прошлого года выросла популярность языка Rust: он переместился с 11 на 9 место, а также языков Ada (16 → 15), PowerShell (18 → 17), Abap (23 → 22) и Cobol (28 → 26).
Снизилась популярность Swift (9 → 11), Dart (15 → 16), Ruby (17 → 18), Visual Basic (22 → 23), Perl (26 → 27) и Haskell (27 → 28).
https://pypl.github.io/PYPL.html
👍6👏1
Начато добавление Руководства по созданию графических приложений на языке С с помощью GTK #c_ansi #gtk
https://metanit.com/c/gtk/1.1.php
https://metanit.com/c/gtk/1.1.php
Metanit
GTK и C | Введение
Общий обзор библиотеки GTK, создание графических приложений с помощью языка C, установка и первое приложение на GTK на Windows и Linux
🔥18👍8👾3
This media is not supported in your browser
VIEW IN TELEGRAM
Разработчик wojciech-graj представил проект DooM-docm — Doom для запуска в Microsoft Office/Word, только без звука. Код написан на VBA и C и доступен на GitHub: https://github.com/wojciech-graj/doom-docm
Файл с игрой в формате документа для Microsoft Word имеет размер 6,6 МБ. Проект содержит библиотеку doomgeneric_docm.dll и данные игры doom1.wad, закодированные в base 64. При открытии документа настраивается макрос VBA для извлечения данных base 64 и их загрузки.
Файл с игрой в формате документа для Microsoft Word имеет размер 6,6 МБ. Проект содержит библиотеку doomgeneric_docm.dll и данные игры doom1.wad, закодированные в base 64. При открытии документа настраивается макрос VBA для извлечения данных base 64 и их загрузки.
👍17👏2🥱2❤1🥰1
Киберпреступники начали продавать заражённую вирусами технику на маркетплейсах
Эксперты предупредили, что киберпреступники могут продавать заражённую вирусами технику на популярных маркетплейсах. Встроенный софт позволяет им незаметно собирать информацию, контролировать действия пользователей и использовать устройства как часть ботнетов.
https://iz.ru/1823322/dmitrii-bulgakov/nanesti-zarazenie-kak-tehnika-s-marketpleisov-stanovitsa-istocnikom-virusov
Эксперты предупредили, что киберпреступники могут продавать заражённую вирусами технику на популярных маркетплейсах. Встроенный софт позволяет им незаметно собирать информацию, контролировать действия пользователей и использовать устройства как часть ботнетов.
https://iz.ru/1823322/dmitrii-bulgakov/nanesti-zarazenie-kak-tehnika-s-marketpleisov-stanovitsa-istocnikom-virusov
Известия
Нанести заражение: как техника с маркетплейсов становится источником вирусов
Вредоносное ПО крадет финансовую информацию и личные данные
🤯6👍3👏1
В дочерних компаниях Сбербанка проходят массовые увольнения, затрагивающие ИТ-специалистов. Об этом сообщили сотрудники «Купера», «МегаМаркета», «СберЛогистики» и «Самоката». Все четыре названные компании входят в Ecom.tech – команду, которая разрабатывает решения для в e-commerce.
Как рассказал руководитель одного из отделов в Ecom.tech, в «Купере» уже уволили 20% ИТ-специалистов: из 1000 около 200 человек. «Объясняют это экономией бюджета и указанием сверху», — отметил он.
«Буквально говорили: пиши два списка: первая волна 45%, вторая еще 9%, — рассказал сотрудник Ecom.tech. — И многие руководители писали». По его данным, сотрудники увольняются по соглашению сторон.
По словам другого из ИТ-специалистов Ecom.tech, увольнения начались до наступления 2025 г. В одном только «Мегамаркете» сократить могут до 25% сотрудников, отметил он. При этом официального объявления от Сбербанка нет. «На словах приходят с предложением уйти по соглашению сторон и далее идут торги насчет количества окладов/
https://www.cnews.ru/news/top/2025-01-18_sber_massovo_sokrashchaet_sotrudnikov
Как рассказал руководитель одного из отделов в Ecom.tech, в «Купере» уже уволили 20% ИТ-специалистов: из 1000 около 200 человек. «Объясняют это экономией бюджета и указанием сверху», — отметил он.
«Буквально говорили: пиши два списка: первая волна 45%, вторая еще 9%, — рассказал сотрудник Ecom.tech. — И многие руководители писали». По его данным, сотрудники увольняются по соглашению сторон.
По словам другого из ИТ-специалистов Ecom.tech, увольнения начались до наступления 2025 г. В одном только «Мегамаркете» сократить могут до 25% сотрудников, отметил он. При этом официального объявления от Сбербанка нет. «На словах приходят с предложением уйти по соглашению сторон и далее идут торги насчет количества окладов/
https://www.cnews.ru/news/top/2025-01-18_sber_massovo_sokrashchaet_sotrudnikov
CNews.ru
В «дочках» Сбербанка массовые увольнения. Под ударом программисты и разработчики - CNews
ИТ-специалисты, работающие в дочерних компаниях Сбербанка, сообщают о начавшихся массовых сокращениях. Сотрудникам предлагают уволиться по соглашению сторон.
🤡16😱2👍1🤯1
𝐆𝐈𝐓 𝐖𝐨𝐫𝐤𝐟𝐥𝐨𝐰
[1.] Начальное состояние
◾️ Есть удаленный репозиторий на сервере (с файлом README.md).
◾️ На локальном компьютере пока нет файлов проекта.
[2.] 𝐠𝐢𝐭 𝐜𝐥𝐨𝐧𝐞 <𝐫𝐞𝐩𝐨𝐬𝐢𝐭𝐨𝐫𝐲>
◾️ Копирует весь удаленный репозиторий (README.md) на локальный компьютер
◾️ Создает локальный репозиторий, связанный с удаленным
[3.] Создание нового файла
◾️ Создается новый файл (например, newfile.txt) в локальном рабочем каталоге
◾️ На данный момент этот файл не отслеживается Git
[4.] 𝐠𝐢𝐭 𝐚𝐝𝐝
◾️ Сохраняет все изменения (включая новый файл) в рабочем каталоге
◾️ Подготавливает их к включению в следующий коммит
[5.] 𝐠𝐢𝐭 𝐜𝐨𝐦𝐦𝐢𝐭 - 𝐦 "<𝐦𝐞𝐬𝐬𝐚𝐠𝐞>"
◾️ Делает снепшот сделанных изменений
◾️ Создает новый коммит в локальном репозитории с изменениями и сообщением о коммите
[6.] 𝐠𝐢𝐭 𝐩𝐮𝐬𝐡
◾️ Загружает все локальные коммиты в удаленный репозиторий
◾️ Теперь локальные и удаленные репозитории синхронизированы
[1.] Начальное состояние
◾️ Есть удаленный репозиторий на сервере (с файлом README.md).
◾️ На локальном компьютере пока нет файлов проекта.
[2.] 𝐠𝐢𝐭 𝐜𝐥𝐨𝐧𝐞 <𝐫𝐞𝐩𝐨𝐬𝐢𝐭𝐨𝐫𝐲>
◾️ Копирует весь удаленный репозиторий (README.md) на локальный компьютер
◾️ Создает локальный репозиторий, связанный с удаленным
[3.] Создание нового файла
◾️ Создается новый файл (например, newfile.txt) в локальном рабочем каталоге
◾️ На данный момент этот файл не отслеживается Git
[4.] 𝐠𝐢𝐭 𝐚𝐝𝐝
◾️ Сохраняет все изменения (включая новый файл) в рабочем каталоге
◾️ Подготавливает их к включению в следующий коммит
[5.] 𝐠𝐢𝐭 𝐜𝐨𝐦𝐦𝐢𝐭 - 𝐦 "<𝐦𝐞𝐬𝐬𝐚𝐠𝐞>"
◾️ Делает снепшот сделанных изменений
◾️ Создает новый коммит в локальном репозитории с изменениями и сообщением о коммите
[6.] 𝐠𝐢𝐭 𝐩𝐮𝐬𝐡
◾️ Загружает все локальные коммиты в удаленный репозиторий
◾️ Теперь локальные и удаленные репозитории синхронизированы
👍7
Типы тестирования:
1/ Валидационные тесты: проверяют, что API соответствует функциональным требованиям
▪️ Тестирование контракта
▪️ Валидация схемы
▪️ Тестирование целостности данных
2/ Интеграционные тесты: проверяют правильность взаимодействия между системами и компонентами
🔸 Тесты интеграции компонентов
🔸 Тесты интеграции стороннего ПО
3/ Тесты системы безопасности: выявляют уязвимости и защищают данные
🔹 Тестирование на проникновение
🔹 Тестирование аутентификации
🔹 Тестирование авторизации
🔹 Тесты шифрования данных
4/ Тесты производительности: измеряют скорость, отзывчивость и стабильность при различных нагрузках
▪️ Нагрузочные тесты
▪️ Стресс-тестирование
▪️ Тест пиковых нагрузок
▪️ Тест на выносливость
5/ Тесты стабильности системы: проверяют стабильность работы с течением времени
Тест на выносливость
Тест на отказоустойчивость
6/ Тесты масштабируемости: оценивают способность системы расти по мере роста спроса
🔸 Тесты горизонтального масштабирования
🔸 Тесты вертикального масштабирования
1/ Валидационные тесты: проверяют, что API соответствует функциональным требованиям
▪️ Тестирование контракта
▪️ Валидация схемы
▪️ Тестирование целостности данных
2/ Интеграционные тесты: проверяют правильность взаимодействия между системами и компонентами
🔸 Тесты интеграции компонентов
🔸 Тесты интеграции стороннего ПО
3/ Тесты системы безопасности: выявляют уязвимости и защищают данные
🔹 Тестирование на проникновение
🔹 Тестирование аутентификации
🔹 Тестирование авторизации
🔹 Тесты шифрования данных
4/ Тесты производительности: измеряют скорость, отзывчивость и стабильность при различных нагрузках
▪️ Нагрузочные тесты
▪️ Стресс-тестирование
▪️ Тест пиковых нагрузок
▪️ Тест на выносливость
5/ Тесты стабильности системы: проверяют стабильность работы с течением времени
Тест на выносливость
Тест на отказоустойчивость
6/ Тесты масштабируемости: оценивают способность системы расти по мере роста спроса
🔸 Тесты горизонтального масштабирования
🔸 Тесты вертикального масштабирования
👍1
21 января 2025 года «Ростелеком» заявил о вероятной утечке данных из инфраструктуры подрядчика. Предварительно выяснено, что инцидент не коснулся особо чувствительных персональных данных клиентов «Ростелекома». В компании рекомендуют пользователям сбросить пароли и включить двухфакторную идентификацию.
https://ria.ru/20250121/utechka-1994794738.html
https://ria.ru/20250121/utechka-1994794738.html
РИА Новости
"Ростелеком" сообщил об утечке данных у одного из подрядчиков
В "Ростелекоме" могла произойти утечка данных из инфраструктуры подрядчика, сообщила пресс-служба провайдера. РИА Новости, 21.01.2025
❤3🤡2🤯1
Это норм. GCC (да и Clang) по крайней мере в последней версии выполняет беззнаковое сравнение. Тем не менее флаг -Wextra даст предупреждение при компиляции.
Но вообще сравнивать числа с разным signedness не лучшая идея, надо понимать, как обрабатывает такое сравнение конкретный компилятор/интерпертатор
Но вообще сравнивать числа с разным signedness не лучшая идея, надо понимать, как обрабатывает такое сравнение конкретный компилятор/интерпертатор
😱12👍2🤔2🗿2