Pull to refresh
40
0
Егор Кислицын @minibikini

User

Send message

Повышение дохода от Adsense на 20%

Reading time2 min
Views829
image

Рецепт очень простой — надо выкинуть из «эфира» всех смс-разводил, тесты на что угодно, смс-шпионаж и прочие прочтения вконтактов.
К сожалению необходима ежедневная фильтрация подобных объявлений на ресурсе, но в конечном итоге мне это дало, в среднем 20% прирост ежесуточного дохода. Это результат 4 недельного мониторинга доходности от Adsense.

Эффект заметил примерно через неделю, но тогда я отфильтровал только около 50 подобных ресурсов. Сейчас список составляет 123 ресурса.

Надеюсь, что он будет вам очень полезен и поможет хоть немного повысить свой доход.

Мой список под катом.

Читать дальше →
Total votes 103: ↑97 and ↓6+91
Comments39

Фотошопим на PHP

Reading time2 min
Views4K
Уменьшаем изображение разными библиотеками и сравниваем результат Для многих задач автоматической обработки фотографий не подходит качество и функционал библиотеки GD. Поскольку возможности обратиться к Photoshop из PHP или Perl пока не существует, решаем проблему с помощью ImageMagick.

Речь пойдет о PHP инрефейсе к ImageMagick MagickWand, который в репозитарии Fedora называется php-magickwand. Хочу обратить Ваше внимание, что MagickWand API отличается от классического ImageMagick тем что позволяет работать как с элементами растровой графики, так и с элементами векторной графики.

Для php есть еще одна реализация интерфейса к ImageMagick, которая называется IMagick, но функционал этой библиотеки, на мой взгляд, уступет MagickWand.


В первой статье рассмотрим на примерах несколько типичных задач по обработке изображений и сравним результаты с php-gd.



Читать дальше →
Total votes 66: ↑64 and ↓2+62
Comments31

Памятка для SEO оптимизаторов

Reading time1 min
Views1.9K
Вот решил поделиться некоторым материалом, который сам составил в ходе экспресс-изучения SEO оптимизации и раскрутки сайтов. Просто попался видео-курс Юсуфа Губайдуллина, который продает его на promoguide.ru и решил воспользоваться случаем. Честно говоря, курс не понравился — нудно как-то рассказывается. Оценил содержание на 4 с минусом, а изложение — на 2 с плюсом. Само SEO весьма скучная вещь, но нужная, поэтому составил небольшую памятку для себя — чтобы не держать это в голове и легко вспомнить когда понадобится. Здесь два файла: первый — просто картинка, второй — в формате freemind, для тех, кто желает что-то для себя добавить.

SEO-карта
Читать дальше →
Total votes 97: ↑88 and ↓9+79
Comments81

Наручные часы Nike Amp+

Reading time1 min
Views5.6K
Многие наверно помнят концепт-кольцо iRing от Apple.
Оно так и осталось концептом. Я же хочу рассказать Вам о часах Nike Amp+, которые выполняют схожую функцию, т.е. выполняют роль беспроводного пульта для iPod.

Фишка этого гаджета в том, что он относится к серии спротивных аксессуаров Nike+, а значит поддерживает работу с Apple iPod nano и специальными кроссовками Nike.

С помощью Nike Amp+ можно переключать музыкальные композиции и выбирать режим тренировки из меню. Во время бега музыку периодически прерывает голос, сообщающий текущее время, преодоленную дистанцию и количество сожженных калорий.



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

Примерная цена гаджета — 2000 рублей.
Total votes 15: ↑11 and ↓4+7
Comments5

Локализация приложений для китайского рынка

Reading time5 min
Views41K
Собственно, ни для кого не секрет, что рынок КНР (а еще и Гонконга и Тайваня) — мечта для любого игропроизводителя. Учитывая азарт китайцев, их внушаемость и распространенность мобильных телефонов среди населения (а также количество абонентов), удачный вход на китайский рынок может принести огромную прибыль.

В этой публикации я постараюсь описать весь этот трудоемкий путь, а так же основные подводные камни, могущие встретиться на этом пути. Добро пожаловать под кат.


Читать дальше →
Total votes 70: ↑66 and ↓4+62
Comments29

Пара полезных команд, которые могут пригодиться при DDoS и не только

Reading time3 min
Views81K
В моем случае, в качестве frontend сервера, стоит nginx и формат access-лога имеет вид:

log_format main '$remote_addr — $remote_user [$time_local] "$host" "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for" -> $upstream_response_time';

Что на выходе дает что-то вроде такой строки:

188.142.8.61 — - [14/Sep/2014:22:51:03 +0400] «www.mysite.ru» «GET / HTTP/1.1» 200 519 «6wwro6rq35muk.ru» «Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; WOW64; Trident/4.0; SLCC2; .NET CLR 2.0.191602; .NET CLR 3.5.191602; .NET CLR 3.0.191602» "-" -> 0.003

1. tail -f /var/log/nginx/nginx.access.log | cut -d ' ' -f 1 | logtop

Позволяет получить общую картину: распределение уникальных IP, с которых идут запросы, кол-во запросов с одного IP и т.д.
Самое ценное — что все это работает в режиме реального времени и можно мониторить ситуацию, внося какие-либо изменения в конфигурацию (например просто забанить ТОП 20 самых активных IP через iptables или временно ограничить географию запросов в nginx через GeoIP http://nginx.org/ru/docs/http/ngx_http_geoip_module.html).
Читать дальше →
Total votes 105: ↑101 and ↓4+97
Comments21

Функциональное программирование на Javascript

Reading time15 min
Views128K


Краткое содержание:

Возьмем немного функций высшего порядка, добавим частичное применение функций, приправим fold с map-ом и получим Javascript DSL для работы с DOM.

Человеческим языком:
Простое и понятное введение в функциональное программирование на чистом и понятном Javascript.

В отличие от «Через тернии к Haskell» все разжевано (возможно даже слишком) и разложено по полочкам.

Прочтение статьи развоплотит миф о неприменимости ФП в реальной жизни. Вы сможете смотреть на решение одной и той же задачи с разных точек зрения. Прямо как на картинке.

Читать дальше →
Total votes 123: ↑114 and ↓9+105
Comments54

Структура данных проекта OpenStreetMap, заглянем под юбку сервису

Reading time18 min
Views28K

Пролог



Проект OpenStreetMap (OSM) открытых геоинформационных данных под свободной лицензией CC-BY-SA (а в скором времени под Open Database Licence) известен достаточно широко, что бы не тратить время на его подробное представление. Главной особенностью проекта и его основным преимуществом по сравнению с любыми другими аналогами являлся принцип полностью открытых географических данных, которые могут быть использованы кем угодно и и как угодно (в рамках лицензии CC-BY-SA) и могут свободно дополняться и уточняться любым участником проекта. Как и любые другие данные, географические данные точно так же подлежат структурированию при хранении и обработке. В данной статье я постараюсь описать основные части структуры данных OSM остановившись больше на принятых типах данных и представлении их в пространственном виде. Работая постоянно с данными проекта OSM очень часто приходится уточнять или пояснять не которые базовые аспекты, поэтому возникла необходимость кратко изложить их в виде одного текста.
Читать дальше →
Total votes 49: ↑48 and ↓1+47
Comments12

DNS сервер BIND (теория)

Reading time21 min
Views489K
Основная цель DNS — это отображение доменных имен в IP адреса и наоборот — IP в DNS. В статье я рассмотрю работу DNS сервера BIND (Berkeley Internet Name Domain, ранее: Berkeley Internet Name Daemon), как сАмого (не побоюсь этого слова) распространенного. BIND входит в состав любого дистрибутива UNIX. Основу BIND составляет демон named, который для своей работы использует порт UDP/53 и для некоторых запросов TCP/53.

Основные понятия Domain Name System


Исторически, до появления доменной системы имен роль инструмента разрешения символьных имен в IP выполнял файл /etc/hosts, который и в настоящее время играет далеко не последнюю роль в данном деле. Но с ростом количества хостов в глобальной сети, отслеживать и обслуживать базу имен на всех хостах стало нереально затруднительно. В результате придумали DNS, представляющую собой иерархическую, распределенную систему доменных зон. Давайте рассмотрим структуру Системы Доменных Имён на иллюстрации:
Читать дальше →
Total votes 110: ↑102 and ↓8+94
Comments24

Настройка и оптимизация MySQL сервера

Reading time9 min
Views312K
В этой статье будут описаны различные настройки MySQL, преимущественно те, которые влияют на производительность. Для удобства все переменные разделены по разделам (базовые настройки, ограничения, настройки потоки, кэширование запросов, тайминги, буферы, InnoDB). Сначала уточним имена некоторых переменных, которые изменились в версии 4 MySQL, а в сети продолжают встречаться и старые и новые варианты имен, что вызывает вопросы.
Читать дальше →
Total votes 180: ↑171 and ↓9+162
Comments19

История развития и оптимизаций одного высоконагруженного ресурса

Reading time5 min
Views14K


Введение

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

Как обычно бывает с ресурсами, набирающими популярность, железки на которых все крутится, перестают справляться. Ресурс стоял на стареньком двухпроцессорном сервере, на котором крутились практически все сервисы для пользователей. В то время начальство не воспринимало ресурс как нечто стоящее вложений, поэтому, к моему сожалению (а позже – счастью), денег под новую железку мне не выделяли.
Читать дальше →
Total votes 208: ↑198 and ↓10+188
Comments56

MySQL шпаргалки

Reading time3 min
Views818K
Часто, когда разрабатываешь сайт, замечаешь, как на одни и те же грабли наступают разработчики при проектировании базы данных.

Сегодня я решил опубликовать свои шпаргалки, на самые часто встречающиеся ошибки при работе с MySQL.

Читать дальше →
Total votes 215: ↑193 and ↓22+171
Comments230

Работа с временными зонами в PHP

Reading time8 min
Views86K
Как только проект перестает быть завязан на ограниченное количество потребителей и растет география его применения, встает вопрос о применении временных зон. Когда я работал в одной известной интернет компании внедрение в работу временных зон (как в интерфейс отображения статистики, так и в программу анализа) было достаточно серьезным шагом.

Далее перевод :-)
Читать дальше →
Total votes 50: ↑47 and ↓3+44
Comments37

Закрепляем jQuery — 25 отличных советов

Reading time19 min
Views168K
Перевод отличной статейки. Думаю, будет полезна как новичкам, которые только приступили к использованию jQuery, так и тем, кто уже какое-то время с ним работает. А кого-то, возможно, заставит глянуть эту чудесную библиотечку. Многие советы имеют отношение не только к jQuery, но и к JavaScript в целом. Лично для меня была весьма и весьма познавательной, посему и захотелось донести это «до масс». Перевод не дословный, но передающий смысл и максимально адаптированный к русскому языку.

Далее все написано от имени автора оригинальной статьи.

Введение


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

Я не эксперт в jQuery. И даже не претендую, поэтому, если встретите ошибки, смело поправляйте меня и вносите предложения по улучшению (поправлять и присылать поправки нужно автору статьи, а не перевода — зам. пер.).

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

Содержание


  1. Загружайте фреймворк с Google Code
  2. Используйте «шпаргалку» (cheat sheet)
  3. Соединяйте все ваши скрипты и уменьшайте размер файла
  4. Используйте возможности Firebug для ведения логов
  5. Минимизируйте операции выборки в пользу кэширования
  6. Сводите манипуляции с DOM-деревом к минимуму
  7. Оборачивайте все в единый элемент, когда речь идет о любой вставке в DOM
  8. Используйте «id» вместо классов, где это возможно
  9. Задайте контекст своим селекторам
  10. Используйте последовательности вызовов методов с умом
  11. Научитесь правильно использовать анимацию
  12. Научитесь назначать и делегировать события
  13. Используйте классы для сохранения состояния
  14. Еще лучше — используйте встроенный в jQuery метод data() для сохранения состояния
  15. Пишите собственные селекторы
  16. Подготавливайте HTML и модифицируйте его, когда страница загружена
  17. Используйте «отложенную загрузку» (lazy loading) для определенного контента для выигрыша в общей скорости и преимуществ для SEO
  18. Используйте служебные функции jQuery
  19. Используйте «noconflict» для переименования глобального объекта «jquery», когда используете его с другими фреймворками
  20. Как узнать что картинки загружены?
  21. Всегда используйте последнюю версию
  22. Как проверить, что элемент существует?
  23. Добавляйте класс «JS» в элемент «html»
  24. Возвращайте «false» для отмены поведения по-умолчанию
  25. Короткая запись для события готовности документа


Rock'n'Roll!
Total votes 188: ↑182 and ↓6+176
Comments109

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

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

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

Темизация Drupal

Reading time1 min
Views6.5K
CMS Drupal часто ругают за однообразность и узнаваемость дизайнов, которые используются на Друпал-сайтах. То что за данным сайтом стоит Друпал можно определить не только URL-адресам специфического вида, узнаваемым путям к папкам модулей и главной странице в виде списка последних опубликованных документов, но и по стандартной двух-трехколоночной структуре сайта, наличии стандартных форм авторизации и поиска, облаков тегов, списков новых документов и других часто используемых блоков.

Однако все эти упреки не оправданы, к Друпалу, при должном умении, можно прикрутить дизайн и верстку любой сложности. До неузнаваемости можно «темизировать», то есть изменить внешний вид, любой html-код, создаваемый Друпалом: все стандартные формы, блоки, документы и списки.

В ноябрьском номере журнала PC Magazine/RE опубликована моя статья о «темизации» Друпала, в ней рассказано о трех этапах темизации, которые покрывают собой практически 100% задач, связанных с изменением внешнего вида сайта:
  • разработка общего шаблона для всех страниц сайта и «кастомных» шаблонов для избранных страниц;
  • разработка различных шаблонов для разных типов документов и списков;
  • изменение внешнего вида форм (поиск, авторизация и любые другие стандартные и создаваемые внешними модулями формы).

Кроме того, в последнем разделе рассказано об основах Forms API Друпала.
Total votes 54: ↑48 and ↓6+42
Comments22

Текстура для веб-дизайна

Reading time1 min
Views13K
Последние время мне часто приходится искать разнообразные текстуры. Поэтому я решил опубликовать несколько сайтов с большим выбором текстур.

Первым в этом списке я выбрал http://www.textureking.com/ — красивый и понятный дизайн сайта, а также хороший выбор текстур которые разделены на 14 категорий.

Следущим будет http://www.cgtextures.com/ — огромное количество текстур и их категорий (вожможно он и получше textureking :), вам решать.
Читать дальше →
Total votes 75: ↑68 and ↓7+61
Comments63
1

Information

Rating
Does not participate
Location
Индия, Индия
Registered
Activity