Регулярные выражения
Очень мощный, но самый загадочный инструмент разработчика. С одной стороны, им можно распарсить все что угодно, проверить на соответствие шаблону и многое другое в таком духе. И вот вы идете писать регулярки и понимаете, что выглядит это все очень некрасиво, но не это главная проблема.
Другие разработчики, скорее всего не поймут ваши регулярки, да и вы спустя время тоже. Их относительно не сложно писать, но тяжело понимать.
Стоит обратить внимание, что не стоит перезагружать регулярки. Они достаточно прожорливы и в большинстве случаев мы сами придумываем дополнительные проблемы. К примеру для проверки мэйла достаточно данного выражения r'\S+@\S+\.\S+' (\S+ - все не пробельные символы от 1 и более).
Самая полная регулярка для решения данной задачи написана в 5558 символов, которые никто не разберет. Лучше все же использовать простой шаблон и дополнительно проверять попыткой отправить письмо.
Очень мощный, но самый загадочный инструмент разработчика. С одной стороны, им можно распарсить все что угодно, проверить на соответствие шаблону и многое другое в таком духе. И вот вы идете писать регулярки и понимаете, что выглядит это все очень некрасиво, но не это главная проблема.
Другие разработчики, скорее всего не поймут ваши регулярки, да и вы спустя время тоже. Их относительно не сложно писать, но тяжело понимать.
Стоит обратить внимание, что не стоит перезагружать регулярки. Они достаточно прожорливы и в большинстве случаев мы сами придумываем дополнительные проблемы. К примеру для проверки мэйла достаточно данного выражения r'\S+@\S+\.\S+' (\S+ - все не пробельные символы от 1 и более).
Самая полная регулярка для решения данной задачи написана в 5558 символов, которые никто не разберет. Лучше все же использовать простой шаблон и дополнительно проверять попыткой отправить письмо.
🐍 Основы Python для менеджеров: как изучить язык программирования без особых хлопот?
Язык Python идеально подходит для автоматизации повседневных бизнес-задач. Если вы не собираетесь становиться профессиональным программистом, углубляться дебри не стоит: менеджерам своей работы хватает, потому им нужно быстро понять основы. Рассказываем как это сделать.
https://proglib.io/sh/3YLgfXEWSH
Язык Python идеально подходит для автоматизации повседневных бизнес-задач. Если вы не собираетесь становиться профессиональным программистом, углубляться дебри не стоит: менеджерам своей работы хватает, потому им нужно быстро понять основы. Рассказываем как это сделать.
https://proglib.io/sh/3YLgfXEWSH
Мы тут с ребятами думаем запустить курс в виде зум и/или оффлайн-встреч, часть курса запишем с топовыми психологами, поэтому если вам интересно, ответьте на 3 вопроса в нашей форме (оринтировочно это займет 2-3 минуты)
https://forms.gle/nBJxwf9pFbYw3mNm9
В форме нет обязательных вопросов.
https://forms.gle/nBJxwf9pFbYw3mNm9
В форме нет обязательных вопросов.
Google Docs
Коммуникации в IT
! Ответы на все вопросы необязательные !
Стань частью международной команды инженеров Intel, которые разрабатывают технологии, меняющие мир.
Ты получишь опыт работы с большим количеством современных инструментов и технических решений.
Узнай больше о вакансии DevOps Engineer (Integration, Computer Vision) по ссылке: http://career.intel.com/tp/rj6-3PauJ-e_K
Ты получишь опыт работы с большим количеством современных инструментов и технических решений.
Узнай больше о вакансии DevOps Engineer (Integration, Computer Vision) по ссылке: http://career.intel.com/tp/rj6-3PauJ-e_K
Black Hat Python (2021)
Авторы: Justin Seitz, Tim Arnold
Количество страниц: 216
Когда дело доходит до создания мощных и эффективных инструментов для этичных хакеров, большинство аналитиков безопасности выбирают Python. Во втором выпуске бестселлера Black Hat Python вы исследуете темную сторону возможностей Python: все, от написания сетевых снифферов, кражи учетных данных электронной почты и перебора каталогов до создания фаззеров мутаций, исследования виртуальных машин и создания скрытых троянов. Книга отлично подходит для поддержания безопасности систем.
Скачать книгу
Авторы: Justin Seitz, Tim Arnold
Количество страниц: 216
Когда дело доходит до создания мощных и эффективных инструментов для этичных хакеров, большинство аналитиков безопасности выбирают Python. Во втором выпуске бестселлера Black Hat Python вы исследуете темную сторону возможностей Python: все, от написания сетевых снифферов, кражи учетных данных электронной почты и перебора каталогов до создания фаззеров мутаций, исследования виртуальных машин и создания скрытых троянов. Книга отлично подходит для поддержания безопасности систем.
Скачать книгу
Telegram
Книги для программистов (reserved)
Black Hat Python (2021)
Авторы: Justin Seitz, Tim Arnold
Авторы: Justin Seitz, Tim Arnold
Math Adventures with Python (2019)
Автор: Peter Farrell
Количество страниц: 304
Книга показывает читателю, как использовать возможности программирования, чтобы сделать занятия математикой актуальными и увлекательными. С помощью языка Python вы сможете визуализировать решения ряда математических задач, используя код для изучения алгебры, тригонометрии, матриц.
Скачать книгу
Автор: Peter Farrell
Количество страниц: 304
Книга показывает читателю, как использовать возможности программирования, чтобы сделать занятия математикой актуальными и увлекательными. С помощью языка Python вы сможете визуализировать решения ряда математических задач, используя код для изучения алгебры, тригонометрии, матриц.
Скачать книгу
Telegram
Книги для программистов (reserved)
Math Adventures with Python (2019)
Автор: Peter Farrell
Автор: Peter Farrell
Полезность модуля math
Сложно переоценить пользу модуля
Его стоит импортировать тогда, когда вам необходимо работать с математикой, но не требуется избыточность модуля
Модуль
Сложно переоценить пользу модуля
math
, если имеешь дело с какими-либо математическими функциями. Модуль представляет собой обширный функционал для работы с числами.Его стоит импортировать тогда, когда вам необходимо работать с математикой, но не требуется избыточность модуля
numpy
. Например, можно импортировать число pi
, как в примере.Модуль
math
обеспечивает доступ к некоторым популярным математическим функциям и константам, к тому же он является встроенным (не нужно делать установку через pip
).Обработка строки
Полезные функции для работы со строками. Python известен тем, что можно написать код в одну строчку использованием метода вместо перебора списком.
Перечислим наиболее полезные методы:
capitalize() - первая буква большая, остальные маленькие
strip() - удаление пробелов в начале и конце
center(int, chr='') - отцентрирует текст, int - нужное кол-во символов в строке, а chr - символ для добавления в начало и конец
swapcase() - заглавные буквы в прописные, маленькие в большие
lower() - преобразует к нижнему регистру
upper() - преобразует к верхнему регистру
При написании нейронок и ботов обязательно приводите все к нижнему регистру с помощью lower(). При написании ботов часто использую center(), для красивого вывода.
Полезные функции для работы со строками. Python известен тем, что можно написать код в одну строчку использованием метода вместо перебора списком.
Перечислим наиболее полезные методы:
capitalize() - первая буква большая, остальные маленькие
strip() - удаление пробелов в начале и конце
center(int, chr='') - отцентрирует текст, int - нужное кол-во символов в строке, а chr - символ для добавления в начало и конец
swapcase() - заглавные буквы в прописные, маленькие в большие
lower() - преобразует к нижнему регистру
upper() - преобразует к верхнему регистру
При написании нейронок и ботов обязательно приводите все к нижнему регистру с помощью lower(). При написании ботов часто использую center(), для красивого вывода.
Потоковый ввод
Вы можете обрабатывать ввод от пользователя потоком. В таком случае для завершения надо воспользоваться специальной "командой" на Windows — Ctrl + D. Запустить потоковый ввод можно через библиотеку sys и метод stdin.
Если требуется получить и тут же обработать строку, то так и пишем: sys.stdin
Если надо в начале прочитать весь потоковый ввод, а затем обработать, то sys.stdin.readlines()
На картинке представлено 2 варианта.
#proglib_contest
Вы можете обрабатывать ввод от пользователя потоком. В таком случае для завершения надо воспользоваться специальной "командой" на Windows — Ctrl + D. Запустить потоковый ввод можно через библиотеку sys и метод stdin.
Если требуется получить и тут же обработать строку, то так и пишем: sys.stdin
Если надо в начале прочитать весь потоковый ввод, а затем обработать, то sys.stdin.readlines()
На картинке представлено 2 варианта.
#proglib_contest
15 лучших книг по питону
Книги по Python (и связанным с ним специальным темам) на русском языке. Расставлены в порядке возрастания сложности, обобщены указанные читателями преимущества и недостатки.
https://proglib.io/w/d0d3db08
#proglib_contest
Книги по Python (и связанным с ним специальным темам) на русском языке. Расставлены в порядке возрастания сложности, обобщены указанные читателями преимущества и недостатки.
https://proglib.io/w/d0d3db08
#proglib_contest
Библиотека программиста
ТОП-15 книг по Python: от новичка до профессионала
Книги по Python (и связанным с ним специальным темам) на русском языке. Расставлены в порядке возрастания сложности, обобщены указанные читателями преимущества и недостатки.
Подходит к концу эпический конкурс на самый интересный контент в телеграм-каналах Библиотеки программиста. Посты собирают всё больше откликов — спасибо за ваши старания!
У всех, кто хотел поучаствовать, остался последний шанс побороться за 20 000 ₽ в каждом из каналов: @progbook, @proglibrary, @pyproglib, @frontendproglib, @javaproglib, @dsproglib, @phpproglib, @cppproglib, @mobileproglib, @goproglib, @csharpproglib, @devopsslib, @testerlib, @hackproglib. Общий призовой фонд 280 000 ₽.
До полуночи примем последние посты — в некоторых каналах шансы на победу всё ещё высокие. Лайфхак: эти каналы нетрудно вычислить по хэштегу #proglib_contest 😉.
Напоминаем, как участвовать: пишем анонс до 700 знаков к любой актуальной айтишной статье 2020-21 годов или рецензию книги для @progbook. Отправляем получившийся текст и название канала боту @proglib_contest_bot. Чей пост в канале наберёт больше откликов, тот и выиграл.
Через три дня подведем итоги и огласим список победителей. Юридическая информация: https://proglib.io/best-post-contest.
У всех, кто хотел поучаствовать, остался последний шанс побороться за 20 000 ₽ в каждом из каналов: @progbook, @proglibrary, @pyproglib, @frontendproglib, @javaproglib, @dsproglib, @phpproglib, @cppproglib, @mobileproglib, @goproglib, @csharpproglib, @devopsslib, @testerlib, @hackproglib. Общий призовой фонд 280 000 ₽.
До полуночи примем последние посты — в некоторых каналах шансы на победу всё ещё высокие. Лайфхак: эти каналы нетрудно вычислить по хэштегу #proglib_contest 😉.
Напоминаем, как участвовать: пишем анонс до 700 знаков к любой актуальной айтишной статье 2020-21 годов или рецензию книги для @progbook. Отправляем получившийся текст и название канала боту @proglib_contest_bot. Чей пост в канале наберёт больше откликов, тот и выиграл.
Через три дня подведем итоги и огласим список победителей. Юридическая информация: https://proglib.io/best-post-contest.
Библиотека программиста
Правила проведения публичного конкурса
Материалы, которые научат и помогут программировать. Книги и лекции, видеоуроки и советы, тесты знаний и обсуждение горячих тем. Присоединяйтесь!
👍1
Разыскивается product owner!
ВТБ ищет профессионала для управления новыми сервисами и продуктами: от создания и тестирования до запуска и эффективного развития.
Что нужно от тебя: подтвержденный опыт разработки продукта, понимание современных гибких методологий IT-разработки, знания в области CusDev, JTBD и других глубинных исследований.
Что гарантирует ВТБ: идеальный микс свободы действий как в стартапе и надежности крупного банка.
Подробнее о вакансии: https://www.vtbcareer.com/vacancy/789086/
ВТБ ищет профессионала для управления новыми сервисами и продуктами: от создания и тестирования до запуска и эффективного развития.
Что нужно от тебя: подтвержденный опыт разработки продукта, понимание современных гибких методологий IT-разработки, знания в области CusDev, JTBD и других глубинных исследований.
Что гарантирует ВТБ: идеальный микс свободы действий как в стартапе и надежности крупного банка.
Подробнее о вакансии: https://www.vtbcareer.com/vacancy/789086/
Библиотека colorama
На первый взгляд — бесполезная библиотека, позволяющая окрашивать текст в командной строке. Но она помогает выделять ошибки приложения и информацию для других разработчиков.
Библиотеку надо установить:
pip install colorama
Colorama позволяет изменять сам цвет текста, а так же его фон и стиль цвета. На картинке мы не можем показать изменение фона, но вы можете опробовать сами.
На первый взгляд — бесполезная библиотека, позволяющая окрашивать текст в командной строке. Но она помогает выделять ошибки приложения и информацию для других разработчиков.
Библиотеку надо установить:
pip install colorama
Colorama позволяет изменять сам цвет текста, а так же его фон и стиль цвета. На картинке мы не можем показать изменение фона, но вы можете опробовать сами.
Библиотека FuzzyWuzzy
Интересная и полезная библиотека поиска совпадений в тексте. Очень поможет вам при работе над общающимися ботами: голосовыми или текстовыми помощниками.
Разумеется, это один из инструментов, всегда можно использовать другой, но я лично пользуюсь этим.
Библиотеку следует установить:
pip install fuzzywuzzy
Несколько примеров работы библиотеки на картинке.
Интересная и полезная библиотека поиска совпадений в тексте. Очень поможет вам при работе над общающимися ботами: голосовыми или текстовыми помощниками.
Разумеется, это один из инструментов, всегда можно использовать другой, но я лично пользуюсь этим.
Библиотеку следует установить:
pip install fuzzywuzzy
Несколько примеров работы библиотеки на картинке.
Тестировщик ПО - это не просто одна из самых простых и доходных профессий для новичка в IT. Здесь вы сможете напрямую влиять на продукт, находить баги и ошибки и писать документацию. По сути, от вас будет зависеть то, насколько удобным будет продукт для пользователя.
На факультете «Тестирование ПО» от GeekBrains вы освоите профессию тестировщика с нуля. За год обучения получите все навыки вы получите всё для старта карьеры: навыки ручного тестирования, практику автоматизации на Java и опыт работы с веб-приложениями.
Кстати, на факультете не только научат новой профессии, но и помогут начать карьеру — студентов курируют HR-специалисты GeekBrains
Ворваться в IT можно уже сейчас со скидкой на обучение в 45% → https://gb.ru/link/8O5Z8I
На факультете «Тестирование ПО» от GeekBrains вы освоите профессию тестировщика с нуля. За год обучения получите все навыки вы получите всё для старта карьеры: навыки ручного тестирования, практику автоматизации на Java и опыт работы с веб-приложениями.
Кстати, на факультете не только научат новой профессии, но и помогут начать карьеру — студентов курируют HR-специалисты GeekBrains
Ворваться в IT можно уже сейчас со скидкой на обучение в 45% → https://gb.ru/link/8O5Z8I
Асинхронное программирование
Обычно мы пишем синхронный код - выполняется по порядку один за другим. Но иногда требуется, чтобы выполнялось несколько задач одновременно. К примеру, пока копируются файлы можно было поиграть в игру. Это возможно благодаря нескольким ядрам и потокам. ВАЖНО! Асинхронность не обязательно делает код быстрее, но может повысить его эффективность. В момент простаивания процессор будет переключаться на другие задачи.
На картинке программа, где повар готовит сразу несколько блюд. По другому бы нам пришлось по-очереди готовить каждое блюдо, но мы можем вернуться к другим, если поставили блюдо на огонь.
Обычно мы пишем синхронный код - выполняется по порядку один за другим. Но иногда требуется, чтобы выполнялось несколько задач одновременно. К примеру, пока копируются файлы можно было поиграть в игру. Это возможно благодаря нескольким ядрам и потокам. ВАЖНО! Асинхронность не обязательно делает код быстрее, но может повысить его эффективность. В момент простаивания процессор будет переключаться на другие задачи.
На картинке программа, где повар готовит сразу несколько блюд. По другому бы нам пришлось по-очереди готовить каждое блюдо, но мы можем вернуться к другим, если поставили блюдо на огонь.