Библиотека баз данных
Самая большая библиотека бесплатных книг по SQL По всем вопросам- @haarrp @ai_machinelearning_big_data - machine learning @pythonl - Python @itchannels_telegram - 🔥 best it channels @ArtificialIntelligencedl - AI РКН: № 5037640984
نمایش بیشتر📈 تحلیل کانال تلگرام Библиотека баз данных
کانال Библиотека баз данных (@sql_lib) در بخش زبانی روسی بازیگری فعال است. در حال حاضر جامعه شامل 10 154 مشترک است و جایگاه 11 533 را در دسته فناوری و برنامهها و رتبه 62 043 را در منطقه روسيا دارد.
📊 شاخصهای مخاطب و پویایی
از زمان ایجاد در невідомо، پروژه رشد سریعی داشته و 10 154 مشترک جذب کرده است.
بر اساس آخرین دادهها در تاریخ 06 اکتبر, 2026، کانال فعالیت پایداری دارد. در ۳۰ روز گذشته تغییر اعضا برابر -48 و در ۲۴ ساعت گذشته برابر -5 بوده و همچنان دسترسی گستردهای حفظ شده است.
- وضعیت تأیید: تأیید نشده
- نرخ تعامل (ER): میانگین تعامل مخاطب 9.38% است و در ۲۴ ساعت نخست پس از انتشار، محتوا معمولاً 3.81% واکنش نسبت به کل مشترکان کسب میکند.
- دسترسی پستها: هر پست به طور میانگین 952 بازدید دریافت میکند. در اولین روز معمولاً 387 بازدید جمعآوری میشود.
- واکنشها و تعامل: مخاطبان بهطور فعال حمایت میکنند؛ میانگین واکنش به هر پست 5 است.
- علایق موضوعی: محتوا بر موضوعات کلیدی مانند sql, субд, индекс, user_id, архитектура تمرکز دارد.
📝 توضیح و سیاست محتوایی
نویسنده این فضا را محل بیان دیدگاههای شخصی توصیف میکند:
“Самая большая библиотека бесплатных книг по SQL
По всем вопросам- @haarrp
@ai_machinelearning_big_data - machine learning
@pythonl - Python
@itchannels_telegram - 🔥 best it channels
@ArtificialIntelligencedl - AI
РКН: № 5037640984”
به لطف بهروزرسانیهای پرتکرار (آخرین داده در تاریخ 07 اکتبر, 2026)، کانال همواره بهروز و دارای دسترسی بالاست. تحلیلها نشان میدهد مخاطبان بهطور فعال با محتوا تعامل دارند و آن را به نقطه اثرگذاری مهم در دسته فناوری و برنامهها تبدیل کردهاند.
localhost:5432 - получили Connection refused.
Одна из возможных причин: теперь этот адрес ведёт внутрь контейнера с приложением. Если PostgreSQL работает отдельно, приложение ищет базу не там.
Наруто и его клон сидят в разных комнатах. Для каждого «здесь» означает свою комнату. В обычной изолированной сети Docker похожая история: у каждого контейнера свой localhost.
Если база в соседнем контейнере
В общей сети Docker Compose сервисы доступны по именам. Если сервис PostgreSQL называется db, настройки приложения могут выглядеть так:
DB_HOST=db
DB_PORT=5432
Названия переменных зависят от приложения. Здесь важны адрес db и порт, который слушает PostgreSQL внутри контейнера.
Даже если у базы настроено:
ports:
- "15432:5432"
из соседнего контейнера обращаемся к `db:5432`, а с компьютера - к `localhost:15432`.
Если база работает на компьютере
В Docker Desktop для доступа из контейнера к хосту предусмотрено имя:
host.docker.internal
В Docker Engine на Linux может понадобиться добавить в настройки сервиса приложения:
extra_hosts:
- "host.docker.internal:host-gateway"
При этом PostgreSQL должен слушать доступный из контейнера адрес и разрешать такие подключения. Одной замены имени хоста недостаточно, если доступ закрывают настройки базы или файрвол.
Что проверить при Connection refused:
• Где запущена база: в этом контейнере, соседнем или на хосте?
• Правильно ли указаны адрес и порт?
• Есть ли у контейнеров общая сеть?
• Запущена ли база и готова ли принимать подключения?
Не каждая ошибка подключения связана с localhost, но после переноса приложения в Docker его стоит проверить одним из первых.NULL:
SELECT NULL = NULL;
-- NULL
Поэтому условие:
WHERE old_value = new_value
не считает два NULL равными.
В PostgreSQL используйте:
WHERE old_value IS NOT DISTINCT FROM new_value
Оператор работает как безопасный аналог =:
1 IS NOT DISTINCT FROM 1 -- true
NULL IS NOT DISTINCT FROM NULL -- true
1 IS NOT DISTINCT FROM NULL -- false
Полезно при сравнении версий строк, поиске изменений и синхронизации таблиц:
SELECT *
FROM old_data o
JOIN new_data n USING (id)
WHERE o.email IS DISTINCT FROM n.email;
Запрос вернёт строки, где значение действительно изменилось, включая переходы NULL → значение и значение → NULL.Open-OSS/privacy-filter возглавил топ Hugging Face, маскируясь под инструмент OpenAI. Под видом модели Privacy Filter распространялся инфостилер для Windows. Проект набрал 244 тысячи скачиваний за 18 часов.
При попытке использования установочные скрипты загружали вредонос, который повышал привилегии в системе через UAC и добавляла себя в исключения Microsoft Defender. Стилер собирал пароли, данные криптокошельков, токены сессий Discord и конфигурации FileZilla, после чего полностью удалял свои следы из системы.
По данным аналитиков HiddenLayer, эта атака использует инфраструктуру, связанную с китайской хакерской группировкой Silver Fox. Администрация Hugging Face уже заблокировала доступ к репозиторию.
thehackernews.com
@ai_machinelearning_big_data
#news #ai #ml async Task<IActionResult> пишется на автомате. Вы точно знаете, почему EF Core сгенерировал именно такой SQL - и как переписать запрос, чтобы он летал.
Это не фантазия. Это результат после 16 модулей, в которых каждая концепция объясняется через код и закрепляется практикой.
ООП, SOLID, LINQ, async/await, DI, EF Core, ASP.NET Core, Docker, Kubernetes - всё, что казалось магией, станет рабочим инструментом.
А бонусом - портфолио проектов: от CLI-утилит и REST API до собственного SaaS с multi-tenancy, JWT и деплоем в Kubernetes под TLS.
Скидка - 58% доступна 48 часов: https://stepik.org/a/282984/
SELECT * FROM orders WHERE status = 'paid';
И потом сравнивают: «вернулись нужные строки или нет».
Но в реальных системах чаще ломается не сам happy path, а скрытые свойства данных.
Например, для отчёта по заказам тест должен проверять не только конкретные строки, а правила:
-- сумма по пользователям должна совпадать с общей суммой
WITH by_user AS (
SELECT user_id, SUM(amount) AS total
FROM orders
WHERE status = 'paid'
GROUP BY user_id
),
overall AS (
SELECT SUM(amount) AS total
FROM orders
WHERE status = 'paid'
)
SELECT
(SELECT SUM(total) FROM by_user) = (SELECT total FROM overall) AS is_valid;
То есть вы тестируете не «мне вернулось 10 строк», а:
агрегаты не теряют деньги
join не размножает строки
фильтр не выкидывает валидные данные
NULL не ломает расчёты
сумма после группировки совпадает с суммой до группировки
каждый order попадает ровно в одну категорию
дедупликация не удаляет нужные записи
Особенно полезный приём - тест на размножение строк после JOIN:
WITH before_join AS (
SELECT COUNT(*) AS cnt
FROM orders
),
after_join AS (
SELECT COUNT(*) AS cnt
FROM orders o
JOIN users u ON u.id = o.user_id
)
SELECT
after_join.cnt <= before_join.cnt AS no_unexpected_multiplication
FROM before_join, after_join;
Если после JOIN строк стало больше без явной причины - у вас почти наверняка проблема с кардинальностью.
Хороший SQL-тест проверяет не только ответ, а свойства запроса, которые должны оставаться истинными при любых данных. Именно так ловятся баги, которые не видно на маленьком тестовом датасете.
https://www.youtube.com/shorts/Rj2HKshtWO8