Обращайся и больше не гнобите меня, я и так жизнью обиженный, пишу на языке-который-нельзя-называть)
???????
bsl, в миру 1С
???????
Ну на самом деле не все так плохо. Про похапэ, питон и адинасс говорят плохо только из за низкого порога вхождения. На адинасс так вообще можно писать не только на энгрише, но и на русике.
Но именно программисту, а не макаке, покс что язык. Тем более язык берется под конкретную задачу, это лишь инструмент.
???????
Туже 1асс я запросто дружил и с oauth2 гугла и бэком для мобильных приложений выступает, из нее работает вебхук инлайн телеграм бот для визирования документов, делает рассылки, разве что романы не пишет)
Alexander Kladkov
[
"Привет! Вот что бывает, когда пробуешь что-то нормальное после js. Я не могу сделать массив объектов -_- ",
{
"type": "code",
"text": "[{lol: 1}, {lol: 2}]"
},
" Я так понимаю надо юзать ",
{
"type": "code",
"text": "List"
},
"? Но не получается js поведение после ",
{
"type": "code",
"text": " List
Alexander Kladkov
[
{
"type": "code",
"text": "type '_InternalLinkedHashMap' is not a subtype of type 'String'"
}
]
Alexander Kladkov
[
"Тааак. Шото получилось. Проблема была в моках. Было ",
{
"type": "code",
"text": "{'id': 3}"
},
" переделал на ",
{
"type": "code",
"text": "{'id': '3'}"
},
" и стало ок"
]
Я не гуру дарта, но суть это соответсвие с уникальными ключами
???????
делай ключ строкой
???????
а значение чем тебе надо
Alexander Kladkov
Дык вот на этом и споткнулся. Ругается. Что-то не то сделал. Но пробовать буду уже завтра. Спасибо
???????
Алсо, или так тоже можно
???????
если сам не знаешь что куда пихаешь - используй dynamic
???????
но лучше отладчиком посмотри) Динамическая типизация это хорошо, но если пихать всюду без разбора - отвалиться, попомни мои слова)
Alexander Kladkov
На работе флоу :) Я люблю типизацию)
???????
[
"Если пишешь на js, то вот статья:\n",
{
"type": "link",
"text": "https://codeburst.io/array-vs-set-vs-map-vs-object-real-time-use-cases-in-javascript-es6-47ee3295329b"
},
"\n\nзамени Array на List и получишь все тоже самое)"
]
Alexander Kladkov
Огонь. Спасибо
???????
В общем List это массив в котором сидят какиет значения
???????
Map это соответсвие (прости мой одинэсный), это пара из ключ значение
???????
причем ключи уникальны
Alexander Kladkov
Так. Переписал руками, как хотел сделать структуру. И почему-то получилось. Херовый копипас видимо
Что за конструкция и почему она работает? class A {
final int b = 2;
A.test() { print('$b'); }
}
A.test(); //Выведет 2
Обращаюсь к классу, не экземпляру и беру данные из не статической переменной.
???????
Я сам в этом профан, но статичная переменная - это когда низя использовать в наследниках, вроде
???????
файнал - определяется при создании и больше не меняется
???????
константа - эт, короче, создается еще до того как програма запуститься)
???????
А почитать вам про магию в вашем вопросе по запросу "Static Methods (aka Class Methods) and Variables"
Daniil S
A.test() это именованный конструктор, переменную неизменяемую ты определил, в чем проблема ее запринтить?
Дмитрий Андриянов
Стыд мне. Я совсем забыл про именованные конструкторы. Спасибо что указали на это.
Daniil S
да ладно тебе, бывает)
Daniil S
Хорошо, что в туторах по дарту нет особо инфы по статикам
Daniil S
плохой это патерн их использовать
???????
Почему?
???????
Читабельность падает?
Daniil S
Много причин, легче загуглить, если начну перечислять в чате, забанят за спам)
Daniil S
ну ты предполагаешь писать утил классы наверное?
???????
Можно для дураков и на пальцах, чем отличается статик от файнал, и статик для методов класса и переменных класса
???????
Там откуда я родом, такого сахара нет)
???????
вот допустим я понимаю, что final отличается от const тем, что в него можно засунуть чтото сложное, что вычисляется в рантайме и оно в последствии не поменяется
???????
теперь как мне вписать в свою жизненую картину статик?)
???????
Я не ехидничаю, я интересуюсь)
???????
эт я знаю, эт я пони.
???????
в моем родном селе такого не провели, не везде)
???????
поподробнее, пожалуйста
Daniil S
ну во первых, ютил классы и статические методы не ложаться на принцыпы ооп, статический метод нельзя переопределить, да они синхронизированы это плюс, но как именно, и так ли как хотелось вот это минус( . Что касается const и final. Если есть что вычислять в рантайме использую const, если просто определить использую final.
???????
Зарабатываю bsl (считай дельфи для отечественного учета) - 1с, если по простому, пописываю на шарпе и го
???????
нигде ничего подобного не использовал
???????
я просто с этим не сталкивался
???????
не сталкивался)
???????
в дарте прочитал статью, немножко понял и понял, что пока без нужды трогать не буду
???????
время пришло)
Daniil S
Помимо этого, если статические методы лежат внутри класса, то они провоцируют загрузку этого класса в класс-лоудер
Daniil S
а зачем нам это надо?)
???????
[
"так, тобишь нельзя ",
{
"type": "mention",
"text": "@overide"
},
" над static сделать при наследовании, так?"
]
Daniil S
статические методы не переопределяются
???????
тоесть оно останется в родном классе и то что я из него получу новый класс наследованием - я там этот метод уже не вызову, правильно?
???????
Надо будет переспать с этой мыслью и попробывать в дартпаде.
???????
Конструктор не может быть static, судя по всему)
???????
И я могу вызывать статичные методы без создания объекта, как вижу, прям сразу из класса
Daniil S
просто почитай доку перед сном, все встанет на места)
???????
Если начну читать, уже не усну)
???????
Вот такое непотребство можно творить
???????
То что сделать можно и по другому, эт понятно. Дарт на 99% из сахара состоит
???????
Меня в нем злит только 2 вещи: 1) нет удобной рефлексии во флатере 2) в функцию объекты всегда передаются по ссылке, а примитивы по значению
Анатолий
А библиотека рефлексии чем нк удобная?
Анатолий
Та которая копирует поведение мироров
???????
Видимо пока не научился, хочется делать просто myObject.getMetadata()
Анатолий
Там так и есть
???????
Вот лучше это перед сном почитаю)
Анатолий
Не, там "так и есть"
???????
[
{
"type": "pre",
"text": "import 'package:reflectable/reflectable.dart';\nimport 'main.reflectable.dart'; // Import generated code.\n\n// Annotate with this class to enable reflection.\nclass Reflector extends Reflectable {\n const Reflector()\n : super(invokingCapability); // Request the capability to invoke methods.\n}\n\nconst reflector = const Reflector();\n\n@reflector // This annotation enables reflection on A.\nclass A {\n final int a;\n A(this.a);\n greater(int x) => x > a;\n lessEqual(int x) => x <= a;\n}\n\nmain() {\n initializeReflectable(); // Set up reflection support.\n A x = new A(10);\n // Reflect upon [x] using the const instance of the reflector:\n InstanceMirror instanceMirror = reflector.reflect(x);\n int weekday = new DateTime.now().weekday;\n // On Fridays we test if 3 is greater than 10, on other days if it is less\n // than or equal.\n String methodName = weekday == DateTime.FRIDAY ? \"greater\" : \"lessEqual\";\n // Reflectable invocation:\n print(instanceMirror.invoke(methodName, [3]));\n}",
"language": ""
}
]
???????
Блин, как здорово
???????
Все, минус один минус)
???????
Осталось дождаться ссылок-указателей. Хоть это и не критично)
???????
Очивидно, чтоб было.
Опять же, жить можно и без этого
???????
[
"Всегда очень злит ответ:\n",
{
"type": "pre",
"text": "этого нет, потому, что это не надо, стройте логику по другому",
"language": ""
},
""
]
???????
Мне надо, я хочу
???????
Я хочу забить гвоздь кувалдой, это можно сделать молотком, но я хочу кувалдой
???????
Я хочу при объявлении функции передать по значению, да сожрет памяти, но я хочу точно знать, что назад оно не уйдет
???????
Я хочу, мне надо, продайти
???????
Мне надо выбирать
???????
Если надо по ссылке, я могу обернуть в объект, но это все хрень.
???????
[
"Вот в дарте есть у функций великолепные именнованые параметры, есть замечательный ",
{
"type": "mention",
"text": "@required"
},
""
]
???????
Вот добавить к ним еще выбор по значению - по ссылке, и все, хотеть больше нечего
???????
Может у них корни проблемы довольно глубоко, я не знаю. Может у них сборщик мусора это переваривать не будет и это сделать не просто.
???????
Ну вот, это хотелка) Так то мне очень нравиться дарт и флаттер
???????
Надеюсь на фуксию всем сердцем
Дмитрий Андриянов
Раздумываю что лучше использовать для BLoC, ancestorWidgetOfExactType или InheritWidget.
Первое - дороговато по производительности. Второе - пишут есть подводные камни (еще гуглю это).
Что посоветуете?
???????
[
"Как я понял, смысл статика примерно в следующем:\n",
{
"type": "pre",
"text": "abstract class MyBack {\n static const String ip = '127.0.0.1';\n static const int port = 8080;\n static get connect {\n return '$ip:$port';\n } \n}\n\nvoid main() {\n print(MyBack.connect);\n}",
"language": ""
},
""
]
подскажите, как убрать разделители в Expansion tile?
Олжас Сулеймен
а зачем вам наследовать и переопределять статик поля?
Artur Antonevich
Привет, ребята, такой вопрос, пишит кто большие проекты на Flutter? Сталкивались уже с какими-то проблемами?
First Last
Попробуешь сразу спросить то, что тебя волнует? :)
First Last
У людей которые задают такие вопросы сразу есть некоторые вопросы о которых они переживают
Artur Antonevich
верно ), как дела с кастомными вью?(если сравнить с андройдом) и как обстоят дела со сложными лайаутами, а именно насколько их сложно строить и производительность?(Боль когда нету Constraint Layout ?)
Artur Antonevich
я просмотрел статью у них на сайте, типо для андройд разработчиков, всё с виду вроде как не плохо и даже пытался что то сделать
Александр Котков
Скопировать дефолтный экспаншион лист, и закастомить
Mike
да, так и сделал
Mike Dark
[
"Ты можешь делать буквально ",
{
"type": "italic",
"text": "все"
},
" . ВСЁ это виджет. Хочешь - пили кастомный виджет, хочешь кастомный в кастомном, хочешь - сложный и замудреный виджет, хочешь - много маленьких и собирай их в одном"
]
???????
Ребят, тупой вопрос. Можно ли у абстрактного класса указать переменной/константе, что в классе который её унаследует - она обязательна для заполнения?
???????
Что то вроде такого возможно?
???????
[
"Или так можно сделать, только создав конструктор с ",
{
"type": "mention",
"text": "@requered"
},
" ?"
]
???????
Отвечаю на свой тупой вопрос: нужно использовать не extends, а impliments
Max??
Во flutter есть подобие Canvas'a? Если мне к примеру нужно создать вьюху с вырезом вверху и поместить туда аватарку
можно сделать любой интерфейс, вплоть до игрового UI, который нестандартный и со всякими плюшками
Max??
на канвасе? или что-то есть удобнее?
Олжас Сулеймен
[
"Check out \"Travis CI (Flutter)\"\n",
{
"type": "link",
"text": "https://play.google.com/store/apps/details?id=com.intellectstudio.travisci"
}
]
northelks
Нашёл более-менее рабочий солюшен, немного странный правда. Но это наверное из-за асинхронщины в евент потоках при вызове метода потери фокуса и установки фокуса.
Если делать построчно, то это не работает: setState lostFocus setFocus
Но если зающать addListener у FocusNode то работает: focusNode.addListener -> if(!hasFocus) -> setFocus setState lostFocus
В таком кейсе получается, что мы через addListener получаем стейт, когда прошёл экшен от фокуса и можем вызвать новый экшен для него. Главное не злоупотреблять этим колбэком в переключении туда-сюда типа клавиатуры.
Олжас Сулеймен
там есть канвас и лоу ливел апи которое почти напрямую дергает скию
он же ещё в хроме используется для рендеринга страницы
Кирилл Адещенко
И в Firefox
Кирилл Адещенко
Точнее не в хроме, а в хромиуме. А на хромиуме очень много других браузеров
northelks
[
"вот тут можно увидеть как виджеты отрисовываются ",
{
"type": "link",
"text": "https://docs.flutter.io/flutter/dart-ui/dart-ui-library.html"
},
""
]
Олжас Сулеймен
вот бы ее отвязали от натива и добавили слой который дергает уже натив
Олжас Сулеймен
можно было бы уже переписать на веб канвас
northelks
зачем?
Олжас Сулеймен
ну универсальность веб и тд
northelks
чем универсальный?)
Олжас Сулеймен
переписал прослойку на что надо и все
northelks
на dart:ui смотрел?)
Sergey ?
и в Android 9+
Олжас Сулеймен
да вот
Олжас Сулеймен
даже были пытки переписать на веб но потярялся в нативных вызовах
northelks
переписать на веб для мобильника через react native?
Олжас Сулеймен
нет абстрагировать вообщем минус изоляты и натив связка с веб канвасом
Max Glu
Не надо веб тащить в мобилки. Текущий веб вообще нужно закопать и никогда не откапывать, а не тащить его куда попало
northelks
тогда я потерялся в твоей идеи с веб канвасом)
northelks
и зачем тебе именно веб канвас на мобилке
Max Glu
Кто-нибудь знает, аналог ретрофита еще не запилили на дарте?
Олжас Сулеймен
да не на мобилке а флаттер в вебе
Олжас Сулеймен
[
"хотел хотя бы это запустить ",
{
"type": "link",
"text": "https://github.com/flutter/flutter/tree/master/examples/layers/raw"
},
""
]
тут есть ссылка на репу кидал там кто то уже похожее делал flutter2js вроде
Олжас Сулеймен
а не не я
northelks
это очень непросто запилить флаттер в вебе, когда флаттер это канвас, а веб это DOM, и по сути через канвас нужно реализовать апишку DOM браузера.. а это фактически построить свой браузерный DOM :)
northelks
JS гейм девелоперы тут сразу скажут, что это непростая боль в работе с канвасом в плане всяких евентов/манипуляций и тп
Олжас Сулеймен
хотя бы что то вывести на экран а там понятно уже будет
[
{
"type": "mention",
"text": "@tridetch"
},
", как с помощью этого протестировать, что у меня две линии идут из одной точки?"
]
tridetch ??
мм, ну каким то образов ты верстаешь ведь это, задаешь параметры при которых они из одной точки начинают идти. Вот их наверно и нужно чекать Или ты рисуешь линии на канве прям?
northelks
сравнить их dx и dy?
Maria
Да, на канве
Marat Karamullin
дарт комплируется?
Marat Karamullin
т.е можно рест-сервер компилированный получить?
Maria
А как найти эти линии? Просто? Вчера все мои художества разъехались, озадачилась?? Попробую вечером проверить, где брать dx и dy абсолютный для проверки
northelks
а как ты рисуешь линии?
Maria
Вы про офсеты? Они ж не абсолютные.
northelks
а линии рисуются в разных парентах/виджетах?
Marat Karamullin
а что с производительностью?
Олжас Сулеймен
чуть медленнее ноды (вроде)
northelks
если две линии будут рисоваться в одном renderbox, к примеру, то у них будут одинаковый парент и соответственно офсеты
Maria
Это понятно??
Макс Зубко
Подключил FIrebase, запустил приложение, вроде бы все запустилось нормально, но появились две таких строки, что это значит, Firebase подключился или все таки нет ?
tridetch ??
Что за приложение ты делаешь для такой целевой аудитории?))
Олжас Сулеймен
всегда есть тот кто не смог
Анатолий
Чтоб узнать как будет понятно даже абсолютному дебилу, надо спросить у абсолютного дебила
tridetch ??
И он все равно ненарочно соврет
Maria
Иконками может нарисовать? Но тут наверное к ui/ux дизайнерам надо идти
tridetch ??
Сложно что то конкретное посоветовать не видя всего контекста. Если роль юзена позволяет ему чтото делать то можно эти кнопки/инфу скрывать или при взаимодействии писать что ему не доступно
tridetch ??
Почему именно дерево? Вот например учетка id4242. Есть продавец vendor1 у него в таблице дилеров есть id4242 и продавец vendor2 у него в таблице менеджеров и таблице трейдеров есть id4242. И есть сам продавец id4242 Можно в виде дерева тоже самое представить Если правильно задачу понял
tridetch ??
Ну тут да нужно выбор роли сделать, после логина он сначала выбирает чем он сейчас заниматься хочет (менеджер/трейдер), потом для какого продавца. Или наоборот
Aleksey Chumikov
Каждой роли же доступен некий функционал? Значит можно в меню давать доступ к нужному функционалу. А если он трейдер (или кто-то другой) не в одном месте значит при выборе функционала трейдера давать возможность выбора таргета.
l
[
"нашёл в реддите, тут кто-то хотел тулзу для локализации \n",
{
"type": "link",
"text": "https://www.reddit.com/r/FlutterDev/comments/akztpb/flutter_localization_with_rosetta/"
},
""
]
Александр Котков
Народ, сижу в студии что ознаете в логах For input string: "1,275" просто вот спамится и все
tridetch ??
заскринь
Александр Котков
происходит при выгрзуке файла на сервак)
tridetch ??
А полностью строку с ошибкой, могу предположить что строку в число не получается превратить
???????
[
"Ребят, подмогите с xPath.\nСкладывается ощущение, что этот пакет не работает как надо:\n",
{
"type": "link",
"text": "https://pub.dartlang.org/packages/xpath"
},
""
]