This media is not supported in your browser
VIEW IN TELEGRAM
Наглядно алгоритмы балансировки нагрузки
👍7❤3🔥2
Типы ключей в базах данных
Primary key (Первичный ключ)
Уникальный идентификатор для каждой записи в таблице. Он не может быть равен NULL и должен быть уникальным для всей таблицы
Foreign key (Внешний ключ)
Поле в таблице, которое создает ссылочную связь между двумя таблицами. Оно используется для установления отношения между таблицами
Composite key (Составной ключ)
Комбинация двух или более столбцов, используемых в качестве первичного ключа, когда ни один отдельный столбец не достаточен для однозначной идентификации записи
Alternate key (Альтернативный ключ)
Уникальный идентификатор для записи, который не является первичным ключом. Его можно использовать в качестве вторичного ключа при поиске данных в таблице
Candidate key (Ключ-кандидат)
Уникальный идентификатор для записи в таблице, которая потенциально может использоваться в качестве первичного ключа
Surrogate key
Уникальный идентификатор для записи в таблице, обычно присваивается базой данных, а не самим пользователем
#database #sql
Primary key (Первичный ключ)
Уникальный идентификатор для каждой записи в таблице. Он не может быть равен NULL и должен быть уникальным для всей таблицы
Foreign key (Внешний ключ)
Поле в таблице, которое создает ссылочную связь между двумя таблицами. Оно используется для установления отношения между таблицами
Composite key (Составной ключ)
Комбинация двух или более столбцов, используемых в качестве первичного ключа, когда ни один отдельный столбец не достаточен для однозначной идентификации записи
Alternate key (Альтернативный ключ)
Уникальный идентификатор для записи, который не является первичным ключом. Его можно использовать в качестве вторичного ключа при поиске данных в таблице
Candidate key (Ключ-кандидат)
Уникальный идентификатор для записи в таблице, которая потенциально может использоваться в качестве первичного ключа
Surrogate key
Уникальный идентификатор для записи в таблице, обычно присваивается базой данных, а не самим пользователем
#database #sql
👍8🔥4🍾2
Media is too big
VIEW IN TELEGRAM
Стереотипы о программистах на различных языках согласно AI
😁30💩20🥰1👏1🤔1😢1
Схематически компиляция кода на C++ в exe-файл с помощью компилятора Microsoft Visual C++
#cpp
#cpp
👍11🍓6🔥3
Секционирование базы данных (partitioning) и Шардинг
Секционирование базы данных применяется для управляемости, а шардинг для масштабируемости.
Секционирование базы данных
Предполагает разделение данных на сегменты (разделы) для более удобного управления или группировки связанных данных.
Часто используется в рамках одной системы и прозрачно для приложения.
Шардинг
Предполагает разделение данных по нескольким базам данных или серверам для распределения нагрузки и горизонтального масштабирования.
Каждый сегмент работает независимо, и часто приложению требуется логика для направления запросов на нужный сегмент, если только система хранения данных не поддерживает перенаправление
Секционирование базы данных применяется для управляемости, а шардинг для масштабируемости.
Секционирование базы данных
Предполагает разделение данных на сегменты (разделы) для более удобного управления или группировки связанных данных.
Часто используется в рамках одной системы и прозрачно для приложения.
Шардинг
Предполагает разделение данных по нескольким базам данных или серверам для распределения нагрузки и горизонтального масштабирования.
Каждый сегмент работает независимо, и часто приложению требуется логика для направления запросов на нужный сегмент, если только система хранения данных не поддерживает перенаправление
👍8❤1🔥1
2 апреля 2025 года Роскомнадзор рекомендовал владельцам российских интернет-ресурсов отказаться от использования включённого по умолчанию расширения TLS ECH CDN-сервиса компании Cloudflare, так как оно обходит ограничения доступа к запрещённой в РФ информации.
В регуляторе сначала не пояснили, какое именно расширение имеется в виду, а также непонятно, где его надо отключить. Но потом появилсь дополнительная информация по этой ситуации.
«Американская компания CloudFlare, поставщик услуг CDN, включила в октябре 2024 года применение по умолчанию на своих серверах расширение TLS ECH (Encrypted Client Hello). Эта технология — средство обхода ограничений доступа к запрещенной в России информации. Его использование нарушает российское законодательство и ограничивается техническими средствами противодействия угрозам (ТСПУ)», — говорится в сообщении РКН.
«Рекомендуем владельцам информационных ресурсов отключить расширение TLS ECH или, что правильнее, использовать отечественные CDN‑сервисы, которые обеспечивают надёжное и безопасное функционирование ресурсов и защиту от компьютерных атак», — добавили в ведомстве.
https://www.interfax.ru/digital/1017951
В регуляторе сначала не пояснили, какое именно расширение имеется в виду, а также непонятно, где его надо отключить. Но потом появилсь дополнительная информация по этой ситуации.
«Американская компания CloudFlare, поставщик услуг CDN, включила в октябре 2024 года применение по умолчанию на своих серверах расширение TLS ECH (Encrypted Client Hello). Эта технология — средство обхода ограничений доступа к запрещенной в России информации. Его использование нарушает российское законодательство и ограничивается техническими средствами противодействия угрозам (ТСПУ)», — говорится в сообщении РКН.
«Рекомендуем владельцам информационных ресурсов отключить расширение TLS ECH или, что правильнее, использовать отечественные CDN‑сервисы, которые обеспечивают надёжное и безопасное функционирование ресурсов и защиту от компьютерных атак», — добавили в ведомстве.
https://www.interfax.ru/digital/1017951
Интерфакс
РКН рекомендует отказаться от обходящего блокировки расширения сервиса Cloudflare
Роскомнадзор (РКН) рекомендовал владельцам российских интернет-ресурсов отказаться от использования включённого по умолчанию расширения CDN-сервиса компании CloudFlare, так как оно обходит ограничения доступа к запрещённой в РФ информации."Американская компания…
🤡30🤣16👍2🥰2🖕2👏1
Рекомендации при разработке микросервисов:
1. Отдельное хранилище данных для каждого микросервиса.
2. Поддержка одинакового уровеня зрелости кода для разных сервисов
3. Отдельная сборка для каждого микросервиса
4. Каждый микросервис выполняет свою отдельную задачу
5. Развертывание в контейнерах
6. Разработка служб без сохранения состояния
7. Применение DDD (дизайн, ориентированный на предметную область)
8. Разработка микро-фронтенда
9. Оркестрация (автоматическое объединение, координация и управление) микросервисов
1. Отдельное хранилище данных для каждого микросервиса.
2. Поддержка одинакового уровеня зрелости кода для разных сервисов
3. Отдельная сборка для каждого микросервиса
4. Каждый микросервис выполняет свою отдельную задачу
5. Развертывание в контейнерах
6. Разработка служб без сохранения состояния
7. Применение DDD (дизайн, ориентированный на предметную область)
8. Разработка микро-фронтенда
9. Оркестрация (автоматическое объединение, координация и управление) микросервисов
👍16🔥1👏1
Компания Qt Company выпустила новую версию кроссплатформенного фреймворка Qt - Qt 6.9, предназначенного для создания графических приложений. Выпуск Qt 6.9 является промежуточным (не LTS) с поддержкой на 6 месяцев. Основные изменения в Qt 6.9:
- Развитие функциональности модуля Qt Graphs, предназначенного для построения 2D- и 3D-графиков и визуализации больших коллекций быстро меняющихся данных
- Добавлена поддеркжа использования в тексте кодов emoji и использования корректных цветных шрифтов для их отображения.
- В модуль Qt SVG добавлена начальная поддержка CSS-анимации
- Добавлен модуль Qt Network Authorization для аутентификации при помощи протоколов OAuth1 и OAuth2, которые можно использовать для получения доступа к online-сервисам без раскрытия пароля.
- Общее повышение производительности
И т.д. Подробнее: https://www.qt.io/blog/qt-6.9-released
- Развитие функциональности модуля Qt Graphs, предназначенного для построения 2D- и 3D-графиков и визуализации больших коллекций быстро меняющихся данных
- Добавлена поддеркжа использования в тексте кодов emoji и использования корректных цветных шрифтов для их отображения.
- В модуль Qt SVG добавлена начальная поддержка CSS-анимации
- Добавлен модуль Qt Network Authorization для аутентификации при помощи протоколов OAuth1 и OAuth2, которые можно использовать для получения доступа к online-сервисам без раскрытия пароля.
- Общее повышение производительности
И т.д. Подробнее: https://www.qt.io/blog/qt-6.9-released
www.qt.io
Qt 6.9 Released
Qt 6.9 is now available, highlighting emojis, Graphs, OIT, better OAuth2, and many more new improvements for application developers and device creators!
❤9👏2🤮2🥰1
2 апреля 2025 года Билл Гейтс в честь 50-летия Microsoft в своём блоге Gates Notes представил исходный код Altair BASIC (более 7 тыс. строк с комментариями), который он написал в соавторстве с Полом Алленом. Собственно Altair BASIC был первым продуктом Microsoft, с которого началась сама компания.
В своем блоге Гейтс назвал этот проект «самым крутым кодом», который он когда‑либо писал, и символом скромного начала компании. По его словам: «В 1975 году Пол Аллен и я создали Microsoft, потому что мы верили в наше видение компьютера на каждом столе и в каждом доме. Пять десятилетий спустя Microsoft продолжает изобретать новые способы сделать жизнь проще и работать более продуктивно. 50-летие — это огромное достижение, и мы не смогли бы этого сделать без таких невероятных лидеров, как Стив Балмер и Сатья Наделла, а также многих людей, которые работали в Microsoft на протяжении многих лет. Кажется, будто вчера мы с Алленом сгорбились над PDP-10 в компьютерной лаборатории Гарварда, написав код, который станет первым продуктом нашей новой компании. Этот код остается самым крутым кодом, который я когда‑либо писал... Я все еще получаю удовольствие, видя его, даже все эти годы спустя».
https://www.gatesnotes.com/meet-bill/source-code/reader/microsoft-original-source-code
В своем блоге Гейтс назвал этот проект «самым крутым кодом», который он когда‑либо писал, и символом скромного начала компании. По его словам: «В 1975 году Пол Аллен и я создали Microsoft, потому что мы верили в наше видение компьютера на каждом столе и в каждом доме. Пять десятилетий спустя Microsoft продолжает изобретать новые способы сделать жизнь проще и работать более продуктивно. 50-летие — это огромное достижение, и мы не смогли бы этого сделать без таких невероятных лидеров, как Стив Балмер и Сатья Наделла, а также многих людей, которые работали в Microsoft на протяжении многих лет. Кажется, будто вчера мы с Алленом сгорбились над PDP-10 в компьютерной лаборатории Гарварда, написав код, который станет первым продуктом нашей новой компании. Этот код остается самым крутым кодом, который я когда‑либо писал... Я все еще получаю удовольствие, видя его, даже все эти годы спустя».
https://www.gatesnotes.com/meet-bill/source-code/reader/microsoft-original-source-code
gatesnotes.com
Celebrating 50 years of Microsoft | Bill Gates
This one piece of code led to a half century of innovation from Microsoft.
👍27🔥6👏2
This media is not supported in your browser
VIEW IN TELEGRAM
Технический директор Microsoft Кевин Скотт заявил, что уже через пять лет 95% кода будет сгенерировано искусственным интеллектом. Он пояснил, что, хотя ИИ может написать большую часть кода, суть разработки программного обеспечения — дизайн, архитектура и общее творческое направление — останется в руках человека.
Скотт подчеркнул это различие, добавив: «Это не значит, что ИИ будет выполнять работу по разработке программного обеспечения».
Он считает, что доля участия разработчиков в создании программного обеспечения не снизится: «Я думаю, что более важная и интересная часть авторства по-прежнему будет полностью человеческой».
Скотт подчеркнул это различие, добавив: «Это не значит, что ИИ будет выполнять работу по разработке программного обеспечения».
Он считает, что доля участия разработчиков в создании программного обеспечения не снизится: «Я думаю, что более важная и интересная часть авторства по-прежнему будет полностью человеческой».
👍26🔥3👏1
Команда Django выпустила новый релиз веб-фреймворка - Django 5.2. Основных изменений не так много:
- Теперь все модели автоматически импортируются в оболочку по умолчанию.
- Django теперь поддерживает составные первичные ключи. Новый django.db.models.CompositePrimaryKey позволяет создавать таблицы с первичным ключом, состоящим из нескольких полей.
- Переопределение класса BoundField стало намного проще: теперь BoundField можно применять на уровне формы, поля или проекта.
Список всех изменений: https://docs.djangoproject.com/en/5.2/releases/5.2/
Также сообщается, что с выпуском Django 5.2, который имеет статус LTS, базовая поддержка Django 5.1 завершена. Django 5.1 будет получать исправления безопасности (расширенная поддержка) до декабря 2025 года. Всем пользователям рекомендуется обновиться до этого времени, чтобы продолжать получать исправления проблем безопасности.
А версия Django 5.0 достигла конца расширенной поддержки. Всем пользователям Django 5.0 рекомендуется обновиться до Django 5.1 или более поздней версии.
- Теперь все модели автоматически импортируются в оболочку по умолчанию.
- Django теперь поддерживает составные первичные ключи. Новый django.db.models.CompositePrimaryKey позволяет создавать таблицы с первичным ключом, состоящим из нескольких полей.
- Переопределение класса BoundField стало намного проще: теперь BoundField можно применять на уровне формы, поля или проекта.
Список всех изменений: https://docs.djangoproject.com/en/5.2/releases/5.2/
Также сообщается, что с выпуском Django 5.2, который имеет статус LTS, базовая поддержка Django 5.1 завершена. Django 5.1 будет получать исправления безопасности (расширенная поддержка) до декабря 2025 года. Всем пользователям рекомендуется обновиться до этого времени, чтобы продолжать получать исправления проблем безопасности.
А версия Django 5.0 достигла конца расширенной поддержки. Всем пользователям Django 5.0 рекомендуется обновиться до Django 5.1 или более поздней версии.
👍5🌭2👏1