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

Пользователь

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

Offline-first приложение с Hoodie & React. Часть вторая: авторизация

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

Наша цель, написать offline-first приложение — SPA которое загружается и сохраняет полную функциональность в отсутствии интернет-соединения. В первой части повествования мы научились пользоваться браузерной базой данных. Сегодня мы настроим синхронизацию с серверной бд и подключим авторизацию. В результате мы получим возможность редактировать наши данные на разных устройствах даже в оффлайне с последующей синхронизацией при появлении соединения.

Читать дальше →
Всего голосов 9: ↑8 и ↓1 +7
Комментарии 8

Offline-first приложение с Hoodie & React. Часть первая: браузерная база данных

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

Современный веб позволяет решать часть задач которые раньше были прерогативой нативных мобильных приложений. Мы с вами создадим веб-приложение (сайт) которое будет загружаться и сохранит полную функциональность даже в отсутствии интернета, а при его появлении автоматически синхронизируется с сервером. На мобильном устройстве для такого приложения достаточно создать ярлык и в плане автономности мы получим аналог нативного приложения.


Мы напишем подобие todo-листа, с одним отличием: "выполненные" задачи будут не удаляться, а переноситься в конец списка и по мере решения остальных задач всплывать вверх. Такой список удобно использовать для повторяющихся вещей, таких как различные спортивные активности, развлечения, еда и т.п. Одна моя социально-реализованная знакомая использует его, чтобы равномерно поддерживать контакт с многочисленной популяцией своей френдзоны.


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


Вы удивитесь насколько мало кода нам потребуется для реализации этого функционала.

Удивиться
Всего голосов 15: ↑14 и ↓1 +13
Комментарии 6

Окружение для разработки на aiorest (asyncio) + angular.js

Время на прочтение 4 мин
Количество просмотров 6.3K
В этой статье мы соберём вместе aiorest + jinja2 + angular.js + gulp.js + bower.js + nginx. В результате мы получим:
  • авто-перезапуск сервера при изменении python-кода и jinja-шаблонов
  • сборка, минификация и автоматическая пересборка при изменении клиентского js-кода
Начнём с главного — как пользоваться, а затем я подробнее опишу некоторые моменты реализации. Если вам легче читать код — вот ссылка на репу.

Читать дальше →
Всего голосов 15: ↑13 и ↓2 +11
Комментарии 6

Современный торнадо, часть 2: блокирующие операции

Время на прочтение 5 мин
Количество просмотров 16K
Улучшаем наш распределённый хостинг картинок. В этой части мы поговорим о конфигурировании приложения и подключим защиту от csrf. Затем, на примере создания миниатюр картинок, научимся работать с блокирующими задачами, запускать корутины параллельно и обрабатывать возникающие в них исключения.
Читать дальше →
Всего голосов 32: ↑31 и ↓1 +30
Комментарии 8

Современный Торнадо: распределённый хостинг картинок в 30 строк кода

Время на прочтение 3 мин
Количество просмотров 35K
Впервые слышите о tornado? Слышали, но боялись асинхронности? Смотрели на него более полугода назад? Тогда я посвящаю эту статью вам.
Там будут: gen.coroutines, обработчики, роутинг, шаблоны, motor, gridfs
Всего голосов 100: ↑89 и ↓11 +78
Комментарии 16

Логика хуков ShareJS

Время на прочтение 2 мин
Количество просмотров 3.8K
В цикле коммита ShareJS существует 4 хука. Реализацию двух из них (submit и after submit) вы можете посмотреть в коде ShareJS. А двух остальных (preValidate и validate) в коде LiveDB.

Читать дальше →
Всего голосов 10: ↑7 и ↓3 +4
Комментарии 2

Говорящий контекстный переводчик сайтов

Время на прочтение 1 мин
Количество просмотров 1.1K
Такая вот поделочка: translearn.ru

Перевод пока только англо-русский. Не найду озвучки для других языков. Может, подскажет кто?
Всего голосов 31: ↑24 и ↓7 +17
Комментарии 41

Выбор смс-биллинга под рутраф

Время на прочтение 2 мин
Количество просмотров 6.8K
В процессе выбора смс-биллинга под рутраф наткнулси на этот обзор: allpublication.ru/sms
Удобная штукенция, однако графа «комиссия биллинга или сколько получает партнер» вообще ни о чём.
Решил глянуть тарифы и сравнить.

Читать дальше →
Всего голосов 14: ↑8 и ↓6 +2
Комментарии 8

Рестарт демона mod_wsgi

Время на прочтение 1 мин
Количество просмотров 2K
Долго откладывал разобраться, так и релоадил апач целиком :)

@never_cache
def restart(request):
    ''' Перезапуск демона '''
    if request.META['mod_wsgi.process_group'] != '':
        import signal, os
        os.kill(os.getpid(), signal.SIGINT)
        ret = 'restarted'
    else:
        ret = 'not find porcess_group'
        
    return HttpResponse(ret, mimetype='text/plain')


UP: touch yourfile.wsgi
Всего голосов 9: ↑6 и ↓3 +3
Комментарии 6

Информация

В рейтинге
Не участвует
Откуда
Таиланд
Зарегистрирован
Активность