Как стать автором
Обновить
72
0
Павел Осипов @Pavel_Osipov

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

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

Как сделать сайт более iPhone-совместимым за 5 шагов

Время на прочтение2 мин
Количество просмотров55K
Тот факт, что iPhone предлагает наиболее развитый мобильный браузер среди мобильных платформ, пожалуй, ни у кого не вызовет сомнений. Однако не все знают, что довольно небольшими усилиями можно сайт сделать еще более дружественным к тем, кто смотрят его на iPhone или iPod Touch.

Ниже предлагаются простые 5 шагов, с которых можно начать, на примере сайта WHOIS Digger.

Шаг 1. Аналог favicon.ico

Когда пользователь создает ссылку на ваш сайт в виде иконки в SpringBoard, iPhone автоматически формирует картинку из скриншота страницы. В результате почти всегда получается неразборчивая каша, которая на гордое звание «иконки для iPhone» никак не тянет. Пропишите этот тег в заголовке страницы:

<link rel="apple-touch-icon" href="res/iphone_icon.png" />

и добавьте соответствующую картинку res/iphone_icon.png размером 57х57 пикселов. iPhone сам добавит скругленные углы и полукруглый блик, сделав вашу иконку похожей на остальные.

Вот так выглядит исходная картинка и иконка на рабочем столе iPhone:


Читать дальше →

Отключаем Supernode в Skype

Время на прочтение1 мин
Количество просмотров47K
Как известно, Skype использует p2p сеть для обмена данными. Если у Вас достаточно мощный компьютер, то Skype может решить сделать Вас Супернодом и, как следствие, скайп-трафик других участников сети будет идти через Вас.
Начиная с версии 3.0 программы, появилась возможность отключить такую «фичу», что бы чужой трафик скайпа не шёл через Вас.
Для этого необходимо залезть в реестр и создать там ветку:

[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Skype]
[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Skype\Phone]
"DisableSupernode"=dword:00000001

После перезагрузки системы новая настройка вступит в силу.
Для удобства можете использовать .reg-файл, который сам добавит необходимые параметры в реестр.

Дополнительная информация:
1. Guide for Network Administrator’s (.pdf) — подробное описание этой и некоторых других настроек реестра для скайпа.
2. Шаблон групповой политики (.adm), который позволяет более гибко настраивать параметры скайпа.
3. Отключение Supernode в MacOS-версии

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

Время на прочтение16 мин
Количество просмотров40K
Нравится мне эта картинка, у меня, вот никогда такие красивые графики в какти не получались =(

Введение


С момента написания мной предыдущей статьи по оптимизации этой связки прошло довольно много времени. Тот многострадальный 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. Минусы оптимизации

Кому что-нибудь из этого списка интересно, жмём сюда...

Другие возможности Java

Время на прочтение4 мин
Количество просмотров6.8K
Я продолжаю переводить источник первой статьи. Всё больше очевидных вещей, не смотря на это я все же решил, что повторение — не такое плохое занятие.

И коли источник исчерпыет себя — призыв к хабра-java-сообществу: «Don’t be jealous!», дополните этот список в комментариях, поделитесь опытом. А пока — продолжение предыдущей статьи, после монтажа, дубляжа и разбавления собственным опытом:

JDK tools


Почти все в курсе, что в поставку JDK входит внушительное число tools’ов. Однако в повседневной работе, думаю, многие кроме как java, javac, jar не используют. Что же ещё можно взять из папки bin:
Читать дальше →

Самые глупые вещи, которые я сделал будучи программистом

Время на прочтение2 мин
Количество просмотров8.6K
Оригинальное название статьи: «The * stupidest things I’ve done in my programming job», поэтому перевод названия статьи не очень точен, однако то, что автор имел ввиду под "*" мы опустим — мы ведь не знаем наверняка :)

Я больше не стыжусь своих грешков, так что — вперед:

1. ORM


Глупость

Создал собственную ORM (Object Relational Mapping) библиотеку

Следствие

Неразбериха в проекте после двух лет поддержки, в следствие хаков-обходов моей ORM библиотеки для запуска прямых SQL запросов

Что я должен был сделать

Использовать Hibernate, iBATIS, Cayenne или нечто подобное.

Читать дальше →

Делаем reflection быстрой как прямые вызовы

Время на прочтение12 мин
Количество просмотров50K
Большинство программистов знают о reflection, которая (она — рефлексия) упрощает добавление динамических возможностей в статические языки, такие как Java/C#. Однако reflection упрекают в том, что вызовы работают очень медленно — до 500 раз медленнее. Все же это можно c легкостью исправить — покажем в этой статье как сделать reflection-вызов таким же быстрым, как и прямой (direct) вызов.
Читать дальше →

Data Extracting SDK: Часть 1

Время на прочтение4 мин
Количество просмотров1.6K
Data Extracting SDK написан на .NET Framework 3.5 и содержит средства для извлечения и анализа данных из текстовых файлов и web-ресурсов. Прислушиваясь к результатам опроса выкладываю первую версию Data Extracting SDK CTP (Community Technical Preview) на всеобщее обозрение.

Основные возможности:
  • Html Processing — загрузка, анализ html
  • DOM анализ — получение ссылок, изображений, таблиц
  • извлечение ссылок, фильтры, возможность написания своих фильтром, глубокий анализ сайта
  • извлечение электронных адресов, телефонов, urls и т.д.
  • анализ контента сайта (количество элементов, плотность слов)
  • возможности для SEO анализа
Остановимся на основных возможностях SDK.
Читать дальше →

Многомерные кубы, OLAP и MDX

Время на прочтение5 мин
Количество просмотров120K
OLAP Довольно давно являюсь обитателем Хабра, но так и не доводилось читать статьи на тему многомерных кубов, OLAP и MDX, хотя тема очень интересная и с каждым днем становится все более актуальной.
Не секрет, что за тот небольшой промежуток времени развития баз данных, электронного учета и онлайн систем, самих данных накопилось очень много. Теперь же интерес также представляет полноценный анализ архивов, а возможно и попытка прогнозирования ситуаций для подобных моделей в будущем.
С другой стороны, большие компании даже за несколько лет, месяцев или даже недель могут накапливать настолько большие массивы данных, что даже их элементарный анализ требует неординарных подходов и жестких аппаратных требований. Такими могут быть системы обработки банковских транзакций, биржевые агенты, телефонные операторы и т.д.
Думаю, всем хорошо известны 2 разных подхода построения дизайна баз данных: OLTP и OLAP. Первый подход (Online Transaction Processing — обработка транзакций в реальном времени) рассчитан на эффективный сбор данных в реальном времени, второй же (Online Analytical Processing – аналитическая обработка в реальном времени) нацелен именно на выборку и обработку данных максимально эффективным способом.

Давайте рассмотрим основные возможности современных OLAP кубов, и какие задачи они решают (за основу взяты Analysis Services 2005/2008):
  • быстрый доступ к данным
  • преагрегация
  • иерархии
  • работа с временем
  • язык доступа к многомерным данным
  • KPI (Key Performance Indicators)
  • дата майнинг
  • многоуровневое кэширование
  • поддержка мультиязычности

Читать дальше →

Ускоряем запуск браузера FireFox

Время на прочтение2 мин
Количество просмотров36K
Ещё давно приметил, что мой любимый инструмент, запускается значительно шустрее после установки, чем после многомесячного, активного использования браузера. Заметил, но как распорядится этим знанием мыслей не было. И вот, только что наткнулся на полезную тему, где описано это узкое место, а также дан ещё один совет по ускорению запуска браузера.

И так узкое место при запуске это загрузка .sqlite, базы данных вашего профиля. При интенсивной работе с Фоксом, базы разрастаются, в них появляются «пустые места», ну и главный недостаток, файл базы данных становится сильно фрагментированными. Для решения подобной проблемы существует специальная команда «очистки», точнее операция пересоздаёт файл базы, но уже без пустых мест. Для этого нужно проделать следующее:
Читать дальше →
12 ...
24

Информация

В рейтинге
Не участвует
Откуда
Рига, Латвия, Латвия
Дата рождения
Зарегистрирован
Активность