Pull to refresh
0
0
iLearner @iLearner

User

Send message

Массовая почтовая рассылка через Exim или как не попасть в спам

Reading time4 min
Views97K
Жизнь была прекрасна и все было в этом мире хорошо, пока почта с моего сайта не стала активно посылаться в спам практически всеми крупными почтовыми серверами. Особенно усердствовал в этом Gmail. Частенько меня принимали за спамера в Yandex, реже в mail.ru и rambler.
image
Исходя из совокупности представленных факторов стало понятно, что надо что-то делать с настройками своего почтового сервера Exim. Посмотреть, как это было сделано, приглашаю под хабракат.
Читать дальше →
Total votes 88: ↑80 and ↓8+72
Comments41

Обзор Копини в картинках

Reading time4 min
Views8.7K
Всем привет. Пора бы уже написать о самом сервисе Копини, а то все про внутреннюю кухню, офис да команду. Решили не мешать информацию о самом сервисе и том, почему мы решили сделать его бесплатным в одном посте (поэтому спрятали его в черновики и допилили). Об особенностях модели freemium в Рунете и почему мы выбрали ее для Копини подробно расскажу в следующем посте.



Предистория, для кого будет полезен сервис, пару кейсов, немного статистики и основные возможности под катом. Если лень читать, посмотрите презентацию о пользе и возможностях Копини.
Читать дальше →
Total votes 53: ↑38 and ↓15+23
Comments44

Двадцать вопросов, которые помогают разработать алгоритм

Reading time5 min
Views7.9K
Как разработать алгоритм, решающий сложную задачу? Многие считают, что для этого нужно «испытать озарение», что процесс этот не вполне рационален и зависит от творческой силы или таланта.

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

Если вы хотите решить сложную задачу, собирайте информацию в самых разных направлениях. Ответив на следующие 20 вопросов, вы легко выстроите план работы над задачей.
Читать дальше →
Total votes 95: ↑81 and ↓14+67
Comments28

Как засоряют ТОП

Reading time3 min
Views14K
Понятно, что мы — грамотные мега-юзеры Рунета, давно знаем, что не поиском единым попадает посетитель на сайт, да и от дешевой и тупой оптимизации толку в плане получения лидов и продаж никогда не будет. Но…

Часто к нам в офисе звонят и приходят люди, которым позарез нужно быть первым в ТОПе и именно по тем словам, которые они принесли. И вот тут начинается самое грустное.

Приведу несколько примеров, чтобы было понятно, о чем речь:
  • клиент — мясокомбинат. Хочет продвигаться по слову «сосиски» и «колбаса», даже не заглянув в выдачу и не подумав, что вменяемый человек не будет искать, где купить колбасу в интернете. Максимум — захочет получить рецепт домашних сосисок и колбасы
  • другой пациент — кондитерская фабрика. Хочет порвать ТОП по фразе «производство печенья». Вот только видимо, невдомек им, что по этой фразе ищут оборудования для создания цеха, а не производителя.
  • третий очень хочет получить высокие позиции по слову «мебель», хотя производит корпусную мебель, а слово это ассоциируется у большинства людей с мягкой мебелью.

Моя задача — объяснить клиенту, почему он не прав. И что ему не всегда этот ТОП нужен. Как не нужен и его покупателям.
Чистим-чистим список запросов
Total votes 105: ↑77 and ↓28+49
Comments49

Обзор свежих материалов, май-июнь 2010

Reading time7 min
Views989
Этот материал продолжает серию ежемесячных обзоров свежих статей по теме интерфейсов, новых инструментов и коллекций паттернов, интересных кейсов и исторических рассказов. В прошлом месяце вышла заминка с публикацией, так что эта подборка двойная.



Читать дальше →
Total votes 60: ↑53 and ↓7+46
Comments20

Кластерная LustreFS или с Миру по нитке

Reading time2 min
Views8.7K
#include

Зачастую, краеугольным камнем производительности работы сервера является скорость работы файловой системы. Её можно увеличить с помощью создания дисковых массивов RAID0 — запись/чтение побитово производится на оба диска, однако рано или поздно слоты под диски заканчиваются, надёжность RAID0 оставляет желать лучшего — при выходе одного из дисков, рушится вся система. RAID10 опять же упираемся в количество дисков.

Как альтернатива, использование сетевых фс. Наибольшее распространение получила NFS, но для боевых задач с её скоростью и неочевидностью настройки прав доступа практически непригодна.
«Сравнивать GPFS и LustreFS — это как сравнивать IBM и SUN.»
Анонимус из интернетов.

В ТОП-300 суперкомпьютеров Мира половина из первых 50 используют LustreFS, которая очень проста в первоначальной настройке.
Читать дальше →
Total votes 44: ↑38 and ↓6+32
Comments29

Идеальная CRM. Часть 2

Reading time2 min
Views4.5K
После написания статьи о потребностях «продажников» в CRM, я стал более плотно заниматься этой темой + на мое удивление, мне пришло много предложений от хабраколлег написать такую систему и вместе ее продавать, посмотреть на их, уже готовую CRM-ку.
image
Напомню, что мои основные требования были: online + удобство + малая цена

Кому интересна тема CRM применительно к небольшим компаниям — мои находки и мысли на этот счет.

Итак, что же такое CRM и кому и зачем она нужна. По сути CRM нужна не только отделу продаж, но и всем сотрудникам компании, которые связаны с работой с клиентами. В больших компаниях (телеком, банки) это такие большие системы как Oracle Siebel, MS Dynamics CRM и прочие монстры. В таких системах помимо автоматизации операционной работы (завести контакты, вести учет переговоров, выставлять счета и заводить кейсы) существует много наворотов типа BI, маркетинговых кампаний или совместной работы.

В небольших же компаниях чаще всего продажникам и другим сотрудникам, работающим с клиентом чаще всего нужны:
  1. База аккаунтов (организаций) и контактов
  2. Возможность быстрого доступа к ней лучше online
  3. Ведение истории переговоров
  4. Напоминалки (типа, через 3 месяца не забыть позвонить клиенту)
  5. Ведение протоколов встреч, записи звонков, короче видеть всю историю взаимоотношений


Под катом хорошие варианты:
Читать дальше →
Total votes 42: ↑32 and ↓10+22
Comments56

Printliminator — букмарклет для удобной распечатки сайтов

Reading time2 min
Views2.2K
Не раз на Хабре поднимался вопрос об media">оптимизации страниц веб-сайтов к печати. Тем не менее, время идёт, а отдельным стилем для печати обзавелось не так уж много сайтов. Да и не всегда надо печатать всю страницу, например, мне интересна статья, но совершенно не интересны комментарии под ней, что же мне печатать всё, а затем просто выбрасывать лишние листы в мусорку.

Этим же вопросом озадачился как-то и Крис Койер (Chris Coyier), автор блога CSS-Tricks. Он хотел распечатать слова песни, но очень не хотел при этом печатать все баннеры, логотипы, фоновые изображения и прочий мусор. Тогда он сел и написал небольшой скрипт на jQuery, который в дальнейшем вылился в героя сегодняшнего хабратопика — букмарклет «Printliminator».
Читать дальше →
Total votes 22: ↑20 and ↓2+18
Comments21

Статистика Google Analytics на вашем сайте. Часть вторая. Использование GAPI

Reading time2 min
Views11K
С момента публикации первого топика о создании хабраподобной статистики (которую, кстати, почему-то тут не обновляют) с импортированием данных из Google Analytics прошел ровно год.

image

Весь этот год все работало, статистика обновлялась, графики рисовались… пока все не сдохло. Как это и присуще гуглу, сдохло оно не сразу у всех, а потихоньку, в течение недели. При беглой диагностике проблемы выяснилось, что она заключается в гугловой авторизации. Учитывая, что скрипт авторизации мною был заимствован, разбираться в нем не было никакого желания, и тут до меня дошло — ведь Google выпустил API для аналитикса! Поэтому было решено не обрабатывать напильником существующую версию, а просто получить данные цивилизованно, посредством API, тем не менее, оставив при этом «структуру» и основные моменты предыдущей версии.
Читать дальше →
Total votes 62: ↑58 and ↓4+54
Comments52

Видеоверсия лекции Андрея Могина об инвестировании в стартапы

Reading time1 min
Views707
imageВ Минске в рамках курса «IT-предпринимательство», который устраивает бизнесинкубатор БГУИР, прошла лекция Андрея Могина, соавтора книги IPO от I до O, известного специалиста по инвестициям и оценке стоимости компаний.
Андрей Могин — управляющий партнер фонда Genesys Asset Management, один из ведущих экспертов в СНГ по управлению стоимостью компании. Автор обучающего курса для компании Intel по финансированию инноваций, автор курсов по венчурному финансированию и инновационному менеджменту.

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

Первую лекцию читал Юрий Зиссер, однако она была посвящена в большей степени истории TUT.by как стартапу. Среди прочего Ю.А. сказал, что потратил на тут бай 62 тысячи долларов.
(видеоверсия лекции Ю.А. Зиссера)
Total votes 30: ↑23 and ↓7+16
Comments6

Сервер на стероидах: FreeBSD, nginx, MySQL, PostgreSQL, PHP и многое другое

Reading time16 min
Views40K
Нравится мне эта картинка, у меня, вот никогда такие красивые графики в какти не получались =(

Введение


С момента написания мной предыдущей статьи по оптимизации этой связки прошло довольно много времени. Тот многострадальный Pentium 4 c 512Мб памяти, обслуживающий одновременно до тысячи человек на форуме и до 150,000 пиров на трекере уже давно покоится на какой-нить немецкой, свалке, а клуб сменил уже не один сервер. Всё сказанное в ней всё ещё остаётся актуальным, однако есть вещи которые стоит добавить.
Статья большая, так что будет поделена на логические блоки:

0. Зачем вообще что-то оптимизировать?
  
1. Оптимизация ОС (FreeBSD)
  1.1 Переход на 7.х 
  1.2 Переход на 7.2
  1.3 Переход на amd64
  1.4 Разгрузка сетевой подсистемы
  1.5 FreeBSD и большое кол-во файлов
  1.6 Softupdates, gjournal и mount options
  
2. Оптимизация фронтенда (nginx)
  2.1 Accept Filters
  2.2 Кеширование
  2.3 AIO
  
3. Оптимизация бэкенда
  3.1 APC
  3.1.1 APC locking
  3.1.2 APC hints
  3.1.3 APC fragmentation
  3.2 PHP 5.3
  
4. Оптимизация базы данных
  4.1 MySQL 
  4.1.1 Переход на 5.1
  4.1.2 Переход на InnoDB
  4.1.3 Встроеный кеш MySQL - Query Cache
  4.1.4 Индексы
  
4.2 PostgreSQL
  4.2.1 Индексы
  4.2.2 pgBouncer и другие.
  4.2.3 pgFouine
  
4.3 Разгрузка базы данных
  4.3.1 SphinxQL
  4.3.2 Не-RDBMS хранилище
  4.4 Кодировки
  4.5 Асинхронность
  
Приложение. Мелочи.
  1. SSHGuard или альтернатива.
  2. xtrabackup
  3. Перенос почты на другой хост
  4. Интеграция со сторонним ПО
  5. Мониторинг
  
 6. Минусы оптимизации

Кому что-нибудь из этого списка интересно, жмём сюда...
Total votes 375: ↑368 and ↓7+361
Comments105

Основы масштабирования

Reading time10 min
Views63K
Прочитав в этом блоге о балансировке на стороне клиента, решил опубликовать свою статью, в которой описаны основные принципы масштабирования для web-проектов. Надеюсь, хабралюдям будет интересно почитать.

Основы масштабирования



Масштабируемость — способность устройства увеличивать свои
возможности
путем наращивания числа функциональных блоков,
выполняющих одни и
те же задачи.
Глоссарий.ru

Обычно о масштабировании начинают думать тогда, когда один
сервер не справляется с возложенной на него работой. С чем именно он не
справляется? Работа любого web-сервера по большому счету сводится к основному
занятию компьютеров — обработке данных. Ответ на HTTP (или любой другой) запрос
подразумевает проведение некоторых операций над некими данными. Соответственно,
у нас есть две основные сущности — это данные (характеризуемые своим объемом) и
вычисления (характеризуемые сложностью). Сервер может не справляться со своей
работой по причине большого объема данных (они могут физически не помещаться на
сервере), либо по причине большой вычислительной нагрузки. Речь здесь идет,
конечно, о суммарной нагрузке — сложность обработки одного запроса может быть
невелика, но большое их количество может «завалить» сервер.

Читать дальше →
Total votes 68: ↑67 and ↓1+66
Comments49

Статистика Google Analytics на вашем сайте

Reading time6 min
Views17K
Помню, как-то проскакивала пара записей (здесь и здесь) по поводу импортирования данных из Google Analytics для отображения сводных диаграмм на сайте, в общем, как на хабре. Прочитав вышеупомянутые топики и не обратив особого внимания тогда, я о них успешно «забыл» и пошел себе дальше. И вот сейчас, появилась необходимость реализовать нечто подобное на одном из своих проектов.

image

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

UPDATE:
Добавил еще одну версию, подробности и линк под катом.

Читать дальше →
Total votes 97: ↑92 and ↓5+87
Comments142

Скругленные углы на чиcтом CSS без JS без картинок с анти-аллиасингом

Reading time2 min
Views7.6K
Раз уже пошла такая пьянка бурное обсуждение, то предложу и свой метод скругления углов, с характеристиками, которые можно увидеть в названии топика.

Хочу заметить, что это не улучшение какого-то из существующих методов, а совершенно новый (по крайней мере, я нигде не смог найти — наверное, плохо искал ;) метод. В статье 38 статей о создании закругленных углов на сайтах данный метод также не был упомянут.

Итак, что же мы имеем: чистый CSS, без единой картинки, без JavaScript (хотя и с ним, для демонстрации, тоже сделаем), с анти-аллиасингом (то есть плавные переходы), прозрачные углы (то есть в фоне может быть что угодно), тянущийся по высоте и ширине и, конечно же, кроссбраузерный метод.

Не томи
Total votes 123: ↑116 and ↓7+109
Comments75

Помогите школьным сайтам

Reading time3 min
Views2.3K
Автор данного топика — новый (ну, почти новый :)) хабрапользователь Elm

Я работаю методистом в питерском городском центре информатизации образования. Учу учителей использованию ИТ в своей деятельности (если кратко). Одним из направлений работы являются школьные сайты. Достаточно давно в этой тематике, 2 года назад с коллегой книжку написали, занимаюсь продвижением «Конструктора школьных сайтов» в Питере.

Сейчас мы провели первый городской фестиваль сайтов «Открытая школа». Каждый из 18 питерских районов представил лучшие (на их взгляд) школьные сайты. Отбирали научно-методические центры, а не школы, но всё равно на общем фоне почти все сайты были довольно-таки приличные. Нам, оргкомитету, анализировать сайты было тоже интересно — важно знать, что в этой области в городе происходит.
Читать дальше →
Total votes 93: ↑76 and ↓17+59
Comments120

Система управления задачами opentodo

Reading time1 min
Views6.2K
Приветствую!

Решил поделиться с сообществом своим проектом.
opentodo — система управления задачами, написанная на языке Python (Django Framework).

Возможно, по тем или иным причинам вам не подходят существующие системы наподобие Basecamp, Мегаплан и т.п. И вы хотели бы использовать более простое решение с открытым исходным кодом, которое вы сможете бесплатно установить на своем сервере в интернете или внутри сети компании, и при необходимости доработать под свои нужды. Тогда opentodo может заинтересовать вас.

Особенности

  • Простой, удобный интерфейс в стиле Gmail
  • Добавление задач, назначение ответственных и сроков выполнения
  • Возможность прикреплять файлы к задачам и проектам — скриншоты, документацию и т.п.
  • Жизненный цикл задач: Новая, Принята, Завершена, Одобрена
  • Цветовое кодирование задач в зависимости от статуса
  • Комментарии к задачам
  • E-mail уведомления
  • Управление пользователями с помощью стандартной панели администрирования Django
  • Разграничение доступа пользователей к проектам

Онлайн демо


Посмотреть в работе можно здесь: demo.opentodo.ru

Где скачать и как установить


Архив для загрузки и инструкция по установке доступны на странице проекта на Google Code:
code.google.com/p/opentodo

Исходный код под управлением системы контроля версий на сайте GitHub:
github.com/mgrigoriev/opentodo

Условия распространения: GNU General Public License v3.

Надеюсь, мой скромный проект для кого-то окажется полезным и поможет в организации работы :)

P.S. Спасибо участникам дискуссионной гугл-группы django russian, а также всем, кто прокомментировал пост на design.leprosorium.ru, за отзывы и ценные советы по улучшению opentodo.

UPD: убедительная просьба — полегче в демо! Анонимность не оправдывает вандализм :)
Total votes 117: ↑114 and ↓3+111
Comments140

Социальный словарь — учим английский вместе!

Reading time1 min
Views1.4K
Дело было так: однажды я понял, что мой словарный запас английского языка довольно скуден, а это очень мешает в жизни и работе, ведь большинство интересующей меня информации (мануалы, блоги, статьи) написано на английском языке. Значит надо срочно учить слова! Но учить все подряд, по алфавиту — не самое удачное решение, ведь большинство текстов чуть менее, чем полностью состоит из ограниченного числа слов. Это большинсто глаголов, предлоги и определенный ряд существительных. Таким образом, если мы сделаем выборку из достаточно большого количества сайтов различной тематики, то сможем узнать, какие слова и части речи используются чаще всего.
Так и родился этот сервис — Социальный словарь

Наверное, правильнее назвать его «минисервисом», т.к. состоит он всего из пяти страниц, а написан за несколько дней.
Суть его работы очень простая — пользователи добавляют ссылки на англоязычные сайты. Система парсит эти сайты и собирает некую статистику. После некоторого времени работы, когда объем накопленной информации будет достаточно велик, можно подводить итоги и составлять чарты самых популярных слов, которые можно смело учить :)

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

Буду очень рад прочесть любую критику или пожелания.

Социальный словарь
Total votes 54: ↑45 and ↓9+36
Comments53
2

Information

Rating
Does not participate
Location
Нарва, Эстония, Эстония
Registered
Activity