Дневник Flutter-разработчика
3.11K subscribers
323 photos
22 videos
10 files
290 links
Описание моего пути мобильного разработчика с нуля до junior, middle, senior
Download Telegram
Если нужные сообщения теряются среди пабликов

У товарища проблема: "На сообщения даже не обращаю внимание потому что столько пабликов, все теряется".

У многих та же проблема, потому решил осветить решение здесь, может кому-то еще помогу:)

Заходим в Settings - Folders - Create New Folder - Folder Name( пишем Personal, например) - Add Chats - добавляем Contacts и Non-Contacts - Save - Create. Теперь слева появится папка с личными сообщениями от всех пользователей:)

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

На паблики можно устанавливать Unmute( Disable notifications - навсегда - в настройках паблика), чтоб не беспокоили уведомлениями.
День 1:

+6 с лишним часов программирования( 20-23 уроки ютуб-канала LazyLoad Dart & Flutter с разбором. Вёрстка меню телеграмма, разбор column, row, container. Плохо понял превращение списка строк в список виджетов. Разбор системы layout).

+30 минут английского( смотрел видео на тему эффективных способов изучения языка. Определился с просмотров лёгких фильмов/сериалов на англ. с англ. субтитрами, чтение англ. литературы и на данный момент прохожу приложение Duolingo).

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

Если вы желаете что-то сделать, то есть два способа этого достичь.

Первый, более распространённый и в значительной мере неправильный вариант — попытаться мотивировать себя.

Второй, весьма непопулярный, но абсолютно правильный выбор — воспитание дисциплины.

В чём же разница?

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

Но это совершенно неправильный путь.

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

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

В целом, мотивация пытается создать желание действовать. Дисциплина побуждает действовать, даже если желания нет. Хорошие ощущения будут потом.

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

Как развивать дисциплину? Выстраивая привычки — начинать с как можно меньшего дела, которым вы можете управлять, даже микроскопического, и набирать обороты, реинвестируя результат во всё более крупные изменения в вашей повседневности, создавать цикл положительной обратной связи(положительные подкрепления, результаты и эмоции).

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

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

Мотивация — ведущее в тупик отношение к производительности. Главное — дисциплина!

Это была краткая выжимка из статьи. Оригинал здесь: https://habr.com/ru/post/326904/
День 2:

+2.17 часа программирования( 24 урок ютуб-канала LazyLoad Dart & Flutter. Продолжение темы layout. Разбор CustomSingleChildLayout и CustomMultiChildLayout). Итого: 8ч. 17 мин.

+54 минуты английского( Посмотрел 2 серии сериала Extra с англ. субтитрами. Он очень легкий, его советуют в самом начале, чтоб начать воспринимать речь на слух. Язык в нем действительно очень простой, я понимаю примерно 90%. В нём всего 30 серий и дальше говорят о переходе на сериал Друзья. Рекомендую Extra к просмотру:)). Итого: 1 час 24 мин.

Сегодня мало времени уделял основным направлениям, собирал мебель крестнику😁

В целом, у меня около 6 пунктов в каждодневном плане дня. Все они расписаны с основных целей - до уровня уделяемого им времени в день) Я раздробил цели на каждодневный "скелет" дня. Так проще и лучше. Здесь я пока пишу только о двух пунктах:)
День 3:

+3,26 часа программирования( 25, 26 уроки ютуб-канала LazyLoad Dart & Flutter. Разбор Stack и SingleChildScrollView). Итого: 11 ч. 43 мин.

+45 минут английского( 2 серии сериала Extra с англ. субтитрами. Еще занимаюсь в Duolingo, но сейчас в нем просто поддерживаю ударный режим для формирования привычки). Итого: 2 ч. 9 мин.

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

Если вы работаете по 8 и более часов в день, ничего не успевая, вам стоит задуматься.

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

Второе решение - техника Pomodoro. Это must have. Суть техники - вы выполняете какое либо действие 25 минут и дальше следует перерыв 5 минут. Через 4 таких цикла делается длинный перерыв. Концентрация падает примерно на 30 минутах, хочется отвлечься и заняться чем-нибудь еще. Потому даже небольшие перерывы очень важны. Есть различные расширения для браузера и программы для пк. Я использовал расширение: https://chrome.google.com/webstore/detail/empty-title/lojgmehidjdhhbmpjfamhpkpodfcodef?hl=ru
Советую. Оповещения по таймеру помогают.

Третье и то, что использую сейчас - это практически совмещение первого и второго решения. Toggl. Это программа трекинга времени. В него можно вбивать текущие дела или лучше устанавливать projects и не забывать нажимать start и вовремя останавливать. В его графике легко прослеживать динамику по дням. Так же в него встроена техника Pomodoro(нужно включить в настройках). В своих отчетах я пишу время с него. То есть это чистое время без перерывов. Можно установить расширение в браузер( лично я забывал про него), либо установить программу на пк(отличное решение).
https://toggl.com/track/
Очень полезный инструмент. Рекомендую👍
День 4:

+4,41 часа программирования( 27, 28, 29 уроки ютуб-канала LazyLoad Dart & Flutter. Разбор скролла ListView, закончил верстку экрана телеграмма, buttons).
Итого: 16 ч. 24 мин.

+44 минуты английского( 2 серии сериала Extra с англ. субтитрами. Заметил, что без субтитров понимаю речь намного хуже).
Итого: 2 ч. 53 мин
День 5:

+3,42 часа программирования( 30 урок ютуб-канала LazyLoad Dart & Flutter. Верстка приложения TheMovieDb. Создание экрана авторизации).
Итого: 20 ч. 06 мин.

+50 минут английского( 7 и 8 серии сериала Extra с англ. субтитрами).
Итого: 3 ч. 43 мин
Каналы/чаты по Flutter:

https://t.me/learnDartFlutter - чат ютуб-канала LazyLoad Dart & Flutter

https://t.me/rudart - чат русскоязычного сообщества, посвященный языку Dart

https://t.me/Flutter_Mobile_Dev - чат о разработке мобильных приложений на Flutter

https://t.me/FlutterDevRu - канал, посвященный актуальным анонсам, статьям, новостям, дизайну и многому другому из мира Flutter

https://t.me/dartlang_jobs - канал, посвящённый вакансиям, относящимся к языку программирования Dart (Flutter, AngularDart, ServerSide Dart)

https://t.me/progjob - работа для программистов, IT специалистов

https://t.me/Remoteit - вакансии и проекты на удаленку для it специалистов

https://t.me/Relocats - канал с вакансиями от IT компаний предлагающих переезд и релокацию из России, Украины и стран СНГ за границу
День 6:

+5,32 часа программирования( 30 урок ютуб-канала LazyLoad Dart & Flutter. Сегодня научился верстать экран авторизации:) Скрин прилагаю).
Итого: 25 ч. 38 мин.

+48 минут английского( 9 и 10 серии сериала Extra с англ. субтитрами).
Итого: 4 ч. 31 мин
День 7:

+4,36 часа программирования( 31, 33, 34 уроки ютуб-канала LazyLoad Dart & Flutter. Верстка TheMovieDb: навигация( Navigator, routes). Разбор TextField: настройка окна ввода).

Удивился, что в каждое поле ввода можно настроить клавиатуру. При вводе номера телефона, например, можно сделать клавиатуру только с цифрами, при вводе почты, чтоб были сразу @ и другие символы для почты. Плюс к юзабилити пользователя:)
Итого: 30 ч. 14 мин.

+50 минут английского( 11 и 12 серии сериала Extra с англ. субтитрами).
Итого: 5 ч. 21 мин
Цели, планы:

Программирование

Мне нравится то, чем я сейчас занимаюсь. Интересно изучать мобильную разработку, решать задачи и проблемы. Сейчас я изучаю Flutter по урокам канала LazyLoad. Пишу TheMovieDb(за преподавателем) - это приложение с описанием фильмов, по API. Дальше планирую сам писать облегченный клон vk, либо сразу приступать к проекту по английскому. Сегодня возникла идея писать параллельно проект по англ., так как некоторые вещи уже знаю и можно сразу применять.

Суть проекта - приложение для курсов английского языка, вроде easy ten. В день будет даваться по 10 слов для запоминания. Слова будут заучиваться по методике закрашивания заготовленных картинок-сцен с англ.словом, речевым сопровождением спикера(это нужно еще обдумать) и обязательного повторения по оповещениям. Будет бесплатная и платная подписка, реклама. Первое приложение будет по запоминанию слов, второе с самим курсом. Писать его я буду один:) Приложение будет выложено в Google play и App store. Возможно не все можно реализовать через Flutter, но я постараюсь:)(если кто-то знает, что из вышеперечисленного нельзя сделать - отпишите в лс). Надеюсь, что этот проект прокачает меня как разработчика) Процессом написания буду делиться здесь:)

Сегодня запушил TheMovieDb на github( да, свёрстан пока только экран авторизации, но сохранение не помешает). На нем у меня уже есть 2 проекта с сайтами на html, sass, gulp, js. Так что теперь на моем github уже 3 проекта😁 Плюс добавится приложение по англ. и клон vk.

Глобальная цель в программировании - работать над большими проектами в международной компании. Писать свои проекты. Вдохновляет мысль о работе в глобальных проектах вроде Amazon, Netflix, Tesla которыми пользуется пол мира и ты причастен к разработке.

Вакансий мобильного разработчика в Республике Коми нет, я планирую переезд в Питер и трудоустройство Flutter-разработчиком. Считаю, что работа в компании + свои проекты даст максимальный буст в профессии.

Английский
Как я говорил ранее, одна из моих целей - иммиграция. Английский язык изучаю для этого. Предполагаю, что сразу попасть в штаты не получится и рассматриваю еще другие страны. Сейчас не сложно иммигрировать в Канаду. Сдача IELTS обязательна. IELTS — наиболее востребованный тест английского языка для учёбы и иммиграции в Великобританию, Канаду, Австралию и Новую Зеландию. Экзамен длится примерно 3 часа. Состоит из четырёх модулей:

Listening (примерно 40 минут)
Reading (60 минут)
Writing (60 минут)
Speaking (11—14 минут)

Техническую документацию читаю и понимаю без проблем. Англ. субтитры сейчас лучше понимаю, чем просто речь на слух. На данный момент не знаю своего точного уровня владения англ. языком, но pre-intermediate уровень точно есть. Сдавал давно на курсах английского. Каждый день уделяю английскому около часа. Сейчас это просмотр сериала Extra. Тренирует понимание англ речи на слух. Все видео с советами по изучению говорят о максимальном погружении в среду англ языка, чтобы мозг начинал перестраиваться. Все гаджеты и пк у меня на англ, фильмы сейчас тоже смотрю на англ. Позже буду добавлять и другое, сейчас достаточно сформировать привычку и погружаться в среду.

Инвестирование
Откладываю 10% дохода по первоочередному принципу. Эти деньги инвестирую в крипту и акции. Вам тоже советую начинать изучать этот вопрос. В блоге планирую писать статьи на эту тему: по сложному проценту, как выбрать брокера, где и как лучше открыть счет, про долгосрочное инвестирование(не трейдинг!) со ссылками на книги и хорошие ютуб-каналы. Не хочу пока писать здесь сумму, к которой хочу прийти, чтоб никого не шокировать)

Иммиграция
Выше я уже писал про цель иммиграции в США. Это долгосрочная цель. Надеюсь осуществить её в течение 5 лет. Возможно не сразу в штаты, но точно иммиграция. Для неё требуется хороший английский, крутой профессиональный опыт, толстый банковский счет. Этими направлениями и занимаюсь.
День 8:

+5,11 часа программирования( 32, 35 уроки ютуб-канала LazyLoad Dart & Flutter. Верстка TheMovieDb: BottomNavigationBar. Разбор TextField: управление).
Итого: 35 ч. 25 мин.

+51 минута английского( 13 и 14 серии сериала Extra с англ. субтитрами).
Итого: 6 ч. 12 мин
День 9:

+4,35 часа программирования( 36, 37 уроки ютуб-канала LazyLoad Dart & Flutter. Разбор TextField: TextInputFormatter. Добавление изображений в проект, библиотека Spider).
Итого: 40 ч.

+55 минут английского( 15 и 16 серии сериала Extra с англ. субтитрами. Пол сериала пройдено, еще половина:) Речевые обороты стали сложнее, смотреть интереснее).
Итого: 7 ч. 17 мин.
bash: spider: command not found

Всем привет!
Столкнулся с проблемой на Windows при установке spider:

$ spider
bash: spider: command not found

Решение - прописать(просто добавить в конец) в Path переменной среды:
C:\Users\Ваш пользователь\AppData\Local\Pub\Cache\bin
День 10:

+6,07 часа программирования( 38, 39, 40 уроки ютуб-канала LazyLoad Dart & Flutter.
Верстка TheMovieDb: создание списка фильмов, добавление поиска с логикой. Скрин прилагаю:)
Разбор СustomPaint: рисование радиального прогресс-бара).
Итого: 46 ч. 7м.

+47 минут английского( 17 и 18 серии сериала Extra с англ. субтитрами).
Итого: 8 ч. 4 мин.
День 11:

+4,25 часа программирования( 41 урок ютуб-канала LazyLoad Dart & Flutter.
TheMovieDb: верстка экрана фильма). +пару часов(не считал, сколько) на блог в инстаграм.
Итого: 50 ч. 32м.

+49 минут английского( 19 и 20 серии сериала Extra с англ. субтитрами).
Итого: 8 ч. 53 мин.
День 12:

+5,10 часа программирования( 41, 42, 43 уроки ютуб-канала LazyLoad Dart & Flutter.
TheMovieDb: верстка экрана с информацией о фильме. Верстка скролла актеров. Разбор StatelessWidget.
Итого: 55 ч. 42м.

StatelessWidget - виджет, в котором ничего не меняется. Это просто статичная картинка, которая может только отображаться. Не может сохранять никакое состояние.

Советы из 43 урока(видео в доке StatelessWidget от команды Flutter):

Совет 1 - по возможности минимизируйте вложенность виджетов( обычно применяется, если лагает или нужно, чтоб было быстрее).

Совет 2 - используйте const везде где только можно. Это снижает нагрузку. Относится к любым виджетам.

Совет 3 - в некоторых местах полезно переделать виджет stateless в stateful.

+47 минут английского( 21 и 22 серии сериала Extra с англ. субтитрами).
Итого: 9 ч. 30 мин.
Полезно:)
7 бесплатных облачных серверов для ваших ботов, сайтов, приложений на PHP/Python/JavaScript и т.д.

Heroku - Для Telegram/Discord ботов и для веб приложений
Amazon AWS - На год выдает бесплатно Linux сервера и т.д.
Google Cloud - Дает $300 бесплатно на расходы внутри платформы
Azure - Как AWS, тоже бесплатно на год дает сервер + $200 на счет на внутренние расходы
Netlify - В основном для сайтов, есть лимиты на бесплатном тарифе
Vercel - Для JSеров (Next.js, Nuxt.js, Gatsby.js и тд)
Gear Host - .NET и PHP клауд хостинг

💪 Сохраните, чтобы не потерять!