Программирование : Dart & Flutter по-русски
Mikhail Spiridonov
Капитализм - это вопрос правовых отношений
Mikhail Spiridonov
Похоже пора профсоюз создавать ??
Evgenii Elchev
правого нет, а моральное то как раз есть. Ибо еще раз, выходные для безопастности. работа из дома дает ровно ту же безопастность
Mikhail Spiridonov
Если бы это было так, то в указе было бы об этом сказано, или выходной или работайте удалённо, но нет
neikist
Вспомните итальянскую забастовку. Бумажки нужны для защиты прав и урегулирования споров, а не для того чтобы себе по максимуму преференций набить следуя "букве"
Evgenii Elchev
то есть я могу сказать что вертись тут все конем, закон есть закон и уйти на выходные, и с точки зрения закона я буду прав, а вот с точки зрения морали я буду мудаком)
Evgenii Elchev
ты не думал что они просто не думали о удаленном формате?
neikist
Дык там одни пенсионеры, они вообще забыли о такой возможности даже если и знали)
Evgenii Elchev
я не против работать в вобще то рабочие дни)
Evgenii Elchev
меня и так никогда не заставлют работать сверзурочно и по выходым и праздникам, даже не предлагают. Эту неделю я им прощу)
Mikhail Spiridonov
Думал, но они точно в курсе того, что пол-Москвы уже удалённо работает
Evgenii Elchev
я бы не считал что там пол москвы работает удаленно)
neikist
Вот не думал что когда нибудь это скажу но "сейчас нужно не только о личной выгоде думать, но и об обществе в целом". Ибо, как я уже говорил, тут и так по экономике удар из за пандемии и цен на нефть. В итоге если каждый будет одеяло на себя тянуть - проигаем все только больше.
Pavel Kondratev
А по факту задумаются стоит ли держать такого сотрудника и не начать ли подыскивать замену ?? рынок то большой
Mikhail Spiridonov
Я за человеческие отношения и считаю, что если сотрудник делает что-то для компании сверх договорённости, то и компания должна поступать с ним так же. Только и всего
neikist
А вот то что нас, например, даже на удаленку не переводят - вот это минус. И ведь был опыт в прошлом году что всей толпой 3 недели из дома работали.
neikist
Так когда договаривались этих выходных и не было))
Pavel Kondratev
Это уже странно
Maxim
Рынок программистов очень маленький. И заменить сотрудника очень и очень дорого компании.
Mitai
от языка зависит, вот рнр и жаба скриптеров как грязи
Maxim
Думаю и там найти не войтишников не просто. Да и онбординг только чего стоит.
Evgenii Elchev
от компании зависит
Evgenii Elchev
и от требований к кандидату
Sergey Salnikov
[
"Во-первых, читай доку как stub`ить async\nthenAnswer\n\nВо-вторых, читай изучи typematchers\nthrowsA(isA ()) - ловит тип\nthrowsA(err) - ловит конкретный объект\n\nматчим конкретный Exception\n",
{
"type": "pre",
"text": "final ex = Exception('bla');\n when(mock.getBla()).thenAnswer((_) => Future.error(ex));\n expect(mock.getBla(), throwsA(ex)); \n\n",
"language": ""
},
"матчим тип\n",
{
"type": "pre",
"text": "when(mock.getBla()).thenAnswer((_) => Future.error(Exception()));\n expect(mock.getBla(), throwsA(isA()));",
"language": ""
},
""
]
Andrey
да я вот что-то не нашёл как проверять Exception во Future, т.е. обычный ответ thenAnswer нормально отрабатывает, а вот возвращать Exception в том же thenAnswer мне показалось странным
Sergey Salnikov
прямо скажу - это зависит от желания найти, я же тестирую flutter молод и если ты так ищешь - ты будешь долго тупить над более серьёзными вопросами
Andrey
нуу, найти бы то нашёл бы, вопрос времени, просто хотелось быстрее, вот и спросил)
Andrey
к тому же чем больше знаешь, тем легче потом искать, вникать и т.п.
Sergey Salnikov
я никого не спрашивал - это резюме
Sergey Salnikov
[
{
"type": "link",
"text": "flutter.io"
},
"\nupd не туды"
]
admin
Привет друзья вообщем такая вот проблема
Вадим
какой размер у контейнера?
admin
Прошк прошения но я совсем ешё зелёный )
admin
и как узнать размер контейнера я не знаю
Вадим
Column обернута в Container
Вадим
у контейнера задан размер?
admin
[
"void main() => runApp(MaterialApp(\n debugShowCheckedModeBanner: false,\n home: HomePage(),\n ));\n\nclass HomePage extends StatelessWidget {\n const HomePage({Key key}) : super(key: key);\n\n ",
{
"type": "mention",
"text": "@override"
},
"\n Widget build(BuildContext context) {\n return Scaffold(\n body: Container(\n padding: EdgeInsets.symmetric(vertical: 30),\n width: double.infinity,\n decoration: BoxDecoration(\n gradient: LinearGradient(\n begin: Alignment.topCenter,\n colors: [\n ",
{
"type": "link",
"text": "Colors.orange"
},
"[900],\n ",
{
"type": "link",
"text": "Colors.orange"
},
"[800],\n ",
{
"type": "link",
"text": "Colors.orange"
},
"[400]\n ],\n ),\n ),\n child: Column(\n crossAxisAlignment: CrossAxisAlignment.start,\n children: [\n SizedBox(\n height: 80,\n ),\n Padding(\n padding: EdgeInsets.all(20),\n child: Column(\n crossAxisAlignment: CrossAxisAlignment.start,\n children: [\n Text('Login',style: TextStyle(color: Colors.white, fontSize: 40),),\n SizedBox(height: 10,),\n Text('Welkome Back',style: TextStyle(color: Colors.white, fontSize: 18),),\n ],\n ),\n ),\n Expanded(\n child: Container(\n color: Colors.white,),\n )\n ],\n ),\n ),\n );\n }\n}"
]
Igor Kusoff
у контейнера боди симметричный вертикальный паддинг
Temurxon
попробуй sizedbox
Temurxon
width и height задать
Temurxon
или только один из них
Igor Kusoff
если стоит отступ 30 снизу, то чего ещё ожидать?
admin
я вообщем прохожу туториал делаю всё тоже самое перевпроверил всё 10 раз но там такого дифекта нет
admin
или на яблоке всё подругому ?
Igor Kusoff
не видно начала
Sergey White
Всем привет, в курсе hive на iOS починили?
admin
сейчас начал пересматривать видео и тут оказалось что автор потом удалил padding: EdgeInsets.symmetric(vertical: 30),
Igor Kusoff
вот я о нем и говорил
admin
Спасибо что помогли ????
Renat Fakhrutdinov
А ты не думал, что работодатель поступает по мудачески, заставляя тебя работать в твои законные выходные без сверхурочных?
ilx13
Кто нибудь ставил рекламу адмоб на проект. это не сильно больно?
Renat Fakhrutdinov
Я ставил.
Renat Fakhrutdinov
[
{
"type": "link",
"text": "https://pub.dev/packages/firebase_admob"
},
"\n\nВот эту либу использовал"
]
Renat Fakhrutdinov
Не больно, но повозиться нужно. Почитаешь документацию, если что-то непонятно. Справишься)
Renat Fakhrutdinov
Другие либы не использовал, поэтому опыт с admob есть, но не могу назвать себя гуру эдмоба)
Pavel Kondratev
Тут скорее вопрос: нужен ли тебе работодатель? Если да, то его понять можно, если нет, то вопрос зачем на него работать?
Pavel Kondratev
Неделя простоя не освобождает от налогов, неустойки перед заказчиком и тому подобного
ilx13
android:name="com.google.android.gms.ads.APPLICATION_ID" android:value="ca-app-pub-################~##########"/> в APPLICATION_ID что ставить?
ilx13
ca-app-pub-################~########## такой я в адмоб взял
Renat Fakhrutdinov
Это я всё понимаю. И я люблю работать. Но когда твои трудовые права нарушаются, их надо отстаивать, иначе они будут нарушаться в будущем. Чтобы не было неустойки перед заказчиком, то пусть работодатель договаривается с разработчиком о работе в выходные. Есть статья 153 ТК РФ. Там сказано, что работа в выходные оплачивается минимум по 2-й ставке.
Renat Fakhrutdinov
Да, там в андроид манифесте надо вставить эдмобовское айди.
ilx13
ca-app-pub-################~########## вот это? или название созданного банера?
Renat Fakhrutdinov
Ну там уж не решетками заполнять надо, а свой id закинуть)
Renat Fakhrutdinov
У тебя уже есть эдмоб аккакнт?
Renat Fakhrutdinov
Если нет, то надо создать, либо запросить у заказчика, если он уже есть.
ilx13
адмоб есть. свой код я уже ставил
ilx13
просто тут с решетками закинул
ilx13
android:name="com.google.android.gms.ads.APPLICATION_ID" android:value=“тут свой код ставил“/>
ilx13
строкой выше вместо APPLICATION_ID чтото надо ставит?
Evgenii Elchev
нет, это же не выходные, это карантин, который сделан для того что бы я не вышел из дома и не заболел. Спасибо Путину за заботу, но я и так не выхожу из дома)
Evgenii Elchev
на мои законные выходные и праздники меня никто не заставляет работать без сверх урочных)
Renat Fakhrutdinov
Это именно выходные, а не карантин
Renat Fakhrutdinov
[
{
"type": "link",
"text": "http://kremlin.ru/events/president/news/63065"
},
"\n\nВот указ. Там сказано \"нерабочие дни\""
]
Evgenii Elchev
А в связи с чем?) Вроде как он не говорил, ребята, вы устали там от этого всего, отдохните, расслабьтесь, сходите в баню)
Renat Fakhrutdinov
в указе вначале указано в связи с чем
Evgenii Elchev
Нерабочий день В целях обеспечения санитарно-эпидемиологического благополучия населения на территории Российской Федерации и в соответствии со статьей 80 Конституции Российской Федерации постановляю:
Renat Fakhrutdinov
ну и далее обьявил нерабочие дни
Evgenii Elchev
Где тут про выходные?
Evgenii Elchev
Это карантин
Renat Fakhrutdinov
Установить с 30 марта по 3 апреля 2020 г. нерабочие дни с сохранением за работниками заработной платы.
Renat Fakhrutdinov
вот тут выходные
Igor Kusoff
а давайте для обсуждения выходных и сверхурочных отдельный чат заведём? этот спор уже утомил)
Evgenii Elchev
Да просто кто то тут очень не хочет работать
Pavel Vasilenko
Развели тут спор, я вот люблю кодить и в выходные. Возьмите меня на работу )
Andrey P
резюме пришли :)
Александр
Работать в выходные ????
Pavel Vasilenko
Это хобби, пока
Александр
На хобби да, стоит тратить время :)
Rail Batyrshin
Ребята привет, отдельная группа для новичков есть?
Ivan
Задавай тут вопросы)
Hellomik
Если отделить беседы одна беседа сдохнит
Hellomik
Так что нормас, задавай вопросы на любой вкус и цвет(ну что бы темы касалось)
marat
Я тоже совсем новичок. Но мне и тут интересно!
Пашка
Подскажите как делать навигацию без потери bottomNavBar
Dan
Привет. Такой вопрос. Загрузил Андроид студию на убунту. Установил плагины флаттера и дарта. Но студия не видет девайсов . Как их законнектить?
ilx13
не в драйверах вопрос?
Dan
Девайсы в Андроид студии.
Rookie Krewkie
[
"Народ, а есть кто реально может в виджеты? Возможно, сговоримся.\n",
{
"type": "link",
"text": "https://docs.google.com/document/d/1eaIuPWVyZpHZYSf9WNOTj_t4AdfFjlslMpHKEUQzVK8/edit?usp=sharing"
},
""
]
CrazyAlarmClock
Всем утра) А кто знает либы для получения из координат адреса? для flutter web
Sergey Salnikov
похоже на тестовое - тебе бы самому разобраться
Rookie Krewkie
похоже не похоже. Сделаешь? Сколько денег?
Serge Shkurko
Строкой получить адрес например здания по условным координатам?
Sergey Salnikov
[
{
"type": "link",
"text": "https://t.me/dartlang_jobs"
}
]
Serge Shkurko
[
{
"type": "link",
"text": "https://www.google.ru/search?q=get+address+by+coordinates+api&ie=UTF-8&oe=UTF-8&hl=ru-ru&client=safari"
}
]
Rookie Krewkie
Спасиб, товарищ!
Serge Shkurko
Гугл вроде платный, но точно не помню
CrazyAlarmClock
Спасибо кеп) Просто мы на мобилке использовали Geolocator, но его для web нет(
Serge Shkurko
Тут вполне достаточно либы http or network or dio
Serge Shkurko
Можно обойтись без нативных библиотек
Павел
почему бы не по API ?
Serge Shkurko
Хоть на Dart vm
Renat Fakhrutdinov
Это называется геокодинг. Это могут такие библиотеки, как geolocator или geocoder
Павел
Яндекс вроде хвастался либами
Gorohov Valeriy
Кто-нибудь сталкивался с подобным?
CrazyAlarmClock
Окей, посмотрю, спасибо)
Gorohov Valeriy
Кнопка Back мерцает
Serge Shkurko
Это в релизной сборке на реальном устр-ве?
Serge Shkurko
Бывает на эмуляторе мерцает cupertino
Gorohov Valeriy
Нет, но решение уже нашел, задал цвет кнопки, раньше бралась из темы.
Serge Shkurko
хм, весьма странно
Alexander Voronov
Доброго времени суток! Подскажите пожалуйста, где можно почитать о реализации авторизации, как это правильно сделать? Куда сохранить токен, как при запуске приложения правильно определиться с нужным view (логин или уже внутри приложения). Я правильно понимаю, что надо реализовать типа SplashScreen, в котором я проверю в хранилище наличие токена, пингану сервер и определюсь что с этим дальше делать?
Alexander Vinogradov
большая лужа `Breaking change`ей
Влад Дементьев
уважаемые знатоки, решил я значит сделать выпадающий список, он же select сделать, нашел DropdownButton, а у него детишек DropdownMenuItem, у последних хочу добавить border, добы было красиво, в описании класса этого свойства нет, решал кто то эту проблему или может подскажите как можно добавить бордер в выпадающем списке у DropdownMenuItem?
Dima
есть ли аналог Polly в dart - для повторения при ошибках - или самому на потоках проще реализовать?
Александр Ананьев
просто в child делаешь Container с BoxDecoration - Border
МихаИл
Ребят, подскажите какой компонент работает с модулем отпечатков пальцев плиз
Александр Ананьев
подскажите, StreamBuilder при первом рендере всегда возвращает null? если ему не передавать initialData, но стрим имеет в себе значение, вот так стрим объявляю BehaviorSubject isLoading = BehaviorSubject.seeded(true);
Roman Vasiliev
мне кажется снэпшот не успевает создаться со стрима для первого построения StreamBuilder, тоже такое наблюдаю
Александр Ананьев
неудобно. логику в bloc пишешь, а дефолтные значения в ui писать
Вадим
Господа Можно как-то создать future на основании другой future? в первой приходит ответ, я достаю из нее, что надо надо создать две future в которых будет часть данных полученных из первой, чтобы передать их во FutureBuilder
IB Akhrorov
[
"Добрый день Дорогие друзья Учил BloC Pattern с Youtube, и возник вопрос как обновить State в BloC \n",
{
"type": "link",
"text": "https://pastebin.com/w16b1kiG"
},
""
]
Roman Vasiliev
После yield state обновляется
IB Akhrorov
у меня не обновляется
Roman Vasiliev
После любого возврата
IB Akhrorov
обновляется когда делаю hot reload через IDE
Roman Vasiliev
Hot reload влияет только на ui
IB Akhrorov
можете посмотреть код плз 30 строк макс кода
IB Akhrorov
у меня ui не обновляется
IB Akhrorov
когда нажимаю на кнопку
Roman Vasiliev
Не имею знания как ведет себя add, у меня еще через dispatch работает
IB Akhrorov
dispatch убрали же
Rinat Kurmashev
да так и делать
Rinat Kurmashev
вызывать future из future
Rinat Kurmashev
через await
Roman Vasiliev
Значит я не обновлялся давно)
Roman Vasiliev
Попробуй в билдер передать блок как параметр, раз он у тебя все равно описан в переменной
Roman Vasiliev
Может он неправильный выцепил с контекста
Pavel Vasilenko
Попробуйте возвращать не измененный экземпляр стейта, а создавать новый с новым значением
Pavel Vasilenko
И его уже возвращать
Павел
Проверить еще необходимо props которые от Equatable
Павел
по ним идет сравнение
Павел
bloc сравнивает два события, стейта и т.п. Они наследованы от Equatable
IB Akhrorov
is operator не проверяет?
Павел
ну проверил что событие а дальше отправляешь стейт
Павел
а он с точки зрения Equatable == оператора такой же
Павел
и движок проходит мимо
IB Akhrorov
есть такая библетека Equatable или это класс внутри Bloc Library
Павел
внимательно еще почитай их уроки
Павел
там где props заполняются полями
IB Akhrorov
[
"честно говоря я не понял зачем нужен это класс \nдругой код используя enum хорошо работает\n",
{
"type": "link",
"text": "https://pastebin.com/Wxj5ti0f"
},
""
]
Павел
Делай на enum. Подключи дебаг выводы. SimpleDelegate
Павел
и увидишь что нет Transition
IB Akhrorov
когда буду использовать BLoC pattern все классы могут быть Stateless?
Александр Ананьев
[
{
"type": "link",
"text": "https://dartpad.dev/b671203c15d176c6db1b21a35e676faa"
},
"\n\nпочему вывод с обоих конструкторов?"
]
IB Akhrorov
код транслируется в js
Александр Ананьев
>Важное дополнение : Производные классы не наследуют конструкторы от родительских классов как это понимать?
Timur Karimov
это значит что надо явно super вызывать в контрукторе?
Roman Vasiliev
Всегда так было
Александр Ананьев
нашел. он автоматически вызывает суперконструктор, даже без super If you don’t explicitly call a superconstructor, a constructor will call the default, no-arg constructor of its superclass.
Daniil S
так, что конструкторы не наследуются?
Andrey
есть те, кто использует clean architecture? можете подсказать в чём принципиальная разница между usecase и repository?
admin
Можно ли использовать одну базу данных для части приложения, написанного на js и встроенного в flutter в виде webview и для части приложения, написанного на flutter (базовая часть)?
Andrey
если только через rest api
Igor Kusoff
Ка отказ от ООП;)
Dmitriy Orteney
repository - это фасад над получением данных. Он получает данные из источника (http, db) и мапит их в доменные модели. а usecase - бизнес логика. В мобилках они часто выглядят как прокси в репозиторий)
Andrey
Не смотрел курс от Reso Coder? Просто он там использует datasource -> repository -> usecase для получения данных, вот мне показался один шаг излишним
Dmitriy Orteney
ну репозиторий вот объединяет датасорсы
Andrey
ну это понятно, он, по сути, как раз и может отдавать данные, зачем использовать usecase как обёртку над репозиторием?
Daniil S
потмому что репозиторий это интерфейс, а его реализация находится уже в data слое, которая ну никак не должна быть связана с ui слоем
Daniil S
и между use case и ui должен быть презентер раз уж на то пошло
Andrey
т.е. usecase уже используется для связи с интерфейсом?
Daniil S
api->repositoryImpl->repository(dependency invertion)-> usecase-> presenter-> ui
Daniil S
юзкейс должен работать с интерфейсом репозитория
Andrey
а можно поподробнее про presenter, что это, state management (bloc, например)?
Daniil S
это не архитектура, а только подход чтобы связать данные с ui
Daniil S
блок это сильно упрощенный подход в котором непосредственно блок выступает и usecase и презентером
Daniil S
и этот подход плох тем, что usecase можно переиспользовать, а блок - нет. Так как он уже конкретный структурированный стейт отдает
Daniil S
по этому делают 10000 блоков на каждый чих
Daniil S
для маленького проекту подход супер, если больше кода будет овер-много
Andrey
ну вот у него в курсе он использовал usecasы в блоке, соответственно он шёл к UI
Денис
всмысле это же clean?
|