• Почему говорят что jquery не нужен?

    ThunderCat
    @ThunderCat Куратор тега JavaScript
    {PHP, MySql, HTML, JS, CSS} developer
    Скрипач не нужен, родной (с)
    Аргументы против jq:
    - современные браузеры достаточно хорошо поддерживают единый синтаксис современного екмаскрипт(native js)(на самом деле нет).
    - сторонняя библиотека, работает медленнее чем натив и в основном состоит из с-сахара (тоже не совсем правда)
    - тащить еще один ресурс весом от 64 кб до 200 кб, еще и со сторонних ресурсов замедляет загрузку( правда, но бред)
    Аргументы за:
    - Современные браузеры как и всегда один другого "ровнее", всегда есть косяки и "нюансы", на которые еще и попадаешь обычно в самый неподходящий момент, в жк обычно все работает одинаково везде, ну или лучше чем в нативе.
    - В жк реализована куча плюшек в 1 функцию которые в нативе занимают "многабукав", не каждый начинающий напишет их правильно, да и профи не все напишут оптимально, уверен что в большинстве случаев написанный нативом функционал будет хуже аналога из жк.
    - размер мин пакета жк 64 кб, и все они лежат на быстрых цдн серверах. Думаю это последнее что может повлиять на скорость загрузки страницы.
    - есть ОГРОМНОЕ количество скриптов написанных с учетом жк, не использовать их глупо, писать свой велосипед - вообще только в целях обучения(не берем крайние случаи когда плагин писал упоротый пингвин).
    - Синтаксис и краткость записи - вообще вне конкуренции.
    - Старые браузеры никто не отменял, часто заказчик требует чтобы работало в ие8, натив не канает или доставляет море анального удовольствия.
    Вывод: Если ты крут в жс, еще и работаешь в ангуларе/ещечетамдляфронта и тебе нужно сделать 2 действия в очень современных браузерах - jquery не нужен, и ты это сам знаешь. Если слова ангулар, вуе и проч для тебя не больше чем шум листвы за окном, а навесить плагинов и эффектов нужно - jquery наше все.

    UPD: для всех кто там отписался а ля "в связи (...), исчезновением проблемы совместимости со старыми IE (что и было основным назначением jQuery)." - свежачок
    Ответ написан
    4 комментария
  • Почему погружаемый JavaScript на локальной машине работает, а при загрузке на сервер не хочет?

    Вот тут видно, что XHR sortable-table.js загрузился до события load (красная линия), а значит в момент события он выполняется. При этом сам динамический контент (таблица, синий блок profiles_rank/) еще только загружается, а значит его пока нет в DOM.
    70556ab2962046829cb932305890a6ae.png

    Иногда работает, когда контент появляется раньше, чем срабатывает инициализация библиотеки сортировки. Подгружать скрипт сортировки асинхронно не нужно, он уже в себе ждет когда страница и все ресурсы загрузятся полностью. Но если он начнет выполняться (инициализация LightTableSorter.init()), пока в DOM еще не погрузилась таблица (точнее заголовки), то вот тут будет пусто, и никакие клики не забиндятся
    var ths = document.getElementsByTagName('th');
    Arr.forEach.call(ths, function (th) {th.onclick = onClickEvent;});

    Вам надо провести "ручную" инициализацию после подгрузки таблицы. К сожалению, эта библиотека написана так, что вы не сможете вызывать код в Immediately-Invoked Function Expression (function (document) {})(document); без модификации библиотеки

    Удалите этот код:
    document.addEventListener('readystatechange', function(){
    if (document.readyState === 'complete') LightTableSorter.init();
    }, false);
    а вместо него добавьте этот:
    window.LightTableSorter = LightTableSorter;

    Теперь вы можете после загрузки данных через load выполнить инициализацию. В момент вызова callback function таблица уже должна быть вставлена. Только оберните в jquery.ready
    $(function() {
        $('#to_load').load('/stat/rating/profiles_rank/ #for_including1', function () {
            window.LightTableSorter.init();
        });
    });
    Ответ написан
    2 комментария
  • Какие существуют способы обеднения серверов?

    icCE
    @icCE
    youtube.com/channel/UC66N_jRyZiotlmV95QPBZfA
    К примеру, есть сервер на которых работают различные микросервисы под управлением RabbitMQ. В дальнейшем, при росте нагрузки, появилась необходимость вынести некоторые сервисы на отдельные сервера. Как их можно объединить, чтоб они видели RabbitMQ


    Если вы можете оставаться в приделах одного ДЦ, вы остаетесь в приделах одного ДЦ.
    При этом понимаю, что дата центр любое помещение где у вас сервера. Хоть дома на балконе.
    Если вам пришло время рости больше чем один ДЦ и думать об распределенных задачах, значит и связность вам надо делать распределенной. Этот вопрос не так прост, как может показаться изначально. Действительно, можно воспользоваться VPN каналом и кажется ну вот же клево то ? Но теперь представим, что vpn канал упал, а ДЦ продолжает работать. Что дальше будет делать ваше приложение ? Как оно будет работать и как будет восстановлено связность записей когда VPN вернется ?

    Поэтому да, ответ VPN в том или ином виде решает эту проблему, но не забываем строить распределенную архитектуру и думать об отказах которые могут быть. Можно сделать открытом канал, через который общаются клиенты и уже например синхронизировать между собой связность ДЦ между собой по этим каналам. Конечно не надо оставлять наружу порты RMQ, mongodb,mysql и других сервисов. По хорошему надо делать только 1 точку входа по vpn,а наружу оставлять только минимально необходимое в работе.
    Ответ написан
    2 комментария
  • Как сделать подгрузку контента Ajax?

    @artishok
    кратко
    $('#content').load('pages/page1.php #content');
    это?
    Ответ написан
    Комментировать
  • Бэкап через git - идиотизм?

    Jump
    @Jump Куратор тега Системное администрирование
    Системный администратор со стажем.
    Теоретически можно, и оно будет работать.
    По факту - велосипед из костылей скрученных скотчем.
    Ответ написан
    Комментировать
  • Бэкап через git - идиотизм?

    git annex - децентрализованная система версионирования и бекапирования поверх git. Отлично работает с бинариками, из коробки поддерживает бекап на S3. Для бинариков и разрабатывалась.
    Ответ написан
    Комментировать
  • Как сделать древовидные комментарии с бесконечной вложенностью на JavaScript?

    Exploding
    @Exploding
    wtf?
    И опять на помощь приходит html+css!
    Без js можно даже! Вот так:
    <details>
        <summary>Коменты внутри</summary>
        <p>
             <details>
                    <summary>Первый</summary>
                    <p>Текст комментария 1</p>
              </details>
              <details>
                     <summary>Второй</summary>
                      <p>Текст комментария 2</p>
              </details>
              <details>
                     <summary>И внутри...</summary>
                      <p>
                        <details>
                                  <summary>Третий</summary>
                                  <p>Текст комментария 3</p>
                      </details>
         </p>
              </details>
        </p>
    </details>

    Ну а в css стилизовать уже хоть под черта лысого можно...
    Ответ написан
    44 комментария
  • Имеет ли юридическую силу запрет на парсинг сайта?

    @nirvimel
    Любые дополнительные юридические ограничения (сверх того, что требует государственное законодательство) можно навязать пользователю лишь одним способом - путем ДОБРОВОЛЬНОГО (с обеих сторон) заключения договора. Это обычно реализуется в виде пользовательского соглашения при регистрации на сайте. При этом одна сторона (сайт) обязуется предоставить какие-то услуги (например, доступ к некоторой информации), в то время как другая сторона (пользователь) добровольно принимает на себя какие-то ограничения (например, не пользоваться никакими автоматизированными средствами для извлечения, предоставляемой ему, информации). Это соглашения вступает в юридическую силу с момента нажатия на кнопку "Принимаю условия" (см. акцепт).
    Поскольку с анонимом в принципе невозможно заключить никакой договор (очевидно), то на, не прошедшего регистрацию пользователя, невозможно возложить никакие ограничения (сверх существующих в законе).

    Но все вышеописанное касается только СПОСОБА, которым пользователь взаимодействует с сайтом (автоматизированный/ручной/ножной/и.т.д.). Что касается самого контента, который пользователь потребляет, то на него распространяется все нормы авторского права (независимо от способа, которым он получен). Поскольку авторское право (как государственный закон и международное соглашение) распространяется на всех без исключения (в том числе и на анонимов), то не требуется заключать с пользователем никакого договора (и заставлять проходить регистрацию). Достаточно упомянуть (желательно на видном местом) запрет на использование данного контента в любых целях, кроме личного ознакомления. Это допустимо на основании того, что владелец исключительных прав на контент может определять любые ограничения на его использование. Что это дает: контент, собранный автоматизированными средствами, в дальнейшем не может быть использован никак без нарушения закона о защите авторских прав (это серьезнее, чем нарушение пользовательского соглашения). Это полный юридический тупик для того, кто захочет заняться парсингом (пусть даже само по себе это будет законно).
    Ответ написан
    2 комментария
  • Какой фреймворк выбрать для обучения?

    NikitaRain
    @NikitaRain
    Full-Stack Developer.
    Что бы выучить действительно стоящий фреймворк, советую Symfony. После его изучения переход на Laravel будет спокойный и не сложный, а он на данный момент самый популярный.
    Ответ написан
    4 комментария
  • Можно ли в Python во float отбросить k знаков после запятой?

    >>> float("{0:.1f}".format(17.212123445))
    17.2
    Ответ написан
    Комментировать
  • Что делать если команда говнокодит?

    teke_teke
    @teke_teke
    programador
    тоже говнкодить.
    увидел говнокод, скажи себе "а ты....... ну я тебе сейчас покажу.....". и - бегом говнокодить, пока злость еще не прошла.

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

    @cssman
    50к рублей на бушные циски не жалко, а лицензию зажопил покупать? :)
    сказочный персонаж на тостере
    Ответ написан
    Комментировать
  • Какие проблемы с питоном есть в Яндексе?

    sgjurano
    @sgjurano
    Разработчик
    В Яндексе запрещено начинать новые проекты на 3 питоне, официально разрешенным языком является Python2. Мотивировка - дорого переписывать на 3 питон существующие проекты и поддерживать оба диалекта.
    Ответ написан
  • Какую посоветуете литературу (русскоязычную), по которой можно изучать data science?

    @red-barbarian
    По машинному обучению:
    Теория - Петер Флах Машинное обучение.
    Практика - Л. П. Коэльо, В. Ричард - Построение систем машинного обучения на языке Python.
    Много статей есть в инете.
    Ответ написан
    Комментировать
  • Какую посоветуете литературу (русскоязычную), по которой можно изучать data science?

    @azsx
    Выскажу непопулярное мнение. Сперва обязательно убедитесь, что вы знакомы с основами статистики и теории вероятностей на уровне решения бытовых задач. Можно не лезть в дебри, но задачи из реальной жизни стоит щёлкать как орешки. Затем убедитесь, что вы знаете sql или nosql (если вам непременно big data подавай). И будет совсем великолепно, если вы сможете понимать как хранятся данные на компьютере, (например, почему символ utf8 может быть 1 или 4 байта).
    Потом да, можно книжки читать. Их прекрасно применять на практике, но негде в РФ.
    Ответ написан
    Комментировать
  • Как и где можно научиться делать такие сайты?

    webinar
    @webinar Куратор тега Веб-разработка
    Учим yii: https://youtu.be/-WRMlGHLgRg
    Задумывая дизайн новичок исходит из своих возможностей. У профи возможности ограничены только фантазией. Так что эти сайты сделаны на опыте и креативном мышлении, а так же большом количестве знаний. Хотите научится нет проблем - надо учить все что попадается под руку. Начать надо с отличных знаний html, css, javascript, canvas, svg, а дальше сами начнете понимать что еще надо.
    Ответ написан
    Комментировать
  • Как и где можно научиться делать такие сайты?

    @kulaeff
    Front-end developer
    На том же, на чем пишутся и обычные сайты, но с более активным использованием технологий для анимаций. Ключевые слова: canvas, css свойства (animate, transform, transition), web animation api, threejs (webgl), gsap (tweenlite, tweenmax), svg animation.
    Ответ написан
    1 комментарий
  • Как аргументировать начальству создание существующего проекта заново, с ноля?

    un1t
    @un1t
    мой непосредственный руководитель главный дизайнер

    беги чувак оттуда!)

    Я планирую делать связку Angular2 + Node.js (для server-side-rendering) + PostgreSQL (возможно еще сделать API не на node а том же самом Django чтобы работало максимально быстро).


    Нафига node.js там же нету полноценных фреймворков. В итоге у тебя все велосипедами обрастет. К тому же я тут сомневюась, что тебе для этого проекта нужна асинхронность.
    Ответ написан
    1 комментарий