Pull to refresh
12
0
Павел @Hubbitus

Архитектор ИТ

Send message

Спасибо за статью.
А не планируете ли вы выпустить в опен-сорс своё PaaS решение? Такой российский OpenShift.

Само решение в статье очень интересное, спасибо. Сам так хотел сделать.

Но, если я правильно понимаю, SSL не поддерживается модулем, только если кафка без авторизации можно в неё слать?
При этом вроде как и lua-resty-kafka не умеет. Кто-то имел опыт с альтернативными решениями?

What the problem do you have with nginx 1.24.1?

А можно как в Excel написать функцию, которую потом можно было бы использовать в формуле?

Спасибо, выглядит весьма интересно.

Python модуля как интерфейса к этому нет? Чтобы можно было удобно поиграться в Jupyter? Опять же с привычным pandas интерфейсом и встроенными визуализациями скажем в bokeh или vegas?

Ну и опять же, разве столь уж принципиально сейчас потребление памяти (если в вашем примере даже на 1000 строк не хватает 100Гб), нежели работа алгоритма на том же кластере, скажем Spark или Flink? В этом плане Java/Scala или Python кажутся более предпочтительными...

Минусы вроде джойнов и так указаны изначально. Это решается же материализацией датамартов, как производных. А иметь нормальную, структурированную и разложенную в истории базу всех данных это прекрасная идея. Разве нет?

А здесь беда с SSL сертификатом:

Websites prove their identity via certificates. Firefox does not trust this site because it uses a certificate that is not valid for 2021.smartdataconf.ru. The certificate is only valid for the following names: *.jugru.org, jugru.org

Error code: SSL_ERROR_BAD_CERT_DOMAIN

Добрый день. А ссылки-то на все доклады битые. 404 ошибка.
Есть возможность поправить?

Похоже кончилась…
github.com/ExchangeCalendar/exchangecalendar тоже поддерживает только версии thunderbird до 60, даже в альфа пре-релизах.

Получается альтернатив больше нет?
«VK Tech Talks | Performance Advertising» ведёт на m.vk.com/wall-147415323_5257, откуда предлагают регистрироваться и ссылка на m.vk.com/app6013442_-147415323?form_id=12#form_id=12. А там пишут «Unfortunately, this page is unavailable in the mobile version.»
И вопрос по существу. Написано «Для тех, кто не сможет прийти, мы проведём онлайн-трансляцию в сообществе.». А запись есть? Может ссылочки выложите?
Если честно, не совсем понял. На сколько я вижу обе под одинаковыми лицензиями. Или есть разница? Если вам это правда нужно, я могу попробовать адаптировать на использование других имплементаций. Тогда хотелось бы подробнее понять потребность. Но это, полагаю, уже лучше в issue.

Так а нет проблемы!
Хотя в демо-проекте и указано sourceCompatibility = 1.8 это лишь чтобы не поднимать требования напрасно.


Т.к. явно указаны зависимости как API, таки имплементации, нет никаких проблем. Тесты нормально проходят под openjdk 11: image


Ворнинги от groovy это лишь запуск тестов, они могут быть спокойно проигнорированы, подробнее в его багтрекере баг GROOVY-8339, то есть это никак не относится к плагину и Jaxb.

Groovy сам по себе отлаживать не проблема совершенно. Интересует как отлаживать то что мы внедрили таким изощрённым способом. Даже если подключиться дебаггером, там будет evaluate (execute) т.к. это фактически строка. Есть ли способ остановиться брэкпоинтом в коде?

Суть в том что если я внедряю в приложение логгинг подобным образом, вероятно у меня нет контроля над его исходным кодом (купленное проприетарное). То есть я не могу всё запустить в любимой IDE.

Второй вопрос здесь же — по примеру сделать скрипт легко, а если я пишу свой скрипт разбора и логгирование, а приложение стартует пару минут — поседеть можно отлаживать скрипт каждый раз перезапуская полностью. Есть ли возможность скрипт менять в рантайме?
Как вы отлаживаете код, написанный в XML для aspectj-scripting?
Да, конечно. JMeter многое умеет, например тот же JDBC (БД). SMTP, LDAP, FTP, MOM, JMS и многое другое. Можно писать свои протоколы плагинами.
Спасибо большое за интересные статьи и что продолжаете, как обещали.
Часть теории конечно вполне тривиальна, но здорово что всё вместе и последовательно.

Я хотел спросить на счёт порядка определения своего класса операторов. Скажем в вашем примере, сначала для комплексных чисел используется дефолтный метод. Что если мы сначала создадим btree индекс по этому полю, а потом уже определим класс операторов:
create operator class complex_ops

Достаточно ли postgres «умный» чтобы не стать использовать для индексов, создававшихся с другими операторами вновь созданный?

И если мы хотим чтобы старый индекс стал использовать новый класс операторов, его обязательно пересоздавать? Или есть другие возможности перестроения (REINDEX)?
Не могли бы вы пожалуйста пояснить подробнее про хранение NULL и что нужно было увидеть с помощью Pageinspect?

Я пытаюсь разобрать приведённый вами пример:

CREATE TABLE t1(x int, y int);
CREATE TABLE t2(x int not null, y int not null);
INSERT INTO t1 VALUES (1, 1)
SELECT * FROM heap_page_items(get_raw_page('t1', 0)) limit 1;

Вывод:

 lp     lp_off     lp_flags     lp_len     t_xmin     t_xmax     t_field3     t_ctid     t_infomask2     t_infomask     t_hoff     t_bits     t_oid     t_data           
 -----  ---------  -----------  ---------  ---------  ---------  -----------  ---------  --------------  -------------  ---------  ---------  --------  ---------------- 
 1      8160       1            32         4302       0          0            (0,1)      2               2048           24         (null)     (null)    0100000001000000


INSERT INTO t2 VALUES (1, 1)
SELECT * FROM heap_page_items(get_raw_page('t2', 0)) limit 1;


Вывод:
 lp     lp_off     lp_flags     lp_len     t_xmin     t_xmax     t_field3     t_ctid     t_infomask2     t_infomask     t_hoff     t_bits     t_oid     t_data           
 -----  ---------  -----------  ---------  ---------  ---------  -----------  ---------  --------------  -------------  ---------  ---------  --------  ---------------- 
 1      8160       1            32         4303       0          0            (0,1)      2               2048           24         (null)     (null)    0100000001000000 


Абсолютно одинаковые.

Пробую вставит null значения:
INSERT INTO t1 VALUES (null, null)
SELECT * FROM heap_page_items(get_raw_page('t1', 0)) limit 1;


 lp     lp_off     lp_flags     lp_len     t_xmin     t_xmax     t_field3     t_ctid     t_infomask2     t_infomask     t_hoff     t_bits     t_oid     t_data           
 -----  ---------  -----------  ---------  ---------  ---------  -----------  ---------  --------------  -------------  ---------  ---------  --------  ---------------- 
 1      8160       1            32         4302       0          0            (0,1)      2               2048           24         (null)     (null)    0100000001000000


И всё равно всё то же самое.

На каком основании сделать какая из них занимает меньше места?

P.S. Форматированный вывод, который выроятно будет удобнее смотреть: paste.fedoraproject.org/paste/z50hMUVlKZ4Idh0mgqTEBQ
На postgres 9.6, как минимум, команда просмотра заголовка для таблицы выдаёт ошибку:
SELECT * FROM heap_page_items(get_raw_page('t1', 0)) limit 1;

ERROR: block number 0 is out of range for relation «t1»

Вероятно стоит добавить что для этого требуется в таблицу вставить хотя бы один кортеж.

Information

Rating
Does not participate
Location
Санкт-Петербург, Санкт-Петербург и область, Россия
Registered
Activity