Pull to refresh
0
0

Web-проекты

Send message

Неприступный почтовый сервер, или жизнь без спама

Reading time11 min
Views198K
Борьба со спамом — это головная боль всех ответственных администраторов почты. Чего только они не изобретают, чтобы любимым пользователям лучше жилось. Однако, как показала практика общения со многими системными администраторами, почему-то далеко не все представляют как правильно фильтровать спам.

Чаще всего встречается подход «добавим кучу RBL (DNSBL) и будем радоваться жизни». Подход не верный чуть более, чем полностью. Второй по популярности — контент-фильтры, зачастую купленные за бешеные деньги. Такой подход тоже в большинстве случаев совершенно неоправдан.

А ведь всё так просто, для спокойной жизни достаточно всего лишь пристально присматриваться к трём заголовкам входящей SMTP сессии. Порывшись на Хабре и в закоулках интернета так и не нашёл исчерпывающей статьи на тему правильной настройки SMTP сервера с точки зрения противодействия спаму. Поэтому решил расписать всё, что знаю на эту тему сам и чем успешно пользуюсь.

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

Итак, если вы хотите обезопасить своих пользователей от спама или наоборот, хотите чтобы кто-то случайно не обезопасил пользователей от ваших писем — добро пожаловать под кат.

Читать дальше →
Total votes 158: ↑140 and ↓18+122
Comments149

Настройка и оптимизация MySQL сервера

Reading time9 min
Views313K
В этой статье будут описаны различные настройки MySQL, преимущественно те, которые влияют на производительность. Для удобства все переменные разделены по разделам (базовые настройки, ограничения, настройки потоки, кэширование запросов, тайминги, буферы, InnoDB). Сначала уточним имена некоторых переменных, которые изменились в версии 4 MySQL, а в сети продолжают встречаться и старые и новые варианты имен, что вызывает вопросы.
Читать дальше →
Total votes 180: ↑171 and ↓9+162
Comments19

Avaya IP Office для чайников

Reading time10 min
Views213K
Для Хабра.
Эту свою статью после долгого затишья хочу посвятить телефонии и организации конференц-связи. Вообще-то я специалист иного профиля и занимаюсь сетями и оборудованием, но по долгу службы столкнулся и с АТС.
Раньше я считал классическую телефонию мистической сферой знаний, загадочной и необъяснимой. Со временем, конечно, выясняется, что это заблуждение, однако остаётся неприятный осадок от количества информации. Если для IP в интернетах массы литературы, форумов, FAQ и прочего, и только ленивый не писал своих статей на эту тему, то с телефонией сложнее. Для меня — человека, пришедшего в телефонию со стороны IP-сетей, это выглядит, как тайное искусство, традиция, передающаяся из поколения в поколение, особенно, когда посмотришь на ужасающего вида советские плинты размером со стену, в которые телефонные провода крепятся болтами или АТС, из которых во все стороны расходятся скрученный провода, как волосы медузы Горгоны.

image
Читать дальше →
Total votes 82: ↑77 and ↓5+72
Comments92

Бизнес-планирование

Reading time4 min
Views8.9K
Приветствую, Хабрахабр.

В первую очередь хочу поблагодарить ssneg за инвайт, а также опубликовать статью, за которую я его получил.

Дело в том, что я учусь по финансовой специальности, и одним из курсов, которые я изучаю, является предпринимательство и бизнес-планирование. Поэтому в процессе курса я хочу делиться полученными знаниями с Хабром. Надеюсь, мои статьи заинтересуют вас, если нет, по крайней мере, вы будете знать, чему учат в американских бизнес-школах.

Эта статья является началом цикла статей о бизнес-планировании. В рамках цикла предполагается подробное рассмотрение этапов подготовки бизнес плана – начиная от зарождения идеи и заканчивая нюансами получения финансирования.

Итак, бизнес. Преимущественно мы говорим о т.н. стартапе, когда бизнес основывается с нуля. Вы приняли это решение, и неважно, как вы к нему пришли — возможно, у вас появилась идея, возможно, вам просто не хочется просто работать на кого-то. Есть распространенное мнение о том, что для бизнеса нужен существенный начальный капитал. Начальный капитал необходим, но не обязателен, и существует ряд успешных примеров бизнеса, основанного практически на карманные расходы. Как говорит один из моих профессоров, бывший член совета директоров Exxon Enterprises и Genesis Group – «основывая стартап, не заботьтесь о капитальных вложениях, просто докажите, что ваш бизнес способен приносить доход и что вы способны им управлять, и тогда у вас не будет недостатка в капитале».

С чего начать?


Читать дальше →
Total votes 61: ↑53 and ↓8+45
Comments40

Как начать работу над стартапом?

Reading time6 min
Views14K
Топик навеян впечатлениями от докладов на swpiter и постом о том, как не продать машину :)

Как работать над стартапом и всегда оставаться в выигрыше?


Суть в чём, есть некая порция работы, которую нужно сделать перед тем, как начинать тратить свои деньги. Я попытался описать последовательность этих действий.

Картинка слева кликабельна, а ниже — текстовое описание в 12 шагах как инициировать стартап и при этом всегда оставаться в выигрыше.

1. Идея!


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

Самое важное в идее — это не терять мотивацию вплоть до 10 шага и тогда вы в любом случае получите для себя выгоду.

2. Детализация идеи


Необходимо хотя бы примерно ответить на эти вопросы:
  • область применения
  • какие задачи поможет решить
  • какие инструменты применяются для решения задач
  • что вы хотите получить в процессе и в результате реализации
  • какие-то существенные моменты, которые вам просто необходимо изложить, чтобы не потерять в будущем
На этом этапе ещё рано отвечать на вопросы:
  • сколько времени вы можете уделить (если идея вас реально интересует, вы перейдёте к следующим этапам)
  • сколько на это нужно денег
  • кто вам ещё нужен для реализации идеи
Читать дальше →
Total votes 153: ↑133 and ↓20+113
Comments52

Как не продать машину

Reading time4 min
Views1.5K
Заметка навеяна постом Помогите, а то я скоро сойду с ума (реальная история, реальной разработки проекта), затем была опубликована как комментарий, а теперь, по просьбам, и как топик.

Здесь не обсуждается маркетинг. Считается, что вы представляете себе идею, понимаете на кого рассчитан сервис и как он будет окупать себя и приносить прибыль (не обязательно в деньгах).

И так, как же разработать стартап лучше?

Пошаговый план эффективного запуска первой версии:

Читать дальше →
Total votes 108: ↑79 and ↓29+50
Comments34

Микрозаметка: Итераторы/Генерация диапазонов дат, чисел и тд

Reading time3 min
Views1.7K
Эта заметка навеяна топиком "подсчет количества событий календаря в каждом месяце года". В ней нет ничего нового, это просто микрозаметка о возможных решениях.
Хотя задача того топика очень типична и вполне спокойно решалась обычным проходом с case или if:
SELECT
sum(
 CASE
  when t.`start_date`<'2010-02-01' and t.end_date>'2010-01-01'   then 1
  else 0
 end
)
AS jan,
sum(
 CASE
  when t.`start_date`<'2010-03-01' and t.end_date>'2010-02-01'   then 1
  else 0
 end
)
AS feb,
...
FROM test t


Но я счел нужным написать о некоторых возможностях избежать излишнюю ручную работу. Например, если нам необходимо бы было агрегировать не за год и не за два, а, скажем, за последние 5 лет помесячно. Согласитесь, в таком случае 60 строк c if'ами было бы как минимум тяжело читать.
Читать дальше →
Total votes 33: ↑29 and ↓4+25
Comments15

Грабли при верстке HTML писем

Reading time3 min
Views103K
Довольно часто наши клиенты устраивают регулярные рассылки с новостями. Почти всегда их не устраивают текстовые рассылки или простое оформление HTML рассылок. Наши дизайнеры вовсю креативят, а мы потом набиваем шишки при верстке их макетов с корректным отображением во множестве почтовых клиентов.

Ниже список встретившихся нам особенностей и способы их разрешения (как то упорядочить их мне не удалось, поэтому всё идет единым списком)
Читать дальше →
Total votes 282: ↑273 and ↓9+264
Comments77

Свободное ПО: «проверка лицензионности»

Reading time7 min
Views57K
Перед руководством организации, которая перевела свои компьютеры под управление «свободных» операционных систем, постоянно маячит угроза «проверки хозяйственной деятельности». Среди прочего, проверять она будет и лицензионность установленного на компьютерах программного обеспечения. И, разумеется, унесет весь компьютерный парк «на экспертизу», не найдя на привычном месте «лицензионной наклейки» от Windows.

О реальности такого исхода и о том, как с такими «проверками» бороться, мы сегодня и поговорим.

Реальна ли угроза?

Читать дальше →
Total votes 140: ↑135 and ↓5+130
Comments121

История развития и оптимизаций одного высоконагруженного ресурса

Reading time5 min
Views14K


Введение

Все началось с того, что я стал системным администратором у одного провинциального Интернет-провайдера. Помимо администрирования различного рода ресурсов, мне в присмотр достался один молодой, но бурно развивающийся ресурс. Ресурс представлял из себя классический LAMP проект. Сайт, на котором генераторами контента являлись обычные пользователи.
* К слову, в то время я ничего не понимал в *nix системах, хоть и все сервера которые мне достались, были именно на нем, разбирался я во всем этом достаточно быстро.

Как обычно бывает с ресурсами, набирающими популярность, железки на которых все крутится, перестают справляться. Ресурс стоял на стареньком двухпроцессорном сервере, на котором крутились практически все сервисы для пользователей. В то время начальство не воспринимало ресурс как нечто стоящее вложений, поэтому, к моему сожалению (а позже – счастью), денег под новую железку мне не выделяли.
Читать дальше →
Total votes 208: ↑198 and ↓10+188
Comments56

Об управлении временем, саморазвитии и деньгах

Reading time8 min
Views13K
Я хочу рассказать о том, почему в отдельности не работают подходы, которые люди начинают применять, прочитав ту или иную книгу из области time-management или управления финансами.

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

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

А когда мы говорим об управлении временем, часто случается следующее. Человек прочитал одну книгу, один день попробовал вести хронометраж — бросил, лениво. Написал план на неделю, месяц, год, и ни разу их не открыл. На следующий день писал план первые три дня, а потом забросил — ибо ничего не успевал.

Или с деньгами.
Читать дальше →
Total votes 136: ↑117 and ↓19+98
Comments86

Строим плагиноориентированную модульную систему

Reading time4 min
Views3.4K
Года три назад у меня роились идеи относительно того, как создать такое ядро системы, которое позволяло бы быстро и эффективно расширять его функционал с помощью подключаемых модулей, расширений. При этом нужно было минимизировать проблемы, которые возникают у плагинописателей при развитии продукта, проблемы совместимости множества плагинов.

С одной стороны задача не представляет проблем, достаточно дать разработчикам богатое API по работе с системой. Но с другой стороны, если изучение системы будет требовать слишком много трудозатрат, то она никогда не обретет популярности. Тщательное документирование в быстроразвивающихся проектах зачастую не работает, значит нужно использовать самые простые механизмы, которые позволят в кратчайший срок понять начинающему плагинописателю, как все работает.

Данная статья рассчитана на начинающих программистов, которые ищут идеи подобной архитектуры для реализации своих проектов.

Читать дальше →
Total votes 70: ↑55 and ↓15+40
Comments107

DNS вашего домена: проблема и защита

Reading time3 min
Views14K
В старые добрые времена наш проект неоднократно подвергался DDoS атакам разного типа, разной мощности и продолжительности. Мы отработали много разных методов защиты, а также оптимизировали саму структуру сервиса, частично в аспекте хостинга и расположения серверов. Важной частью выученного урока была правильная настройка DNS. Как показала последняя атака на Хабр и комментарии о проблемах, аналогичным нашим, не все уделяют защите DNS должного внимания, а очень и очень зря.

Коротко о главном
Total votes 49: ↑43 and ↓6+37
Comments52

Псевдографика в консоли Unix/Linux. Немного больше User Friendly чем вы могли себе позволить

Reading time14 min
Views32K
Привет! Бывает, хочется забыть о «скучной» консоли, разбавить ее хоть капелькой интерактива, особенно если часто приходиться делать одни и теже операции и тем более если вы пишите для облегчения своей участи скрипты. Итак, псевдографика. За мной читатель, я покажу тебе такую консоль!
Читать дальше →
Total votes 196: ↑186 and ↓10+176
Comments32

Подслушиваем в AD

Reading time3 min
Views48K

Введение
Я только недавно столкнулся с виндовыми доменами (Active Directory) и познаю много нового и удивительного. Так уж получилось, что значительное количество пользователей в домене организации имеют права локальных админов (технические специалисты, программисты и другие) (ведь не редко так бывает?). Но последствия от этого колоссальны. В данной статье мы рассмотрим как можно подслушивать звуки (разговоры, переговоры) на удаленных машинах.
Читать дальше →
Total votes 99: ↑80 and ↓19+61
Comments82

Защита от DDOS атаки случайными аргументами при помощи Nginx

Reading time1 min
Views3.3K
Я встретился с новым типом ботнета. Если старый долбил только в главную, то новый действует иначе. Он посылает множество запросов вида
GET someurl/?t1555ss5326=5326, где someurl — найденный ботом php скрипт.
Но если атакуемый сайт поддерживает ЧПУ, то такие запросы к нему должны отсутствовать в принципе. ЧПУ сейчас является стандартом де-факто, по этому можно смело отрезать такие запросы, логируя IP ботов.
Для этого очень удобен nginx, и его переменная is_args, которая имеет значение "?", если в URI идут аргументы. Базовая конструкция выглядит так:

if ($is_args = "?") {
return 403 444;
}

Очень просто и красиво, правда?
Вот как выглядит LA после включения этой защиты:
load average: 1.50, 3.09, 6.96
Текущий ботнет из ~20000 зомби, делают 5-8k одновременных запросов.
Total votes 94: ↑79 and ↓15+64
Comments55

Впечатляющие анимационные эффекты

Reading time2 min
Views115K
С появлением jQuery, у веб-программистов появилась возможность создавать впечатляющие визуальные эффекты, не прибегая к использованию технологии flash. В данной статье представлено несколько ярких примеров того, каких потрясающих результатов можно достичь, используя стандартные средства браузера и свое воображение.
Читать дальше →
Total votes 262: ↑246 and ↓16+230
Comments78

Мир это Я

Reading time3 min
Views511
Уважаемое хабросообщество, хочу представить вам свежий, интересный и амбициозный проект, над которым мы работали последний год. Встречайте, медийно-коммуникационная социальная сеть «Мир это Я!» — www.worldis.me

История.
Идея построить свой луна-парк, возникла 2 года назад. Идея переросла в намерение, а намерение в действие. Несколько суровых сибирских ребят начали рисовать, верстать, кодить, планировать и тестировать. Началось все, что называется «в гараже», по мере роста нашей команды, от однокомнатной квартиры с двумя компьютерами, далее до четырехкомнатной и далее до полноценного офиса, большой команды и сервера в хорошем датацентре. В итоге всех стараний, в сети появилась социальная сеть «Мир это Я!», с ярким лозунгом «Твой мир — твои правила».
Читать дальше →
Total votes 97: ↑63 and ↓34+29
Comments170

MySQL в tmpfs

Reading time5 min
Views14K
Хотелось бы поделиться опытом по использованию MySQL с хранением данных в памяти, а не на диске. Это позволило нам сократить load average сервера, который из-за операций с диском стал сильно расти.



Читать дальше →
Total votes 70: ↑66 and ↓4+62
Comments80

Жизнь в облаках

Reading time4 min
Views12K
Ещё недавно проблема синхронизации всего и вся меня мало волновала, как-то жил без этого, поскольку работал постоянно на одном компьютере, на ноутбуке хватало браузера с интернетом, основные пароли просто помнил или хранил зашифрованную базу на флешке.
Позже необходимость больше работать в разных местах на ноутбуке или втором компьютере привели к мыслям об организации дел. Варианты рассматривались следующие:
1. поставить на основном компьютере TeamViewer, чтобы он был всегда доступен.
2. использовать Dropbox для синхронизации всех необходимых файлов.
3. найти онлайн-сервисы для перенесения активности в них. Это решение позволит:
• работать с любого компьютера и любой ОС (хочется перейти на Линукс как основную ОС, оставив Винду для Старкрафта).
• не таскать с собой флешек и вообще даёт максимальный комфорт и независимость.
На этом решении и остановился, хотя всё ещё нахожусь в процессе поиска, хотел бы поделиться найденным и послушать советов по продолжению.

Итак, что переносим в онлайн?


Читать дальше →
Total votes 55: ↑45 and ↓10+35
Comments109

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Registered
Activity