Приветствую! Пишу данную статью, как благодарность за курс Python Для Пентестера.
Курс супер, огромный респект @explorer и в особенности @f22, ты лучший.
А теперь по порядку.
Для начала немного о себе. Хотя и работаю я системным администратором более 12 лет, программирование и скрипты как-то обошли меня стороной. Мне всегда казалось, что мне это не нужно, да в принципе так оно и было, почти всё что надо можно легко найти в интернете и запустить не особо вчитываясь.
Но в определенный момент случилось страшное=) и подкралось оно откуда не ждали, суть в том, что нам привезли терминал для приёма денег и на нём одновременно необходимо было запускать две программы, а вот интерфейса для переключения(alt+tab) я нигде найти не мог. Я сел и попробовал написать, хм и получилось. В этот момент и пришло осознание, что наверно я ошибался и всё-таки программирование мне в жизни нужно.
Тогда-то волей судьбы и наткнулся на рекламу курса.
И начать этот рассказ я хочу с преподавателя, а именно @f22. Если кто-то из тех, кто приходит на курс считает, что он слишком строг или намеренно придирается к каким то казалось бы не важным вещам, спешу огорчить он делает всё правильно и вот почему:
В одном из уроков я сдаю задание и в ответ получаю всё правильно, только теперь сделай через генератор. Генератор подумал я? И начал искать что это, на словах казалось всё просто, просто формирует списки. Но! С каким же трудом я их осознавал, две недели у меня текли слёзы из глаз от осознания того, насколько я глуп. Я несколько раз писал, что не хочу, не могу, мне этого не надо. В ответ, сделай через генераторы….. И я сделал это задание, с опозданием в две недели, но сделал.
К чему я это? А вот к чему, сейчас я взял заказ на фрилансе и вот, по прошествии почти года я встречаю в ЧУЖОМ коде, который вижу в первый раз вот такую конструкцию:
Python:
freelancers = [
[
model['datetime_updated'].split(
)[0] if 'datetime_updated' in model else '',
model['datetime_updated'].split(
)[1] if 'datetime_updated' in model else '',
emojize(
f':{model["status"]}_circle:') if 'status' in model else '',
model['name'] if 'name' in model else '',
str(model['load_percent']) if 'load_percent' in model else '',
model['comment'] if 'comment' in model else '',
'В отпуске' if model['is_resting'] else 'Работает'
]
for model in all_freelancers
]
До тех двух недель я бы сказал, точнее ничего бы не сказал, а просто закрыл код. А сейчас, блин — это обычный генератор, да с условиями, да я бы сделал по-другому. Но я смог его прочитать и понять.
И какой же я хотел из этого сделать вывод. Повторюсь, курс супер, но главное другое. Если возвращают задание, просто переделайте. Мне тоже вначале было это сложно понять, но теперь оглядываясь назад я чётко вижу всё это было не зря, каждое задание, которое я переписал и иногда по нескольку раз.
Ну и главный вопрос и оно же доказательство на мой взгляд. Для практики после обучения как я уже писал выше я пошёл на фриланс. Мне позвонил заказчик, а у меня там рейтинг 0, спросил почему такой рейтинг, я естественно ответил, что только начинаю. А теперь главный панчлайн этой статьи, ради чего всё это и писалось. Он прислал мне код, далее позвонил и сказал, что уже месяц ищет исполнителя, все отказываются и никто не может разобраться в этом коде. Я его открыл посмотрел, увидел все те конструкции, которые мы так долго и упорно разбирали с @f22 и сейчас я сдаю проект переписав его за три дня.
И дело тут далеко не в моей компетенции, я пришёл на этот курс с нулём. А сегодня сдал первый проект, пусть за не дорого, пусть, возможно, где-то криво, главное сделал и сдал.
За сим откланяюсь, всем удачи. Не упускайте эту возможность, это уникальный опыт.
@f22 А тебе терпения, как и всегда=)
Последнее редактирование модератором: