Вообще говоря версии тут вам ничем не помогут. А поможет фиксация ревизий. Которая через git submodules реализуется куда лучше. Но это не про го вроде.
Нормальный компонент просто принимает данные, рендерит их, дергает колбеки при смене фильтров и т.п., а уже загрузкой/сохранением и т.д. заведует сервисный слой.
а уже загрузкой/сохранением и т.д. заведует сервисный слой.
Это похоже на заметание мусора под ковёр. Ребята сделали всё по канонам — кидаются экшены, дёргаются редьюсеры, меняется глобальное состояние. А когда пришла пора воспользоваться компонентом на другом экране вдруг произошёл когнитивный диссонанс от необходимости копипастить весь этот "сервисный слой", гвоздями прибитый к конкретным экшенам и конкретным полям стора.
Хотите сказать, что они специально постарались сделать грид не преиспользуемым?
Стандартный функционал: запрос данных из видимой области, редактирование, сохранение, ресайз колонок, изменение состава колонок, изменение фильтров, загрузка данных для вариантов фильтров по требованию. Вот это всё.
unsafePtr у шарпа и явы дженерики — это не шаблоны, а полиморфные типы.
khim в C++ шаблоны сбоку прилепили, а потом внезапно обнаружили, что на них можно программировать. D уже проектировался с нормальной поддержкой шаблонов: сообщения об ошибках понятные, стектрейсы ведут в код шаблона, а не в генеренный код и тд.
Свежий пример от соседей, где используется ngrx (это redux из мира angular): запилили грид для одного экрана со стором, экшенами, редьюсерами и вот этим всем. И всё бы хорошо, да потребовался такой же грид на другом экране, а весь код гвоздями прибит к конкретным экшенам и путям в сторе. Выхода два: копипастить кучу логики с тривиальными правками, либо рефакторить весь код добавляя инъектирование путей в сторе через параметры компонент и пробрасывать их через экшены в редьюсеры.
А, не проснулся ещё, вы же про Ангуляр, а не про Реакт… впрочем, я тоже про Ангуляр :-)
Ага, и девушки, будут клеиться как шарики пенопласта.
Мне, кстати, уже пришёл. На спине держится довольно удобно. Но вместимость у него для своих габаритов не очень большая, к сожалению. В основном ввиду того, что он держит форму, и всё, что не плоское, занимает объём не оптимально. Провод для зарядки телефона не дотягивается до ноута — дизайнеры не додумались, что ноут можно использовать в качестве зарядки, не таская с собой ещё одну батарею. Ещё неудобство — когда надо что-то достать из рюкзака — недостаточно приоткрыть и просунуть руку — нужно его почти полностью расстегнуть.
Разработка треугольников Серпинского на заказ. Быстро, качественно, не дорого. Пожизненная гарантия 1 год. Бесплатная доставка самовывозом в любую точку мира и околоземной орбиты. До конца года действует 100% скидка. Спешите, предложение ограниченно. Другого такого не будет до начала следующего года.
Гит субмодули — это такие лок файлы с криптографической гарантией целостности :-)
Вообще говоря версии тут вам ничем не помогут. А поможет фиксация ревизий. Которая через git submodules реализуется куда лучше. Но это не про го вроде.
Не так уж сильно оно и усложняет компилятор при правильном дизайне.
В D можно писать так:
Соответственно к полю можно прицепить любые типы значений, а потом в библиотеке получить их список и обработать.
Но лучше всё же D, который может быть бинарно совместимым с C
А как же:
?
Тут вы описали "шаблон". Только в реакте шалоны называют компонентами. Во всём остальном мире компонент — самодостаточный кусок приложения инкапсулирующий в себе данные и поведение, а не выпячивающий кишки наружу.
Это похоже на заметание мусора под ковёр. Ребята сделали всё по канонам — кидаются экшены, дёргаются редьюсеры, меняется глобальное состояние. А когда пришла пора воспользоваться компонентом на другом экране вдруг произошёл когнитивный диссонанс от необходимости копипастить весь этот "сервисный слой", гвоздями прибитый к конкретным экшенам и конкретным полям стора.
Зачем вообще редакс? :-)
Хотите сказать, что они специально постарались сделать грид не преиспользуемым?
Стандартный функционал: запрос данных из видимой области, редактирование, сохранение, ресайз колонок, изменение состава колонок, изменение фильтров, загрузка данных для вариантов фильтров по требованию. Вот это всё.
Да нет, в D это делается элементарно.
Как раз недавно рассказывал, почему мы отказались от версионирования на фронте.
unsafePtr у шарпа и явы дженерики — это не шаблоны, а полиморфные типы.
khim в C++ шаблоны сбоку прилепили, а потом внезапно обнаружили, что на них можно программировать. D уже проектировался с нормальной поддержкой шаблонов: сообщения об ошибках понятные, стектрейсы ведут в код шаблона, а не в генеренный код и тд.
Тут не нужно перехватывать исключения, ибо их поведение по умолчанию и так эквивалентно тому, что написано в го версии. Так что правильнее так:
Этот код можно ещё упростить:
Не говоря уж о том, что в стандартной библиотеке уже есть нужный алгоритм работающий с любыми числовыми типами:
Ну так расскажите же как правильно проектировать стор, чтобы компоненты (а не только их шаблоны) получались переиспользуемыми.
58Кб — это, очевидно, после минификации и gzip сжатия.
А чего кроме говна могли туда навалить так много? :-) На поднятие вебсокет-соединения и приём-передачу сообщений много кода не надо.
У firebase разве нет рест апи, которое можно использовать напрямую, а не через говнолибу?
Свежий пример от соседей, где используется ngrx (это redux из мира angular): запилили грид для одного экрана со стором, экшенами, редьюсерами и вот этим всем. И всё бы хорошо, да потребовался такой же грид на другом экране, а весь код гвоздями прибит к конкретным экшенам и путям в сторе. Выхода два: копипастить кучу логики с тривиальными правками, либо рефакторить весь код добавляя инъектирование путей в сторе через параметры компонент и пробрасывать их через экшены в редьюсеры.
А, не проснулся ещё, вы же про Ангуляр, а не про Реакт… впрочем, я тоже про Ангуляр :-)
Мне, кстати, уже пришёл. На спине держится довольно удобно. Но вместимость у него для своих габаритов не очень большая, к сожалению. В основном ввиду того, что он держит форму, и всё, что не плоское, занимает объём не оптимально. Провод для зарядки телефона не дотягивается до ноута — дизайнеры не додумались, что ноут можно использовать в качестве зарядки, не таская с собой ещё одну батарею. Ещё неудобство — когда надо что-то достать из рюкзака — недостаточно приоткрыть и просунуть руку — нужно его почти полностью расстегнуть.
У нас нет шаблонизатора. Шаблонизатор — это такая вот жесть:
Разработка треугольников Серпинского на заказ. Быстро, качественно, не дорого. Пожизненная гарантия 1 год. Бесплатная доставка самовывозом в любую точку мира и околоземной орбиты. До конца года действует 100% скидка. Спешите, предложение ограниченно. Другого такого не будет до начала следующего года.
https://github.com/nin-jin/slides/blob/master/orp/readme.md#Треугольник-серпинского-на-reactjs
alexyr у меня вообще не было покупок. И что с того?