Analitycs

понедельник, 21 мая 2012 г.

Memcache не запоминает данные больше чем на 30 дней (expiration time)

При при попытке сохраненить данных в Memcache на срок больше чем на 30 дней (2 592 000 секунд) - данные не запоминаются ВООБЩЕ.

Кто виноват и что делать?

Сохранять в timestamp + expiration time - на Tornado/Python это выглядит как-то так

from datetime import datetime, timedelta
import tornado.escape

class MyApplication():

    def get_expire_time(self):
        start = datetime.now()
        session_length = self.settings['session_time']
        
        delta = timedelta(seconds=session_length)
        expires = start + delta
        return expires

    def save_session(self, data)
        end_time = time.mktime(self.get_expire_time().timetuple())
            
        self.mc.set(key, tornado.escape.json_encode(data), end_time)

Навеяно StackOverflow

четверг, 17 мая 2012 г.

Корректная кодировка в email - Python+UTF8

В продолжение темы корректных заголовков в письмах, отправляемых различным веб-софтом.

Вчера понадобился аналогичный вариант для Python c UTF-8 с использованием quopri

from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText
import quopri

def QuoHead(String):
    s = quopri.encodestring(String.encode('UTF-8'), 1, 0)
    return "=?utf-8?Q?" + s.decode('UTF-8') + "?="

FIOin = "Андрей Петрович"
emailout = "some@test.ru"
emailin = "some2@test.ru"

msg = MIMEMultipart()
msg["Subject"] = QuoHead("Добрый день " + FIOin).replace('=\n', '')
msg["From"] = (QuoHead("Ирина Федоровна") + "  <" + emailout + ">").replace('=\n', '') 
msg["To"] = (QuoHead(FIOin) + "  <" + emailin + ">").replace('=\n', '')
m = """Добрый день.
  Это тестовое письмо.
Пожалуйста, не отвечайте на него."""


text = MIMEText(m.encode('utf-8'), 'plain', 'UTF-8')
msg.attach(text)
print(msg.as_string())


Найдено тут.

понедельник, 14 мая 2012 г.

Как установить MySQL SSH tunnel?

Если вам нужно приконектится к внешнему MySQL, а его порт 3306 закрыт firewall, то быстрейший способ получить желаемое (кроме установки пива админу) - это установить свой собственный SSH tunnel - с гейшами и шахматами.

Делается это так.

ssh -f -L 8080:my.super.puper.host.ru:3306 -l remote_user another.my.super.system.org sleep 60

Понятно, что SSH на firewall должен быть открыт.

После установки туннеля - уже обращаемся к самому себе:

mysql -h 127.0.0.1 -P 8080 -u user -p database

Можно жить.

суббота, 5 мая 2012 г.

Mail.ru втихую удаляет редиректы на другие почтовые сервисы

Восстанавливая пароль на один свой аккаунт, вспомнил, что зарегистрировал его на старый ящик на mail.ru, с которого уже года 4 как идет редирект на Gmail.

Винни-Пух подождал пять минут - письма не было. Он посмотрел на часы и подождал еще 10 минут... письма не было....

После чего Винни-Пух матюгнулся и полез на web-интерфейс Mail.ru. Письмо нашлось... вместе с 4724(!!!) письмами за полгода.

Причина наипростейшая - в настройках Mail.ru редиректа ВНЕЗАПНО исчез мой адрес на Gmail. При опросе знакомых выяснилось, что случай такого деликатного слива - далеко не единичный.

Вот такая вот "честная" конкуренция - надо же убегающих пользователей хоть как-то задерживать... К слову сказать - тенденция, Facebook тоже не безгрешен.

понедельник, 30 апреля 2012 г.

Facebook не посылает email сообщения?



Сегодня, зайдя в Facebook, заглянул в личные сообщения и с большим удивлением увидел два предложения об удаленной работе, датируемые - одно октябрем 2011, другое - декабрем 2011 + еще одно общего характера.


Все они были помечены как прочтенные, цифирьки-индикаторы не горели... Так как я со всеми своими партнерами общаюсь преимущественно через email - я и не знал, что эти сообщения там появились.

Оповещения на email я не получал, кстати - это точно. Единственый вариант - это то что они вдруг свалились в спам, хотя обычно этого не происходит.


Что самое обидное - в то время я еще был достаточно свободен, а сейчас - уже нет сил и возможности, да и не актуально скорей всего

Погуглив, понял, что проблема не единичная, так что теперь - буду смотреть внимательно.

воскресенье, 29 апреля 2012 г.

Востребованность Python Tornado/Twisted

Кстати - об асинхронных фреймворках и их востребованности.

Решил пробить количество вакансий на асинхронные фреймворки на Python - Twisted и Tornado.

Далее факты - и ничего кроме фактов.

Linkedin

  • python twisted - 10 вакансий против 1026 участников
  • python tornado - 14 вакансий  против 815 участников

HH

  • python tornado - 0
  • python twisted - 1 вакансия

Moikrug

  • python twisted - 2 вакансии
  • python tornado  - 1 вакансия

То есть в мире - на 1 открытую вакансию на асинхронный питон приходится 100 кандидатов для twsted и 59 - tornado.

Что интересней -  linkedin по запросу python django дает 208 вакансий 18469 участников - на 1 вакансию 71 потенциальный кандидат.

Что как-бы намекает...

Ну а php -  вообще полный ахтунг - 2060 вакансий и 634347 кандидатов -> 308 человек на одну позицию.

Кстати, хороший Python-dev с Торнадой/Twisted по прежнему - ищется.

пятница, 27 апреля 2012 г.

Яндекс-Директ тестирует новый дизайн объявлений?

Сегодня несколько раз заметил случайное появление нового дизайна Яндекс-Директа на сайте.

Выглядело это так

Вид объявления - более плотный, резко изменен стиль и цвет заголовка блока, ссылка "Все объявления" выделена серым background с фигурной "фишечкой".

При перезагрузке страницы - дизайн объявления резко сменился на обычный.


Экспериментируют, видимо...

 
Qzminn
Мы действительно тестируем новый дизайн блока на небольшой доле трафика. Для эксперимента цвета подбираются автоматически; в дальнейшем вы сможете гибко настраивать все элементы в блоке.
Для нас важно ваше мнение, поэтому мы будем рады любым отзывам о новом дизайне.