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
This media is not supported in your browser
VIEW IN TELEGRAM
Всем привет!

На прошлой неделе изучил одну структуру данных:

12) Кэш

Также написал тесты.

Итого за месяц изучил 12 структур данных. Написал тестов на 3000 строк.

А как у вас прошла неделя?
👍3🔥1
This media is not supported in your browser
VIEW IN TELEGRAM
▓▓▓▓▓▓▓▓▓▓▓░░░░░ 71%

👆👆👆
Это 2022 год.

Кто-то ставил цели на год?
Что у вас? Что выполнили? Что осталось?

У меня этот год довольно продуктивный. Все основые цели достиг.

Есть еще одна задача, которую я хочу сделать - создать свой сайт и написать на нём несколько статей.

У меня есть хостинг, домен. Даже накатывал уже движок и была одна заметка. Но зимой я всё снёс.

Давайте сделаем ставки))) Выкачу ли я до конца года блог с минимум 2-мя статьями? 😁

Судя по моей статистике, я бы поставил на отрицательный ответ. 😄
👍3👏1
Сделаю я свой блог с 2-мя статьями до конца этого года?
Anonymous Poll
82%
Да, сделаешь
18%
🚫 Нет, не сделаешь
Всем привет! 👋

Спасибо всем, кто в меня верит, что я закрою последнюю цель на этот год. Приятно получить поддержку)

А также спасибо тем, кто послушал меня и проголосовал за то, что я этого не сделаю и сольюсь)

На сегодня определился с тем на каком движке будет сайт.
Решил сделать его статическим и собирать с помощью генератора статических сайтов Pelican. Мне очень нравится идея писать статьи в Markdown. =)

Pelican полностью написан на питоне. Установка и настройка очень простые. Из минусов могу назвать только малое кол-во качественных тем.

Сейчас у меня дилемма - взять готовую тему или написать свою с нуля?
Склоняюсь к написанию своей темы. Для меня это будет дополнительной задачей, с помощью которой научусь еще чему-то новому.
Да, на это нужно будет потратить время. Зато буду ориентироваться в своем сайте от А до Я.

У меня к вам вопрос =)
У кого-то из вас есть свой сайт? Или кто-то планирует его сделать?
👍3
Пока сын на тренировке читаю книгу Алана Бьюли "Изучаем SQL".😎
👍8👏1
DON'T STOP AND CODE
🔥🔥🔥 По итогам собеседований и прохождения тестовых заданий мне сделали оффер и с 21.10 я иду работать в Магнит в должности разработчика.👨‍💻
Год назад, 21.10.2021, состоялся первый рабочий день в профессии разработчик!👨‍💻
Быстро время летит.

Что я могу сказать по итогам года?
Усилия на освоение новой профессии полностью себя оправдывают.
Я наконец работаю в профессии, которая мне интересна.
Увеличил доход.
Сейчас являюсь разработчиком в маленькой команде, но в крупной компании.
Чем больше кодишь, тем лучше получается.
Без теоретической базы кодишь плохо. Поэтому читаю книги и прохожу курсы.
После книг и курсов всегда поднимается качество работы на новый уровень.
Профессия уже не воспринимается так романтично. Это хорошо.
🔥7👍21
Тем временем продолжаю изучать структуры данных.
Сегодня изучал деревья.🌳

Создал структуру и методы. Покрыл код тестами.
Осталось реализовать метод перемещения узла вместе с дочерними узлами под другой узел.

Ознакомиться с кодом можно на гитхаб по ссылке:
https://github.com/avagners/algorithms_and_data_structures/blob/main/data_structures/trees/SimpleTree.py

P.s. если ещё не подписались на мой гитхаб, то подписывайтесь) Подпишусь взаимно)👨‍💻
🔥3👍2
This media is not supported in your browser
VIEW IN TELEGRAM
Дописал метод перемещения узла вместе с поддеревом.

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

Код покрыл тестами.

Ссылка на гитхаб: https://github.com/avagners/algorithms_and_data_structures/blob/main/data_structures/trees/SimpleTree.py#L65:L77
👍4
~ 549 день👨‍💻 | Двоичные деревья поиска

Сегодня изучал двоичные деревья поиска (бинарные деревья).

Бывают:
- полными (full binary tree);
- строгими (strictly binary tree);
- законченными (complete binary tree);

Бинарные деревья обеспечивают быстрый поиск данных за O(log n).

Отличия от обычных деревьев, которые я изучал накануне:
1) данные в дереве хранятся в определённом порядке;
2) поиск выполняется с учётом этого порядка;

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

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

------
Реализовал структуру данных и покрыл тестами.
Осталось реализовать метод удаления узла.

С кодом можно ознакомиться по ссылке на гитхаб:
https://github.com/avagners/algorithms_and_data_structures/tree/main/data_structures/binary_search_trees

📚Чтение:
+ 14 стр. "Изучаем SQL" Алан Бьюли (2007 год)
(135 страниц из 308)
🔥31
This media is not supported in your browser
VIEW IN TELEGRAM
😁2
~ 550 день👨‍💻 | День работы

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

Например,
- впервые дописывал довольно большой блок модуля;
- впервые поработал с API Яндекс.Диска;
——————
Последнее время работаю в основном самостоятельно. Мой наставник занят своими задачами и уже не уделяет столько времени как раньше.
Радует, что справляюсь. =)

📚Чтение:
+ 0 стр. "Изучаем SQL" Алан Бьюли (2007 год)
(135 страниц из 308)
🔥5👍2🥰1
This media is not supported in your browser
VIEW IN TELEGRAM
🔥1
~ 551 день👨‍💻 | Удаление узла из бинарного дерева

Написать метод удаления узла из бинарного дерева оказалось не такой простой задачей. Просидел порядка 1 часа. Мой код пока не проходит мои тесты)
Проблема с указателями. После операции удаления не все указатели на родителя/потомков указываются верно.

Т.е. узел удаляется, находится узел-преемник, преемник занимает место удаленного узла, но осталось поправить указатели.

Интересная задача. Чем-то напомнила работу с узлами и указателями в связанном списке.

📚Чтение:
+ 0 стр. "Изучаем SQL" Алан Бьюли (2007 год)
(135 страниц из 308)
👍2
~ 552 день👨‍💻 | Удаление узла из бинарного дерева. Продолжение...

Время 1:30 ночи...

Сегодня работал над методом удаления узла из бинарного дерева. =)
Вроде все работает. Узлы удаляются. Тесты свои прохожу.

В общей сложности сегодня решал эту задачу около 9 часов.🙈
——————
Завтра еще раз нужно все перепроверить. И тесты и код.
Возможно, получится поправить код, чтобы он был более компактным и читабельным.

📚Чтение:
+ 0 стр. "Изучаем SQL" Алан Бьюли (2007 год)
(135 страниц из 308)
🔥1
This media is not supported in your browser
VIEW IN TELEGRAM
😁1
Снова восхищаюсь практикой написания тестов))

Сижу перепроверяю вчерашний код. Пишу новые тесты (ну, чтобы на 100% быть уверенным). Написал дополнительно 2 теста. Все работает отлично.

Про себя подумал, что все хорошо и можно заканчивать работу. Но решил написать еще один тест... Иии... Он упал!!!😳

Вроде уже тестов на удаление узла сделал вдоль и поперек. Но как оказалось из вида упускал еще один возможный вариант))

Сижу думаю как поправить метод)🤓

——————
Как я люблю тесты))) Без шуток)
👍2🔥1
~553, 554 дни 👨‍💻 | Закончил работу над бинарным деревом

Написал 545 строк тестов. Было не просто.

Какие сделал выводы?

1) Тестировать все возможные варианты;

2) Если по условию задачи в отрицательном случае метод должен возвращать False, то в противоположном случае обязательно реализуем возврат True. Не оставляем None.

3) Листок и ручка - лучшие друзья при решении подобных задач. Сначала пишем, рисуем. Только потом пишем код.

---------
И самое главное! Читаем условия задачи не жопой! А внимательно, с ручкой и бумагой!

С итоговым кодом можно ознакомиться по ссылке на гитхаб: https://github.com/avagners/algorithms_and_data_structures/tree/main/data_structures%2Fbinary_search_trees

📚Чтение:
+ 0 стр. "Изучаем SQL" Алан Бьюли (2007 год)
(135 страниц из 308)
🔥4
This media is not supported in your browser
VIEW IN TELEGRAM
😁1