|
|
![]() Рекурсивные регулярные выраженияПятница, 21 Января 2023 г. 02:08 (ссылка)
Принялось решение добавить регулярные выражения в свой язык программирования. По началу я подумал, что мне совершенно незачем в них разбираться и в интернете, наверняка, уже есть полно готовых библиотек. Стал искать, нашёл какие-то осколки кода на С++, которые ничего не дают. Пришлось самому разобраться, что такое регулярные выражения тут. Ради спортивного интереса, я решил сделать свою библиотеку на С++. Стал делать и подумал, а почему бы мне не добавить туда своих тараканов. Я решил добавить две конструкции: {namesubexpression} - вызов под выражения по имени "namesubexpression", Само описание под выражения может встречаться в любом месте структуры регулярного выражения и игнорируется при поиске, подобно закоментированым: (#MeComment). Конечно, я сделал стадию валидации и такие поисковые конструкции просто не допустятса в поисковую машину. Также валидацию не пройдет выражение, которое содержит в себе вызов не описанного под выражения. Вот пример текста, который можно спарсить рекурсивным регулярным выражением (РРВ): Я также решил добавить три зарезервированные конструкции: https://habr.com/ru/post/711942/?utm_source=habrahabr&utm_medium=rss&utm_campaign=711942
![]() Сортировка слиянием через рекурсиюСуббота, 14 Января 2023 г. 21:15 (ссылка)
В данной публикации мы продолжим применять рекурсию на практике и напишем код сортировки слиянием, а также разберем, как работает данный вид сортировки. Читать далееhttps://habr.com/ru/post/710620/?utm_source=habrahabr&utm_medium=rss&utm_campaign=710620
![]() PostgreSQL Antipatterns: Индиана Джонс и максимальное значение ключа, или В поисках «последних» записейПятница, 13 Января 2023 г. 15:40 (ссылка)
Сегодняшняя задача вполне традиционна для любых учетных систем - поиск записей, содержащих максимальное значение по каждому из ключей. Что-то вроде "покажи мне последний заказ по каждому из клиентов", если переводить в прикладную область. Кажется, что тут и споткнуться-то негде в реализации - но все оказывается совсем не тривиально. Читать далееhttps://habr.com/ru/post/710400/?utm_source=habrahabr&utm_medium=rss&utm_campaign=710400 ![]() SQL HowTo: обход дерева иерархии «по курсору» через двойную рекурсиюСреда, 29 Июня 2022 г. 10:00 (ссылка)
В предыдущих статьях "PostgreSQL Antipatterns: навигация по реестру", "PostgreSQL 13: happy pagination WITH TIES" и "SQL HowTo: курсорный пейджинг с неподходящей сортировкой" я уже рассматривал проблемы навигации по данным, представленных в виде плоского реестра. Но что если мы хотим выводить данные не простым "бесконечным списком", а в виде иерархической структуры с быстрой навигацией по узлам - например, обширный каталог товаров или меню ресторана, как это делает Presto - наш продукт для автоматизации заведений питания? Вот тут нам и придется что-то поизобретать... Читать далееhttps://habr.com/ru/post/673856/?utm_source=habrahabr&utm_medium=rss&utm_campaign=673856
![]() [Перевод] Управление приватными php репозиториями с помощью Composer и SatisЧетверг, 07 Апреля 2022 г. 16:10 (ссылка)
Как у организации, создающей вручную несколько качественных сайтов в год, у нас быстро возникла необходимость извлечения максимальной выгоды из определенного набора базовых средств. Несмотря на то, что некоторые из них были публичными или аутсорсными, как, например, наш фреймворк Wonderwp или библиотека pew.js, остальные мы бы хотели по возможности оставить приватными. Главным техническим средством в наших процессах сборки является Composer. Мы используем его из-за удобства управления нашими зависимостями, поэтому мы бы очень хотели, чтобы он позаботился и о наших приватных плагинах. Поэтому первым нашим шагом стало изучение официальной документации composer относительно приватных репозиториев. Ниже приведена некоторая квинтэссенция информации, как мне кажется, релевантной для нашей ситуации: Читать далееhttps://habr.com/ru/post/659627/?utm_source=habrahabr&utm_medium=rss&utm_campaign=659627
|
|
LiveInternet.Ru |
Ссылки: на главную|почта|знакомства|одноклассники|фото|открытки|тесты|чат О проекте: помощь|контакты|разместить рекламу|версия для pda |