Pull to refresh
6
0
Send message

Учимся писать userscript'ы

Reading time7 min
Views294K
Доброго времени суток всем желающим приобщиться к миру пользовательских скриптов (они же userscript, userJS, юзерскрипты).

В этой статье я хочу поведать о том, что такое юзерскрипты, c чем их едят и, главное, как их готовят!

Внимание: предполагается минимальное знание javascript.
На практике доказано: юзерскрипты может писать человек, не знакомый с программированием, но обладающий усидчивостью и желанием изучить javascript!
О том, что такое javascript и как с ним обращаться, можно узнать на javascript.ru.
Поехали!

Хабрахабр не торт. Хабрахабр сыр. 

Reading time3 min
Views1.2K
Осеннее обновление Хабрахабра, к нашему общему сожалению, обладает множеством убедительных признаков сырого кода (прочтите их и дополните в комментариях, если я чего-то не заметил или пропустил):

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

Комильфо интерфейса пользователя

Reading time6 min
Views8.2K
Сразу хочу сказать, что в данной статье речь пойдет не о веб-дизайне, но о дизайне интерфейса компьютерных программ.
Для пользователя конечным продуктом является не программа, а интерфейс. Он никогда не задумывается над тем, как устроена программа, пока она успешно справляется со своими задачами. Поэтому очень важно, чтобы интерфейс привлекал конечного пользователя, а не отпугивал в первые же секунды знакомства с ним.

Кто ответит за дизайн?



Зачастую разработкой интерфейса ПО занимаются сами программисты, которые это ПО и написали. Причем, как правило, не каждый программист может похвастаться наличием дизайнерских способностей или хотя бы опыта в этом плане.
Правильного ответа на вопрос «как сделать хороший интерфейс» нет и не будет, однако можно вывести некоторые общие рекомендации, которые хоть и не ответят на вопрос «как нужно делать», зато уж точно подскажут «как делать не нужно». Следование таким рекомендациям не даст обязательно сногсшибающий результат, зато поможет не совершать частых ошибок дизайна интерфейса и сделать его как можно более удобным и привлекательным для пользователя.
Написанные ниже рекомендации ориентированы на разработчиков ПО, которые никогда особо не задумывались об интерфейсе разрабатываемых ими программ, делая акцент лишь на внутреннее устройство. Если программа подразумевает в качестве пользователя не только самого разработчика, но и каких-либо других людей, то стоит обратить некоторое внимание и на внешний вид программы.
Некоторые рекомендации уже будут вам знакомы или очевидны, не буду отрицать. Посему просьба отнестись к этому позитивно, повторение — мать учения.
Читать дальше →

Подсветка синтаксиса Midnight Commander: добавляем свой синтаксис

Reading time3 min
Views27K
Всем хорош exim но его конфигурация не похожа ни на что соответственно и подсветка в нем скучно-серая (см.ниже)и чтобы исправить эту досадную ошибку решено было покопаться в недрах гугла на предмет Midnight commander syntax highlight.
Краткий конспект поисков представлен ниже
Читать дальше →

Обзор бесплатных инструментов для аудита web-ресурсов и не только

Reading time4 min
Views40K

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

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

У статьи довольно низкий порог вхождения для понимания и использования, по этому, надеюсь, придется по душе многим. Раскрывается лишь базовый функционал программ.

В злых целях знания использовать не буду!

Алгоритм определения попадания точки в контур на основе комплексного анализа

Reading time4 min
Views131K
Привет всем Хабра людям. Хочу представить уважаемым читателям пример, когда сухая и далекая от жизни в нашем понимании высшая математика дала не плохой практический результат.

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

Выбираем платежную систему

Reading time6 min
Views140K
Всем привет!

На днях я делал интеграцию своего сайта с платежными системами для отъёма денег у населения. Решил поделиться своими наблюдениями по поводу качества работы и быстроты настройки некоторых систем.

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

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

Умножение длинных чисел методом Карацубы

Reading time7 min
Views98K
На днях нужно было разобраться с этим алгоритмом, но беглый поиск в google ничего путнего не дал. На Хабре тоже нашлась только одна статья, которая мне не особо помогла. Разобравшись, попробую поделиться с общественностью в доступной форме:
Читать дальше →

Реализация нечеткого поиска

Reading time6 min
Views43K


Если ваш веб проект так или иначе будет связан с поиском и предоставлением пользователям некоторых данных, то перед вами наверняка встанет задача реализации строки поиска. При этом, если в проекте по какой-либо причине не удастся использовать технологии умных сервисов как Google или Яндекс, то поиск частично или полностью придется реализовать самостоятельно. Одной из подзадач наверняка будет реализация нечеткого поиска, ведь пользователи часто ошибаются и иногда не знают точных терминов, названий или имен.

В данной статье описывается возможная реализация нечеткого поиска, которая была применена для поиска на сайте edatuda.ru.
Читать дальше →

История создания «Мобильной Рекламы»

Reading time9 min
Views1.8K

Как закалялась сталь.


Топик опубликован по просьбе и поддержке жителей Хабра.

Начну с итогов.

Рекламная сеть сейчас:


— 20 000 000 просмотров рекламы в сутки
— 3000 проведенных рекламных кампаний
— 150 рекламных кампаний в ротации одновременно
— 84 страны мира и 326 операторов сотовой связи в настройках таргетинга
— 100% зеркальная статистика с подробным логом для обеих сторон мобильного рынка рекламы

Для меня это 3 года работы без выходных и отпусков, выход на издателей вне России и предложения интеграции с другими системами, десятки проблемных партнеров и каждодневный стресс.

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

Постараюсь обойтись без адресов и фамилий. Приготовьтесь, читать много.
Читать дальше →

Вышла новая версия Ajenti

Reading time2 min
Views17K
Вышла новая версия Ajenti. За номером 0.5-4.
Для тех, кто не знает о чём речь — автор этого замечательного веб-интерфейса для администрирования серверов под управлением семейства *nix — уже представлял своё творение на Хабре. Раз, два.


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

«Синдром вахтера» в действии. Яндекс – партнер или «убийца бизнеса»?

Reading time9 min
Views14K
Оглядев просторы интернета и взвесив свои силы, решили мы сделать каталог интересных современному обществу товаров в области электроники и бытовой техники – alldigital.ru. С большим энтузиазмом мы собирали информацию по товарам, структурировали данные, зачастую представленные кое-как на просторах Интернет, налаживали связи с магазинамии, доказывали, что «мы всерьез и надолго», создавали и создаем обзоры представленных товаров.С некоторого момента плоды трудов стали видны в Google – трафик потихоньку пошел вверх. На что Яндекс отреагировал абсолютно холодно – все, примерно 40 тысяч присутствующие в индексе Яндекса, страницы alldigital.ru находятся на заповедных страницах выдачи, куда не попадает клик даже очень пытливого пользвателя.Трезво оценив обстановку, приняли решение, что нам поможет получить большее доверие у ПС Яндекс размещение сайта в Каталога Яндекса. Уверовав в свои силы мы отправили заявку на размещение в Каталог Яндекса, конечно же на платной основе.
Читать дальше →

Сайт Сколково

Reading time2 min
Views64K
Читал тут ленту друзей, наткнулся на интересное замечание относительно сайта Сколково и, в частности, на чем и за сколько он сделан.

Собственно, сам сайт великого Фонда развития Инновационного центра «Сколково». Мотнем скроллом вверх-вниз и запомним общий концепт.

Поищем, сколько же стоит разработка этого сайта. Конечно, на хабре огромное число разработчиков, порядок цен все знают, но мы же пишем волшебный проект, поэтому и цены у него должны быть волшебные:
На PR-сопровождение деятельности фонда планируется потратить 38,7 млн руб. На медиаразмещение и рекламу — 92,8 млн руб., на брендинг — 12,9 млн руб., на веб-сайт и блоги — 3,1 млн руб.

Дизайнеры, сколько бы ориентировочно взяли за разработку дизайна сайта Сколково? 500$? 1к$? 10k$?
А программисты?

Дорого берете, скажу я Вам, за натягивания шаблона на Joomla.

Эх, вот Вам хотя бы хорошая песенка про Сколково, чтобы лишний раз не расстраивались.

UPD: внимательный хабрапользователь DarkPreacher верно подметил, что все-таки не Joomla, a UMI:
Читать дальше →

Ядерный реактор – дома с нуля

Reading time4 min
Views446K
Некоторое время назад я публиковал статью о самодельных микропроцессорах, сегодня же мы затронем более сложную и щекотливую тему (особенно в свете событий на Фокусиме) – создание ядерного реактора, способного генерировать энергию в домашних условиях. И перед тем как вы начнете волноваться, вспоминая о негативных опытах в прошлом (см. Радиоактивный бойскаут – наковырявший прилично амерция-241 из детекторов дыма) заранее скажу, что все что описано в этой статье – относительно безопасно (по крайней мере не опаснее работы с фтороводородной кислотой дома), но крайне не рекомендуется к повторению. Перед любыми действиями проконсультируйтесь со своим адвокатом — законы разные в разных странах. Много кто уже сидит.
Читать дальше →

Заработать на контенте. Шаг 2: анализ и выбор ниши, подготовка сайта

Reading time2 min
Views14K
Эта заметка в поддержку поста «Заработать на контенте», в котором я упомянул, что одним из вариантов выбора ниши для создания сайта может быть клуб о готовящейся к выходу модели машины.

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

Выбор пал на Sandero Stepway. Производство машины стартовало в январе этого года. Модель новая, было интересно покопать информацию в сети. В итоге было собрано много материалов и я решил, что они могут быть полезны другим людям.

Так появился блог о Renault Stepway.

Работа по созданию сайта заняла 4 дня. Хочу поделиться с вами описанием процесса работы и результатами по его посещаемости.
под катом описание процесса и графики с результатами

Распознавание некоторых современных CAPTCHA

Reading time15 min
Views79K
Именно так называлась работа, представленная мной на Балтийском научно-инженерном конкурсе, и принёсшая мне очаровательную бумажку с римской единичкой, а также новенький ноутбук.

Работа заключалась в распознавании CAPTCHA, используемых крупными операторами сотовой связи в формах отправки SMS, и демонстрации недостаточной эффективности применяемого ими подхода. Чтобы не задевать ничью гордость, будем называть этих операторов иносказательно: красный, жёлтый, зелёный и синий.

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

Заработать на контенте

Reading time5 min
Views29K
Периодически ко мне обращаются пользователи Хабра со своими идеями создания сайтов. Естественно, почти все хотят на них так или иначе заработать.

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

Они достаточно знают о том, какие способы рекламы использовать, но главный вопрос, который их мучает – о чем сделать сайт?

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

Все это, несомненно, важно, но только после первого шага – выбора тематики проекта.
подробности

Забавляемся с хешами

Reading time5 min
Views90K
Привет. Я хочу показать вам небольшой фокус. Для начала вам потребуется скачать архив с двумя файлами. Оба имеют одинаковый размер и одну и ту же md5 сумму. Проверьте никакого обмана нет. Md5 хеш обоих равен ecea96a6fea9a1744adcc9802ab7590d. Теперь запустите программу good.exe и вы увидите на экране следующее.
Попробуйте запустить программу evil.exe.
Что-то пошло не так? Хотите попробовать сами?
Тогда добро пожаловать под кат.

Пример Makefile

Reading time7 min
Views76K
Написание makefile иногда становится головной болью. Однако, если разобраться, все становится на свои места, и написать мощнейший makefile длиной в 40 строк для сколь угодно большого проекта получается быстро и элегантно.

Внимание! Предполагаются базовые знания утилиты GNU make.
Читать дальше →

Пузырьки, кэши и предсказатели переходов

Reading time6 min
Views10K
Эта заметка написана по мотивам одного любопытного поста, краткий коммент её же автора к которому сподвиг меня разобраться в происходящем поподробнее. Предлагается сравнить две вариации алгоритма сортировки пузырьком. Первая из них – обычный пузырёк, с небольшой оптимизацией — внутренний цикл можно закончить немного раньше, зная, что оставшаяся часть массива уже отсортирована:
for (i=0; i<N; i++)
  for (j=0; j<N - (i+1); j++)
    if (a[j] > a[j+1])
      swap(a[j], a[j+1]);


Во втором варианте внутренний цикл проходит по другой части массива, однако алгоритмически этот вариант эквивалентен первому (подробности ниже):
for (i=0; i<N-1; i++)
    for (j=i; j>=0; j--)
        if (a[j] > a[j+1])
            swap(a[j], a[j+1]);


Запускаем (код), например, для N=100 000 на массиве int'ов, и получаем около 30 секунд в первом случае, и меньше 10 секунд — во втором, то есть отличие в 3 раза! Откуда же тогда берётся такая разница?
Читать дальше →

Information

Rating
Does not participate
Location
Казань, Татарстан, Россия
Date of birth
Registered
Activity