По вашему запросу ничего не найдено :(
Убедитесь, что запрос написан правильно, или посмотрите другие наши статьи:
img
Социальные сети плотно интегрировали в нашу жизнь. Трудно представить хоть день без фотографии чьего-то обеда, любимого питомца или подаренных роз. Только на Facebook за одну минуту регистрируются 400 пользователей. Но со временем всё это надоедает. Согласен, социальные сети в наши дни являются самой большой платформой для обмена мнениями, новостями, но бесконтрольный доступ к ним отнимает достаточно много времени. Очень часто обращаются с вопросом как удалить свой профиль в той или иной социальной сети. На самом деле всё достаточно просто: набираете в Google как удалить профиль и название сети. Обычно первая ссылка ведет на страницу удаления или деактивации профиля. Мы же решили в одной небольшой статье собрать руководство по удалению аккаунтов из наиболее популярных сетей. Gmail Достаточно популярный сервис корпорации Google, которым пользуются миллионы людей по всему миру. Данный сервис предоставляет услуги видеохостинга (Youtube), облачного хранилища, и много других услуг, особенно обладателям смартфонов на базе Android. Иными словами, вам не убежать от него. Но всё же если завели новый аккаунт, а старый хотите удалить, то читайте дальше. Итак, для удаления аккаунта Google переходим по ссылке. В отличии от других сервисов, тут вы можете частично удалить некоторые услуги, о чем и пишется на открывшейся странице. Также можете выгрузить ваши данные с аккаунта или же настроить расписание удаления. Эта функция автоматически удалит аккаунт Google, при неактивности в течении определённого времени. За месяц до удаления вам придёт оповещение о предстоящей чистке. Настраивается достаточно просто, буквально за 6 кликов. Чтобы удалить сервис сразу выбираете Delete your accout. Сервис в целях безопасности запросит пароль и, если настроена двухэтапная аутентификация, код безопасности. Затем вас перебросит на страницу, где будет указан список услуг, которые удалятся. Соглашаетесь на указанные условия, которые гласят, что если у вас активны какие-то финансовые услуги вроде Google Adsense, то вывод средств после удаления будет невозможен. У нажимаете Delete Account. После этого у вас будет очень мало времени, на восстановление страницы в случае если передумаете. Mail.Ru Вряд ли кто-то захочет удалить отсюда свой аккаунт, но все же если вдруг появится такая необходимость, то вы уже будете подготовлены. Для удаления страницы на этом сервисе переходим по указанной ссылке и попадаем на страницу удаления: Затем нас просят ввести причину, пароль и код с картинки. На этом завершается процесс удаления аккаунта на сайте. Facebook Чтобы удалить свой профиль на этом сайте перейдите по ссылке. Затем, если вы еще не вошли в систему введите логин и пароль. Сервис вам предложить деактивировать аккаунт на время и скачать информацию, которую загрузили на сайт включая фотографии и посты. Нажимаете Delete Account и вводите пароль ещё раз (пассивная попытка отговорить вас от этой мысли) и нажимаете Delete. Вам предложат ещё раз убедиться в том хотите ли удалить ваш аккаунт со всеми имеющимися там данными. В течении 30 дней после запроса на удаление вы всё еще сможете восстановить ваш аккаунт просто введя логин и пароль. Instagram Не менее популярной сетью является Instagram. Эта платформа в основном предназначена для публикации фото и видео. Чтобы удалить свой профиль в этой сети перейдите по ссылке. Если еще не вошли в систему, то она запросит у вас логин и пароль. Затем откроется страница где также предлагается временно деактивировать профиль (отмечено красным) или же выбрать причину, по которой хотите уйти с этой сети: Выбираете причину, вводите пароль ещё раз и нажимаете на Permamentky delete my account. После этого ваш профиль удаляется навсегда (что я и сделал совсем случайно, когда писал материал). Twitter Хотя этот сайт и отстаёт от по числу пользователей от своих конкурентов, но по данным 2019 года 16% населения в России зарегистрированы на этой платформе. Поэтому рассмотрим как тут удалять свой аккаунт. Итак, переходим по ссылке нажимаем на кнопку Deactivate: Вводим пароль и нажимаем Deactivate ещё раз. После этих несложных манипуляций вас перекинет на страницу, где говорят, что сожалеют о вашем уходе. Так как очень много разных аккаунтов и социальных сетей и охватить всё достаточно сложно, то руководство, указанное в начале статьи остается в силе поиск в Google.
img
Когда мы только начинаем изучать Python, мы закладываем некоторые вредные привычки при написании кода, о которых мы можем даже не подозревать. Вы можете написать код, который сработает сейчас, но может не сработать в будущем, или вы можете использовать какие-то хитрые ходы вместо встроенной функции, которая могла бы облегчить вашу жизнь. У большинства из нас сохранились не одна из тех вредных привычек при программировании на Python, что формируются в период первых месяцев обучения. Отличная новость в том, что вы можете с легкостью искоренить их, прочитав приведенный ниже текст. 1. Использование import * Каждый раз, когда нам становится лень, то возникает соблазн импортировать все необходимое из модуля с помощью from xyz import *. Это не самый лучший подход по многим причинам. Кот несколько из них: Это может оказаться неэффективно: если в модуле очень много объектов, то вам придется долго ждать, пока все импортируется. Это может вызвать конфликт имен переменных: когда вы используете *, то вы понятия не имеете, какие объекты вы импортируете и как они называются. Как же с этим бороться? Импортируйте либо какой-то конкретный объект, либо весь модуль целиком. # Using import * # Bad from math import * print(floor(2.4)) print(ceil(2.4)) print(pi) # Good import math from math import pi print(math.floor(2.4)) print(math.ceil(2.4)) print(pi) 2. Try/except: отсутствие указания исключения в блоке «except» Я очень долго пренебрегал этим. Сложно посчитать, сколько раз Pycharm давал мне понять (этими противными подчеркиваниями), что не нужно использовать «голое» исключение. Это идет в разрез с рекомендациями PEP8. # Try - except # Bad try: driver.find_element(...) except: print("Which exception?") # Good try: driver.find_element(...) except NoSuchElementException: print("It's giving NoSuchElementException") except ElementClickInterceptedException: print("It's giving ElementClickInterceptedException") Проблема «голых» исключений заключается в том, что оно будет перехватывать исключения SystemExit и KeyboardInterrupt, что затрудняет прерывание программы с помощью Control-C. В следующий раз, когда вы будете использовать try/except, укажите исключение в блоке except. 3. Не использовать Numpy для математических вычислений Очень часто мы забываем, что в Python есть множество пакетов, которые могут значительно облегчить нашу жизнь и сделать ее более продуктивной. Одним из таких пакетов является Numpy – пакет для математических вычислений. Numpy может помочь вам вычислять математические операции быстрее, чем циклы for. Допустим, что у нас есть массив random_scores, и мы хотим получить средний балл тех, кто не сдал экзамен (score>>dict_countries.keys() dict_keys(['USA', 'UK', 'Canada'])>>>dict_countries.values() dict_values([329.5, 67.2, 38]) Проблема тут заключается в том, что мы не всегда используем их должным образом. Например, мы хотим просмотреть словарь и получить ключи. Вы можете использовать метод .keys, но знаете ли вы, что ключи можно получить, просто перебирая словарь? В этом случае использование метода .keys будет излишним. # Not using .keys() properly # Bad for key in dict_countries.keys(): print(key) # Good for key in dict_countries: print(key) Кроме того, можно придумать некоторые хитрости для получения значений словаря, например, с помощью метода .items(). # Not using .items() # Bad for key in dict_countries: print(dict_countries[key]) # Good for key, value in dict_countries.items(): print(key) print(value) 7. Никогда не использовать генераторы (или использовать их всегда) Генератор предлагает более простой синтаксис при создании новой последовательности (списка, словаря и т.д.) на основе уже определенной последовательности. Допустим, мы хотим перевести все элементы в нашем списке countries в нижний регистр. И хотя вы могли бы это сделать просто с помощью цикла for, но также вы можете упростить работу при помощи генератора списка. # Bad countries = ['USA', 'UK', 'Canada'] lower_case = [] for country in countries: lower_case.append(country.lower()) # Good (but don't overuse it!) lower_case = [country.lower() for country in countries] Генераторы – это очень полезно, но не злоупотребляйте ими! Помните правило Дзен Python: «Простое лучше, чем сложное». 8. Использование range(len()) Одни из первых функций, которые мы изучили будучи новичками – это range и len, поэтому не удивительно, почему многие люди имеют дурную привычку писать range(len()) при переборе списков. Допустим у нас есть два списка: countries и populations. Если мы хотим пройтись по обоим спискам одновременно, то, вероятнее всего, вы воспользуетесь range(len()). # Using range(len()) countries = ['USA', 'UK', 'Canada'] populations = [329.5, 67.2, 38] # Bad for i in range(len(countries)): country = countries[i] population = populations[i] print(f'{country} has a population of {population} million people') И хотя это в принципе выполняет свою работу, вы все равно можете упростить задачу, воспользовавшись enumerate (или, что еще лучше, воспользовавшись функцией zip для сопряжения элементов из обоих списков). # OK for i, country in enumerate(countries): population = populations[i] print(f'{country} has a population of {population} million people') # Much Better for country, population in zip(countries, populations): print(f'{country} has a population of {population} million people') 9. Форматирование с помощью оператора + Вероятно, одна из первых вещей, которую мы изучаем в Python, - это то, как соединять строки с помощью оператора +. Это полезный, но не самый эффективный способ соединения строк в Python. Помимо этого, это не очень красиво – чем больше строк вам нужно соединить, тем больше операторов + вы будете использовать. Вместо этого вы можете воспользоваться f-строкой. # Formatting with + operator # Bad name = input("Introduce Name: ") print("Good Morning, " + name + "!") # Good name = input("Introduce Name: ") print(f'Good Morning, {name}') Преимуществом f-строк в том, что они полезны не только для конкатенации, но и для других целей. 10. Использование изменяемых значений в качестве значений по умолчанию Если вы включите изменяемое значение (например, список) в качестве параметра функции по умолчанию, то увидите нечто неожиданное. # Bad def my_function(i, my_list=[]): my_list.append(i) return my_list>>> my_function(1) [1] >>> my_function(2) [1, 2] >>> my_function(3) [1, 2, 3] В приведенном выше коде каждый раз, когда мы вызываем функцию my_function, список my_list сохраняет значения из предыдущих вызовов (а мы, скорее всего, хотим инициировать пустой список при каждом вызове функции). Чтобы избежать такой проблемы, мы должны установить этот параметр my_list равным None и добавить условие if как показано ниже. # Good def my_function(i, my_list=None): if my_list is None: my_list = [] my_list.append(i) return my_list>>> my_function(1) [1] >>> my_function(2) [2] >>> my_function(3) [3]
img
Команда sudo - одна из самых популярных команд, доступных в Linux. Она позволяет пользователям выполнять команды от имени другого пользователя, который по умолчанию настроен на запуск от имени пользователя root. У вас есть два варианта предоставления пользователю доступа к sudo. Первый - добавить пользователя в файл sudoers. Этот файл содержит информацию, которая определяет, каким пользователям и группам предоставляются привилегии sudo, а также уровень привилегий. Второй вариант - добавить пользователя в группу sudo, определенную в файле sudoers. По умолчанию в дистрибутивах на основе RedHat, таких как CentOS и Fedora, членам группы «wheel» предоставляются привилегии sudo. Добавление пользователя в группу wheel Самый простой способ предоставить пользователю привилегии sudo в CentOS - это добавить пользователя в группу «wheel». Члены этой группы могут запускать все команды через sudo и получать запрос на аутентификацию по паролю при использовании sudo. Мы предполагаем, что пользователь уже существует. Если вы хотите создать нового sudo пользователя, то посмотрите как это сделать в этой статье. Чтобы добавить пользователя в группу, выполните приведенную ниже команду от имени пользователя root или другого пользователя sudo. Измените «username» на имя пользователя, которому вы хотите предоставить разрешения. usermod -aG wheel username Предоставления доступа sudo с использованием этого метода достаточно для большинства случаев использования. Чтобы проверить доступ к sudo, запустите команду whoami: sudo whoami Вам будет предложено ввести пароль. Если у пользователя есть доступ к sudo, команда выведет «root». Если вы получаете сообщение «user is not in the sudoers file» (пользователь отсутствует в файле sudoers), это означает, что у пользователя нет привилегий sudo. Добавление пользователя в файл sudoers Привилегии sudo пользователей и групп настраиваются в файле /etc/sudoers. Добавление пользователя в этот файл позволяет вам предоставлять настраиваемый доступ к командам и настраивать пользовательские политики безопасности для пользователя. Вы можете настроить доступ пользователя sudo, изменив файл sudoers или создав новый файл конфигурации в каталоге /etc/sudoers.d. Файлы внутри этого каталога включены в файл sudoers. Чтобы отредактировать файл /etc/sudoers, используйте команду visudo. Эта команда проверяет файл на наличие синтаксических ошибок при его сохранении. Если есть какие-либо ошибки, файл не сохраняется. Если вы откроете файл в текстовом редакторе, синтаксическая ошибка может привести к потере доступа к sudo. Обычно visudo использует vim для открытия /etc/sudoers. Если у вас нет опыта работы с vim, и вы хотите отредактировать файл с помощью nano, укажите: EDITOR=nano visudo А лучше прочитайте нашу статью про vim :-) Допустим, вы хотите разрешить пользователю запускать команды sudo без запроса пароля. Откройте файл /etc/sudoers: visudo Прокрутите вниз до конца файла и добавьте следующую строку: username ALL=(ALL) NOPASSWD:ALL Сохраните файл и выйдите из редактора (подсказка - :wq). Не забудьте изменить «username» на имя пользователя, которому вы хотите предоставить доступ. Другой распространенный пример - позволить пользователю запускать только определенные команды через sudo. Например, чтобы разрешить использовать только команды du и ping: username ALL=(ALL) NOPASSWD:/usr/bin/du,/usr/bin/ping Вместо того, чтобы редактировать файл sudoers, вы можете добиться того же, создав новый файл с правилами авторизации в каталоге /etc/sudoers.d. Добавьте то же правило, что и в файл sudoers: echo "username ALL=(ALL) NOPASSWD:ALL" | sudo tee /etc/sudoers.d/username Такой подход делает управление привилегиями sudo более понятным. Название файла не важно. Это обычная практика, когда имя файла совпадает с именем пользователя. Вывод Предоставление пользователю доступа sudo - простая задача, все, что вам нужно сделать, это добавить пользователя в группу «wheel». Ну и не забыть как выходить из vim!
ВЕСЕННИЕ СКИДКИ
40%
50%
60%
До конца акции: 30 дней 24 : 59 : 59