Зачем вместо «undefined» использовать «void 0»

Народ, встретил в коде Backbone.js кучу случаев когда вместо конструкции: «if (undefined == someVariable)» используется такой вариант:«if (void 0 == someVariable)». Хоть убейте меня, но первый вариант с undefined мне нравится в тысячу раз больше, так как нагляднее и понятнее. Возможно я не знаю какого-то тайного смысла в использовании второй конструкции. В чем прикол-то? Кто-нибудь […]

Про медленное копирование файлов в HPUX

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

Еще пара слов про наследование прототипов

Пару постов назад писал про косяк с инициализацией переменных в JS. Косяк у меня в голове, а не в реализации наследования прототипов, естественно. Решил в догонку накидать еще один простенький пример, который уж точно поставит все точки над i:

Опять наступил на грабли с инициализацией переменных в JavaScript

Сколько раз уже наступал на эти грабли, но все никак не могу запомнить, что инициализировать переменные следующим образом в JS нельзя: function SomeClass(){} SomeClass.prototype = { some_array :[] // типа делаю первоначальную инициализацию для каждого объекта } a = new SomeClass(); b = new SomeClass(); a.some_array.push(‘test’); alert(a.some_array); // как и ожиадется возвращает [‘test’] alert(b.some_array); // […]

Про монады в функциональных языках

Начну из далека, но очень быстро перейду к сути вопроса. Итак, есть теория категори, которая является чисто абстрактной и если честно скучной штукой. Не поймите меня неправильно, теория категорий вещь полезная, учить ее, безусловно, надо. Но все равно скучно. Как в любой сфере знаний в данном разделе математики есть свои определения, например морфизмы (или их […]

Про одинарные кавычки в erlang

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

Продолжаю набивать шишки со строками в Erlang

Сегодня начал делать валидацию урлов для defaceit. Решил сделать по-простому — перед сохранением урла в базу пытаюсь получить скрипт добавляемого дефейса через httpc:request. Если скрипт получен удачно, то новый урл попадает в базу, если нет, то выдаю сообщение об ошибке. Проблема возникла где сам не ожидал, оказалось, что я очень плохо понимаю работу строк в […]

К вопросу о кроссдоменных запросах — Cross-Origin Resource Sharing

Очень меня интересует вопрос как красиво и безболезненно делать кросдоменные запросы. Сейчас использую jsonp, но, блин, метод очень корявый и неудобный. А тем временем у w3c есть черновик очень интересного документа — Cross-Origin Resource Sharing. Насколько я понял, все современные браузеры понимаю, что такое cors. Правда, как всегда, поддержка сделана в разных браузерах по-разному. У […]

Как установить Vagrant на Ubuntu 12.04

По наводке одного моего хорошего друга и коллеги — Димы Пяткова aka Dkrnl начал разбираться с Vagrant. Думаю, здесь будет уместно пояснить, что Vagran — это утилита, работающая из командной строки и позволяющая управлять виртуальными машинами на базе VirtualBox. Хотя сами разработчики позиционируют этот продукт несколько иначе, но на самом деле все обстоит именно так […]

Проблемы с VirtualBox Shared Folders и ChicagoBoss

Снова вынужден писать про проблемы использования shared folders в гостевой системе под VirtualBox-ом (до этого мы уже определили, что не работает функция sendfile). В этот раз проблема заключатеся в том, что после переноса проекта ChicagoBoss в shared folders он перестает стартовать. Выдавая при этом следующую ошибку: