Архив рубрики: Публикации

Установка FFmpeg в Ubuntu 20.04

ffmpeg — мощный инструмент для конвертирования файлов в большинстве известных видеоформатов. Программа ffmpeg не имеет графического интерфейса, однако позволяет выполнять задачи, перед которыми другие видеоконвертеры попросту бессильны.

Ниже рассмотрим, как установить ffmpeg в Ubuntu 20.04 из официальных репозиториев, а также с использованием snap-пакета. А затем поговорим о том, как с его помощью переконвертировать небольшое видео из одного формата в другой.

Читать

Стратегический альянс Microsoft и Sega ускоряет инициативу Super Game

Два титана, создающие игры, договорились о создании стратегического альянса. Microsoft и Sega будут стремиться объединить свои коллективные сильные стороны в рамках инициативы «Super Game». Со стороны Microsoft в уравнении в основном будет использоваться технология, относящаяся к облачной платформе Azure. Тем временем Sega пытается создать процветающее глобальное онлайн-сообщество, используя свои сильные игровые IP-адреса, прошлые и настоящие.

 

Исходя из вышесказанного и того факта, что это объявление было сделано в разделе пресс-релизов веб-сайта Sega, этот стратегический альянс больше на пользу Sega, чем Microsoft. Читая официальный релиз, похоже, что Sega изучает возможности использования Microsoft Azure для создания платформы для потоковой передачи игр и развлечений. В этом нет ничего удивительного, поскольку даже Sony использует технологию облачной потоковой передачи Microsoft Azure, а в других отношениях она определенно является серьезным конкурентом Microsoft.Стратегический альянс Microsoft и Sega ускоряет инициативу Super Game

 

Sega объясняет, что видит потенциал в росте быстрых подключений, обеспечивающих «высококачественный развлекательный контент в любое время и в любом месте» — благодаря 5G и другим технологиям. Поэтому в рамках своего среднесрочного и долгосрочного плана он будет тесно сотрудничать с Microsoft, чтобы предвидеть тенденции и создавать решения. В частности, разработчики Sega оптимизируют процессы разработки для облачных технологий Azure, готовые к развертыванию с помощью платформы Super Game следующего поколения.

«Мы с нетерпением ждем совместной работы, поскольку они [Sega] исследуют новые способы создания уникальных игровых возможностей будущего с использованием облачных технологий Microsoft», — сказала консультант по маркетингу Microsoft Сара Бонд. «Вместе мы переосмыслим, как создаются, размещаются и управляются игры, с целью повышения ценности как для игроков, так и для Sega».

 

Учтите, что Super Game — это не то, что запланировано на ближайшее будущее. В мае Sega дразнила инвесторов об этой разработке для запуска где-то в 2026 году. Возможно, к тому времени у нас действительно будет хороший 5G, но все будут говорить о 6G или 7G.

 

Microsoft Ignite 2021 год

Microsoft Ignite работает на своей цифровой платформе и будет работать до завтра. Если вас интересуют разработки в области программного обеспечения, облачных вычислений и экосистем Microsoft, вы можете найти книгу новостей, в которой можно просмотреть все ключевые объявления, касающиеся Azure, Windows, Office и т. д.

Вот некоторые основные моменты Ignite 2021:

  • Microsoft вступила в гонку метавселенной, «объединяя людей, места и вещи вместе с цифровым миром как в потребительском, так и в корпоративном пространстве». В новой версии Teams, например, добавлены 3D-аватары для иммерсивных собраний и вебинаров.
  • Microsoft сделала Edge для Linux общедоступным
  • Microsoft представила новый веб-сайт и приложение Office Hub
  • Microsoft приобрела ClipChampоснованное на шаблонах и ориентированное на задачи видеоприложение с WebApp, которое, как утверждается, хорошо подходит для Microsoft 365.
  • Теперь вы можете получить трехмесячный абонемент Game Pass для ПК всего за 1 доллар.
  • А на Microsoft HoloLens 2 скидка 15% в течение ограниченного времени.



2021-11-08T09:47:00
Microsoft

Алгоритм загрузки linux (BIOS/UEFI)

Если вам интересно узнать как загружается Linux, то эта статья для вас. Рассмотрим алгоритм загрузки Linux на компьютерах с BIOS и UEFI.





Читать

Обзор Binance

Binance-это программный продукт для обмена криптовалютами, который позволяет вам легко создать портфель криптовалютных бирж. Это позволяет вам торговать широким спектром монет на классической бирже или углубляться в пиринговую торговлю (P2P). Вы можете легко конвертировать монеты из одной валюты в другую, и команда поддержки всегда готова помочь вам, когда вам это понадобится. Binance доступен для установки на компьютеры Windows, Mac и Linux, а также на мобильные устройства Android и iOS. Читать

Превратить список в String в Python

На разных компьютерных языках список можно сравнить с массивом. Квадратные скобки используются для его обозначения, а запятая (,) используется для разделения двух элементов или элементов в списке. В Python упорядоченный набор символов представляет собой строку. Следует понимать различие между списком и строкой. Список — это упорядоченный тип объекта, тогда как строка — это упорядоченная последовательность символов. Принципиальная разница между ними очевидна. Когда предоставляется список, и мы преобразуем его в строку, мы можем столкнуться с различными ситуациями. Например, перевод списка строк. Эта статья покажет вам, как наиболее эффективным способом преобразовать список Python в строку.

 

Пример 1: Метод Join()

В Python функция соединения — один из самых простых способов преобразования списка в строку. Самая важная вещь, которую следует помнить при использовании этого метода, — это то, что он будет переводить только списки в строки, которые включают только строки в качестве элементов. Итерируемые объекты признаются как параметры для метода join(). Он также извлекает новую строку в качестве входных данных, которая содержит элементы, объединенные из итерируемого объекта.

В этом примере метод join() принимает входной список в качестве входных данных и объединяет элементы списка с выходной строкой, возвращая строку в качестве выходных данных. Изначально мы инициализировали список, в котором есть несколько элементов.

inp_list = [‘Привет’, 'Я', 'Andrey', 'Ex']



out_str = " "



print("Ознакомьтесь со списком прямо сейчас:n")



print(out_str.join(inp_list))

 

Пример 2: понимание списка

В Python понимание списка генерирует список элементов из уже доступного списка. Затем цикл for используется для поэлементного обхода итерируемых объектов. Метод join() объединяет компоненты списка в новую строку и возвращает ее в качестве вывода, в то время как понимание списка просматривает элементы один за другим. Из существующего списка Python List Computing генерирует список элементов. Он также использует цикл for для изучения компонентов итерируемого объекта в шаблоне «элемент за элементом».

На этом прикрепленном скриншоте у нас есть список, в котором есть некоторые элементы. После этого мы использовали метод понимания списка и распечатали его результат, используя оператор печати.

X = ['Я', 'хочу', 4, 'торта', 'и', 18, 'мороженых'



listToStr = ' '.join([str(elem) for elem in x])



print(listToStr)

 

 

Пример 3: метод map()

Итерируемые объекты, такие как кортежи, списки и строки, принимаются функцией map(). В результате он используется для сопоставления компонентов итерационных объектов указанной функции. Чтобы преобразовать список в строку, функцию карты можно использовать двумя способами. Если список состоит полностью из цифр или если список разнообразен. Метод str() преобразует указанный тип данных в строковый тип данных, а функция map() принимает два ввода. Метод str() будет вызываться для каждого элемента в повторяемой последовательности. Итератор будет использоваться для получения строковых значений. Наконец, все значения, созданные функцией str(), объединяются с помощью метода join().

На этом прикрепленном снимке экрана у нас есть список под названием «x», в котором есть некоторые элементы, включая целые числа и символы. После этого мы использовали метод карты списка и распечатали его результат с помощью оператора печати.

x = ['Я', 'пишу', 2, 'решаю', 'для', ‘andreyex']



listToStr = ' '.join(map(str, x))



print(listToStr)

 

Заключение

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



2021-11-05T20:37:51
Python

Что означает DO в Ruby?

Ruby — это невероятный язык программирования, в котором есть современные функции и инструменты для большинства сред разработки. У Ruby есть одна мощная функция, о которой часто забывают: блоки .

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

Мы начнем с основного синтаксиса, а затем обсудим такие функции, как yield, которые могут напугать новых пользователей Ruby.

 

Что такое блоки Ruby?

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

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

В Ruby есть два способа определения блока: первый — использовать ключевое слово do..end, второй — использовать пару фигурных скобок.

Блок Do..end в основном используется при определении блока кода, охватывающего несколько строк, а фигурные скобки {} используются при определении блока кода, охватывающего одну строку.

Вы передаете аргументы блока между парой вертикальных черт | |

СОВЕТ
Независимо от того, используете ли вы однострочный или многострочный блок, функциональные возможности не меняются. Однако для удобства чтения используйте фигурные скобки для однострочного блока и конец для многострочного блока.

 

Базовый пример

Ниже приведены два простых примера блока Ruby, в одном из которых используются фигурные скобки, а в другом — do..end.

# single line - {}

['Java', 'C', 'C++'].each { |i| puts i}



# multi-line -> do..end

['Java', 'C', 'C++'].each do |i|

puts i

end

 

Оба приведенных выше примера дают похожие результаты:

  • Java
  • C
  • C ++

В приведенном выше примере блоки ruby ​​применяются в простейшей форме: мы передаем блок в каждый метод объекта массива. Передайте аргументы блока внутри пары вертикальных черт; в приведенном выше примере аргумент — i. Наконец, мы выводим функциональность блока внутри тела блока (в этом примере — put).

 

Понимание ключевого слова Yield в Ruby

Вы можете использовать блоки Ruby внутри стандартного метода. Функциональность для выполнения этого действия обеспечивается ключевым словом yield.

Давайте подробно обсудим ключевое слово yield.

 

Что такое yield в Ruby?

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

 

Как это работает

Давайте рассмотрим пример, который поможет нам понять, как работает ключевое слово yield. Рассмотрим простой метод Ruby, показанный ниже:

def hello

puts "Привет!"

end

 

Приведенный выше пример представляет собой простой метод Ruby, который выводит «Привет!».

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

Следовательно, мы можем закодировать метод как:

def hello(name)

puts "Привет, " + name

end

hello("Russia")

 

Во втором примере у нас есть небольшая гибкость, поскольку мы можем передать любое имя методу в качестве аргумента.

Мы можем расширить это еще больше, используя блок Ruby. Когда мы передаем блок внутри метода, он будет выполнен и вернет результаты.

 

Определение метода доходности

Чтобы создать метод, принимающий блок, мы используем ключевое слово yield. Общий синтаксис следующий:

def hello

yield

end

 

После определения мы можем вызвать метод и передать блок кода. Метод выполнит код и вернет результат.

 

Передача блока Ruby в метод

Мы можем передать блок в метод, используя синтаксис блока. Например, мы можем вызвать вышеуказанный метод с синтаксисом как:

hello {puts "Hello world" }

 

Пока метод содержит ключевое слово yield, вы можете передать любой блок кода и выполнить его.

Примечание
После определения ключевого слова yield внутри метода вы ДОЛЖНЫ передать блок при вызове метода. В противном случае вы получите ошибку «Блокировка не задана (yield)».

 

Пример 2

Возьмем другой пример:

def hello

puts "before yield."

yield

puts "after yield."

end

hello {puts "I yield"}

 

В приведенном выше примере показано, как работает выполнение метода с использованием yield. Вывод программы ниже:

before yield

I am yield

after yield

Аргументы блока Ruby

Ruby позволяет передавать аргументы блоку Ruby. Аргументы блока определены в блоке yield и служат параметрами блока.

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

def hello

yield("Andrey Ex", 23)

end

hello { |name, age| puts "Hello #{name}, you are #{age} years old"}

 

Параметры, определенные внутри блока, имеют локальную область видимости и доступны только в контексте блока.

Следовательно, вы получите неопределенную переменную, используемую вне области блока.

 

Пример 3

Функциональность блока не меняется на однолинейных или многострочных блоках. Мы можем проиллюстрировать это на примере ниже:

def area

yield(7)

end

area do

puts "площадь круга #{7 * 3.14159}cm2"

end

 

Результат из приведенного выше примера:

Площадь круга 21.99113cm2

 

Это показывает, что как многострочные, так и однострочные блоки, функциональность остается прежней.

 

Явные блоки

В предыдущих примерах мы определили блоки как неявные. Однако мы также можем описать их как явные.

Явные блоки означают, что мы назначаем имя списку параметров метода.

def example(&block)

block.call

end

example {puts "Explicit block example" }

 

Вы передаете имя блока внутри после амперсанда. Используя имя блока, вы можете передать сохраненный блок другому методу.

 

Обработка ошибок блока

В предыдущих разделах мы упоминали, что блок yield является обязательным. Однако вы можете реализовать простую логику обработки ошибок, если указан yield. Мы делаем это с помощью параметра block_given? Метод ядра.

Метод возвращает логическое значение true, если yield доступен, и false, если в противном случае.

Рассмотрим простой пример ниже:

def hello

if block_given?

yield

else

puts "Nothing happened...[ERROR]"

end

end

 

Если мы вызовем метод с требуемым значением yield, результат будет:

hello {puts "Hello there!"}

Hello there!

 

С другой стороны, вызов метода без yield выполнит блок else как:

hello

Nothing happened...[ERROR]

 

Используя значение из block_given? , вы можете реализовать логику обработки ошибок, когда нет значения yield.

 

Заключение

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



2021-11-05T20:28:20
Ruby