PG12: Дюжина патчей от Postgres Professional

Автор: admin от 28-10-2019, 19:00, посмотрело: 74

Приятно видеть знакомые фамилии в списке Acknowledgments официального релиза PostgreSQL 12. Мы решили свести вместе попавшие в релиз новшества и некоторые багфиксы, над которыми трудились наши разработчики.



1. Поддержка JSONPath



(В Release Notes это звучит как Add support for the SQL/JSON path language (Nikita Glukhov, Teodor Sigaev, Alexander Korotkov, Oleg Bartunov, Liudmila Mantrova)



Сам этот патч, возможности JSONPath и история вопроса обсуждались в деталях в отдельной статье здесь на харбре. JSONPath — серьезное достижение Postgres Professional и одно из главных новшеств PostgreSQL 12 вообще.



В 2014 году А.Коротковым, О.Бартуновым и Ф.Сигаевым было разработано расширение jsquery, вошедшее в результате в версию Postgres Pro Standard 9.5 (и в более поздние версии Standard и Enterprise). Оно дает дополнительные, очень широкие возможности для работы с json(b).



Когда появился стандарт SQL:2016, оказалось, что его семантика не так уж сильно отличается от нашей в расширении jsquery. Не исключено, что авторы стандарта даже поглядывали на jsquery, изобретая JSONPath. Нашей команде пришлось реализовывать немного по-другому то, что у нас уже было и, конечно, много нового тоже.



Хотя специальный патч с функциями до сих пор не закоммичен, в патче JSONPath уже есть ключевые функции для работы с JSON(B), например:



jsonb_path_query('{"a": [1,2,3,4,5]}', '$.a[*] ? (@ > 2)') возвращает 3, 4, 5
jsonb_path_query('{"a": [1,2,3,4,5]}', '$.a[*] ? (@ > 5)') возвращает 0 записей


Кроме того, были оптимизированы и некоторые функции, которые уже работали с JSON раньше. Этим успешно занимался Никита Глухов.



Например, оператор #>>, соответствующий функциям jsonb_each_text() и jsonb_array_elements_text(), раньше достаточно быстро преобразовывал JsonbValue в text, но работал неторопливо с другими типами. Сейчас всё работает быстро.

Категория: Android

 

Приложение на ТСД и связь с 1С: Предприятие 8.3 через HTTP-Сервис

Автор: admin от 28-10-2019, 19:00, посмотрело: 81

  • Для кого

  • Выбор способа обмена. Описание API.

  • Реализация API на стороне 1С.

  • Android. Cтруктура приложения.

  • BroadcastReceiver. Получаем данные ШК на примере АТОЛ Smart.Lite.

  • Реализуем обмен и хранение данных. Используем Retrofit 2, Room, Coroutines.

  • Пользовательский интерфейс. LiveData, PagedList.
  • Категория: Android

     

    Навигация в кроссплатформенных приложениях: почему NavController победил angular/router в Ionic 4

    Автор: admin от 28-10-2019, 18:25, посмотрело: 71

    Навигация в кроссплатформенных приложениях: почему NavController победил angular/router в Ionic 4



    Всем привет! Меня зовут Никита Жигамовский, программист в KitApp и я хочу рассказать о своем опыте построения навигации в Ionic 4: проблеме, с которой столкнулся, и ее решении.



    Я занимаюсь разработкой кросс-платформенных решений для мобильных приложений с 2018 года. Раньше работал на Ionic 3-й версии, но, так как время идет, функционал развивается, решил перейти на версию поновее, да и надоедливые моменты и баги предыдущей модели в Ionic 4 вроде бы уже устранили.

    Категория: Веб-разработка

     

    К вопросу о математике

    Автор: admin от 28-10-2019, 16:05, посмотрело: 76

    К вопросу о математике


    Периодически возникающие в тематических форумах споры о том, нужна ли программисту математика, давно стали общим местом и областью священных войн. Находясь на нашей (правильной) стороне границы, отделяющей добро от зла, хочу поделиться одним примером, наглядно демонстрирующем, насколько она нужна и даже (не побоимся этого слова) необходима.



    Рассмотрим интересную задачу на программирование, которая имеет несколько олимпиадный характер.

    Пнп: Начиная с этого момента сторонники идеи о том, что программирование в наше время состоит в красивом оформлении веб-страничек, могут прекратить чтение, Вы абсолютно правы, математика Вам не нужна…

    Ну не нужно так настаивать на своем, Вы ничуть не хуже нас, и Ваша работа по настоящему важна, я ведь уже согласился, что у нас разные представления о программировании…

    Да, Вы совершенно правы, что эти олимпиадники не смогут, при помощи последнего фреймворка, нарисовать семь красных перпендикулярных линий в одну строку кода…

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

    Всем остальным сюда

    Категория: Программирование

     

    Как НАСА собирается схватить и дозаправить спутник на низкой околоземной орбите

    Автор: admin от 28-10-2019, 15:20, посмотрело: 50

    В 2022 году роботизированный космический корабль от НАСА займётся обслуживанием спутника Landsat 7



    Как НАСА собирается схватить и дозаправить спутник на низкой околоземной орбите


    В обозримом будущем доступ в космос останется крайне затратным. Даже при использовании таких трюков, как многоразовые ракеты или запуск с воздушных шаров и гигантских самолётов, стоимость вывода килограмма полезного груза на низкую орбиту Земли всё ещё составляет несколько тысяч долларов. А как только вы вывели что-то на орбиту, дальше оно (за небольшим исключением) оказывается предоставленным самому себе, и остаётся только надеяться, что оно выполнит свою задачу до того, как у него закончится топливо. После этого большинство спутников оказываются бесполезными.



    В целом такая система кажется чрезвычайно неэффективной. НАСА хотело бы изменить это, и считает великолепной идеей разместить в космосе ремонтные мастерские и заправочные станции. Несколько программ по обслуживанию спутников находятся на разных стадиях разработки, и в этом году команда журнала IEEE Spectrum посетила центр роботизированных технологий при центре космических полётов Годдарда НАСА, чтобы узнать об этом поподробнее.

    Категория: Космонавтика

     

    Отладка скрытых утечек памяти в Ruby

    Автор: admin от 28-10-2019, 15:00, посмотрело: 50

    Отладка скрытых утечек памяти в Ruby

    В 2015-м я написал об инструментарии, который Ruby предоставляет для обнаружения управляемых утечек памяти. В основном статья рассказывала о легко управляемых утечках. На этот раз я расскажу об инструментах и хитростях, которые вы можете применять для ликвидации утечек, которые в Ruby не так легко проанализировать. В частности, я расскажу о mwrap, heaptrack, iseq_collector и chap.

    Категория: Веб-разработка

     

    Открываем сезон PHP-митапов в Нижнем Новгороде 2 ноября

    Автор: admin от 28-10-2019, 14:15, посмотрело: 66

    В прошлую пятницу Илон Маск добавился в чат PHP Russia (как тебе такое, краснодарский форум), ростовское комьюнити завело свои телеграм-стикеры, а мы снова открыли регистрацию на первый митап нижегородского сообщества, которую закрыли по ошибке.



    Открываем сезон PHP-митапов в Нижнем Новгороде 2 ноябряКартинка вдохновлена серией работ “гигантские коты захватили Нижний” художницы Nastya W[/i]



    Кажется, это мог быть самый необычный митап года. Ведь на нем планировалась дуэль.
    Узнать про дуэль и следующие митапы

    Категория: Программирование

     

    Как работала графическая система Sega Mega Drive: Video Display Processor

    Автор: admin от 28-10-2019, 13:20, посмотрело: 81

    Как работала графическая система Sega Mega Drive: Video Display Processor

    Описание концепции VDP




    • VDP

      • "Video Display Processor"

      • Чип видеоконтроллера, занимающийся работой с тайловой графикой, плоскостями скроллинга и спрайтами Genesis. На самом деле не является процессором.


    • VRAM

      • "Video RAM"

        • RAM (ОЗУ), используемая VDP

        • Содержит тайлы (изображения размером 8x8 пикселей)



    • Два основных типа консолей

      • Консоли NTSC

        • «Sega Genesis», 60-герцовые машины, в основном распространённые в США

        • Разрешения

          • Режим H40 — 320x224 пикселя (40x28 тайлов). Самый распространённый режим разрешения

          • Режим H32 — 256x224 пикселей (32x28 тайлов). Менее популярный режим разрешения


        • Наша студия Mega Cat выпускает NTSC-игры, поэтому использует эти разрешения!


      • Консоли PAL

        • «Sega Mega Drive», 50-герцовые машины, продавались во всём остальном мире

        • Разрешение

          • Режим H40 — 320x240 пикселей (40x30 тайлов). Самый распространённый режим разрешения

          • Режим H32 — 256x240 пикселей (32x30 тайлов). Менее популярный режим разрешения






    Как работала графическая система Sega Mega Drive: Video Display ProcessorСлева: NTSC Model 2 Sega Genesis, справа: PAL Model 2 Mega Drive (европейская)

    Категория: Microsoft

     

    «Ждёт тебя дорога дальняя…» или решение задачи прогнозирования на C# с помощью Ml.NET (DataScience)

    Автор: admin от 28-10-2019, 13:20, посмотрело: 91

    В последнее время мне все чаще на глаза попадается информация о фреймворке для машинного обучения Ml.NET. Количество упоминаний о нем переросло в качество, и я решил хотя бы одним глазком глянуть, что же это за зверь такой.



    Ранее мы с вами уже пробовали решить простейшую задачу предсказания с помощью линейной регрессии в экосистеме .NET. Для этого мы использовали Accord.NET Framework. Для этих целей из открытых данных по обращениям граждан в органы исполнительной власти и лично в адрес мэра г. Москвы, был подготовлен небольшой набор данных.



    Спустя пару лет на обновлённом наборе данных мы попробуем решить простейшую задачу. Используя модель регрессии в Ml.NET Framework предскажем сколько запросов в месяц получает положительное решение. Попутно мы сравним Ml.NET с Accord. NET и библиотеками на Python.



    Хотите овладеть силой и могуществом предсказателя? Тогда милости прошу под кат.



    «Ждёт тебя дорога дальняя…» или решение задачи прогнозирования на C# с помощью Ml.NET (DataScience)



    P.S. Пусть вас не смущает изображение С.С. Собянина, в статье не будет ни слова о политике.

    Категория: Программирование / Microsoft

     

    Нам нужен другой Битрикс

    Автор: admin от 28-10-2019, 12:45, посмотрело: 49

    Как быстро определить, что на отдельно взятый сайт забили, и им никто не занимается? Если в подвале главной страницы в копирайте стоит не текущий год, а старый, то именно в этом году опека над сайтом скоропостижно оборвалась. Так и на странице входа в актуальную админку Битрикса на конец 2019-го года стоит 2016 год.

    Категория: Программирование

     
    Назад Вперед