Pull to refresh
26
0
AHrEJI @AHrEJI

User

Send message

Обфускация JavaScript

Reading time5 min
Views195K
В статье собраны всем известные методы и предельно извращенные. Эту статью я решил написать после недавнего прочтения поста в блоге 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.

Все это были цветочки под катом жесткие методы обфускации.
Читать дальше →
Total votes 171: ↑165 and ↓6+159
Comments85

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

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

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

image

Читать дальше →
Total votes 91: ↑62 and ↓29+33
Comments31

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

Reading time3 min
Views1K
image Представьте, что вам срочно надо найти информацию на определенном сайте и вы точно знаете, что она там есть, только не знаете где. Зайдя на сайт, вы долго жмете на разные ссылки, перескакиваете с одной вкладки на другую; понимаете, что теряете время и наконец видите заветный «поиск». «Вот он мне сейчас и поможет», — думаете вы и начинаете набирать ваш запрос. Результат оказывается как и прежде нулевым. То ли набрали с ошибкой, то ли не так надо сформулировать запрос — непонятно. Знакомо?
Читать дальше →
Total votes 57: ↑49 and ↓8+41
Comments40

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

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

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

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

Подробнее...
Total votes 114: ↑102 and ↓12+90
Comments66

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

Reading time1 min
Views486
С прошлого обновления прошло два месяца. За это время мы успели хорошенько потрудится и добавили сразу несколько возможностей, о которых нас уже давно просили.

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

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

Reading time5 min
Views47K
Накопилось несколько маленьких заметок/советов про python и django, которые на отдельные топики не тянут, поэтому публикую все сразу.

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

Читать дальше →
Total votes 159: ↑153 and ↓6+147
Comments37

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

Reading time1 min
Views89K
Почти год назад, 27 октября, мы объявили об открытии сервиса Яндекс.Почта для домена.

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

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

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

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

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

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

.
Total votes 120: ↑116 and ↓4+112
Comments195

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

Reading time1 min
Views22K
Иногда для понимания того, как работает та или иная вещь, лучше один раз увидеть, чем сто раз услышать.

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



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

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

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

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

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

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

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

Reading time2 min
Views253K
Картинка для привлечения внимания
Мне достаточно часто приходится использовать различные онлайн-сервисы для проверки доступности сайтов и их поверхностных тестов и проверок.
Как показал краткий опрос коллег — почти у всех эти наборы сервисов отличаются. Я хочу показать вам свой, прошу в
подробности
Total votes 188: ↑181 and ↓7+174
Comments72

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

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

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

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

Reading time5 min
Views32K
Привет, друзья!
С вами снова EbayToday.

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

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

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

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

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

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

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

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

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

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

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

Reading time1 min
Views1.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 хостинг, буду признателен. Понятно, что поисковик найдёт их немало, но интересны личные впечатления реальных пользователей.
Total votes 31: ↑26 and ↓5+21
Comments60

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

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

Читать дальше →
Total votes 101: ↑72 and ↓29+43
Comments119

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

Reading time3 min
Views80K

Предыстория



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

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

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

Information

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