Как стать автором
Обновить
26
0
AHrEJI @AHrEJI

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

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

Обфускация JavaScript

Время на прочтение5 мин
Количество просмотров196K
В статье собраны всем известные методы и предельно извращенные. Эту статью я решил написать после недавнего прочтения поста в блоге Badass JavaScript и решил её дополнить своими находками.

Первый способ


Он всем известен — обфускация минимизаторами такими как JS Packer, JSmin, YUI Compressor, Closure compiler или можно просто пугуглить «JavaScript Obfuscator» и найдется ещё сто штук разных обфускаторов.
Они превращают существующий код
function MyClass(){
    this.foo = function(argument1, argument2){
        var addedArgs = parseInt(argument1)+parseInt(argument2);
        return addedArgs;
    }
    var anonymousInnerFunction = function(){
        // do stuff here!
    }
}

В какой-то такой вид:
function MyClass(){this.foo=function(c,b){var d=parseInt(c)+parseInt(b);return d};var a=function(){}};

Или такой:
var _0xd799=["\x66\x6F\x6F"];function MyClass(){this[_0xd799[0]]=function (_0xefcax2,_0xefcax3){var _0xefcax4=parseInt(_0xefcax2)+parseInt(_0xefcax3);return _0xefcax4;} ;var _0xefcax5=function (){} ;} ;

Или вот такой:
eval(function(p,a,c,k,e,d){e=function(c){return c};if(!''.replace(/^/,String)){while(c--){d[c]=k[c]||c}k=[function(e){return d[e]}];e=function(){return'\\w+'};c=1};while(c--){if(k[c]){p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c])}}return p}('4 0="3 5!";9 2(1){6(1+"\\7"+0)}2("8");',10,10,'a|msg|MsgBox|Hello|var|World|alert|n|OK|function'.split('|'),0,{}))

Но ничего не стоит его восстановить с помощью jsbeautifier.org либо просто убрать eval и получить исходный код, многое потеряем, но смысл кода восстановим. Ну и с первого взгляда мы видим, что перед нами JavaScript.

Все это были цветочки под катом жесткие методы обфускации.
Читать дальше →
Всего голосов 171: ↑165 и ↓6+159
Комментарии85

Алгоритм Дейкстры. Поиск оптимальных маршрутов на графе

Время на прочтение3 мин
Количество просмотров434K
Из многих алгоритмов поиска кратчайших маршрутов на графе, на Хабре я нашел только описание алгоритма Флойда-Уоршалла. Этот алгоритм находит кратчайшие пути между всеми вершинами графа и их длину. В этой статье я опишу принцип работы алгоритма Дейкстры, который находит оптимальные маршруты и их длину между одной конкретной вершиной (источником) и всеми остальными вершинами графа. Недостаток данного алгоритма в том, что он будет некорректно работать если граф имеет дуги отрицательного веса.

Для примера возьмем такой ориентированный граф G:

image

Читать дальше →
Всего голосов 91: ↑62 и ↓29+33
Комментарии31

Suggest.io. Понимать с первой буквы!

Время на прочтение3 мин
Количество просмотров1.1K
image Представьте, что вам срочно надо найти информацию на определенном сайте и вы точно знаете, что она там есть, только не знаете где. Зайдя на сайт, вы долго жмете на разные ссылки, перескакиваете с одной вкладки на другую; понимаете, что теряете время и наконец видите заветный «поиск». «Вот он мне сейчас и поможет», — думаете вы и начинаете набирать ваш запрос. Результат оказывается как и прежде нулевым. То ли набрали с ошибкой, то ли не так надо сформулировать запрос — непонятно. Знакомо?
Читать дальше →
Всего голосов 57: ↑49 и ↓8+41
Комментарии40

Легко и непринуждённо: почта и Jabber для пользователей вашего сайта

Время на прочтение12 мин
Количество просмотров14K
Допустим, вы развиваете какой-нибудь сайт в интернете. У вас есть постоянные пользователи, кто-то заходит к вам от случая к случаю. И вы конечно же ищете способы удержания аудитории на вашем сайте, придумывая всякие оригинальные функции и оттачивая до блеска интерфейс. Почему бы тогда не использовать имя вашего сайта в качестве экспортной монеты? Можно ведь предоставить вашим пользователям в качестве дополнительного бонуса почтовый адрес и соответствующий адрес Jabber в вашем домене.

Конечно, я не предлагаю становится очередным провайдером почты. Это глупо, когда есть такие игроки, как gmail.com и yandex.ru. Кроме того, вы естественно можете использоваться услуги вышеупомянутых Google и Yandex для подключения своего домена к их сервисам. Но тогда вы не получите никакой интеграции с вашей базой пользователей и никакого контроля над доступной функциональностью.

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

Подробнее...
Всего голосов 114: ↑102 и ↓12+90
Комментарии66

Скринкасты о том, как резать и натягивать

Время на прочтение1 мин
Количество просмотров11K
Чтобы было понятно о чем речь, прикладываю 3 скринкаста, второй и третий под катом.
  1. Знакомство с макетом #1
Читать дальше →
Всего голосов 119: ↑115 и ↓4+111
Комментарии107

Новые возможности сервиса I'm Sync

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

В новой версии:
  • Альбомы фотографий и видео
  • YouTube
  • Facebook и Вконтакте
Читать дальше →
Всего голосов 20: ↑19 и ↓1+18
Комментарии14

Сумбурные заметки про python и django

Время на прочтение5 мин
Количество просмотров47K
Накопилось несколько маленьких заметок/советов про python и django, которые на отдельные топики не тянут, поэтому публикую все сразу.

Под катом:
  • как упростить код вьюх ровно в 2 раза
  • легкий способ рисования графиков
  • почему Ian Bicking воскликнул «Cool!»
  • приложения для ВКонтакте на django за 5 минут
  • хорош ли pymorphy?
  • пара фишек насчет выкладки пакетов на pypi
  • что общего между декораторами и with-контекст-менеджерами
  • принимаем оплату на django-сайтах
  • показываем Яндекс.Карту для заданного адреса

Читать дальше →
Всего голосов 159: ↑153 и ↓6+147
Комментарии37

DNS-хостинг Яндекса

Время на прочтение1 мин
Количество просмотров89K
Почти год назад, 27 октября, мы объявили об открытии сервиса Яндекс.Почта для домена.

Всё это время мы внимательно прислушивались к отзывам владельцев доменов и активно работали над сервисом. Обо всех заметных нововведениях в Почте для домена мы писали (и, конечно, продолжим писать) в блоге Яндекс.Почты.

Изучая потребности владельцев доменов, мы поняли, что одна из самых частых проблем подключения и настройки работы Почты связана с тем, что не все регистраторы доменов предоставляют удобные инструменты для редактирования DNS-записей.

Сегодня мы объявляем о запуске собственного DNS-хостинга. Это значит, что для подключения сервиса Яндекс.Почта для домена (а также дополнительных сервисов, — таких, как Jabber на вашем домене) достаточно делегировать домен на Яндекс.

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

Отдельно хотим обратить ваше внимание на то, что редактирование DNS-записей — процедура, требующая определённых знаний и навыков. Пожалуйста, будьте внимательны.

Сейчас к Яндекс.Почте для домена подключено уже более 20 тысяч доменных имён. Присоединяйтесь!

.
Всего голосов 120: ↑116 и ↓4+112
Комментарии195

Как работают алгоритмы сортировки

Время на прочтение1 мин
Количество просмотров22K
Иногда для понимания того, как работает та или иная вещь, лучше один раз увидеть, чем сто раз услышать.

Замечательный сайт www.sorting-algorithms.com позволяет увидеть, как сортируются данные разными алгоритмами. Вы сможете посмотреть анимацию в зависимости от алгоритма, исходных данных.



Все это бегает и сортируется прямо на ваших глазах!

Работает на Google App Engine, видимо, поэтому и лежит от посетителей с «Хабра».
Всего голосов 185: ↑151 и ↓34+117
Комментарии63

Нарушаете ли вы авторское право используя изображения Google Maps?

Время на прочтение5 мин
Количество просмотров19K
5 августа Арбитражный суд Москвы вынес решение по иску картографической компании «Сидиком навигация» к информационному агентству «Райтинг клаб». Иск касался защиты деловой репутации и опровержения не соответствующих действительности сведений.

Исковое заявление было подано из-за статьи «Гостайны по демпинговым ценам», опубликованной на сайте информационного агентства InterRight. В ней сообщалось об «интересе», который Федеральная служба безопасности проявляет к производителю картографической программы «ПроГород». По утверждению автора, эта программа была создана с использованием спутниковых снимков компании Google, причем разрешения на это создатели программы не получили.

Если верить статье, интерес к «ПроГороду» проявила также и Федеральная антимонопольная служба, которая якобы заподозрила в действиях производителей «ПроГорода» демпинг. В общем, написано там было много обидных вещей, и неудивительно то, что «Сидиком» подал в суд иск о защите деловой репутации. Суд иск удовлетворил частично, отказав в опровержении большей части утверждений, по одному из самых распространенных оснований в делах такого рода: большинство сведений, распространенных ответчиком, были признаны «мнением», которое нельзя ни проверить на истинность, ни опровергнуть… Ну, а поскольку вопрос об истинности слов про нарушение картографами «интеллектуальных прав» на спутниковые снимки судом по существу не рассматривался, то рассмотреть его придется нам, в рамках этой статьи.
Читать дальше →
Всего голосов 48: ↑43 и ↓5+38
Комментарии37

7 бесплатных сервисов для проверки сайтов (о которых вы могли и не знать)

Время на прочтение2 мин
Количество просмотров254K
Картинка для привлечения внимания
Мне достаточно часто приходится использовать различные онлайн-сервисы для проверки доступности сайтов и их поверхностных тестов и проверок.
Как показал краткий опрос коллег — почти у всех эти наборы сервисов отличаются. Я хочу показать вам свой, прошу в
подробности
Всего голосов 188: ↑181 и ↓7+174
Комментарии72

6 причин по которым мой стартап, получивший финансирование, провалился

Время на прочтение5 мин
Количество просмотров1.9K
Во время dot com бума мы с друзьями основали стартап, где я был техническим директором. Мы разработали систему управления знаниями. Это была комбинация блогов, wiki, системы управления документами, социальных закладок. Мы начали в 1999, что было несколько рановато для wiki и блогов (Movable Type вышли на рынок в 2001). Социальные закладки, по сути, были точно такими же, как станет впоследствии Delicious. Помимо этих новых и замечательных идей (по крайней мере для 1999 года) у нас было три отличных особенности:
  • Всему можно было присвоить метки (tags): навыкам, людям, ссылкам, документам, постам в блогах, страничкам в wiki. Что-то, что теперь называется фолксономия. Метки могли соотноситься с другими метками и формировать онтологии. Метки могли ссылаться на другие документы, посты, людей.
  • Всему можно было поставить свою оценку от 1 до 5.
  • У нас был умный нечёткий поиск, основанный на метках и оценках. Например, при поиске «люди со знанием Oracle» в выдачу также попадали специалисты по SQL Server'у — например, чтобы укомплектовать команду, если не было свободных гуру Oracle.

У нас были кое-какие деньги — посевные инвестиции, которые мы получили от венчурного фонда, и мы вполне себе счастливо и успешно разрабатывали наше приложение. Мы показали его многим пользователям и получили весьма благоприятные отзывы от больших компаний. Так почему же стартап провалился и я не миллионер?
Читать дальше →
Всего голосов 153: ↑139 и ↓14+125
Комментарии48

eBay без заморочек

Время на прочтение5 мин
Количество просмотров32K
Привет, друзья!
С вами снова EbayToday.

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

В этой статье мы глубже коснемся преимуществ сервиса и расскажем о том, как нам удалось сделать сервис, покупать через который удобнее и не намного дороже, чем через сам eBay.
Читать дальше →
Всего голосов 69: ↑52 и ↓17+35
Комментарии108

Кеширование блоков с помощью nginx

Время на прочтение6 мин
Количество просмотров15K
nginx + SSIМногим разработчикам знакома ситуация когда кешировать страницы сайта, скажем, на 5-10 минут нельзя всего из-за одного небольшого блочка, актуальность которого нужно поддерживать если не в реальном времени, то с временем «старения» не больше 5-10 секунд. При этом посещаемость сайта продолжает расти, растет время генерации страниц и c этим надо что-то делать…
  • Вариант решения 1: Подкрутить то, до чего не доходили руки последнее полгода. Все Вас поймут и передвинут сроки на другие задачи. Вы будете в роли «Супермена» один спасать сайт от непомерной нагрузки, решая проблему «бесплатно» (без доп. вливаний в оборудование). Вам может пригодиться статья «Тюнинг nginx».
     
  • Вариант решения 2: Улучшить техническую базу (докупить мозгов на сервер, улучшить дисковую систему, поставить под БД отдельный сервер). В принципе проблема не решена, а скорее отложена. Теперь у Вас есть время «окопаться» и подготовиться ко второй волне наплыва нагрузки, она будет больше и накроет сильнее.
     
  • Вариант решения 3: Ваш вариант, о котором я, вероятно, узнаю из комментариев.
     
Позвольте предложить и мне проверенное и относительно простое решение на базе одной из старейших технологий в Web-разработке.
Читать дальше →
Всего голосов 116: ↑107 и ↓9+98
Комментарии63

Рисуем объёмные изображения в Inkscape

Время на прочтение1 мин
Количество просмотров9.8K
Inkscape — относительно молодой, но прогрессивный векторный редактор общего плана (как Adobe Illustrator и Corel DRAW). Программа является кроссплатформенной, распространяется бесплатно и с исходным кодом. Основной формат изображений — SVG (масштабируемая векторная графика, стандарт W3C, рекомендованный для публикации векторных рисунков в интернете).

О работе с программой, а заодно и о том, как наполнить объёмом векторное изображение, я хочу рассказать на примере создания своей картинки со снеговиком.

Снеговик. Нарисовано в Inkscape. Автор — Юрий Апостол.

Статья писалась специально для Linuxgraphics.ru. Читайте, пожалуйста там.

UPD: По многочисленным просьбам публикую исходник. Лицензия — CC Attribution Non-commercial Share Alike. Благодарности можно отправить на кошелёк Z161444749304 или R173720801008. Половина уйдёт в фонд развития Inkscape.
Всего голосов 149: ↑139 и ↓10+129
Комментарии61

EveryDNS.net продан коммерческому DNS-хостеру

Время на прочтение1 мин
Количество просмотров1.5K
image

Сегодня утром Дэвид Улевич, создатель сервиса бесплатного DNS-хостинга EveryDNS.net, уведомил пользователей сервиса, что EveryDNS.net приобретён коммерческим DNS-провайдером DynDNS.

Подробности можно прочитать в пресс-релизе DynDNS. Что ждёт пользователей EveryDNS после переноса, будут ли им доступны бесплатные виды сервиса в том же размере (непривилегированные пользователи EveryDNS могут создать до 20 зон и в общем сложности до 200 записей из списка A/AAAA,CNAME,MX,NS — DynDNS позволяет создать бесплатно до 5 зон) — пока не знают в самой DynDNS, но заверяют, что опасаться нечего (я удивился бы, если бы они сказали что-то ещё).

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

Что до меня, то я сделал копии всех зон, что держу на EveryDNS — на площадках EditDNS и XName.

Если кто посоветует другой платный или бесплатный DNS хостинг, буду признателен. Понятно, что поисковик найдёт их немало, но интересны личные впечатления реальных пользователей.
Всего голосов 31: ↑26 и ↓5+21
Комментарии60

Самые интересные публикации 2009 года о Delphi

Время на прочтение5 мин
Количество просмотров6.9K
В этом году в русскоязычном Delphi-сообществе было опубликовано огромное количество материалов. Можно было запросто пропустить что-то интересное. Я постарался собрать в одной публикации ссылки на наиболее интересные публикации 2009 года. Все публикации имеют прямое отношение к Delphi. Получилось довольно много. Большое спасибо любезным авторам!

Читать дальше →
Всего голосов 101: ↑72 и ↓29+43
Комментарии119

Компьютер в машине

Время на прочтение3 мин
Количество просмотров80K

Предыстория



У меня toyota corolla 2003 года, с завода на официальные машинки ставили только кассетные магнитолы. Конечно, кассеты в магнитолу я не ставил ни разу, обходился радио и фм модулятором.
Не сказать, что я особо притязателен к музыке, но конечно хотелось чего-то более. Какие были варианты:
1. Поставить рамку на 1 или 2 дин и поставить обычную магнитолу.
2. Купить за 70$ родную, на eBay но уже с дисками. Но без мп3 :)
3. Купить за 600$ крутую, прямо под мою машину, со всем…

Но не один мне особо не нравился…
1. обычные магнитолы лишали бортового компьютера.
2. Шило на мыло :)
3. Дороговато и не очень нравились…

Вот и пришло решение поставить компьютер в машину. Вот что было ДО и ПОСЛЕ. Интересно? Добро пожаловать под хабракат =)
До: image После: image
Читать дальше →
Всего голосов 350: ↑337 и ↓13+324
Комментарии275

Информация

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