Pull to refresh
55
0
Евгений Успенский @BuranLcme

Frontend Team Lead

Send message

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

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


Почему же так происходит?
Total votes 6: ↑6 and ↓0+6
Comments1

Что же такое RQL

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

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

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

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


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

Dojo 2

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

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

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

Reading time6 min
Views11K

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

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

Reading time4 min
Views30K

После новогодних праздников я уже предлагал сообществу размяться головоломными ситуациями в 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”


Читать дальше →
Total votes 60: ↑49 and ↓11+38
Comments17

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

Reading time14 min
Views15K

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

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

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

Готовим IndexedDB

Reading time7 min
Views77K


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

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

Reading time5 min
Views37K

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

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

Релиз openSUSE 13.1

Reading time2 min
Views43K


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

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

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

Читать дальше →
Total votes 49: ↑46 and ↓3+43
Comments17

GNOME Shell Extensions

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

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

Читать дальше →
Total votes 33: ↑32 and ↓1+31
Comments11

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

Reading time15 min
Views42K
Dojo Toolkit это одновременно самый мощный и наименее используемый JavaScript фреймворк. В то время, как почти каждый JavaScript фреймворк или тулкит обещает сделать все на свете и даже больше, Dojo Toolkit предоставляет наиболее убедительные аргументы в доказательство своей функциональности. В этом посте будут описаны многие важные возможности Dojo Toolkit, а также будет рассказано, почему вы должны использовать его в своем следующем проекте.
Читать дальше →
Total votes 56: ↑39 and ↓17+22
Comments21

Information

Rating
Does not participate
Location
Москва и Московская обл., Россия
Date of birth
Registered
Activity