Привет, друзья! Решил завести свой блог про Питон, ИИ, карьеру в IT и всё, что с этим связано. Надеюсь, здесь будет дружелюбная атмосфера и каждый интересующийся сможет найти для себя что-то полезное.
Обо мне: программирую на Питоне примерно с 2012 года, с 2014 стал заниматься такой областью искусственного интеллекта как автоматическая обработка текстов. Сейчас я NLP-техлид в одной российской IT-компании. Наша команда применяет современные технологии глубокого обучения для обработки текстов на разных языках. До этого я успел поработать в нескольких зарубежных компаниях в бэкенд-разработке, анализе данных и машинном обучении. До перехода в IT долго работал преподавателем в вузе. Изначально моё образование гуманитарное, педагогическое; как ни странно, оно порой здорово помогает в моей IT-карьере.
В этом блоге я буду делиться знаниями и личным опытом в тех областях, где что-то понимаю. Для меня важно помогать людям, как и мне когда-то помогали мои учителя и более опытные коллеги.
Обо мне: программирую на Питоне примерно с 2012 года, с 2014 стал заниматься такой областью искусственного интеллекта как автоматическая обработка текстов. Сейчас я NLP-техлид в одной российской IT-компании. Наша команда применяет современные технологии глубокого обучения для обработки текстов на разных языках. До этого я успел поработать в нескольких зарубежных компаниях в бэкенд-разработке, анализе данных и машинном обучении. До перехода в IT долго работал преподавателем в вузе. Изначально моё образование гуманитарное, педагогическое; как ни странно, оно порой здорово помогает в моей IT-карьере.
В этом блоге я буду делиться знаниями и личным опытом в тех областях, где что-то понимаю. Для меня важно помогать людям, как и мне когда-то помогали мои учителя и более опытные коллеги.
Какие темы наиболее интересны? Также можете писать свои варианты в комментариях.
Anonymous Poll
36%
Базовый Питон
61%
Продвинутый Питон
78%
Машинное обучение и искусственный интеллект
64%
Поиск работы, собеседования, карьера
44%
Работа с людьми, гибкие навыки (soft skills)
Навигация
Хэштеги внутри блога, по которым можно найти посты на интересующие вас темы:
#py_basic - инсайты и лайфхаки для начинающих в Питоне, а также разборы несложных задач. Основано на большом опыте преподавания Питона с нуля.
#py_advanced - более продвинутые и специфические трюки и инструменты, разборы сложных задач.
#ml - про машинное обучение, интеллектуальный анализ данных, особенно в сфере обработки текстов. Истории из опыта (правда, не обо всём можно рассказывать из-за NDA).
#career - советы по продвижению карьеры в IT, прохождение собеседований, как найти первую работу и т.д.
#soft_skills - как эффективно общаться с коллегами, управлять временем, эмоциями, своим развитием.
Голосование:
https://t.me/plush_python/5
Об авторе:
https://t.me/plush_python/4
Хэштеги внутри блога, по которым можно найти посты на интересующие вас темы:
#py_basic - инсайты и лайфхаки для начинающих в Питоне, а также разборы несложных задач. Основано на большом опыте преподавания Питона с нуля.
#py_advanced - более продвинутые и специфические трюки и инструменты, разборы сложных задач.
#ml - про машинное обучение, интеллектуальный анализ данных, особенно в сфере обработки текстов. Истории из опыта (правда, не обо всём можно рассказывать из-за NDA).
#career - советы по продвижению карьеры в IT, прохождение собеседований, как найти первую работу и т.д.
#soft_skills - как эффективно общаться с коллегами, управлять временем, эмоциями, своим развитием.
Голосование:
https://t.me/plush_python/5
Об авторе:
https://t.me/plush_python/4
Telegram
Плюшевый Питон
Какие темы наиболее интересны? Также можете писать свои варианты в комментариях.
Базовый Питон / Продвинутый Питон / Машинное обучение и искусственный интеллект / Поиск работы, собеседования, карьера / Работа с людьми, гибкие навыки (soft skills)
Базовый Питон / Продвинутый Питон / Машинное обучение и искусственный интеллект / Поиск работы, собеседования, карьера / Работа с людьми, гибкие навыки (soft skills)
Плюшевый Питон pinned «Навигация Хэштеги внутри блога, по которым можно найти посты на интересующие вас темы: #py_basic - инсайты и лайфхаки для начинающих в Питоне, а также разборы несложных задач. Основано на большом опыте преподавания Питона с нуля. #py_advanced - более продвинутые…»
4 ключевые идеи программирования
#py_basic
Мой путь к написанию кода за деньги, а не просто как хобби, был долог и тернист. К настоящему моменту я пробовал программировать на 10 разных языках, включая Python, Java, C++. Когда я (несколько лет) преподавал Питон с нуля, я обычно начинал с того, что знакомил студентов с четырьмя "ключевыми идеями программирования". Если хорошо усвоить эти идеи, то можно научиться писать код любой сложности, так как всё остальное, что есть в программировании, - лишь надстройка над этими четырьмя идеями.
1. Функции - это действия, которые умеет выполнять ваша программа. Программу можно представить в виде робота, который умеет, например, танцевать, делать уборку, ходить в магазин за хлебом и т.д. Все эти "умения" робота - это функции. Отдельно взятая сложная функция может состоять из более простых функций (действий). Например, функция "сходить за хлебом" может состоять из действий: "взять деньги", "построить маршрут до магазина", "дойти до магазина", "найти в магазине хлеб" и так далее.
2. Переменные - это то, как программа хранит знания о мире. Говоря образно, это такие коробочки с этикетками, на каждой из которых написано название. То, что написано на коробке, - это название переменной, а то, что внутри коробки, - это содержимое, которое переменная хранит (числа, текст, или более сложные объекты). В почти любой программе есть свой "склад коробок" - это все переменные, в которых хранятся знания о мире, заложенные в программе. Следуя нашему примеру про поход за хлебом, можно представить себе переменную-коробку с этикеткой money. Тогда внутри этой коробки должно лежать число, которое обозначает, сколько у нас есть денег.
3. Ветвления - это логика принятия решений внутри нашей программы. Её можно представить в виде простых правил, на которые наша программа-"робот" ориентируется при совершении действий. Например, наш робот решает, покупать ему французский багет или нет. Он может сравнить стоимость багета (которая, допустим, "лежит" в коробке-переменной baguette_price) с количеством денег, которое у него осталось (переменная money). Если стоимость хлеба ниже, чем количество оставшихся денег, то нужно покупать. Конечно, логика робота может быть сколь угодно более сложной. :)
4. Циклы - это просто многократное повторение одних и тех же действий. Например, пока робот не нашёл подходящее хлебо-булочное изделие, он должен идти вдоль витрины и оценивать каждый товар в ассортименте. Когда хлеб найден, нужно прервать цикл (ведь дальше искать нет смысла) и идти к кассе оплачивать товар. Ещё может быть "маленький" цикл (оценить сегодняшний ассортимент в магазине) внутри "большого" цикла (каждый день ходить в магазин). В заключение можно вспомнить фильм "День сурка", где герой, по сути, застрял в бесконечном цикле, но в результате выполнения определённых действий ему всё-таки удаётся "вырваться".
#py_basic
Мой путь к написанию кода за деньги, а не просто как хобби, был долог и тернист. К настоящему моменту я пробовал программировать на 10 разных языках, включая Python, Java, C++. Когда я (несколько лет) преподавал Питон с нуля, я обычно начинал с того, что знакомил студентов с четырьмя "ключевыми идеями программирования". Если хорошо усвоить эти идеи, то можно научиться писать код любой сложности, так как всё остальное, что есть в программировании, - лишь надстройка над этими четырьмя идеями.
1. Функции - это действия, которые умеет выполнять ваша программа. Программу можно представить в виде робота, который умеет, например, танцевать, делать уборку, ходить в магазин за хлебом и т.д. Все эти "умения" робота - это функции. Отдельно взятая сложная функция может состоять из более простых функций (действий). Например, функция "сходить за хлебом" может состоять из действий: "взять деньги", "построить маршрут до магазина", "дойти до магазина", "найти в магазине хлеб" и так далее.
2. Переменные - это то, как программа хранит знания о мире. Говоря образно, это такие коробочки с этикетками, на каждой из которых написано название. То, что написано на коробке, - это название переменной, а то, что внутри коробки, - это содержимое, которое переменная хранит (числа, текст, или более сложные объекты). В почти любой программе есть свой "склад коробок" - это все переменные, в которых хранятся знания о мире, заложенные в программе. Следуя нашему примеру про поход за хлебом, можно представить себе переменную-коробку с этикеткой money. Тогда внутри этой коробки должно лежать число, которое обозначает, сколько у нас есть денег.
3. Ветвления - это логика принятия решений внутри нашей программы. Её можно представить в виде простых правил, на которые наша программа-"робот" ориентируется при совершении действий. Например, наш робот решает, покупать ему французский багет или нет. Он может сравнить стоимость багета (которая, допустим, "лежит" в коробке-переменной baguette_price) с количеством денег, которое у него осталось (переменная money). Если стоимость хлеба ниже, чем количество оставшихся денег, то нужно покупать. Конечно, логика робота может быть сколь угодно более сложной. :)
4. Циклы - это просто многократное повторение одних и тех же действий. Например, пока робот не нашёл подходящее хлебо-булочное изделие, он должен идти вдоль витрины и оценивать каждый товар в ассортименте. Когда хлеб найден, нужно прервать цикл (ведь дальше искать нет смысла) и идти к кассе оплачивать товар. Ещё может быть "маленький" цикл (оценить сегодняшний ассортимент в магазине) внутри "большого" цикла (каждый день ходить в магазин). В заключение можно вспомнить фильм "День сурка", где герой, по сути, застрял в бесконечном цикле, но в результате выполнения определённых действий ему всё-таки удаётся "вырваться".