Программирование : Dart & Flutter по-русски
Александр
вуаля! 7 +50 This is not an error, it's just an Android log message notifying you about when garbage collection takes place. Everything's normal.
Artyom Nesterenko
Отлично, выяснили!
Олжас Сулеймен
Теперь почему оно в логах?
Compote
теперь ты полностью самодостаточен и можешь заменить пол компании
Александр
ну че ты утрируешь. я лишь гоню на эникейщиков с фрилансру которые ставят ценники 150 хотя реально можно сделать за 15
Compote
можно и бесплатно сделать или сделать и сверху еще 15 доплатить)
Александр
вот почему setState(() { currentUser = user; }); вытащил из сет стейта и все прошло
?????????????
магия ??????
Олжас Сулеймен
а не волнует почему оно спамится в логах?
Александр
так прощло же, больше не спамится
Alexey Z
Запустил app с flare/rive на 6 летнем lenovo, все гладко идет, немного префигел ))
Олжас Сулеймен
я про количество, или по логике так
Александр
да там у меня стримпровайдер проверяет авторизацию а я зачем то результат в сетстейт обернул и вот он постоянно обновлял стейт. я думаю как то так хотя хер его. но щас не спамит
Pavel
Коллеги, такой базовый вопрос. Есть обьект класса B extends A и есть обьект базового класса A. Как установить базовую часть первого обьекта равную второму обьекту без поименного копирования всех полей?
Igor
никак, парент к чаилду не приведется
Pavel
Эт понятно. Есть ли какой-нибудь изящный способ?
Igor
да, создавать инстанс класса Б сразу
Александр Ананьев
что значит знак доллара в имени переменной? в начале или конце
Van Pav
в конце типа конвенция для обозначения стримов. в начале мб jquery, я не в курсе
Van Pav
или как вариант :-)
Александр Ананьев
т.е. особой переменная от этого не становится?
Денис
Народ где лучше всего хранить кеш данных? Тут я слышал предпочитают hive)
Gevork Arzumanyan
ребят кто нибудь занимался с google maps изменением размера или изменением паддинга при скроле че она так тупит ? просто боль какая то
Gevork Arzumanyan
на андройде (натив) ресайзить тоже не получается но отступ так не тупит
Gevork Arzumanyan
просто вешает весь ui (
Денис
Если я не ошибаюсь, когда то давно на нативе мы решили ее не ресайзить, а виджеты поверх накладывать и смещать локацию на карте относительно смещения виджетов(когда снизу выползал виджет местоположение пользователя уползало вверх а сама карта размер не меняла) но это было очень давно)
Gevork Arzumanyan
да я тоже так делал это просто боль ( потому что надо еще смещать логотип гугл и конпку положения но судя во всему погибну молодым в костылях
???????
Да, удобен. Но кодогенерация у него стремная.
???????
Еще шаред префс научились в веб.
???????
Указывает что это автоматически генерированный метод
???????
Не обладает какойт особой силой, просто так приняли
Александр Ананьев
спасибо
northelks
добрый день, а знает кто как в фаербейзе достать сразу все документы, если известны их айдишки? я к тому, если ли какой "умный" метод, кроме как дёргать document(id).get() каждый раз на все айдишки пытался найти, но как-то не нашёл
???????
Вроде в SO так и советывали. Или даже в офф доке
Денис
Меня больше волнует что нельзя дергать из query только айдишники)
northelks
вот меня даже не так сильно всё остальное расстраивает в этом чудо фаербейзе, нежели эта мелочь с айдишками
northelks
это медленно происходит, ооооочень
???????
Ну тама кэширование наверн. С этим связано.
northelks
20 айдишников дёргать это алесь
northelks
и через where никак не замутить
???????
У меня этот кейс будет сча стоять, скажу как решил.
northelks
он не хочешь даже через >= и <= изворачиваться
northelks
я с этим страдал ещё год назад))
northelks
и походу ничего не порешали
northelks
два проекта уже перевёл из фаербеза в обычную бд)
???????
Ну буду посмотреть, если засяду за кодинг на выходных, столкнусь какраз
northelks
вот походу и третий будет, после mvp
northelks
оке, если что найдёшь дельное, пиши)
???????
Ага, да и проектик на гитхабе в паблик репозитории. Покажу как решил (пока в наброске именно дергание по документу)
Денис
[
"Кстати только что сгенерил идею но не могу проверить сейчас\n",
{
"type": "pre",
"text": "Firestore.instance.collection('books').where(FieldPath.documentId,whereIn:['fK3ddutEpD2qQqRMXNW5','fK3ddutEpD2qQqAsdasd']).get();",
"language": ""
},
"\nНе более десяти штук в одном запросе"
]
Денис
есть возможность проверить?
northelks
да, сейчас гляну
northelks
но я вроде как это уже пробовал раньше
Денис
поискал пишут что в js работает
Денис
просто я когда последний раз хотел такое еще небыло arraycontains и whereIn
northelks
да, раньше не было whereIn
northelks
arrayContains был, но не было arrayContainsAny
northelks
ништяк) получается зря воду мутил и жаловался
northelks
[
{
"type": "mention_name",
"text": "Денис",
"user_id": 487484180
},
" спасибо за наводку)"
]
Денис
не зря мутил) потому что благодаря тебе я решил свой старый таск(который еще висит не решенным)
Денис
маякую чтоб не пропустил) мы частично нашли решение
Денис
при 11 не сработает
northelks
а где пишут о лимите в 10 штук?
Денис
Use the in operator to combine up to 10 equality (==) clauses on the same field with a logical OR. An in query returns documents where the given field matches any of the comparison values. For example:
Денис
будет в 10 раз быстрей(плюс-минус)
northelks
ну это уже намного лучше, чем по одному таскать)
Dan
[
"а такой вариант почему не подходит?\n",
{
"type": "pre",
"text": "var ref = _db.collection('books').snapshots().map(\n (qs) => qs.documents.where((doc) => docIds.contains(doc.documentID)).toList());",
"language": ""
},
""
]
Денис
ты грузишь все книги и потом сортируешь на устройстве
Денис
представь у тебя более 1000 книг
Денис
дергаешь 1000 и ищешь 11
Денис
вместо того чтобы сервер выслал тебе 10 и 1
???????
Ну альтернатива - поднимать свой сервер для такого, но фаербейс для того и нужен, чтоб избегать такого)
Денис
Я смотрел альтернативы, это очень странно поднимать сервер прослойку для firestore. Сама идея такого построения работы меня не радует)
???????
Ну жа, собственно бэк я и сам могу, но спецом проект полностью опенсурсный и с зависимостями ток от фаербейса.
Денис
А у меня наоборот я не умею в бек) И меня радует возможность поднятия коммерческих проектов(и моих и на заказ) не заморачиваясь с беком - серверами и прочими мелочами
???????
Ну да, хорошая штука. Особенно авторизация и пуш сервис.
???????
Как веб хостинг тоже ничего
???????
Там, кстати, CDN встроенного никакого нет?
???????
И жаль нельзя указывать время кэширования ресурсов, я, по крайней мере, не нашел.
Денис
Разве изначально это не CDN?
northelks
там весь гугл клауд в распоряжении)
Денис
Firebase Hosting is production-grade web content hosting for developers. With a single command, you can quickly deploy web apps and serve both static and dynamic content to a global CDN (content delivery network).
???????
А то що ты при старте указываешь расположение сервера?
???????
Европа, сша, вот это все
???????
и 2 сверху особняком, помеченные как "глобальные"
Денис
это центральный нет?
northelks
да, ты можешь указать, где твой фаербейз будет лежать
Денис
но доступ к данным будет через ближайший к тебе
???????
Ну так какая разница, где оно будет лежатб, если смысл CDN доставлять всем очень быстро
Денис
насколько мне известно
???????
А смысл выбирать тогда?)
Денис
иди в Podcast спроси)
northelks
вам гугл клауд сначала почитать нужно)
???????
Ну мне не принципиально, я не поднимаю какуют йобу)
???????
Просто праздного интереса ради
northelks
не будет) если сам этого не сделаешь
northelks
если говорить про бд
???????
В этом же и смысл CDN
???????
Шоб картинки побыстрее грузились)
northelks
да что ты заладил с этим CDN :)
Денис
Вопрос по Hive нужно ли постоянно закрывать box? или можно спокойно юзать и не париться?
???????
Ну ок-ок, не гневайся)
northelks
хостинг через cdn отдаёт
northelks
там да, неважно где ты находишься, но бд это другое
???????
Смысл hive'овского Box в том, что он все это держит в оперативе
northelks
меньше слов, больше чтения док))
???????
[
"Образно говоря как ",
{
"type": "code",
"text": "Map "
},
""
]
???????
И все шо ты в него ложишб - просто дублируется на диск
???????
время от времени на нем ток стоит специальный метод вызывать (я его у себя, наверное, при инициализации приложения размещу), шоб бд слишком не расползалась.
???????
[
{
"type": "mention_name",
"text": "Денис",
"user_id": 487484180
},
" ",
{
"type": "link",
"text": "https://docs.hivedb.dev/#/advanced/compaction"
},
""
]
Денис
А я вручную контроллирую чтобы говна не накидать туда) но спасибо
???????
Ты не пони зачем это?
???????
Ты дописываешь дельту всегда в конец
???????
Вот этот метод все перебирает и приводит к актуальным данным.
Денис
я делаю box.clear() этого не достаточно?
Денис
у меня не большие объемы данных ( например список доступных городов в приложении) не вытащил из инета возьми из hive
???????
Ну на самом деле правильнее звучит как: Сначало возьми из hive, а затем из интернета
???????
Ну по крайней мере по моему разумению
???????
Ну тобишь чтоб пользователь даже не ощущал, что какойт запрос там выполняется
Денис
Компакт для удаления всех данных?
Игорь Кравченко
clear для удаления,для сжатия файла там надо compact дергать)
Игорь Кравченко
переответил)
Денис
Так я и удаляю и заливаю новые)
???????
Чот супер странное творишь)
Игорь Кравченко
ну если не все надо чистить - то выбор небольшой)
Денис
У меня возвращаются от сервера только доступные города, которые я могу отключать, я чищу список доступных городов, и заливаю новый список городов
Evgenii Elchev
Flutter не умеет из коробки кэшировать сетевые запросы?
KoLK@ BNS
[
"кому интересно, - ",
{
"type": "link",
"text": "http://www.flutterconf.by/"
},
""
]
???????
[
{
"type": "link",
"text": "https://t.me/FlutterRussia"
}
]
Igor
[
"Привет! Подскажите плагин для youytube, самый нормальный.\nЭтот постоянно как будто делает хотрелоад\n",
{
"type": "link",
"text": "https://github.com/sarbagyastha/youtube_player"
},
""
]
Dan
[
"всем привет, кто сталкивался с такой проблемой на айфонах?\n",
{
"type": "link",
"text": "https://stackoverflow.com/questions/60045282/after-updating-ios-all-applications-using-the-framework-stopped-running-on-the"
},
""
]
Dan
типа apple запретила разработчикам на фри аккаунтах юзать фреймворки
Dan
начиная с версии ios 13.3.1
Тимур
Парни, тупой вопрос. Сильно не пинайте, но не получается. Есть картинка в типе Image, получаю с помощью image_picker, хочу передать ее на сервер, для этого надо Image конвертнуть в тип File и через POST-запрос отдать. Вопрос: как сконвертировать Image в File? Перевожу Image в Uint8List, а дальше что?
Aleksey
[
"base64Encode",
{
"type": "italic",
"text": "("
},
"file.readAsBytesSync",
{
"type": "italic",
"text": "())"
},
" и в запрос на сервер"
]
???????
Только Sync, естественно, заменить)
???????
Но опять же, смотря как передавать
???????
и смотря какое api сервера
???????
такто ты и байты можешь телом установить, не только строку в base64
???????
Также возможно он у тебя принимает form-data тело
Aleksey
ну у мен такой сервер просто
???????
Ну вот от API бэка зависит, как он будет тело разбирать
Тимур
тааакс.. хороший вопрос, я до сюда еще не докопал. Сейчас вот собираюсь. На серваке у меня крутится Aqueduct, там я принимаю картинку вот таким методом:
???????
Тотже телеграм с файлом более чем на 10 метров - пошлет тебя, если соберешься одним запросом
Тимур
через postman у меня картинка отдается и принимается на серваке:
???????
Ну вот, multipart form-data тебе надо
???????
То что сказали выше - не подойдет
???????
Это самый сложный (сравнительно конечно же) и самый крутецкий способ кодирования тела http запроса.
Тимур
пфф.. беда, куда копать?
???????
[
{
"type": "link",
"text": "https://pub.dev/documentation/http/latest/http/MultipartRequest-class.html"
}
]
Тимур
ну таки да, т.е. тут на вход подается именно File, соответственно мне его надо получить из Image, верно?
???????
Что значит "File"?)
???????
[
"На вход подается ",
{
"type": "link",
"text": "https://pub.dev/documentation/http/latest/http/MultipartFile-class.html"
},
""
]
Тимур
Тип файл, в смысле File image = магия(imageFromPicker)
???????
Смотри конструкторы
???????
Смотри конструкторы говорю
Тимур
Принято! )) Пошел смотреть. Спасибо
???????
Если у тебя уже есть Uint8List то MultipartFile.fromBytes
Yurii
[
"так он без магии и достает File\n",
{
"type": "link",
"text": "https://pub.dev/packages/image_picker"
},
""
]
Тимур
не, я под веб экспериментирую, там web_image_picker отдает либо в Image, либо в Uint8List
???????
[
{
"type": "link",
"text": "https://t.me/rudart/161703"
}
]
Тимур
Завелось! Спасибо большое за помощь!
Тимур
Может кому пригодится:
Тимур
Раз пошла такая пьянка. В качестве авторизации у меня используется firebase_auth. В приложении (сайте Flutter web) должна быть возможность создавать учетные записи. У кого-нить есть опыт подключения firebase admin SDK к Flutter?
Тимур
Можете пояснить? В каком смысле cloud?
A1ex Petrov (К)
[
"Как в ",
{
"type": "link",
"text": "Text.rich"
},
"() в одном из TextSpan запретить перенос?"
]
Тимур
смотрел, там node.js для admin sdk, хочу на чистом dart
Тимур
ага, тоже на эту фигню смотрю, хочу попробовать
Temurxon
всем добрый вечер
Temurxon
а как сделать процент загрузки именно по chunks или как еще можно реализовать
Тимур
вроде dio такое поддерживает из коробки, но еще не крутил
Temurxon
я видел пример с Stream
Temurxon
глубоко тут я не копал
|