Программирование : Dart & Flutter по-русски
Vyacheslav
продолжну своё нытьё
Vyacheslav
[
{
"type": "link",
"text": "https://github.com/dart-lang/sdk/issues/31547"
}
]
Vyacheslav
вот это до сих пор не пофиксили. Нужно всегда конвертить
Оганнес Асатрян
там ж вроде 4к штук))
Vyacheslav
а ты про issues
Vyacheslav
я как чукча – что вижу, то пою. Сложности бывают редкие или частые. А тут что-то на каждом шагу печаль
Оганнес Асатрян
я вот не знаю чем ты там занимаешься что у тебя возникла эта трабла
Vyacheslav
хочу file перегнать в Uint8List
Оганнес Асатрян
чтоб что?
Vyacheslav
чтобы потом Image.memory()
Vyacheslav
и в sqlite параллельно
Оганнес Асатрян
извращуга))
Vyacheslav
ну а как мне данные хранить системно, чтобы оно нормально мапилось при загрузке
Vyacheslav
если файлики в папочку – очень неудобно. Надо куда-то лезть, что-то читать, писать, омгешка полная
Анатолий
Картинки в бд, фи
invariance
хорошо что вы работаете не со мной (с)
Vyacheslav
лол. Нашёл баг у дебаггера флаттера лол. Падает:)
Оганнес Асатрян
страшный ты человек))
Оганнес Асатрян
ну рассказывай, че за баг
Vyacheslav
[
"var image = await ImagePicker.pickImage(source: ",
{
"type": "link",
"text": "ImageSource.gallery"
},
"); фигачишь для выбора картинки"
]
Vyacheslav
потом нажимаешь на cancel
Vyacheslav
и всё, дебаггеру гг
Vyacheslav
это на симуляторе айфона
Оганнес Асатрян
какая у тебя иде?
Vyacheslav
там адский колстек
Vyacheslav
Unhandled exception: NoSuchMethodError: The getter 'className' was called on null. Receiver: null и дальше дичь на 50 вложенных методов
Влад
Здраствуите, подскажите пожалуста: можно ли сделать floatingActionButton продолговатой ?
DVS (Read The F.ng Manual) Studio (NoHello)
типа так?
DVS (Read The F.ng Manual) Studio (NoHello)
не суть. стоково - вроде нет, но можно переписать FAB
DVS (Read The F.ng Manual) Studio (NoHello)
да. надо constrain задать правитьный
DVS (Read The F.ng Manual) Studio (NoHello)
вот этот
DVS (Read The F.ng Manual) Studio (NoHello)
он приватный. придется дописывать своё
Ernest Stanbekov
[
"на ",
{
"type": "link",
"text": "udemy.com"
},
" есть хорошие курсы. но стоят по 200 баксов и на английском. я на черной пятнице урвал пару курсов по 10. годные."
]
invariance
а куда выводится debugPrint на андрюше? В logcat?
Niki
Всем привет, может знает кто библиотеки httpserver на дарте? В гугле нашел express, но кажется он в зачаточном состоянии с 2014 года и не совместим с dart2
.
Тебе под беккенд нужно?
.
[
"Вот к примеру есть ",
{
"type": "link",
"text": "https://aqueduct.io"
},
""
]
Artem Halas
[
{
"type": "link",
"text": "https://aqueduct.io/"
},
"\n",
{
"type": "link",
"text": "https://grpc.io/"
},
"\n\nНу еще тут смотри \n",
{
"type": "link",
"text": "https://github.com/yissachar/awesome-dart#server-frameworks"
},
""
]
Evgeny Kot
??Всем привет! Нас стало очень много, что не может не радовать. Но для сохранения продуктивности и полезности, нам нужны правила и FAQ. Поэтому собственно вот они:
Evgeny Kot
[
"?",
{
"type": "text_link",
"text": "?",
"href": "https://github.com/rudart/community/blob/master/chat_rules.md"
},
{
"type": "text_link",
"text": "Правила сообщества",
"href": "https://github.com/rudart/community/blob/master/chat_rules.md"
},
"\n?",
{
"type": "text_link",
"text": "?",
"href": "https://github.com/rudart/community/blob/master/jobs.md"
},
{
"type": "text_link",
"text": "Вакансии ",
"href": "https://github.com/rudart/community/blob/master/jobs.md"
},
"- ",
{
"type": "mention",
"text": "@dartlang_jobs"
},
"\n?",
{
"type": "text_link",
"text": "?",
"href": "https://github.com/rudart/community/blob/master/faq.md"
},
{
"type": "text_link",
"text": "FAQ",
"href": "https://github.com/rudart/community/blob/master/faq.md"
},
"\n??Полезные ссылки: ",
{
"type": "text_link",
"text": "русскоязычное",
"href": "https://github.com/newbalancem5/flutter_info"
},
", ",
{
"type": "text_link",
"text": "awesome-dart",
"href": "https://github.com/yissachar/awesome-dart"
},
", ",
{
"type": "text_link",
"text": "awesome-flutter",
"href": "https://github.com/Solido/awesome-flutter"
},
", ",
{
"type": "text_link",
"text": "видео",
"href": "https://youtube.com/c/LearnDartFlutter"
},
""
]
Evgeny Kot
[
"Всячески приветствуются пулл реквесты особенно в FAQ для новичков и русскоязычные ресурсы (",
{
"type": "link",
"text": "https://github.com/rudart/community/blob/master/ru_resources.md"
},
")"
]
Roman Peshkov
коричневая карточка прям огонь
вафель ????
[
"Имхо, ссылки лучше текстом (",
{
"type": "code",
"text": "^K"
},
" в десктопной версии)"
]
admin
краткие правила лучше продублировать в закрепе и в описании, иначе их никто из новоприбывших читать не будет
Evgeny Kot
Ссылки текстом - это как? Телеграмм их сам в линки превращат
вафель ????
[
"??",
{
"type": "text_link",
"text": "Правила сообщества",
"href": "https://github.com/rudart/community/blob/master/chat_rules.md"
},
" \n\n??",
{
"type": "text_link",
"text": "FAQ",
"href": "https://github.com/rudart/community/blob/master/faq.md"
},
""
]
Evgeny Kot
[
{
"type": "text_link",
"text": "Правила сообщества",
"href": "https://github.com/rudart/community/blob/master/chat_rules.md"
},
" и ",
{
"type": "text_link",
"text": "FAQ",
"href": "https://github.com/rudart/community/blob/master/faq.md"
},
" для новичков. Вакансии ",
{
"type": "text_link",
"text": "тут",
"href": "https://t.me/dartlang_jobs"
},
""
]
Evgeny Kot
Всё, вроде разобрался, спасибо ??
Андрей Шевчук
курсы с юдеми живут на рутрекере
Андрей Шевчук
качай - не хочу
Дмитрий Скрыльников
Потратить плохо.
Андрей Шевчук
у кого есть 200баксов - пожалуйста покупайте, у кого нет - рутрекер
First Last
Хочу карточку ??
Evgeny Kot
У меня только баны тут лежат ???>?
A?exander Syrotenko
Ну инвертируй в ифе
A?exander Syrotenko
Сохрани результат операции откусывания младшего бита перед тернарником, а потом если он тру, то инвертируй биты
Artem Halas
[
"У меня вопрос, кто-то создавла недавно Angular проект с stagehand ? \n\nЯ не могу запустить ",
{
"type": "code",
"text": "webdev serve\n"
},
"Ошибка:\n\n",
{
"type": "pre",
"text": "webdev could not run for this project.\nThe `build_web_compilers` version – 1.0.0 – is not within the allowed constraint – >=0.3.6 <0.5.0.\n\n",
"language": ""
},
"Версия дарта\n",
{
"type": "pre",
"text": "Dart VM version: 2.1.0 (Tue Nov 13 18:22:02 2018 +0100) on \"macos_x64\"\n\n",
"language": ""
},
"Мой pubspec\n\n",
{
"type": "pre",
"text": "environment:\n sdk: '>=2.1.0 <3.0.0'\n\ndependencies:\n angular: ^5.2.0\n angular_components: ^0.11.0\n angular_forms: ^2.0.0\n firebase: ^5.0.0\ndev_dependencies:\n angular_test: ^2.2.0\n build_runner: ^1.1.2\n build_test: ^0.10.3\n build_web_compilers: ^1.0.0\n test: ^1.5.1\n\n",
"language": ""
},
"Если изменить версию ангуляра и ",
{
"type": "code",
"text": "build_web_compilers"
},
" на предыдушие то поедет, но хотелось бы понять в чем дело."
]
A?exander Syrotenko
Прости, но для начала вопрос
A?exander Syrotenko
Ты понимаешь, что происходит в коде?
Evgeny Kot
[
"??Ещё немного обновлений: для удобства и моральной чистоты теперь постить вакансии в канале запрещено. Специально для этого создал отдельный канал, куда постараюсь закидывать все горящие вакансии и поиск разработчиков ",
{
"type": "link",
"text": "https://t.me/dartlang_jobs"
},
""
]
Vyacheslav Egorov
[
"конвертить не нужно, нужно просто кастовать ",
{
"type": "code",
"text": "final list = file.reasAsBytesSync() as Uint8List;"
},
""
]
Alexander Gusakov
Redux BLOC pattern or scoped models?
Constantine Fedoruk
Какой смысл делать чат без возможности самому запостить вакансию. Зачем мне писать тебе, чтоб ты потом сам переписал то что я хочу предложить? Мне проще спросить у чата, так и так, кому интерестно пишите в лс?
Constantine Fedoruk
Ребята, вопрос, какая практика деплоя приложений в апстор. Если я правильно понял, за то что мои приложения размещены в апсторе, я плачу 100$ в год. Если я перестал платить, то их снимут. Так ли это? Если да, то как принято поступать, оформлять акк разработчика на клиента, чтоб он не зависил от тебя, на случай, если твоя контора закрылась и вы перестали оплачивать аккаунт?
Anton Anokhin
таковы правила чата. ты их либо принимаешь, либо нет
Vyacheslav
Вообще это логическая ошибка
Vyacheslav
Ты принудительно кастуешь из общего типа в наследник
Vyacheslav
И по реализации это неверно. Как можно int просто так в uint8 кастовать
Constantine Fedoruk
После таких правил спустя месяцок внедряются платные публикации)) Пригласил в чат, надо было сразу писать, я там вам еще правил существования заготовил, если подходит присоединяйтесь. Хочешь внедрять правила, спрашивай у сообщества. Я не подписывался на тебя лично, мне интересны ребята с кем можно обсудить фреймворк.
Constantine Fedoruk
Создай флудилку без правил.
Vyacheslav
Да Господи. Создай свой чат
First Last
Чтобы никто не общался Так легче модерировать etc
First Last
Я не вижу смысла обсуждать это сейчас
Vyacheslav Egorov
[
"я не совсем понял какая это ошибка. так уж исторически сложилось что ",
{
"type": "code",
"text": "readAsBytes"
},
" всегда возвращает ",
{
"type": "code",
"text": "Uint8List"
},
", а статический тип ",
{
"type": "code",
"text": "List "
},
", если динамический тип известен, то можно просто взять и скастовать..."
]
Vyacheslav
[
{
"type": "link",
"text": "https://developer.apple.com/support/renewal/"
},
" это гуглить очень просто"
]
Constantine Fedoruk
То есть тебе подходит не иметь возможность спросить, а не хочет ли кто-то тебе помочь на платной основе? А я вижу, не хочу вкладывать время в чат, в котором нельзя писать насущные вещи. Вот мне интересны предложения по проектам, у меня есть парочка.
Constantine Fedoruk
Спасибо, я спрашивал из практики, кто как поступает. Но спасибо за ссылку
Constantine Fedoruk
Как принято урегулировать с заказчиками?
Constantine Fedoruk
Как ты это делаешь например?
Vyacheslav
Приложение можно передать любое другому аккаунту по твоему желанию
Vyacheslav
Там есть форма
Vyacheslav
Где тут статический тип и динамический?
Vyacheslav
Они оба статические
Constantine Fedoruk
То есть при закрытии, предпологается позвонить клиенту и предложить создать свой акк? Такие вещи в договоре хорошо бы прописывать. Ты берешь абон плату с клиентов под этим предлогом?
Vyacheslav
Это неверно просто так брать и кастовать int в uint8 . Что ни говори.
Constantine Fedoruk
Типа как за хостинг получается
Vyacheslav
Пусть заказчик сделает свой аккаунт
Vyacheslav
И в забудешь об этой проблеме
Constantine Fedoruk
Учитывая что ты уклоняешься от ответа про обон плате, делаю вывод, что по обстоятельствам)
Vyacheslav
Я не занимаюсь такой мелочью
Constantine Fedoruk
Просто если каждого заказчика подписывать на 100$ только потому что не хочешь на себя брать ответственность, не очень правильно.
Constantine Fedoruk
Ок, спасибо за ответ)
Constantine Fedoruk
Если кто-томожет поделиться другой практикой, буду благодарен.
Vyacheslav Egorov
[
"статический тип возвращаемого значения ",
{
"type": "code",
"text": "List "
},
", динамический ",
{
"type": "code",
"text": "Uint8List"
},
" - представьте что ",
{
"type": "code",
"text": "readAsBytesSync"
},
" делает что-то вроде ",
{
"type": "code",
"text": "List readAsBytesSync() => new Uint8List(1024);"
},
" - написано что возвращает ",
{
"type": "code",
"text": "List"
},
", а на самом деле он возвращает всегда ",
{
"type": "code",
"text": "Uint8List"
},
", а отнюдь не обычный ",
{
"type": "code",
"text": "List"
},
"."
]
Evgeny Kot
[
"Идея была в том, чтобы сделать максимально информативный источник информации.\nВозможностей было две: создавать readonly чат, чтобы там были ",
{
"type": "italic",
"text": "только"
},
" вакансии, и не было флуда, или сделать отдельный чат и вычищать сообщения, не относящиеся к теме. Выглядит так, что второе не очень работает, ведь спать тоже надо.\nМодерировать я не собираюсь, хочется просто сделать максимально релевантную штуку"
]
.
А если исполнитель умрёт? Как заказчику сделать потом апдейт?)) У тебя должен быть свой акк э, у заказчика свой. По окончанию разработке делегируються права доступа к приложению
Vyacheslav Egorov
[
"в Дарте нет uint8 - вы мыслите кажется в терминах C++ или Java, где есть разные примитивные типы типа ",
{
"type": "code",
"text": "uint8_t"
},
" / ",
{
"type": "code",
"text": "byte"
},
" и ",
{
"type": "code",
"text": "int"
},
", и где конечно же просто так кастовать ",
{
"type": "code",
"text": "int*"
},
" / ",
{
"type": "code",
"text": "int[]"
},
" в ",
{
"type": "code",
"text": "uint8_t*"
},
" или ",
{
"type": "code",
"text": "byte[]"
},
" нельзя (особенно в Java, С++ можно конечно же кастовать, но там просто сырой доступ к памяти со всеми вытекающими последствиями...)"
]
Igor Filippov
Как используя Блок паттерн можно передавать данные в аппбар? Просто заворачивать скафолд в стрим билдер мне кажется как-то избыточно.
Vyacheslav
Это реализация. Ты о ней не знаешь в идеале.
Vyacheslav
Uint8list тоже статический тип
Vyacheslav Egorov
ну в идеале да, но в мире нет ничего идеального
Vyacheslav
Я про теорию программирования. В любом языке это неправильно
Vyacheslav
Я в своем ентенпрайзе запрещаю подобное по очевидным вещами
Vyacheslav Egorov
"статический тип" означает "тип выражения во время компиляции", "динамический тип" означает "тип выражения во время исполнения"
Vyacheslav
Если несколько кодеров на проекте, то так делать нельзя. Тут вариантов нет.
Vyacheslav Egorov
каких коллеров?
Vyacheslav
Всё что ты написал выше, должно фигачаться на этапе компиляции
Yury Kornienko
Более чем уверен, что подобный вопрос уже поднимался, но всё же, никто не занимался русской документацией по Дарту ?
Vyacheslav
Кодеров. То есть, программистов. Я опечатался
Constantine Fedoruk
Спасибо, за аргументированный ответ) У меня маленька контора, я в будущем планирую развиваться в направлении, и мне было бы важно получить обратную связь по своим вакансиям. Плюс время от времени получать предложения тоже интерестно. Если ты видишь в этом проблему, сделай отдельную флудилку, чтоб без цензуры.
Constantine Fedoruk
И то верно) Спасибо!
Vyacheslav Egorov
[
"я не понимаю, что должно фигачится? что ",
{
"type": "code",
"text": "readAsBytesSynс"
},
" должно быть объявлено как возвращающее ",
{
"type": "code",
"text": "Uint8List"
},
"?"
]
Evgeny Kot
Ну обсудить вакансии можно тут, почему нет. Просто сама вакансия тут потеряется, а там скорее всего её увидит большее количество человек
Vyacheslav
Давай по порядку.
Vyacheslav
Ты, во-первых, на основании чего утверждаешь, что там динамический тип
.
Там ещё в качестве разработчика будет фигурировать Вася Пупкин, а компании обычно регистрируют на свой бренд,.. Т. Е. Они сами будут заинтересованы в наличии своего аккаунт. Например как у гугля в разработчиках стоит Google
Vyacheslav Egorov
[
"мне не понятно почему выбор между ",
{
"type": "code",
"text": "readAsBytesSync() as Uint8List"
},
" и скажем ",
{
"type": "code",
"text": "Uint8List.fromList(readAsBytesSync())"
},
" зависит от количества программистов на проекте. я понимаю прекрасно, что затачиваться детали реализации не очень хорошо, но эта заточка очень минимальная."
]
Constantine Fedoruk
Спасибо) Так лучше!
Vyacheslav
Первое - это фриланс-колхоз
Vyacheslav Egorov
[
"если уж очень хочется быть осторожным то можно написать ",
{
"type": "code",
"text": "Uint8List toUint8List(List list) => list is Uint8List ? list : Uint8List.from(list)"
},
""
]
Vyacheslav Egorov
и использовать его - и овцы целы, и волки сыты
Vyacheslav
Во вторых, это статическая типизация.
Vyacheslav Egorov
[
"я уже говорил вверху - я не отрицаю того, что ",
{
"type": "code",
"text": "readAsBytesSync"
},
" должен иметь статический тип возвращаемого значения ",
{
"type": "code",
"text": "Uint8List"
},
". я просто хотел вам предложить способ избежать копирования"
]
Vyacheslav
Вот этот метод мне понравился.
Yury Kornienko
Интересно. Я вот решил почитывать доки время от времени, форкнул сайт dartlang и понемногу начал переводить его.
Yury Kornienko
[
"Посмотрим что из этого выйдет\n",
{
"type": "link",
"text": "https://github.com/geooooo/site-www/tree/ru"
},
"\nвозможно нужна будет помощь, т.к. мой английский не очень силён"
]
Yury Kornienko
я по сути только начал, но интерес к делу есть
Vyacheslav
Зачем переводить
Yury Kornienko
Думаю, удобно будет для тех, кто не силён в английском как я, привлечёт больше народа
Vyacheslav
Без английского в программировании никуда. А доки современных языков слишком часто меняются
Vyacheslav
Тогда не стоит программировать
Vyacheslav
Если человек не может освоить инъяз , то его код в ряд ли будет хорошим
Vyacheslav
Лучше код писать
Yury Kornienko
Знание языка != абстрактное и математическое мышление
roman G ??
В чем это будет проявляться?
First Last
Тебя в чатике учат как правильно делать рантайм?)
Igor
Вообще никакой связи (разве что ты про комменты русском ?? (но мы все знаем что коменты ненужны))
Vyacheslav
Ну у меня другой жизненный опыт
Igor
Зец файн) Ви а алл диферент)
Evgeny Kot
Пахнет холиваром ?? Учить язык или нет - дело каждого, а не этого чата
Vyacheslav
А это очень плохо?:)
Виталий
парни всем привет, слушайте а как дела на сервер сайд стороне дарт? загибается это направление?
Alexey Zolotyh
[
"Мне вот эта штука понравилась\n",
{
"type": "link",
"text": "https://aqueduct.io/"
},
""
]
Олжас Сулеймен
mongo, pg, redis, jwt и остальное в пабе есть
Виталий
dart/rpc судя по переписке комьюнити стопорнули
Виталий
хотя выглядело очень многообещающим проектом
Artem Halas
Есть новый grpc
Виталий
а он в той же концепции что и rpc?
Artem Halas
[
"Я не особо понимаю rpc но вроде все тоже самое \n",
{
"type": "link",
"text": "https://grpc.io/"
},
""
]
Alexander Gusakov
Какой state management вы используете?
Igor Filippov
у себя в приложении юзаю блок
Igor Filippov
С точки зрения пользования похож на ангуляровский DI , потому прост и понятен. Так и остановил свой выбор
invariance
не особо, grpc юзает промежуточный сервер (шину) сообщений
invariance
а dart/rpc нет
invariance
это просто прослойка для создания rpc api
invariance
grpc более комплексный инструмент
invariance
как через флаттер чекнуть существует ли директория?
Danil Axtarov
в какой области?
invariance
я так понимаю конструкция .then(...) в дарте - это типо сокращения для if?
Danil Axtarov
типа промиса
First Last
Promise там называется вроде
Nightwelf
Где достал? Под маком кодишь?
invariance
я дуб в js, я правильно понимаю, что в then пишется то, что нужно сделать после вызова асинхронной функции?
admin
симулятора айфона кроме как на макоси нигде нет
Nightwelf
Поделишься? Или это сверхнаглость?
invariance
вроде стало понятно что и как
Danil Axtarov
можешь написать синхронный код
Nightwelf
Далее по тексту нашел ответ
Danil Axtarov
просто используй await
invariance
ох уж эта асинхронщина
Danil Axtarov
да это круто
invariance
await - делает асинхронный код синхронным? Типо дожидается выполнения асинхронной функции?
admin
await это синтаксический сахар для замыканий
Danil Axtarov
на самом деле он выполняется асинхронно, но код синхронный
invariance
а async в сигнатуре функции указывает на то, что функция запустится в фоне и нужно отловить результат либо через await либо через then
invariance
а что за async* ?
admin
async никак не меняет то как функция выполняется
Danil Axtarov
она в том же потоке запуститься
admin
он просто позволяет вызывать функцию с await
Danil Axtarov
главное не заблокируй поток
invariance
понял, спасибо
|