Дневник Flutter-разработчика
3.06K subscribers
323 photos
22 videos
10 files
292 links
Описание моего пути мобильного разработчика с нуля до junior, middle, senior
Download Telegram
Forwarded from Oh, my Flutter (Mikhail Zotyev)
Flutter приложения, собранные на Xcode 15 и имеющие таргет-версию iOS 11 (минимальная возможная на данный момент) могут падать в рантайме при взаимодействии с Networking. Исправить это можно на данный момент подняв версию до 12, которая в ближайшем будущем все равно станет минимальной поддерживаемой.

📌 Подробности по ссылке.
https://github.com/flutter/flutter/issues/136060

#advice
👍12🤯32🆒1
Flutter и фриланс в школе

Пока одни жалуются на отсутствие опыта, другие уже со школы совмещают работу и учебу😉

Меня зовут Вася, я учусь в 11 классе, с августа 2020 года работаю с Flutter, а с марта прошлого года занимаюсь коммерческой разработкой мобильных приложений на фрилансе.
Сегодня хочу рассказать о том, как я совмещаю подработку с учебой в школе и какие у этого есть последствия


https://habr.com/ru/articles/784536

P.S. GetX с 11 класса… парень не с того начал😄
(юмор. В целом он молодец)
Please open Telegram to view this post
VIEW IN TELEGRAM
👍17🔥5😁5
🟥 Что делать в Сочи в марте? Писать мобильные приложения, конечно же!

С 18 по 29 марта в Сочи пройдёт научно-практический интенсив по мобильной разработке от Young&&Yandex и Университета «Сириус».

На смене будет представлено два направления: нативная разработка на iOS и мультиплатформенная разработка на Flutter.

Что вы успеете в ходе интенсива

🔶 Прокачаетесь в хард-скилах: создадите полноценные мобильные приложения под руководством ведущих разработчиков Яндекса и узнаете о современных инструментах разработки.
🔶 Поработаете над софтами: научитесь организовывать работу и ресурсы в команде, а также получите опыт совместной разработки.
🔶 Классно проведёте время: вас ждёт нетворкинг, природа Сочи — горы и море, а ещё выпускной в офисе Яндекса.

Что вы получите после прохождения интенсива

🔶 Качественный пет-проект в ваше портфолио.
🔶 Грамотное резюме: вы пройдёте мастер-класс по оформлению резюме, что будет полезно на любом этапе вашей карьеры.
🔶 Пробное собеседование в Яндекс: лучших мы пригласим стать сотрудниками.

Кто может принять участие в интенсиве

😀 Мы приглашаем принять участие в отборе студентов всех курсов бакалавриата, магистратуры и аспирантуры, интересующихся современными технологиями создания приложений на iOS или Flutter. Подробнее о необходимых навыках можно узнать здесь.

Обучение, проезд, проживание и питание на время смены предоставит Университет «Сириус».

💫 Успейте подать заявку и решить тестовое до 4 февраля включительно: https://clck.ru/37ESJJ
Please open Telegram to view this post
VIEW IN TELEGRAM
👍15🔥64
📲Навигация в приложении

На всех проектах, в разработке которых я участвовал(4 проекта), для навигации использовался auto_route
С ним не было никаких проблем до недавних пор

Сейчас, к примеру, WillPopScope deprecated и необходимо использовать PopScope. Но у auto_route с этим проблемы.
Ишью от 17 ноября: https://github.com/Milad-Akarie/auto_route_library/issues/1799
Плагин не обновлялся 3 мес, ишью не закрываются

Мы активно начали переходить на go_router

Основные причины перехода:
🟢разработан flutter.dev, в отличие от одного разработчика auto_route
🟢рекомендуется гуглом, имеет Flutter Favorite
🟢активная поддержка

Статья коллеги(первая часть) по go_router:
https://habr.com/ru/companies/friflex/articles/787528/
Please open Telegram to view this post
VIEW IN TELEGRAM
👍173🔥31
🍏Apple разрешила установку приложений не из App Store на iOS. Пока только для Евросоюза

В связи с вступлением в силу нового Закона о цифровых рынках в Евросоюзе, техногигаты должны открыть свои услуги и платформы другим компаниям и разработчикам. Изменения должны быть внесены до 6 марта 2024 года включительно.

🟢Все изменения для разработчиков можно посмотреть здесь:
https://developer.apple.com/support/dma-and-apps-in-the-eu/
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥15👍41
📱 Новый инструмент Google Play - подсказка обновить приложение при входе

Если пользователи используют устаревшую или неработающую версию вашего приложения, вы можете использовать Play Console, чтобы предложить им обновиться.


Похоже на soft update, который все привыкли видеть, но здесь от Google Play с настройками


➡️ Открывается полноэкранным сообщением при входе пользователя в приложение(скрин примера).
Его можно закрыть, тогда окно будет всплывать после каждого холодного перезапуска


➡️ В Play Console нужно выбрать версию приложения, с которой хотите обновить пользователей, затем настраиваете таргетинг:
🟢все пользователи выбранной версии приложения
🟢по стране/региону
🟢по версии Android


➡️ После предложения пользователям обновиться, в Play Console можно:
🟢изменить конфигурацию обновления
🟢просмотреть ход обновления
🟢отменить действие восстановления

Подробнее:
https://support.google.com/googleplay/android-developer/answer/13812041?hl=en#zippy=%2Cview-recovery-progress
Please open Telegram to view this post
VIEW IN TELEGRAM
👍25🔥5😍1🙈1
Я - team lead крупного проекта☺️
🔥166👍11🗿5🆒5🎉3222🌭1🍾1
🎉 Dart 3.3
https://medium.com/dartlang/dart-3-3-325bf2bf6c13

Что нового:
🟢добавлены Extension types. Представляют собой оболочки для типов, но без дополнительных, связанных с этим накладных расходов. Предназначены прежде всего для оптимизации кода, чувствительного к производительности, особенно при взаимодействии с хост-платформами.
(подробнее в документации: https://dart.dev/language/extension-types)
🟢поддержка WebAssembly во Flutter Web(пока экспериментальная)
🟢представлена новая модель взаимодействия с
JavaScript библиотеками и web - dart:js_interop
🟢улучшение библиотек браузера(в дальнейшем поддержка будет сосредоточена на package:web)
🟢бета-версия Google AI Dart SDK.
Новый пакет google_generative_ai и вспомогательные ресурсы позволяют создавать собственные генеративные функции на основе искусственного интеллекта в вашем приложении через интеграцию Dart с API Gemini.
РФ нет в доступных для использования регионах


🎉 Flutter 3.19
Много изменений:
https://medium.com/flutter/whats-new-in-flutter-3-19-58b1aae242d2


🎉 Так же представлен Roadmap развития Flutter на 2024 год:
https://github.com/flutter/flutter/wiki/Roadmap
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥21👍63🤗2
#полезное

У Алексея вышло 2 хороших видео по темам Жизненный цикл элементов во Flutter и Как работает EventLoop в Dart


1️⃣ В видео:
https://www.youtube.com/watch?v=Lhr8w_wpmFY

🟢как Flutter перестраивает дерево элементов
🟢как работает жизненный цикл элемента на примере State у StatefulWidget
🟢локальные/глобальные ключи при перестройке дерева элементов
🟢способы оптимизации перестроения дерева
🟢const

Советы из видео по оптимизации:

🔜 Старайтесь избегать напрямую вызова метода setState. Если все-таки делаете это, старайтесь делать это как можно ниже к элементам вашего дерева. Лучше всего использовать для этого стейтменеджеры

🔜 Избегайте как можно больше изменений иерархии вашего виджета. Если вы будете делать это без использования глобальных ключей(в примере), то на каждый элемент будет происходить новое создание. То есть иерархия у вас была из 100 виджетов, вы всего-лишь добавили обёртку в виде какого-нибудь Center и иерархия из 100 виджетов у вас просто с нуля пересоздалась, если конечно у вас не было глобальных ключей. И вот представьте, что вы делаете такое изменение иерархии внутри анимации, которая происходит на каждый кадр


2️⃣ В видео:
https://www.youtube.com/watch?v=eoPrGo4ffUA

🟢как работает EventLoop в Dart
🟢за счёт чего достигается асинхронное выполнение
🟢логика EventLoop
🟢подробный разбор задачки с собеседований по EventLoop(в какой последовательности будут распечатаны сообщения на экране?)
🟢общий разбор изолятов
🟢связь между EventLoop - запросы в сеть - чтение с диска


3️⃣ Статья из видео:
Why Flutter? Почему Flutter?
https://habr.com/ru/articles/787174/
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥233👍21
🔥 Как я стал TeamLead’ом

Ждём увлекательную история о предложении стать тимлидом), а то совсем пропал

На вопрос решил ответить постом)


В этой истории нет ничего прям необычного😄

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

Меня перевели на другой проект, крупнее предыдущего.
Проект на поддержке, в ожидании слияния с другим приложением этой же компании.
В команде все стандартно - несколько QA тестировщиков, 2 бекендера, дизайнеры и 1 flutter разработчик, 1 flutter TeamLead(Тимлид с моего предыдущего проекта)

До моего повышения я работал на этом проекте около полугода.


🔜 Предысторию рассказал, главные события🙂:

Мне звонит Тимлид и говорит:
- хотел тебе предложить взять проект в свои руки. Как тебе такая идея? Ты уже вырос достаточно. Такую ответственность на себя уже готов брать, как думаешь?


Как думаете, что я ответил? Та да да дам…

- конечно, без проблем

сказал я) Даже не стал спрашивать, какие условия, каких плюшек/денег мне накинут за новую должность.
В общем то я знал, что это отличная возможность быстро расти как в тех., так и в софт. скилах. Так что, не задумываясь, сразу согласился)

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


🔜 Через неделю мне написал Лид и сказал, что завтра мне нужно быть на созвоне, будут решать насчет моего лидерства на проекте)

На следующий день на созвоне нас было 4 - CEO компании, Head of Mobile компании, Лид моего проекта, я. Они втроём сошлись на том, что я сильно вырос и меня давно пора повышать. Дальше обсудили, что от меня требуется на проекте и условия(новая вилка зп). Я согласился, меня поздравили, с созвона вышел новый Тимлид☺️


✔️ Так я стал TeamLead’ом. Ну а дальше понеслось…😅
Ставьте 🔥, если интересно, с какими плюсами и минусами в новой должности я столкнулся и ждете этого поста:)


P.S. Лид моего проекта, которого часто упоминал - @petrovyuri, у него есть свой канал и курсы по разработке на dart/flutter
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥86👍822🗿1
Плюсы и минусы должности TeamLead’а


Начнем с плюсов:

🟢Ответственность. По большей части это плюс, так как она хорошо прокачивает тебя как в софт, так и в хард скилах. Об этом ниже

🟢Быстро растешь в софт скилах. Постоянное общение с командой, понимание как что взаимодействует. Обсуждения с аналитиком при постановке задачи, постановка задач, декомпозиция, их распределение - все это отличино тебя прокачивает

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

🟢Ты пишешь код лучше, так как теперь ты отвечаешь за проект и при реализации фичи/фиксе бага задумываешься, на что твоё решение может ещё повлиять в рамках проекта

🟢Построчное Code Review, так как теперь ты отвечаешь за качество кода на проекте) Code review и насмотренность хорошо прокачивают хард скилы. Знаю, что во многих компаниях несерьёзно подходят к этому процессу(плохое решение).
Это так же отличный способ лучше понимать проект, так как ты видишь, какой новый код/фичу добавили

🟢Ты занимаешься распределением задач. Хочешь, бери интересную тебе фичу, делегируй не интересную. Но конечно чаще стараешься, чтоб все были довольны)

🟢Предложения по улучшениям от команды приходят к тебе:) Чаще всего это интересные предложения по улучшению


Минусы:

🟠Ответственность - как плюс, так и минус)

Из этого пункта так же вытекает несколько подпунктов:
🔜Спрос с тебя. Возникающие проблемы, баги. Их быстрый фикс и оперативное решение проблем - на тебе
🔜Срочные вечерние сборки в сторы(редко, но бывает)
🔜Ответственность сильно тормозит тебя в рефакторинге. Многое хотелось бы переписать/выпилить, но заводя задачи на такой рефакторинг глубоко задумываешься, чем это может обернуться и не увеличит ли это количество крашей приложения.

🟠Созвоны. Их много и как раньше - быть на созвоне и параллельно работать - не получится. Почему? 1 пункт - ответственность) Ты должен быть в курсе, что на беке происходит и тд., чтоб не было проблем в мобильном приложении

🟠Часто бывает, что занимаешься фичой/багом, погружён в процесс и созвон или обсуждение выбивает тебя из колеи. Запланированное время на фичу увеличивается
Please open Telegram to view this post
VIEW IN TELEGRAM
👍30🔥8👏1
#достижение

Финансово помогаю родителям. Теперь они могут не работать, а отдыхать на пенсии, заниматься хобби☺️
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥102❤‍🔥5👍4🆒3👏2
Привет хочу поделиться папками с чатами и каналами по Flutter.
Каналы.
Чаты.
Если что-то пропустил, то добавляйте в комментарии.
Так же хочу попросить вас проголосовать за канал, так-как хочется дальше его развивать.
https://t.me/boost/FlutterForDev
🔥21👍43❤‍🔥1
Оплата SberPay

Если вам нужно будет внедрить оплату SberPay в ваше мобильное приложение, у вас есть 2 основных варианта:

1️⃣ Интегрировать нативный плагин sdk SberPay в ваше flutter приложение.
Процесс подробно расписан коллегами в этой статье:
https://habr.com/ru/companies/friflex/articles/771354/

В конце статьи есть пример плагина на github. Можно легко переиспользовать этот пример и в короткие сроки у вас готовое решение оплаты.


Плюсы:

🔜 Очень удобно для пользователя. Все происходит внутри вашего приложения. Вызывается нативная модалка, пользователь оплачивает со своих карт
🔜 Вам не нужно ничего отрисовывать, sdk Сбера сам все рисует. Нужна только нативная кнопка с методом оплаты
🔜 SDK позволяет сохранить авторизацию из SDK в Сбер на 90 дней. Это позволяет платить нативным виджетом без необходимости открывать приложение Сбера
🔜 Модальное окно показывает все доступные карты у пользователя сразу и через него удобно платить нужной картой


Минусы:

🔜 Сбер может в любой момент выпустить обновление, которое нужно установить. Старые версии при этом в любой момент могут стать неподдерживаемыми. Так случилось с версией минимального API Android и версии iOS.

Пример - я сделал интеграцию и после успешного тестирования задача была отложена в беклог на пару месяцев.
Через пару месяцев внедряем фичу, тестирую - метод некорректно отдаёт булевое. На устройстве установлено приложение сбера, метод sdk отдаёт false(сбер не установлен)😄
Пишу в поддержку, ответ -
возможно старая версия выведена из эксплуатации, обновитесь


🔜 Иду в документацию, обновляться на новую версию - они повысили версию api и для ios и для android😄
Остаётся только повышать версию приложения из-за Сбера)

На вопрос поддержке - Что делать с пользователями меньшей версии? Ответ -
Большинство поднимают версию без проблем, как правило это аудитория с низким уровнем платежеспособности

😁😁😁


P.S. Избавление от пользователей на старой api - не лучший вариант и я решил пойти по второму пути.

P.S.2. Позже они согласились выпустить версию с поддержкой старых версий api(для android), которая будет работать до конца года.


2️⃣ Вы можете использовать диплинк на оплату в приложение Сбера.
Бекенд формирует ссылку на оплату и вы открываете приложение сбера с предзаполненной оплатой.
Работает примерно как открытие из веба - тапаете на кнопку оплаты SberPay - переходите на оплату в приложение Сбера.

Плюсы:

🔜 Нет проблем с обновлениями sdk SberPay и неподдержкой старых версий
🔜 Не нужно избавляться от пользователей, если Сбер вдруг снова решит увеличить минимальные версии для android/ios.
🔜 Минимум сложностей при интеграции sdk SberPay. Здесь вы по диплинку открываете приложение Сбера


Минусы:

🔜 Не так удобно для пользователя, так как он перейдёт в другое приложение на оплату
🔜 Необходимость каждый раз для оплаты переходить в приложение Сбер, чего лишен sdk
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥28👍522
deeplink_select_mWeb2app_3 (1).pdf
43.1 KB
🟢Нюанс второго варианта

Если будете реализовывать оплату SberPay по диплинку в Сбер, то:

для android схема должна быть sberpay:
пример - sberpay://invoicing/v2?bankInvoiceId=e948fbdc1e1121&operationType=app2app

для ios схема должна быть btripsexpenses:
пример - btripsexpenses://sbolpay/invoicing/v2?bankInvoiceId=e948fbdc1e1121&operationType=app2app

Дока по диплинку от Сбера(файл)
Please open Telegram to view this post
VIEW IN TELEGRAM
👍23🔥731
Релиз Flutter 3.22 и Dart 3.4 🎉

⚡️Flutter 3.22, что нового:

🟢WebAssembly доступен в стабильной версии. Он улучшает производительность, делает анимацию и переходы более плавными
🟢Vulkan для Android делает графику более плавной и повышает производительность
🟢Оптимизированы эффекты размытия и сложного рендеринга путей(переход на Stencil‑then‑Cover)
🟢Сократили необходимость приведения типов в API-интерфейсах 2D-графики
🟢Поддержка функции прогнозируемого возврата(скоро будет введена на Android). Пользователи смогут просматривать предыдущий маршрут или даже предыдущее приложение
🟢Улучшения Platform views

И другое. Подробнее - в переводе статьи от Flutter Tech Lead Юрия Петрова


⚡️Dart 3.4, что нового:

🟢Предварительная версия макроса JsonCodable для сериализации и десериализации JSON. Конечная цель — возможность создавать свои собственные макросы
🟢Доступна полная поддержка WebAssembly (Wasm) для веб
🟢Исправлено более 50% ошибок анализатора автодополнения кода

И другое. Подробнее - в переводе статьи от Flutter Tech Lead Юрия Петрова
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥21👍64
📚В издательстве Питер вышла книга «Основы Dart»

Книга «Основы Dart» адресована тем, кто интересуется этим удивительным языком программирования. Вы узнаете об истории создания, синтаксисе и особенностях языка, таких как встроенные типы данных, и многом другом. В главе 2 вас ждет проект, который будет изменяться и расти вместе с вашими знаниями и навыками, а к главе 6 преобразится в полноценное клиент-серверное приложение. После каждой новой итерации проекта, вас будут ждать предложения по внесению изменений в его кодовую базу, что позволит прокачать свои hard-скиллы. Исходный код рассматриваемых в книге примеров можно найти в GitHub-репозитории автора (весь код в книге соответствует Dart 3.4).

Автор — Станислав Чернышев, кандидат технических наук, доцент кафедры информатики СПБГЭУ и кафедры прикладной информатики СПбГУАП, автор канала MADTeacher, спикер @crossconf и других конференций.

🔜 Доступна в 2 форматах:
- Бумажная книга
- Электронная книга

🎁 По промокоду «Бумажная книга» скидка 40% до 2 июня:)
Please open Telegram to view this post
VIEW IN TELEGRAM
👍32🔥841
Получил книгу:)

Успел купить по хорошей скидке из поста выше🙂
Заказали?) Если да, как вам книга?

Изучаю, позже напишу своё мнение

Friflex и @petrovyuri уделили половину обложки👍
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍40🔥11🤯1
🤓 Коррецкия зрения. Первый в жизни VIP😭

У меня зрение -4.5. На улице ношу линзы, дома очки. И очки и линзы мне надоели(уже как 12 лет ношу), решил сделать коррекцию зрения🤓

Давно был наслышан о Чебоксарский филиал МНТК «Микрохирургия глаза» им. акад. С.Н. Федорова, так как в него съезжаются люди с проблемами зрения со всей страны и отзывы хорошие(от знакомых).
В него и обратился:)

🔜 Запись:
Заранее записался на диагностику. За месяц! Свободные записей на раньше - нет)

В МНТК есть 2 варианта даигностики - VIP и обычная.
Выбрал VIP🟡. Первый в жизни😄
Стоит 7990 рублей


🔜 VIP диагностика:
Основное её преимущество - не нужно ждать в очередях. А людей там… Не протолкнуться)
При обычной диагностике нужно проходить обследование в разных кабинетах на 6 этажах(есть лифт)

При VIP тебя ведут в один большой кабинет, где обследуют только тебя. Если нужно в другой кабинет, ведут в него за руку, минуя любую очередь

🔜 Как это было у меня:
1️⃣ Записался заранее(за месяц). Условие - нельзя носить линзы как минимум 2 недели.

2️⃣ За день позвонили, уточнили, приеду ли я и иногородний ли

3️⃣ Приехал. В регистратуре была небольшая очередь, в которой я зачем-то отстоял(не коренной вип😂 На сайте написано, что нужно пройти вне очереди и сказать время приема и что VIP диагностика).
Мне сказали подожать на диванчике, меня проводят.

4️⃣ Через пару минут подошла девушка, уточнила мои данные и провела меня в кабинет. В кабинете были только врачи, я и разные аппараты для обследования.
Заполнили бумаги - разного рода данные и только на этом этапе нужно было оплатить 7990.

5️⃣ Оплатил, начали обследовать. Большинство обследований было в этом кабинете, 3 было на другом этаже, в который вели без очереди.

6️⃣ После основного количества обследований была первая консультация со специалистом. Задавала уйму вопросов о моих ожиданиях и не было ли каких-либо травм и тд.

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

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

Глаза закапывали в 3 этапа по 5-10 минут. Предупредили, что в глазах будет туман. К такому я готов не был, тк такое «туманное счастье» на 4-6 часов😂

9️⃣ Буквально за руку водили по кабинетам(чему я рад, так как не особо ориентировался после капель и не представляю, как бы сидел в очередях) для ещё ряда обследований.



❗️👇 Итог, если лень читать
🔟 Итоговый кабинет - хирург. Здесь можно было задавать любые вопросы о предстоящей коррекции.

Так как я 12 лет носил линзы, роговица тонкая и мне предложили FemtoLasik.

Операция длится около 15 минут и бОльшая часть этого времени тратится на работу с пациентом) Как она сказала, нужно будет отключить мозг и расслабиться, строго выполнять указания хирурга, так как все делает лазер - если чуть вправо-влево, операция или отложится на минимум 3 месяца, либо дальше будет невозможна.

Сразу сказал, что я айтишник и спросил, когда смогу работать в привычном темпе👨‍💻 Сказала, что реабилитация 2 недели. Нельзя будет смотреть в пк/гаджеты, смотреть телевизор и тд. Можно слушать аудиокниги и гулять. 2 недели😅

Через 2 недели можно вернуться в привычный режим. Но! Сказала интересную мысль
Вы посчитаете, что у вас все отлично - идеальное зрение, вы здоровы. Но это не так.
«Не так», так как теперь будут ограничения за пк/гаджетами) 45 минут работы - перерыв.

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


🟢Итог:
Пока думаю) Не нравится то, что эту коррекцию можно сделать только один раз.
С другой стороны, оно того стоит - избавиться от очков и линз и не перенапрягать глаза при работе за пк.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥26👍11🤔411