Задать вопрос
  • Как найти создателя папки в GIT?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    вам нужно найти первый коммит для файлов в этой директории и взять его автора:
    git log --pretty=format:"%an" --reverse path/to/directory | head -1
    Ответ написан
    Комментировать
  • Как получить общий стек css?

    @aplic
    Есть document.styleSheets, есть window.getComputedStyle().
    Ответ написан
    Комментировать
  • Jquery: почему не работает .css()?

    @schepetkov
    А этот адрес у вас точно правильно написан? url(..jeans/

    может всё-таки там нужен слеш ещё один? url(../jeans/
    Ответ написан
    1 комментарий
  • Что означает вопросительный знак после имени css-файла?

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

    Цифра 1384438461 это похоже unix time stamp = 11 / 14 / 13 @ 2:14:21pm UTC видимо это дата и время последней модификации файла kernel.css
    Ответ написан
    Комментировать
  • Как написать на чистом javascript запрос аналогичный Jquery?

    youmightnotneedjquery.com
    stackoverflow.com/questions/133925/javascript-post...

    Учитесь пользоваться гуглом
    Ответ написан
    Комментировать
  • Что за CSS хаки вида: ":before {content: ""}..."?

    @IoannGrozny
    Front-end разработчик
    такой clearfix служит не для запрета обтекания, а для фикса размеров элемента, который содержит float потомков.
    благодаря этому хаку элемент растянется на максимально возможную высоту(например высоту самого высокого элемента-потомка), и ширину(если элемент inline-block или float).
    Ответ написан
    Комментировать
  • Устарел ли метод создания сайтов с помощью таблиц?

    @tushev
    В большинстве случаев блочная верстка лучше. Но иногда бывают ситуации, когда лучше сделать простую табличную верстку для каких то элементов, вместо того что бы городить жуткие костыли на блочной верстке.

    Если вам нужна совместимость со старыми браузерами типа IE6, то тоже проще работать с табличной версткой. О да, в некоторых организациях IE6 до сих пор актуален. У меня были такие заказчики, и это очень важные и богатые заказчики, при все моей ненависти к старым технологиям.

    Для вертки Email уже говорили, что про блочную верстку вообще лучше забыть. Только табличная.

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

    Заявления типа "Забудь о табличной верстке навсегда" - это не очень компетентное заявление.
    Ответ написан
    Комментировать
  • Как называются картинки для заполнения фонов на веб страницах?

    WebSpider
    @WebSpider
    Backround tiles
    Ответ написан
    Комментировать
  • Зачем в функцию передаются следующие аргументы: window, document, undefined?

    maxaon
    @maxaon
    undefined пишут, поскольку некоторые сторонние библиотеки могут ее переопределить и получится некорректный код (корректно для ES3, поскольку undefined простая переменная; в ES5 это уже не релевантно) . Используя данный код undefined всегда будет undefined.

    Также рекомендуется вставлять ; в начало, поскольку при склеивании и минификации может получится некорректный код.
    ;(function(window, document, undefined) {
    })(window, document);
    Ответ написан
    Комментировать
  • Псевдоселектор :after в JQuery?

    @zyablikov
    Так сделать у вас не получится. Можете воспользоваться альтернативным способом:

    div.bg-black:after {
    background-color: black;
    }


    $("div").addClass("bg-black");
    Ответ написан
    Комментировать
  • Как можно оптимизировать этот код javascript?

    bredmm
    @bredmm
    var usd_td = document.getElementById('get_usd'); 
    colours = ['#eee', '#ccc', '#aaa',  '#999', '#777', '#444'];
    setColour();
    function setColour() {
        usd_td.style.color = colours.shift();
        console.log(colours)
        if (colours.length != 0) {
            setTimeout(setColour, 40)
        }
    };
    Ответ написан
    3 комментария
  • Как избавиться от зависимых запросов?

    @Masterme
    доработайте апи чтобы оно понимало запросы вида
    api.site.ru/museums?city=spb&categories=museums&type=best
    Ответ написан
    2 комментария
  • Реально ли создать сайт только на Javascript?

    @Nc_Soft
    nodejs и вперед, на javascript будет приложение ))
    Ответ написан
    Комментировать
  • Можно ли сделать вертикальную прокрутку сверху и снизу?

    @krekerov
    Fullstack ninja
    Ответ написан
    Комментировать
  • Как сделать игру максимально оптимизированной?

    ScorpLeX
    @ScorpLeX
    Максимально тестировать.
    Какой вопрос такой ответ.
    Ответ написан
    1 комментарий
  • Sublime Text 2 - ColorPicker

    hell0w0rd
    @hell0w0rd
    Просто разработчик
    Товарищи новички, прежде чем писать вопрос - погуглите
    https://github.com/weslly/ColorPicker - первая же ссылка, я тупо скопировал заголовок вопроса. Вы сэкономите время себе и другим людям.
    Ответ написан
    Комментировать
  • Посоветуйте разных Open Source проектов из России/СНГ

    @xave
    Мне всегда казалось, что у опенсорса нет национальности, т. к. в его разработке могут принимать участие люди из разных стран. Или вы говорите о коммерческих фирмах, производящих коммерческие продукты но под свободными лицензиями?
    Ответ написан
    2 комментария
  • Подсоветуйте фреймворк для node?

    MarcusAurelius
    @MarcusAurelius Куратор тега Node.js
    автор Impress Application Server для Node.js
    Как основной автор Impress, не буду я его советовать, но вот несколько слов скажу, чтобы не было лишних ожиданий от фреймворка. И дам советы, которые на любом фреймворке помогут Вам написать хороший проект.

    Ответы:

    agentx001:
    Сильно много мне не нужно, MVC да рендринг страниц на сервере.

    Что такое MVC нет общего мнения, так случается, что каждый поймет это по-разному, потом напишет что-попало, и назовет это MVC. Так вот, Impress это не MVC, если понимать MVC, как отдельное написание контроллеров, моделей и представлений. Не будем обсуждать, что такое MVC, это очень затертый термин, и мы запутаемся в домыслах, которые вокруг него нагромождены. Лучше я скажу, что ждать от фреймворка: Impress, сам по себе, это универсальный контроллер, он как раз написан для того, чтобы не писать контроллеров. В нем есть реализация представления — это рендереры, один из рендереров — это шаблонизатор (с его помощью можно рендерить не только HTML, но и CSV, CSS, TXT и что угодно), но есть еще рендерер для JSON, он совсем простой, можно дописывать другие рендереры, для других форматов данных, если шаблонизация не подходит, например, для бинарных данных. Еще в Impress есть реализация логики приложений — которая разделяется на три части: (а) логику модели данных предметной области, (б) логику представления, т.е. логику рендеринга, (в) логику библиотек общего назначения, не связанных с предметной областью. Логика предметной области — это бизнес-логика приложения, например: алгоритм вычисления маршрута доставки груза, для системы крекинга грузов. Логика рендеринга — это если нужно сформировать данные для рендеринга при помощи императивного кода (т.е. при помощи обычного алгоритмического программирования с условиями, циклами и вызывами), а не только при помощи декларативных шаблонов и декларативных условий в них. Логика библиотек общего назначения — это все универсальные задачи, которые могут быть переиспользованы в других проектах, например, генерация DOCX документа, валидация данных, чтение количества кадров из анимированного GIFа и т.д. Все эти три вида логики (кода), гораздо важнее отделать друг от друга, чем модель от представления. А вот отделать представление от логики представления — это вообще страшная ересь, в которую впадают многие MVC-фреймворки.

    agentx001:
    Понравился этот новенький impress, но не стремлюсь использовать самопальный продукт, могущий в любой момент свернуться и даже не имеющий документации…

    Кроме самописных Вы еще какие знаете? Может есть какие-то автоматически писанные или сгенерированные? Есть статьи, есть примеры, часть API уже документирована, например, вот тут: impress/wiki. Скоро будут скринкасты, я уже об этом говорил. И в Impress очень мало кода, ядро весит 43кб. Код написан аккуратно, его можно прочитать за 5 дней, если читать по 5 страниц на ночь. Примеры готового веб-приложения (админ-панель для БД MySQL и MongoDB) даются вместе с системой и описываются тут: http://habrahabr.ru/post/192302/

    rozhik:
    По поводу критики impress — я бы таки выбрал другой. Очень странная архитектура, если он выживет — то явно поменяет не только половину апи — но и принципы расположения файлов.

    Фреймворк не на пустом месте появился, файловые структуры, как и API, созданы как портированные на ноду, наработки моей команды за последние 15 лет на Delphi, C#, PHP и JavaScript. Структура каталогов и API будут наращиваться, но не переделываться кардинально, я уже нашел для себя золотую середину в архитектуре систем. Вот что будет меняться в ближайшие месяцы — это формат конфига, т.е. Impress же не просто фреймворк, это сервер приложений, и он может сразу обслуживать несколько приложений (на разных доменах). Для этого, конфиг будет разделен на основные настройки и отдельную конфигурацию, для каждого приложения. Но конфиг не вилик, его разнести на несколько файлов — не проблема, при чем, структура конфига не сильно изменится.

    Советы:

    1. Если у Вас сайт, то рендерите шаблоны на сервере, но если у Вас приложение, то сделайте одну страницу (ну или несколько основных страниц), и на сервере сделайте API на AJAX и JSON. Присылайте данные в клиентское приложение, будь то веб-приложение или мобильное приложение для iOS или Android или оконное приложение, на любом языке. Это гораздо универсальные и удобнее для интеграции и поддержки.

    2. Используйте оперативную память, не лазьте в базу данных постоянно. Нода — это великолепная возможность писать быстрые приложения, и даже не из-за того, что она не блокирующая, за последний год я понял, что правильное использование памяти гораздо более ускоряет, Вам даже не нужно делать операции ввода-вывода в реальном времени, все они могут быть отложенные (ленивые, лэйзи). Вместо этого, разворачивайте данные в память приложения, стройте хеши, объекты, массивы. Не нужно бояться, что нода запущена в несколько процессов, и запросы одного пользователя могут приходить в разные процессы и находить там разные структуры данных. Это можно решить, делая «прилипание» клиентов по IP адресу или по Cookie при помощи балансировщика, к отдельному процессу ноды. В Impress такой балансировщик есть встроенный, можно использовать nginx или сервисы Вашего дата-центра, для больших проектов можно и нужно привлекать аппаратные балансировщики. Между разными процессами так же можно взаимодействовать через ZeroMQ, TCP, HTTP, IPC и еще что-угодно. Таким образом, данные разных процессов, в зависимости от того, что это за данные, могут или дублироваться в памяти (кешироваться, если это общие данные) или быть разделены на «прилепленные» сессии или синхронизироваться между собой через межпроцессовое взаимодействие.

    3. Не очаровывайтесь технологиями, берите их как можно меньше, и лучше копайте вглубь, чем по верхам. Для ноды сейчас очень большое разнообразие всего написано, и есть какая-то общая тенденция, поподключать в проект сто модулей, которые делают совершенно плевые вещи, а те тянут за собой еще какие-то зависимости и потом оно расползается и становится совершенно неконтролируемым. Подумайте 100 раз перез тем, как написать require, а если есть несколько альтернатив, то потратьте немного времени чтобы пощупать их код, протестировать производительности и удобство, это сэкономит потом много времени.
    Ответ написан
    3 комментария