Как стать автором
Обновить
64
0

Разработчик

Отправить сообщение

Экспериментируем с шаблонами литералов в TypeScript: как покрыть типами DSL

Время на прочтение8 мин
Количество просмотров7.3K

Привет, я Максим, в Selectel я занимаюсь фронтенд-разработкой «Облачной платформы». В этом проекте уже не один год. Вместе с развитием функциональности облака усложняется код, который я пишу. Поиск эффективных решений рефакторинга кода — одна из задач, которую я постоянно держу в голове. Поэтому метапрограммирование рассматриваю как одну из возможностей, доступных для улучшения взаимодействия с кодом.

Иногда проверка различных идей носит чисто экспериментальный характер. Так, на волне нового релиза TypeScript я решил попробовать типизировать DSL запросов к MongoDB (синтаксис запросов довольно прост, но при этом функционален и широко известен).

Под катом — результат. Я бы написал «не пытайтесь повторить это в своем рабочем проекте», но вдруг какие-то мысли и способы применения TypeScript окажутся полезными и вам.
Читать дальше →
Всего голосов 49: ↑48 и ↓1+56
Комментарии8

Реализация пользовательского интерфейса OpenStack LBaaS

Время на прочтение11 мин
Количество просмотров4.3K


При реализации пользовательского интерфейса балансировщика нагрузки для виртуального приватного облака мне пришлось столкнуться с существенными трудностями. Это привело меня к размышлениям о роли фронтенда, чем хочу поделиться в первую очередь. А далее обосновать свои размышления, на примере конкретной задачи.

Решение задачи получилось, по моему мнению, достаточно творческим и искать его пришлось в сильно ограниченных рамках, поэтому думаю, что оно может быть интересным.
Читать дальше →
Всего голосов 16: ↑16 и ↓0+16
Комментарии0

Angular: оптимизация обработки событий

Время на прочтение12 мин
Количество просмотров8.7K


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

В статье я разберу как оптимизировать обработку часто вызываемых событий: mousemove, scroll, dragover и прочих. Конкретно я столкнулся с проблемами при реализации drag-and-drop интерфейса, поэтому и разбирать буду на примере с перетаскиванием элементов.
Читать дальше →
Всего голосов 24: ↑24 и ↓0+24
Комментарии3

Meteor. Разрабатываем TODO List

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

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

Еще хочу предупредить, что урок получился достаточно объемным, но кода в нем было написано в разы меньше, чем текста. Просто хочу поделиться опытом как можно использовать метеор не при создании простенького примера, и заострить внимание на различных моментах, которые я посчитал важными. Поэтому в уроке будет использоваться множество сторонних пакетов, облегчающих процесс разработки.

И еще одно предупреждение: в данном уроке будут использоваться следующие технологии для непосредственного написания примера:

  • jade — html препроцессор;
  • less — css препроцессор;
  • coffeescript — язык программирования, компилируемый в javascript.

Видео, демонстрирующее приложение, полученное в ходе урока



И кому все еще интересно, добро пожаловать под кат.
Читать дальше →
Всего голосов 67: ↑59 и ↓8+51
Комментарии19

Система пакетов в Meteor

Время на прочтение5 мин
Количество просмотров4.9K
Начиная с версии 0.9.0 (примерно пару месяцев назад) в Meteor обновилась система пакетов, созданная на основе Atmosphere. С выходом новой системы пакетов, каждому пользователю стали доступны создание и публикация собственных пакетов. По состоянию на текущий момент в системе более 1800 пакетов и насчитывается около 500 контрибьюторов.

Про сам Meteor, Meteorite и Atmosphere уже неоднократно писали на хабре, я же хочу поделиться опытом именно в создании пакетов для этого фреймворка.

Эта статья о том, зачем нужна очередная система пакетов, как ей пользоваться, как создавать, тестировать и публиковать пакеты.
Читать дальше →
Всего голосов 6: ↑4 и ↓2+2
Комментарии7

Интеграция Деньги Online в ActiveMerchant

Время на прочтение12 мин
Количество просмотров5.3K
В приложении, которое я разрабатываю на Ruby on Rails, мне нужно было подключить платежную систему. Заказчик заключил договор с Деньги Online, и первым делом я, конечно, проверил список поддерживаемых систем в ActiveMerchant от Shopify — там этого сервиса не оказалось, также еще поискал готовые решения, которые смогли бы упростить интеграцию, но ничего полезного под RoR не нашлось. В итоге было решено форкнуть ActiveMerchant и разработать под него интеграцию для этого сервиса, а в последствии использовать наработки в проекте.

В этой статье хочу рассказать о процессе подключения платежной системы, в надежде что кому-нибудь это пригодится, потому что мне не хватало подобной информации. А также возможно кому-нибудь пригодится информация, конкретно по этой платежной системе.
Читать дальше →
Всего голосов 7: ↑6 и ↓1+5
Комментарии3

Информация

В рейтинге
Не участвует
Работает в
Зарегистрирован
Активность

Специализация

Frontend Developer