Когда появился localStorage я был рад, как слон, но, немногим позже, после подробного изучения вопроса, я несколько разочаровался: там могут храниться только строки, а об объектах можно было забыть. Приходилось превращать их в строки для хранения, приходилось обратно конвертировать строку в объект для работы с ним, затем опять конвертировать в строку, чтоб сохранить. Не спорю, есть замечательные библиотеки, позволяющие манипулировать хранилищем максимально просто, но вызывать функции как-то не очень хотелось.
localStorage = { a: { b: 1 }, c: { d: 2 } }
localStorage.a.b = 3;
Круто было бы, не так ли?
Относительно давно, где-то около полугода назад я задался вопросом: как же, блин, сделать так, чтоб можно было работать с localStorage вообще без функций, чисто как с объектом. Challenge accepted!
Как говорит небезызвестный Геша: “
Всё, я здзелал”.
Доброго времени суток!
Хотел бы с вами поделиться реализацией в MATLAB плотностного алгоритма для кластеризации пространственных данных с присутствием шума — DBSCAN (Density Based Spatial Clustering of Applications with Noise).
Особенности
Алгоритм DBSCAN был предложен Мартином Эстер, Гансом-Питером Кригель и коллегами в 1996 году как решение проблемы разбиения (изначально пространственных) данных на кластеры произвольной формы. Большинство алгоритмов, производящих плоское разбиение, создают кластеры по форме близкие к сферическим, так как минимизируют расстояние документов до центра кластера. Авторы DBSCAN экспериментально показали, что их алгоритм способен распознать кластеры различной формы.
Преобразование Хафа служит для поиска на изображении фигур, заданных аналитически: прямых, окружностей и любых других, для которых вы сможете придумать уравнение с небольшим количеством параметров. О преобразовании Хафа написано немало, и данная статья не ставит цели подробно осветить все аспекты. Я лишь объясню общий принцип, останавливаясь на особенностях, мешающих его реализации на GPU «в лоб» и, конечно же, предложу решение. Те, кто знают проблемы и хотят сразу видеть решение, могут пропустить пару-тройку разделов.
JavaScript — очень необычный язык. Может это звучит немного странно, но по-моему в его истории есть некоторое сходство с судьбой японского языка. Он, возможно, не был изначально глубоко продуман и был сделан на скорую руку, но при этом в умелых руках он часто оказывается неожиданно элегантным. Он был “поскрёбан” по различной степени качества сусекам, но при этом он легко впитывает нововведения и иногда даже кажется, что только для них и был создан. Он покорно принимает различные стили письма и, если бы не апологеты, “правильное” написание было бы, возможно, уже забыто… И, самое главное, как и для японского,
нет обозримой границы в познании этого языка. Я знаком с ним на протяжении многих лет и он постоянно открывает мне новые грани.
Но одно я знаю точно — на JavaScript можно писать очень простой и понятный код. К этому нужно стремиться и взращивать это в себе, нужно не опускать руки, нужно узнавать новые и новые вещи, уметь принимать их, и рано или поздно обнаруживаешь, что сам язык — довольно-таки прост и при этом очень, просто-таки бесконечно, элегантен.
И впитывает новое, как губка.
24 февраля 2012, 01:38
578
GNU make — широко известная утилита для автоматической сборки проектов. В мире UNIX она является стандартом де-факто для этой задачи. Являясь не такой популярной среди Windows-разработчиков, тем не менее, привела к появлению таких аналогов, как nmake от Microsoft.
Однако, несмотря на свою популярность, make — во многом ущербный инструмент.
22 февраля 2012, 05:01
170

В данной статье я рассмотрю два алгоритма, первый — непосредственно кластеризация, второй — построение контура кластера в виде выпуклого многоугольника, прикладная задача для улучшеного восприятия полученного результата.
15 февраля 2012, 14:34
154
f: не могу представить, как крусач может работать) Наши курсачи обычно пыляться где-то на полках
m: Вот у меня есть плата. К ней нужно подрубить сим-карту, и эта плата должна прочитать смс оттуда)
m: плата покупная, а вот программируем ее мы)
f: а нельзя смс с телефона прочитать?
— из жизни, орфография сохранена
Ну а если вам все-таки интересно узнать больше о сим-картах, протоколах передачи и их файловой структуре, прошу под кат. Ну и куда же без кода…
10 февраля 2012, 17:55
441
flotr2 — это библиотека с открытым кодом для построения HTML5 графиков и диаграмм. Flotr
2 — так как стала ответвлением от Flotr, но уже без привязки к Prototype JS и с множеством усовершенствований.
7 февраля 2012, 10:34
669
Здравствуйте, уважаемые пользователи хабра. После того, как я опубликовал
данную статью, у пользователей появился интерес, и они стали спрашивать меня в ЛС и в комментариях, а как именно расшифровываются данные скрипты и что же именно такого делают данные коды.
Вступление
Так всё же, что делают эти скрипты? Чаще всего вредоносные JScript файлы устанавливаются «хакерами», для получения какой либо выгоды, а именно:
Пополнение своего
ботнета, установка
винлокеров, исправления файла hosts для перенаправления пользователей на фейковые сайты, ну и конечно же для обмена трафиком.
Так вот, я попробую подробно рассказать о том, как раскодировать вредоносный JavaScript и в последствии вычислить адрес, куда он ведет.
26 января 2012, 21:04
277