Flutter Tech-Lead Notes
320 subscribers
136 photos
9 videos
82 links
Download Telegram
Тут отличные новости! Не терпится попробовать
Introducing Realm for Dart & Flutter: Michael Thomsen рассказывает про Realm который представили MongoDB.
https://medium.com/dartlang/introducing-realm-for-dart-flutter-e30cb05eb313
👍2
Давно не писал ничего, поэтому начинаю ежедневную серию постов - про рабочее место и технику. Расскажу, чем я пользуюсь и пользовался.
Сегодня начнем с малого - web-камера.

Для чего?
Вебка мне нужна не только как камера для созвонов в Zoom и Google Meet, но и как микрофон.

Чем пользуюсь?
Сейчас использую 2 вебки - встроенную в ноут из офиса, а дома у меня стоит Anker PowerConf C200. Иногда могу использовать камеру iPad и если есть крайняя небходимость, свой iPhone в режиме Continuty Camera (вроде так оно называется).
Немного про Anker. Это отличная 2K камера, стоит около 100$ (можно и дешевле найти, например, я за примерно 50 брал), за эти деньги конкурентов у нее нет. Также радует ПО с большим количеством настроек - от разрешения камеры до настроек цвета и света.
👍1
Вчера пропустил пост, поэтому сегодня их будет 2. Оба будут посвящены устройствам ввода. Начнем мы с клавиатуры.

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

Как подобрать под себя?
- Определиться со способом подключения клавиатуры. Тут 3 варианта: по проводу, 2.4 GHz и Bluetooth. Как мне кажется, самый удобный из них это блютуз, но не все компьютеры имеют его поддержку.
- Определиться с размером клавиатуры. Тут нужно решить, пользуетесь ли вы NumPad, нужны ли функциональные клавиши отдельно.
- Определиться с раскладкой. Начнем с раскладок под ОС. Есть 2 основных варианта - под Windows и под macOS. А также с длинной клавиш shift и enter.
- Определиться с уровнем шума, высотой клавиш и, возможно, свитчами у механической клавиатуры.

Чем пользуюсь?
Раньше я пользовался только дешевыми мембранными клавиатурами, что не всегда подходило под мои цели. Но после появления у меня моего первого MacBook я просто влюбился в клавиатуру с механизмом "ножницы" и долгое время использовал только клавиатуру ноутбука. Сейчас у меня 2 клавиатуры - одна основная, вторая для игр.
Основная - Apple Magic Keyboard с TouchID. Как по мне, для человека использующего мак, нет ничего лучше, но многие со мной не согласятся. TouchID работает корректно, подключение сразу, даже если мак спит.
Дополнительная - механическая со свичами Cherry MX Red. Главный минус для меня - раскладка под Windows. Высокие клавиши тоже играют свою роль, и моя привычка печатать на клавиатуре ноутбука не дала мне перейти на нее полностью.

Что могу посоветовать?
Однозначно Apple Magic Keyboard 2ого или 3его поколения в любой комплектации.
Из низких Logitech MX Keys в любой комплектации. Хорошая клавиатура, сочитающая несколько раскладок и работающая с несколькими компьютерами одновременно.
Из механики - продукцию KeyChron. Хотя это все вкусовщина
🔥1
Продолжим. В данном посте я решил объединить 2 устройства ввода - мышь и трекпад.

Как подобрать под себя?
- Понять, что больше подходит. Есть люди, которые полностью отвергают трекпады, особенно пользователи Windows (некоторые производители только только научились встраивать жесты). Поэтому брать трекпад стоит, если он действительно нужен.
- Определиться со способом подключения. Тоже самое, как и с клавиатурами (см. выше)
- Подобрать под себя форм-фактор. Тут следует учесть привычки. У меня лежит кисть прямо на мыши, у кого-то могут только подушечки пальцев касаться кнопок. Сюда относим размеры и вес манипулятора.

Чем пользуюсь?
- Трекпад MacBook. Очень удобно, если кроме ноутбука ничего под рукой нет. Лучшее скольжение, много жестов для управления системой. По моему личному мнению - Apple делают лучшие трекпады.
- Apple Magic Trackpad. Standalone версия того трекпада, что описан выше, но немного большего размера. Что-то дополнительно писать нет смысла.
- Apple Magic Mouse. Мышь и трекпад в одном. Есть свои минусы, например, отличие колесика для прокрутки, которое заменено на жесты. Пользовался раньше первым поколением, там была проблема с заменой батареек, садились раз в месяц. Сейчас второе и его проблема с зарядкой (кто не в курсе, у него порт находится на дне), но у меня проблема решена при помощи трекпада (обычно он вспомогательный, а в случае зарядки мыши, используется как основной).
- Дешевая мышь от Dexp. Куплена лет 5 назад на замену умершей игровой мыши из Китая. Использую только для игр, так как есть и колесико, и отдельные клавиши)

Что могу посоветовать?
Для пользователей macOS обязательно иметь что-то поддерживающее жесты, без этого никак - Magic Mouse или Magic Trackpad.
Далее дело вкуса, но я бы смотрел в сторону Logitech.
👍2
Сегодня не менее холиварная тема про устройства на рабочем месте - монитор.

Как подобрать под себя?
Определиться с размером. Сейчас меньше 24 дюймов лучше не брать, лучше всего, если монитор будет около 27 дюймов. Но если хочется широкий, то не менее эквивалента 27 дюймов с соотношением 16:9
Определиться с разрешением. Сейчас разброс идет от HD (1280x720) до 8K. Разрешение не просто влияет на восприятие картинки, но и на здоровье человека, поэтому для программирования я бы не стал рассматривать все, что ниже 2160x1440 (для широких аналогично).
Определиться с герцовкой (частотой экрана). Тут все зависит только от того, будете ли вы играть и нужна ли вам отрисовка более, чем 60 кадров в секунду.
Определиться с технологией изготовления матрицы. По моему личному мнению, лучше выбрать IPS, VA или OLED монитор.

Что использую?
Сейчас моим спутником в работе является LG Ultrafine 27UP850-W. Это уже третье поколение этих мониторов, радует наличие не только колонок (хотя звук из них не очень), но и порта USB-C, он же Thunderbolt 3 (или 4, кто его знает). То, что этот порт есть, означает, что я могу по одному кабелю передавать картинку на монитор, звук на колонки, заряжать ноутбук (до 96W) и дополнительно использовать USB-хаб на задней панели (главный минус - оба порта USB-A 2.0).
А теперь к минусам, хоть картинка и 4k, и IPS матрица, macOS делает все слишком мелким, что мне пришлось понизить разрешение до 3k (3008 на 1692) при использовании MacBook Pro на M1, после смены ноутбука можно было выставить уже 3360 на 1890. Это происходит из-за того, что на 2 модели ставится одна и та же прошивка, поэтому монитор определяется системой, как 32 дюйма. Еще один минус, что после обновления на macOS Ventura стало невозможно включить HDR, хотя с Monterey все прекрасно работало).

Что использовал?
В первый раз за этот цикл появляется обзор на технику, которая была раньше. Экраны ноутбуков и моноблока сюда не попадут, о них расскажу, когда перейдем к компьютерам.
Перед покупкой монитора от LG, я пользовался изогнутым Samsung на 24 дюйма с FullHD разрешением. Он и был причиной замены. Когда я работал на старых компах, все было нормально, но с M1 он законфликтовал и даже при выставленном максимуме, он выдавал расплывчивую картинку, из-за чего через пару-тройку часов начинали болеть глаза.
👍4
Так как я пропустил вчера пост, сегодня их будет больше. Начну я с небольшого открытия.
Команда, работающая над flutter_bloc все больше меня радует - сегодня случайно нашел виджет MultiBlocListener. Работает также, как и MultiBlocProvider, - мы даем ему инстансы BlocListener, но без child. Считаю это крутым нововведением, чтобы дерево элементов не росло
🤩3
Пришло время анонсов.
21 апреля мы встретимся на DUMP 2023 в прекрасном уральском городе Екатеринбург.
Там я расскажу про многомодульность на Flutter на примере реального проекта с разбором ошибок, которые я совершил при проектировании архитектуры.

Что? DUMP-2023 в Екб
Когда? 21 апреля 2023
Спикер: Гершевич Павел
Тема: Многомодульность на Flutter или Как не выстрелить себе в ногу
https://dump-ekb.ru/mnogomodulnost-v-flutter-ili-kak-ne-vystrelit-sebe-v-nogu
🔥3
На этой неделе встретил странный баг в приложении.
Дело в том, что размер текста в эмуляторе в 2 виджетах был одинаковым, а на реальном устройстве тестировщика был разным, несколько костылей не срабатывает.
Буквально сейчас наткнулся на свежую статью от Surf, в которой про это рассказывается.

P.S. Для ленивых - всегда передавайте textScaleFactor в RichText
На этой неделе начали стажировку в компании. Ее цель - выбрать себе новых сотрудников.
Так как я руковожу отделом мобильной разработки, меня сделали одним из наставников.

Расскажу немного про отбор кандидатов.
Всего к нам пришло более 100 заявок, из которых 20 было мобильных разработчиков. По результатам 2 стадий отбора (выбор кому давать тестовое и собственно само тестовое), ко мне на разработку попало 3 человека:
- Студент последних курсов, который делал что-то на Flutter
- Студент младших курсов, уже успевший поработать Flutter Junior
- Парень, работающий с Android, но познакомившийся с Flutter во время выполнения тестового задания

Сейчас ребята делают приложение, у которого есть потенциал стать полноценным внутренним проектом или частью уже существующей ERP системы, которую мы используем у себя
🔥1
Продолжим покинутую тему - рабочее место. В этот раз разберем то, на что часто забивают - свет.

Для чего?
Хорошее освещение рабочего места поможет сберечь зрение и меньше уставать.

Что использую?
В первую очередь, я работаю днем, поэтому естественный свет из окна - лучший выбор, так как экономит электроэнергию и просто удобно.
Для замены ему в темное время суток или если нужно закрыть шторы (яркое солнце, просто жара на улице) я использую намониторную лампу от Yeelight - Screen Bar Pro (или как-то так).
Плюс первый - никаких бликов на мониторе, даже с естественным светом они есть.
Плюс второй - свет всегда падает сверху, что нельзя перекрыть поставив что-то около себя.
Плюс третий - есть подсветка на стену за монитором, что также помогает глазам в темное время суток.

Что использовал?
Я использовал огромное множество различных ламп и светильников, иногда освещяя только стену, иногда ставил сверху, иногда с боку. Намониторные лампы - мой выбор на долгое время.

Как подобрать под себя?
Температура света, его яркость и расположение - субъективные вещи, поэтому для организации хорошего рабочего места нужно понимать, как и что вы хотите осветить.
👍3
Перед заключительными и самыми важными постами про рабочее место, пройдемся по различным мелочам.

Коврик для мыши.

Что использую?
Я не приверженец использования ковриков, но из-за того, что мой стол не воспринимается Apple Magic Mouse, в январе 2022 я прикупил себе длинный коврик из кожзама от Satechi. Плюс в том, что на нем сейчас стоят и мышь, и клавиатура, и трекпад. В мечтах заменить его на шерстяной коврик.

Как подобрать?
Очередной субъективный выбор, но можно сказать, что длинные ковры набирают все большую популярность. Материалы, расцветка - уже на ваше усмотрение.

Сетевой фильтр.

Что использую?
Башню на 12 розеток и 5 USB портов от Qumo. Удобная штука, когда у тебя возле рабочего места всего 1 розетка.

Что использовал?
Дешевый тройник, в который дополнительно был подключен дешевый сетевой фильтр от Defender. Этот сетевой фильтр прожил у меня чуть больше 5 лет, он успел побывать со мной заграницей (для чего и покупался), переехать обратно в Красноярск и переехать уже на свою квартиру. Уже на последнем месте у него начали отваливаться розетки, в итоге, из 5 розеток осталось только 3 рабочих, пришлось искать ему замену.

Как подобрать?
Определиться с количеством розеток, лучше, если возьмете с запасов +2-3 штуки, ну и без USB не обойтись. В идеале, если вы постепенно переходите на девайсы с USB-C, он тоже должен присутствовать.
Продолжим про важные мелочи

Подставки для ноутбука / планшета.

Что использую?
На данный момент у меня их 3. Дома ноутбук стоит в закрытом виде в подставке от Ugreen, планшет становится на свою от той же компании. В офисе использую подставку для ноутбука в открытом виде, что позволяет спокойно использовать его как второй монитор.

Как подобрать?
Зависит от целей. Если нужна подставка, чтобы увеличить пространство - только подставка для закрытого ноутбука. Если для того, чтобы было удобно использовать - можно смотреть различные. Если для охлаждения - смотрим на шум и возможности.

Wi-Fi роутер.

Что использую?
Сейчас возле меня стоит Xiaomi с Wi-Fi 6. Отличный вариант для пользователей с быстрым интернетом (у меня, например, гигабит). Подбирал я его долго, смотрел, чтобы не было перегрева и были хорошие скорости. Более того, у меня все устройства поддерживают Wi-Fi 6, что является еще одним преимуществом.

Что использовал?
Пока жил у родителей, использовал Asus AC51U - отличный роутер за свои деньги, родителям его до сих пор хватает (хотя прошло уже лет 8 наверное). После переезда на свою квартиру взял себе дешевый Xiaomi 4A (не гигабитный), в какой-то момент он мне надоел тем, что приходилось его постоянно перезагружать, поэтому пришлось поменять.

Как подобрать?
Я бы не рассматривал сейчас к покупки роутеры без поддержки Wi-Fi 5 (802.11AC) и стоимостью ниже 2000 рублей. В идеале брать что-то, что будет работать на Wi-Fi 6 или 6E. Также отмечу несколько производителей: Asus, Xiaomi, Zyxel и TP-Link.
Вот мы и подобрались к разговорам о самой важной технике за рабочим столом - компьютерам. Это будет небольшая серия постов, чуть более филосовская, чем прошлые.
Начну я с рассказа, чем я пользовался и пользуюсь сейчас.

до 2016 Стационарный ПК
Когда я еще только начинал изучать программирование, я сидел и писал код за маломощным ПК. Это был довольно слабый Pentium на 775 сокете с 2 гигами ОЗУ и GT 240. Работать на нем можно было, но ждать компиляции было очень долго.
Это и стало одной из причин, по которой, занявшись разработкой под Android, я собрал себе уже бюджетный компьютер, которого должно было хватать - i3 4340, GTX 750, 8 Гб ОЗУ и впервые у меня появился SSD. Работать стало намного лучше и приятнее.

2014-2015 Учебный ноутбук от Samsung
В самом начале я учился в IT школе Samsung, где мы работали на специально подготовленных под нас ноутбуках. Если правильно помню это были ультрабуки с i3 и 4 гигами оперативы на борту. Медленные, но для обучения подходили.

2016-2019 MacBook Air
После окончания школы, мне нужно было уезжать заграницу, но компьютер мне 100% нужен был. Так как я хотел начать разрабатывать не только под Android, но и под iOS, был необходим Mac. Выбор пал на самую дешевую комплектацию MacBook Air 2015 с 13 дюймами - 4 ГБ ОЗУ и 128 Гб SSD. Довольно слабая печатная машинка, но мне ее хватало и для разработки, и немного поиграть в игры.

2018-2019 Рабочий ноутбук
Когда я занимался разработкой на React (об этом я расскажу в одном из дальнейших постов), моего мака стало дико не хватать и мне выдали ноут от Asus. Иногда приходилось таскать с собой 2 ноутбука. На самом деле, это был не первый ноутбук, выданный мне в Aspirity, первым был ноутбук от Lenovo, который я получил в первые дни работы в компании и который оказался бракованным.

Завтра разберем оставшиеся 4 компьютера на которых я работал и работаю.
👍1
Продолжу свою историю смены ПК.

2019-2021 Asus Vivobook S14
Когда мне стало совсем не хватать мощности у MacBook Air, я принял решение, что от разработки под iOS я могу пока отказаться, так как лучше сфокусироваться на Android, Flutter и React. Денег было не особо и я взял себе ноут со стандартной на то время комплектацией - i5-8250U, 8 ГБ ОЗУ, MX150 на 2 ГБ и 256 ГБ SSD. Я думал, что по мощности мне этого точно хватит, так как на нем можно было не только работать, но и играть.
В начале 2020, еще до ковида, у нас в Aspirity устроили марафон апгрейда компов, в который я тоже залетел. Мне поставили дополнительную планку оперативы на 8 гигов и еще один SSD диск на 480. Скорости стало немного больше, но теперь я мог спокойно иметь на нем 2 системы - Windows 10 для игр и учебы и Ubuntu для работы. Пользоваться я им продолжал даже после покупки следующего устройства.
2020 - 2021 iMac 21,5
Уже когда начался ковид, весной 2020 года, мне понадобился Mac. Денег было малоб поэтому выбор пал на Б/У рынок. Было 2 варианта - MacBook Pro 13 2013 года с i7 или iMac 2013 21,5 на i5, 8 Гб ОЗУ и 1 ТБ HDD с разницей в 2 тысячи. Продавец ноутбука мне не ответил, поэтому я купил iMac. Это была максимально медленная машина, делать на нем что-то было невыносимо.
Поэтому нужен был апгрейд. В июне того же года я с другом разобрали Mac и заменили HDD на SSD, который стоял у меня в ноутбуке.Я понял все прелести владения маком, даже таким старым. В какой-то момент я даже накатил на него macOS 11 Big Sur, хотя максимально поддерживаемая версия - macOS 10.15 Catalina. Но в какой-то момент мне стало не хватать ОЗУ, а SSD был медленный, чтобы система питалась из него.
Снова апгрейд. Была куплена чуть ли не самая дешевая DDR3 SO-DIMM память, но она не завелась + так как я делал в этот раз в одного, я порвал шлейф от матрицы. Обратились в сервисный, починили, докинули ОЗУ, в этот раз совместимую.
👍1
Веселый рабочий случай.
Сегодня вел лекцию в своей альма-матер. Мак не захотел подключаться к проектору. Если быть точнее, проектор не видел мак.
Подключение было такое - к маку присоеденен переходник с HDMI на VGA, куда, в свою очередь, вставлен кабель от проектора. Мак перестраивал картинку, видел подключение, но проектор ничего не выдал.
Как порешали - я тупо запустил конференцию в Zoom, к которой подключились с компа, на котором точно все работает. Так и провели лекцию для студентов.
К следующей лекции куплю себе переходник Thunderbolt - VGA (возможно оригинальный), посмотрим, может заработает
2