Модель для сборки
2.5K subscribers
123 photos
3 videos
2 files
107 links
Если и быть, то быть первым.

Хочется что-то спросить? Тебе сюда: @yk4r2
Download Telegram
Сегодня 04.01.2020г.
#day_0001

Планы на день:

1. Нужно закончить проект по программированию на Python в академии аналитиков Авито. Суть проекта, если коротко, в том, что надо написать крутой интерфейс командной строки для доставки пиццы с использованием классов, декораторов и прочей штуки, которую я прогулял, ибо началась сессия. Что ж, разберёмся и напишем, а офигительный результат сегодня вечером скинем в канал.

2. До пятого числа, т.е. уже завтра, надо сдать второе задание по квантмеху. Для этого надо бы его сначала дописать, а потом разобраться, что там происходит. Кроме того, я хочу отжать у знакомых вопросы, которые им уже задавали, дабы не ударить в грязь лицом, как говорится. В идеале надо ещё посмотреть семинары по задачкам, которые Тернов (лектор) разбирал и составить список вопросов, чтобы слыть не_идиотом и потом пойти на экзамен к лектору.

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

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

5. Уделить полчаса игре на пианино и полчаса чтению книжек, сначала буду читать Бишопа и Just Plan It, а потом уже Cracking the Coding Interview. Верной дорогой идём, товарищи!

6. Поискать, куда можно было бы сходить на собеседования, дабы понабивать шишки.

7. Не забыть подвести итоги дня. Также лечь в 22 и проснуться в 6 утра.

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

9. Начать готовить статью по pruning в NNках.

Прогресс по книгам:

1. Bishop -- Pattern Recognition and Machine Learning
4/100

2. Just Plan it
10/100

3. Cracking the Coding Interview
2/100

4. Functional programming in Python
14/100
Прогресс по курсам:

1. Воронцов
0/7

2. Andrew Ng -- Convolutional Neural Networks (4 / 5)
1/4

3. Быстрый старт в спортивное программирование
0/132

4. Python. Functional Programming
0/47
Сегодня 05.01.2020г.
#day_0002

Планы на день:

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

1. Всё ещё надо доделать приложение в Академию Аналитики Авито.

2. Надо доделать 2е домашнее задание по квантовой механике.

3. С научруком вчера созвонился, неплохо поболтали, выяснили основные моменты, которые будем прорабатывать. Пока поделили его на четыре части, из которых три точно надо девелопить, а четвёртая -- "со звёздочкой", сложноватая. Попозже расскажу по каждой отдельно.

4. Планирование на неделю летит в тартарары, потому что я болею и сложно понять, что конкретно я успею сделать.

5. Пианино и книжки тоже пока там же.

6. Собеседования: нашёл крутую стажировку в финском унике, надо податься. Работу ещё левой ногой мониторю.

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

8. Остальные активности пока откладываем.

9. Pruning in Neural Networks пока тоже отложим, в дальнейшем надо бы включить его в диплом.

Прогресс по книгам:

1. Bishop -- Pattern Recognition and Machine Learning
4/100

2. Just Plan it
10/100

3. Cracking the Coding Interview
2/100

4. Functional programming in Python
14/100

Прогресс по курсам:

1. Воронцов
0/7

2. Andrew Ng -- Convolutional Neural Networks (4 / 5)
1/4

3. Быстрый старт в спортивное программирование
0/132

4. Python. Functional Programming
0/47
Сегодня 07.01.2020г.
#day_0003

Планы на день:

Потихоньку выздоравливаю. Спал мало, потому что были срочные и неотложные дела, отвозил человека на самолёт в 5 утра и доделывал проект, который оказался не таким уж и простым орешком.

1. Приложение в Академию Аналитиков Авито a.k.a. финальный проект по Python: DONE. Потрачен весь вечер, около 6ти часов, а возможно и больше.
В чём суть?
Надо сделать command-line interface (CLI) для заказа пиццы, который умеет выводить меню, готовить пиццу по запросу и вообще хороший малый. Для этого я:
- Сделал базовый класс для основной пиццы, в который запихнул всякие штуки вроде правильной репрезентации, сравнения и т.д., используя все свои маленькие знания ООП, декораторов (даже написал свой!) и функционального программирования,
- Сделал дополнительные классы для разных видов пицц с определёнными рецептами,
- Сделал CLI-interface используя библиотеку click, а если подробней, то:
- Научился пользоваться классом Enum, прикольная штука,
- Пытался писать в парадигме EAFP: Easier to Ask for Forgiveness than for Permission, так код выходит более понятным для прочтения со стороны. Суть пока для меня в том, что мы не используем блоки if...else в местах, где неочевидно поведение кода, например, мы хотим отловить нежелательное поведение и вместо if нежелательное поведение do что-то там мы делаем try...except, т.е. максимально явно указываем, что это exception. Подробней довольно круто рассказал в своём мегакрутом ролике Алексей Голобурдин: тык.
- Самое главное! Написал автотесты на файл с классами и на основной файл с CLI. Файл с классами покрывался на 100% довольно просто, а вот CLI было реально сложно покрыть. В итоге вместо того, чтобы подменить рандомные строки специальным "подменятором" для mock-тестирования на 0 или нулевой вариант и получить coverage около 100%, я заморочился и написал под каждую строку регулярные выражения, что не только в разы увеличило сложность кода и попутно позволило мне худо-бедно разобраться в библиотечке re, но и довольно логично снизило coverage в половину, а то и больше. В итоге я добил до 50% и усталый пошёл спать, залив ссылку на гитхаб.
- Также программа была проверена flake8 на соответствие стандарту PEP8 и реформатирована black чтобы было совсем не_стыдно, приятно глазу и вообще пушкагонка.

Выводы по курсу Python в ААА:
- Дико рад, что начал-таки учить "академический" питон. Да, в нём всё ещё очень много вещей, которые можно заботать, но я проделал довольно большую работу (спасибо Академии Авито за огненных преподавателей) и теперь могу показывать свой код людям вокруг без стыда за оформление и неправильные паттерны проектирования/программирования.
- Теперь я сильно лучше понимаю, как правильно работать с чужим кодом, а ещё что абсолютно любой код надо сначала исправлять под твои стандарты, если ты с ним работаешь, потому что последний с ним работал ты, а значит и спрашивать будут с тебя, а не с человека, который был перед тобой.
- Можно в резюме похвастаться, что я умею в красивый, лаконичный и местами даже навороченный код, который лучше, чем в продакшне многих компаний.

2. 2е домашнее задание по квантовой механике потихоньку доделывается. Занимаюсь этим прямо сейчас.

3. Научная работа: надо завести дропбокс и начать втехивать уже имеющиеся результаты. А ещё я торчу вам рассказ про четыре части будущего диплома.

4. Планирование на неделю -- пока хз, отхожу от отравления.

5. Пианино и книжки тоже пока там же.

6. Собеседования: занимаюсь стажкой в финском унике, ищу как лучше написать мотивационное письмо. Получил оффер на 130 gross в стартап Integrant, который занимается CV, работает зачастую с LIDARами и похожими "высокими" технологиями.

Плюсы этого места:
- Довольно интересные таски с настоящими роботами, вау,
- Работать будем с моим крутым знакомым,
- Офис в Физтех.Парке,
- Меня взяли на 24 часа, наконец-то,
- Довольно неплохо платят.
Минусы:
- Это стартап, а не известная корпорация,
- Нет соцпакета и прочих приятностей,
- Возможна полевая работа с роботами.

8. Остальные активности in progress.
Прогресс по книгам:

1. Bishop -- Pattern Recognition and Machine Learning
4/100

2. Just Plan it
10/100

3. Cracking the Coding Interview
2/100

4. Functional programming in Python
14/100

Прогресс по курсам:

1. Воронцов
0/7

2. Andrew Ng -- Convolutional Neural Networks (4 / 5)
1/4

3. Быстрый старт в спортивное программирование
0/132

4. Python. Functional Programming
0/47
Сегодня 08.01.2020г.
#day_0004

Планы на день:

Сегодня я весь день увлечён (нет) квантмехом.
Надо потихоньку убавлять количество задач, ибо скоро ещё и академия навалится, жить станет совсем весело. В понедельник надо не забыть сделать себе расписание на неделю (после экзамена).

1. Квантмех: дописал дз по квантовой механике, осталось расшарить задачи, сдать завтра и готовиться к экзамену.

2. Научная работа: сделал дропбокс, скоро буду структурировать по главам. Инфа ASAP, но не раньше экзамена, т.е. понедельника.

Пока не задействованы:

3. Планирование

4. Пианино и книжки

5. Собеседования

По курсам и книгам прогресс пока нулевой.