По вашему запросу ничего не найдено :(
Убедитесь, что запрос написан правильно, или посмотрите другие наши статьи:
img
Друг, начнем с цитаты: Redis – это высокопроизводительная БД с открытым исходным кодом (лицензия BSD), которая хранит данные в памяти, доступ к которым осуществляется по ключу доступа. Так же Редис это кэш и брокер сообщений. Надо признаться, определение не дает точного понимания, что же такое Redis. Если это так круто, то зачем вообще нужны другие БД? На самом деле, Redis правильнее всего использовать в определенных кейсах, само собой, зная про подводные камни – именно об этом и поговорим. Про установку Redis в CentOS 8 мы рассказываем в этой статье. Redis как база данных Говорим про случай, когда Redis выступает в роли базы данных: Пару слов про ограничения такой модели: Размер БД ограничен доступной памятью Шардинг (техника масштабирования) ведет к увеличению задержки Это NoSQL - никакого языка SQL LUA скриптинг в качестве альтернативы Это нереляционная СУБД! Нет сегментации на пользователей или группы пользователей. Отсутствует контроль доступа Доступ по общему паролю. Что скажут ваши безопасники? Теперь про преимущества модели: Скорость Хранение данных в памяти делает быстрее работу с ними Скрипты на LUA Выполнение прямо в памяти, опять же, ускоряет работу Удобные форматы запросов/данных Geospatial – геоданные (высота, ширина, долгота и так далее) Hyperloglog – статистическе алгоритмы Hash – если коротко, то хэш в Redis делают между строковыми полями и их значениями Алгоритмы устаревания данных Примеры использования Представь, у нас есть приложение, где пользователям необходимо авторизоваться, чтобы выполнять какие – либо действия внутри приложения. Каждый раз, когда мы обновляем авторизационные данные клиента, мы хотим их получать для последующего контроля. Мы могли бы отправлять лист авторизационных параметров (с некими номерами авторизаций, сроком действия с соответствующими подписями), чтобы каждое действие внутри приложения, сопровождалось авторизацонной транзакцией из листа, который мы прислали клиенту. С точки зрения безопасности, в этом подходе нет ничего плохого, если мы храним на своей стороне данные в безопасности и используем Javascript Object Signing and Encryption (JOSE), например. Но проблема появится в том случае, когда наш пользователь имеет более одной авторизации внутри приложения – такие схемы плохо поддаются масштабированию. А что если вместо отправки листа авторизационных параметров, мы сохраним его у себя, а пользователю отправим некий токен, который они должны отправлять для авторизации? Далее, по этому токену, мы легко сможем найти авторизации юзера. Это делает систему гораздо масштабируемой. Redis, такой Redis. Итого, для указанной выше схемы, мы хотим: Скорость Мы не хотим, чтобы пользователь долго ожидал авторизации Масштабирумость системы Сопоставление ключа (токена) с авторизациями юзера А вот, что на эти вызовы может ответить Redis: Redis хранит данные в памяти – он быстрый. Redis можно кластеризовать через компонент Sentinel. Масштабируемость? Пожалуйста. В Redis куча вариантов хранения списков. Самый простой будет являться набором данных. В качестве бонуса от Redis, вы получите механизм экспайринга токенов (устаревания). Все будет работать. Redis как кэш! Redis почти заменил memcached в современных приложениях. Его фичи делают супер – удобным кэширование данных. Ограничения: Значения не могут превышать 512 МБ Отсутствует искусственный интеллект, который будет очищать ваше хранилище данных Профит: Совместное использование кэша разными сервисами по сети Удобные фичи, такие как LUA скриптинг, который упрощает работы с кэшом Временные ограничения для данных Еще один кейс Предположим, перед нами такая задача: приложение, отображает пользователям данные с определенными значениями, которые можно сортировать по множеству признаков. Все наши данные хранятся в БД (например, MySQL) и показывать отсортированные данные нужно часто. Дергать БД каждый раз весьма тяжело и ресурсозатратно, а значит, нам нужно кэшировать данные в отсортированном порядке. Окей, кейс понятен. Рэдис, что скажешь на такие требования? Кэш должен хранить сортированные наборы данных Нам нужно вытаскивать наборы данных внутри наборов данных (для пагинации, например, то есть для переключения между страницами) Это должно быть быстрее, чем пересчет данных с нуля Что скажет Redis: Хранить наборы данных - легко Может вытаскивать сабсеты из наборов - легко Конечно быстрее. Ведь данные хранятся в памяти Redis как брокер сообщений Редис может выступать в качестве брокера сообщений. Схема обычная и весьма базовая - publish–subscribe (pub/sub), или как можно перевести на русский язык «Издатель - подписчик». Как и раньше, давайте обсудим плюсы и минусы, хотя их тут и не так много. Минусы: Только тривиальная модель pub/sub Отсутствие очередей сообщений Ну а плюсы, как обычно для Редиса – скорость и стабильность. Кейс напоследок Простой пример – коллаборация сотрудников одной компании. Предположим, у них есть приложение, где они работают над общими задачами. Каждый пользователь делает свой набор действий, о котором другие пользователи должны знать. А так же, юзеры могут иметь разные экземпляры приложений – десктоп, мобильный или что то еще. Требования по этой задаче: Низкая задержка Мы не хотим иметь трудности в процессе совместной работы сотрудников Стабильная работа и непрерывность Масштабирование Кампания растет и развивается Редис, твой выход! Низкая задержка – да, говорили об этом ранее Стабильность – минимальное количество точек отказа в Redis Стабильная работа и непрерывность Масштабирование – сделаем кластер, нет проблем. Выводы Redis - крутая штука, которая позволяет объединять сервисы и следовать 12 принципам приложений. Для приложений, в которых нагрузка ориентирована на быстрое изменение наборов данных и высокая безопасность данных не имеет завышенных требований – Redis прекрасный выбор. Если данные нуждаются в усиленной защите, Редис подойдет в меньшей степени, лучше посмотрите в сторону MongoDB или Elasticsearch.
img
В мире IT языки программирования играют ключевую роль. Подобно инструментам в арсенале художника, разнообразие языков для написания кода дает специалистам возможность решить любую задачу. В этой статье мы рассмотрим самые востребованные языки программирования, которые на сегодняшний день оказывают наибольшее влияние на IT-индустрию. По версии Института инженеров электротехники и электроники (IEEE), в топ востребованных языков программирования не первый год входят Python, Java, C++, С# и JavaScript. Мы подготовили краткий обзор каждого языка, который поможет принять обоснованное решения при выборе инструмента для разработки. Какой язык программирования самый востребованный и простой в изучении: подробнее про Java Java — пример того, какой язык программирования востребованс момента его создания, а появился он в 1995 году. Он остается в тройке лидеров даже несмотря на то, что его популярность с годами немного снижается.Он распространен благодаря своей производительности и адаптивности. С Java можно заниматься: разработкой приложений: десктопных программ, игр, утилит и т. д. Веб-разработкой: Java предоставляет мощные средства для создания веб-приложений с использованием Java Platform, Enterprise Edition (Java EE). Сервлеты, JSP (JavaServer Pages), и Enterprise JavaBeans (EJB) являются ключевыми технологиями в этой области. Мобильной разработкой: Android, одна из самых популярных мобильных платформ, использует Java для создания приложений. Хотя в последнее время Kotlin становится предпочтительным языком для Android-разработки, Java остается важным компонентом экосистемы. Встроенными системами: можно разрабатывать умные карты, системы управления устройствами, робототехнику. Корпоративными системами: Java EE используется для создания масштабируемых и надежных корпоративных приложений, таких как системы управления ресурсами предприятия (ERP), CRM-системы и другие. Научными и исследовательскими проектами: Java широко применяется в научных и исследовательских проектах благодаря своей надежности и переносимости кода между различными платформами. Таким образом, Java охватывает множество областей разработки, что делает его одним из наиболее популярных и востребованных языков программирования. Востребованные языки программирования 2023: Python для ИИ и разработки игр Python — это интерпретируемый высокоуровневый язык программирования, один из самых популярных языков для быстрой разработки. Он известен своей читаемостью и простотой синтаксиса, и это делает его отличным выбором для начинающих специалистов. Python применяется в различных областях, включая: Веб-разработку: Django и Flask — два популярных фреймворка для создания веб-приложений на Python. Анализ данных и машинное обучение: библиотеки, такие как NumPy, Pandas, Matplotlib, и scikit-learn, делают Python мощным инструментом для анализа данных и разработки моделей машинного обучения. Искусственный интеллект: библиотеки, такие как TensorFlow и PyTorch, используются для создания и обучения моделей искусственного интеллекта. Автоматизация и сценарии: Python часто используется для написания скриптов и автоматизации задач, что делает его популярным среди системных администраторов. Геймдев: Pygame — библиотека для создания игр на Python. Научные и инженерные вычисления: для моделирования, численных расчетов и других научных задач. Это лишь небольшой обзор. Python действительно разносторонний и может использоваться во многих других областях. Кстати, Python используют такие компании, как Intel, IBM, Netflix и Meta. Наиболее востребованные языки программирования для любой задачи: C++ C++ — это универсальный язык программирования, который объединяет в себе возможности низкоуровневого и высокоуровневого программирования. Он является расширением языка C. Основные цели использования C++ включают: Системное программирование: C++ часто используется для разработки операционных систем, драйверов устройств и другого системного программного обеспечения. Игровую разработку: многие игры разрабатываются на C++ из-за его высокой производительности и возможности близкого взаимодействия с аппаратным обеспечением. Разработку встраиваемых систем: C++ эффективно применяется в разработке встраиваемых систем, таких как микроконтроллеры и устройства IoT. Создание больших и сложных приложений: C++ подходит для создания крупных и сложных программных продуктов, например, приложений для работы с базами данных, графикой и мультимедиа. Научные и инженерные вычисления: в некоторых областях, где требуется высокая производительность, C++ используется для численного моделирования и вычислительных задач. Разработку библиотек и фреймворков: Многие библиотеки и фреймворки, такие как Qt и Boost, написаны на C++ и используются для разработки различных приложений. «Живучесть» языка С++ также играет роль в его широком распространении. С момента появления языка C++ прошло более 40 лет. За это время разработчики усовершенствовали его, добавив новые библиотеки, и сегодня он поддерживает миллионы приложений. Знание языка C++ необходимо не только для поддержки инфраструктуры и существующих приложений, но и для разработки новых. Востребованные языки программирования в 2023: веб-разработка с JavaScript JavaScript чаще всего используется для веб-разработки — он позволяет создавать динамичный и интерактивный контент веб-сайтов. Обычно он применяется вместе с HTML и CSS для создания адаптивных веб-страниц. Более 80% всех веб-сайтов в той или иной форме используют JavaScript. Основные цели использования JavaScript включают: Веб-разработку: JavaScript используется для создания динамических и интерактивных веб-страниц. Он позволяет изменять содержимое страницы, обрабатывать события (например, клики или отправка форм) и взаимодействовать с пользователем без необходимости перезагрузки страницы. Разработку серверных приложений: с помощью сред выполнения, таких как Node.js, JavaScript может выполняться на сервере, что позволяет создавать полноценные серверные приложения. Создание интерфейсов для мобильных приложений: JavaScript можно использовать для создания гибридных мобильных приложений с использованием фреймворков, таких как React Native или Ionic. Разработку интерактивных элементов на веб-страницах: JavaScript применяется для создания различных интерактивных элементов — слайдеров, форм с валидацией, всплывающих окна и других. Создание анимации и визуализации: JavaScript позволяет создавать анимации и визуализации на веб-страницах, что делает его полезным инструментом для разработки игр, графиков и диаграмм. Кстати, на платформе Stack Overflow JavaScript пользуется популярностью — пользователи задали более 2,5 млн вопросов по этому языку. Какой язык программирования востребован в 2023 для Windows: C# C# — это высокоуровневый язык программирования, разработанный Microsoft. Он является частью семейства языков для платформы Microsoft .NET. Для чего применяется C#: Для разработки приложений под Windows: C# широко используется для создания десктопных приложений под операционную систему Windows, таких как приложения для управления данными, инструменты администрирования и другие. Для веб-разработки: с использованием технологий ASP.NET и ASP.NET Core, C# применяется для создания веб-приложений и веб-сервисов. Для создания мобильных приложений: с применением фреймворков Xamarin и Unity, C# может быть использован для создания кроссплатформенных мобильных приложений для Android и iOS. Для разработки игр: C# является основным языком программирования для создания игр на популярном игровом движке Unity. Для системной интеграции: C# может применяться для создания приложений, взаимодействующих с системами баз данных, сервисами и другими внешними ресурсами. Благодаря тому, что Microsoft, Stack Overflow, Accenture и Intuit включили его в свой технологический стек, C# стал известным и хорошо зарекомендовавшим себя языком, подобно другим представителям семейства языков C. Что в итоге На самом деле, какой язык программирования самый востребованный — решать только вам. Выбор зависит от конкретных задач и потребностей будущего продукта. В мире программирования каждый язык имеет свои уникальные особенности и преимущества, а их популярность может колебаться в зависимости от трендов в индустрии. Важно ориентироваться не только на тенденции, но и на собственные цели и опыт, чтобы выбрать инструмент, который решит ваши задачи.
img
В предыдущей статье, мы рассказывали, как установить Asterisk 14.3.0 из источников, в сегодняшней статье, хотелось бы поговорить про базовые возможности управления Asterisk из командной строки после установки. По умолчанию, после запуска Asterisk будет работать как процесс в фоновом режиме и для того, чтобы подключиться и начать управлять работающим процессом, необходимо включить удаленную консоль следующей командой: [root@localhost ~]# asterisk -r Asterisk 14.3.0, Copyright (C) 1999 - 2016, Digium, Inc. and others. Created by Mark Spencer <markster@digium.com> Asterisk comes with ABSOLUTELY NO WARRANTY; type 'core show warranty' for details. This is free software, with components licensed under the GNU General Public License version 2 and other licenses; you are welcome to redistribute it under certain conditions. Type 'core show license' for details. ========================================================================= Connected to Asterisk 14.3.0 currently running on localhost (pid = 1887) localhost*CLI> Опция -R также поможет подключить удаленную консоль, однако она будет автоматически пробовать переподключиться к Asterisk, если по каким-то причинам, соединение было разорвано. Чтобы отключиться от удаленной консоли Asterisk, нужно нажать сочетание клавиш Ctrl+C Существует несколько способов остановки работающего процесса Asterisk: core stop now - данная команда мгновенно останавливает процесс, обрывая все проходящие на сервере соединения и звонки core stop gracefully - данная команда не позволяет новым соединениям устанавливаться на Asterisk, но позволяет текущим соединениям продолжаться. Когда все соединения заканчиваются, то Asterisk останавливается core stop when convenient - данная команда также дожидается пока на сервере не останется текущих звонков, а затем останавливает Asterisk. Однако, новые звонки, поступающие на сервер - разрешены Команды для перезапуска процесса Asterisk работают аналогично командам, останавливающим процесс, которые описаны выше, но вместо того чтобы останавливать Asterisk, они его перезапускают в соответствии с синтаксисом команды: core restart now core restart gracefully core restart when convenient Существует также команда, которая отменяет введенную ранее команду остановки или перезапуска, если пользователь вдруг передумал: core abort shutdown Также можно подключиться к Asterisk как root, командой: [root@localhost ~]# asterisk -c Asterisk 14.3.0, Copyright (C) 1999 - 2016, Digium, Inc. and others. Created by Mark Spencer <markster@digium.com> Asterisk comes with ABSOLUTELY NO WARRANTY; type 'core show warranty' for detail s. This is free software, with components licensed under the GNU General Public License version 2 and other licenses; you are welcome to redistribute it under certain conditions. Type 'core show license' for details. ========================================================================= [ Initializing Custom Configuration Options ] *CLI> Asterisk Ready. Мы категорически не рекомендуем запускать Asterisk с правами root’а, поскольку это опасно и может негативно повлиять на систему, на которой работает Asterisk. Управление степенью логирования событий в Asterisk Вы можете управлять тем, насколько подробно будут логироваться события Asterisk, для этого используется специальная опция -v. Каждая –v повышает уровень VERBOSE сообщений. Например, следующая команда повышает уровень логирования на 2: # asterisk –r –v -v Возможен и такой вариант ввода, разницы между ними нет # asterisk -rvv Другие опции Можно также запускать Asterisk от имени другого пользователя: # asterisk –U asteriskuser Для работы от имени другого пользователя, советуем убедиться, что у него есть разрешения на доступ к следующим директориям. Используйте команды: # sudo chown -R asteriskuser:asteriskuser /usr/lib/asterisk # sudo chown -R asteriskuser:asteriskuser /var/lib/asterisk # sudo chown -R asteriskuser:asteriskuser /var/spool/asterisk # sudo chown -R asteriskuser:asteriskuser /var/log/asterisk # sudo chown -R asteriskuser:asteriskuser /var/run/asterisk # sudo chown asteriskuser:asteriskuser /usr/sbin/asterisk Команды в консоль сервера IP - АТС Asterisk можно и давать с помощью графической оболочки FreePBX. Для этого, перейдите в раздел Admin → Asterisk CLI Существует большое множество других опций и режимов, доступных при запуске Asterisk, для того чтобы посмотреть и ознакомиться с ними, используйте команду: # asterisk –h Чтобы управлять сервисом Asterisk из командной строки Вашей операционной системы используйте следующие команды: Для запуска сервиса: # service asterisk start Starting asterisk (via systemctl): [ OK ] Для остановки сервиса: # service asterisk stop Stopping asterisk (via systemctl): [ OK ] Для перезапуска сервиса: # service asterisk restart Stopping asterisk (via systemctl): [ OK ] Starting asterisk (via systemctl): [ OK ] Для проверки статуса: # service asterisk status ? asterisk.service - LSB: Asterisk PBX Loaded: loaded (/etc/rc.d/init.d/asterisk; bad; vendor preset: disabled) Active: active (running) since Wed 2017-03-01 15:59:26 MSK; 2s ago Docs: man:systemd-sysv-generator(8) Process: 11611 ExecStop=/etc/rc.d/init.d/asterisk stop (code=exited, status=0/SUCCESS) Process: 11672 ExecStart=/etc/rc.d/init.d/asterisk start (code=exited, status=0/SUCCESS) Main PID: 11697 (asterisk) CGroup: /system.slice/asterisk.service +-11695 /bin/sh /usr/sbin/safe_asterisk L-11697 /usr/sbin/asterisk -f -vvvg -c Mar 01 15:59:26 localhost.localdomain systemd[1]: Starting LSB: Asterisk PBX... Mar 01 15:59:26 localhost.localdomain asterisk[11672]: Starting asterisk: Mar 01 15:59:26 localhost.localdomain systemd[1]: PID file /var/run/asterisk/... Mar 01 15:59:26 localhost.localdomain systemd[1]: asterisk.service: Supervisi... Mar 01 15:59:26 localhost.localdomain systemd[1]: Started LSB: Asterisk PBX. Hint: Some lines were ellipsized, use -l to show in full.
ВЕСЕННИЕ СКИДКИ
40%
50%
60%
До конца акции: 30 дней 24 : 59 : 59