Паттерны проектирования на PHP
http://css.dzone.com/books/practical-php-patterns
PostgreSQL — генерирование повторяющихся значений для неупорядоченных данных
Была задача: есть некоторое количество заказов, которым оказались не назначены менеджеры, есть 3 менеджера, между которыми нужно распределить эти заказы равномерно. Легче всё сделать на php или python, но задача была сделать всё при помощи SQL-запроса без хранимых процедур и желательно одним запросом.
Добавить Thunderbird и Pidgin в апплет уведомлений в Ubuntu
Replace Evolution with Thunderbird completely in Ubuntu Replacing Empathy with Pidgin in Ubuntu — тут же упоминается и приятный бонус pidgin-а: его можно использовать как клиент skype — для этого нужно всего лишь доставить плагин pidgin-skype
Планирование и учёт рабочего времени
Читаю книгу Джоэла Спольски «И снова о программировании». Книжка несколько скаучная, постоянно рекламирует свою компанию и свои продукты, но есть и интересные главы (а книга собственно и состоит из отдельных глав — записей в блоге). Интересная глава — двадцатая, «Планирование с учётом прежних результатов» (http://www.joelonsoftware.com/items/2007/10/26.html). Основная мысль — надо учитывать всё время над задачей, неважно, …
Jabber на личном домене с использованием google
Проще всего сделать так: Зарегистрировать приложение Google (там всё просто — мастер настройки). В результате создастся приложение и учётная запись администратора. Можно использовать её, а можно создать новую. После этого в jabber-клиенте нужно указать логином user@domain, сервер — talk.google.com. Вот и всё. Встречал много статей про настройку через SRV-записи, но этот способ сильно проще.
Использование Twitter-API в PHP
Есть такая библиотека — twitter-async (лицензия — свободное распространение и использование). Из неё нужно включить в проект файлы EpiCurl EpiOAuth EpiSequence EpiTwitter Далее на twitter.com нужно завести приложение. После успешной регистрации Twitter выдаст полезные данные для oAuth-авторизации, нужны из них два: Consumer key и Consumer secret — это авторизационные данные приложения, их нужно сохранить где-нибудь, …
Локализация javascript в django
Продолжение записи Интернационализация и локализация django. Для перевода яваскрипта нужно В urls.py добавить урл для подгрузки функций интернационализации url(r’^jsi18n/$’, ‘django.views.i18n.javascript_catalog’, {‘packages’: (‘my_project’,),}) словарь packages должен содержать один из пакетов, указанных в INSTALLED_APPS. Добавить в шаблон подгрузку это скрипта <script type=»text/javascript» src=»/jsi18n/»></script> В нужных местах воспользоваться функциями gettext, ngettext или interpolate Создаём файл с переводами для …
Интернационализация и локализация django
На примере русского языка.
Factory-метод модели Django
Никак не мог придумать, как озаглавить статью). Просто есть две вещи, которые хотел упомянуть. Создаём метод класса, возвращающий модели класса, который может вернуть и только указанные поля всех удовлетворяющих условиям моделей. from django.db import models from django.contrib.auth.models import User from django.db.models import Q class Exercise( models.Model ): name = models.CharField( max_length = 255 ) is_paired …
Как проверить, какие порты слушаются какими программами в linux
Вывод всех портов и программ, которые их слушают: netstat -anp | grep LISTEN Или netstat -plutn Вот так можно посмотреть, кто слушает или обращается к определённому порту: lsof -i :