Как стать автором
Обновить
5
0

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

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

Как авторизуются люди в Рунете

Время на прочтение2 мин
Количество просмотров1.5K
image
По следам этого поста, публикую данные о ситуации в Рунете. В качестве оператора «общей» аутентификации в данном случае вышла система Loginza. Данные собраны за три полных месяца и за половину августа.

Первое место занимает великое рунетовское зло (пока что незаменимое лично для меня, ввиду его повсеместности – где бы еще я за два часа смог найти внедорожник для съемок или фотографа на бекстейдж?) vkontakte.ru. Количество заходов под этим аккаунтом составило почти 14 тыс. за исследуемый период, что в процентном отношении дает около 45%.
Читать дальше →
Всего голосов 65: ↑51 и ↓14+37
Комментарии73

Вероятностный морфологический анализатор русского и украинского языков на PHP

Время на прочтение3 мин
Количество просмотров3.5K
Перед каждым разработчиком сайтов рано или поздно становится вопрос о реализации поиска по сайту. Желательно чтобы поиск был по основе слова, т.е. не учитывал окончания слов. Для этой цели используются программы стеммеры, которые и выделяют из слова основу. Многие стеммеры работают на основе словаря, и вот чтобы не использовать огромные словари в небольших и средних проектах можно использовать вероятностный морфологический анализатор. Его отличительная особенность в относительно малом размере базы данных и соответственно в отсутствии нагрузки на базу. Без больших потерь в качестве выделения основы.

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

Заинтриговал?
Всего голосов 21: ↑20 и ↓1+19
Комментарии16

Здоровье и кодинг — как совместить?

Время на прочтение5 мин
Количество просмотров3K
У меня, как и у многих товарищей по профессии после нескольких лет сидячей работы и отсутсвия физических нагрузок здоровье начало ухудшаться.
Первой ласточкой стало медленно, но верно растущее пузо.
Затем последовал серьёзный удар по общему состоящию — я заработал проблемы сразу в двух местах позвоночника. Отлежался недельку в больнице, обколотый блокадами, пенницилином и прочими лекарственными гадостами, простудился там под новый год и получил массу неприятных впечатлений.
Проблемы со спиной были решительно списаны на подъём тяжестей и благополучно забыты… до весны. Весной произошёл рецидив с диагнозом «протрузия позвоночного диска» в поясничной части.
После пробежки по врачам последовали две недели работы на дому с попиванием таблеточек и лежанием на кровати.
Я понял, что если я серьёзно не займусь своим здоровьем, то могу с ним попрощаться навсегда. Но времени как всегда нехватает, дела, работа, дипломный проект и прочие вещи серьёзно мешали заниматься в тренажёрном зале или ходит в какие-нибудь оздоровительные заведения.
Но, подойдя к вопросу системно, я нашёл решение. Решение простое, бесплатное, доступное всем и занимающее не больше 20 минут времени в день.
Читать дальше →
Всего голосов 57: ↑46 и ↓11+35
Комментарии56

Yaxy — proxy-сервер для веб-разработчика

Время на прочтение4 мин
Количество просмотров35K
Yaxy — proxy-сервер, подменяющий различные части HTTP-запросов и ответов на указанные в config-файле значения. Я не буду здесь описывать, как поставить, настроить и запустить сервер, это всё описано в readme репозитория. Здесь я опишу различные случаи, в которых Yaxy очень помогает, а то и вовсе незаменим.

Под катом 9 примеров использования Yaxy
Всего голосов 130: ↑129 и ↓1+128
Комментарии41

Проксируем Cookies на Nginx при помощи модуля lua-nginx

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


Я уже писал о том, как с помощью Nginx трансформировать контент на лету. С момента публикации статьи на базе описанного метода запущен и развивается реальный проект ecommerce. Помимо перевода и трансформации также реализован и SEO рерайт по заветам руководства для начинающих от Google.

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

В чем суть проблемы


Проблема заключается в том, что любой нормальный сервер приложений всегда выставляет Cookie, например для того, чтобы сохранять сессию клиента или корзину с его товаром. Если этот сервер (точнее его администратор) озабочен поддержанием определенного уровня безопасности, то он выставляет в теле Cookie домен и путь, например domain= backend.org; path=/path1. Наш Nginx запущенный в режиме Reverse Proxy замечательно меняет все ссылки в теле документов с backend.org на frontend.org, но не делает этого для кук! Это означает что браузер клиента отвергнет такие куки.

Этот вопрос с давних пор волнует умы администраторов nginx, в рассылках он всплывает по 1-2 раза в год. Большинство вопрошавших, по-видимому, решили свои проблемы подкручивая логику backendа, но не я! После очередного апдейта оригинального сайта стало понятно, что костыль с PHP + Curl тянуть больше невозможно и надо непременно найти решение с помощью Nginx!

Я вернул тему в рассылку, попутно перебирая варианты из ngx_http_perl_module и переменной $upstream_http_set_cookie, даже заглянул в дебри сорсов с призрачной надеждой написать модуль самому. Но все было неудачно пока в один прекрасный момент я не получил письмо от Mikhail Mazursky, который дал ценный совет. Благодаря этому совету я не только с легкостью решил задачу проксирования Cookie, но и получил новый инструмент, с помощью которого можно создать версию 2.0 своего проекта.

Решение


Название этого инструмента lua-nginx-module, который написан еще одним китайским самородком с корнями из Taobao. Из названия легко понять, что речь об языке скриптов Lua встроенном в Nginx — но это больше чем просто интерпретатор! Эти ребята создали полностью неблокируемую реализацию с производительностью десятки тысяч операций в секунду, которая имеет хуки ко всем событиям внутри Nginx. То что раньше можно было реализовать только написав свой модуль на C, теперь можно сделать несколькими строчками на Lua. Заинтересовались?
Тогда добро пожаловать под кат!
Всего голосов 64: ↑63 и ↓1+62
Комментарии18

О том, как я заставлял Ubuntu работать 10 часов от батареи

Время на прочтение11 мин
Количество просмотров191K
imageЯ являюсь рядовым линукс-пользователем и поэтому не стоит от этой статьи ожидать очень умных ходов или нестандартных программистских решений. Все по мануалам. Но раз результат достигнут, значит кому-то кроме меня это может оказаться полезным.

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

Устанавливал я Ubuntu 10.10 на ноутбук Acer Aspire Timeline 5810TG. Эта машина обладает экраном в почти 16 дюймов и относительно производительным железом, зато батарея достаточно емкая, чтобы ставить с ней личные рекорды.
Читать дальше →
Всего голосов 296: ↑285 и ↓11+274
Комментарии124

Как сделать FULLTEXT поиск в CMS на CodeIgniter

Время на прочтение10 мин
Количество просмотров6.2K
На Хабре в последнее время появляется все больше постов посвященных набирающему популярность framework'у CodeIgniter. Это довольно простой и удобный фреймворк с помощью которого можно быстро начать делать нормальные приложения на PHP. Под катом пример реализации FULLTEXT поиска в CMS на CodeIgniter.
Читать дальше →
Всего голосов 42: ↑32 и ↓10+22
Комментарии44

F3: маленький PHP-фреймворк с огромными возможностями

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


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

Fat-Free чем-то похож на известный Ruby-фреймворк Sinatra. Автор Fat-Free помешан на минимализме и чистоте кода, что положительно отразилось на этом простом каркасе для разработки самых разнообразных приложений.

Fat-Free состоит из одного файла и весит всего 55KB. При этом фреймворк обладает таким функционалом: специфический и довольно удобный шаблонизатор, гибкое кеширование, автоматическая защита от спама, интегрированные средства для юнит тестов, профайлер кода.

Он настолько маленький и быстрый, что даже может использоваться для контроля траффика Web-сервера.

Это, также, единственный фреймворк, который защищает Ваше приложение от хотлинкинга и DoS атак.
Читать дальше →
Всего голосов 172: ↑152 и ↓20+132
Комментарии102

Несколько советов для PHP-разработчиков

Время на прочтение4 мин
Количество просмотров7.9K
image Хочу опубликовать небольшой сборник советов для современных PHP-разработчиков. Я умышленно не связываю их с теми или иными фреймворками, библиотеками и тп. Надеюсь, что мои советы помогут кому-то лучше понять PHP, научиться лучше его использовать. Некоторые из них могут быть не специфичны для PHP, но для программирования в общем.
Читать дальше →
Всего голосов 214: ↑156 и ↓58+98
Комментарии202

Не строим с нуля. Теперь у Вас есть шаблон для верстки HTML5

Время на прочтение2 мин
Количество просмотров17K
Любовь к HTML5 продолжает вдохновлять Поля Айриша. Во-первых, он подарил нам Modernizr, а сейчас он объединился с Divya Manian для создания шаблона HTML5, который использует передовые техники, чтобы Вы могли начать использовать его в своей практике.

Он, в сущности, является хорошей отправной точкой, состоящей из HTML и CSS, предлагающим также и структуру папок, которая работает. Но созданным с учётом многих лет передового опыта профессионалов в разработке клиентской части. Загляните в исходные тексты, чтобы почувствовать, что находится внутри. А если вы думаете, что этого слишком много, просто удалите лишнее.
Читать дальше →
Всего голосов 157: ↑146 и ↓11+135
Комментарии48

Когда картинка красноречивее 1024 слов – прототипирование с MockingBird

Время на прочтение2 мин
Количество просмотров7.2K
image Для написания ТЗ я задался вопросом поиска простого и удобного средства создания прототипов веб-страниц. Хотелось чего-то бесплатного и в онлайне, некой альтернативы Axure. Такой сервис удалось найти, его я и предлагаю вашему вниманию. Итак, встречайте www.gomockingbird.com – сервис, позволяющий создавать очень красивые прототипы легко и удобно.
Помимо представления самого сервиса, этим постом хотелось также привлечь внимание общественности к полезной практике прототипирования.
Читать дальше →
Всего голосов 137: ↑129 и ↓8+121
Комментарии54

Настройка резервного копирования Linux-сервера за 5 минут

Время на прочтение3 мин
Количество просмотров66K
Передо мной возникла необходимость настроить резервное копирование на новом Linux-сервере, задачка эта оочень важная, но уж больно скучная: нужно написать и отладить скрипты, которые будут архивировать нужные папки (причем желательно делать инкрементальные архивы), базы данных, хранилища subversion, а затем переносить эти архивы на удаленный сервер. По этому я попробовал нагуглить готовое решение для этой задачки и в результате наткнулся на backup-manager — замечательный опенсорсный набор bash-скриптов, позволяющих:
  • архивировать любые папки, в том числе и создавать инкрементальные архивы. В конфиге просто указывается список директорий, которые должны быть скопированы, а также «черный список» файлов, которые копироваться не будут.
  • делать резервное копирование баз данных MySQL. В конфиге указываются логин и пароль mysql-юзера, имеющего доступ к базам, а всю остальную работу backup-manager делает сам.
  • делать резервное копирование svn-репозиториев, причем бэкап делается не копированием папки с хранилищем, а с помощью команды svnadmin dump.
  • шифровать архивы.
  • копировать созданные архивы на удаленные сервера по FTP, SSH или (это самая важная для меня фича) в хранилище Amazon S3, а также записывать их на DVD.

Таким образом, один этот этот набор скриптов решил абсолютно все мои задачи, связанные с резервным копированием. Настраивается все это хозяйство не более чем за пять минут, так как в конфигурационном файле каждый параметр имеет подробные комментарии, так что проблем с настройкой возникнуть ни у кого не должно.
Читать дальше →
Всего голосов 85: ↑74 и ↓11+63
Комментарии45

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

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

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

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

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

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

SEO под DDoS-ом

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

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

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

Полнотекстовый поиск по сайту — бич современного интернета

Время на прочтение4 мин
Количество просмотров27K
Реализация хорошего поиска по сайту — часто сильно недооцененная по сложности задача. Поиск является слабым местом сайтов настолько часто, что когда я вижу строку поиска, у меня сразу же возникает предвзятое ощущение предстоящего фиаско. И чтобы лишний раз не расстраиваться, я сразу переадресую свой вопрос гуглу или яндексу и быстро нахожу то, что требовалось. Что же делать, чтобы как-то улучшить эту ситуацию?
ответы
Всего голосов 76: ↑64 и ↓12+52
Комментарии57

Раскрась свои теги. CSSL

Время на прочтение5 мин
Количество просмотров1.9K
     Я иногда сталкивался с тем, когда web-программист не знал CSS или, скорее, не хотел заниматься облагораживанием своего HTML, который являлся результатом работы разрабатываемого им скрипта. Это натолкнуло меня на мысль, что ему (программисту) не помешало бы иметь при себе некоторое средство для создания «красивых» страниц. Средство должно было бы включать в себя некоторый CSS, возможно, картинки, и подключаться к любому HTML (очевидно, созданному по некоторым определённым правилам). При этом смена CSS (и картинок) на альтернативные не должна была бы приводить к семантически некорректному отображению.
     Вышеобозначенные требования очень похожи на требования к составлению скина для какой-либо системы (в частности, CMS). Но, в отличие от скина, который заточен под конкретный HTML, в нашем случае хотелось бы максимально упростить правила написания HTML, чтобы разработчикам не нужно было держать в голове много сложных правил.
     Таким образом, оговаривая некоторые (небольшие) ограничения на HTML, мы с одной стороны гарантируем программисту, что его код, генерируемый с учётом этих правил, будет корректно оформлен любым сделанным для этих целей CSS, а с другой стороны, оговариваем шаблон изготовления самих этих CSS.
Читать дальше →
Всего голосов 72: ↑66 и ↓6+60
Комментарии83

Закончен предварительный перевод книги «Волшебство Git»

Время на прочтение1 мин
Количество просмотров26K
Я, как и многие программисты, после знаменитого выступления Линуса Торвальдса о Git на Google Talks заинтересовался распределенными системами управления версиями, а в особенно Git.

Я довольно таки свободно читаю на английском, но мне приятнее читать на русском языке, при условии нормального перевода.
Существует замечательная книга «Git Magic» Бена Лина (Ben Lynn).
Благодаря труду многих людей вышел первый черновой вариант этой книги. Всех желающих улучшить перевод — приглашаю под кат.
Читать дальше →
Всего голосов 81: ↑77 и ↓4+73
Комментарии59

FireHOL — файрволл для невежд за пять минут

Время на прочтение4 мин
Количество просмотров8.9K
Это даже не статья и не полноценное руководство, а маленький сниппет, который поможет вам в наикратчайшие сроки поднять хорошо защищенный и правильно настроенный роутер на любой GNU/Linux машине. И это при полном отсутствии необходимости знания iptables.

Firehol, в отличие от shorewall, это даже не набор скриптов, а всего лишь один bash скрипт. Поэтому для его использования необходимость в perl и других интерпретаторах отпадает.

Firehol ближе к старому доброму narc (netfilter automatic rule configurator), но последний не обновлялся уже 6 лет и представляет из себя достаточно простой скрипт, который не совместим с последними версиями iptables. Ближе он тем, что позволяет писать правила практически на родном человеческом языке.
Читать дальше →
Всего голосов 49: ↑38 и ↓11+27
Комментарии14

Где погрызть гранит науки

Время на прочтение4 мин
Количество просмотров28K
image Здравствуй, хабрасообщество. Я знаю, ты любишь халяву. А еще ты любишь учиться. Ведь так? А что может быть лучше для хабравчанина бесплатного образования? Вот и решил собрать специально для тебя подборку из ссылок, где можно набраться уму-разуму в области IT.
Все нижеперечисленные ресурсы абсолютно и официально бесплатны и свободны, что не может не радовать.

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

Большое спасибо в помощи добавлении ресурсов vansickle, RedFox, kagen, theinterman, sM1Le.

Англоязычные ресурсы



Компьютерные науки



OpenCourseWare MIT




Одно из самых больших хранилищ учебных курсов. Здесь собраны практически все курсы, которые преподаются в Massachusets Institute of Technology, который по праву считается одним из лучших в мире. На сайте всего 1900 курсов, а тех, которые преподаются на факультете Electrical Engineering and Computer Science я насчитал более 200. Состав большинства курсов: краткие конспекты лекций, подробное описание курса, календарный план, задания на лабораторные работы, задания на курсовые проекты и экзамены, промежуточные модули. К некоторым курсам прилагаются и видеолекции.

смотреть другие сайты
Всего голосов 223: ↑213 и ↓10+203
Комментарии69

Инструменты css, экономящие ваше время

Время на прочтение2 мин
Количество просмотров18K
Вольно-сокращенный перевод статьи 15 Time Saving CSS Tools You Should Be Aware Of
Под катом текст, графика, ссылки
Читать дальше →
Всего голосов 99: ↑82 и ↓17+65
Комментарии58
1

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность