Как стать автором
Обновить
55
0
Евгений Успенский @BuranLcme

Frontend Team Lead

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

Как сделать Public API, которым будут пользоваться

Время на прочтение6 мин
Количество просмотров11K
Во фронтенде практически безраздельно правит OpenSource, а с недавних пор набирает популярность компонентный подход. Вроде бы всё чудесно. Небольшим компаниям компонентный подход помогает переиспользовать код, а крупным компаниям выравнивать UX во всей линейке продуктов, сервисов и прочего. И вот мы все такие замечательные крутые разработчики пилим свои фреймворки, библиотеки и виджеты, радостно полагая, что если они решают наши задачи, то решают и проблемы окружающего мира. Мы выкладываем их в паблик, ожидая благодарных пользователей, звезд на GitHub, скачиваний на NPM-е. Но почему-то одни библиотеки взлетают, а другие остаются незамеченными и позабытыми.


Почему же так происходит?
Всего голосов 6: ↑6 и ↓0+6
Комментарии1

Что же такое RQL

Время на прочтение7 мин
Количество просмотров13K
Представьте, что у вас есть хранилище данных с REST-интерфейсом. Пусть в нем хранится информация о книгах и вы хотите вывести список всех книг. Можно сделать метод «books», который будет возвращать нам список книг. Но при отображении списка обычно есть паджинация или ленивая подгрузка данных, а еще пользовать хочет фильтровать и сортировать данные. Когда мы добавляем поддержку мобильных устройств у нас появляется еще потребность как-то ограничить объем получаемых данных не передавая часть полей. Всю эту информацию должен уметь понимать почти любой метод получения списка объектов, т.к. списки отображаются с помощью специального виджета. И тут нам на помощь приходит Resource Query Language.

Resource Query Language (RQL) — это язык запросов, разработанный для использования в URI при работе с объекто-подобными структурами данных. С помощью RQL клиент может запрашивать у сервера список объектов соответствующих определенным правилам, т.е., по сути, это синтаксис, который описывает как запрашивать данные. Например, запрос выбирающий все книги авторства Перумова может быть записан как eq(author,Перумов) или в обычном формате URL: author=Перумов.
Читать дальше →
Всего голосов 24: ↑22 и ↓2+20
Комментарии19

Технология APS: фронтенд контрольной панели и возможности JS SDK

Время на прочтение10 мин
Количество просмотров4.3K
В прошлый раз мы рассказали об APS (Application Packaging Standard) — нашей открытой технологии интегрирования приложений в платформу по продаже облачных сервисов (SaaS marketplace) Odin Automation. Наша платформа связывает разработчиков и потребителей облачных сервисов через инфраструктуру крупных сервис-провайдеров (поставщиков телекоммуникационных и хостинг-услуг), одновременно предоставляя точку входа для конечных пользователей: контрольную панель или портал, с помощью которого можно создать сайт, настроить почту, купить антивирус или виртуальную машину в облаке. В этом посте мы более подробно остановимся на том, как устроен фронтенд контрольной панели и APS-приложений и какие возможности предоставляет APS JavaScript SDK.


Читать дальше →
Всего голосов 19: ↑19 и ↓0+19
Комментарии0

Dojo 2

Время на прочтение4 мин
Количество просмотров12K
Dojo 2 уточняет и расширяет оригинальные интерфейсы Dojo, удаляя устаревшие функции и согласовывая терминологию в соответствии с дополнениями, внесенными в ECMAScript с момента первоначального выпуска Dojo в 2004 году. Цель Dojo 2 это поддержка только ECMAScript 5+. Так, особенности, которые были в Dojo 1 и которые стали частью спецификация ECMAScript, были удалены из фреймворка.

Dojo 2 написан на TypeScript. Это позволяет пользователям Dojo воспользоваться преимуществами дополнительной статической типизации и позволяет Dojo быть опубликованным в AMD, CommonJS и ES6 формате модулей для использования с нативными модульными системами в любом современном окружении.
image
Читать дальше →
Всего голосов 18: ↑15 и ↓3+12
Комментарии15

Создаем собственные виджеты в Dojo

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

Dojo Toolkit это одновременно самый мощный и наименее используемый JavaScript фреймворк. Dojo состоит из AMD модулей, большая часть которых является виджетами. Виджеты обычно состоят из логики на JavaScript и HTML шаблона. В будущей версии 2.0 заявлена поддержка WebComponents. Dojo позволяет легко как создать полностью новый виджет, так и расширить или изменить уже существующий. В этом посте я расскажу как это делать.
Читать дальше →
Всего голосов 16: ↑15 и ↓1+14
Комментарии19

JavaScript: проверьте свою интуицию

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

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

Ответы и свой вариант объяснения почему такое поведение логично, как и в прошлый раз, я буду скрывать под спойлером. Сразу оговорюсь, что не претендую на непоколебимую истину своих версий и буду рад их обсудить. В разгадывании вам может помочь отличный русский перевод спецификации ECMAScript 5, за который большое спасибо iliakan!

1. Главный вопрос жизни, вселенной и всего такого

"3" -+-+-+ "1" + "1" / "3" * "6" + "2"

Решение
"3" -+-+-+ "1" + "1" / "3" * "6" + "2" == "42"

Как мы уже знаем из прошлого поста оператор “+” выполняет либо конкатенацию строк, либо сложение, либо приведение к числу. Т.е.
“3” + 2 == “32”

а не 5, как можно было бы подумать.

Кроме этого, вы можете бросить унарный оператор “+” или “-” на выражение, чтобы изменить его знак и сделать вещи красивее и читабельнее.

С учетом всего вышесказанного:
+ “1” === 1
-+ “1” === -1
+-+ “1” === -1
…
-+-+-+ === -1
"3" -+-+-+ "1" === 2  //вычитание производится над числами


Дальше вспомним приоритет операций: / * +
“1”/”3” === 0.3333…
“1” / ”3” * ”6” === 2
2 + 2 === 4
4 + “2” === “42”


Читать дальше →
Всего голосов 60: ↑49 и ↓11+38
Комментарии17

Построение собственного JS SDK — зачем и как?

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

Если вы пишете SDK для внутренних нужд единственного проекта, то многие вещи упрощаются: вопросы обратной совместимости стоят не так остро, вместо написания подробной документации можно лично ответить на вопросы коллеги, а обнаруженные ошибки относительно легко включить в проект. Если SDK делается для всех проектов крупной компании, то проблем становится намного больше. Но если ваш SDK предназначен для сторонних разработчиков по всему миру, то без таких вещей, как хорошая документация и автотесты, обойтись просто нельзя. Именно к последним можно отнести наш APS JavaScript SDK, и в этой статье я хочу рассказать о том, как он устроен и как мы стараемся максимально облегчить жизнь сторонним разработчикам, которые используют или будут использовать наш SDK.

Слайды для тех, кто не любит читать многобукв.

И для самых нетерпеливых: что у нас получилось и наша песочница.
Читать дальше →
Всего голосов 33: ↑30 и ↓3+27
Комментарии0

Готовим IndexedDB

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


На Хабре уже рассказывали про IndexedDB — стандарт хранения больших структурированных данных на клиенте. Но это было давно и API сильно изменился. Несмотря на это в поиске статья всплывает одной из первых и вводит в заблуждение многих, кто начинает пытатся работать с этой технологией. Поэтому я решил написать новую статью с информацией об актуальном API.
Читать дальше →
Всего голосов 28: ↑27 и ↓1+26
Комментарии8

JavaScript: проверьте свою интуицию

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

На Хабре уже разминались и развлекались кажущимися нелогичностями JavaScript. По-моему, такие примеры отличный способ размять мозги после длительных новогодних праздников, поэтому предлагаю вам подумать над 10 задачками.

Ответы и свой вариант объяснения почему такое поведение логично я буду скрывать под спойлером. Сразу оговорюсь, что не претендую на непоколебимую истину своих версий и буду рад их обсудить. В разгадывании вам может помочь отличный русский перевод спецификации ECMAScript 5 за который большое спасибо iliakan!
Начать разгадывать
Всего голосов 120: ↑99 и ↓21+78
Комментарии68

Релиз openSUSE 13.1

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


Сегодня вышел новый релиз популярного дистрибутива openSUSE 13.1.

Интересные нововведения:
  • Linux 3.11
  • GCC 4.8
  • обновлен systemd
  • X Server 1.14.0
  • GStreamer 1.0
  • KDE 4.11
  • GNOME 3.10

Более подробно о новшествах релиза под катом.

Читать дальше →
Всего голосов 49: ↑46 и ↓3+43
Комментарии17

GNOME Shell Extensions

Время на прочтение3 мин
Количество просмотров48K
В комментариях к новой версии GNOME3 в процессе обсуждения недостатков среды предсказуемо стали проскакивать различные рецепты борьбы с ними с помощью расширений. С помощью беглого поиска по Хабру я нашел несколько статей описывающих конкретные расширения и ссылку на единую базу расширений. Статьи за два года заметно устарели, а базой, по-моему, можно пользоваться только путем перебора всех имеющихся расширений. Поэтому я предлагаю обсудить и собрать в одном месте кто какие расширения использует и какие лучше. Вероятно кто-то среди предложенных расширений найдет решение своей проблемы и обретет счастье. Для затравки опишу расширения, которые кажутся мне интересными и полезными. Кто заинтересовался — прошу под кат.

Осторожно! Много иллюстраций.

Читать дальше →
Всего голосов 33: ↑32 и ↓1+31
Комментарии11

10 причин почему ваш проект должен использовать Dojo Toolkit

Время на прочтение15 мин
Количество просмотров42K
Dojo Toolkit это одновременно самый мощный и наименее используемый JavaScript фреймворк. В то время, как почти каждый JavaScript фреймворк или тулкит обещает сделать все на свете и даже больше, Dojo Toolkit предоставляет наиболее убедительные аргументы в доказательство своей функциональности. В этом посте будут описаны многие важные возможности Dojo Toolkit, а также будет рассказано, почему вы должны использовать его в своем следующем проекте.
Читать дальше →
Всего голосов 56: ↑39 и ↓17+22
Комментарии21

Информация

В рейтинге
Не участвует
Откуда
Москва и Московская обл., Россия
Дата рождения
Зарегистрирован
Активность