All streams
Search
Write a publication
Pull to refresh
51
0
Слинько Вячеслав Дмитриевич @KeepYourMind

User

Send message
1. Поисковики выполняют JavaScript, но, насколько я понимаю, главная их проблема в этом случае — определение события окончания инициализации сайта.

2. Для борьбы с этим и была придумана конструкция #!. Однако она не включает спец-режим рендеринга, а просто перенаправляет запрос на сервер в надежде получить уже скомпилированный исходник страницы по следующему правилу:
localhost/#!/test-page --> localhost/?_escaped_fragment_=/test-page

3. В добавок к этому, с увеличением поддержки HTML5 History API, люди переходят с #! на нормальную систему маршрутизации, что еще сильнее затрудняет задачу рендеринга страницы. Однако можно включить режим _escaped_fragment_ используя следующую конструкцию в шаблоне сайта:

<meta name="fragment" content="!">
image
Все испортили жесткие дни в июле с >90 коммитами :)
Не понял, что вы придумали нового, чего нет в when.js например, или в async?
Именно по этому во всех promise библиотеках есть враппер функции, который проверяет вернула ли она promise или результат.

Пример:
a = ->
  123

b = ->
  dfd = new $.Deferred()
  dfd.resolve 123
  dfd.promise()

# работа с синхронной функцией
$.when(a).then ->
# аналогична работе с promise
$.when(b).then ->
Adobe использует BEM? Теперь точно нужно обратить плотное внимание на эту технологию.
Не в данном случае, а вообще, такое возможно — библиотека, в отличии от native может кешировать некоторые данные.
Так круто это все выглядит.
Жаль я совсем никак не связан с графиками :-)
Хм:

$ npm shrinkwrap    
npm WARN package.json dateformat@1.0.2-1.2.3 No repository field.
npm WARN package.json vows@0.7.0 No repository field.
npm WARN package.json growl@1.7.0 No repository field.
npm WARN package.json ms@0.3.0 No repository field.
npm WARN package.json eyes@0.1.8 No repository field.
wrote npm-shrinkwrap.json

$ cat npm-shrinkwrap.json 
{
  "name": "kantaina",
  "version": "0.1.5",
  "dependencies": {
    "lodash": {
      "version": "1.2.1",
      "from": "lodash@~1.2"
    },
    "when": {
      "version": "2.1.1",
      "from": "when@~2.1"
    },
    "dep-graph": {
      "version": "1.1.0",
      "from": "dep-graph@~1.1",
      "dependencies": {
        "underscore": {
          "version": "1.2.1",
          "from": "underscore@1.2.1"
        }
      }
    },
    "chai": {
      "version": "1.6.1",
      "from": "chai@~1.6"
    },
    "chai-as-promised": {
      "version": "3.3.1",
      "from": "chai-as-promised@~3.3"
    },
    "sinon-chai": {
      "version": "2.4.0",
      "from": "sinon-chai@~2.4"
    },
    "sinon": {
      "version": "1.7.3",
      "from": "sinon@~1.7",
      "dependencies": {
        "buster-format": {
          "version": "0.5.5",
          "from": "buster-format@~0.5",
          "dependencies": {
            "buster-core": {
              "version": "0.6.4",
              "from": "buster-core@>=0.6.2"
            }
          }
        }
      }
    },
...
Как можно догадаться по апельсину, что речь пойдет об автоматическом тестировании?
Ну хоть чуток стало яснее :-)
Статья красивая, но если ее цель ввести не опытного читателя в заявленную тему, то она не достигнута.
После прочтения статьи я все равно ничего не понял про функторы и монады.
Pixel Perfect не модно :-)
Спасибо, что делаете хабрахабр лучше! :-)
А я! А я за ангулар! :-)
А-а! ColdFusion.
Неужели его кто-то использует?

А за статью по AngularJS спасибо.
$parse: добавлена поддержка тернарного оператора (exp1? exp2: exp3)

Это больше остального не хватало
Может кто тут сможет ответить: можно ли будет посмотреть видео питчей?

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Date of birth
Registered
Activity