User
Копируем исходный код без нумерации строк

Бывает при выводе информации требуется ее декорировать для лучшего восприятия, нередко оформление сопровождается в том числе и текстом. При выделении и копировании этой информации, оформление копировать не нужно, т.к. нужна только сама информация, и желательно в исходном виде. То есть при копировании часть выделенного текста не должна попадать в буфер обмена.
В моем случае это исходный код, который сопровождается нумерацией строк, так нагляднее и есть возможность сослаться на строку кода. Однако, если мы хотим скопировать часть кода, то он должен копироваться без номера строки.
Многие highlighter'ы этим грешат, при копировании кода копируют в том числе и номера строк. Выходят из ситуации по разному: либо используют хитрую верстку, при которой возможно несовпадении нумерации со строками (можно заметить на github например), или используют специальную кнопку, которая показывает в отдельном окне код без форматирования. Мне показались эти подходы неудовлетворительными, потому решил найти другое решение.
В данной заметке я опишу решение, к которому в итоге пришел. Решение, конечно, частное, но может кому то оказаться полезным в решении собственных задач.
Ищем быстро, еще быстрее
Я знаю, что на Хабре, да и вообще есть много сторонников noSQL решений (сам не без греха), но все же я сторонник сначала подумать, а уже потом выбирать решение.
Итак, что имеем в «ДАНО»
- Имеем 120 чекбоксов — вариант 1/0
- Имеем 30 «радио» с выбором «да/нет/не важно»
- Имеем 2-3 слайдера для указания диапазона цен/размера чего нить
- Имеем самое главное: 12 млн записей в БД.
- Имеем Select * From tovar Where (wifi=true) and (led=false) and (type=3) and ….остальные параметры …; со временем выполнения близкому к истерике клиента.
Абонентам Билайн — бесплатный трафик в мобильных Яндекс.Картах
Хорошие новости для абонентов Билайн (Россия) — с сегодняшнего дня вы можете пользоваться мобильными Яндекс.Картами, которые потребляют интернет-трафик бесплатно. Чтобы установить новую версию приложения, нужно набрать m.ya.ru/ymm/beeline в браузере телефона и нажать на кнопку «Скачать».
Или можно получить бесплатную смс со ссылкой на страницу загрузки, указав свой телефон на этой странице (ваш номер телефона будет забыт нами сразу после отправки сообщения :).
Потраченный на загрузку приложения трафик — тоже бесплатный. Если при запуске мобильных Яндекс.Карт появится логотип вашего оператора, значит всё получилось!
На данный момент приложение есть для платформ Java, Symbian, Windows Mobile и Android. Владельцы iPhone и iPad, не расстраивайтесь, для вас приложение появится со дня на день — следите за обновлениями в AppStore.
Напоминаем, что небольшая плата может взиматься за подключение к A-GPS и DNS-серверам (таковы, к сожалению, особенности мобильного интернета). Подробнее об этом можно прочитать тут.

Китай: как заказывать производство или поставку

В топике — основы аутсорсинга производства в Китай:
- Как выбрать производителя и сделать заказ
- Как убедиться, что сделают именно то, что вам нужно
- Про предоплату, документы, гарантии
- Как наиболее выгодно доставить
- Что делать с потерянными поставками
- Грабли в ассортименте
Да, если же вы уже заказывали в Китае, то ничего шокирующе-нового в топике вы не найдёте (и, может быть, порадуетесь за то, как нас красиво однажды развели).
Хорошая новость для тех, кому нужен HPC, HA и просто SSI-кластер, наконец
Что это означает для нас, для обычных людей? У вас есть компьютер, где стоит Ubuntu или ещё какой-то Дебиан-подобный Linux? Назовём его Компьютер №1. На нём вы сможете сделать что-то обычное, типа
apt-get install kerrighed-kernel...
ну, вероятно, придётся уж потратить и пару минут на конфигурацию. Далее, перезагрузив Ubuntu, вы увидите новоиспечённое ядро в grub-меню. Выбираете и попадаете в обычную Ubuntu с одним необычным свойством, назовём его "SSI with DRBL"…
Что за зверь «SSI with DRBL»?
Делаем SMS-сервис «на коленке»

Сейчас я расскажу, как мои коллеги за неделю (по часу в день) запустили «по фану» SMS-сервис и как это делается. Вообще, мне было интересно, как надо правильно прикручивать SMS-уведомления к интернет-магазину, но тут прямо целый кейс микропроекта. Сразу говорю, если вы хорошо знаете как работает SMS-агрегатор, SMS-шлюз и другие штуки, этот «первый кирпичик» покажется вам банальным.
Задача перед мини-стартапом стояла простая:
- Создать прикольную штуку на «коленке» за минимум времени
- Потратить на запуск меньше 1000 рублей (время не считается)
- Собрать работающий монетизируемый сервис
UDP: в комментах ещё есть статистика во время хабраэффекта и феерический конец истории от агрегатора.
Простой и эффективный метод отразить http DDoS от 50мбит с помощью nginx и iptables
Предлагаю твоему вниманию простой и в то же время эффективный метод борьбы с http DDoS. На основе сервера Xeon 2.5GHz / 4Gb RAM / SAS можно отражать атаку примерно до 300 Мбит/с (значение получено методом экстраполяции).
Способ реализация
Производится тонкая настройка параметров системы. Так что север будет способен выдерживать больше подключений от ботнета, чем канал до сервера сможет пропустить.
Область применения
Борьба с Http DDoS на выделенном сервере или ВПС. Максимальная возможная мощность сдерживания DDoS атаки ограничивается физическими возможностями сервера и пропускной способностью канала.
SEO под DDoS-ом
Ваш сайт будет правильно индексироваться во время атаки, что позволит сохранить позиции в выдаче поисковых систем. Особенно актуально для сайтов с большими SEO бюджетами.
Стоимость и эффективность
На время атаки придется отказаться от некоторых сервисов вашего сайта. Возможно, придется расширить полосу канала, перенести сайт на более мощный сервер. Эффективность достигается максимизацией коэффициента масштабируемости системы. Обеспечивается быстрое наращивание аппаратных ресурсов при увеличении мощности атаки.
Как выбрать помещение для интернет-магазина в реале

Общая задача такая:
- Есть интернет-магазин, нужна точка в реале;
- Место должно способствовать наибольшей прибыли точки как отдельного розничного магазина;
- И хорошо работать как пункт самовывоза интернет-магазина.
apache+nginx+gzip_static+yuicompressor
Как создать вебсайт для мобильных устройств
Стили
User Agent
Один из способов включения стилей для мобильного устройства — это использование User Agent, которую получает сервер от клиента.
Этому может помочь набор скриптов: code.google.com/p/mobileesp, а также сервис от яндекса api.yandex.ru/detector
При работе с User Agent только одна проблема — это постоянно появляющиеся новые User Agent.
Настоящее скругление углов картинок на клиенте
Грабли при верстке HTML писем
Ниже список встретившихся нам особенностей и способы их разрешения (как то упорядочить их мне не удалось, поэтому всё идет единым списком)
Свободное ПО: «проверка лицензионности»
О реальности такого исхода и о том, как с такими «проверками» бороться, мы сегодня и поговорим.
Реальна ли угроза?
История развития и оптимизаций одного высоконагруженного ресурса

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

Шпаргалка: кеширование картинок, CSS и JS в NGINX
Допустим, у вас на сервере стоит NGINX и вы хотите, чтобы вся статика кешировалась у клиента. В конфиге хоста NGINX пропишите это:
server {
listen 80;
server_name mysite.com;
...
# Задаем правила обработки статического контента (типов файлов можно поставить и больше)
location ~* ^.+\.(jpg|jpeg|gif|png|ico|css|pdf|ppt|txt|bmp|rtf|js)$ {
root /path/to/document/root/; # Путь к корню вашего сайта
access_log off; # не пишем логи
expires 3d; # кешируем у клиента на 3 дня
}
}
Проверить можно в FireBug во вкладке NET: обновите страницу 2 раза и посмотрите код ответа. Если 200 ОК, то не работает. Если 304 Not Modified, то работает.
Неплохо ускоряет работу сайта.
Ликвидатор велосипедов: часть 1

Начну я с оконных менеджеров.
Выпущен релиз Microsoft Ribbon для WPF

Новый элемент управления совместим с WPF 3.5 SP1 и WPF 4. Он не является оберткой над неуправляемым кодом, а целиком написан на WPF, что означает полную совместимость с возможностями управления стилями WPF.
Information
- Rating
- 5,492-nd
- Registered
- Activity