Рубрика «json» - 22

Всем привет. Большую часть времени я занимаюсь управлением разработкой проектов shopium.ua и zakaz.ua, но инженер внутри меня периодически требует развлечений. Не имея свободного времени на хакатоны, гаражи, стартап-сауны и прочее, я придумал себе свой формат «покодить чего душа пожелает»:

  • нужен мне самому
  • время на реализацию MVP — до 24х часов в сумме
  • бюджет — до $100
  • коммерческий потенциал

В наших проектах мы шлём пользователям письма. Мы шлём пользователям информационные рассылки, и с этим прекрасно справляется MailChimp, но ниша отсылки транзакционных писем (подтверждения, уведомления и т.д.) до недавнего времени была относительно пуста.

В большинстве проектов, которые я знаю, транзакционные письма прямо в коде создаются из шаблона письма (и хорошо если он вынесен в отдельные файл, а не зашит рядом в коде), и передаются локальному SMTP серверу. И при этом:

  • менять текст сообщений могут только программисты (это медленно и дорого, и при этом невозможно делегировать работу с текстами контент-менеджеру, а для любого изменения текста писем нужен редеплой системы)
  • не отслеживается открытие писем и клики по ссылкам (нет данных для улучшения текста письма)
  • не обрабатываются bounce (можно постоянно слать письма на несуществующие адреса, а это влияет на показатель «спамности» адреса, с которого шлются письма)
  • лишь у некоторых реализована подпись писем через DKIM (тоже уменьшает шансы на доставку письма в inbox)

Я решил за 24 часа сделать сервис, с помощью которого можно будет надёжно слать красивые письма, быстро менять их текст, и отслеживать статистику. Встречайте Notifout.
Читать полностью »

QJson как библиотека для работы с JSON в Qt
Привет!

На хабре еще не писали про QJson — отличный и очень простой инструмент для работы с JSON на Qt. Вообще Qt рекоммендуют использовать XML — но мне кажется что в очень многих случаях он бывает чересчур уж избыточным или лишним. В некоторых случаях лучше использовать JSON. В этой заметке я расскажу как скачать, собрать и использовать QJson для работы с JSON в Qt.

Внимание! Этот пост — заметка. Все что вы тут прочитаете можно найти в гугле и на офф сайте проекта — но я думаю что такая заметка не будет лишней.
Читать полностью »

О грустном

Сидел я вчера на очередном интервью, грустил, что javax в меня какашками кидается, и слушал печальную историю соискателя о том, как он мучался пытаясь прикрутить сериализацию в JSON к модели на Java не имея ее исходников. От вида его попыток настроение мое не улучшилось.
Мы попробуем лучше, потому что, в отличие от него, мы знаем про Groovy.
Этот пост является более-менее продолжением вчерашнего. Им хотелось бы убить мешок зайцев:

  1. Показать реальный пример мета-программирования на Groovy
  2. Показать немного более навороченный способ работы с мета-классами
  3. Показать работу с json-lib в Groovy
  4. Рассказать про dependency management для бедных

Читать полностью »

1) Полная документация на русском, покрытие юнит-тестами

2) Привычная работа с JSON в dot-нотации и легкий доступ к данным.
Т.е получение значения var settings = model('user.data.settings');
равнозначно записи в чистом JS var settings = user && user.data && user.data.settings !== undefined ? user.data.settings : null;
Вам больше не нужно заботится о проверке всех частей цепочки доступа к данным.

3) Малый вес библиотеки (~20 кб в минимизированном виде, в gzip будет совсем копейки).
Для сравнения вес других библиотек, решающих похожие задачи:

4) Используйте свой любимый фреймворк для работы с DOM и шаблонизатор (я рекомендую jQuery + JSrender) Читать полностью »

Всем привет!
Хочу поведать сообществу про одну библиотеку, над которой я уже работаю продолжительное время.

Немного предистории или с чего всё началось

В своё время я узнал про такие замечательные инструменты как Knockout и Backbone.
Вначале я прочитал документацию по Backbone, посмотрел демо-пример и это всё меня немного напрягло.
Слишком много абстракции и кода, хотелось что-то попроще, но с той же гибкость разделения логики приложения.
Далее, почитав про KnockoutJS и пощупав его в действии в песочнице я пришел в некоторый восторг от паттерна MVVM.
Немного поработав с Knockout мне так и не удалось попробовать его в реальном проекте (я работаю в яндексе), хотя по ходу работы я прикидывал в целом, подойдет ли он нам или нет.Читать полностью »

Не так давно начал использовать jQuery.ajax. В процессе написания одного скрипта обнаружил, что нельзя немедленно использовать ответ ajax запроса. В моём случае запрос передается серверному скрипту, который в свою очередь со стороннего домена наполняет json файл. Наполнение firebug-ом отслеживается от 12 до 20 секунд, что достаточно долго по моим меркам (нельзя заставлять людей столько ждать). Придумал следующий выход из ситуации:

Вводим глобальную переменную (дата, курс валют к рублю):
var jscurr = jQuery.parseJSON('{"data":"2012-01-22","USD":31.9344,"EUR":40.3842,"UAH":3.98135}')

Наш запрос на внешний сервер:
Читать полностью »

Одна из моих любимых тем в программировании – эволюционные вычисления и генетические алгоритмы в частности. Пару лет назад я поднимал эту (в целом уже заезженную) тему на Хабре, но сейчас глядя на то видео немного стыдно – слишком уж туманно и сумбурно было объяснение.
Сегодня я постараюсь объяснить генетические алгоритмы проще и нагляднее, а заодно рассказать вкратце о прототипе очень простого JavaScript-фреймворка для распределенных генетических вычислений degas.js. В двух словах – degas.js запускает генетический алгоритм в виде «треда» в браузере клиента используя web workers и обменивается информацией о полученных в ходеЧитать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js