diff --git a/README.md b/README.md index eeb973c..134bcb3 100644 --- a/README.md +++ b/README.md @@ -9,11 +9,12 @@ - [Junior 1](./junior-1/README.md). Точка входа для обучения! 🚪 Много основ! Много Solidity! - [Junior 2](./junior-2/README.md). Еще Solidity и да здравствуют DEXes! - [Junior 3](./junior-3/README.md). Меньше Solidity, больше предметки, больше DeFi! + ## Программа обучения по Solidity 🔔 Для более успешного и эффективного обучения предлагаем присоединиться к нашей программе обучения всем желающим. Программа обучения включает в себя прохождение уровня junior 1 и дает возможность объединить энтузиастов в единое сообщество, где можно коллективно и сообща погружаться в удивительный мир Solidity разработки. -Чтобы узнать больше о программе обучения, переходи по [ссылке](https://coda.io/@metalamp/education/solidity-27). +Чтобы узнать больше о программе обучения, переходи по [ссылке](https://coda.io/@metalamp/education/solidity-27) и пройди [самотестирование](./self-test-of%20readiness-to%20start-roadmap.md). Присоединяйся к нам в [Telegram](https://t.me/+I4lJ__AAlq02ZmNi). diff --git a/self-test-of readiness-to start-roadmap.md b/self-test-of readiness-to start-roadmap.md new file mode 100644 index 0000000..7872cd5 --- /dev/null +++ b/self-test-of readiness-to start-roadmap.md @@ -0,0 +1,20 @@ +# Самотестирование перед началом прохождения карты развития по Solidity + +Этот тест создан для новичка, чтобы помочь определить, подходит для него программа обучения или сначала необходимо обрести базовые знания. + +Тест реализован в полушуточной форме, где каждый пункт требует ответа: **да** или **нет** на не всегда серьезные высказывания. 🙃 + +Начнем: + +1. Тебе **интересно узнать**, что такое блокчейн Ethereum, финансовые протоколы, смарт-контракты и как с помощью них фиксировать любые договоренности. Хочешь разрабатывать по-настоящему децентрализованные приложения. Горишь идеей разбираться в финансовой и экономической составляющих приложений. То есть у тебя достаточно мотивации и времени, чтобы этим заниматься. +2. У тебя есть коммерческий опыт разработки на других языках программирования (JavaScript, TypeScript, Python, С или C++) **больше одного года**. Есть понимание типизированных языков программирования. При помощи обычного цикла for можешь организовать работу любого алгоритма. Легко можешь реализовать массив данных, связный список, стек, очереди и другие структуры данных. Доводилось работать с деревьями и графами. +3. Знаешь принципы **ООП**, SOLID, знаком с **паттернами** проектирования. Можешь мыслить абстракциями. Отличаешь агрегацию от композиции. Легко напишешь класс, который наследуется от других классов, реализуя заданный интерфейс. Ты не думаешь, что фабрика 🏭 может быть только обувной, а стратегия игровой. +4. Не забыл школьную **математику** и **информатику**. Можешь делать простые математические операции от умножения и деления до извлечения корня, возведения в степень. Сдвиг влево или сдвиг вправо на несколько бит тебя не повергает в ужас. Не составляет сложности в уме перевести число из десятичной в шестнадцатеричную систему, шучу, можно использовать подручные инструменты 🔨. +5. Понимаешь **основы криптографии** или готов в них разбираться. Знаешь отличие между хешированием и шифрованием. Согласен с нами, что SHA-2 не набор шипящих звуков Каа из Маугли. +6. Хоть раз в жизни задумывался о том, чтобы попробовать методологию TDD. Отличаешь **unit-тесты** от **интеграционных**. Всегда стремишься к 100% покрытия кода. +7. SELECT, GET, DELETE, JOIN, POST, PUT, CREATE. Можешь легко определить, что из этого используется для **SQL**, а что для **REST API**. И более того тебе доводилось работать с этим, хотя бы в каком-то виде. +8. Ты с трепетом и аккуратностью готов относиться к коду, будешь его **документировать** и **рефакторить**, тестировать, проверять на **безопасность**, а потом снова рефакторить и тестировать и так по кругу. Это важная составляющая разработки, которой можно пренебрегать в других языках, но не в разработке смарт-контрактов на Solidity. + +Если на семь пунктов из восьми ты отвечаешь положительно, если большинство терминов тебе знакомо и откликаются, то это значит, что ты готов к тому, чтобы начать проходить нашу программу обучения. + +Имей ввиду, что тест не является чем-то категоричным и он не должен навсегда отбить твое желание погружаться в Solidity разработку. Тест всего лишь показывает тот минимальный набор знаний в программировании для того, чтобы начать. 🚀