1️⃣ Софт скиллы КАПЕЦ как важны. В большой компании нужно постоянно что-то у кого-то спрашивать (и переспрашивать), не всегда получается найти инфу самому. Плюс адаптация это дикий стресс и чем быстрее вы научитесь просить помощи и немного себя зарекомендуете, тем лучше.
2️⃣ Коллектив очень важен. Как новичок, в начале вы будете лажать и тупить, но если тимлид и команда это понимают, адаптация пройдет намного проще.
3️⃣ Не стоит учить мелкие особенности Фреймворков, важна база. Рабочий проект вообще не похож на пет, потому что промышленные проекты очень большие, их писали давно и в них используется много внутренних библиотек. Вот поэтому не стоит учить мелкие нюансы работы фреймворка - вы вряд ли встретитесь с этим в компании. Сфокусируйтесь на БАЗЕ - паттернах, протоколах, языке, базовом принципе работы фреймворка и его основных компонентов.
В прошлой части мы ознакомились с базовыми понятиями деревьев и обошли одно дерево рекурсией. В данной статье мы еще раз рассмотрим понятие рекурсии и посмотрим как небольшие во время итерации могут повлиять на результат. В данной части мы сфокусируемся на итерации, а в следующе мы уже будем использовать эти подходы для решения задач.
Обход деревьев часто ощущается как лабиринт
Давайте рассмотрим уже знакомое дерево:
Прямой обход дерева (Префиксный) - NLR
В прошло части мы уже итерировались по дереву рекурсивно. В нем мы сначала печатали значение узла (Node) затем посещаем левое поддерево (Left) и лишь потом правое поддерево (Right). Такой подход называется прямым или еще префиксным - NLR.
Распечатка значения и последующее движение влево вниз и уже затем вправо.
Центрированный обход дерева (Инфиксный) LNR
Теперь сделаем одно минимальное изменение - сначала мы пойдем в левое поддерево (Left) затем распечатаем значение узла (Node) и потом пойдем в правое поддерево (Right) - этот обход называют Инфиксным (от лат. in внутри fixus закрепленный) или центрированным - LNR. Понятие инфиксный прошло из математики. Если очень упрощать значит что N находится между L и R.
разница лишь в 1 линии но процес "обхода" меняется.
И так вроде рекурсия выполнила ровно такой же обход, но теперь процесс распечатки значения узла мы стали делать после того как уходим "влево". Теперь если задуматься то первая печать произойдет лишь когда мы дойдем до нижнего левого узла. Давайте изобразим как будет выглядеть "обход" а порядок печати значений узлов:
Обратный или Постфиксный обход. LRN
Думаю уже понятно что данный подход подразумевает печать значения узла (Node) после посещения левого (Left) поддерева и правого (Right) поддерева - LRN
Печатаем лишь после обхода левого и затем правого поддеревьев.
Порядок распечатки изображен ниже:
Минимальные изменения - большие последствия.
Изза минимальных изменений (меняя лишь порядок одной строчки) мы получили разные обходы дерева. Это позволит нам решать разные задачи в будущем.
Следующий этап.
В следующей статье мы рассмотрим какие задачи мы можем решать используя описанные подходы. Одна из главных целей цикла статей - помочь преодолеть страх задач про деревья во время собеседований. Думаю стоит повторить еще раз - как только вам прилетела задача на деревья во время собеса начинайте с того что напишите функцию обхода. Большинство алгоритмических задач решается именно через рекурсию (но не только через неё).
Собрали главные секреты Python. Можете опробовать их лично, установив язык с официального сайта — почувствуйте себя программистом!
1. Философия Zen of Python
Что вводить: import this
Python имеет свою глубокую философию, изложенную в знаменитом The Zen of Python. Чтобы увековечить ее, разработчики спрятали короткую команду внутри языка: запустив ее, вы увидите список принципов, которые помогают писать чистый, читабельный и эффективный код. Если хотите начать изучать Python, обязательно почитайте.
2. При чем тут «Монти Пайтон»?
А для этой пасхалки даже не нужно ничего вводить — она скрыта у всех на виду! Создатель Python Гвидо ван Россум назвал язык в честь своего любимого шоу «Летающий цирк Монти Пайтона». Так он показал, что программирование может быть веселым и творческим процессом.
Однако, как гласит официальная документация, любить «Монти Пайтона» для использования Python не обязательно — это еще одна забавная отсылка.
3. Мир приветствует тебя
Что вводить: import __hello__
Обучение разработке чаще всего начинается с простых программ, которые в том числе выводят экран фразу Hello World. Создатели Python решили пошутить над этой традицией и добавили команду, которая отображает это забавное приветствие, знакомое многим программистам.
4. Мне бы в небо
Что вводить: import antigravity
В Python есть и совсем необычная пасхалка. Попробуйте ввести текст в интерпретатор — и откроется вдохновляющий комикс, в котором шутливо показано, как просто и интересно изучать программирование на Python. Только имейте в виду, что команду добавили в Python 3, в более ранних версиях она не сработает.
5. Языкам C тут не место
Что вводить: from __future__ import braces
Секретная команда выводит текст, смысл которого поймут те, кто имел дело с синтаксисом языков C/C++, где фигурные скобки используются для определения блоков кода. Язык Python, взявший многое из языков C, от них отказался — это и обыграли в виде шутки-отсылки. Попытка изменить синтаксис «не имеет шансов» на успех.
Программа 1С занимает ведущие позиции на рынке программного обеспечения для ведения бухгалтерии, учета и управления предприятием в России и странах СНГ. Ее популярность среди русского бизнеса можно объяснить несколькими ключевыми факторами:
1. Полнота решения: 1С предлагает комплексные решения, адаптированные под нужды различных видов бизнеса, включая торговлю, производство, услуги, образование и многое другое. Это обеспечивает полный спектр учетных и управленческих инструментов в одной системе.
2. Локализация под российские стандарты: Программы 1С тесно интегрированы с российским законодательством и бухгалтерскими стандартами, обновляются в соответствии с последними изменениями в налоговом кодексе и других регулирующих документах. Это снимает с предприятий необходимость заботиться о соответствии отчетности требованиям законодательства.
3. Гибкость и масштабируемость: Системы 1С позволяют настроить программное обеспечение под специфику работы конкретного предприятия, что делает их привлекательными как для малого, так и для крупного бизнеса. Масштабируемость программ обеспечивает поддержку бизнеса на разных этапах его развития.
4. Широкая сеть партнеров и разработчиков: В России и странах СНГ работает множество сертифицированных партнеров 1С, которые предлагают услуги по внедрению, настройке и поддержке программных продуктов. Это обеспечивает доступность квалифицированной помощи и консультаций.
5. Обучение и поддержка: 1С активно развивает образовательные программы для бухгалтеров, менеджеров и IT-специалистов, способствуя повышению квалификации и эффективному использованию программных продуктов.
6. Цена и экономия ресурсов: С точки зрения соотношения цены и качества, программы 1С часто выступают наиболее выгодным решением для бизнеса, позволяя оптимизировать расходы на автоматизацию учета и управления.
Эти факторы сделали 1С предпочтительным выбором для русского бизнеса, обеспечивая высокий уровень пользовательского удовлетворения и широкое распространение программных продуктов на рынке.
Продолжаем линейку видео «для тупых», заметил, что у многих моих учеников имеются пробелы, проявляющиеся именно в недоумении по этому поводу и непонимании, почему так.
Насчёт того, что как минимум некоторые профессиональные разработчики именно так и пишут — кто в теме, напишите примеры, пожалуйста, думаю как раз на эту тему сделать видео ещё одно.