Работа с odtPHP: подключаем картинки

В последнее время я всё глубже погружаюсь в Yii и вообще php-инфраструктуру. К сожалению, некоторые библиотеки авторы забросили, и приходится их дотачивать под свои нужды. Одной из таких является odtPHP, которая шаблонизирует odt документы. Мне казалось, что такая задача весьма распространена, ан решений всего парочка, и odtPHP понравилось мне больше всего. (Если кто-то использует что-то другое для работы с OOo из-под php, пожалуйста, отпишитесь). Однако, картинки она вставляет настолько криво, что современный LibreOffice напрочь отказывается читать документ.

Деплой Django+uWSGI+Nginx

Несколькими статьями ранее я рассказывал как на одной странице вывести список объектов и форму для добавления нового. Пришло время запульнуть это приложение на сервер :) Для этого нам понадобится nginx (1.4.6), uwsgi (1.0.3), virtualenv (1.7.1.2), supervisor. Определимся, что файлы проекта будут лежать в /var/www/tyvik/markettyvik. Установка виртуального окружения 🔗Любое приложение на Django по-хорошему надо поместить в песочницу, чтобы пакеты, которые оно требует, не конфликтовали с системными. Для этих целей есть специальные пакеты virtualenv и virtualenvwrapper.

Перевод: "Руководство: используем AngularJS вместе с Django"

Данный материал сильно устарел и оставлен лишь для истории Оригинал: ‘Tutorial: Using AngularJS with Django’ by Glyn Jackson Я надеялся написать простенькое руководство по использованию Angular вместе с Django. В том, что получилось, есть заслуга Red Bull. Прошу прощения за несколько скомканный конец! Прочитав несколько статей, посвящённых Angular+Django, мне показалось, что все изобретают свои велосипеды. Пример, приведённый в этой статье, сыроват, но он должен показать как я использую эту связку.

Django: список с формой добавления

Для одного из своих pet-проектов понадобилось реализовать список с формой добавления туда элемента. Как оказалось, в Django это несколько нетривиальная задача. Все, кто работал с этим фреймворком, знают про class-view (CreateView, ListView…): вызываешь as_view с нужными параметрами в urlconf и всё готово :) Но класса типа ListAndCreateView я не нашёл. Хотя, как мне кажется, это довольно распространённая задача. Немного погуглив, я нашёл два ответа на SO (1, 2) на подобный вопрос.

Прощай DynDNS, да здравствует no-ip

В связи с отключением бесплатных аккаунтов на dyn.com появилась необходимость перейти на что-то похожее. Вкратце, этот сервис предоставлял возможность получить статичное имя на динамический белый IP. Было удобно, т.к. он поддерживался моим модемом, который отвечал за это. Увы, халява кончилась :( Первое, что я придумал - написать скриптик, который бы лез на internet.yandex.ru, получал IP и писал его в файлик, который синхронизировался с каким-нибудь облаком. Всё отлично, но на домашнем компе был установлен только клиент Dropbox’а, а он имеет привычку уведомлять о том, что какой-то файлик изменился, что очень раздражает, т.

Инфраструктура Erlang: с чего начать?

Посмотрев замечательную вводную от Юрия Жлобы, я понял, что писал под YAWS совсем не так, как нужно. Всё-таки без OTP, на чистом erlang, трудно делать серьёзные вещи. Вот и стал копать глубже в инфраструктуру этого языка: узнавать какие есть веб-сервера, библиотеки, концепции и правила. Посему эта заметка будет от новичка для новичка :) С чего же начать? 🔗Прежде всего основы следует изучить на RSDN (там же и про обработку ошибок). После этого стоит посмотреть видео по ссылке выше.

Python API для Яндекс.Диск

Дело было вечером, делать было нечего, вот и решил я написать обёртку для Яндекс Диска на python, дабы потом прикрутить скрипты бекапа для своих VPS. Готовое решение можно посмотреть на github или установить через pip: pip install YaDiskClient. Прежде чем начать, как полагается, посмотрел что же уже реализовано. Есть одна библиотека на PHP, которая удовлетворяет всем моим требованиям за исключением языка - хочется всё же работать на питоне. На pypi нашёл наработку от lexich.

Создание персонального VPS

Задался я целью сделать себе виртуалочку, куда в дальнейшем переедет блог и демо всяких моих наработок. К тому же и жена себе фотосайтик захотела :) Делов-то: развернуть систему, выбрать имя и перенести проекты. А проектов много, и все они разные - тут и erlang, и django, и ruby… В общем, небольшая тренировочка, хотя дома и так всё успешно работает. Выбор виртуалки 🔗Остановился я на серверах от DigitalOcean, выбрал самый базовый тариф: 512Mb ОЗУ, 2.

Установка PostgreSQL 9.6 на Ubuntu 16.04

Что-то мне в последнее время честенько приходится ставить postgres. То на новый боевой сервер, то на свою персональную VPS, так что я решил написать заметочку на будущее. Авось и ещё кому-нибудь пригодится :) Процесс установки я буду описывать на голой системе (ubuntu 16.04), и все команды будут от root’а. Так работать, конечно, не принято - все мы знаем, что sudo наше всё, но здесь я ничем не рискую, а пользователя добавлю уже после описанного.

Про кодировки: Должна остаться только одна!

Сегодня пришлось мне повозиться с кодировкой строк. Задача: записать в базу русские буквы. Реализация: Python (MySQLdb) + MySQL + OS X. Не зря я здесь указал платформу ;) Казалось бы, тривиальная задача, ан нет - в таблицу падали крякозябры. Сначала я грешил на питон с его странными строками (Python 2.7). Известно, что обычная строка там - просто последовательность байтов. Получить юникодную строку можно несколькими способами: указать в начале файла # -*- coding: UTF-8 -*-, т.