В этой статье я хочу рассмотреть основные такие возможности, плюс показать, как можно получить ещё больше информации о типах при использовании TypeScript, и как добавить классам и их полям собственные метаданные при помощи декораторов. Каждую из техник я покажу на примере небольшого CLI-фреймворка, работа с которым к концу статьи будет выглядеть как на картинке:
Рубрика «рефлексия»
Рефлексия в JavaScript и TypeScript: обзор основных техник. Как сгенерировать CLI-интерфейс для класса
2023-08-23 в 9:00, admin, рубрики: javascript, reflection, ruvds_статьи, TypeScript, рефлексияРефлексия в C++Next на практике
2022-01-04 в 14:42, admin, рубрики: c++, reflexpr, Программирование, рефлексияОпределение понятия "рефлексия" из Википедии:
In computer science, reflective programming or reflection is the ability of a process to examine, introspect, and modify its own structure and behavior.
В последние годы разрабатываются варианты ввода рефлексии в стандарт C++.
В этой статье мы напишем код на C++ с рефлексией для решения разных задач, скомпилируем и запустимЧитать полностью »
Оживляем деревья выражений кодогенерацией
2021-01-01 в 20:27, admin, рубрики: .net, C#, expression trees, fody, linq, module initializer, roslyn, source generators, uno, Visual Studio, xamarin, деревья выражений, кодогенерация, рефлексияДеревья выражений System.Linq.Expressions
дают возможность выразить намерения не только самим кодом, но и его структурой, синтаксисом.
Их создание из лямбда-выражений — это, по сути, синтаксический сахар, при котором пишется обычный код, а компилятор строит из него синтаксическое дерево (AST), которое в том числе включает ссылки на объекты в памяти, захватывает переменные. Это позволяет манипулировать не только данными, но и кодом, в контексте которого они используются: переписывать, дополнять, пересылать, а уже потом компилировать и выполнять.
Как дискомфорт помогает нам совершенствовать процесс разработки
2019-09-02 в 3:21, admin, рубрики: agile, teamlead, Блог компании True Engineering, командная работа, развитие, рефлексия, управление проектами, управление разработкой
Я тимлид и моя задача — обеспечить продуктивную работу команды. Это непросто, поскольку готового рецепта успеха не существует. Конечно, есть признанные методологии: Agile, Lean, Value Stream Mapping. Они дают общие ориентиры и ценности, что уже неплохо, но это лишь ориентиры. А с конкретными решениями, будь добр, вертись сам. На то ты и тимлид.
В статье я расскажу, как мы с командой постепенно сформировали и теперь регулярно уточняем подход к эффективной работе. Ключевой момент в том, что выбранные инструменты действительно приняты всей командой и прижились в работе. Это даёт надежду на то, что подход полезный.
Читать полностью »
По разные стороны государства: как Facebook прожаривали в Конгрессе США, пока «Телеграм» воевал с ФСБ
2019-08-30 в 9:09, admin, рубрики: Facebook, telegram, государство, репрессии, ретроспектива, рефлексия, Россия, Системы обмена сообщениями, Социальные сети и сообщества, США, цензураПути «Фейсбука» и «Вконтакте» разошлись так основательно, что никто давно не попрекает VK его происхождением. Разошёлся «Вконтакте» по разным дорогам и с Павлом Дуровым. А с успехом мессенджера «Телеграм» прекратились сравнения Дурова с Марком Цукербергом. Остались только два гениальных миллениала, превратившие свои идеи в миллиардные бизнесы. У каждого из них свой путь, но от общих вызовов им никуда не деться.
Будучи лидерами своего поколения в сетевом пространстве, они не просто меняют её ландшафт — они формируют коридор возможностей для миллениалов в целом. Если возникшую проблему Facebook и Telegram решают одинаково — их выбор становится выбором 2 миллиардов их пользователей. Если же на очередной вызов меняющегося интернета они дают разные ответы — то возникает пространство выбора, и право окончательного решения остаётся за пользователями. Разумеется, не только Дуров с Цукербергом определяют эти коридоры возможностей, но они, помимо собственного влияния, ещё и репрезентативны для самого влиятельного поколения в интернете на сегодняшний день.
В этом смысле, и для «Фейсбука», и «Телеграма» показательными оказались 2016–2018 годы. С самого возникновения всемирной паутины, она была территорией анонимности с островками безопасности. Однако в Сети уже годами копятся факторы, враждебные анонимности. В 2016 году они, возможно, впервые достигли критической массы превращения в угрозу, заметную в глобальном масштабе. А в 2018 произошло открытое столкновение.
Читать полностью »
Развитие команды и рефлексия как управленческая коммуникация тимлида
2019-08-26 в 9:53, admin, рубрики: gtd, Блог компании Конференции Олега Бунина (Онтико), дисциплина, Карьера в IT-индустрии, команда, конференции, мотивация, развитие, рефлексия, самодисциалина, смыслы, спиральные динамики, тимлид, управление персоналомМы уже поднимали тему коммуникации как важнейшего навыка управленца любого уровня. Эффективность коммуникаций в компании напрямую влияет на её развитие, поэтому сегодня подробно обсудим два понятия: развитие и рефлексию.
Поговорим, что такое развитие в команде, что такое развитие человека и что такое развитие управленца. Рассмотрим траектории роста разработчика от исполнителя до тимлида. Обсудим, с чем придется столкнуться, что понадобится преодолеть и кем можно стать. Выясним, какие инструменты помогут и выделим пять областей развития тимлида.
Главным инструментом для развития я считаю рефлексию. Это понятие обычно ассоциируется с ретроспективами, обратной связью, performance-review. Но в основе рефлексии лежит глубинный психологический процесс, поэтому предлагаю начать с основ и рассмотреть рефлексию подробнее.
Читать полностью »
Маппинг в C# на примере сериализатора для AMF
2017-01-25 в 16:13, admin, рубрики: .net, amf, amf3, attribute, attributes, C#, deserialization, deserialize, dynamic, escorp, example, examples, exomode, flex, fluorine, fluorinefx, generation, il, MSIL, opcode, opcodes, programming, serialization, serialize, technologies, technology, tutorial, tutorials, type, изучение, мануал, маппинг, обучение, отображение, отражение, пожалуй, Программирование, рефлексия, рефлекшн, руководство, технологии, технология, урок, уроки, хватит.Приветствую, друзья. Сегодня речь пойдёт о реализации маппинга на C#, а так же о применении сей реализации в решении реальных задач на примере отправки данных AMF на сервер. Всё нижеизложенное не претендует на какие-либо эталоны реализации алгоритмов и паттернов проектирования кода, это лишь описание одного из множества, далеко не всегда очевидных для новичков, решений.
В процессе изучения статьи, Вы узнаете как реализовать собственные атрибуты и как их применять, познакомитесь с методами расширений типов и применением рефлексии на практике, узнаете об основах MSIL в целом и OpCodes в частности, а так же о том, как можно сериализовать объекты в AMF с помощью потоков.
Читать полностью »
Немодные вещи куда интересней нежели то, что у всех на слуху и на виду. В мире .NET, например, немодной является рефлексия, о которой знают, но не пользуются в виду преклонения перед мантрами Рихтера. Несомненно, монография «CLR via C#» — лучшее из книг о .NET, однако сам ее автор далеко не везде следует своим же рекомендациям, а потому принимающим на веру абсолютно все написанное в ней, стоит перестать выдавать чужие мысли за свои.
Читать полностью »