DON'T STOP AND CODE – Telegram
DON'T STOP AND CODE
103 subscribers
58 photos
2 videos
1 file
119 links
Мой путь в программировании
#python

Для связи: @avagners
Download Telegram
У меня 2 новости:

1) на практикуме сделал бот для проверки статуса ревью.
Иии... Он работает! Только что получил сообщение в телеграм)))
Огонь🔥🔥🔥

2) ещё немного статистики по курсам. Сейчас прохожу курс по алгоритмам. Курсу уже более 5 лет. А завершили его всего 5067 человек.

Всего 5067 человек!
На мой взгляд это очень маленькое количество.

А если посчитать отношение к всего стартовашим, то получим 4,5%. Жесть!

Там уже первую задачу решить смогли только 28 тыс. То есть 3/4 людей уже на первых видео теории поняли, что это не для них.

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

Посмотрим как получится. Прошёл 1 блок и пропустил пока 1 задачу повышенной сложности.
👍3
Оценка времени работы алгоритмов - это сплошная высшая математика. Её я, к сожалению, не изучал ввиду различных обстоятельств.

Сейчас искренне сожалению о том, что упустил время когда мне было 16-20 лет

Ну не будем о грустном.

Мне всего почти 30 лет))) Нужно навёрстывать упущенное. Думаю и высшую математику смогу освоить на необходимом уровне.
Вроде неплохой советский учебник нашёл.
😢2
Вчера перед сном пооткрывал книг и статей про О-большое, о-малое, тета и омегу, про логарифмы.
Вот буду на выходных разбираться.

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

Интересно, сколько мне потребуется времени, чтобы разобраться, понять тему и верно решить 2 задачи? 🧐
👍3
Завершил чтение книги "Гид по Computer Science" Вильяма Спрингера.

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

И теперь у меня есть некоторое целостное представление. Остается только брать темы и исследовать их в глубину.
Для этих целей у меня уже есть внушительный список соответсвующей литературы.

Какие темы у меня вызвали наибольшую сложность в понимании?
Все что связно с математикой. Совсем не понял 13-ю главу "Языки и конечные автоматы".
Да, до математики я все же доберусь)

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

Книгу посоветую тем, кто уже как-то знаком с некоторыми темами и интересуется Computer Science. Можно структурировать ранее полученные знания в какую-то общую картину и увидеть дальнейший ориентир для обучения.
🔥3
Сегодня успел довольно много всего)

Решал задачки на курсах Stepik
Итого позанимался на 3-х курсах:
- Data Science - научился запускать jupyter в виртуальном окружении. Рассматривал различные команды pandas;
- Алгоритмы - рассматривали жадные алгоритмы и подход к их реализации. Подход состоит из 2-х шагов: нахождение "надежного" шага и дальнейшая реализация основанная на его принципе. Решил 1 задачу по нахождению числа точек на пересечении отрезков на прямой.
- Поколоние Python: для продвинутых - решил 4 задачи по матрицам. Задачи решались достаточно легко. Проверял свой код с другими. Получалось довольно хорошо. Прогресс радует.

Чтение
Начал чтение книги "Теоретический минимум по Computer Science". Прочитал 65 страниц. Темы пересекаются с книгой "Гид по Computer Science" Спрингера, которую вчера закончил читать. Новая книга даже меньше по размеру.
Интересно как усвоятся пересекаемые темы.
Уже прошел оценку вычислительной сложности, О-большое. Подача другая.
Доходит лучше. Возможно, это из-за того, что я уже знаком немного с темой.
Сейчас читаю про стратегии решения задач. Интересно было написано про рекурсию.

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

На прошлой неделе порядка 5 задач решил с помощью рекурсии. При этом это была первая идея, которая пришла на ум.=)

Интересное замечание! В работе не рекомендуется использовать рекурсию не только из-за временной сложности, но и пространственной. Компьютеру необходимо держать под контролем все копии рекурсивной функции в оперативной памяти. Каждую рекурсию можно переписать на итеративный стиль.
🔥3
This media is not supported in your browser
VIEW IN TELEGRAM
Stepik - очень крутая платформа для обучения. Создатели платформы и создатели курсов огромные молодцы.
Они делают большое дело. Столько качественных курсов, столько тем. Можно здорово прокачать свои скилы.
Классно наблюдать как обучаются другие люди. Многие не упускают данную возможность и занимаются регулярно. В их послужном списке уже много сертификатов.
Например, сегодня наткнулся на парня, у которого 22 сертификата по курсам, связанных с программированием.
🔥1🤔1
Завершил курс "Big Data и Data Science: начни погружение с нуля" на Stepik.

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

Если не обращать на это внимание, то для себя узнал несколько новых и полезных вещей:
- научился запускать jupyter notebook в виртуальном окружении;
- теперь имею представление как работают дата саентисты;
- был классный урок от топ тех руководителя Битрикс 24. Сильная подача материала. Рассказывал все простыми словами. Дал несколько ценных советов, которые для меня были ранее не очевидны. Было интересно послушать как смотрят на разработку менеджеры.
👍2
🔥🔥🔥 Завершил курс "Big Data и Data Science: перейди на новый уровень" на Stepik.
Это продолжение курса, который я завершил пару дней назад.
На этот раз разработчики курса исправили многие недочеты и он получился очень хорошим.
Отличные спикеры, классная подача материала. Слушателей знакомят с темой с разных сторон: историческая справка, теория в доступной форме, прикладные вещи типа SQL, MapReduce, Spark, Hadoop, немного статистики, даже знакомят с различными методами управления проектами.
Крайне рекомендую всем! Даже тем, кто не планирует связать себя в будущем с Data Science!
🔥2
This media is not supported in your browser
VIEW IN TELEGRAM
Сегодня позанимался на Udemy.
Сделал менеджер паролей.

С помощью данного приложения можно генерировать/хранить пароли от различных сайтов.
Из функционала:
- данные сохраняются в json файл;
- есть поиск названия сайта в json файле. Если есть, то откроет окно с логином и паролем;
- есть генератор паролей, который с помощью модуля random генерит сложные пароли;
- после нажатия кнопки "Generate Password" новый пароль автоматически сохраняется в буфер обмена - не нужно это делать вручную;
- с помощью конструкции "try:... except:..." обработаны возможные исключения;

Итого приложение на 115 строк.
Залил код на github: https://github.com/avagners/day_30_password_manager
🔥2
Завершил чтение книги "Максимум. Как достичь личного совершенства с помощью современных научных открытий" Андерса Эрикссона, Роберта Пула

Решил пересмотреть подход к своему обучению после прочтения этой книги.

Андерс Эрикссон - профессор психологии Университета Флориды, который всю жизнь посвятил исследованию выдающихся людей: чемпионов мира в различных видах спорта, гроссмейстеров в шахматы, лучших врачей, знаменитых музыкантов.

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

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

Что отличает выдающегося музыканта, от просто хорошего? Количество времени отведенное на практику, которое каждый выделил на пути своего становления. К 18 годам выдающиеся музыканты занимались в среднем около 7410 часов, в то время как просто хорошие 3420 часов.

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

По итогам прочтения выделил ряд рекомендаций для развития новых навыков на уровне лучших:
1) Индивидуальные занятия с учителем;
2) Концентрация внимания на практике (глубокое погружение по Ньюпорту);
3) Совершенствование мысленных представлений;
4) Продолжительная практика с постоянным повышением сложности (тысячи часов);
5) Внутренняя мотивация - стать лучшим в своем деле и верить что это возможно;
6) Постоянное отслеживание прогресса даже не самого существенного;

Книгу прочитал по рекомендации старшего товарища.
Давно не читал подобную литературу. Думал книга из разряда "успешного успеха" или "позитивного позитива", но ошибался.
Книга произвела на меня сильное впечатление.
🔥41
Между прочим год идёт в самом разгаре) как у вас там с целями, которые ставили в начале года?

▓░░░░░░░░░░░░░░░ 11%
🔥1
Обратил внимание, что ЯП даёт хорошие навыки написания чистого кода, с докстрингами, отступами между функциями и классами, порядком в импортах.

Каждый проект проверяется на стандарт PEP8. Уже начало бросаться в глаза, когда код написан без учёта этих стандартов.

Прикольно)
🔥2👍1
This media is not supported in your browser
VIEW IN TELEGRAM
Помните про сверхцель и сверхзадачи, о которых я писал 1 декабря?

Прошло 2,5 месяца. Хочу подвести промежуточные итоги.

Напомню:
"Сверхцель: стать ТОП-специалистом в ИТ через 5 лет. А именно уметь проектировать и реализовывать сложные проекты на миллионы строк кода.

Для этого нужно выполнить сверхзадачи:
- изучить computer science;
- научиться писать программы на 300, на 1000, на 3000, на 10 000, на 100 000 строк кода;
- вести свою деятельность публично (как минимум публиковать статьи на свой сайт, как максимум постоянно писать в Твиттер и истории Инстаграм);
- перейти на английский язык. Да, без этого в мировой топ никак."
_ _ _ _ _ _ _

1) Computer Science - в этом году уже прочитал 2 книги (каждая около 300 стр), которые поверхностно знакомят с темами. В данный момент изучаю уже учебник по компьютерным наукам на 900 стр. Изучил около 25%. Есть понимание куда двигаться, в какой последовательности изучать темы.

2) Научиться писать программы. Здесь нужно много практики. Чувствуется прогресс как в решении задач, так и в качестве написания кода. Продолжаю решать задачи на курсах, ну и работа)

3) Вести деятельность публично. Начал делиться итогами недели в инстаграме и на LinkedIn. На сайте до сих пор ни одной статьи. Чаще что-то публиковать в инстаграме или вести твиттер не готов - кажется получаемая ценность от этого меньше потраченного времени. Возможно, в будущем буду более активным в соцсетях. Но статьи на сайт надо писать.

4) Английский язык. Здесь пока жирный минус. На этой неделе решил вписаться в марафон, который сам для себя придумал - английский язык каждый день в течение 2-х лет. Есть подходящий материал для этой цели. Цель - сдать IELTS на 8777. Посмотрим что будет в феврале 2024. =)

Вам кажется что много на себя беру? Возможно. Но я заметил, что многие вещи начинают входить в привычку и не отнимают столько сил и внимания как раньше. Поэтому решил включить английский. Возможно, в недалёком будущем я буду вести этот канал уже на английском языке.😅
👍1🔥1
This media is not supported in your browser
VIEW IN TELEGRAM
Сегодня проходил собеседование. Прошло плохо. Вёл себя как первокурсница на экзамене. 😅

Так разнервничался, что забыл команду DISTINCT, которой пользуюсь регулярно при формировании SQL запросов) Смог назвать только первые 3 буквы. 😅 Дальше вышибло из головы.

Не зря более опытные товарищи говорят, что прохождение собеседований - это отдельный навык, которому стоит учиться.
🔥2😁2
This media is not supported in your browser
VIEW IN TELEGRAM
Продолжаю писать в этот канал.

На сегодня план:
- английский
- правки после ревью в ЯП
- чтение
- stepik
👍1🔥1
Сделал небольшое приложение для заучивания иностранных слов.
Принцип работы: слова отображаются в виде карточек - на лицевой стороне слово, а на обратной перевод.
Карточка автоматически переворачивается через 3 секунды.
Если слово знакомо, то при нажатии на галочку, слово удаляется из словаря и в дальнейшем не предлагается к повторению.

Код залил на гитхаб: https://github.com/avagners/flash_card_project
👍2🔥1