• Битовое отрицание в JS

    Weageoo
    @Weageoo
    Всё просто: побитовые операторы в js работают только со знаковыми (signed) целыми (integer) длиной в 32 бита (оператор >>> работает с unsigned). Иными словами, побитовые операторы интерпретируют операнды как последовательность из 32 битов.

    Т.о., при выполнении ~3 число 3 представляется в виде 0000 0000 0000 0000 0000 0000 0000 0011, результат, понятное дело 1111 1111 1111 1111 1111 1111 1111 1100 — это -4. Если крайний левый (знаковый) бит равен 0 — число положительное, если равен 1 — число отрицательное. Максимальное знаковое целое, которое уместится в 32 бита — это 0111 1111 1111 1111 1111 1111 1111 1111, или 2147483647 (по основанию 10). Минимальное 32-bit signed integer — это 1000 0000 0000 0000 0000 0000 0000 0000, или -2147483648.

    2147483647   0111 1111 1111 1111 1111 1111 1111 1111
    100          0000 0000 0000 0000 0000 0000 0110 0100
    5            0000 0000 0000 0000 0000 0000 0000 0101
    4            0000 0000 0000 0000 0000 0000 0000 0100
    3            0000 0000 0000 0000 0000 0000 0000 0011
    2            0000 0000 0000 0000 0000 0000 0000 0010
    1            0000 0000 0000 0000 0000 0000 0000 0001
    0            0000 0000 0000 0000 0000 0000 0000 0000
    -1           1111 1111 1111 1111 1111 1111 1111 1111
    -2           1111 1111 1111 1111 1111 1111 1111 1110
    -3           1111 1111 1111 1111 1111 1111 1111 1101
    -4           1111 1111 1111 1111 1111 1111 1111 1100
    -5           1111 1111 1111 1111 1111 1111 1111 1011
    -100         1111 1111 1111 1111 1111 1111 1001 1011
    -2147483648  1000 0000 0000 0000 0000 0000 0000 0000
    

    ~~3.14 // 3

    Шаг 1: число приводится к целому и представляется в виде последовательности 0000 0000 0000 0000 0000 0000 0000 0011.
    Шаг 2: производится сама побитовая замена 0->1 и 1->0. Получаем 1111 1111 1111 1111 1111 1111 1111 1100, или -4 (по осн. 10).
    Шаг 3: производится ~(-4), то бишь получим в итоге 3.

    Ну, с нулем всё понятно думаю.
    Ответ написан
    1 комментарий
  • $.getscript не видит локальный файл?

    RubaXa
    @RubaXa
    Всё павильно, нужно запустить Chrome с флагом `--disable-web-security`, подробнее тут.
    Ответ написан
    2 комментария
  • Посоветуйте, пожалуйста, клавиатуру!

    @Ualde
    Я бы не задумываясь посоветовал вам купить SmartBoard 2 www.datadesktech.com/desktop_sb.html
    Но вам не удовлетворяет один нюанс — есть цифровая клавиатура.

    Хотя по удобству и деньгам я лично считаю ее лучшей в своем роде.

    P.S. Может поможет определиться обзор habrahabr.ru/post/145084/
    Ответ написан
    2 комментария
  • express.js и переменные

    dizballanze
    @dizballanze
    Software developer at Yandex
    Например, так:
    app.use(function(req, res, next) {
      req.app = app;
      next();
    });
    


    Соответственно в роуте можно обращаться req.app.locals.
    Ответ написан
    1 комментарий
  • MongoDB: update во вложенных arrays

    jdponomarev
    @jdponomarev
    1 костыль — первым запросом выяснить позицию таска в массиве. вторым запросом апдейтить {tasks.номер_в_массиве.subtasks.$.title:«new value»}
    2 костыль — вытаскивать все subtasks, обновлять и записывать обратно.
    выбирайте :)
    Ответ написан
    Комментировать
  • Кто-нибудь избавлялся от царапин на экране телефона?

    POS_troi
    @POS_troi
    СадоМазо Админ, флудер, троль.
    Вот и не заморачивайтесь, царапина нервирует первую неделю а потом попускает :)
    По теме, полируется пластик, если у вас горилла и т.п. то не выйдет.
    Ответ написан
    1 комментарий
  • Что делать с работой?

    retran
    @retran
    Это выгорание. Попробуйте продвинуть идею отрефакторить все это барахло, не получится — валите, если нет решений по улучшению проекта и условий труда — это уже не ваши проблемы.
    Ответ написан
    Комментировать
  • Возможно ли хранить в LocalStorage браузера набор элементов, созданных jQuery?

    spmbt
    @spmbt
    Там хранятся только строки и сериализуемые (в строки) объекты. Дополнительные поля легко хранятся, если допрограммировать их сохранение (КО).
    Ответ написан
    3 комментария
  • Как эффективно переучиться на веб-разработчика?

    @egorinsk
    Вообще, не увлекайтесь спецификациями. Марк Цукерберг как-то без них обошелся. Google тоже не следует строгим стандартам.

    Если вы хотите «эффективно» изучить матеиал, тогда вы должны читать статьи «для чайников» (которые вы с вашим опытом, наверняка освоите за кратчайшее время). HTML/CSS так устроены, что даже если вы сделаете 100 ошибок на странице, он все равно как-нибудь да отобразится. Ну если вы хотите более солидные знания, то параллельно смотрите непонятные моменты в спецификациях, это в общем-то полезно. А сэкономленное время посвятите практике. Она тут очень важна.

    Вот, что стоит изучить (в любом порядке):

    1) Начните с основ HTTP (только ради бога, не читайте спецификацию целиком, хватит общего представления о методах запросов, заголовках и теле запроса, кодах ответа 403/404/500/200/300)
    2) Изучите основы HTML (есть раздел на сайте htmlbook). SGML вам хватит в том объеме, в котором он упоминается в спецификации HTML. PCDATA не упоминается в ней и потому знать про отличия от CDATA вам не нужно (ну если так хотите узнать, найдите спецификацию SGML и почитайте).

    Обратите внимание, в некоторых (некачественных) статьях вы можете увидеть штуки вроде [br /] — самозакрывающиеся теги. Это ошибочный синтаксис, который употребляют авторы, путающие HTML и XHTML. В HTML такого синтаксиса нет (хотя в силу своей толерантности к ошибкам в HTML такой код как-то работает).

    3) Изучите CSS и позиционирование элементов. Вот хороший учебник, разъясняющий тонкости всяких флоатов: softwaremaniacs.org/blog/category/primer/ А спецификацию CSS2.1, думаю, вы нагуглите сами, она довольно понятно написана.

    4) Изучите яваскрипт (да, включая замыкания и прототипы) и DOM. Обратите внимание, jQuery — лишь обертка над DOM и не зная DOM, вы не сможете нормально пользоваться jQuery, вы лишь научитесь копипастить скрипты из интернета, не понимая, как они работают. После этого можете изучать jQuery, заодно советую заглянуть в исходный код, а не только читать документацию.

    5) Изучите один из серверных языков, хотя бы основы

    6) Изучите основы SQL

    7) Начинайте что-нибудь делать, так как в этот момент у вас будет очень много теоретических знаний и очень мало практических. Можете сделать простое веб-приложение, можете улучшить какое-нибудь существующее.

    8) Изучите ООП

    9) Изучите какой-нибудь серверный MVC-фреймворк

    В общем, я думаю, стоит изучить базовые технологии, и приобретать практические навыки, а дальше неизвестно, понадобится ли вам HAML или что-то еще. Большинство упомянутых вами технологий изучать необязательно. Изучать надо то, что вам нужно для решения задачи, а не все подряд (иначе на это могут уйти года).

    > А есть ещё и XHTML, который тоже имеет свои отличия…

    Его уже нет, его никто не будет развивать и использовать, более того, и раньше многие использовали не XHTML, а лишь похожий на XHTML синтаксис (в частности самозакрывающиеся теги), а на деле писали HTML. Вы можете изучить его, но только ради любопытства, а не ради практической пользы.

    > Клиентская разработка нынче редко обходится без всяких шаблонизаторов типа HAML/SASS

    Вы еще Coffescript забыли упомянуть. Это очень спорные вещи, есть мнения как за, так и против. Но в любом случае, согласитесь, как-то странно изучать SASS, не изучив вначале CSS, верно? Начинающему это не нужно.

    > а для эффективной серверной разработки всё и того сложнее: фреймворки, ORM, continuous integration, очереди задач и прочая-прочая.

    Для приложения из 3 страниц все это не нужно. Сложные технологии нужны в больших и огромных проектах, начинать можно и без них. И более того, не имея определенного опыта работы с кодом, вы вряд ли поймете, зачем это нужно. А когда понадобятся, тогда и изучите.

    По вопросу, где брать информацию: авторитетные источники (для поиска ответа во всех подробностях) — это спецификации W3C, официальная документация фреймворков, неофициальные источники вроде htmlbook, stackoverflow или Хабра — для того, чтобы быстро получить представление о тех или иных возможностях HTML. Еще можете какую-нибудь книгу почитать, только не старую.
    Ответ написан
    5 комментариев
  • Область видимости переменных JavaScript?

    medved13
    @medved13
    Ведущий front-end разработчик
    $.ajax асинхронен.
    Вы его сконфигурировали, повесили обработчики на коллбэки, отправили запрос. И вернули пустоту.
    Через какое-то время пришли данные сервера, коллбэк отработал и в resultJSON что-то появилось.
    Ответ написан
    1 комментарий
  • Если бы вы могли начать сначала, чем бы вы занялись?

    @AntonVatchenko
    Я думаю учил бы все, что и учил, только нормально — читая книги от начала до конца, усваивая не только то, что необходимо в данный момент (например, как нарисовать кружок в Java), а всю философию, паттерны, этапы разработки, и просто полезные советы. Ведь рано или поздно понимаешь, что сделать что-то конкретное умеешь, а вот построить хорошую архитектуру, оптимальные алгоритмы засунуть — это все пропущено.

    А если конкретно, я бы учил Java, C++, разработку серверов и проектирование/программирование многопользовательских онлайн игр.
    Ответ написан
    Комментировать
  • Если бы вы могли начать сначала, чем бы вы занялись?

    opium
    @opium
    Просто люблю качественно работать
    Ну топ по моему очевиден
    java
    c#
    ruby
    python
    php
    Ответ написан
    Комментировать
  • Среда разработки для html-верстальщика?

    @Makito
    Три года верстал в Notepad++, сейчас пересел на SublimeText 2. Прекрасный редактор для верстальщика.
    По вашим условиям всему удовлетворяет.
    Единственный минус — нет вменяемого ftp (либо я не разобрался)
    Ответ написан
    4 комментария
  • Среда разработки для html-верстальщика?

    trueClearThinker
    @trueClearThinker
    1. SublimeText — вроде, умеет все, что описано
    2. Не встречал
    Ответ написан
    2 комментария
  • кем бы вы хотели быть?

    KEKSOV
    @KEKSOV
    Чем больше ЯП сумеете изучить, тем лучше. Ассемблер это очень правильно и хорошо, но в 99% случаев это тупиковая ветвь с точки зрения основной деятельности. Я бы уделил больше внимание так сказать текущему мейнстриму — C/С++, JavaScript, Erlang, SQL (MySQL или PostgreSQL), NoSQL. Обязательно познакомьтесь с UNIX, рекомендую два-три раза «собрать-разобрать» свой дистрибутив по инструкциям LinuxFromScratch. Соберите из исходников и настройте Apach, Nginx, MySQL на разных платформах. Чем больше технологий освоите, тем лучше.

    PS. И постоянно читайте на английском языке — без этого никуда.
    Ответ написан
    2 комментария
  • HTML5 поле типа «number»

    Talyutin
    @Talyutin
    Стандартными средствами никак. Этот контрол каждый браузер рисует самостоятельно.
    Ответ написан
    Комментировать
  • Ошибку в скрипте [JavaScript]?

    @JustDevIt
    Если я правильно понял, то вместо
    success: function(result2){
      if(result == 'Failed '){

    Во второй функции должно быть
    success: function(result2){
      if(result2 == 'Failed '){
    Ответ написан
    Комментировать
  • Шрифт в IDE

    Juralis
    @Juralis
    В своё время понравился Droid Sans Mono
    Использую его в PyCharm с темой monokai

    Ответ написан
    2 комментария
  • Шрифт в IDE

    nazarpc
    @nazarpc
    Open Source enthusiast
    DejaVu Sans Mono
    Ubuntu
    Ответ написан
    Комментировать