Этюды для программистов на Python
2.64K subscribers
39 photos
3 videos
7 files
144 links
👋 Привет, я Дима, руководитель образовательных проектов в @Positive_Technologies и Python-евангелист.
Пишу про обработку данных на языке Python 🐼, управление проектами и преподавание.
Связаться со мной → @dm_fedorov
Download Telegram
На днях в Москве прошло грандиозное мероприятие для тех, кто хочет войти в кибербез - Standoff101 😎
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🥱3👏1
Forwarded from Кибербез образование (Dima Fedorov)
🔥 Все выступления на Standoff101👇

👉 Приветственное слово команды организаторов. Юлия Данчина, Таисия Чернышева
👉 Обратная разработка: как попасть в профессию. Леонид Безвершенко
👉 На страже киберустойчивости: один день из жизни исследователя угроз. Денис Макрушин
👉 Профессия хакер: все, что вы хотели знать, но боялись спросить. Егор Богомолов
👉 CTF 101: зачем захватывать флаги и как это связано с ИБ. Георгий Зайцев
👉 Специалист по ИБ 2030: что нужно, чтобы быть востребованным. Лев Николаев
👉 Займемся профайлингом! Какие они, специалисты по ИБ? Светлана Пронина
👉 Безопасность операционных систем: как вкатиться в тему. Александр Попов
👉 Extreme ways, или История о том, как я стал специалистом по ИБ. Владимир Николаев
👉 Кто такой security officer и какими навыками он должен обладать. Дмитрий Гадарь
👉 Какая она, жизнь специалиста по ИБ? Андрей Масалович (КиберДед)
👉 Инфобез: карьерный рост без ограничений. Лидия Виткова
👉 Сам себе университет: как управлять своим образовательным маршрутом, чтобы расти в профессии? Дарья Гриц
👉 Как получить работу вирусным аналитиком и что ждет впереди. Алексей Вишняков
👉 Зачем работать в AppSec и что для этого нужно. Ольга Свиридова
👉 Новые тренды, или Как open source и AI расширяют функцию ИБ. Александр Белоцерковский
👉 С чего начинается путешествие в мир кибербезопасности? Ильдар Садыков
👉 Спасибо, было интересно. А что дальше? Олег Игнатов, Дмитрий Федоров
👉 Награждение победителей CTF и завершение выступлений

#standoff101 #PositiveEducation
Please open Telegram to view this post
VIEW IN TELEGRAM
👏4
Что каждый программист должен знать или уметь делать? 🤔

Отвечает Чарльз Уэзерелл, автор книги "Этюды для программистов".

👉 Иметь познания в формальной математике. Уровня для понимания книг Хопкрофта и Ульмана (Структуры данных и алгоритмы), дополненного немного теорией графов, будет достаточно. Дискретная математика крайне необходима; математический анализ может понадобится в некоторых областях.

👉 Умение понятно писать на родном языке. Дейкстра говорил, что человек, не умеющий писать на собственном языке, не может писать хорошие программы (надеюсь, Дейкстра это действительно говорил!). Написание программ, по сути, - как написание прозы. Если вы не можете связно излагать на родном языке, сделать это, например, на С, будет еще сложнее.

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

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

Источник
Please open Telegram to view this post
VIEW IN TELEGRAM
12🥱4
Делюсь ближайшими планами 🐍 и приглашаю в свою группу про образование в области кибербезопасности 👨‍🏫
Please open Telegram to view this post
VIEW IN TELEGRAM
Работа над новым изданием пособия по Python 🐍

Перечислю нововведения, которые ждут читателей следующего издания пособия (дата выхода - сентябрь 2024):

1️⃣ методические указания для преподавателей курса с видео поддержкой;
2️⃣ описание работы с окружением conda и блокнотами Jupyter;
3️⃣ упражнения для специалистов по ИБ (blue team);
4️⃣ примеры готовых блокнотов в open source для встраивания в учебный процесс подготовки специалистов по кибербезу;
5️⃣ новые главы по архитектуре CPython (Just for Fun).

#python
Please open Telegram to view this post
VIEW IN TELEGRAM
👏154
Обучение программированию в эпоху ChatGPT

Как преподаватели информатики планируют адаптироваться к ChatGPT, GitHub Copilot и другим помощникам на базе ИИ?

Подобное исследование провели Сэм Лау и Филип Го в 2023 году. Они опросили 20 преподавателей программирования из 9 стран (Австралия, Ботсвана, Канада, Чили, Китай, Руанда, Испания, Швейцария, США).

Мнения преподавателей разделились 👨‍🏫

👉 Краткосрочные планы: преподаватели хотят, чтобы ученики не списывали

Если учащиеся смогут легко получать ответы с помощью ИИ, им не нужно будет глубоко размышлять над материалом, и, следовательно, они не узнают столько, сколько должны по учебной программе. Но проблема списывания существовала и до ChatGPT. Вспомним ресурс Stack Overflow 😉

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

👉 Долгосрочные планы: идеи противостояния инструментам искусственного интеллекта

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

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

👉 Долгосрочные планы: идеи по использованию инструментов ИИ

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

Можно провести аналогию с компиляторами: "Нам больше не нужно смотреть на 1 и 0. Компиляторы уже похожи на ИИ в том смысле, что они превосходят людей в генерации кода" 🔥

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

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

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

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

PS. оригинальное исследование по ссылке.

#программирование
Please open Telegram to view this post
VIEW IN TELEGRAM
👏5
На Хабре опубликовали мою первую статью 🥰 👨‍💻 🥷
Please open Telegram to view this post
VIEW IN TELEGRAM
👏153
Карьера в кибербезопасности, или Как расти в ИБ

Ежегодно тысячи выпускников программ по ИБ, начиная свой карьерный путь, задаются вопросами: как развиваться в кибербезопасности и к какой должности стремиться? какие задачи я смогу решать через несколько лет? смогу ли я изменить свой карьерный путь, если пойму, что мне становится скучно?

Меня зовут Дмитрий Федоров, я руковожу проектами по взаимодействию с вузами в команде Positive Education 🟥 Мы часто слышим эти вопросы, лично работая со студентами и молодыми специалистами, поэтому решили ответить на них, а в итоге у нас получились наглядные схемы развития карьеры в ИБ.

Продолжение на Хабре.

#PositiveEducation
Please open Telegram to view this post
VIEW IN TELEGRAM
👏81
Приходите к нам учиться кибербезу 🥷🖥
Please open Telegram to view this post
VIEW IN TELEGRAM
Как перейти из программирования в кибербезопасность? 🤔

Один из треков развития в области кибербезопасности — безопасная разработка приложений (AppSec).

Что необходимо знать и уметь для работы в AppSec? 🤔

Типичная вакансия включает в себя следующие компетенции 👀

1️⃣ Разработка ПО или автоматизация (Java, Python).
2️⃣ Понимание принципов работы реляционных БД, опыт проектирования схем БД и исследования данных.
3️⃣ Знания основных векторов атак на современные приложения (web, mobile, desktop), методов обхода защиты на уровне приложений и наложенных средств защиты.
4️⃣ Знания основных приемов устранения распространенных уязвимостей на приложения.
5️⃣ Понимание SSDLC стандартов и методов разработки защищенного ПО.
6️⃣ Опыт работы с практиками анализа приложений (SAST, SCA, DAST).

На основе детального анализа вакансий командой Positive Education был разработан учебный курс "AppSec: разработка безопасного программного обеспечения".

По результатам обучения выпускник получит уникальные знания от экспертов Positive Technologies 🟥 и удостоверение повышения квалификации МФТИ 👩‍🎓👨‍🎓

🔥 Старт обучения 2 апреля. Количество мест ограничено!

#PositiveEducation
Please open Telegram to view this post
VIEW IN TELEGRAM
👏32🤯1
Рекомендую 👇
Please open Telegram to view this post
VIEW IN TELEGRAM
Приглашаем студентов на Молодежный день в рамках международного киберфестиваля Positive Hack Days 2🔥

25 мая для студентов ИТ-направлений состоится Молодежный день, который объединит площадки сразу в четырех городах — Москве («Лужники»), Санкт-Петербурге (Университет ИТМО), Казани (Университет Иннополис) и Нижнем Новгороде (Академия Маяк), чтобы познакомить всех желающих с индустрией кибербезопасности 🥷

В этот день студентов будет ждать насыщенная программа 🥳

1️⃣ Лекции от экспертов: сможете погрузиться в мир кибербеза и узнать, чем занимается белый хакер, специалист по AppSec, директор по ИБ и другие специалисты, а также пообщаться со спикерами.
2️⃣ Воркшопы: команда Молодежного дня подготовила тематические воркшопы с заданиями по разным ИБ-профессиям – сможете попробовать себя в разных ролях.
3️⃣ Профориентационная диагностика: сможете пройти тест и узнать, какое направление в ИБ вам подходит больше всего.
4️⃣ HR-стенды: узнаете все про работу и стажировки в Positive Technologies 🟥 и в компаниях-партнерах.

Спешите зарегистрироваться по ссылке! 🤓

#PositiveEducation
Please open Telegram to view this post
VIEW IN TELEGRAM
4👏1
Беседа про преподавание языка Python и свободное программное обеспечение 🐍🖥

В основе деятельности кибербез специалиста 🥷 лежит глубокое знание языков программирования и операционных систем, поэтому в очередном выпуске подкаста я решил затронуть тему фундаментального ИТ-образования 🤓 👨‍🏫

В гостях Георгий Курячий - ведущий разработчик ОС "Альт" и преподаватель факультета вычислительной математики и кибернетики (ВМК) МГУ, автор книг по ОС на базе ядра Linux, лекций по Python, архитектуре и языку ассемблера RISC-V.

00:49 - Георгий о себе и своем пути в преподавание.
05:50 - История преподавания Python.
08:38 - Недостатки языка Python с точки зрения преподавания.
13:04 - Про изучение языка C после Python.
15:10 - Python написан на языке C.
15:47 - Пример перехода от языка Python к C и изменение мышления
16:37 - Про изучение языка С в отрыве от UNIX-подобных ОС.
18:50 - Про архитектуру языка С.
22:17 - Изучение языков Rust, Go, Zig, Nim.
26:16 - Преподавание Python в вузах и курсы для преподавателей.
29:48 - Python за 24 часа.
30:59 - Как меняется образовательная площадка?
32:52 - Python для непрограммистов в вузе.
35:36 - Про использование базы знаний сайта UNИX в преподавании и цель презентаций.
39:26 - Почему ИТ-компании обратили внимание на свободное программное обеспечение?
44:39 - ВКР и курсовые работы студентов, как открытые проекты, участие студентов в открытых проектах.
51:40 - Кризис воспроизводимости в науке и открытость данных, диссертации и открытость.
1:00:17 - Зачем публиковать свои работы в открытом доступе?
1:01:15 - Можно ли перенять опыт развития современного анализа данных (открытые библиотеки, данные)?
1:06:40 - Использование чат-ботов в обучении программированию и как изменится образование?
1:14:58 - Рекомендации студентам.

Видео: https://youtu.be/ybrV2JUkwo8

Дополнительные материалы
— Лекции на факультете ВМК МГУ по ссылке.
— Использование языка программирования Python в качестве базового при обучении специалистов по ссылке.
— Алгоритмы и алгоритмические языки по ссылке.
— Операционная система Linux: Курс лекций. Учебное пособие по ссылке.

Все выпуски подкаста также можно послушать на платформе Яндекс Музыка 🎶

#подкаст
Please open Telegram to view this post
VIEW IN TELEGRAM
9👏1
👋 О чем этот канал? Пост для новых друзей

Привет, я Дима, руководитель образовательных проектов в команде Positive Education 🟥 и амбассадор результативного кибербез образования 🥷

Вся моя сознательная жизнь связана с ИБ-образованием: сначала в качестве студента на кафедре П.Д. Зегжды (ex-ИБКС) и затем в роли преподавателя 🫡

Здесь я делюсь исследованиями #аналитика , примерами практических работ по кибербезу #задание , схемой развития карьеры ИБ-специалиста и другими заметками ✍️

Убежден, что через формирование сообщества увлеченных людей можно сделать ИБ-образование лучше! 🚀

Еще я написал учебник о языке Python #python 🐍, который активно внедряется в вузах нашей страны 🇷🇺 Проверил на студентах, что через изучение программирования можно сформировать мышление ИБ-специалиста 👨‍💻

Временами я записываю подкаст про ИБ-образование, доступный по ссылке 🎵 (напишите, если хотите принять в нем участие или предложить интересную тему)

Буду рад новым знакомствам 😊🤝
Please open Telegram to view this post
VIEW IN TELEGRAM
👏3
Почему кибербезопасность — новая нефть?

Всегда с большим интересом смотрю выступления Дениса Кораблёва, управляющего директора Positive Technologies 🟥 и генерального директора ФК "Волна" ⚽️

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

🔥 Также напоминаю, что 25 мая для студентов ИТ-направлений состоится Молодежный день на фестивале PHDays 2, который объединит площадки сразу в 4️⃣ городах — Москве ("Лужники"), Санкт-Петербурге (Университет ИТМО), Казани (Университет Иннополис) и Нижнем Новгороде (Академия Маяк), чтобы познакомить всех желающих с индустрией кибербезопасности 🥷

Приглашаю студентов зарегистрироваться по ссылке! 🤓

#PositiveEducation
Please open Telegram to view this post
VIEW IN TELEGRAM
Positive Technologies 🟥 приглашает принять участие в олимпиаде по программированию «1+1» 25 мая онлайн и на киберфестивале PHDays Fest 2 в «Лужниках»

Все пройдет без пафоса, в комфортной и дружелюбной обстановке. Участвуйте сами и приводите +1.

Перед олимпиадой мы проведем две тренировочные сессии онлайн 👨‍💻

На олимпиаде вас будут ждать задачи на разные темы,  сложность тоже будет различаться — решать будет интересно как постоянным участникам соревнований, так и тем, у кого еще нет олимпиадного опыта 👍

Итоги подведем в день олимпиады, участников с лучшими результатами наградим. А после разберем задачи и решения вместе с тренером 👨‍🏫

👉 Узнайте больше и зарегистрируйтесь до 23 мая.
Please open Telegram to view this post
VIEW IN TELEGRAM
Чем разработчику заняться на PHDays Fest 2: наш гайд по программе технического трека 👨‍💻

Друзья, всем привет! 👋

С 23 по 26 мая в "Лужниках" пройдет Positive Hack Days Fest 2. Мы будем говорить о языках программирования🐍, создании платформ, инжиниринге данных, менеджменте, повышении эффективности команд и многом другом. Программа получилась насыщенной: 3️⃣ дня занимают доклады, а еще один целиком посвящен воркшопам 👨‍💻

Подробнее на Хабре 👍

#анонс
Please open Telegram to view this post
VIEW IN TELEGRAM
8
Алан Тьюринг: история первого компьютера за 30 минут 🤔

Об эволюции вычислительной техники и отце всех компьютеров — Алане Тьюринге в первом выпуске "Комнаты 1337", проекта Positive Hack Media 👨‍💻

00:00 — Начало
02:53 — Первые компьютеры — это люди
04:26 — Расцвет механических вычислительных машин
06:40 — Как появилась первая аналитическая вычислительная машина в мире
08:30 — Перфокарты — это флешки XIX века
11:59 — Самая драматическая развязка в истории математики
14:40 — Проблема разрешимости
17:23 — Гениальность Алана Тьюринга
19:18 — Что из себя представляет машина Тьюринга
24:04 — Машина Тьюринга из Lego и другие попытки ее создания
26:15 — Почему универсальная машина Тьюринга — это прорыв
28:23 — Финал

Видео: https://youtu.be/gbyxHLsTJcg

#видео #PositiveHackMedia
Please open Telegram to view this post
VIEW IN TELEGRAM
4🥱1
Программирование на Python (6-е издание)

Каждый ☝️ учебник по программированию должен включать главу по безопасной разработке 🤖

В 6-ом издании учебного пособия про Python добавил небольшую часть о поиске уязвимостей в исходном коде приложений с помощью плагина PT Application Inspector 🟥

Радует, что у предыдущих изданий на Озоне все отзывы положительные 😍

#пособие #python
Please open Telegram to view this post
VIEW IN TELEGRAM
18👏4
Приглашаю преподавателей ИТ 👨‍🏫 принять участие в бесплатном обучении по курсу "Безопасная разработка" 👨‍💻, которое проведут ведущие эксперты компании Positive Technologies 👇
Please open Telegram to view this post
VIEW IN TELEGRAM