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

Ну что, релокейт?:) (скрин)
На Linkedin сейчас 5700+ рекрутеров, HR и разработчиков в контактах. Это дает свои плоды. После февральских событий снова начинают поступать предложения

Завтра заканчивается мой испытательный срок 3 мес. в Friflex. Очень жду, что скажут:)

Работа:
+ 9, 48 часа
Закрыл небольшую задачу по фиксу верстки. По таске нужно было поправить в одном месте проблему, я поправил везде, где были расхождения с макетом:)

Попутно нашел баг и завел на него задачу

Большую таску еще не завершил. Она интересная и в ней много того, чего не знаю(скорее не понимаю, как работает). Прокачиваюсь:)

Свой проект:
+ 0 ч.
Пока так же не выходит уделять время)

Английский язык:
+30 минут с Duolingo

Баланс работа-остальные сферы:
- читаю Чистый код дядюшки Боба. + 0 ч. (всего - 4,30)

- встаю в 5 утра, ложусь к 10 вечера +1 (всего - 9 дней)

- зарядка утром +1 (всего - 9 дней)

- силовая тренировка через день (отдых) (всего - 6 дней)

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

- отказ от сахара, мучного и фастфуда +0 (всего - 6 дней)
11/8/2022

Мой испытательный срок подошел к концу. По договору - если не уволили во время испытательного, то все хорошо и договор бессрочный😁
Фидбека пока никакого не дали, жду project manager'а, он сейчас в отпуске:)

Работа:
+ 9, 30 часа
Большую часть времени работал над исправлением бага в своей задаче. Была реализована логика, но она отрабатывала с одними объектами и не отрабатывала с другими. Ох сколько времени заняли тесты) Пришлось подключить старшего разработчика, вместе час копали. Знаете, в чем была проблема?)
key в мапе были не с теми названиями, которые "ест" движок проекта😁 Просто переименовал и все заработало:)

Свой проект:
+ 0 ч.
Пока так же не выходит уделять время)

Английский язык:
+35 минут с Duolingo

Баланс работа-остальные сферы:
- читаю Чистый код дядюшки Боба. + 0 ч. (всего - 4,30)

- встаю в 5 утра, ложусь к 10 вечера +1 (всего - 10 дней)

- зарядка утром +1 (всего - 10 дней)

- силовая тренировка через день +1 (всего - 7 дней)

- прогулки на свежем воздухе - здесь сегодня прочерк

- отказ от сахара, мучного и фастфуда +1 (всего - 7 дней)

P.S. Надеюсь с эмодзи удобнее читается) Мне так точно лучше видеть, где плюсы, где минусы. Пишите свое мнение в коментах или реакцией:)
12/8/2022

В понедельник созвон с сео насчет окончания моего испытательного
Жду:)

Работа:
+ 10, 15 часа
Работал над двумя задачами. Одна по исправлению бага, вторая та большая.
По большой задаче застрял на моменте с Offset. Нужно передавать координаты, чтоб привязать всплывающее меню по тапу.

Не могу понять, как с нужного мне места распарсить эти координаты, чтоб передать в Offset)
Интересный момент, планирую покопать на выходных

Свой проект:
+ 0 ч.
Пока так же не выходит уделять время)

Английский язык:
+30 минут с Duolingo

Баланс работа-остальные сферы:
- читаю Чистый код дядюшки Боба. + 0 ч. (всего - 4,30)

- встаю в 5 утра, ложусь к 10 вечера +1 (всего - 11 дней)

- зарядка утром +1 (всего - 11 дней)

- силовая тренировка через день +1 (всего - 8 дней)

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

- отказ от сахара, мучного и фастфуда +1 (всего - 8 дней)
13/8/2022

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

Английский язык:
+35 минут с Duolingo
Попробовал смотреть Shameless на английском. Сложновато:)

Баланс работа-остальные сферы:
- читаю Чистый код дядюшки Боба. + 0 ч. (всего - 4,30)

- встаю в 5 утра, ложусь к 10 вечера +0 (всего - 11 дней)
Решил попробовать встать сегодня без будильника и дать организму спать столько, сколько хочет. Встал сам в 5, снова лег, встал в 6 и на этом все:)

- зарядка утром +1 (всего - 12 дней)

- силовая тренировка через день +1 (всего - 9 дней)

- прогулки на свежем воздухе - 5000 шагов, гуляю в лесу:)

- отказ от сахара, мучного и фастфуда +1 (всего - 9 дней)
15/8/2022

Сегодня ожидался фидбек по испытательному, пока что его не было:)

Работа:
+ много времени, цифру писать неудобно. Только освободился(баланс😁)

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

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

Это я сделал. Но эти координаты еще нужно менять в зависимости от того, перевернут родитель или нет

И куча подобного:) В общем есть куда копать😁

Свой проект:
+ 0 ч.
Пока так же не выходит уделять время)

Английский язык:
+30 минут с Duolingo

Баланс работа-остальные сферы:
- читаю Чистый код дядюшки Боба. + 0 ч. (всего - 4,30)

- встаю в 5 утра, ложусь к 10 вечера +1 (всего - 12 дней)

- зарядка утром +1 (всего - 13 дней)

- силовая тренировка через день +1(отдых) (всего - 10 дней)

- прогулки на свежем воздухе - 4000 шагов. Просто гуляю по пол часа в леcу:)

- отказ от сахара, мучного и фастфуда +0 (всего - 9 дней)
16/8/2022

Работа:

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

Свой проект:
+ 0 ч.
Пока так же не выходит уделять время)

Английский язык:
+45 минут с Duolingo
+ приложение Memrise. Интересное приложение. Слова запоминаются через короткие видео со словами от носителей

Баланс работа-остальные сферы:
- читаю Чистый код дядюшки Боба. + 0 ч. (всего - 4,30)

- встаю в 5 утра, ложусь к 10 вечера +1 (всего - 13 дней)

- зарядка утром +1 (всего - 14 дней)

- силовая тренировка через день +0 (всего - 10 дней)

- прогулки на свежем воздухе - 4500 шагов. Гуляю по пол часа в леcу:)

- отказ от сахара, мучного и фастфуда +1 (всего - 10 дней)
17/8/2022

Работа:


+9,25 ч.
Переделал реализацию под новый макет от дизайнеров. Здорово повозился с ToggleButtons(нужно было, чтоб по тапу выделялась одна кнопка из нескольких) и кастомным AlertDialog

Свой проект:

+ 0 ч.
Пока так же не выходит уделять время)

Английский язык:

+40 минут
Duolingo и приложение Memrise

Баланс работа-остальные сферы:

- читаю Чистый код дядюшки Боба. + 0 ч. (всего - 4,30)

- встаю в 5 утра, ложусь к 10 вечера +1 (всего - 14 дней)

- зарядка утром +1 (всего - 15 дней)

- силовая тренировка через день +0 (всего - 10 дней)

- прогулки на свежем воздухе - сегодня был занят, времени не хватило

- отказ от сахара, мучного и фастфуда +1 (всего - 11 дней)
18/8/2022

💻Работа:


+9,44 ч.
Завершил ту большую задачу, сделал pull request:)
Начал делать две новые задачи по фиксу багов. Планирую завершить их завтра до утреннего созвона

Заказывал компьютерное кресло. Сегодня оно приехало.
ThunderX3 TC5 (скрин)
Смотрится отлично, сидеть в нем комфортно:)

Так же недавно приобрел студийный микрофон, чтоб звук был качественнее(частые созвоны). Покупкой очень доволен, рекомендую👍
Здесь он на 2 месте топа - Ritmix RDM-169
https://audiotop.ru/ratings/luchshie-mikrofony-dlya-pk#2-ritmix-rdm-169
Стоит недорого - 2500

P.S. Прошли собесы с подписчиками, которые хотели попасть на стажировку. Ребят, отпишите в лс как прошло, интересно:)

🧑‍💻Свой проект:

+ 0 ч.
Пока так же не выходит уделять время)

📚Английский язык:

+45 минут
Duolingo и приложение Memrise

💪Баланс работа-остальные сферы:

- читаю Чистый код дядюшки Боба. + 0 ч. (всего - 4,30)

- встаю в 5 утра, ложусь к 10 вечера +1 (всего - 15 дней)

- зарядка утром +1 (всего - 16 дней)

- силовая тренировка через день +1 (всего - 11 дней)

- прогулки на свежем воздухе - 4000 шагов. Гуляю в лесу:)

- отказ от сахара, мучного и фастфуда +0 (всего - 11 дней)
19/8/2022

💻Работа:


+10,44 ч.
Получил ревью на свой pull request. Много всего интересного. Переделывал большую часть времени)

Немного из интересного: "В setState нельзя пихать объемную логику, циклы и расчеты, он нужен для перерисовки интерфейса. Иначе можно тормоза ловить."
(у меня там был небольшой цикл)

Закрыл еще одну задачу по фиксу бага

P.S. Один подписчик, проходя собес на стажировку, устроился в компанию джуном:)👍

🧑‍💻Свой проект:

+ 0 ч.
Пока так же не выходит уделять время)

📚Английский язык:

+30 минут
Duolingo и приложение Memrise

💪Баланс работа-остальные сферы:

- читаю Чистый код дядюшки Боба. + 50 м. (всего - 5,20)

- встаю в 5 утра, ложусь к 10 вечера +1 (всего - 16 дней)

- зарядка утром +1 (всего - 17 дней)

- силовая тренировка через день +1(отдых) (всего - 12 дней)

- прогулки на свежем воздухе

- отказ от сахара, мучного и фастфуда +0 (всего - 11 дней)
20/8/2022

Сегодня суббота - отдыхал от пк:)

📚Английский язык:

+10 минут (немного, но плюс)
Duolingo и приложение Memrise

💪Баланс работа-остальные сферы:

- читаю Чистый код дядюшки Боба. + 1 ч. (всего - 6,20)
Узнал сегодня много нового из книги. Завтра оформлю, поделюсь:)

- встаю в 5 утра, ложусь к 10 вечера +1 (всего - 17 дней)

- зарядка утром +1 (всего - 18 дней)

- силовая тренировка через день +0 (всего - 12 дней)

- прогулки на свежем воздухе - 12000 шагов:)

- отказ от сахара, мучного и фастфуда +1 (всего - 1 день)
21/8/2022

По большей части отдыхал от пк

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

📚Английский язык:

+ часов 8
смотрел сериал Shameless на англ.

💪Баланс работа-остальные сферы:

- читаю Чистый код дядюшки Боба. + 40 м. (всего - 7ч.)
Интересное из книги:

- Функции должны быть компактными
- Функция должна выполнять только одну операцию
- Один уровень абстракции на функцию
- Название функции должно описывать, что она делает(глагол в начале - writeField, checkPassword и тд.)
- Длинное содержательное имя лучше короткого невразумительного
- Желательно, чтоб у функции было как можно меньше аргументов(сложно тестировать и это всё усложняет)

- Блоки try/catch рекомендуется выделять в отдельные функции

- Дублирование кода иногда считается корнем всего зла в программировании.
1. Увеличивает объем кода.
2. При изменении, придется вносить изменения во всех дубликатах
3. Вероятность ошибки возрастает (умножать на количество дублирования)

- встаю в 5 утра, ложусь к 10 вечера +1 (всего - 18 дней)

- зарядка утром +1 (всего - 19 дней)

- силовая тренировка через день +1 (всего - 1 день)

- прогулки на свежем воздухе - 4000 шагов

- отказ от сахара, мучного и фастфуда +1 (всего - 2 дня)
22/8/2022

💻Работа:


+ 9, 44 ч.
Завтра должен быть долгожданный фидбек по завершению моего испытательного:)

В основном занимался фиксом ревью двух задач. Одну пока так и не дофиксил)

Наполовину сделал задачку по фиксу бага. Планирую завершить завтра до дейлика

🧑‍💻Свой проект:

+ 0 ч.
Пока так же не выходит уделять время)

📚Английский язык:

+ 1, 20 ч.
50 м. - сериал Shameless на англ.
30 м. - Duolingo

💪Баланс работа-остальные сферы:

- читаю Чистый код дядюшки Боба. + 0 м. (всего - 7ч.)

- встаю в 5 утра, ложусь к 10 вечера +1 (всего - 19 дней)

- зарядка утром +1 (всего - 20 дней)

- силовая тренировка через день +1(отдых) (всего - 2 дня)

- прогулки на свежем воздухе

- отказ от сахара, мучного и фастфуда +1 (всего - 3 дня)
Успешно прошел испытательный🥳

Почти дословная цитата: "Всем довольны. Здорово вырос с прихода в компанию. Есть мотивация и стремление развиваться." :)

Завершаю текущие задачи и будет большая, чтоб посмотреть, где пробелы и что нужно подтянуть:)
25/8/2022

💻Работа:


+ 9, 36 ч.
В основном занимался фиксом ревью и сделал две небольшие задачки

Была интересная задача, где нужно было внутри квадрата показывать прямоугольник(абстрактно). Размер должен меняться пропорционально родителю при масштабировании.
Уйму всего перепробовал и остановился на FractionallySizedBox()
Размеры остаются пропорционально, ничего никуда не съезжает при масштабировании)

🧑‍💻Что изучаю/сложности:

Столкнулся с 2 проблемами:
1. По ревью нужно избавиться от BlocBuilder, так как мне нужно получить от него всего одно значение
Но в таком случае теряется доступ к контексту и падает ошибка. Пробовал через getIt и provider, всё не то:)

2. Сложно описать, но нужно по тапу на кнопку выделять ячейку и менять по значению. Делал это через стейт StatefulWidget.
По ревью нужно вынести метод, сделать static. Сделал, потерял доступ к стейту) Нужно сделать через VoidCallback?

📚Английский язык:

+ 1, 10 ч.
сериал Shameless на англ.

💪Баланс работа-остальные сферы:

- читаю Чистый код дядюшки Боба. + 0 м. (всего - 7ч.)

- встаю в 5 утра, ложусь к 10 вечера +1 (всего - 20 дней)

- зарядка утром +1 (всего - 21 день)

- силовая тренировка через день +1 (всего - 2 дня)

- прогулки на свежем воздухе

- отказ от сахара, мучного и фастфуда +1 (всего - 4 дня)
26/8/2022

💻Работа:


Закрыл основную задачу и почти завершил еще одну небольшую:)

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

🧑‍💻Что изучаю/сложности:

Решение вчерашних 2 проблем:
1. Вначале избавился от BlocBuilder, заменив его на Builder. Сверху у меня был Provider, от которого и нужен был контекст(Builder дает доступ к контексту родителя).

Дальше по ревью мне сказали, что и провайдер не нужен😁 Тогда я прокинул context.read() в параметры и все:)

2. Проблема, где нужно было по новому передавать значение на кнопку.
Сделал через ValueChanged<T>, добавив в параметры:)

Поймал себя на том, что не понимаю, как работают некоторые вещи. Изучаю, как что работает.
Начал больше углубляться - появилась уйма вопросов:)

📚Английский язык:

+ 0, 40 ч.
сериал Shameless на англ.

💪Баланс работа-остальные сферы:

- читаю Чистый код дядюшки Боба. + 0 м. (всего - 7ч.)

- встаю в 5 утра, ложусь к 10 вечера +-1(поздно лег) (всего - 20 дней)

- зарядка утром +1 (всего - 22 дня)

- силовая тренировка через день +1 (всего - 2 дня)

- прогулки на свежем воздухе

- отказ от сахара, мучного и фастфуда +1 (всего - 5 дней)
Если хотите сделать свой пет проект для резюме, но нет идей, макета и тз, ловите:)

Макет:
https://www.figma.com/file/KqZcU5m3GMxAHwgFkvCONz/ECOMMERCE?node-id=2%3A845

Тз:
https://docs.google.com/document/d/1VedkRcsN6yukGO2uWES4RuIM8KMtESZ8p7zD7nGySMs/edit?usp=sharing
29/8/2022

💻Работа:


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

Задачу по фиксу бага сам завел. Когда занимался другой задачей, заметил баг по неправильному отображению. Написал лиду, завел задачу:)

Завтра собеседование внутри компании😁

🧑‍💻Что изучаю/сложности/интересное:

Интересное из ревью - FutureBuilder должен быть максимально близко к тому месту, где используется

У меня он был немного выше

P.S. В выходные отдыхал от пк:)

📚Английский язык:

+ 1, 36 ч.
сериал Shameless на англ.

💪Баланс работа-остальные сферы:

- читаю Чистый код дядюшки Боба. + 44 м. (всего - 7,44ч.)

- встаю в 5 утра, ложусь к 10 вечера +1 (всего - 21 день)

- зарядка утром +1 (всего - 23 дня)

- силовая тренировка через день +1 (всего - 3 дня)

- прогулки на свежем воздухе. Сегодня был дождь:)

- отказ от сахара, мучного и фастфуда +1 (всего - 6 дней)
30/8/2022

💻Работа:


Меня можно поздравить с ачивкой - впервые одна из моих задач не прошла тестирование😅
Иконки не подгрузились на стейдж сборке. Массив был через lowercase, а нужен uppercase

🧑‍💻Что изучаю/сложности/интересное:

Сегодня было собеседование внутри компании. Цель - понять пробелы в знаниях, выявить слабые стороны:)

Из фидбека, что буду изучать(не теорию прочитать, а изучить:)) в ближайшее время:
- отличие create от value в BlocProvider
- как работают BlocBuilder, BlocConsumer, BlocListener
- императивная, декларативная навигация
- как работают методы push, pop, replace в Navigator
- работа FutureBuilder и StreamBuilder
- разобраться с регистрацией в getIt. singleton vs injectable vs lazySingleton и тд. Чем отличается регистрация

Буду делиться информацией по ходу изучения

P.S. Хорошо рассказал чистую архитектуру:)

📚Английский язык:

+ 0, 53 ч.
сериал Shameless на англ.

Если вы хотели начать изучать английский по сериалам/фильмам, то в puzzle-movies сейчас неплохие скидки: https://puzzle-movies.com/prices?code=pm1Sep22d50Jh

Основные плюсы площадки, которые я заметил:
- можно получить перевод слова или фразы при наведении на англ субтитры
- незнакомые слова можно сохранять в словарь и выгружать на телефон в приложения для запоминания
- приложение на телефоне и сервис на пк. Можно изучать в перерывы/обед-ужин на телефоне

💪Баланс работа-остальные сферы:

- читаю Чистый код дядюшки Боба. + 0 м. (всего - 7,44ч.)

- встаю в 5 утра, ложусь к 10 вечера +1 (всего - 22 дня)

- зарядка утром +1 (всего - 24 дня)

- силовая тренировка через день +1(отдых - просто пресс) (всего - 4 дня)

- прогулки на свежем воздухе. Было несколько часовых созвонов. Не выбрался на улицу)

- отказ от сахара, мучного и фастфуда +1 (всего - 7 дней)
На четыре дня телеграм-канал Мерка @merkteam превратился в трибуну Flutter-разработчика из их команды.

Такой же формат, как в коллективном твиттере, только в телеграмме:

− Сергей пишет с чего начинал;
− почему сбежал от React Native;
− какие по его мнению есть справедливые и не очень претензии у нативных разработчиков к флаттеру.

Ивент уже идет, приходите читать и участвовать в дискуссии: https://t.me/merkteam
31/8/2022

💻Работа:


Занимался правками ревью и анализом двух задач. Одну пока так и не понял как дебажить, так как баг появляется только на реальном устройстве

🧑‍💻Что изучаю/сложности/интересное:

Сегодня мне подсказали интересный кейс:

У меня была такая структура:
Row(
children: [
...[ ].map((e) =>
)
]
)

Через spread-оператор я добавлял список в список.
Если в списке только один spread-оператор и больше ничего, это лишняя операция копирования. Вариант достаточно запутанный, так как другой разработчик при чтении кода будет думать, что там еще что-то есть, пока не дойдет до конца списка

Решение:
final Iterable<String> yourList = [ ];
Row(
children:
yourList.map((e) =>
).toList()
)

У children убирается [ ], в конце приводим к .toList()
Заодно и массив лучше вынести отдельно:)

📚Английский язык:

+ 0, 38 ч.
сериал Shameless на англ.

💪Баланс работа-остальные сферы:

- читаю Чистый код дядюшки Боба. + 0 м. (всего - 7,44ч.)

- встаю в 5 утра, ложусь к 10 вечера +1 (всего - 23 дня)

- зарядка утром +1 (всего - 25 дней)

- силовая тренировка через день +1 (всего - 5 дней)

- прогулки на свежем воздухе. 4000 шагов. Гуляю в лесу:)

- отказ от сахара, мучного и фастфуда +1 (всего - 8 дней)