Pull to refresh
12
0
Valentin Kononov @pinckrow

Full Stack Software Developer

Send message

Runtime Type Safety in Typescript (Возможна ли удобная проверка типов в рантайме)

Reading time 12 min
Views 14K

Относительная простота и доступность Javascript, относительная легкость входа в него предопределила на многие годы вперед его популярность. Некоторые языки программирования существенно повлияли на развитие всей отрасли в целом. Так, например SmallTalk стал неким прадедушкой ООП и объектного подхода, хоть сам по себе мало где используется. А Javascript… на мой взгляд это язык, о потенциале которого создатели не имели должного представления. Но мне всегда хотелось работать с чем-то на стыке между гибкостью  Javascript и строгостью типизированных языков. Возможно ли это?


В добрых традициях хабра я хочу сразу оговориться, что не претендую на применимость в 100% случаев, и не считаю мое мнение единственно верным. Приведенное ниже — мой взгляд и отношение к программированию вообще и к написанию кода на TS/JS в частности. Кроме статьи, я этот взгляд постарался донести на митапе, запись которого доступна тут.

Читать дальше →
Total votes 19: ↑16 and ↓3 +13
Comments 11

Могучие Typescript Декораторы — как работают, во что компилируются и для каких прикладных задач применимы

Reading time 9 min
Views 41K

Каждый Ангуляр разработчик видел декораторы в тайпскрипт коде. Их используют, чтобы описать Модули, сконфигурировать Dependency Injection или настроить компонент. Другими словами, декораторы используются, чтобы описать дополнительную информацию, или метаданные, для фреймворка или компилятора (в случае Ангуляра). При чем, Ангуляр лишь один из примеров. Существуют многие другие библиотеки, использующие декораторы для простоты и наглядности кода, как декларативный подход. Как .NET разработчик в прошлом, я вижу много сходства между TS декораторами и .NET аттрибутами. Наконец, набирающий популярность NestJS фреймворк для бекенд приложений (абстракция над Node), также построен на интенсивном использовании декораторов и декларативном подходе. Как это все работает и каким образом использовать декораторы в своем коде, чтобы он был более удобным и читабельным? Мы все понимаем, что после компиляции TS кода мы получаем Javascript код. В котором нет понятия декоратор, как и многих других Typescript особенностей. Поэтому для меня наиболее интересным является вопрос, во что превращается декоратор после компиляции. Занимаясь этим вопросом, я сделал выступление на митапе в Минске и хочу поделиться статьей.


Читать дальше →
Total votes 19: ↑19 and ↓0 +19
Comments 33

Прикручиваем ngx-translate в Angular приложение. Практическое пошаговое руководство

Reading time 4 min
Views 22K

Практическая пошаговая инструкция как прикрутить динамическую локализацию (возможность выбора языков) в веб приложении на Angular 4+ используя @ngx-translate/core.


В принципе можно найти публикации на подобную тему, может быть достаточно самой документации этой библиотеки, но я хотел систематизировать эту инструкцию для более удобного применения. Такая закладка в копилку начинающего Angular разработчика. В конце статьи есть ссылка на открытый репозиторий с примером.


Читать дальше →
Total votes 8: ↑8 and ↓0 +8
Comments 6

Мы agile или аджайл нас?

Reading time 7 min
Views 7.5K
Какая главная проблема в разработке программного обеспечения (а может и вообще в любой работе)? Когда я задавал вопрос коллегам, получал разные ответы: изменения требований, несоответствия ожиданий, качество кода, взаимодействие с другими командами… суммируя для себя — коммуникация является одной из самых важных проблем.

Во время коммуникации каждый понимает все по-своему, интерпретирует как-то иначе, нежели чем было сказано. Заказчик держит в голове некий образ, который он пытается конвертировать в слова и картинки, разработчик, слыша эти слова, конвертирует их у себя в голове в какой-то свой образ. И в этой цепи может быть много звеньев.

Пытаясь решать эту проблему, люди пишут детальное ТЗ. Но решает ли это проблему? Те же вопросы, как мне видится, задавали Боб Мартин и Мартин Фаулер вместе со своими коллегами, когда писали Agile Manifest в феврале 2001 года. Попробуем разобраться вместе в этом вопросе, да и в самом Agile манифесте.
Читать дальше →
Total votes 13: ↑10 and ↓3 +7
Comments 13

Неочевидные особенности применения Rotativa для генерации PDF в ASP.NET MVC приложении

Reading time 9 min
Views 6.2K

Многие разработчики сталкиваются с задачей создания PDF отчетов для веб приложений, вполне естественный запрос. Я бы хотел представить вашему вниманию свой опыт работы с такой задачей при использовании библиотеки Rotativa для генерации отчетов. Это одна из самых, на мой взгляд, удобных библиотек для такой цели в своем сегменте, но при использовании ее я столкнулся с несколькими не очевидными моментами, о которых и хочу поговорить.

Читать дальше →
Total votes 12: ↑12 and ↓0 +12
Comments 8

Information

Rating
Does not participate
Location
Минск, Минская обл., Беларусь
Date of birth
Registered
Activity