Pull to refresh
0
0

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

Send message

Цукерберг в Москве. Подборка видео

Reading time1 min
Views30K
Приветствую всех!

В начале недели в Москву, как известно многим, приезжал Марк Цукерберг.

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

Ниже предлагаю подборку видео с его различных встреч.

Читать дальше →
Total votes 34: ↑24 and ↓10+14
Comments11

Возьми Python с собой

Reading time5 min
Views32K
Думали ли вы (в очередной раз подготавливая среду для Python) о том, как было бы здорово, если бы не приходилось настраивать с нуля рабочее окружение (да ещё и под разными операционными системами), а можно было бы сесть и просто начать писать? Я случайно открыл для себя pythonanywhere.com — сервис, позволяющий вести разработку на Python онлайн, прямо в браузере. Под катом — описание сервиса с картинками и видео.
Читать дальше →
Total votes 73: ↑69 and ↓4+65
Comments23

Программирование для начинающих: как стартовать и куда двигаться?

Reading time2 min
Views388K
Бывает, что человек, совсем не связанный с IT, проникается интригующей красотой этой сферы и ставит себе задачу постепенно освоить программирование с нуля. И тут он зачастую просто теряется, не понимая, с чего начать, и нуждаясь в хорошем фундаменте и системном подходе.

Я, будучи недавно в такой же ситуации, гуглила, искала мануалов на Хабре (кое-что нашла: Десять советов начинающим программистам, Начинающему программисту про стартапы и не только…), но в итоге всё же была вынуждена обратиться за советом к одному хорошему человеку, который составил для меня вот такой план. С разрешения этого человека размещаю данный план на Хабре – вдруг он пригодится и кому-то ещё. (Тем более, что перечисленные книги относятся к «золотому фонду» литературы в данной сфере и проверены временем.)

UPD: Новичкам советую обратить внимание на комментарии — там активно и аргументированно корректируется этот план.

Читать дальше →
Total votes 90: ↑58 and ↓32+26
Comments106

Онлайн вещание через Nginx-RTMP: несколько готовых рецептов

Reading time5 min
Views153K
Недавно я наткнулся на топик "Сервер онлайн-вещаний на базе nginx" о замечательном модуле Романа Арутюняна (@rarutyunyan) для nginx: nginx-rtmp-module. Модуль очень прост в настройке и позволяет на основе nginx создать сервер публикации видеозаписей и живого вещания.

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

Читать дальше →
Total votes 38: ↑34 and ↓4+30
Comments22

Автоматическая оптимизация настроек MySQL, PostgreSQL

Reading time3 min
Views45K
Оптимизация настроек всегда дело тонкое и выставить именно те параметры, которые дадут максимальную производительность, зачастую можно только уже в процессе работы приложения, когда уже есть статистика нагрузки и видны узкие места.
Но очень полезно сделать и первичную оптимизацию при запуске СУБД. В этом посте рассмотрены пути автоматической оптимизации MySQL и PostgreSQL утилитами mysqltuner и pgtune.

Читать дальше →
Total votes 27: ↑23 and ↓4+19
Comments21

Архитектура масштабируемой почтовой системы

Reading time4 min
Views27K
В этой статье мы рассматриваем один из вариантов реализации масштабируемой архитектуры большой почтовой системы.

6 декабря 2012 г. Google прекратил регистрацию новых аккаунтов для бесплатной версии Google Apps.

У клиентов нашей компании постоянно возникает потребность в электронной почте, обслуживающей их сайты.
Раньше мы настраивали им Google Apps, но после 6 декабря, изучив предлагаемые на рынке решения, решили, что настала пора строить собственную почтовую систему.

Как известно, аппетит приходит во время еды. Если уж решились строить что-то свое, то тогда стоит сразу закладывать возможности для роста.
Для проектируемой почтовой системы были сформулировали следующие требования:
  • масштабируемость (неограниченное количество обслуживаемых доменов, общий объем почтовых ящиков 100 терабайт и больше);
  • отказоустойчивость (все промежуточные сервисы должны быть продублированы);
  • расширяемость (добавление новых узлов в систему должно быть легким и простым).


Начали с выбора хранилища под письма...

На самом деле выбор был небольшой:
  • dovecot/cyrus с хранением в файловой системе через maildir/mailbox;
  • dbmail с хранением в базе данных.

После оценки количества сервисов, предоставляемых «из коробки», а также изучения нюансов использования, нами было решено остановиться на dbmail.
Вот краткий список вкусностей, которые предоставляет dbmail:



  • доступ к ящикам через IMAP, POP3;
  • sieve-скрипты для сортировки почты;
  • прием почты через smtp и lmtp протоколы;
  • администрирование через cli и SQL-запросы.


Читать дальше →
Total votes 37: ↑31 and ↓6+25
Comments63

Профилирование нагрузки на файловую систему с помощью iostat и gnuplot — заметки дилетанта

Reading time9 min
Views91K
Зачастую работа «в поле» требует сбора и анализа информации на сайте заказчика в условиях наличия крайне скудного списка утилит. В частности собрать информацию об использовании системы ввода-вывода в течении дня.

В статье я попробую показать, как располагая только iostat и gnuplot можно попробовать провести анализ системы и какие выводы можно сделать.

Я не претендую на доскональное владение предметом и точное использование терминов. Более того, я постараюсь говорить «обычным» языком и не бросаться терминами.

Все описанное ниже есть плод опыта, ошибок, гугления, курения манов и прочая
Читать дальше →
Total votes 47: ↑43 and ↓4+39
Comments10

Полезные хаки и сниппеты для .htaccess

Reading time7 min
Views462K


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

О предназначении файла .htaccess знает каждый веб-разработчик. На базовом уровне он позволяет управлять доступом к каталогам сайта. Но добавляя в него различные дополнительные фрагменты кода, с ним можно сделать и много других интересных вещей.

Если же вам нужны базовые сведения о предназначении данного файла, то вы можете получить из нашей статьи введение в .htaccess (перевод данной статьи не делал, так как там основы, их достаточно в русскоязычном сегменте Сети, но если будет проявлен интерес, то можно и ее перевести для полноты картины — прим. переводчика), в которой достаточно подробно раскрыты все аспекты его применения.
Узнать больше
Total votes 114: ↑92 and ↓22+70
Comments82

Книги для тимлидов и руководителей проектов. Часть 2

Reading time3 min
Views81K
Предыдущая статья очень хорошо была воспринята читателями, поэтому, как и обещал, сегодня подготовил статью-бонус.

Итак, я просил ответить на вопрос какие книги из статьи вы читали?

Результаты опроса:
Название книги
Количество голосов
Процент
Том ДеМарко. Deadline. Роман
об управлении проектами
247
54%
Фредерик Брукс. Мифический человеко-месяц, или Как создаются
программные системы
174
38%
Джоэл Спольски. Джоэл о программировании
165
36%
Том Демарко и Тимоти Листер. Человеческий фактор. Успешные
проекты и команды
148
32%
Джейсон Фрайд, Дэвид Хайнемайер Хенссон. Rework.
Бизнес без предрассудков
108
24%
Джеффри Янг и Уильям Саймон. iКона. Стив
Джобс
94
21%
Том ДеМарко, Тимоти Листер. Вальсируя с Медведями: управление
рисками в проектах по разработке программного обеспечения
70
15%
Том Демарко, Тимоти Листер. Балдеющие от адреналина и зомбированные
шаблонами. Паттерны поведения проектных команд
51
11%
Кармин Галло. iПрезентация. Уроки
убеждения от лидера Apple Стива Джобса
48
11%
Патрик Ленсиони. Смерть от совещаний
21
5%
Патрик Ленсиони. Пять пороков команды. Притчи о
лидерстве
19
4%
Патрик Ленсиони. Пять искушений руководителя: притчи о лидерстве
16
4%
Патрик Ленсиони. Три признака унылой работы. История со смыслом
для менеджеров (и их подчиненных)
11
2%

А теперь еще один бонус — список книг по заданной тематике, которые прислали нам читатели:
Читать дальше →
Total votes 89: ↑81 and ↓8+73
Comments12

Стабильный хостинг — миф или реальность?

Reading time11 min
Views12K
Многие хостинг-провайдеры, предоставляющие услуги хостинга, испытывают различные проблемы с этим видом услуг. В большинстве случаев это или «лагающий хостинг» или же услуга, на которую уходит масса финансовых и трудовых ресурсов, сложные программы для мониторинга потребления и постоянные конфликты с пользователями, которые превышают лимиты. Но при правильном подходе можно минимизировать эти факторы.

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

Воспринимать данную публикацию, как руководство к действию, или нет – решать Вам. Я лишь расскажу о том, какой подход исповедуем мы, сравнительно небольшой хостинг-провайдер, который активно начал наращивать клиентскую базу в этом сегменте услуг в последнее время, что показатель реальной эффективности методики. Ранее мы также имели порой проблемы со стабильностью либо затратной частью, однако сейчас клиенты хостинга практически не беспокоят нас, а мы их :) Для статистики – на 1000 клиентов хостинга сейчас у нас приходится только 1 запрос в тех. поддержку в течении суток в среднем и то причина далеко не в проблеме технического характера на нашей стороне.
Читать дальше →
Total votes 23: ↑11 and ↓12-1
Comments26

Как правильно мерять производительность диска

Reading time14 min
Views335K
abstract: разница между текущей производительностью и производительностью теоретической; latency и IOPS, понятие независимости дисковой нагрузки; подготовка тестирования; типовые параметры тестирования; практическое copypaste howto.

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

Лирика



Очень частой проблемой, является попытка понять «насколько быстрый сервер?» Среди всех тестов наиболее жалко выглядят попытки оценить производительность дисковой подсистемы. Вот ужасы, которые я видел в своей жизни:
  • научная публикация, в которой скорость кластерной FS оценивали с помощью dd (и включенным файловым кешем, то есть без опции direct)
  • использование bonnie++
  • использование iozone
  • использование пачки cp с измерениема времени выполнения
  • использование iometer с dynamo на 64-битных системах


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

Как мерять правильно
Total votes 151: ↑145 and ↓6+139
Comments164

Стабилизируем PHP на бою — что и почему «роняет» веб-сервер

Reading time7 min
Views80K
Вы отвечаете за стабильность работы веб-проекта на PHP. Нагрузка постоянно растет, добавляются фичи, клиенты довольны. В один прекрасный день начинают появляться загадочные ошибки…

Ошибки серверного софта


… которые программисты не знают как исправить, т.к. «ломается» серверный софт, например связка apache-PHP — а клиент получает в ответ на запрос страницу о регламентных работах. Веб-разработчик часто не обладает глубокими знаниями в программировании на C в unix/linux, а сисадмин нередко, к сожалению, глубже bash в систему не погружается. Настоящий хардкор :-)

Нестабильная работа серверных скриптов


Нередко, определенные страницы веб-проекта начинают сходить с ума. Например выполняться по 15 минут и выяснить, чем же они занимаются, непросто. В прошлом посте на данную тему я описал одну из методик определения, чем занимается PHP-скрипт на боевом сервере, но чувствуется, что нужен более мощный инструмент.

На практике я часто встречаю проекты, которые сталкиваются с подобным классом ошибок «серверного софта», и в команде не всегда знают, что делать. В логе apache часто появляются сообщения о нарушении сегментации (segmentation fault), клиенты получают страницу об ошибке, а веб-разработчик с сисадмином ломают себе голову, играются с разными версиями PHP/apache/прекомпилятора, собирают PHP из исходников с разными опциями снова и снова, пишут о багах, а им доказывают, что это баги не PHP, а их кода и так до бесконечности…

В статье я хочу рассказать как можно просто и быстро найти причину, почему PHP рассыпался на боевом сервере и устранить ее — не погружаясь в прекрасный мир системного программирования на C для unix :-) От вас потребуется желание и одна чашечка кофе.

Читать дальше →
Total votes 119: ↑98 and ↓21+77
Comments72

Делаем учебник или документацию за час на Сфинксе

Reading time4 min
Views55K
Я веду курс веб-программирования. Когда учишь людей, поговорка «сапожник без сапог» к тебе относиться не должна: ты должен делать всё без видимых усилий и быстро. Учебник должен делаться легко и просто, и выглядеть хорошо.

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

Пустая страница новой документации
Хочу себе такую же!
Total votes 45: ↑42 and ↓3+39
Comments6

Еще раз о модальных окнах и немного плюшек

Reading time9 min
Views17K
О модальных окнах написано уже, наверное, тонны литературы, но на написание этого топика меня сподвигла вот эта статья на хабре. В ней осталось много недосказанного, в том числе горизонтальные скачки как страницы, так и модального окна.
Конечно, можно было бы просто отписаться в комментарих, мол, сделайте так-то и так-то, и все будет тип-топ. Но мой комментарий разросся до размеров новой статьи, с наглядными примерами и комментариями.
Кому стало интересно — добро пожаловать под хабракат!
Читать дальше →
Total votes 34: ↑29 and ↓5+24
Comments17

Факторы поискового ранжирования Google

Reading time3 min
Views33K
Ребята с webmasterworld.com решили собрать все факторы, которые учитивает Google при ранжировании сайтов. Официальным представителем было заявлено (еще на тот момент), что их более 200. Пока список выглядит так, не исключено, что некоторые пункты включают в себя несколько факторов.
image
Читать дальше →
Total votes 107: ↑82 and ↓25+57
Comments42

Как я собирал ru-домены у одного регистратора

Reading time3 min
Views46K
UPD: обратите внимание, статья описывает устаревший успешный опыт переноса доменов.

Здравствуй, Хабрасообщество и его уважаемые читатели!

Однажды я узнал что умные люди давно регистрируют/продлевают домены в зоне ru по 99 руб у партнера регистратора «REG.RU» — 2domains.ru. Подумал «надувательство какое-то». Но, наступил день когда мне понадобилось зарегистрировать домен, подешевле и побыстрее. «Чем черт не шутит» подумал я и зарегистрировался на 2domains.ru. Перечислил с Webmoney 99 рублей, затем заполнил нехитрую анкету (персона на которую регистрируется домен,- эта же информация отображается и в whois). Указал имя домена и нажал заветную кнопку «зарегистрировать домен»!
Читать дальше →
Total votes 43: ↑26 and ↓17+9
Comments95

Простой и эффективный метод отразить http DDoS от 50мбит с помощью nginx и iptables

Reading time7 min
Views67K
Здравствуй, Хабр!
Предлагаю твоему вниманию простой и в то же время эффективный метод борьбы с http DDoS. На основе сервера Xeon 2.5GHz / 4Gb RAM / SAS можно отражать атаку примерно до 300 Мбит/с (значение получено методом экстраполяции).

Способ реализация

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

Область применения

Борьба с Http DDoS на выделенном сервере или ВПС. Максимальная возможная мощность сдерживания DDoS атаки ограничивается физическими возможностями сервера и пропускной способностью канала.

SEO под DDoS-ом

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

Стоимость и эффективность

На время атаки придется отказаться от некоторых сервисов вашего сайта. Возможно, придется расширить полосу канала, перенести сайт на более мощный сервер. Эффективность достигается максимизацией коэффициента масштабируемости системы. Обеспечивается быстрое наращивание аппаратных ресурсов при увеличении мощности атаки.
Читать дальше →
Total votes 193: ↑179 and ↓14+165
Comments78

Защитите свой аккаунт Dropbox с помощью двухэтапной аутентификации

Reading time2 min
Views11K
Теперь вы можете защитить ваш аккаунт используя двухэтапную аутентификацию, это означает, что злоумышленнику понадобиться больше, чем просто знать ваш пароль от аккаунта Dropbox.
Читать дальше →
Total votes 104: ↑89 and ↓15+74
Comments60

Flashcache, или I/O на стероидах

Reading time4 min
Views57K
Наверное, все уже в курсе, что одно из главных узких мест серверов — дисковая подсистема. Особенно это заметно на web-серверах и больших СУБД. Производители жестких дисков находятся в постоянной гонке за производительность, но против физики не попрешь — головка жесткого диска не может болтаться со скоростью света :).

Приходят SSD, казалось бы, вот оно — счастье! Нет механики, не надо ждать, пока головка доедет до нужной точки (особенно если данные фрагментированы или ОС пытается считать много всего сразу). Ан нет — дорого, ненадежно, места мало — в общем, на сервер не поставишь.

Какое решение? Правильно, совместить! Задача — получить скорость и время доступа SSD и надежность и обьем HDD. Существуют аппаратные решения, но мы же бедные экономически подкованные — поэтому будем делать программно, с помощью flashcache.
Меньше текста - подавай результаты!
Total votes 26: ↑21 and ↓5+16
Comments20

Верстка HTML писем: думай как баг

Reading time5 min
Views29K
Всем привет!

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

Cellspacing


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

Задача: расположить четыре картинки в таблице — по две на каждой строке. Между картинками должен быть зазор в 10px.
Читать дальше →
Total votes 52: ↑47 and ↓5+42
Comments42

Information

Rating
Does not participate
Location
Санкт-Петербург, Санкт-Петербург и область, Россия
Date of birth
Registered
Activity