Как стать автором
Обновить
33
0
Тимофей Яценко @thekip

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

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

Как не стать спамером со своей уютной рассылочкой

Время на прочтение1 мин
Количество просмотров67K
image
Пользователь когда-то подписался на рассылку, но уже забыл когда, и главное зачем. Теперь ежедневно к нему падает спам, а по собственному опыту он знает, для того чтобы отписаться нужно зайти по ссылке свой профиль, найти и снять там какую-то галку а главное, помнить свой логин и пароль на давно забытом им сайте.
Его действия? «В спам!»

А по другую сторону баррикад находитесь Вы с вашей уютненькой подписочкой, полезной информацией и очень удобной системой отписки, о которой пользователь так никогда и не узнает.

И вот, с десяток таких «отписок» и гугл будет удобно отсортировывать ваши рассылки в папочку Спам (584), у ВСЕХ ваших подписчиков.

Однако многие из нас уже успели заметить: некоторые письма в Gmail при попытке отметить их «В спам!» САМИ предлагают отписаться от рассылки в один клик.

Эта фича была введена google более года назад, но лишь единицы рассылок научились ей пользоваться. И не удивительно. В рекомендациях по осуществлению массовых рассылок, лишь косвенно упоминается о том, что Вам нужно сделать.
А сделать нужно не многое.
Читать дальше →
Всего голосов 238: ↑230 и ↓8+222
Комментарии60

Почтовая кухня #1: DNS

Время на прочтение3 мин
Количество просмотров66K
Думаю, многим будет интересно наконец-то узнать, как работает почта. В нескольких статьях я попытаюсь максимально простым языком расписать все основные вопросы, связанные с работой электронной почты вообще и нужными настройками — в частности.

Часть 1 - DNS.
Всего голосов 97: ↑93 и ↓4+89
Комментарии76

Job-реклама

Время на прочтение1 мин
Количество просмотров8.9K
Для IT-компаний стало доброй традицией жаловаться на то, что хороших разработчиков невозможно найти и уж точно сложно заманить. В связи с этим хочу спросить у вас, как вы ищете работу и на что обращаете внимание при выборе компании?
Всего голосов 40: ↑23 и ↓17+6
Комментарии22

Разработка web API

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

Интро


Это краткий перевод основных тезисов из брошюры «Web API Design. Crafting Interfaces that Developers Love» Брайана Маллоя из компании Apigee Labs. Apigee занимается разработкой различных API-сервисов и консталтингом. Кстати, среди клиентов этой компании засветились такие гиганты, как Best Buy, Cisco, Dell и Ebay.

В тексте попадаются комментарии переводчика, они выделены курсивом.

Собираем API-интерфейсы, которые понравятся другим разработчикам


Понятные URL для вызовов API

Первый принцип хорошего REST-дизайна — делать вещи понятно и просто. Начинать стоит с основных URL адресов для ваших вызовов API.

Ваши адреса вызовов должны быть понятными даже без документации. Для этого возьмите себе за правило описывать любую сущность с помощью коротких и ясных базовых URL адресов, содержащих максимум 2 параметра. Вот отличный пример:
/dogs для работы со списком собак
/dogs/12345 для работы с отдельной собакой
Дальше
Всего голосов 235: ↑224 и ↓11+213
Комментарии128

Yii, непрерывная интеграция — как не сломать все

Время на прочтение7 мин
Количество просмотров32K
Мы часто экспериментируем с архитектурой, кодом, производительностью. Постоянно добавляем новый функционал. Мы постепенно обвязываем Yii своей “архитектурной” прослойкой — шардинг, работа с временно недоступными данными, разнообразные кеши и многое другое. Да, плод нашей работы, когда он будет заврешен, пойдет в Open Source.

Задача применяемой у нас Непрерывной Интеграции (Continuous Integration, CI) — не тестирование. Задача CI — обезопасится от разрушительных изменений в следствие рефакторинга, добавления нового функционала, изменений архитектуры. Также мы защищаемся от “плохого кода”, часто повторяющихся багов, “кривых” merge.

Для своего CI мы используем Jenkins под Debian. Время на развертку CI я затратил 12 часов — до полностью рабочего состояния. На поддержку CI я не трачу ни минуты в день — я не пишу тесты на каждую мелочь, не практикую TDD. Тем не менее, CI работает и спасает нас от глупых ошибок.

“Давайте будем внимательней”/”Давайте не делать ошибок” — взывал я к разработчикам, но это помогало лишь временно и то не на все 100%. Людям свойственно ошибаться, забывать, совершать оплошности. Нет, я не изобрел “серебряную пулю” для web-проектов и даже маленьку пульку для Yii — я придумал как стабилизировать свое приложение. Ваше приложение отличается от моего и мои методы у Вас могут не работать, да и не должны — я же делал их не для Вашего приложения, если мои методы работаю у Вас — примите это как чудо или как везение. Зато идея такого CI будет работать везде. Всего лишь идея.

Читать дальше →
Всего голосов 52: ↑47 и ↓5+42
Комментарии46

Обзор благотворительных проектов в рунете

Время на прочтение5 мин
Количество просмотров38K
imageКак обычно проходит ваш день? Будильник, дорога в офис или к рабочему месту фрилансера. Рутинные обязанности и новые проекты, задачи, заказы. Перерывы на покурить, пообедать, попить, поболтать в скайпе и вконтакте. Вечер, дорога домой, магазин, ужин или кино, пивная или телевизор, жена, дети, «как прошёл день?». Компьютер или планшет, те же вконтакте, одноклассники, жежешечка. Свежая серия очередного сериала, спать. Так живёт большинство, и я в том числе. В нашей жизни есть место лишь работе, семье и развлечениям. Мы ищем развлечений, они помогают нам не думать, расслабиться, отвлечься. Цивилизация эгоизма. «Ведь ты этого достоин». «Побалуй себя». «И пусть весь мир подождёт». Не знаю, как у вас, а у меня всё чаще возникает ощущение бесполезности, бессмысленности проживаемой жизни. Нет, конечно, смысл жизни находит каждый: забота о родителях, жёны-мужья, дети, самореализация, стать начальником, эмигрировать… Но человек суть животное социальное. Именно благодаря взаимосвязям, которые мы строим и поддерживаем с другими людьми, человеческое сообщество способно на всё то, на что оно способно. Как всевозможные мерзости, так и величайшие свершения и достижения. И умение объединять усилия ради благого дела, ради помощи, является важнейшим нашим преимуществом. Ведь никто из нас не застрахован от несчастий (тьфу-тьфу-тьфу!). Можно полагаться лишь на себя и на свою семью, но ежедневно множество людей сталкиваются с такими испытаниями и лишениями, с которыми не могут справиться самостоятельно. К чему я всё это веду? К тому, что есть немало людей среди нас, которые находят время, силы, средства на то, чтобы не только получить что-то от этой жизни, но и дать другим. Я про благотворительность. У каждого при этом слове возникают свои ассоциации, но сегодня я хочу рассказать не о благотворительности как таковой, а о благотворительных проектах в Рунете.
Читать дальше →
Всего голосов 56: ↑46 и ↓10+36
Комментарии19

Общая психология: usability

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

То есть как — психология?


Некоторые наши специализированные компании, предоставляющие услуги на рынке юзабилити, уже много лет укомплектованы дипломированными психологами (чаще всего, выпускниками кафедр инженерной или общей психологии). Действительно, уже более полувека русскоязычная психология исследует процесс взаимодействия человека и техники (первая наша книга по теме) и, в частности, интерфейсы между оператором и техническим устройством. Конечно, терминология эта носит сугубо эргономический характер, однако это не затрудняет перенос знаний в IT-среду (например, Дмитрий Сатин, основатель UsabilityLab, является выпускником самой эргономической кафедры факультета психологии МГУ).
Психологическое знание в России популяризируется слабо, хотя само по себе может быть очень полезным для разработки программных продуктов. Я попытаюсь коротко изложить некоторые базовые принципы проектирования — как их видно изнутри классических психологических (преимущественно, когнитивных) работ. Я уверен, что буфер, которым является юзабилити, IT-индустрии не нужен: психологические знания можно научиться применять напрямую.
Читать дальше →
Всего голосов 24: ↑21 и ↓3+18
Комментарии14

Резюме программистов. Часть 2 (хорошие)

Время на прочтение3 мин
Количество просмотров283K
Я сполна получил п***й за первый пост. Самое время писать продолжение! Итак, чего же мне надо от резюме разработчика?

Все ниже в порядке приоритета.

Код


Я хочу видеть код, которым вы гордитесь. Я хочу знать, как вы называете переменные, как декомпозируете систему, как проверяете входные условия и насколько любите все усложнять. Очень желательно, если будет описание проблемы, иначе понимание кода и решения затруднено.
Читать дальше →
Всего голосов 201: ↑135 и ↓66+69
Комментарии341

Скринкаст по Node.JS

Время на прочтение2 мин
Количество просмотров11K
Всем привет!

Если вы — разработчик, то вам наверняка известно: большинство полезной документации и скринкастов делается на английском.

Конечно, даже на английском много всего устаревшего, приходится порыться, но на русском — всё гораздо хуже. Многого просто нет.

Хотелось бы поменять эту ситуацию, с вашей помощью, хотя бы в плане Node.JS. Если проект будет успешен, то, возможно, и не только.



Читать дальше →
Всего голосов 81: ↑70 и ↓11+59
Комментарии23

Как на самом деле работает mod_rewrite. Пособие для продолжающих

Время на прочтение17 мин
Количество просмотров277K
image
Эта статья выросла из идеи продвинутого обучения наших сотрудников технической поддержки работе с mod_rewrite. Практика показала, что после изучения имеющихся в большом количестве учебников на русском языке саппортам хорошо дается решение шаблонных задач, но вот самостоятельное составление правил происходит методом проб и большого количества ошибок. Проблема заключается в том, что для хорошего понимания работы mod_rewrite требуется изучение оригинальной англоязычной документации, после чего — либо дополнительные разъяснения, либо часы экспериментов с RewriteLog.

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

Я предполагаю, что читатель уже знаком с тем, что такое mod_rewrite, и не буду описывать его основы, которые легко найти в интернете. Также нужно отметить, что в статье освещается работа mod_rewrite при использовании его директив в файле .htaccess. Отличия при работе в контексте <VirtualHost> изложены в конце статьи.

Итак, вы изучили mod_rewrite, составили несколько RewriteRule и успели столкнуться с бесконечными перенаправлениями, со случаем, когда правило почему-то не ловит ваш запрос, а также с непредсказуемой работой группы правил, когда последующее правило неожиданно изменяет запрос, кропотливо подготовленный правилами предыдущими.

Почему так происходит?
Читать дальше →
Всего голосов 208: ↑203 и ↓5+198
Комментарии25

Информация

В рейтинге
Не участвует
Откуда
Краснодар, Краснодарский край, Россия
Дата рождения
Зарегистрирован
Активность