• В какую настольную игру регулярно играть друзьям, чтобы обсуждать стартап-дела?

    Mithgol
    @Mithgol
    В «Монополию» же.
    Ответ написан
    Комментировать
  • Single line VS Multiple line CSS ?

    Mithgol
    @Mithgol
    Одно или даже два свойства можно записать и в одну строку, ничего страшного в этом не будет.

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

    Mithgol
    @Mithgol
    Можно ещё попробовать поиск по ключевым словам.

    Если и он ничего не даст — стало быть, можно считать почти совершенно достоверным то, что перевода не было.
    Ответ написан
    1 комментарий
  • Перестает работать клавиатура

    Mithgol
    @Mithgol
    Для начала я бы попробовал выключить компьютер, вынуть эту клавиатуру и вставить другую. Если это поможет, то проблема в клавиатуре — следует купить новую клавиатуру и продолжить работу невозбранно.
    Ответ написан
    4 комментария
  • Opera, жирный шрифт и кириллица

    Mithgol
    @Mithgol
    Содержит ли имя пользователя в операционной системе русские буквы? Улучшается ли вид сайта, если его просматривает пользователь, имя которого в операционной системе содержит только латинские буквы английской речи?
    Ответ написан
  • Как сделать чтобы порушенные билды не мешали коллегам?

    Mithgol
    @Mithgol
    По-хорошему в таких обстоятельствах следовало бы перейти к распределённой системе контроля версий (то есть к DVCS). Ну, например, перейти на Git. И тогда у каждого разработчика на машине будет его собственный репозиторий, а не только один главный (центральный, основной) репозиторий для залития туда всех правок. Причём и этого мало: надо непременно, непременно дополнить всё это также распределённою же системою тестирования, то есть устроить дело так, чтобы каждый разработчик у себя на машине мог лично проверить, работоспособен ли код из его собственного репозитория — и только тогда заливать его в основной (центральный) репозиторий. Причём опять же заливать следует не сразу, а сперва скачать из центрального репозитория свежие правки, применить их (устранив при необходимости конфликты слияния, если центральные правки меняют тот же кусок кода, что и собственные правки разработчика), затем вдругорядь оттестировать на работоспособность — и только тогда заливать.
    Ответ написан
    4 комментария
  • Проверка директории на содержание, как?

    Mithgol
    @Mithgol
    Вариант на Node.js:

    var fs = require('fs');
    var filenames = fs.readdirSync('.');
    var i, stats;
    for (i = 0; i < filenames.length; i++) {
       stats = fs.statSync(filenames[i]);
       if (stats.isFile() && stats.size === 0) console.log(filenames[i]);
    }
    
    Ответ написан
    Комментировать
  • Github или Sourceforge?

    Mithgol
    @Mithgol
    Интерфейс сайта GitHub напоминает Twitter Bootstrap, поэтому привычнее и визуально легче, чем у SourceForge. Многие нюансы выглядят попродуманнее и становятся мощным подспорьем, средством мгновенной обозримости: например, зайдя на страницу проекта, сразу видишь и оглавление кода, и описание из README под ним, и адреса репозиториев для Git, и число активных pull requests (запросов на слияние кода), и число незакрытых issues (багов и предложений).

    Короче говоря, рекомендую GitHub, рекомендую настойчиво.
    Ответ написан
    Комментировать
  • Хочу изучить Node.js

    Mithgol
    @Mithgol
    Я также хочу предостеречь, сообщив о том, что многие источники устаревают стремительно, оттого что авторы их не следят за эволюцией Node — хотя, казалось бы, для такого слежения достаточно читать blog.nodejs.org.

    Например, по адресу http://nodeguide.ru/doc/felix/beginner/ можно прочесть:

    Прежде всего, для того, чтобы использовать Node.js, необходимо иметь под рукой работающую *nix-подобную операционную систему. Рекомендуется Linux или OSX, но также могут подойти FreeBSD или cygwin (под windows). В настоящее время ведутся работы над портированием Node.js под windows, но пока они не доведены до стабильного состояния.

    Портирование Node.js под Windows завершилось успехом в ноябре 2011 года, сейчас май 2012 года — стало быть, этот абзац устарел на полгода.
    Ответ написан
    2 комментария
  • Хочу изучить Node.js

    Mithgol
    @Mithgol
    Всегда, даже узнав какие-то сведения из источников на русском языке, нужно не лениться лазать и проверять содержимое пособия http://nodejs.org/docs/latest/api/ оно на английском, но только там можно видеть полное и последнее описание API Node.js (кое-где даже с наглядными примерами).
    Ответ написан
    Комментировать
  • Обработка ошибок при асинхронном выполнении в JavaScript?

    Mithgol
    @Mithgol
    Асинхронная функция потому и асинхронная, что возврат из неё (return) происходит существенно быстрее, нежели заканчивает выполняться исходный код запущенных изнутри неё операций и callbacks.

    Следовательно, обёртывать такую функцию в конструкцию try-catch бесполезно (когда возврат из функции случился, тогда никакие ошибки ещё не могли произойти — а значит, ловить ещё нечего), и для обработки ошибок поневоле приходится применять передачу их callback-функциями, а не бросание оператором throw.

    Для такой передачи, как правило, применяется первый же параметр callback-функции, то есть вызов её имеет вид «callback(err, data)», где error ошибка или null, а data данные, передаваемые при отсутствии ошибки. (Параметров с данными может быть несколько.)

    Смысл такого порядка, при котором параметр ошибки идёт первым по счёту, заключается в том, что вместо «throw new Error()» используется простой вызов callback-функции с единственным параметром: «callback(new Error()); return;» — в общем-то, это не слишком-то сложнее, чем throw.

    Чтобы соответствовать этому порядку, внутри такой callback-функции сперва происходит сравнение первого параметра с величиною null (что позволяет при их неравенстве сразу заметить произошедшую ошибку, при необходимости тотчас же обработать её или передать родительской callback-функции), и лишь затем приступают к обработке данных, полученных через последующие параметры функции.

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

    Да это и не только моё мнение: мне доводилось ужé подмечать в январе нынешнего (2012) года, что пакет async вошёл в десятку наиболее используемых модулей для движка Node по свéдениям сайта «The Node Toolbox», основывающимся на статистике пакетного менеджера npm.
    Ответ написан
    1 комментарий
  • AUTOINCREMENT в SQLite3

    Mithgol
    @Mithgol
    Вообще для изучания того синтаксиса SQL, который в SQLite применяется, надо http://sqlite.org/lang.html читать.

    В частности, по адресу http://sqlite.org/lang_createtable.html можно видеть диаграмму «column-constraint», согласно которой AUTOINCREMENT является модификатором при PRIMARY KEY.
    Ответ написан
    Комментировать
  • Аэрофтосъёмка, как?

    Mithgol
    @Mithgol
    В качестве карты можно взять OpenStreetMap, наложить панораму на неё можно движком Leaflet.
    Ответ написан
    Комментировать
  • HTTP-запросы через SOCKS5 в Node.JS?

    Mithgol
    @Mithgol
    Ответ написан
    Комментировать
  • nodejs + bcrypt

    Mithgol
    @Mithgol
    Так как Node.js под сырой Windows (без cygwin) появился только в ноябре 2011 года, то значительная часть модулей для Node.js всё ещё по инерции полагается на то, что у пользователей используется Linux или Mac OS X. В особенности это касается тех модулей, которые предполагают компиляцию библиотек. Такие модули, как правило, не распространяют готовые сборки под Windows и не поддаются (без мощных усилий, я имею в виду) перекомпиляции под Windows. Привязка к невиндам на каждом шагу. Начать хотя бы с того, что Makefile от bcrypt полагается на существование команды rm, которой в Windows нету.
    Ответ написан
    Комментировать
  • API Хабрахабра сломалось?

    Mithgol
    @Mithgol
    Я наблюдаю, к сожалению, тот же эффект — и ужé не первый день.

    Остаётся лишь надеяться на то, что новая функциональность API Хабрахабра (спасибо, что зарáне поведали об этих посулах техподдержки) искупит временную нынешнюю работоспособность его. Хотя не понимаю, честно говоря, что же помешало им разрабатывать новое API, никак не трогая «продáкшен», то есть прежнее работающее решение.
    Ответ написан
    Комментировать