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

Ошибка входа в phpMyAdmin

После установки phpMyAdmin при входе в систему с root вы получаете следующую ошибку

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

Ошибка входа в phpMyAdmin

 

1698 - Access denied for user 'root'@'localhost'

mysqli_real_connect(): (HY000/1698): Access denied for user 'root'@'localhost'

 

Нам нужно самостоятельно создать пользователя-администратора.

1 Используйте Терминал для входа в mysql как root, если вы создали пароль root для mysql, если он пуст, используйте следующую команду

sudo mysql -p -u root

 

2 Создайте нового пользователя с новым паролем, здесь мы используем andreyex и testpassword в качестве примера

CREATE USER 'andreyex'@'localhost' IDENTIFIED BY 'testpassword';

 

Предоставить новому пользователю права суперпользователя

GRANT ALL PRIVILEGES ON *.* TO 'andreyex'@'localhost' WITH GRANT OPTION;

 

Теперь вы можете использовать новый логин для входа в phpMyAdmin.



2020-10-21T13:42:19
MariaDB

Как защитить email от взлома

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

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

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

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

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

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

Не вводите ответ на секретный вопрос. Практически все почтовые сервисы предлагают восстановление пароля при помощи «секретного вопроса». Несмотря на то, что это очень удобно, такой способ восстановления может сыграть с Вами злую шутку. Обычно пользователи выбирают стандартные вопросы, вроде девичьей фамилии матери или своего года рождения. Эту информацию достаточно легко найти в социальных сетях или узнать напрямую у жертвы. Поэтому если и использовать секретный вопрос, то лучше самостоятельно придумать его. Вы можете использовать такой вопрос, ответ на который известен только Вам. Также регистрация почтового ящика доступна и без этой функции.

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

Используйте защищенное соединение. Данное правило скорее подходит в качестве профилактики, так как не гарантирует 100% защиту. Обратите внимание, чтобы в начале адресной строки был установлен протокол «https://», а не «http://».

Установите программы шифрования сетевого трафика. Если в Вашем почтовом ящике находится большое количество писем с секретной или очень важной для Вас информацией, лучше пользоваться дополнительным ПО. Например, браузер TOR или какой-либо другой популярный сервис. В этом случае весь трафик, который проходит через интернет сеть, будет зашифрован. Для злоумышленника это создаст дополнительный барьер и усложнит перехват данных. Однако стоит сказать, что это крайняя мера и первых шести правил будет вполне достаточно для надежной защиты.

Если со всей ответственностью подойти к выполнению вышеперечисленных правил, то переживать за надежность данных электронного почтового ящика и социальных сетей точно не придется.



2020-10-21T12:38:40
Безопасность

Mikrotik DNS и DHCP для Active Directory

В версии 6.47 RouterOS Mikrotik наконец добавил возможность заводить в DNS разные типы записей — CNAME, FWD, MX, NS, NSDOMAIN, SRV и TXT (раньше были только А- и АААА-записи). А это значит, что теперь роутер можно использовать в качестве DNS для домена Active Directory с возможностью переноса на него и DHCP-сервера тоже.

Читать

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

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

Недавние исследования показывают, что наем талантливых специалистов — вторая по важности проблема в разработке программного обеспечения или разработки онлайн казино. Причина двоякая.

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

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

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

 

1. Начните с «Почему»

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

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

Наличие ясности в отношении объема, продолжительности, сложности проекта, а также требований к техническим и человеческим ресурсам может, в свою очередь, внести большую ясность в ваши потребности в ресурсах.

 

2. «Да начнутся голодные игры»

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

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

Интернет-сообщества. Есть несколько платформ, которые отлично подходят для поиска опытных инженеров-программистов.

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

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

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

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

 

3. Не уклоняйтесь от тщательной оценки

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

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

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

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

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



2020-10-21T01:01:31
Программирование

Установка Яндекс Диск в Linux

 

У многих компаний существуют свои облачные хранилища, на которых вы можете бесплатно хранить свои файлы. Такое хранилище есть у Google, Mail.ru, DropBox, Mega, а также у Яндекса. В отличие от Mail.ru, у которого больше нет полноценного клиента для Linux у Яндекса такой клиент есть, правда, работает он только через терминал.

 

В этой небольшой статье мы рассмотрим как установить Яндекс Диск на Linux и как пользоваться программой для синхронизации локальной папки с удалённым диском. Мы рассмотрим все действия на примере Ubuntu.

Читать

Функция Python map ()

map() — это встроенная функция в Python, которая применяет функцию ко всем элементам в данной итерации. Это позволяет писать простой и чистый код без использования циклов.

Функция Python map()

Функция map() принимает следующий вид:

map(function, iterable, ...)

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

  • function — функция, которая вызывается для каждого элемента iterable .
  • iterable — один или несколько объектов, поддерживающих итерацию. Большинство встроенных объектов в Python, таких как списки, словари и кортежи, являются повторяемыми.

В Python 3 map() возвращает объект карты с размером, равным переданному итерируемому объекту. В python 2 функция возвращает список.

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

Один из способов сделать это — использовать традиционный цикл for :

directions = ["north", "east", "south", "west"]
directions_upper = []

for direction in directions:
    d = direction.upper()
    directions_upper.append(d)

print(directions_upper)

['NORTH', 'EAST', 'SOUTH', 'WEST']

С функцией map() код будет намного проще и гибче.

def to_upper_case(s):
    return s.upper()

directions = ["north", "east", "south", "west"]

directions_upper = map(to_upper_case, directions)

print(list(directions_upper))

Мы используем конструктор list() для преобразования возвращенного объекта карты в список :

['NORTH', 'EAST', 'SOUTH', 'WEST']

Если функция обратного вызова проста, более питоническим способом является использование лямбда-функции:

directions = ["north", "east", "south", "west"]

directions_upper = map(lambda s: s.upper(), directions)

print(list(directions_upper))

Лямбда-функция — это небольшая анонимная функция.

Вот еще один пример, показывающий, как создать список квадратных чисел от 1 до 10:

squares = map(lambda n: n*n , range(1, 11))
print(list(squares))

[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]

Функция range() генерирует последовательность целых чисел.

Использование map() с несколькими итерациями

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

В следующем примере показано, как выполнить поэлементное умножение двух списков:

def multiply(x, y):
  return x * y

a = [1, 4, 6]
b = [2, 3, 5]

result = map(multiply, a, b)

print(list(result))

[2, 12, 30]

Тот же код, но с использованием лямбда-функции, будет выглядеть так:

a = [1, 4, 6]
b = [2, 3, 5]

result = map(lambda x, y: x*y, a, b)

print(list(result))

Когда предоставляется несколько итераций, размер возвращаемого объекта равен самому короткому итерируемому.

Давайте посмотрим на пример, когда итерируемые объекты имеют разную длину:

a = [1, 4, 6]
b = [2, 3, 5, 7, 8]

result = map(lambda x, y: x*y, a, b)

print(list(result))

Лишние элементы (7 и 8) игнорируются:

[2, 12, 30]

Выводы

Функция Python map() принимает итерируемый объект вместе с функцией и применяет эту функцию к каждому элементу в итерируемом объекте.

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



2020-10-18T16:23:42
Python