Search
Write a publication
Pull to refresh
4
0

User

Send message

Автоматизированный приём webmoney платежей на вашем сайте.

Reading time6 min
Views3.4K
0. Вступление

Ни для кого не секрет, что в последнее время webmoney набрало достаточную популярность для того, чтобы стать одним из самых удобных и доступных средств для безналичного расчёта через интернет. Пополнить баланс своего мобильного, оплатить покупку товаров в веб-магазине — всё это можно сделать с помощью webmoney.

Я бы хотел рассказать вам несколько способов, как можно устроить приём оплаты за какие либо товары или услуги на вашем сайте электронной валютой webmoney. Это, кстати, не так сложно, как могло бы показаться на первый взгляд!
Читать дальше →

Граб страниц с помощью WebHarvest

Reading time5 min
Views2.5K
Задача граба информации с веб страниц, всегда актуальна. Как для какого-то проекта, так и в целях более удобного использования ресурса. Я имею ввиду юзабилити или просто необходимость увидеть данные в другом разрезе. Грабить чужую информацию и использовать ее в коммерческих целях всегда плохо, за это обычно пытаются наказать и наказывают. А в личных целях, использовать ее можно свободно. Это, наверно, можно сравнить с использованием карандаша или цветных маркеров при чтении газет и журналов. Например, если я обвожу объявления то красным, то желтым цветом, а некоторые перечеркиваю жирным, то я просто качественно изменяю отображение информации в нужном для моих задач свете. Но юристов надо бояться.
Пример использования WebHarvest в жизни

Испытание сервисов для создания коротких ссылок

Reading time10 min
Views3.8K
Зачем был написан топик?

Испытав в очередной раз необходимость воспользоваться TinyUrl, я наткнулся на угрожающее сообщение, что либо сайт находится в блэк-листе, либо мой IP забанен. Попробовав ввести другой адрес и добившись результата, я пришёл к неутешительному выводу, что такую фигню выдаёт ссылка на файл, лежащий на яндексовом хостинге. Пара минут поиска — и вот ссылка уже благополучно обрезана в MooURL. Откуда я взял MooURL? А вот наобум выбрал. В своём блоге, в записи от 29.06.2008, Артём Беляйкин опубликовал список из 68 сервисов, которые предложил для уменьшения размера длинных ссылок. Правда, с упором на маскировку партнёрских ссылок, а я упираюсь в пользователя :)

Поскольку выбирать наобум — это путь, всё-таки, немного не наш, было решено просмотреть все ссылки и оформить о них первое впечатление в виде экспресс-обзора. По ходу дела ещё и выяснилось, что для Cети полгода — это уже Срок, и часть из этих сайтов уже не работает.

Зачем это хабрасообществу?

Для пользы. И чтобы не копаться в этом самим, когда понадобится. Использовано может быть по разному поводу, например: записывать на бумажку такой адрес удобнее; по смс скидывать удобнее; в социальных сетях (когда стоит запрет на публикацию адреса) публиковать удобнее. Это если не брать в расчёт использование в целях редиректа и прочие варианты.
Читать дальше кучу текста

Выборочное подключение USB-флешек в Windows XP

Reading time2 min
Views43K
По роду своей деятельности (системное администрирование), приходится мне постоянно решать различные интересные задачи по управлению компьютерами и сетями.

Вот одна из них.

Дано:
  • Компьютер операторов производства (Windows XP SP2)
  • Одобренная начальством USB-флешка для переноса данных с промышленных компьютеров на компьютер операторов

Требуется:
Обеспечить подключение только одной, одобренной начальством USB-флешки, запретив при этом подключение других, неодобренных (смайл).

Ход решения:
Читать дальше →

Бесплатная замена могучим Alcohol, Nero и другим программам для виртуальных дисков

Reading time1 min
Views10K
В российские школы 2 года назад прислали замечательный комплект полезнейших (большей частью) программ «Мультимедийная библиотека». Чего там только не было: и полезный известный софт типа Photoshop и Corel Draw, и куча учебно-тестирующего.

Но беда: всего по одной штуке, по одному экземпляру диска.

Нужно было поставить одну неплохую российскую программу, привязанную к CD. Никакого лицензионного соглашения на учебные программы не прилагалось, поэтому непонятно: можно программу пользовать на 20 компьютерах или нет.

Вышли из положения просто: программа для виртуальных CD и все в порядке. Однако триальный период кончился, а проверяющие органы (прокуратура и минобразования, ведь с преступностью в стране покончено, да и в системе образования все идеально) не дремлют.
Читать дальше →

Поисковая оптимизация. Часть 1 — внутренние факторы

Reading time3 min
Views1.9K
Рекомендации по html-коду, вёрстке и немного — по копирайтингу. Актуально для февраля-2009

Это не очередной список «101 совет, как достичь идеала в том-то», которых полно в интернете. Это «инсайдерская информация» SEO-компании, ведущей более 600 проектов. Перечислено то, на что мы обращаем внимание, начиная поисковую оптимизацию. Разумеется, не всё получается реализовать (например, движок сайта что-то не позволяет, а где-то пункты противоречат(!) друг другу). Ничего страшного. Если больше половины рекомендаций получается реализовать, то это уже очень хорошо!
Читать дальше →

Автоматический отстрел граберов или как избежать автоматического сграбления сайта

Reading time2 min
Views1.1K
Я администратор доски объявлений и видимо усилия по поддержанию уникального контента (TBD – тема отдельного типика) не проходят зря т.к. я заметил нехорошую тенденцию к сграблению объявлений через RSS ленту, разбор html-страниц сайта т.е. контент серым личностям нравиться.

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

Первый и действенный метод борьбы – посмотреть в ping IP сайта, ворующего контент и заблокировать его, что помогало только первое время. Но иногда мне просто нехватало времени на выявление «воришек», да и некоторые сайты стали добавлять использование прокси-серверов.

Как настоящий программист я принялся искать автоматизированное решение и быстро нашел его. Достаточно вспомнить, что одним из важнейших различий вэб-сервера и компьютера пользователя в сети Интернет является наличие у сервера открытых портов, обслуживаемых HTTP/SMTP/POP-серверами. Т.е. если недопускать копирование контента с IP имеющих открытые наружу порты, то это будет хорошее препятствие.

Чтобы начать выявлять серых личностей и их сайты оказалось достаточно такого PHP-кода:

//$ip – это может быть $_SERVER["REMOTE_ADDR"] и $_SERVER["HTTP_X_FORWARDED_FOR"]
$fp = @fsockopen($ip, 80, $errno, $errstr, 1);
if( $fp !== FALSE )
{
//тут логируем, что данный IP имеет открытый HTTP-порт т.е. вероятно это сервер
}


Следует обратить внимание, что поле HTTP_X_FORWARDED_FOR устанавлиается в случае, если пользователь ходит через обычный прокси. Но это поле может быть и подделкой, поэтому нужно проверять IP как указанное в HTTP_X_FORWARDED_FOR, так и в REMOTE_ADDR.

Поскольку на доске объявлений происходит установка сессии для каждого посетителя, то проверка выполнялась только на 2-м хите для каждого уникального IP.

Пробный запуск скрипта на 1 сутки показал высокую эффективность – 4 сайта-грабителя были выявлены и обезврежены. Отловлено IP с открытым 80-м портов – более 2000! Поэтому для анализа IP использовался WHOIS сервис любезно предоставленный nic.ru и еще один скрипт. Ну что-же, у них защиты от автоматических сканеров нет и хорошо ;)

Теперь все, кто находятся в моем бан-листе получают текст объявления вроде «Данное объявление было незаконно скопировано с сайта xxxx, что является нарушением авторских и смежных прав. Пожалуйста, не пользуйтесь сайтами ворующими контент т.к. такие сайты могут использоваться для распространения скрытых вредоносных программ, а также могут собирать конфиденциальную информацию о вас.» ;)

Однако не стоит просто блокировать все IP имеюшие открытые наружу порты. Оказывается существуют домашние сети, где по 80-му порту открывается статистика прокси-сервиса (да, каждому гостю!), где детально перечислен список любимых сайтов этой аудитории с количеством хитов/Мб и кто сколько тянул…

Дополнительная информация:
  1. Для анализа хождений через прокси-сервера следует анализировать порты – 8080, 1080, 3126.
  2. Поиск дубликатов (имею премиум, личное мнение – сервис очень часто не прав) — http://www.copyscape.com/


Прошу Ваши идеи и комментарии в тред!

Save-закладка

Reading time1 min
Views1.9K

В моем графическо-рукодельном баловстве под названием iconote многих позабавила закладка с иконкой Save. Решил выложить ее в виде векторного файла — зачем изображению без дела валяться:)
Т.е. можно распечатать, желательно на плотной бумаге, и пользоваться на здоровье:)



AI-файл
EPS-файл
PDF-файл

API Playground

Reading time1 min
Views1.8K
api playground

На прошлой неделе Google официально представил очередную разработку в рамках «20% личного времени» которая вышла за пределы компании. Инженер по разработке Бен Лисбаккен (Ben Lisbakken) создал API Playground, с которым изучение кода для Google Javascript API становится легким, как никогда ранее.

API Playground предоставляет простой и удобный интерфейс написания и тестирования javascript-кода для восьми сервисов Google, использующих API, это: Maps, Search, Feeds, Calendar, Visualization, Language, Blogger, Libraries и Earth. Кроме того новый API Playground скоро станет способом по умолчанию для демонстрации примеров JS-кода. Еще одна хорошая новость заключается в том, что гигант перевел часть исходных кодов под лицензию Apache 2.0 для использования в Playground.

На данный момент на «игровой площадке» (playground) доступно более 170 javascript-шаблонов, начиная от простых списков, слайдшоу основанных на медиа-RSS и заканчивая KML-файлами Google Earth.

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

Google Code Blog via ReadWriteWeb

Ускоряем понимание коммерческого или технического текста: как перестать бояться писать просто

Reading time9 min
Views91K


Читать молча мы научились относительно недавно. Раньше не было иного логичного способа читать, кроме как строго вслух. Фактический процесс чтения напоминает слушание двух голосов: один проговаривает слова текста, второй переводит их для нас на понятный нам язык.

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

Это имеет прямое отношение к коммерческим текстами и к техническим. Минимальные искажения при передаче информации означают большую конверсию. Больший охват. Большую силу призыва. Большую практическую понятность.

Поэтому сейчас я расскажу базовые вещи, которые можно делать прямо здесь и сейчас у вас на сайтах.
Читать дальше →

Живительная флешка

Reading time10 min
Views523K
На данный момент в сети имеется целая куча различных инструкций по созданию дежурной рабочей сисадминской флешки, но, к сожалению, многие из них уже устарели и просто не подходят под современные задачи.

Я не собираюсь описывать процесс установки GRUB4DOS, так как это не изменилось и в сети полно инструкций. Просто скажу, что GRUB4DOS просто должен быть установлен на флешку. Также я НЕ собираюсь выкладывать здесь образы систем (все имеется на торрентах), но, тем не менее, выложу полное меню из LST-файлов со структурой папок. Также необходимо учесть, что все образы ISO необходимо дефрагментировать.


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

Эффективный Django. Часть 1

Reading time14 min
Views304K

Представляю вам перевод статей о Django с сайта effectivedjango.com. Наткнулся я на этот сайт во время изучения данного фреймворка. Информация размещенная на этом ресурсе показалась мне полезной, но так как нигде не нашел перевода на русский, решил сделать сие доброе дело сам. Этот цикл статей, как мне думается, будет полезен веб-разработчикам, которые делают только первые шаги в изучении Django.
Приступить к чтению

Всё, что вы хотели знать об областях видимости в JavaScript (но боялись спросить)

Reading time8 min
Views83K
У JS есть несколько концепций, связанных с областью видимости (scope), которые не всегда ясны начинающим разработчикам (и иногда даже опытным). Эта статья посвящена тем, кто стремится погрузиться в пучину областей видимости JS, услышав такие слова, как область видимости, замыкание, “this”, область имён, область видимости функции, глобальные переменные, лексическая область видимости, приватные и публичные области… Надеюсь, по прочтению материала вы сможете ответить на следующие вопросы:

— что такое область видимости?
— что есть глобальная/локальная ОВ?
— что есть пространство имён и чем оно отличается от ОВ?
— что обозначает ключевое слово this, и как оно относится с ОВ?
— что такое функциональная и лексическая ОВ?
— что такое замыкание?
— как мне всё это понять и сотворить?
Читать дальше →

Настройка и масштабирование PostgreSQL

Reading time1 min
Views4.3K
Написал небольшой мануал по настройке и масштабированию PostgreSQL. Сподвигло меня на это то, что материала по этой теме мало, он устарел или его просто нет.

Скачать можно здесь:
http://github.com/le0pard/postgresql_book/raw/master/postgresql.pdf
Исходники:
http://github.com/le0pard/postgresql_book/

Страница:
http://postgresql.leopard.in.ua/

Системы контроля версий: Fossil, часть I

Reading time10 min
Views42K
Приветствую вас, коллеги!

Относительно недавно здесь публиковался опрос по используемым системам контроля версий. Как и ожидалось, с большим отрывом победил Git, а Fossil даже не был включен в список, только в комментариях пару раз промелькнул. Поиск по Хабру показал, что здесь о Fossil практически ничего не писали. Поэтому я и решил опубликовать эту статью — тем более, что русскоязычная информация о Fossil крайне скудна и однообразна.
Читать дальше →

Крошечный Excel на чистом JavaScript (30 строк кода)

Reading time2 min
Views137K
Особенности:
  • Около 30 строк обычного JavaScript
  • Использованные библиотеки: отсутствуют
  • Синтаксис как в Excel (формулы начинаются с "=")
  • Поддерживаются произвольные выражения(=A1+B2*C3)
  • Обнаруживаются циклические ссылки
  • Автоматическое сохранение в localStorage

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

Руководство для дизайнера по DPI

Reading time27 min
Views324K


Это руководство — начальный материал о кросс-DPI и кроссплатформенном дизайне для начинающих и средних дизайнеров, желающих узнать о нем с самого начала или получить больше знаний. Без сложных математических и непонятных диаграмм, только непосредственные объяснения, упорядоченные в небольших разделах, для понимания и применения их непосредственно к вашей дизайнерской работе.

Автор — Sebastien Gabriel.

Я не знаю всего, так что, если по вашему мнению я где то ошибаюсь или вам нужно уточнить что-то, либо у вас есть предложения или вопросы для улучшения данного руководства, отправьте письмо (на англ) на sgabriel.contact@gmail.com. Вы также можете найти на меня Twitter, G+ или Facebook.
Читать дальше →

Оптимизация графики для Retina-экранов

Reading time7 min
Views213K
После недавнего выпуска Retina MacBook Pro и The new IPad, экраны с увеличенной плотностью пикселей начали активно входить в нашу жизнь. Что это значит для веб-разработчиков?

Для начала разберемся в терминологии.

Физические пиксели


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

Несколько интересностей и полезностей для веб-разработчика #29

Reading time4 min
Views54K
Доброго времени суток, уважаемые хабравчане. За последнее время я увидел несколько интересных и полезных инструментов/библиотек/событий, которыми хочу поделиться с Хабром.

HumHub



Открытая социальная сеть, построенная на Yii — достойный аналог Diaspora. Разработчики вообще говорят, что это фреймворк, который предоставляет инструменты для лёгкой и продуктивной командной работы. Гибкая модульная система и ряд плагинов: заметки, таск-менеджер, календарь, голосование, рассылки и др. Еще HumHub — это очень красиво. Клевый современный интерфейс, асинхронность, всплывающие подсказки и прочие детали.

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

Подмена XMLHttpRequest или как не трогая тонны готового js-кода изменить поведение всех ajax-запросов

Reading time7 min
Views22K
Здравствуйте, в этой маленькой заметке расскажу немного про ООП в JS, объект XMLHttpRequest, паттерн прокси, и дружелюбие джаваскрипта в этом плане.

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

Information

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