Pull to refresh
0
0
Александр Елизарьев @Dornik

User

Send message

Делаем загрузочно-установочную флешку

Reading time2 min
Views774K
После поста о восстановлении флешек, оказалось, что у многих теперь есть рабочие, бесхозные флешки, которые обязательно нужно задействовать. Почему бы не сделать из них загрузочные флешки с дистрибутивами необходимых ОС? Это может здорово пригодиться при установке/переустановке операционных систем на нетбуки, где отсутствуют приводы оптических носителей. А иногда может даже ускорить процесс установки и сделать его намного тише на компьютере, где привод есть.
Хотя на Хабре уже описывались варианты создания загрузочных флешек, но вариант, который предлагаю я — слишком прост и по своему универсален, чтобы обойти его стороной.

image
Читать дальше →
Total votes 161: ↑142 and ↓19+123
Comments54

Коллекция описаний алгоритмов

Reading time1 min
Views883
Искал способ быстрого поиска строки по нескольким подстрочкам. Наткнулся на сайт с подборкой описаний алгоритмов. Спешу поделиться — думаю многим может пригодиться. Сам завис там на пару часов.

Заодно вопрос к уважаемым Хабражителям: какой бы алгоритм Вы посоветовали бы для быстрого поиска записи (название) по нескольким фрагментам (отрывки слов в названии) расположенным в случайном порядке не так как в искомой записи.
Массив информации — около 1.5 миллионов записей, требуемая скорость — 300-1000 одновременных запросов в секунду на простом железе (не-супер-пупер-многопроцессорный вычислительный комплекс).

Мне пока приходит в голову только мысль о том, чтобы сделать индекс поиска на базе какого-то хеш-алгоритма, но пока не придумал как совместить хеш с неполными словами в различных комбинациях и непредскауемым порядком их появления в запросе.
Total votes 32: ↑21 and ↓11+10
Comments20

Новая онлайн-игра Планета Железяка

Reading time2 min
Views1K
Привет всем хабравчанам!

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

image
Читать дальше →
Total votes 29: ↑19 and ↓10+9
Comments60

Способы разграничения доступов к файлам при помощи php+mysql+apache

Reading time5 min
Views4.1K
Задача по разграничению доступа к файлам, которые хранятся на диске довольно редка, но она может возникнуть при написании: online-магазина, который торгует файлами или файлового сервера вроде rapidshare.de. В данной статье я рассмотрю 3-и способа разграничения доступа при помощи php, mysql и специальных модулей веб сервера apache.

Читать дальше →
Total votes 17: ↑11 and ↓6+5
Comments6

Рецепт простого приготовления OpenVPN. Пошаговая инструкция

Reading time11 min
Views31K
image

Приветствую, хабралюди. Не буду писать традиционное «этой мой первый топик на Хабре, не судите строго». Наоборот — обоснованная критика приветствуется, т.к. я не имею большого опыта написания статей и буду признателен за любую реакцию.

Предупреждение номер раз. Данный пост, скорее всего, не будет интересен гуру от мира сетей. Он в первую очередь адресован тем, чьи интересы лежат в других областях мира IT, но им свойственно любопытство и интересно все новое. Поэтому для тех, кто «в теме» текст может показаться набором известных истин и банальностей. Господа, я стремлюсь не удивить вас, а помочь менее продвинутым в данной области. Все нижесказанное будет касаться исключительно компьютеров под управлением различных версий Windows.
Предупреждение намбер ту. Я также не считаю себя гуру и могу ошибаться/допускать неточности в некоторых утверждениях и суждениях. Однако сам алгоритм действий по настройке рабочий и проверен лично.
Предупреждение три. Много букв. Пишу намеренно подробно, как следствие – обширно.
Если вышесказанное вас не испугало – приступим.
Читать дальше →
Total votes 36: ↑27 and ↓9+18
Comments27

Синхронизация баз MySQL с помощью сервиса Dropbox

Reading time2 min
Views2.9K
По долгу службы мне приходиться трудиться много и в разных местах. На работе, дома и в командировках меня преследует одержимость моей работой. Я работаю в небольшой веб-студии и в мои задачи входит верстка сайтов и проектирование GUI для интранет-проектов. Не могу не упомянуть неоценимую помощь моих верных друзей, их имена iMac, Mac Pro и MacBook. В своей работе я использую джентльменский набор верстальщика в Mac OS X: Coda — для редактирования HTML/JavaScript и MAMP — для запуска локального веб-сервера. Но речь пойдет не о установке и настройке вышеперечисленных продуктов, а о том как облегчить жизнь разработчикам имеющим в своем парке два и более компьютера работающих под управлением Mac OS X.
Читать дальше →
Total votes 12: ↑10 and ↓2+8
Comments22

Еще раз про IP-адреса, маски подсетей и вообще

Reading time7 min
Views1.5M
Чуточку ликбеза. Навеяно предшествующими копипастами разной чепухи на данную тему. Уж простите, носинг персонал.

IP-адрес (v4) состоит из 32-бит. Любой уважающий себя админ, да и вообще айтишник (про сетевых инженеров молчу) должен уметь, будучи разбуженным среди ночи или находясь в состоянии сильного алкогольного опьянения, правильно отвечать на вопрос «из скольки бит состоит IP-адрес». Желательно вообще-то и про IPv6 тоже: 128 бит.

Обстоятельство первое. Всего теоретически IPv4-адресов может быть:
232 = 210*210*210*22 = 1024*1024*1024*4 ≈ 1000*1000*1000*4 = 4 млрд.
Ниже мы увидим, что довольно много из них «съедается» под всякую фигню.


Записывают IPv4-адрес, думаю, все знают, как. Четыре октета (то же, что байта, но если вы хотите блеснуть, то говорите «октет» — сразу сойдете за своего) в десятичном представлении без начальных нулей, разделенные точками: «192.168.11.10».

В заголовке IP-пакета есть поля source IP и destination IP: адреса источника (кто посылает) и назначения (кому). Как на почтовом конверте. Внутри пакетов у IP-адресов нет никаких масок. Разделителей между октетами тоже нет. Просто 32-бита на адрес назначения и еще 32 на адрес источника.
Читать дальше →
Total votes 286: ↑261 and ↓25+236
Comments204

Your Personal DNS — еще немного о DNS хостинге

Reading time2 min
Views2.2K
Как уже не раз говорилось, в вопросе хостинга DNS есть ненулевое количество нюансов.
Часть из них, под девизом «мой провайдер предоставляет DNS сервера», описаны например вот тут:
http://habrahabr.ru/blogs/hosting/94496/
http://habrahabr.ru/blogs/hosting/90533/

Помимо оного существует еще ненулевое количество других вопросов. Начиная от фразы «Какие еще TXT записи? Какой еще sip?» и заканчивая «А сегмент сети, в котором наши DNS сервера из вашей %%%%%% не доступен. Нам очень жаль»

Мы думали, думали и решили, что наш лунный модуль будет, ну, как минимум, не хуже существующих.
А тут еще и EveryDNS продали.
Вообщем, если вкратце — то еще одним публичным и бесплатным DNS менеджером прибыло.

Читать дальше →
Total votes 102: ↑95 and ↓7+88
Comments186

Новости проекта Sphinx, весна 2010

Reading time2 min
Views993
Год 2010 получается довольно занятой в целом, весна случилась урожайная на конференции в частности. Поэтому писать в блог на Хабр регулярно получается плохо, но как минимум пачкой новостей и ссылок хочется поделиться (уже пора!). Краткая сводка —
  1. с начала года прошло 3 конференции (Confoo, MySQL UC, RIT++) с докладами про Сфинкс, доступны слайды;
  2. в течение месяца предстоит еще 2 (DORS/CLUC, DevConf), где запланированы доклады и (внимание, нечто новое) мастерклассы про все тот же Сфинкс;
  3. полтора месяца назад запустили (англоязычный) блог, пытаемся регулярно писать интересное туда, пока даже получается (сам очень удивляюсь);
  4. RT апдейты дозрели до публичного релиза настолько, что релиз задерживают не они; SVN версия местами крутится в продакшне, и даже почти что не падает (удивляюсь еще сильнее);
  5. самозародились плагины для WordPress, Zend Framework (не наши).
Подробности под катом!
Читать дальше →
Total votes 45: ↑43 and ↓2+41
Comments37

Мобильные — налево, компьютеры — направо

Reading time1 min
Views8.8K
Вы обращали внимание, что при заходе на сайт www.yandex.ru, мы пытаемся определить, используете вы компьютер или мобильное устройство, чтобы показать подходящую версию главной страницы Яндекса?

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

Мы решили помочь вебмастерам. И сегодня открыли доступ всем желающим к нашей системе определения мобильных устройств — Яндекс.Детектору.

http://api.yandex.ru/detector

С его помощью можно легко перенаправлять пользователей на ту или иную верстку страницы.

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

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

Наш опыт говорит, что внедрение такого кода на странице заметно увеличивает число мобильных пользователей, которые в противном случае «не переварили бы» страницу большого сайта.

Смотрите, внедряйте, делитесь результатами!

Команда с определёнными взглядами на мобильное устройство мира.
Total votes 127: ↑110 and ↓17+93
Comments110

Сервер на стероидах: 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

Простой и эффективный метод отразить 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

Практический опыт создания Dojo виджетов. Оптимизация производительности Javascript кода

Reading time6 min
Views3.3K
Доброго времени суток, хабрасообщество.

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

image

image

Читать дальше →
Total votes 13: ↑9 and ↓4+5
Comments5

Формы в Zend Framework

Reading time6 min
Views13K
Меня часто спрашивают, какой мой любимый компонент в Zend Framework, и я всегда отвечаю: «Forms» (формы).
В парадигме модель-представление-контроллер формы всегда играют непростую роль. Конечно, форма — это всего лишь HTML,
но для меня это нечто более абстрактное.
По сути, форма — это HTML, средствами которого пользователь вводит и получает данные, но кроме этого форма еще выполняет
нормализацию, проверку, фильтрацию данных и вывод сообщений об ошибках, если они есть.
Это может потребовать довольно-таки значительного объема кода.

Читать дальше →
Total votes 54: ↑35 and ↓19+16
Comments75

Идеальная 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

jQuery 1.4: 15 новых возможностей

Reading time7 min
Views6.4K
14 января появился на свет jQuery 1.4. Этот релиз содержит множество новых возможностей и улучшений. В этой статье рассматриваются те, которые вы, возможно, найдёте самыми полезными.
Читать дальше →
Total votes 151: ↑142 and ↓9+133
Comments34

Межсайтовая авторизация 2

Reading time2 min
Views27K
По итогам поста, сделанного в июле 2009 и продолжительным испытаниям, мы пришли к простой и оптимальной для нас схеме межсайтовой авторизации.
Спешу поделиться с общественностью
Total votes 51: ↑41 and ↓10+31
Comments61

Оптимизация работы с MySQL

Reading time3 min
Views78K
Ни для кого не секрет, что работа с базой данных занимает большую часть работы практически любого сайта. И именно работа с БД чаще всего является узким местом веб-приложений.
В этой статье хотелось бы дать практические советы использования MySQL.
Сразу оговорюсь:
  • данная статья написана про MySQL, хотя общие вещи скорее всего справедливы для любой СУБД.
  • все написанное в статье является моей личной точкой зрения, и не является истиной в последней инстанции.
  • советы не претендуют на новизну и являются результатом обобщения прочтенной литературы и личного опыта.
  • в рамках данной статьи я не буду касаться вопросов конфигурирования MySQL.

Проблемы при использовании MySQL можно разделить на следующие три группы(в порядке значимости):
  1. Неиспользование или неправильное использование индексов.
  2. Неправильная структура БД.
  3. Неправильные \ неоптимальные SQL запросы.

Остановимся на каждой из этих групп подробнее.
Читать дальше →
Total votes 54: ↑52 and ↓2+50
Comments107

Шпаргалка по API jQuery 1.4

Reading time1 min
Views6.3K
jquery_1_4_cheat_sheet

Сегодня (14 января) — дата релиза новой версии популярного JavaScript-фреймворка jQuery. К этому событию мы подготовили свою шпаргалку по API новой версии (1.4), которой хотим со всеми поделиться.

Шпаргалка существует в двух вариантах:
  1. Online-вариант с ссылками на описание каждой функции на сайте новой документации
  2. PDF-вариант для распечатки

Читать дальше →
Total votes 92: ↑88 and ↓4+84
Comments42

jQuery плагин для получения данных формы + ajax аплоадер файлов

Reading time30 min
Views19K
imageДоброго времени суток, уважаемое Хабросообщество! Не пытаясь скрыть легкое волнение, публикую свой первый пост, темой которого стал мой скромный jQuery-велосипед для быстрого и безболезненного сбора данных, введенных пользователем на странице (сразу небольшая оговорка для тех, кто закричит — «ату его! Зачем еще один подобный плагин?», отвечу: во-первых — а быть может именно это кто-то из хаброчитателей и искал, во-вторых — для саморазвития, в-третьх: для собственного удобства и безболезненного использования в своих програмных продуктах).

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

updated 2 — добавлена мультизагрузка!
Смотрим далее
Total votes 71: ↑66 and ↓5+61
Comments98
1

Information

Rating
Does not participate
Location
Россия
Date of birth
Registered
Activity