Библиотека программиста
491 subscribers
468 photos
86 videos
1 file
181 links
Новости из мира информационных технологий.
Download Telegram
React. Сборник рецептов

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

Авторы: Дон Гриффитс, Дэвид Гриффитс
Год: 2023

#books #js #react #russian
Вышел релиз Joomla 5.0

Joomla 5 приносит множество новых возможностей, улучшений в области безопасности и кода, а также увеличивает скорость работы благодаря этим улучшениям. Все, что находится под капотом, было переработано, переосмыслено и усовершенствовано для использования новейших возможностей PHP. Переход с Joomla 4.0 на Joomla 5.0 является не миграцией, а обновлением. Скачать с GitHub

Посмотреть Joomla 5 без установки: launch.joomla.org
​​Каррирование и частичное применение

Каррирование и частичное применение — две концепции из функционального программирования, которые очень часто путают из-за их схожести.

И частичное применение, и каррирование, реализуются как функции, принимающие в качестве параметра другую функцию.

Частичное применение — функция partialApply, принимающая первым параметром функцию — fn, а остальные параметры — часть параметров функции fn. Функция partialApply возвращает функцию, которая в качестве параметров принимает недостающие аргументы функции fn.

Каррирование — функция curry, которая принимает единственный параметр — функцию fn, и возвращает каррированную функцию fn. Можно сказать, что каррированная функция fn — функция аккумулятор, которая будет накапливать переданные аргументы до тех пор, пока не будет передано достаточно параметров для вызова исходной функции. Параметры можно передавать в любом количестве.

Подробнее
- Карринг vs Частичное применение функции — C#
- Каррирование функций в JavaScript
- Реализация функции каррирования
ТОП-10 бессерверных фреймворков

Бессерверные фреймворки радикально упрощают взаимодействие разработчиков с платформами FaaS (Function as a Service), при котором в облаке автоматически выделяются ресурсы для выполнения каждой функции, а контейнеры создаются и уничтожаются по мере необходимости.

1. Architect
Этот опенсорсный фреймворк используют для создания, тестирования и развертывания инфраструктуры в AWS. Он использует NPM-пакеты, Node.js и Google Cloud Build и обеспечивает возможность масштабирования проектов без необходимости активного мониторинга

2. AWS Amplify
Этот инструментарий нужен для быстрого производства и запуска web- и mobile-приложений на AWS, в том числе полноценных fullstack-программ и прототипов.

3. AWS Chalice
Этот открытый инструмент для разработки на AWS Lambda – различных REST API и веб-приложений, написанных на Python. Он основан на Flask, что упрощает старт разработки.

4. AWS Serverless Application Model
Еще один AWS-инструмент для разработки и развертывания серверных приложений, сосредоточенных на бессерверной архитектуре. Он позволяет описать приложение с помощью YAML-файла (или JSON), содержащего информацию о функциях, событиях, API, ресурсах вашего приложения.

5. Claudia.js
Фреймворк для разработки программ с использованием AWS Lambda и API Gateway, предоставляющий простой способ развертывания веб-сервисов и микросервисов на платформе Amazon Web Services (AWS).

6. Flogo
Создание приложений в сфере интеграции и автоматизации бизнес-процессов с учетом минимизации накладных расходов и максимизации производительности. Позволяет создавать легкие и быстрые приложения, которые могут обрабатывать большие объемы данных и запросов.

7. Pulumi
Это IaC-инструмент (Infrastructure as Code), позволяющий программистам создавать, развертывать и управлять облачными ресурсами и инфраструктурой на AWS, Azure, Google Cloud, Kubernetes и других облачных платформах. Поддерживает JavaScript, TypeScript, Python, Go и C#.

8. Serverless
Совместим с провайдерами облачных услуг (AWS, Azure и GCP) и поддерживает Java, PHP Python, C# и Node.js. Serverless использует легкий абстрактный синтаксис на основе YAML и предоставляет обширный выбор плагинов для решения разнообразных задач, поддерживает Kubernetes.

9. Ruby on Jets
Предназначен для производства приложений на Ruby, на основе AWS Lambda с применением AWS-сервисов(SQS, SNS и DynamoDB). Ruby on Jets идеально подходит для разработки API и приложений событийно-ориентированной архитектуры для IoT.

10. Zappa
Фреймворк для создания программ на AWS Lambda с использованием Python. Он поддерживает связанные фреймворки (Django, Flask, Pyramid,Bottle) и обеспечивает поддержку IAM для аутентификации.
This media is not supported in your browser
VIEW IN TELEGRAM
Проверка функциональности системы на практике + инструменты для тестов от ByteByteGo

1. Модульное тестирование
2. Интеграционное тестирование
3. Тестирование системы
4. Нагрузочное тестирование
5. Тестирование на ошибки
6. Автоматизация тестирования
Описываются базовые возможности библиотеки Qt, позволяющей создавать приложения с графическим интерфейсом на языке C++. Книга ориентирована на тех, кто уже знаком с языком программирования C++ и хотел бы научиться разрабатывать оконные приложения. Рассматриваются способы обработки событий, управление свойствами окна, создание формы, а также все основные компоненты (кнопки, текстовые поля, списки, таблицы, меню и др.) и варианты их размещения внутри окна.

Книга содержит большое количество практических примеров, помогающих начать разрабатывать приложения с графическим интерфейсом самостоятельно. Она будет полезна в качестве самоучителя для начинающих разработчиков. Читатели, уже имеющие опыт, могут использовать ее как удобный справочник.
Google готовится тестировать среди части клиентов новую опцию «Защита IP» (IP Protection) в браузере Chrome, которая скрывает IP-адреса пользователей для обеспечения их конфиденциальности и безопасности с помощью прокси-серверов.

Опция «Защита IP» поможет заблокировать веб-сайтам и онлайн-сервисам возможность отслеживать пользователей, маршрутизируя сторонний трафик из определённых доменов через прокси-серверы Google. Инструмент делает IP-адреса пользователей невидимыми для этих доменов.
В версии Telegram Desktop 4.10.4 beta (21.10.23) появилась подсветка синтаксиса кодовых блоков, оформленных с помощью стандартного тега markdown разметки: ``

Также появилась возможность скопировать весь код целиком при клике на заголовок сообщения с кодом (раньше у сообщения с кодом не было отдельного заголовка). Функция пока недоступна в клиентах Telegram на Android и iOS.
Python — популярный язык программирования высокого уровня для различных применений, включая веб-разработку, научные вычисления, анализ данных и машинное обучение. Простота, читабельность и универсальность сделали его популярным среди программистов всех уровней подготовки.
Реализация дополнительных функциональных возможностей в Python осуществляется благодаря использованию дополнительных библиотек, которым и освящена данная книга.

Автор, являющийся опытным разработчиком на Python, рассматривает популярные библиотки, давая их краткое описание, приводя примеры кода использования этих библиотек и рассматривая положительные и отрицательные их качества.
Schema — библиотека, которая позволяет определять и использовать схемы для валидации и преобразования данных в TypeScript.
Книга даст исчерпывающее представление о том, как устроена работа с сетью в Linux. В начале описаны основные дистрибутивы и рассказано, как выбрать правильный и настроить простейшую сетевую конфигурацию. Затем идет речь о диагностике, брандмауэре и использовании Linux в качестве узла для сетевых служб. Наконец, работая с примерами сборок, вы овладеете различными вариантами защиты от распространенных видов атак.

Освоив последние главы, станете еще на шаг ближе к тому, чтобы построить надежный каркас для центра обработки данных, функционирующего полностью под управлением Linux. Вы сможете не только уверенно настраивать систему, но и использовать проверенные методологии для будущих развертываний.
This media is not supported in your browser
VIEW IN TELEGRAM
Новый релиз VS Code 1.84

Много обновлений, вот некоторые из ключевых моментов:

• Теперь можно переместить панель действий в верхнюю часть боковой панели. Когда панель действий расположена вверху, кнопки «Учетные записи» и «Управление» перемещаются в строку заголовка в крайнее правое положение.

• Скрыть вкладки редактора
Теперь можно скрывать вкладки редактора, установив для параметра workbench.editor.showTabs
значение none.

• Поддержка выделения кода в нескольких документах была добавлена с помощью параметра «Multi Document Occurrences» (editor.multiDocumentOccurrencesHighlight). Эта первоначальная реализация содержит только текстовые вхождения, а в будущем появится поддержка семантической подсветки.

• Copilot Chat теперь может генерировать сообщения commit на основе изменений.

С более подробным списком улучшений и изменений можно ознакомиться в Release Notes к v1.84
This media is not supported in your browser
VIEW IN TELEGRAM
Deno 1.37 – современный JavaScript в Jupyter Notebooks.

Команда Deno придумала кое-что довольно изящное. Deno 1.37 поставляется с интеграцией Jupyter Notebook, поэтому вы можете создавать интерактивные сессии REPL, но используя знакомый и любимый JavaScript, а не Python.

$ deno jupyter --unstable
GitHub добавил поддержку нескольких аккаунтов.

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

Приведены способы автоматизации тестирования приложений и разработки через тестирование (TDD). Рассказано о написании приложений с использованием кластера Apache Spark для обработки больших данных, о разработке и развертывании бессерверных программ в облаке на примере Google Cloud Platform (GCP), о создании веб-приложений и REST API, использовании среды Flask.

Показаны способы применения языка для создания, обучения и оценки моделей машинного обучения, а также их развертывания в облаке, описаны приемы использования Python для извлечения данных с сетевых устройств и систем управления сетью (NMS).
This media is not supported in your browser
VIEW IN TELEGRAM
Deepseek Coder – лучший ИИ-помощник для программирования. Обходит по тестам всех конкурентов и бесплатно доступен на опенсорсе.

Нейронка исправит любые баги, объяснит код и сгенерирует его с нуля — просто опишите свою задачу. Знает 80 языков программирования и работает даже оффлайн.
Комьюнити разработчиков Индии на GitHub выросло до 13,2 миллиона человек и к 2027 году обгонит США. Согласно отчету, число разработчиков в Индии значительно выросло: в 2023 году на GitHub появилось до 3,5 миллионов новых разработчиков.

Общее количество разработчиков на GitHub из Индии выросло до 13,2 миллиона. Основываясь на стремительном росте, компания прогнозирует, что к 2027 году Индия, скорее всего, превзойдет США по общему числу разработчиков. Согласно данным Octoverse, Индия находится на пути к тому, чтобы стать крупнейшим центром разработчиков в мире.
Что делать, если нужная вам библиотека не предоставила типы для всех публичных методов? Делать unknown или any? Копировать и переопределять с помощью as?

Вам нужен ReturnType: https://www.typescriptlang.org/docs/handbook/utility-types.html#returntypetype

Пример использования — на иллюстрации или ещё можно так:

const createPerson = () => ({
  firstName: 'John',
  lastName: 'Doe'
})

type Person = ReturnType<typeof createPerson>


by Sergey Bekharsky
Во время отладки можно просмотреть все event listener’ы, прикрепленные к элементу, и удалить их один за другим, чтобы найти основную причину проблемы. От Shripal Soni
Microsoft переименовал Bing Chat в Copilot и добавил плагины. Теперь все ИИ-продукты компании объединились под общим названием, а нейронку можно превратить в полноценную замену GPT-4!

Уже доступны плагины для рецептов, сравнений рейсов, анализа цен в онлайн-магазинах и рекомендаций ресторанов. Скоро добавят плагины с Adobe, Canva и многие другие.

Самое главное — в отличие от GPT-4 за $20 в месяц, плагины в Copilot полностью бесплатны.