Программирование : Dart & Flutter по-русски
IB Akhrorov
Я создаю будильник приложение, думаю это плохая идея ставить что то похожее на ProgressIndicator
Andrei
ну если данные нужны например, то используй Hive, а не shared preferences, он синхронно отдаст данные
IB Akhrorov
Приложении будильник в playmarket , без замедления показывает )
IB Akhrorov
Значит без futurebuilder?)
IB Akhrorov
Респект то что я искал
Andrei
ну так ты бокс открывай в main
Andrei
до загрузки runApp
Andrei
то есть октрыл box, а потом он синхрнные
Andrei
кстати с shared preferenes ты так тоже можешь
Andrei
подгрузить что надо
new user
Вместо двух Containers использоваться один и все good ????
Тима Егембердиев
Всем привет вопрос, можно ли использовать 2 futurebuilder на одном экране? То есть на экране два виджета которые зависят от разных future.
Тима Егембердиев
Ну то есть технически могу конечно, вопрос скорее правильный ли подобный подход?
Тима Егембердиев
Окей то есть ничего страшного в этом нет?
Andrei
ну если тебе нужно чтобы они одновременно появились запили все в одну future
Тима Егембердиев
Еще один метод внутри которого вызвать те два?
Тима Егембердиев
Ребята, спасибо за ответы, весьма признателен
Andrei
а билдеры завяжи на эту future
Тима Егембердиев
Понял) и еще вопрос такой, подскажите, как грамотно спроектировать сетевой слой в приложении?
Andrei
можно инкапсулировать в api слой
Andrei
то есть у тебя Api.products.get например
Andrei
а что там происходит уже api определяет
Sasha
По мне таки лучше использовать один futureBuilder на несколько асинхронных методов и показывать общую загрузку
Sasha
А блин. Поздно ответил(
Тима Егембердиев
Все равно спасибо)
Тима Егембердиев
А можно поподробнее? Или ссылочку на ресурс
Andrei
ну делаешь например class Api { ApiProducts products - поле}
Andrei
ApiProducts { get() post() и т.д.}
Andrei
ну и отдельно можно какой нить networkingService - где описать общие get, post и т.д.
Andrei
прикручивать авторизации и т.д.
Andrei
а уже в store когда тебе надо получить продукты вызываешь Api.products.get()
Sasha
Ребят, кстати, сервера на дарте кто поднимал? Хочу по пробовать, но до этого есть парочка вопросов на счёт реализации и работы самого сервера(на дарте)
???????
бэк отлично работает
???????
Отвечу на общие вопросы и вкрации, ибо лениво
Andrei
я обычно на nodejs поднимаю если надо быстро поднять, dart вроде однопоточный же
???????
А js не однопоточный?)
Sasha
Можно ли сделать так что бы когда пользователь нажимает на определённые кнопки и происходит запрос к серверу, ставить все запросы на очередь?
Andrei
хз как с highload на дарт
Dmitriy
Всем привет, кто нибудь реализовывал оплаты?
???????
Изоляты кому дали?
Andrei
с 11 или 12 версии многопоточность появилась
???????
Что мешает тебе запустить кучу инстансов?
???????
Ответ один: ограничение только в твоих кривульках
???????
И да, в акведуке распределение нагрузки по изолятам из коробки
???????
Ничем от ноды или еще какой срани отличатся толком не отличается
???????
Если надо байтоебствовать - никто не мешает тебе поднять брокер сообщений, ну или если любитель монолитов - сделать через ffi
Sasha
Как справляется дарт с миллионами строчек в таблице бд? Какие либо использовать лучше всего для этого? А вообще, не лучше ли сделать бэк с уже готовых шаблонов на других языках?
???????
Не дарт управляет бд, а СУРБД, дарт то тут при чем? И миллион это мало.
???????
На чем умеешь на том и делай, то и лучше
???????
Если ничего не умеешь - либо учись, либо бери фаербейс, либо бери го.
Andrei
Если ничего не умеешь - бери го, надо в цитаты добавить)
Booker VG
Вопрос в том, ты собираешься искать информацию в этих строчках или выгрузить их полностью?
Sasha
Смотри, бэк я делаю на пхп, если в пхп написать код к mysql где хранятся млн. Строк то сам пхп будет mysql будет тормозить, а при получении данных на пхп и сформировании шаблона, то запрос может упасть. Я поэтому спрашиваю, если запущу микросервис, а там как я думаю будет за 2 3 месяца миллиард строчек в бд, не будут ли проблемы?
???????
да нет тут такого вопроса. а еслиб и был - выгружать целиком такой объем - аутизм, ну и ограничением тут явно будет железо и только.
Andrei
mysql и миллиард строчек мне кажется это лишнее
???????
еще раз: миллион это сущие копейки, говорю тебе как человек у которого таблицы по 350 гигов весили и поиск по подстроке занимал пикасекунду по этой таблице.
???????
и еще раз: СУБД управляет данными, а не твоя писулька
DK
если боишься за это, вынеси всё говно в эластик или редис
???????
и еще раз: ты явно что то делаешь не правильно, если твоя писуля гдето является ботлнеком
Booker VG
На деле как говорят выше рациональней и проще будет использовать го, он во первых системный, нет излишков ООП, в целом там особо и не нужно есть интерфейсы, много готовых шаблонов и серверов которыми поделились ребята из Яндекс и Майл. И очень удобный парсер в JSON. Вполне рационально написать локальный сервис на нем
???????
покс что использовать если вопрос по работе с СУРБД
???????
Запросы обрабатывает СУРБД, язык тут вообще не причем
???????
вопрос только в руках и удобстве адаптера к конкретной субд
???????
SQL запрос будет везде один и тот же
Sasha
У меня связки сложные по таблицам, так и происходят долгие запросы когда много данных
Booker VG
Хорошо, тогда посмотрим на проблемы с подключениями, какое количество хорошо обработает драйвер, в целом если копаться там вообще тема серьёзная, но в целом при таблице до 100 мил. дело вкуса и цвета
???????
Твои связки не "сложные")
???????
У тебя либо неправильно выбрана структура, либо ты не умеешь нормально в скуль
???????
Если у тебя там что то долго работает - то виноваты только твои руки
???????
Ибо не правильно выбрал структуру, забыл про индексы, поимел блокировки
Sasha
Может и да, я использую готовый cms что бы быстро все сделать, но как все там работает... Не углублялся
Booker VG
Если ты переносишь нагрузку на БД, то стоит думать о том что это за бд и справится ли она, с подсчетами хорошо работает postgresql и запросами из множества таблиц. Её по этому на OSM и используют. Но FOX прав, очень много зависит от того какие запросы и есть много книг где показываются очень плохие примеры и оптимизация работы БД зачастую можно увеличить на 40% от правильной настройки сервера и формирования правильных запросов и естественно правильной структуры
???????
Ну я тебе гарантирую, что все ограничение только в твоих руках)
Booker VG
Это целая профессия)
???????
Моя текущая работа связана на прямую с большим объемом запросов и бизнес данных. То что там у тебя "много" - это однозначно ерунда на пару табличек
???????
Ну и еще раз, для закрепления: не пыха, не дарт не является ботлнеком у тебя
Sasha
Ну, кому как, там как минимум будет 100 - 120 таблиц и пользователей 1 млрд одновременных. Почему не хочу пхп, просто сам пхп не потянет миллион пользователей одновременно, при средних характеристик. И поэтому думаю лучше все таки другой язык использовать
???????
Полная чушь, просто полнейшая
???????
Прям каждая буква чушь
???????
По твоей логике тот же вконтакте просто напросто не должен был работать)
Fearless Cry
ну бля там пару таблиц е жи
???????
Еще на этапе стартапа загнуться с твоими жалкими миллионом (огого, как много) записей)))
Max
Вконтакте и не работает - на PHP. Они, как и фейсбук, написали свой компилятор PHP в нативный код.
Jerry Yang ??
я установила флатеер и он работал, но сейчас опять перестал
???????
Это было сильно после запуска
Jerry Yang ??
в чем может быть причина
Fearless Cry
вывод ошибки есть?
Max
И по очень серьёзным причинам. Писать Highload-сервисы на PHP - действительно плохая идея.
???????
Я хз с чего вдруг для вас тут "муллион строк" это внезапно много
Daniil Kolyasnikov
Можешь заюзать Phalcon Framework если тебе нужно говорить всем, что проект highload
???????
> муллион строк > хайлоад
Jerry Yang ??
[
{
"type": "code",
"text": "zsh: command not found: flutter"
}
]
???????
Поправь .zshrc и path переменную, это все в гугл
Max
Я про Вконтакте, вообще-то)
???????
Ну я про текущую проблему
Jerry Yang ??
блин , прописывала же прошлый раз
Booker VG
FOX клонит к тому что обработкой занимается сервер БД, да и во многой литературе сейчас сказано что горлышком в работе с БД является не правильная работа БД или с БД
Jerry Yang ??
сейчас попробую
???????
Начинать ты можешь с чего угодно, а далее уже добавишь балансировщики, затем добавишь брокер, затем напишешь модули на сишке или расте.
Jerry Yang ??
я уже пыталась заново переписать
Анна
Sofi, добавь в path и в .bashrc
Jerry Yang ??
спасибо всем
???????
Ну и да, у челика проблема в запросах и выбраной архитектуре бд, это к бабке не ходи. И работать будет точно также на любом языке, тк это дело разруливает СУРБД, а не писулька на этом самом языке.
Jason Fox
С какого уровня можно считать себя уже не Junior во flutter, каковы ваши параметры?
Sasha
Я это понял, но все же. Значит я что то не так делал. Проанализирую все это.
Max
Так же, как и в любом другом языке. Когда тебе достаточно сказать, что нужно сделать, и не нужно объяснять, как.
Booker VG
Но если верить бенчмарку, если 1 миллиард пользователь сделает в течении 1 секунды по 1 запросу, мне кажется это похоронит сервер) Там нужна конкретная балансировка
Fedor
Парни из-за чего такое может быть? На диске ещё 50 гигов
Sasha
Вопрос к тебе, а где у тебя 3.5 Гб база, сайт, приложение? Ссылку скинешь?
???????
Да ботлнеки в обычном CRUD: излишние клиент/серверные вызовы запросы в циклах (сразу по жопе ремнем за такое) не правильно выбраная структура бд кривые запросы
???????
350 гигов и не база, а таблица.
Sasha
Вот вот, как с ними работать? Как вообще реализовать балансировку?
???????
на MySQL, между прочим была
???????
в ней был поиск по подстроке, отрабатывал за меньше миллисекунды
???????
там сколько то тысяч миллиардов строк, вроде, было
Jason Fox
Какая архитектура
Andrei
а сколько там ядер было?
???????
ваще не в этом деле
Andrei
и скорость чтения диска
Fedor
86 обычно запускается, а сам проц 64
???????
тут даже железо не будет ботлнеком
???????
просто правильно построенные индексы и запрос с подзапросом
Andrei
просто в миллиарды строк мы упремся в i\o скорость
Jason Fox
В логе написано, что на 86 не может запустить
???????
индексы для чего тебе дали?
Jason Fox
Поставь везде 64
Fedor
Может быть проблема в том что я название приложения основное менял? После смены названия, надо что-то делать?
Andrei
а сколько индекс весил?
Booker VG
Ну HAProxy или NGINX и подключение лучше выводить через уже готовые соединения, я лично пользуюсь PostgreSQL и PGBonucer в Docker (или как пропагандирует red hat kubernetes), + БД выводится в кластер, но скажу так я с такими мощностями не работал.
Evgeny Cherkasov
Вы же не получаете все миллиарды строк, а делаете выборку
Jason Fox
Другой бы лог был
???????
ну гдето от половины до двух третей объема таблицы
Andrei
а прочитать индекс?
Booker VG
[
"Как пример ",
{
"type": "link",
"text": "https://habr.com/en/company/oleg-bunin/blog/461935/"
},
""
]
Jerry Yang ??
все работает
Jerry Yang ??
всем спасибки)))
???????
А если надо всо - то так в принципе не правильно выбрана БД и сам подход
Andrei
ну так как mysql то читает индекс?
Fedor
Понял, а где меняется на 64?))
Andrei
на 350 гигов таблицу индекс будет 1 гиг минимум
???????
А как HashMap читает индекс (hash) ?)
Booker VG
Вроде бы индексы в памяти размещаются, но это сильно - таблица в памяти на 350 Гиг + висящие подключения
???????
Энивэй, мы ушли от темы чата. Иди лучше в чат к ДБА и им заявляй, про то как миллион это много и долго и как язык програмирования тормозит выборку) Пусть тоже рофлы половят.
???????
[
"К постгрес господам, например\n",
{
"type": "link",
"text": "https://t.me/pgsql"
},
""
]
Jason Fox
Также как ты ставил обычный Android SDK, только выбирай x64
Andrei
ну так я беседую же, не заявляю ничего)
Andrei
вопрос как хранится индекс в mysql?
Andrei
на сколько я знаю, он лежит в файле
???????
Ну ты не по теме чята беседуешь, тебе надо выяснять ньюансы и начинать оптимизировать твои выборки А это в чяте твоей сурбд делать надо.
???????
Это оффтоп, сча коту пожалуюсь, он тебя треснет
Andrei
и чтобы по индексу найти, нужно этот файл почитать
???????
И да, ни дарт, ни любой другой ЯП к этому вообще не имеет никакого отношения
Andrei
я просто не понимаю, как гиговый индекс прочитается за пикосекунду
???????
И естественно подойдет для этого
???????
Нагенери dbeaver таблицу, и выборку из нее попробуй сам
admin
Всем привет,я немного из другого комьюнити,но с таким вопросом,существует ли инструмент,что бы на flutter сделать что-то на подобии чат рулетки,только в текстовом виде?
Booker VG
Все выгружается в ОЗУ при старте БД, что не может держится на подкачке или просто повлияет на производительность
???????
Там скорее дело в правильном хранении, а не банальном переборе. Тобишь это тема скорее конкретного механизма и алгоритмов.
???????
Мб там бинарный поиск или тип того.
Jason Fox
Текстовый вид. это обычный чат что-ли?
Fedor
У меня просто эмуляторы не поддерживают х64, если устанавливаю, сразу вылетает, только на х86 ((
Gennady Knyazkin
Ну так тут и речь, что вряд-ли оперативы столько, что весь индекс таблицы на 350гб в оперативу выгрузился. В остальном в ио упираемся
Jason Fox
Попробуй новый создать
admin
Да,просто я делаю на swift и не знаю как там реаизовать вместе с firebase
Fedor
Окей, спасибо попробую
???????
Чтоб найти число 100500 в упорядоченных записях от 1 до муллиарда сколько действий нужно?
Jason Fox
Flutter firebase на ура поддерживает
Jason Fox
В инете есть сэмплы готовых чатов
Gennady Knyazkin
Причем тут алгоритмы поиска по структурам данных и ввод вывод фс?
???????
Я тебе вопрос задал.
???????
Перебрать 100500 строк, да?)
|