Как стать автором
Обновить
  • по релевантности
  • по времени
  • по рейтингу

«PostgreSQL в кейсах» — продвинутый вебинар 28 января

Блог компании Southbridge PostgreSQL *SQL *Администрирование баз данных *Управление разработкой *


Приглашаем на вебинар «PostgreSQL в кейсах».


Уровень сложности — продвинутый, для тех, кто уже использует или обслуживает PostgreSQL.

Читать дальше →
Всего голосов 13: ↑11 и ↓2 +9
Просмотры 2K
Комментарии 5

18 марта: DataBase Meetup Online

Блог компании Центр Финансовых Технологий (ЦФТ) Oracle *PostgreSQL *Конференции DevOps *


В четверг, 18 марта, состоится DataBase Meetup Online – встреча для разработчиков и администраторов баз данных.

Начало в 15:00 (время МСК).

Для участия необходимо зарегистрироваться

В ответ на отправленную заявку вы получите ссылку на трансляцию и все явки-пароли.
Читать дальше →
Всего голосов 4: ↑3 и ↓1 +2
Просмотры 442
Комментарии 0

Weekend offer в X5 для системных аналитиков

Блог компании X5 Group Семантика *Анализ и проектирование систем *SQL *UML Design *

Приглашаем на Weekend Offer в X5 Group. Сокращаем дистанцию для системных аналитиков до двух дней: 31 июля — интервью, 2 августа — оффер.

Читать далее
Всего голосов 5: ↑5 и ↓0 +5
Просмотры 930
Комментарии 1

Укротителям слонов: 30 сентября пройдёт PGConf.NN

PostgreSQL *SQL *Хранение данных *

30 сентября 2021 года в Нижнем Новгороде пройдёт PGConf.NN – техническая конференция по СУБД PostgreSQL, организованная компанией Postgres Professional при активной поддержке партнера соорганизатора – ассоциации IT-компаний iCluster.

Участие бесплатное.

А что там будет?
Всего голосов 9: ↑9 и ↓0 +9
Просмотры 277
Комментарии 3

Внимание! Приглашаем программистов 1С и SQL к участию в Открытом Турнире по программированию

Спортивное программирование *SQL * *

14 октября 2021 года состоится Открытый Турнир по программированию на 1С и SQL.

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

Главный критерий оценки – работоспособность и результат. Победителем станет тот, кто решит наибольшее количество заданий за наименьшие штрафные баллы.

Воспользуйтесь возможностью заявить о себе в IT-мире

Для участия в конкурсе необходимо зарегистрироваться. Регистрация открыта с 10:00

04 октября 2021 года и продлится до 12 октября 2021 года до 23:00 по московскому времени: https://automakon.ru/

Читать далее
Всего голосов 5: ↑4 и ↓1 +3
Просмотры 1.5K
Комментарии 4

Бесплатный курс-симулятор: введение в SQL

Блог компании Нетология SQL *Администрирование баз данных *Учебный процесс в IT Data Engineering *

С 15 октября начнётся курс Нетологии «Введение в SQL и работу с базой данных». На пяти занятиях студенты изучат реальный кейс магазина, которому нужно собрать данные, настроить быстрый поиск информации и сформировать отчёты. После каждого урока обязательна практика и домашнее задание для закрепления навыков.

Что будет на курсе →
Всего голосов 5: ↑4 и ↓1 +3
Просмотры 2.6K
Комментарии 0

Ошибка в экспоненциальной форме записи чисел в MySQL сделала клиентов AWS WAF уязвимыми для внедрения SQL

Информационная безопасность *MySQL *SQL *

Этичные хакеры из Go Secure обнаружили ошибку в MySQL, угрожающую безопасности. Из-за неё клиенты AWS Web Application Firewall (WAF) остались незащищёнными от внедрения SQL. Ещё одна исследовательская группа дополнительно подтвердила, что это влияет на безопасность, и предоставила один из способов, как исправить эту ошибку.

Читать далее
Всего голосов 25: ↑25 и ↓0 +25
Просмотры 1.5K
Комментарии 4

MySQL 5.1 — что нового?

Разработка веб-сайтов *
В конце ноября состоялся бета-релиз MySQL 5.1. Это еще не стабильная версия, но уже по ней можно понять, какие новшества ожидают нас в финальном релизе.

Как пишут авторы сайта whenpenguinsattack.com, в версии 5.1 среди прочих, появляются следующие возможности:

* Разделение таблиц. Теперь одна таблица может с точки зрения MySQL разбиваться на части, которые физически сохраняются в различных местах. Для пользователя СУБД такая таблица будет по-прежнему единой и разбивка пройдет прозрачно.

* API для плагинов. Теперь в MySQL будут подгружаться плагины (различные компоненты) во время выполнения программы, т.е. без перезапуска сервера. Первым шагом в этом направлении становится появление плагинов полнотекстового парсинга, предназначенных для написания пользовательских фильтров индексируемого текста (как пример — реализация полнотекстового поиска по PDF).

* Планировщик событий. В базе данных появляется новый объект — событие (event). Это набор SQL-команд, которые будут выполняться регулярно по заданному расписанию.

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

оригинал
Всего голосов 11: ↑9 и ↓2 +7
Просмотры 1.3K
Комментарии 10

SQL-задачка

Чулан

Дано:


Таблица Numbers с одной колонкой ID типа INT.
Значение @ID
Значение @MaxAmount

Найти:


Одним SELECT'ом присвоить параметру @Available единицу (1) если количество записей в таблице не превышает @MaxAmount и в таблице нет записей со значеним равным @ID. В противном случае ничего не присваивать параметру @Available.

Усложнение:


Сделать все это без оператора CASE.

P.S. Я эту задачу для себя решил и она показалась мне настолько интересной, что я решил поделиться ею с вами. Это как задачи со звездочкой в учебниках по алгебре и геометрии.
Всего голосов 17: ↑12 и ↓5 +7
Просмотры 1.1K
Комментарии 10

Оптимизация хранимых процедур в MS SQL Server 2000/2005

IT-компании
Некоторое время назад я писал о случаях низкой производительности хранимых процедур: razbezhkin.habrahabr.ru/blog/24231.html

Описываю, как с этим можно боротся.
Читать дальше →
Всего голосов 1: ↑1 и ↓0 +1
Просмотры 1.3K
Комментарии 0

Основы Linq. Linq и n-уровневая архитектура

Чулан
Майкрософот предоставило новое легкое в освоении и очень мощное и гибко расширение языков .NET для обработки данных под названием Linq.

Как в многоуровневых приложениях спроектировать провайдер данных так, что бы получить набор объектов?

К примеру , есть таблица tbCustomers ((Int64)CustID, (String)Name, (int32)Age) и есть класс Customers:

publicclass Customers
{
    private Int64 _CustID;
    public Int64 CustID
    {
        get { return _CustID; }
        set { _CustID = value; }
    }

    private string _Name;
    public string Name
    {
        get { return _Name; }
        set { _Name = value; }
    }

    //Тип Int32 допускающее значение null
    private Int32? _Age;
    public Int32?Age
    {
        get { return _Age; }
        set { _Age = value; }
    }

    //Инициализаторы
    public Customers()
    {
    }
   
    public Customers(Int64 CustID, string Name, Int32? Age)
    {
        _CustID = CustID;
        _Name = Name;
        _Age = Age;
    }

    //Получение набора объектов из поставщика данных
    publicstatic List<Customers> GetCustomers()
    {
        return CustomersData.GetAllCustomers();
    }
}

и необходимо получить из поставщика набор объектов Customers.

Стандартное решение этого вопроса в .NET2.0 является использование пространства имен System.Data.SqlClient:

publicstatic class CustomersData
{
    //ИспользованиеSqlClient
    public static List<Customers> GetAllCustomers()
    {
        List<Customers> lst = new List<Customers>();
        using (SqlConnection conn = new SqlConnection(«Data Source=…»))
        {
            conn.Open();
            SqlCommand cmd = new SqlCommand(«SELECT CustID, Name, Age FROM tbCustomers», conn);
            SqlDataReader reader = cmd.ExecuteReader();
            while (reader.Read())
            {
                lst.Add(new Customers((Int64)reader[«CustID»], (String)reader[«Name»], (Int32)?reader[«Age»]));
            }
        }
        return lst;
    }
}

При использовании Linqмы можем получить набор данных из анонимных типов используя инициализатор объекта, т.е.

publicstatic class CustomersData
{
    //ИспользованиеLinq
    public static List<Customers> GetAllCustomers()
    {
        LinqDcDataContext db=new LinqDcDataContext();
        IEnumerable<Customers> result = db.tbCustomers.Select(c => new Customers(c.CustID, c.Name, c.Age));
        //ПриводимнаборIEnumerable<Customers> кList<Customers>
        return new List<Customers>(result);
    }
}




Оригинал статьи Linq в n-уровневой архитектуре
Всего голосов 5: ↑5 и ↓0 +5
Просмотры 1.8K
Комментарии 29

XQuery и виртуализация

Чулан
XQuery — это не просто технология из мира XML, а что-то, что всем придётся знать. Каким образом XQuery начинает своё наступление, рассказывается в этих статьях:

XQuery и абстракция данных
Функциональность XPath 2.0 (через XQuery или XSLT) даёт возможность работы с объектами и в тех случаях, когда данные не включены в объект, а хранятся во внешних источниках или даже существуют только в виртуальной форме.

XQuery, libferris и виртуальные файловые системы.
С помощью libferris можно всё что угодно превратить в виртуальную файловую систему. А так как ФС является деревом, то получается, что совместное использование XQuery и libferris даёт универсальную систему запросов к данным.

Спасибо kate_kulikova за перевод.
Всего голосов 9: ↑7 и ↓2 +5
Просмотры 552
Комментарии 6

М.Грубер — Понимание SQL.

Разработка веб-сайтов *
Возможно у всех уже пылиться на полочке или на ФС, но хотелось бы выложить замечательную книгу Мартина Груббера — Понимание SQL.

Скачать
Всего голосов 54: ↑45 и ↓9 +36
Просмотры 30K
Комментарии 36

Краткий справочник по PostgreSQL 8.3

PostgreSQL *


Вышла новая версия краткого справочника по работе с PostgreSQL 8.3.

скачать в формате PDF/A4

скачать в формате HTML




оригинал материала

Новости Web 2.0, Веб сервисы, Социальные сети, Мэшап, AJAX, Теги
Всего голосов 17: ↑16 и ↓1 +15
Просмотры 2.9K
Комментарии 3

PostgreSQL 8.3.0

Чулан
С момента выхода предыдущей не-багфикс версии PostgreSQL (8.2) прошло чуть больше года, а в официальном блоге уже пишут «Watch for 8.3 this week!».

Ну вот, похоже, дождались; хоть на сайте ещё и не объявлено (upd: теперь объявлено), но уже можно скачать и исходники новой версии 8.3.0, и даже бинарники под Windows.

А качать стоит. Согласно Release notes, в PostgreSQL 8.3 появилось много вкусного:
Читать дальше →
Всего голосов 17: ↑11 и ↓6 +5
Просмотры 301
Комментарии 5

PHP для нетребовательных. База Данных на коленке.

Чулан
Даже если у меня будет 1000 клиентов, для меня не будет острой необходимости в MySQL, а пока их значительно меньше… около 50, то это вообще не вопрос.
Автоматизация следующей задачи: необходимо хранить Логин и Время(регистрации) для каждого клиента.
Их 50, пусть 100.
Может потом еще пара параметров добавится.
Самый простой способ — хранить данные в файлах, ну не нравится мне SQL для таких простых задач. Поэтому решение называл — На коленке.

Формат файла?
Сначала хотел сделать для каждого пользователя отдельный PHP файл, который просто выполняешь при необходимости (как JSON)
Очень удобно, но его надо как-то генерить — неудобно.
В PHP есть функционал для работы с CSV форматом — тоже не нравится. Когда-то на Perl писал свою БД при помощи сериализации объектов.
т.е. берем хэш. Сериализуем его и пишем. Что там в файле — уже не важно, Желательно чтобы можно его было руками поправить легко.
Ну и все… В PHP есть такая же фигня.

В итоге Простецкая БД пишет так (PHP4):
$USER['timepaid']=$dt+2592000; //генерим хэш
$userdata=serialize($USER); //сериализуем
$handle = fopen ('папка-мамка/'.$u.'.txt',«w») or die('Моцарт');
fwrite($handle,$userdata); //пишем на коленке
fclose ($handle);

А читаем так:
$userdata=file_get_contents('папка-мамка/'.$u.'.txt'); //читаем файло
$USER=unserialize($userdata); // распаковывает
if ($dt_<$USER['timepaid']){} //и работаем с готовым хэшем

Преимущества на лицо:
1. Очень быстро все это написать
2. Коду почти нету(для PHP5 все будет еще короче)
3. не требует купленных у хостера Баз
4. Через FTP можно легко подправить любые данные
5. Проблемы с одновременным доступом практически исключены т.к. для каждого пользователя свой файл

Недостатки:
Естественно это лишь для начального этапа, когда клиентов перевалит за 500-1000 придется переходить на MySQL, ибо на FTP будет заходить мутно для ручной правки.
Всего голосов 30: ↑5 и ↓25 -20
Просмотры 599
Комментарии 19

Оптимизация работы с MySQL

MySQL *
Ни для кого не секрет, что работа с базой данных занимает большую часть работы практически любого сайта. И именно работа с БД чаще всего является узким местом веб-приложений.
В этой статье хотелось бы дать практические советы использования MySQL.
Сразу оговорюсь:
  • данная статья написана про MySQL, хотя общие вещи скорее всего справедливы для любой СУБД.
  • все написанное в статье является моей личной точкой зрения, и не является истиной в последней инстанции.
  • советы не претендуют на новизну и являются результатом обобщения прочтенной литературы и личного опыта.
  • в рамках данной статьи я не буду касаться вопросов конфигурирования MySQL.

Проблемы при использовании MySQL можно разделить на следующие три группы(в порядке значимости):
  1. Неиспользование или неправильное использование индексов.
  2. Неправильная структура БД.
  3. Неправильные \ неоптимальные SQL запросы.

Остановимся на каждой из этих групп подробнее.
Читать дальше →
Всего голосов 54: ↑52 и ↓2 +50
Просмотры 71K
Комментарии 107

Главное отличие версии 8.3, которое может вызвать проблемы при переходе на нее

PostgreSQL *
Встала задача переноса сайта на новый сервер. Из проблем ожидалась несовместимость с PHP5, которая в итоге очень быстро решилась, а сайт все равно не поднимался. Выяснилось, что не отрабатывают простейшие запросы к БД. При ближайшем рассмотрении оказалось, что не происходит автоматическое преобразование типов.
Читать дальше →
Всего голосов 24: ↑22 и ↓2 +20
Просмотры 605
Комментарии 41

Полмиллиона серверов IIS попали под атаку

Информационная безопасность *
В интернете распространяется эпидемия нового вируса, который эксплуатирует уязвимость в популярном веб-сервере Microsoft Internet Information Server. С заражённых сайтов осуществляется редирект на сайт с вредоносным кодом.

Определить факт заражения можно по появлению новой строчки в коде страниц.



Похоже, эпидемия приобретает глобальный масштаб. Первой на это обратила внимание антивирусная компания Panda Security, которая оценила количество поражённых серверов IIS в 282 тыс., но не прошло и суток, как компания F-Secure подняла планку до 500 тыс. Собственно, такую же картину показывает поиск через Google.



Эксперты предупреждают: если раньше, чтобы избежать заразы, нужно было воздерживаться от посещения сомнительных сайтов, то теперь подхватить трояна можно даже при посещении вполне респектабельного сайта, на котором установлен IIS.
Всего голосов 59: ↑51 и ↓8 +43
Просмотры 717
Комментарии 105

Подсветка исходного кода

.NET *
Переписал и изменил (специально для Хабры, а точнее для .NET блога) на досуге небольшой модуль, который подсвечивает исходный код C#, VB.NET, HTML/XML/ASPX, JavaScript и SQL.

Если Вы хотите вставить кусок исходного кода в новую запись или комментарий к записи, используйте Source Code Highlighter, который подсветит Ваш код.

Есть поддержка нумерации строк и вставки переноса строк, если вы отметили «Отключить автоформатирование» при написании поста.

Читать дальше →
Всего голосов 34: ↑30 и ↓4 +26
Просмотры 4.4K
Комментарии 82