home.social

#библиотеки — Public Fediverse posts

Live and recent posts from across the Fediverse tagged #библиотеки, aggregated by home.social.

  1. React stack 2026: карта лучших библиотек по категориям

    Открываете очередной React-проект в 2026 году и смотрите на белый экран package.json . Какой роутер? Vite или Next.js? shadcn/ui или Mantine? Zustand или всё-таки Redux Toolkit? React Hook Form или TanStack Form? И как вообще теперь делать таблицы — TanStack Table или AG Grid? Каждая из этих категорий за последние 2-3 года прошла через смену лидера. То что было стандартом в 2022 (Redux, Material UI, Webpack, styled-components, Formik), в 2026 либо в legacy-режиме, либо проиграло свежим конкурентам. Те кто работают в одной экосистеме годами, могут не заметить как сместились веса в соседних слоях стека — пока не открывают новый проект и не сталкиваются с тем что “стандарт”, которым они пользовались, теперь редко выбирают. Эта статья — карта актуального React-стека 2026 года , разбитая по 60+ категориям. По каждой — что выбрал бы я для нового проекта в 2026, какие есть альтернативы для специфических случаев, что считается legacy и почему. Плюс — типовые комбинации стека под разные виды проектов (SaaS dashboard, collaborative editor, real-time dashboard, streaming app, consumer landing).

    habr.com/ru/articles/1032830/

    #react #typescript #javascript #frontend #2026 #библиотеки #npm #state_management #tooling #web_development

  2. React stack 2026: карта лучших библиотек по категориям

    Открываете очередной React-проект в 2026 году и смотрите на белый экран package.json . Какой роутер? Vite или Next.js? shadcn/ui или Mantine? Zustand или всё-таки Redux Toolkit? React Hook Form или TanStack Form? И как вообще теперь делать таблицы — TanStack Table или AG Grid? Каждая из этих категорий за последние 2-3 года прошла через смену лидера. То что было стандартом в 2022 (Redux, Material UI, Webpack, styled-components, Formik), в 2026 либо в legacy-режиме, либо проиграло свежим конкурентам. Те кто работают в одной экосистеме годами, могут не заметить как сместились веса в соседних слоях стека — пока не открывают новый проект и не сталкиваются с тем что “стандарт”, которым они пользовались, теперь редко выбирают. Эта статья — карта актуального React-стека 2026 года , разбитая по 60+ категориям. По каждой — что выбрал бы я для нового проекта в 2026, какие есть альтернативы для специфических случаев, что считается legacy и почему. Плюс — типовые комбинации стека под разные виды проектов (SaaS dashboard, collaborative editor, real-time dashboard, streaming app, consumer landing).

    habr.com/ru/articles/1032830/

    #react #typescript #javascript #frontend #2026 #библиотеки #npm #state_management #tooling #web_development

  3. React stack 2026: карта лучших библиотек по категориям

    Открываете очередной React-проект в 2026 году и смотрите на белый экран package.json . Какой роутер? Vite или Next.js? shadcn/ui или Mantine? Zustand или всё-таки Redux Toolkit? React Hook Form или TanStack Form? И как вообще теперь делать таблицы — TanStack Table или AG Grid? Каждая из этих категорий за последние 2-3 года прошла через смену лидера. То что было стандартом в 2022 (Redux, Material UI, Webpack, styled-components, Formik), в 2026 либо в legacy-режиме, либо проиграло свежим конкурентам. Те кто работают в одной экосистеме годами, могут не заметить как сместились веса в соседних слоях стека — пока не открывают новый проект и не сталкиваются с тем что “стандарт”, которым они пользовались, теперь редко выбирают. Эта статья — карта актуального React-стека 2026 года , разбитая по 60+ категориям. По каждой — что выбрал бы я для нового проекта в 2026, какие есть альтернативы для специфических случаев, что считается legacy и почему. Плюс — типовые комбинации стека под разные виды проектов (SaaS dashboard, collaborative editor, real-time dashboard, streaming app, consumer landing).

    habr.com/ru/articles/1032830/

    #react #typescript #javascript #frontend #2026 #библиотеки #npm #state_management #tooling #web_development

  4. React stack 2026: карта лучших библиотек по категориям

    Открываете очередной React-проект в 2026 году и смотрите на белый экран package.json . Какой роутер? Vite или Next.js? shadcn/ui или Mantine? Zustand или всё-таки Redux Toolkit? React Hook Form или TanStack Form? И как вообще теперь делать таблицы — TanStack Table или AG Grid? Каждая из этих категорий за последние 2-3 года прошла через смену лидера. То что было стандартом в 2022 (Redux, Material UI, Webpack, styled-components, Formik), в 2026 либо в legacy-режиме, либо проиграло свежим конкурентам. Те кто работают в одной экосистеме годами, могут не заметить как сместились веса в соседних слоях стека — пока не открывают новый проект и не сталкиваются с тем что “стандарт”, которым они пользовались, теперь редко выбирают. Эта статья — карта актуального React-стека 2026 года , разбитая по 60+ категориям. По каждой — что выбрал бы я для нового проекта в 2026, какие есть альтернативы для специфических случаев, что считается legacy и почему. Плюс — типовые комбинации стека под разные виды проектов (SaaS dashboard, collaborative editor, real-time dashboard, streaming app, consumer landing).

    habr.com/ru/articles/1032830/

    #react #typescript #javascript #frontend #2026 #библиотеки #npm #state_management #tooling #web_development

  5. Как мы оптимизировали компоненты во фронтенде: работа с версиями и оптимизация процессов

    Привет, Хабр! Меня зовут Василий Беляев. Я руководитель группы разработки по направлению фронтенда в ИТ-компании «Криптонит». В этой статье я расскажу про организацию работы с версиями и компонентами, оптимизацию рабочего процесса внутри команды, а также опишу несколько лайфхаков, которые мы применили

    habr.com/ru/companies/kryptoni

    #оптимизация #frontend #vuejs #библиотеки #packagejson #workflow #конфигурация #сборка_проекта #синхронизация_версий

  6. [Перевод] Некоторые мысли о проектировании библиотек (с примерами на Go)

    Программисты много пользуются библиотеками. Но спроектировать библиотеку сложно. В этой статье я изложу некоторые соображения по поводу того, как создавать библиотеки. Для начала разграничим, чем нам приходится заниматься при программировании. Попробуем представить акты программирования как беседы. Далее разберём, какие основные виды деятельности складываются в «программирование», как его принято понимать. Всё это послужит нам основой для разработки более качественных программных библиотек.

    habr.com/ru/articles/1014318/

    #библиотеки #зависимости #интерфейсы #проектирование_систем #программирование #go

  7. Системный подход к Agile: исследование совместимостей Java библиотек [лонг]

    Java называют языком программирования. С формальной точки зрения это может быть и так. На практике картина более широкая: я считаю, что Java нужно рассматривать как целую программную систему для гибкой (Agile) разработки. В ней можно выделить четыре ключевых подсистемы, которые вместе образуют Java платформу : 1. Система ведения онтологии и моделирования бизнеса 2. Система верификации типов с правилами подстановки 3. Система среды исполнения динамического кода 4. Система модульной эволюции кодовой базы Пост утверждает, что настоящей гибкости, требуемой для реально модульных программ, поддающихся эволюции, так нужной энтерпрайзам, в Java практически нет; вместо неё царит хаос и тотальное смешение понятий на поле боя , где онтология, проектировка, реализация, рантайм да и сам разработчик ведут борьбу каждый за свои собственные принципы, в то время как главной жертвой является модульность. Для доказательства возьму конкретную тему совместимостей библиотек. Этот вопрос с технической стороны хорошо изучен, и разделяют три вида совместимостей: исходную, бинарную и поведенческую. Но будет полезным привести примеры еще раз, разбив не просто по этим трём категориям, а по зонам ответственности, для того, чтобы понять, какие трения возникают между самими подсистемы Явы. После обширного анализа будет представлено видение направления развития Явы как платформы, получившей новую среду скриптовых языков GraalVM . Основным тезисом служит заявление, что Агиль методология требует строгой трактовки, дисциплины и продуманных инструментов, чтобы свобода разработчика не превратилась в её свободный полёт в пучину хаоса.

    habr.com/ru/articles/1010714/

    #java #совместимость #верификация_программ #библиотеки #знания #экосистемы #agile #compatibility #binary_compatibility #агил

  8. [Перевод] Temporal: 9-летний путь к исправлению времени в JavaScript

    Cтарший инженер-программист в организации JavaScript Infrastructure & Terminal Experience компании Bloomberg Джейсон Уильямс опубликовал пост, в котором рассказал, как он вместе с командой реализовывал библиотеку Temporal вместо Date для различных типов дат и времени. Автор выступает делегатом TC39 (группы экспертов из Ecma International, отвечающей за стандартизацию и развитие языка JavaScript) и имеет опыт стандартизации функций, реализации языка и участия в крупных проектах с открытым исходным кодом. Джейсон также является создателем движка Boa JavaScript.

    habr.com/ru/articles/1009474/

    #bloomberg_terminal #java #javascript #javascript_library #date #api #temporal #datetime #дата_и_время #библиотеки

  9. 5 библиотек, которые помогут улучшить UX в вашем React Native-приложении

    Даже если вы разрабатываете MVP в условиях жестких сроков, не стоит забывать: результатом нашей работы будет приложение, которым будут пользоваться реальные люди. Причем первыми пользователями вполне могут оказаться инвесторы, заказчики или стейкхолдеры, которые оценивают продукт на ранней стадии. И будет здорово, если их первая реакция будет не «ну, работает», а «вау, это выглядит как полноценный продукт». Почему разработчикам вообще стоит задумываться о пользовательском опыте? Кажется, что это зона ответственности product/project-менеджеров, UX-дизайнеров и аналитиков. Но на практике у разработчиков в мобильных проектах есть довольно большая свобода влиять на UX-детали. Более того, многие мелкие улучшения интерфейса стоят буквально десятки строк кода и несколько минут времени, но при этом заметно повышают ощущение «живости» приложения. Меня зовут Алексей Цуцоев, я Frontend TeamLead в KODE. В этой статье разберу несколько библиотек, которые позволяют быстро улучшить UX React Native-приложения без значительных затрат на разработку.

    habr.com/ru/articles/1009370/

    #мобильная_разработка #адаптивная_вёрстка #интерфейсы #фронтенд #библиотеки #ux

  10. Stitches закрыт — да здравствует StyleX

    История фронтенда хорошо показывает, что инструменты редко исчезают мгновенно. Чаще они проходят понятный цикл: сначала решают конкретную проблему и быстро набирают популярность, потом становятся привычной частью стека, а со временем уступают место следующему подходу. Примерно так развивается и CSS-in-JS. Когда он появился, это выглядело логичным шагом: стили рядом с компонентами, темы, токены и удобная интеграция с React. Со временем стало ясно, что у этой модели есть и ограничения — стили генерируются в рантайме, усложняется SSR, а в больших приложениях начинают накапливаться накладные расходы. Появились попытки сделать CSS-in-JS легче и быстрее. Одной из них стал Stitches: он сохранил удобный DX и заметно сократил рантайм. Но развитие проекта остановилось, а требования к фронтенду продолжают расти. Поэтому всё чаще обсуждают другой подход — перенос генерации стилей на этап сборки. В этой логике и появился StyleX.

    habr.com/ru/articles/1008446/

    #вебразработка #стайлинг #фронтенд #библиотеки #стилизация #styledcomponents #css #sass #css_modules

  11. Vue DnD Kit v2: революция в мире Drag N Drop для Vue.js

    Vue DnD Kit v2: headless drag-and-drop с composable API — делай что хочешь, как хочешь Если вы когда-нибудь пробовали сделать drag-and-drop на Vue по-настоящему гибким — с кастомным overlay, вложенными зонами, multi-drag и анимацией при отпускании — вы знаете, что большинство библиотек держат вас в клетке. Vue DnD Kit v2 эту клетку сломал. И вам это понравится!)

    habr.com/ru/articles/1007680/

    #vuejs #draganddrop #библиотеки #dndkit #vuednd #frontendразработка #dnd #sortable #kanban #tree

  12. Аудитор: Человеко-Ориентированный Трекер Эволюции Библиотек

    Java принято называть языком программирования, но по сути это целая программная система, включающая три уровня: формальную верификацию модели через теорию типов, среду выполнения с динамическим линковщиком JVM и ментальную модель, которую разработчик выстраивает вокруг библиотек. Когда автор меняет сигнатуру метода, страдает не только байт-код — рушится контракт и привычное представление о стабильности API. Существующие инструменты проверяют бинарную и исходную совместимость, но их ответ сводится к вопросу «упадёт или не упадёт». При этом они не объясняют суть изменений: например, если метод перенесли из подкласса в суперкласс, анализатор покажет «удалено в А, добавлено в Б» — технически верно, но по смыслу ничего не объясняет. Здесь нужен человеко-ориентированный подход . Библиотеки — такие же продукты, как и любые другие, и их потребители заслуживают внятного объяснения того, как эволюционирует API. Предлагаемый инструмент — Аудитор — умеет не только проверять совместимость, но и распознавать рефакторинги по их смыслу: отслеживать перемещение методов по иерархии, выявлять смену ответственности между классами, обнаруживать паттерны изменений. Вместо сухого списка «добавлено/удалено» он генерирует человеко-читаемые отчёты на вики-страницах проекта, где разработчик видит не просто факты, а историю эволюции структуры API. Это сохраняет актуальность ментальной модели библиотеки и снижает риск неверной интерпретации изменений при обновлении версий. В статье будут рассмотрены нюансы каждого из 3х уровней, чтобы дать теоретические основы, необходимые для понятия бинарной и исходной совместимостей версий (binary & source compatibility), а также же представлен практический обзор на новый фреймворк, написанный мною, для их автоматического аудита на вики-страницах, которые станут прекрасным дополнением к вашим Java проектам.

    habr.com/ru/articles/1004286/

    #java #api #документация #совместимость #библиотеки #экосистема #binary_compatibility #agile #wiki

  13. Аудитор: Человеко-Ориентированный Трекер Эволюции Библиотек

    Java принято называть языком программирования, но по сути это целая программная система, включающая три уровня: формальную верификацию модели через теорию типов, среду выполнения с динамическим линковщиком JVM и ментальную модель, которую разработчик выстраивает вокруг библиотек. Когда автор меняет сигнатуру метода, страдает не только байт-код — рушится контракт и привычное представление о стабильности API. Существующие инструменты проверяют бинарную и исходную совместимость, но их ответ сводится к вопросу «упадёт или не упадёт». При этом они не объясняют суть изменений: например, если метод перенесли из подкласса в суперкласс, анализатор покажет «удалено в А, добавлено в Б» — технически верно, но по смыслу ничего не объясняет. Здесь нужен человеко-ориентированный подход . Библиотеки — такие же продукты, как и любые другие, и их потребители заслуживают внятного объяснения того, как эволюционирует API. Предлагаемый инструмент — Аудитор — умеет не только проверять совместимость, но и распознавать рефакторинги по их смыслу: отслеживать перемещение методов по иерархии, выявлять смену ответственности между классами, обнаруживать паттерны изменений. Вместо сухого списка «добавлено/удалено» он генерирует человеко-читаемые отчёты на вики-страницах проекта, где разработчик видит не просто факты, а историю эволюции структуры API. Это сохраняет актуальность ментальной модели библиотеки и снижает риск неверной интерпретации изменений при обновлении версий. В статье будут рассмотрены нюансы каждого из 3х уровней, чтобы дать теоретические основы, необходимые для понятия бинарной и исходной совместимостей версий (binary & source compatibility), а также же представлен практический обзор на новый фреймворк, написанный мною, для их автоматического аудита на вики-страницах, которые станут прекрасным дополнением к вашим Java проектам.

    habr.com/ru/articles/1004286/

    #java #api #документация #совместимость #библиотеки #экосистема #binary_compatibility #agile #wiki

  14. Аудитор: Человеко-Ориентированный Трекер Эволюции Библиотек

    Java принято называть языком программирования, но по сути это целая программная система, включающая три уровня: формальную верификацию модели через теорию типов, среду выполнения с динамическим линковщиком JVM и ментальную модель, которую разработчик выстраивает вокруг библиотек. Когда автор меняет сигнатуру метода, страдает не только байт-код — рушится контракт и привычное представление о стабильности API. Существующие инструменты проверяют бинарную и исходную совместимость, но их ответ сводится к вопросу «упадёт или не упадёт». При этом они не объясняют суть изменений: например, если метод перенесли из подкласса в суперкласс, анализатор покажет «удалено в А, добавлено в Б» — технически верно, но по смыслу ничего не объясняет. Здесь нужен человеко-ориентированный подход . Библиотеки — такие же продукты, как и любые другие, и их потребители заслуживают внятного объяснения того, как эволюционирует API. Предлагаемый инструмент — Аудитор — умеет не только проверять совместимость, но и распознавать рефакторинги по их смыслу: отслеживать перемещение методов по иерархии, выявлять смену ответственности между классами, обнаруживать паттерны изменений. Вместо сухого списка «добавлено/удалено» он генерирует человеко-читаемые отчёты на вики-страницах проекта, где разработчик видит не просто факты, а историю эволюции структуры API. Это сохраняет актуальность ментальной модели библиотеки и снижает риск неверной интерпретации изменений при обновлении версий. В статье будут рассмотрены нюансы каждого из 3х уровней, чтобы дать теоретические основы, необходимые для понятия бинарной и исходной совместимостей версий (binary & source compatibility), а также же представлен практический обзор на новый фреймворк, написанный мною, для их автоматического аудита на вики-страницах, которые станут прекрасным дополнением к вашим Java проектам.

    habr.com/ru/articles/1004286/

    #java #api #документация #совместимость #библиотеки #экосистема #binary_compatibility #agile #wiki

  15. Аудитор: Человеко-Ориентированный Трекер Эволюции Библиотек

    Java принято называть языком программирования, но по сути это целая программная система, включающая три уровня: формальную верификацию модели через теорию типов, среду выполнения с динамическим линковщиком JVM и ментальную модель, которую разработчик выстраивает вокруг библиотек. Когда автор меняет сигнатуру метода, страдает не только байт-код — рушится контракт и привычное представление о стабильности API. Существующие инструменты проверяют бинарную и исходную совместимость, но их ответ сводится к вопросу «упадёт или не упадёт». При этом они не объясняют суть изменений: например, если метод перенесли из подкласса в суперкласс, анализатор покажет «удалено в А, добавлено в Б» — технически верно, но по смыслу ничего не объясняет. Здесь нужен человеко-ориентированный подход . Библиотеки — такие же продукты, как и любые другие, и их потребители заслуживают внятного объяснения того, как эволюционирует API. Предлагаемый инструмент — Аудитор — умеет не только проверять совместимость, но и распознавать рефакторинги по их смыслу: отслеживать перемещение методов по иерархии, выявлять смену ответственности между классами, обнаруживать паттерны изменений. Вместо сухого списка «добавлено/удалено» он генерирует человеко-читаемые отчёты на вики-страницах проекта, где разработчик видит не просто факты, а историю эволюции структуры API. Это сохраняет актуальность ментальной модели библиотеки и снижает риск неверной интерпретации изменений при обновлении версий. В статье будут рассмотрены нюансы каждого из 3х уровней, чтобы дать теоретические основы, необходимые для понятия бинарной и исходной совместимостей версий (binary & source compatibility), а также же представлен практический обзор на новый фреймворк, написанный мною, для их автоматического аудита на вики-страницах, которые станут прекрасным дополнением к вашим Java проектам.

    habr.com/ru/articles/1004286/

    #java #api #документация #совместимость #библиотеки #экосистема #binary_compatibility #agile #wiki

  16. Как открытые библиотеки, вроде Anna's Archive, разозлили правообладателей и получили многомиллионные иски

    В начале января 2026 года стало известно, что проект Anna's Archive, основная цель которого — поиск и скачивание бесплатных пиратских книг и другого контента, теперь не контролирует свое основное доменное имя: оно было переведено в статус serverHold. Возможная причина такой ситуации — неоднократные и многочисленные претензии со стороны правообладателей.

    habr.com/ru/companies/onlinepa

    #anna_archive #библиотеки #библиотека_знаний #копирайт #копирайт_в_интернете

  17. От ручного конфига к автоматическому мониторингу: обзор новой библиотеки go-discovery для Tarantool 3.0

    Когда у вас 50+ узлов Tarantool в кластере, ручное управление соединениями превращается в боль. Узлы падают, реплики становятся мастерами, новые инстансы добавляются — и все это нужно отслеживать в реальном времени. Рассказываем, как мы спроектировали go-discovery — библиотеку для автоматического обнаружения узлов кластера Tarantool 3.0.

    habr.com/ru/companies/vktech/a

    #Tarantool #архитектура #отказоустойчивость #go #мониторинг #vk_tech #библиотеки

  18. Как жёсткие правила сборки релизов упростили жизнь инженерам финтеха

    Перевели инфраструктуру Java-разработки высоконагруженного финтеха с SLA 99,99% на доверенный репозиторий компонентов. Это отечественные продукт из экосистемы Axiom JDK . Делимся инженерными деталями этого перехода.

    habr.com/ru/companies/axiomjdk

    #axiomjdk #axiom_jdk #репозиторий #maven_central #maven #gradle #библиотеки #библиотека_компонентов #цепочки_поставок #безопасная_разработка

  19. Мой ТОП-5 лучших CSS-in-JS решений

    В одном из проектов мне нужно было создать сложную админку для крупного клиента. Интерфейс требовал большо количества интерактивностей, а также поддержку различных тем и динамических стилей. Именно тогда я решил обратить свой взгляд на CSS-in-JS библиотеки, и это для меня стало большим открытием. Ведь стилизация компонентов – основа для создания интуитивно понятных и эстетически приятных интерфейсов. И иногда традиционные методы стилизации, такие как CSS-файлы или препроцессоры, имеют свои ограничения и могут усложнять сам процесс разработки, чего мы точно не хотим. Здесь вот и приходят на помощь решения CSS-in-JS, объединяющие фичи JS и CSS.

    habr.com/ru/companies/otus/art

    #js #css #cssinjs #frameworks #библиотеки #вебразработка #программирование #вебдизайн #typescript

  20. Самые важные пакеты в экосистеме Dart и Flutter на Pub 2024

    Компания Very Good Ventures провела исследование и опубликовала рейтинг самых важных пакетов в экосистеме Dart и Flutter. Рассказываем, какие пакеты вошли в топ — от независимых разработчиков, компаний и сообщества.

    habr.com/ru/companies/friflex/

    #dart #flutter #flutter_mobile_development #flutter_app_development #мобильная_разработка #библиотеки #пакеты #исследование_программ

  21. Восемь высокопроизводительных Python-библиотек в копилку разработчикам

    Когда в 1991 году Гвидо ван Россум представил миру Python, никто не мог предсказать, какое место через несколько десятилетий этот язык займет в веб-разработке, Data Science и Machine Learning. Сейчас Python продолжает развиваться: с новым поколением инструментов в прошлое уходят традиционные ограничения — производительность, GIL и сложность параллельных вычислений. Привет, Хабр! С вами Леша Жиряков, я руковожу бэкенд-направлением витрины KION, возглавляю гильдию по Python и пишу для блога MWS на Хабре. Я каждый день сталкиваюсь с вызовами высоконагруженных систем и сформировался пул инструментов, которые помогают решать критические проблемы современной разработки — от обработки данных с Polars до управления зависимостями с UV. В этом материале я сделаю обзор Python-библиотек, с которыми можно создавать системы, сравнимые по производительности с Go и Rust.

    habr.com/ru/companies/ru_mts/a

    #библиотеки #python #fastapi #litestar #polars #httpx #dask #Pydantic_V2 #ruff #Pithon_UV

  22. Топ-5 библиотек для управления состоянием React в 2025 году

    Хранение данных и управление глобальным состоянием в React-приложениях всегда было важной темой среди разработчиков. К 2025 году выбор подходящей библиотеки для решения этих задач стал еще более разнообразным — от проверенного Redux до современных, легковесных решений, таких как Zustand и SWR. Каждое из этих решений имеет свои особенности, плюсы и подводные камни, что делает выбор оптимального инструмента порой непростым. В этой статье я рассмотрю 5 самых популярных библиотек на сегодняшний день, проанализирую их основные преимущества, применение на реальных проектах и актуальность в контексте последних трендов разработки. Привет, Хабр! Меня зовут Мария Кустова, я frontend-разработчик IBS. Подобного рода сравнительные исследования стейт-менеджеров выходят каждый год. Когда я начинала сбор информации, именно перевод похожей статьи стал для меня отправной точкой, но в ней были приведены другие библиотеки. Думаю, эта статья будет интересна тем, кто хочет узнать, что сейчас активно используют коллеги по React.

    habr.com/ru/companies/ibs/arti

    #react #библиотеки #redux #zustand #mobx #rtk_query #swr

  23. No fail, no gain: как мы исправили более миллиона тестов, проверяя оптимизацию библиотеки OpenBLAS под RISC-V

    Открытая архитектура RISC-V активно развивается: в стандарт добавляются новые расширения и инструкции, разрабатываются новые ядра и SoC. Поскольку многие компании видят перспективы архитектуры и готовы использовать ее в продакшене, создается программный стек для высокопроизводительных вычислений — RISC-V HPC (High Performance Computing). Прогресс сопровождает формирование нового тренда — OpenHPC. Он заключается в технологической независимости от решений коммерческих компаний. Причем это относится не только к ПО, но и к железу. Чтобы концепция OpenHPC реализовывалась быстрее, нужно, чтобы к инициативе присоединилось как можно больше компаний, помогающих в развитии экосистемы решений для RISC-V HPC. Меня зовут Андрей Соколов, я инженер-программист в компании YADRO. В R&D-команде мы поставили перед собой задачу: изучить, как можно поддержать архитектуру RISC-V со стороны библиотек линейной алгебры BLAS и LAPACK. Тестирование одной из open source-библиотек привело нас к интересным открытиям, о которых я расскажу под катом. Результаты тестов

    habr.com/ru/companies/yadro/ar

    #openblas #blas #lapack #линейная_алгебра #библиотеки #оптимизация #riscv

  24. NumPy для самых маленьких

    Математика везде в нашей жизни, но в программировании, а особенно ML ее два раза больше. Обычно Питон берут в пример самого "научного" языка программирования из-за математических фреймворков. Как не Питон может помочь оперировать математическими абстракциями, некоторые из сферы ресерча пользуются исключительно питоном для всяких научных изысканий — сегодня мы поговорим про библиотеку NumPy и работу с массивами. Самая новичковая "библиотека" с примочками в виде SciPy и Matplotlib предназначена для работы с многомерными массивами. NumPy – основа для многих других библиотек для машинного обучения, таких как SciPy, Pandas, Scikit-learn и TensorFlow. Pandas, например, строится поверх NumPy и позволяет работать со структурами данных высокого уровня по типу DataFrame и Series. При помощи NumPy можно проводить преобразование категориальных данных в числовой формат, например, с использованием кодирования one-hot.

    habr.com/ru/articles/809109/

    #Питон #нейросети #искусственный_интеллект #maching_learning #машинное_обучение #фреймворки #библиотеки #Numpy #numpy_datascience #Основы_программирования

  25. NumPy для самых маленьких

    Математика везде в нашей жизни, но в программировании, а особенно ML ее два раза больше. Обычно Питон берут в пример самого "научного" языка программирования из-за математических фреймворков. Как не Питон может помочь оперировать математическими абстракциями, некоторые из сферы ресерча пользуются исключительно питоном для всяких научных изысканий — сегодня мы поговорим про библиотеку NumPy и работу с массивами. Самая новичковая "библиотека" с примочками в виде SciPy и Matplotlib предназначена для работы с многомерными массивами. NumPy – основа для многих других библиотек для машинного обучения, таких как SciPy, Pandas, Scikit-learn и TensorFlow. Pandas, например, строится поверх NumPy и позволяет работать со структурами данных высокого уровня по типу DataFrame и Series. При помощи NumPy можно проводить преобразование категориальных данных в числовой формат, например, с использованием кодирования one-hot.

    habr.com/ru/articles/809109/

    #Питон #нейросети #искусственный_интеллект #maching_learning #машинное_обучение #фреймворки #библиотеки #Numpy #numpy_datascience #Основы_программирования

  26. NumPy для самых маленьких

    Математика везде в нашей жизни, но в программировании, а особенно ML ее два раза больше. Обычно Питон берут в пример самого "научного" языка программирования из-за математических фреймворков. Как не Питон может помочь оперировать математическими абстракциями, некоторые из сферы ресерча пользуются исключительно питоном для всяких научных изысканий — сегодня мы поговорим про библиотеку NumPy и работу с массивами. Самая новичковая "библиотека" с примочками в виде SciPy и Matplotlib предназначена для работы с многомерными массивами. NumPy – основа для многих других библиотек для машинного обучения, таких как SciPy, Pandas, Scikit-learn и TensorFlow. Pandas, например, строится поверх NumPy и позволяет работать со структурами данных высокого уровня по типу DataFrame и Series. При помощи NumPy можно проводить преобразование категориальных данных в числовой формат, например, с использованием кодирования one-hot.

    habr.com/ru/articles/809109/

    #Питон #нейросети #искусственный_интеллект #maching_learning #машинное_обучение #фреймворки #библиотеки #Numpy #numpy_datascience #Основы_программирования

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

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

    habr.com/ru/articles/934672/

    #архитектура_приложений #архитектура_по #библиотеки #libraries #directx #инкапсуляция #incapsulation

  28. [Перевод] Как заново реализовать тетрис

    Я из тех программистов, кому нравится всё реализовать самостоятельно. Нет, я не имею в виду, что не доверяю работе, сделанной другими. Скорее, я полагаю, что, если сделаю что-нибудь сам, то из этого будет гораздо больше толку, чем если просто взять чужую реализацию. Например, я написал на С мой собственный парсер регулярных выражений, при этом воспользовался моей собственной библиотекой структур данных на C . Надеюсь, когда-нибудь потом напишу об этом подробнее. Вне всяких сомнений, я наработал массу опыта и знаний, выполняя все эти вещи самостоятельно. Поэтому, на мой взгляд, вполне целесообразно и далее так делать, то есть, попробовать выполнить какой-то проект, уже реализованный ранее. Всё это — именно с целью самообучения. На этот раз я взялся самостоятельно перепроектировать «Тетрис». Чтобы было ещё интереснее, я решил всё сделать на C. На самом деле, это не первая моя игра на C – немного ранее я уже успел написать на С клон сапёра . В блоге также об этом не писал, но, может быть, напишу в будущем, так как проект получился очень интересным. Пожалуй, этот опыт пригодился мне в работе над «Тетрисом».

    habr.com/ru/companies/timeweb/

    #timeweb_статьи #игры #тетрис #программирование #разработка_игр #сапер #софт #библиотеки #GUI #GTK #Microsoft_Windows #tetris #Linux

  29. Погружение в матрицу: расширение RISC-V от T-Head

    Продолжим нашу «антологию матричных расширений» текстом про независимое матричное расширение RISC-V от компании T-Head. Почему мы рассматриваем именно его? Интересно понять, что из себя представляет будущее стандартное матричное расширение RISC-V, попробовать реализовать алгоритм с его использованием, соотнести это со своим предыдущим опытом низкоуровневых оптимизаций. Кроме того, это интересная возможность попробовать написать программу для расширения, которого еще нет ни в одном процессоре, и запустить ее на эмуляторе. А еще ISA этого расширения весьма минималистична и, на мой взгляд, идеально подходит для тех, кто никогда не использовал матричные расширения в своем коде, но хочет попробовать (или узнать, как это выглядит изнутри). Не переживайте, текст не требует опыта низкоуровневых оптимизаций математических библиотек: погружение в матрицу будет постепенным. Начать погружение

    habr.com/ru/companies/yadro/ar

    #thead #матричное_расширение #матричное_умножение #операции #risvv #низкоуровневая_оптимизация #библиотеки #линейная_алгебра

  30. Кратко про библиотеку gevent в Python: высокопроизводительная асинхронная библиотека

    Привет, Хабр! Gevent — это высокопроизводительная асинхронная библиотека для Python, которая решает проблемы многозадачности с помощью корутин, известных как " зеленые потоки " или Greenlets . Зеленые потоки — легковесные корутины, которые позволяют выполнять задачи одновременно без затрат ресурсов, связанных с традиционными потоками. Также Gevent преуспевает в неблокирующих операциях ввода/вывода и имеется встроенная техника под названием " monkey patching ", которая модифицирует некоторые модули стандартной библиотеки, делая их кооперативными. Так можно преобразовывать блокирующие вызовы в неблокирующие в рамках среды Gevent.

    habr.com/ru/companies/otus/art

    #python #программирование #gevent #библиотеки #highload #высокая_производительность #otus

  31. Погружение в матрицу: расширение RISC-V от T-Head

    Продолжим нашу «антологию матричных расширений» текстом про независимое матричное расширение RISC-V от компании T-Head. Почему мы рассматриваем именно его? Интересно понять, что из себя представляет будущее стандартное матричное расширение RISC-V, попробовать реализовать алгоритм с его использованием, соотнести это со своим предыдущим опытом низкоуровневых оптимизаций. Кроме того, это интересная возможность попробовать написать программу для расширения, которого еще нет ни в одном процессоре, и запустить ее на эмуляторе. А еще ISA этого расширения весьма минималистична и, на мой взгляд, идеально подходит для тех, кто никогда не использовал матричные расширения в своем коде, но хочет попробовать (или узнать, как это выглядит изнутри). Не переживайте, текст не требует опыта низкоуровневых оптимизаций математических библиотек: погружение в матрицу будет постепенным. Начать погружение

    habr.com/ru/companies/yadro/ar

    #thead #матричное_расширение #матричное_умножение #операции #risvv #низкоуровневая_оптимизация #библиотеки #линейная_алгебра

  32. Погружение в матрицу: расширение RISC-V от T-Head

    Продолжим нашу «антологию матричных расширений» текстом про независимое матричное расширение RISC-V от компании T-Head. Почему мы рассматриваем именно его? Интересно понять, что из себя представляет будущее стандартное матричное расширение RISC-V, попробовать реализовать алгоритм с его использованием, соотнести это со своим предыдущим опытом низкоуровневых оптимизаций. Кроме того, это интересная возможность попробовать написать программу для расширения, которого еще нет ни в одном процессоре, и запустить ее на эмуляторе. А еще ISA этого расширения весьма минималистична и, на мой взгляд, идеально подходит для тех, кто никогда не использовал матричные расширения в своем коде, но хочет попробовать (или узнать, как это выглядит изнутри). Не переживайте, текст не требует опыта низкоуровневых оптимизаций математических библиотек: погружение в матрицу будет постепенным. Начать погружение

    habr.com/ru/companies/yadro/ar

    #thead #матричное_расширение #матричное_умножение #операции #risvv #низкоуровневая_оптимизация #библиотеки #линейная_алгебра

  33. Создание библиотек и публикация в npm

    Занимаясь веб-разработкой в it-компании Intelsy на аутсорс- и аутстафф-проектах, я постоянно подключаю и использую библиотеки. Решил собрать воедино всю накопленную информацию по этой теме и поделиться с теми, кому это может быть нужно: с опытными или начинающими разработчиками, с целыми командами - для облегчения работы и ее усовершенствования.

    habr.com/ru/articles/804403/

    #библиотеки #библиотеки_js #библиотека_компонентов #typescript #javascript #npm #npm_package #npm_scripts #npmпакет

  34. [Перевод] Собрал в одном большом гайде всё, что хотел бы знать, когда изучал язык C

    Очевидный факт: язык C — это основа большого количества современных экосистем программирования. Он обеспечивает фундамент многих операционных систем, базовых библиотек и системных инструментов. При этом все еще не существует единого ресурса, который последовательно и связно отвечает на важные вопросы, возникающие при изучении C: окружающая экосистема разработки языка, выбор инструментов, переносимость кода, управление зависимостями и глубокие аспекты работы. Своим постом автор Jenny Jam* пытается заполнить этот пробел. Он рассуждает, когда C — идеальный выбор, а когда лучше обратиться к другим языкам. Описывает, как настроить среду разработки и выбрать инструменты, разобраться в версиях, особенностях сборки и тонкостях работы с библиотеками, а также знакомит с ключевыми концепциями обеспечения безопасности и управления памятью. Цель статьи — упорядочить представление о языке C и его экосистеме, и, конечно, дать практические советы, которые пригодятся в реальных проектах. *Обращаем ваше внимание, что позиция автора может не всегда совпадать с мнением МойОфис

    habr.com/ru/companies/ncloudte

    #перевод #язык_c #язык_программирования #программирование #среда_разработки #среда_программирования #библиотеки #переносимость_кода #управление_зависимостями

  35. Документация приложения — дело рук самого приложения

    Знакомо ли вам чувство, когда на поддержке есть сервис, о принципах работы которого знает буквально пара человек? В таких условиях очередная задача по миграции с одного решения на другое эквивалентна по-дурацки спродюсированному квесту из ролевой игры: ищем документацию, просматриваем глазами код, вызваниваем тех немногих, кто посвящен в таинства организации компонента системы. В какой-то момент порог негодования в нашей команде достиг критической отметки. Количество сервисов на поддержке приближалось к двум десяткам. Сами же сервисы не развивались, а просто существовали как есть. Более того, никакой общей доменной области, никаких актуальных описаний архитектуры. Мы решили навести порядок и разметить сервисы для понимания их архитектурных компонентов. После обсуждения взяли прицел на автоматизируемый процесс описания системы, а не на ручную поддержку документации. Добро пожаловать под кат — рассказываю о нашем пути, а в конце делюсь ссылкой на библиотеку.

    habr.com/ru/companies/tbank/ar

    #scala #compiler #metaprogramming #architecture #architecture_components #библиотеки #документация

  36. Как мы развиваем библиотеку для анализа данных с помощью байесовских сетей

    Наши коллеги из Центра «Сильный искусственный интеллект в промышленности» и Лаборатории композитного ИИ ИТМО разрабатывают открытый фреймворк для разностороннего анализа данных при помощи байесовских сетей. Он пригодится прикладным специалистам, которые сталкиваются с задачами анализа и нуждаются в интерпретируемости используемых моделей. В этой статье рассказываем об идее и о том, кто занимается ее реализацией.

    habr.com/ru/companies/spbifmo/

    #итмо #университет_итмо #байесовские_сети #open_source #искусственный_интеллект #машинное_обучение #библиотеки

  37. [Перевод] Собрал в одном большом гайде всё, что хотел бы знать, когда изучал язык C

    Очевидный факт: язык C — это основа большого количества современных экосистем программирования. Он обеспечивает фундамент многих операционных систем, базовых библиотек и системных инструментов. При этом все еще не существует единого ресурса, который последовательно и связно отвечает на важные вопросы, возникающие при изучении C: окружающая экосистема разработки языка, выбор инструментов, переносимость кода, управление зависимостями и глубокие аспекты работы. Своим постом автор Jenny Jam* пытается заполнить этот пробел. Он рассуждает, когда C — идеальный выбор, а когда лучше обратиться к другим языкам. Описывает, как настроить среду разработки и выбрать инструменты, разобраться в версиях, особенностях сборки и тонкостях работы с библиотеками, а также знакомит с ключевыми концепциями обеспечения безопасности и управления памятью. Цель статьи — упорядочить представление о языке C и его экосистеме, и, конечно, дать практические советы, которые пригодятся в реальных проектах. *Обращаем ваше внимание, что позиция автора может не всегда совпадать с мнением МойОфис

    habr.com/ru/companies/ncloudte

    #перевод #язык_c #язык_программирования #программирование #среда_разработки #среда_программирования #библиотеки #переносимость_кода #управление_зависимостями

  38. [Перевод] Собрал в одном большом гайде всё, что хотел бы знать, когда изучал язык C

    Очевидный факт: язык C — это основа большого количества современных экосистем программирования. Он обеспечивает фундамент многих операционных систем, базовых библиотек и системных инструментов. При этом все еще не существует единого ресурса, который последовательно и связно отвечает на важные вопросы, возникающие при изучении C: окружающая экосистема разработки языка, выбор инструментов, переносимость кода, управление зависимостями и глубокие аспекты работы. Своим постом автор Jenny Jam* пытается заполнить этот пробел. Он рассуждает, когда C — идеальный выбор, а когда лучше обратиться к другим языкам. Описывает, как настроить среду разработки и выбрать инструменты, разобраться в версиях, особенностях сборки и тонкостях работы с библиотеками, а также знакомит с ключевыми концепциями обеспечения безопасности и управления памятью. Цель статьи — упорядочить представление о языке C и его экосистеме, и, конечно, дать практические советы, которые пригодятся в реальных проектах. *Обращаем ваше внимание, что позиция автора может не всегда совпадать с мнением МойОфис

    habr.com/ru/companies/ncloudte

    #перевод #язык_c #язык_программирования #программирование #среда_разработки #среда_программирования #библиотеки #переносимость_кода #управление_зависимостями

  39. [Перевод] Собрал в одном большом гайде всё, что хотел бы знать, когда изучал язык C

    Очевидный факт: язык C — это основа большого количества современных экосистем программирования. Он обеспечивает фундамент многих операционных систем, базовых библиотек и системных инструментов. При этом все еще не существует единого ресурса, который последовательно и связно отвечает на важные вопросы, возникающие при изучении C: окружающая экосистема разработки языка, выбор инструментов, переносимость кода, управление зависимостями и глубокие аспекты работы. Своим постом автор Jenny Jam* пытается заполнить этот пробел. Он рассуждает, когда C — идеальный выбор, а когда лучше обратиться к другим языкам. Описывает, как настроить среду разработки и выбрать инструменты, разобраться в версиях, особенностях сборки и тонкостях работы с библиотеками, а также знакомит с ключевыми концепциями обеспечения безопасности и управления памятью. Цель статьи — упорядочить представление о языке C и его экосистеме, и, конечно, дать практические советы, которые пригодятся в реальных проектах. *Обращаем ваше внимание, что позиция автора может не всегда совпадать с мнением МойОфис

    habr.com/ru/companies/ncloudte

    #перевод #язык_c #язык_программирования #программирование #среда_разработки #среда_программирования #библиотеки #переносимость_кода #управление_зависимостями

  40. Создание библиотек и публикация в npm

    Занимаясь веб-разработкой в it-компании Intelsy на аутсорс- и аутстафф-проектах, я постоянно подключаю и использую библиотеки. Решил собрать воедино всю накопленную информацию по этой теме и поделиться с теми, кому это может быть нужно: с опытными или начинающими разработчиками, с целыми командами - для облегчения работы и ее усовершенствования.

    habr.com/ru/articles/804403/

    #библиотеки #библиотеки_js #библиотека_компонентов #typescript #javascript #npm #npm_package #npm_scripts #npmпакет

  41. Создание библиотек и публикация в npm

    Занимаясь веб-разработкой в it-компании Intelsy на аутсорс- и аутстафф-проектах, я постоянно подключаю и использую библиотеки. Решил собрать воедино всю накопленную информацию по этой теме и поделиться с теми, кому это может быть нужно: с опытными или начинающими разработчиками, с целыми командами - для облегчения работы и ее усовершенствования.

    habr.com/ru/articles/804403/

    #библиотеки #библиотеки_js #библиотека_компонентов #typescript #javascript #npm #npm_package #npm_scripts #npmпакет

  42. Создание прототипа библиотеки для визуализации алгоритмов на Python

    Одним днем я решил поработать с различными алгоритмами, но как оказалось это не так просто. Дело в том, что проще визуально воспринимать информацию, нежели в виде кода. Тогда я поставил себе цель - попробовать написать небольшой, но полезный прототип библиотеки для визуализации алгоритмов на языке программирования Python.

    habr.com/ru/articles/848656/

    #python #сортировка #визуализация #прототип #библиотеки #библиотека #библиотеки_python #библиотека_python

  43. Ассемблер: рассматриваем каждый байт «Hello, World!». Как на самом деле работают программы на уровне процессора и ОС

    Что на самом деле происходит, когда вы запускаете программу? Мы привыкли воспринимать это как данность, но за кадром скрывается целая вселенная — от регистров процессора и системных вызовов Linux до формата ELF и модели памяти процесса. Присоединяйтесь к погружению, где мы прольём свет на каждый байт программы «Hello, World!» и поймём, каким образом ОС её выполняет.

    habr.com/ru/companies/timeweb/

    #linux #системный_вызов #ассемблер #виртуальная_память #компиляция #elf #библиотеки #си #низкоуровневое_программирование #timeweb_статьи

  44. Ассемблер: Рассматриваем каждый байт «Hello, World!». Как на самом деле работают программы на уровне процессора и ОС

    Что на самом деле происходит, когда вы запускаете программу? Мы привыкли воспринимать это как данность, но за кадром скрывается целая вселенная — от регистров процессора и системных вызовов Linux до формата ELF и модели памяти процесса. Присоединяйтесь к погружению, где мы прольём свет на каждый байт программы «Hello, World!» и поймём, каким образом ОС её выполняет.

    habr.com/ru/companies/timeweb/

    #linux #системный_вызов #ассемблер #линковка #виртуальная_память #компиляция #elf #библиотеки #си #низкоуровневое

  45. Разработка просветительского портала «ПроПаллиатив»: взгляд изнутри

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

    habr.com/ru/articles/949072/

    #разработка #портал #restapi #здоровье #фонды #личный_кабинет #перенос_контента #оптимизация #библиотеки #кэширование

  46. Isomorphic-validation — Javascript библиотека, облегчающая валидацию пользовательского ввода

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

    habr.com/ru/articles/907724/

    #валидация_форм #библиотеки #функциональное_программирование #конечный_автомат

  47. Библиотека Helium от проекта tauOS

    В настоящее время существует множество самых разных операционных систем на базе ядра Linux. Далеко не все разработчики заморачиваются созданием собственных приложений для своих дистрибутивов. Если кто-то и озаботится написанием парочки программ, то они, как правило, пользуются уже готовыми библиотеками для разработки приложений. Ребята из tauOS решили, что существующих библиотек в мире явно недостаточно, и запилили еще одну. Так появилась библиотека виджетов под названием Helium. Она основана на GTK и предоставляет разработчикам некоторое количество готовых компонентов для создания графического интерфейса пользователя. В этой статье я хочу немного рассказать о компонентах библиотеки Helium, о том как запускать приложения, написанные с ее помощью, и как на ней разрабатывать свои программы. Репозиторий библиотеки можно найти здесь . Все действия, приведенные в этой статье, выполнялись в Fedora Linux 39 (Workstation Edition).

    habr.com/ru/companies/first/ar

    #Helium #tauOS #библиотеки #компоненты

  48. Как мы делаем общие библиотеки

    Сегодня я хотел поговорить о том, как мы выстраиваем процесс работы с общими библиотеками разработки. Я расскажу о нашем подходе, который позволяет соединить процессы, команды и инструменты в единое целое. Статья будет интересна тем, кто сопровождает, создает или интересуется, как библиотеки появляются на свет.

    habr.com/ru/companies/nlmk/art

    #java #библиотеки #разработка_программного_обеспечения #процесс #командная_работа #командная_разработка

  49. Как мы «рисовали» учет времени на iOS с помощью библиотеки Charts

    Привет, Хабр! Меня зовут Валентин Страздин, я — ведущий iOS-разработчик в команде мобильной разработки «Лаборатории Касперского» , где мы создаем решения для защиты мобильных устройств и для родительского контроля детских устройств. Недавно мы обновляли наше приложение родительского контроля и мониторинга Kaspersky Safe Kids — и в ходе редизайна пришли к выводу, что «родительские» графики активности детского устройства стали громоздкими и неудобными. Нам же требовался виджет, в котором была бы видна актуальная информация о времени использования устройства, интервалах блокировок и еще ряд полезных деталей. В статье расскажу, как мы быстро решили эту проблему благодаря open-source-библиотеке Charts: в чем ее особенности и нюансы, как мы ей пользуемся и как смогли локализовать такую систему даже для арабских пользователей. Текст будет полезен iOS-разработчикам, которые хотят использовать готовое решение для визуализации графиков и которым нужен пример кастомной настройки Charts. В частности, расскажу про кастомный рендеринг данных, отрисовку на графике за пределами области данных. Также покажу, как можно развернуть график справа налево в случае необходимости арабской локализации.

    habr.com/ru/companies/kaspersk

    #iOS #android #мобильная_разработка #графики #графики_и_диаграммы #библиотеки #мобильные_приложения #charts #кастомизация

  50. Подключение сторонних PHP библиотек в Joomla

    PHP библиотеки удобны тем, что к ним можно обращаться из любого места Приложения: из плагина, модели компонента, модуля и т.д. В случае, если подобную задачу кто-то уже решал и оформил в виде библиотеки (и даже обновляет её) - имеет смысл подключить в свою Joomla эту библиотеку. Например, вам для разработки способа оплаты интернет-магазина нужна официальная библиотека платёжного агрегатора. Или вас устраивает официальный PHP SDK какой-нибудь CRM.

    habr.com/ru/articles/851520/

    #joomla #php_sdk #php_library #symfony #joomla_4 #joomla_5 #библиотеки #php #разработка