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

5 лучших практик и советов по удаленной работе в эпоху пандемий коронавируса

По мере того, как пандемия COVID-19 распространяется по миру, работникам повсюду необходимо применять методы удаленной работы везде, где это возможно.

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

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

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

 

Детализация рабочего пространства

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

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

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

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

 

Оценка того, какие должности лучше всего работают удаленно

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

 

Создание основы для целостности информации

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

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

 

Оптимизация коммуникации

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

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

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

 

Мониторинг производительности

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

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

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



2020-12-01T17:16:01
Работа

Контейнер Namedtuple в Python

Python предлагает множество встроенных структур данных, таких как списки, словари и кортежи, для эффективного хранения и управления данными. Namedtuple — это контейнер, подобный словарю, доступный в модуле «collections». Подобно словарям, namedtuple также содержит ключи, сопоставленные значениям. Однако namedtuple позволяет получить доступ к значениям через ключи, а также через индексы. По сравнению со словарями Python доступ к значениям через индексы является дополнительной функциональностью в namedtuple. В этой статье подробно описывается Python namedtuple с примерами.

 

Доступ к значениям из namedtuple

Доступ к значениям внутри namedtuple можно получить следующими способами:

  1. Используя ключи
  2. Используя индексы
  3. Используя функцию getattr()

Поскольку namedtuple преобразует поле в атрибуты, получить доступ к значениям можно с помощью функции getattr().

 

Примеры

Теперь давайте посмотрим на несколько примеров, чтобы понять создание и работу namedtuple. Чтобы создать и использовать namedtuple, сначала нам нужно импортировать модуль коллекций. В приведенном ниже примере создается именованный кортеж для учителя. Ключи именованного кортежа — это имя, возраст и отдел соответственно. Доступ к значениям осуществляется с помощью индексов и ключей.

# импорт модуля коллекций



import collections



# создание именованного кортежа для учителя #



имя, возраст и отдел - это ключи



Teacher = collections . namedtuple('Teacher',['name', 'age', 'department' ])



# создать нового учителя и добавить значения



Teacher_AndreyEx = Teacher("AndreyEx", 35, "Computer Science")

# доступ к значениям учителя с помощью indexes print(«Доступ к значениям с помощью индексов:») print(«Имя учителя:», teacher_AndreyEx[0]) print(«Возраст учителя:», teacher_AndreyEx[1]) print(«Отдел учителя:», teacher_AndreyEx[2])

 

 

# доступ к значениям учителя с помощью клавиш print(«Доступ к значениям с помощью ключей:») print(«Имя учителя:», teacher_AndreyEx.name) print(«Возраст учителя:», teacher_AndreyEx.age) print(«Учительский отдел:», teacher_AndreyEx.department)

 

 

Теперь давайте обратимся к значениям с помощью функции getattr(). Именованный кортеж и ключ передаются в качестве аргумента функции getattr().

# импорт модуля коллекций

import collections 

# создание именованного кортежа для учителя

 

# имя, возраст и отдел - это ключи



Teacher = collections . namedtuple('Teacher', ['name', 'age', ' department '])



# создать нового учителя и добавить значения



Teacher_AndreyEx = Teacher("AndreyEx", 35, "Computer Science") #



доступ к значениям учителя с помощью функция getattr()



print(getattr (teacher_AndreyEx, "name"))



print(getattr(teacher_AndreyEx, "age"))



print( getattr( teacher_AndreyEx, "department" ) )

 

Популярные операции namedtuple

Некоторые популярные функции преобразуют другие коллекции, такие как списки, словари и кортежи, в namedtuple и возвращают информацию об namedtuple. Ниже приведены функции, которые преобразуют другие коллекции в namedtuple:

  • _сделать()
  • _asdict()
  • оператор **

Функция _make() преобразует итерируемый объект, такой как список и кортеж, в именованный набор. Функция _asdict() создает orderDict из именованного кортежа и возвращает его. Наконец, оператор ** преобразует словарь в именованный набор. Кроме того, функции, возвращающие информацию namedtuple, следующие:

  • _fields
  • _replace()

Функция _fields() возвращает все поля именованного кортежа, тогда как функция _replace() заменяет конкретное значение другим значением.

Давайте реализуем упомянутые выше функции в нашем скрипте Python для преобразования различных коллекций в namedtuple.

# импорт модуля коллекций



import collections 



# создание именованного кортежа для учителя



# имя, возраст и отдел - это ключи 



Teacher = collections.namedtuple('Teacher', ['name', 'age', 'department' ]) 



# создать нового учителя и добавить значения 



Teacher_AndreyEx = Teacher("AndreyEx", 35, "Computer Science") 



# создать список 



Teacher_list =["Alex","Business Administration" ] 



# создание словаря



teacher_dict = { 'name' : 'Maria', 'age' : 25, 'department' : 'Economics' } 



# используя функцию _make() для преобразования списка в namedtuple 



print("List to преобразование namedtuple: ") 



print(Teacher._make(teacher_list)) 



# использование функции _asdict() для создания OrderDict 



print(" Making the OrderedDict: ") 



print(teacher_AndreyEx._asdict()) 



# использование ** для преобразования словаря в именованный кортеж 



print("Преобразование словаря в именованный кортеж:") 



print(Учитель(** teacher_dict))

 

Теперь давайте воспользуемся функциями _fields() и _replace(), чтобы получить информацию о ключах и заменить ключи соответственно.

# импорт модуля коллекций



import collections



# создание именованного кортежа для учителя #



имя, возраст и отдел - это ключи



Teacher = collections.namedtuple('Teacher',['name', 'age', 'department' ])



# создайте нового учителя и добавив значения



Teacher_AndreyEx = Teacher("AndreyEx", 35, "Computer Science")



# используя функцию _fields, чтобы получить ключи namedtuple



print("Ключи namedtuple:")



print(Teacher._fields)



# использование функции _replace для замены значения



print("Значение замены имени:")



print(teacher_AndreyEx._replace(name = 'Master'))

 

В выходных данных видно, что функция _fields возвращает ключи информации, а функция _replace() успешно заменяет имя.

 

Вывод

Namedtuple — это контейнер, подобный словарю, присутствующий в модуле «коллекции». Он содержит ключ и сопоставляет значения с ключом. В отличие от словаря Python, к значениям namedtuples также можно получить доступ с помощью индексов и функции getattr(). В этой статье на примерах кратко объясняется именованный кортеж.



2020-12-01T16:14:14
Python

Функция zfill() в Python

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

 

Синтаксис

Сначала обсудим синтаксис функции zfill(). Синтаксис функции zfill() следующий:

str_name. zfill (width)

Функция zfill() принимает ширину в качестве аргумента и регулирует ноль в левой части строки в соответствии с указанной шириной. Ширину также можно рассматривать как длину струны.

 

Пример 1: Использование функции zfill()

Например, строка содержит три символа; это означает, что исходная ширина строки равна 3. Когда мы вызываем функцию zfill() и указываем ширину 15, она добавит 12 нулей и добавит левую сторону строки, чтобы заполнить ширину. Пробелы также увеличивают ширину. Давайте посмотрим на пример. Ширина строки hello изначально равна 5.

# определение строки

my_str = ‘hello’

# использование функции zfill()

print(my_str. zfill(10))

 

Слева к строке добавлено пять нулей.

 

Теперь давайте добавим два пробела в нашу строку и сделаем это «он ушел». Теперь исходная ширина строки равна 7.

# определение строки

my_str = ‘he ll o’

# использование функции zfill()

print(my_str. zfill(10))

 

Давайте посмотрим на другой пример функции zfill().

# определение строки

my_str = ’10’

print(«Исходная строка:» , my_str )

# использование функции zfill()

print(«Возвращаемая функцией zfill() строка:» , my_str. zfill(10))

Добавлены 8 нулей.

 

Пример 2: Использование функции zfill()

Если мы передадим в функцию zfill() ширину меньше исходной ширины строки, то ничего не произойдет. Давайте посмотрим на пример.

В приведенном ниже примере исходная длина или ширина строки равна 9. В функции zfill() мы указали ширину 3. В этом случае она не добавляет нулей слева и не отображает ошибку.

# определение строки

my_str = ‘AndreyEx_’

print(«Исходная строка:» , my_str )

# Использование функции zfill()

print(«Функция zfill() возвращает строку:» , my_str. zfill(3))

 

Пример 3: Использование функции zfill() с префиксом знака

Функция zfill() работает иначе, если строка начинается с префикса знака. Он добавляет нули в левую часть строки после префикса первого знака. Посмотрим на пример.

# определение строки

my_str = ‘+ AndreyEx_’

print(«Исходная строка:» , my_str )

# Использование функции zfill()

print(«Возвращаемая функция zfill() строка:» , my_str. zfill(13))my_str = ‘+10’

print(«Исходная строка:» , my_str )

# Использование функции zfill()

print(«Возвращаемая функция zfill() строка:» , my_str. Zfill(13))my_str = ‘—20’

print(«Исходная строка:» , my_str )

# Использование функции zfill()

print(«Возвращаемая функция zfill() строка:» , my_str. zfill(13))

 

Вывод

Zfill() — встроенная функция Python, которая принимает ширину в качестве аргумента и заполняет нули слева от строки в соответствии с указанной шириной. В этой статье подробно обсуждается функция Python zfill().



2020-12-01T14:56:11
Python

Как преобразовать строку в целое число в Python

Все типы данных в Python, включая целые числа и строки, являются объектами. Часто при написании кода Python вам необходимо преобразовать один тип данных в другой. Например, чтобы выполнить математическую операцию с числом, представленным в виде строки, его необходимо преобразовать в целое число.

В этой статье мы покажем вам, как преобразовать строку Python в целое число.

Функция Python int()

Встроенная функция int() возвращает десятичный целочисленный объект из заданного числа или строки. Он имеет следующий вид:

int(x, base=10)

Функция принимает два аргумента:

  • x — строка или число, которое нужно преобразовать в целое число.
  • base — представляет собой систему счисления первого аргумента. Его значение может быть 0 и 2–36. Это необязательный аргумент. Если база не указана, по умолчанию используется 10 (десятичное целое число).

Обычно целые числа выражаются в шестнадцатеричной (основание 16), десятичной (основание 10), восьмеричной (основание 8) или двоичной (основание 2) нотации.

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

Преобразование строки Python в целое число

В Python «строка» — это список символов, который объявляется с использованием одинарных ( ' ), двойных ( " ) или тройных кавычек ( """ ).

Если переменная, содержащая только числа, объявляется с использованием кавычек, ее тип данных устанавливается на String. Рассмотрим следующий пример:

days = "23"
type(days)

Функция type() показывает нам, что переменная days является объектом String .

<type 'str'>

Попробуем произвести математическую операцию с переменной:

print(days+5)

Python TypeError исключения TypeError потому что он не может выполнить вычисление сложения со строкой и целым числом:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: cannot concatenate 'str' and 'int' objects

Чтобы преобразовать строковое представление десятичного целого числа в int , передайте строку в функцию int() , которая возвращает десятичное целое число:

days = "23"days_int = int(days)type(days_int)

<type 'int'>

Если вы сейчас попытаетесь выполнить вычисления, операция суммирования будет выполнена успешно:

print(days_int+5)

28

Если число включает запятые, отмеченные тысячами, миллионами и т. Д., Вам необходимо удалить запятые перед передачей числа в функцию int() :

total = "1,000,000"int(total.replace(",", ""))

1000000

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

Например, в шестнадцатеричной системе число 54732 представлено как D5CF . Чтобы преобразовать его в десятичное целое, вам нужно использовать основание 16:

int("D5CF", 16)

54735

Если вы D5CF строку D5CF в функцию int() без установки базы, она выдаст исключение ValueError :

int("D5CF")

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ValueError: invalid literal for int() with base 10: 'D5CF'

Выводы

В Python вы можете преобразовать строку в целое число с помощью функции int() .

Если у вас есть какие-либо вопросы или отзывы, не стесняйтесь оставлять комментарии.



2020-11-30T21:48:44
Python

Как оптимизировать бизнес-процессы в B2B

Бизнес в сфере b2b предполагает многофакторное принятие решения о покупке, сложный путь к заключению сделки и высокие требования к клиентскому сервису. Управление этими процессами отнимает много ресурсов у предприятия: ведь оптовой компании 80% дохода приносят 20% постоянных клиентов, тогда как обслуживание потенциальных покупателей отнимает все время менеджеров по продажам.

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

Оптимизация управления предприятием: что это дает

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

Свои коррективы вносит и пандемия: в удаленном режиме с ограничением личных встреч бизнесу для бизнеса (b2b) многие процессы приходится выстраивать с нуля, и это не всегда делает их эффективными. Так что в условиях карантина пересмотр всех рабочих операций может оказаться лучшим решением.

Преимущества, которые будут обеспечены новой системой и процессами:

  • Безошибочно точные результаты. B2b-система не знает усталости, не допускает ошибок из-за невнимательности или торопливости. Это стандартизированные операции, которые всегда дают предсказуемый эффект.
  • Скорость выполнения операций. B2b-система поддерживает высокие нагрузки и мгновенно выполняет все задачи. Это позволяет сэкономить 30-50% времени менеджеров, освобождая их для поиска новых заказчиков.
  • Интеграция с 1C, ERP, CRM, ЭДО, сторонними торговыми сайтами. Благодаря этому система немедленно отображает все передвижения товаров по складу, выполняет визирование сопроводительных документов, осуществляет контроль выполнения поставленных задач.
  • Предлагает широкую персонализацию контента для клиентов, а также маркетинговые инструменты для стимулирования спроса и повышения продаж.
  • Автоматически собирает отчетность для анализа без привлечения специалистов компании.

Таким образом, создание и запуск b2b-системы — это повод пересмотреть все процессы в компании, упросить их, алгоритмизировать и ускорить. Это обеспечит значительную экономию операционных затрат, обеспечит компании конкурентные преимущества на рынке и будет способствовать повышению продаж даже в период карантина.

Чтобы узнать больше о разработке и внедрении b2b-систем, достаточно перейти по ссылке.