• Что можно почитать по ЭВМ и сетям?

    devalone
    @devalone
    ̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻
    Таненбаум
    Ответ написан
    Комментировать
  • Как передать анимацию разработчику 1 в 1?

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

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

    saboteur_kiev
    @saboteur_kiev Куратор тега Git
    software engineer
    у вас же уже есть тег git в вопросе.
    В git и хранятся.

    Количество версий вообще не говорит о размере проекта. Кто-то каждый коммит называет новой версией. У кого-то между двумя версиями сотни и тысячи бренчей и слияний.

    Гит часто используется не сырым, а с какой-нить оболочкой (gitlab, gerrit, bitbucket/stash) или даже сразу с хостингом на том же github.
    Ответ написан
    5 комментариев
  • Как сделать функцию, которая выполнится только один раз?

    0xD34F
    @0xD34F Куратор тега JavaScript
    function one() {
      console.log('AAAAAAAAAA');
      one = () => {};
    }

    Ну или можно как декоратор это дело оформить:

    function once(f) {
      let called = false;
      return function() {
        if (!called) {
          called = true;
          return f.apply(this, arguments);
        }
      };
    }
    
    const one = once(function() {
      console.log('AAAAAAAAAA');
    });
    Ответ написан
    Комментировать
  • Как правильно переносить git проект на другую машину?

    GavriKos
    @GavriKos
    Правильно - клонировать репозитории, а не страдать ерундой в виде копирования репы с машины на машину со всем мусором и прочим. Склонировать репу - это 1 команда, не представляю что может быть еще проще. Хоть 100 реп - пихаем в батник и все автоматом склонится куда надо.
    Ответ написан
    3 комментария
  • Bullshit Web - чрезмерное загромождение сайтов десятками скриптов и модулей. Можно ли решить эту проблему?

    dimonchik2013
    @dimonchik2013
    non progredi est regredi
    все бред

    вменяемый СЕОшник быстро растолкует начальству (а оно - прогерам) пагубность игнорирования google site speed
    Ответ написан
    7 комментариев
  • Как понимать фабричный класс в классе фабричный метод??

    customtema
    @customtema
    arint.ru
    Чтобы потом проще программировать было. Без вникания в то, что находится за интерфейсом. Все по полочкам, предсказуемо структурировано и предсказуемо себя ведет.

    Давным-давно я думал, что ООП и паттерны вообще актуальны только "для больших проектов". Когда я перестал так думать - стал разрабатывать раз в 5 быстрее.
    Ответ написан
  • На чем зарабатывают сайты без рекламы?

    saboteur_kiev
    @saboteur_kiev
    software engineer
    Есть много сайтов, которые не зарабатывают деньги вообще. Это нормально.

    Есть сайты, которые поддерживает неявный спонсор. Например википедия так жила много лет, и донат появился относительно недавно.

    Есть сайты, которые принадлежат некоему проекту, который приносит деньги. А сам сайт просто довесок.
    Ответ написан
    27 комментариев
  • Как создать массив из объекта?

    0xD34F
    @0xD34F Куратор тега JavaScript
    const arr = Object.entries(obj).map(([ k, v ]) => ({ id: +k, name: v.nameEn }));
    Ответ написан
    Комментировать
  • Uncaught SyntaxError: Unexpected token < - как исправить?

    ошибка не в этом коде
    Ответ написан
    Комментировать
  • Как можно через virtualbox хостить сайты apache?

    Ezhyg
    @Ezhyg
    Очень похоже, что ты неправильно понимаешь принципы работы, именно поэтому используешь неверные слова.
    То-есть я указал что запрос должна принять виртуальная машина

    Нет. Эта запись - просто запись в эдакой "базе данных имён" (тот самый файл hosts), то есть, считай это аналогом DNS. То есть, чтобы компьютер обращался за соответствием цифровому адресу соответствующему текстовому, не к настроенному DNS серверу (по умолчанию), а сам от себя получил ответ.

    То-есть я тут указываю что этот запрос должен переброситься на мою виртуальную машину

    И тут не так. Как и в первом случае, тут просто идёт распознание (разрешение) имени в адрес (резольв - resolve).

    Да, это даст машинам (и реальной и виртуальной) понимание адреса, куда "отправятся пакеты", но это никакой не "переброс".

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

    pragmatik
    @pragmatik Куратор тега Тостер
    я попросил заблокировать свой аккаунт
    Если речь идет (хе-хе) о крупном ресурсе, поддержку которого осуществляют наемные работники, то эти работники, наверняка, действуют в соответствии с регламентом, утвержденным их руководством. Они не могут применять "блокировку", которая является инструментом борьбы с нарушителями правил, для каких-либо других целей.
    Блокировка и удаление аккаунта - разные операции. Блокировка помогает нарушителю правил обдумать ситуацию, дает время изучить правила ресурса, чтобы в дальнейшем не допускать их нарушений и не давать повода для новых санкций. Удаление учетной записи - подразумевает отказ от использования ресурса, сопровождающийся удалением всего контента, размещенного пользователем.
    Поэтому, на мой взгляд, вы изначально некорректно сформулировали вопрос, в заголовке которого Вы пишете "Считаете ли вы правильным, когда для удаления аккаунта нужно нарушать правила?", а в описании, пишете, что вы запросили блокировку и вам в ней отказали.
    А то, что забанили товарища без повода - это уже другая история и тут не имеет смысла её обсуждать.
    Как так ни за что? Вон же у него в профиле https://toster.ru/user/Maksclub (ссылку на который вы забыли удалить) написано: систематические нарушения п. 2.3, 5.17, 8.1. правил Сервиса.
    Я подписан на тег https://toster.ru/tag/toster.ru/questions и мне не сегодня на почту 2 письма пришло о его вопросах в которых он спрашивал почему были удалены вопросы. Не понимаю, почему он это спрашивал у пользователей Сервиса, а не у службы поддержки, ведь рядовой пользователь может ответить на его вопросы только одно: если вопросы были удалены, значит они содержали нарушения правил. Вон даже в правилах, которые он нарушил написано:
    2.3 Публикация вопросов, компетентно ответить на которые могут только представители конкретной организации, неизбежно приводит к провокации нарушений п. 3.4, 5.14 - 5.17 правил данного Сервиса. Помните, что для обращения к администраторам электронных ресурсов следует использовать предусмотренные этими администраторами каналы связи, например, если речь идет о данном Сервисе - форму обратной связи.
    5.17. В подавляющем большинстве случаев, инициирование публичных обсуждений такого рода влечёт за собой высказывание предположений, слухов и заблуждений. Это вынуждает сотрудников обсуждаемых электронных ресурсов тратить время на отслеживание и комментирование таких дискуссий.
    8.1. Любые вопросы, связанные с обсуждением санкций за нарушение данного регламента следует адресовать в службу поддержки.
    и все кто, как и я, подписаны на тег Тостер.ру сегодня стали жертвами действий вашего кумира, поскольку получили уведомления о его вопросах на которые они не могут ответить, т.е. напрасно потратили время жизни на их рассмотрение.
    Ответ написан
  • Алгоритм нахождения синуса любого угла?

    @AlexSku
    не буду отвечать из-за модератора
    1) в арифметическом сопроцессоре длина дробных чисел 10 байт, а не 8(double), так что точность повыше.

    2) ряды Фурье применять тяжело, т.к. факториал (в знаменателе каждой дроби) быстро растёт.

    3) есть метод CORDIC, который по небольшой таблице может рассчитать любую точность.

    4) слышал на видеосеминаре, что скорее всего используются многочлены Чебышёва (знай наших!)
    Ответ написан
    Комментировать
  • Алгоритм нахождения синуса любого угла?

    LaRN
    @LaRN
    Senior Developer
    Иногда для скорости используют(вали) табличный метод.
    Т.е. создают таблицу в памяти с вычисленными значениями функции(с нужной точностью)
    для какого-то фиксированного шага по углу.
    Если попадаем между узлами сетки таблицы углов, то используем интерполяцию.
    Ответ написан
    Комментировать
  • Как находить при помощи autocomplete?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    /*check if the item starts with the same letters as the text field value:*/
            if (arr[i].substr(0, val.length).toUpperCase() == val.toUpperCase()) {

    Здесь меняйте условие на то, что вам нужно.
    Ответ написан
    Комментировать
  • Как распарсить полученное значение?

    VladimirAndreev
    @VladimirAndreev
    php web dev
    unserialize
    Ответ написан
    Комментировать
  • Хороший пример структурированного CSS файла?

    delphinpro
    @delphinpro Куратор тега CSS
    frontend developer
    Вот реальный файл
    /*!
     * Main styles
     *
     * @author     delphinpro <delphinpro@gmail.com>
     * @copyright  copyright © 2018 delphinpro
     * @license    licensed under the MIT license
     */
    //==
    //== Config & mixins
    //== ======================================= ==//
    $DEV_MODE: true;
    @import "vrhythm.cfg.scss";
    @import "grid.cfg.scss";
    @import "../../node_modules/bs-grid-system/source/scss/bs-grid";
    @import "../../node_modules/vrhythm/source/mixins/rhythm";
    @import "main.cfg.scss";
    @import "mixins.scss";
    @import "../../node_modules/tiny-slider/src/tiny-slider";
    //==
    //== Global styles
    //== ======================================= ==//
    @import "webfonts.scss";
    @import "vendor/normalize";
    @import "base/global.scss";
    @import "base/grid-system.scss";
    @import "base/page.scss";
    @import "base/site.scss";
    @import "base/table.scss";
    @import "base/input.scss";
    @import "base/uploadbox.scss";
    @import "base/buttons.scss";
    @import "base/checkbox.scss";
    @import "base/radio.scss";
    @import "base/radio-button.scss";
    @import "base/radio-panel.scss";
    @import "base/controls-group.scss";
    @import "base/form-field.scss";
    @import "base/auto-height.scss";
    @import "base/transitions.scss";
    //==
    //== Blocks
    //== ======================================= ==//
    @import "blocks/availability.scss";
    @import "blocks/availability-details.scss";
    @import "blocks/back-link.scss";
    @import "blocks/benefit-block.scss";
    @import "blocks/block-heading.scss";
    @import "blocks/breadcrumb.scss";
    @import "blocks/btn-close.scss";
    @import "blocks/callback-link.scss";
    @import "blocks/checked-list.scss";
    @import "blocks/ci.scss";
    @import "blocks/clear-link.scss";
    @import "blocks/document-list.scss";
    @import "blocks/download-link.scss";
    @import "blocks/email-link.scss";
    @import "blocks/entry-item.scss";
    @import "blocks/expert-consult.scss";
    @import "blocks/goods-attributes.scss";
    @import "blocks/heading.scss";
    @import "blocks/icons.scss";
    @import "blocks/info-text.scss";
    @import "blocks/logo.scss";
    @import "blocks/paginate.scss";
    @import "blocks/phone-link.scss";
    @import "blocks/phone-with-icon.scss";
    @import "blocks/phone.scss";
    @import "blocks/popular-links.scss";
    @import "blocks/price.scss";
    @import "blocks/print-link.scss";
    @import "blocks/section.scss";
    @import "blocks/service-description.scss";
    @import "blocks/services.scss";
    @import "blocks/share-block.scss";
    @import "blocks/show-all.scss";
    @import "blocks/smenu-box.scss";
    @import "blocks/smenu.scss";
    @import "blocks/tags.scss";
    @import "blocks/unordered-list.scss";
    @import "blocks/worktime.scss";
    @import "blocks/zoom.scss";
    //==
    //== Blocks
    //== ======================================= ==//
    @import "blocks/about-us-section.scss";
    @import "blocks/article-section.scss";
    @import "blocks/benefits.scss";
    @import "blocks/carousel.scss";
    @import "blocks/cart.scss";
    @import "blocks/delivery-map.scss";
    @import "blocks/delivery-partners.scss";
    @import "blocks/delivery.scss";
    @import "blocks/footer.scss";
    @import "blocks/header.scss";
    @import "blocks/help-me.scss";
    @import "blocks/load-more.scss";
    @import "blocks/nav-catalog.scss";
    @import "blocks/nav.scss";
    @import "blocks/navbar.scss";
    @import "blocks/news-section.scss";
    @import "blocks/panel.scss";
    @import "blocks/params-panel.scss";
    @import "blocks/payment-block.scss";
    @import "blocks/search.scss";
    @import "blocks/catalog-table.scss";
    @import "blocks/catalog-grid.scss";
    @import "blocks/time-range.scss";
    //==
    //== Components
    //== ======================================= ==//
    @import "components/spin.scss";
    @import "components/selector.scss";
    @import "components/tabs.scss";
    @import "components/hamburger.scss";
    @import "components/fixed-bar.scss";
    @import "components/step-indicator.scss";
    @import "components/complete-screen.scss";
    @import "components/ordering.scss";
    @import "components/order-complete.scss";
    @import "components/summary.scss";
    @import "components/goods.scss";
    @import "components/basket-contains.scss";
    @import "components/basket-goods.scss";
    @import "components/basket.scss";
    @import "components/icon-complete.scss";
    @import "components/big-order-form.scss";
    @import "components/feedback-form.scss";
    @import "components/modal.scss";
    @import "components/vue-scrollbar.scss";
    @import "components/mobile-menu.scss";
    @import "components/gallery.scss";
    //==
    //== Page specific classes
    //== ======================================= ==//
    @import "pages/home.scss";
    @import "pages/articles.scss";
    @import "pages/catalog.scss";
    @import "pages/product.scss";
    @import "pages/terms.scss";
    @import "pages/services.scss";
    @import "pages/news.scss";
    @import "pages/feedback.scss";
    @import "pages/page404.scss";
    //==
    //== Helpers & other classes
    //== ======================================= ==//
    @import "base/helpers.scss";
    @import "base/printer.scss";
    Ответ написан
    5 комментариев
  • Какой код вы обычно вовзращаете если обработка завершена не успешно?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Зависит от причины ошибки. Выбирайте нужный из 4xx и 5xx.
    https://ru.wikipedia.org/wiki/%D0%A1%D0%BF%D0%B8%D...
    Ответ написан
    3 комментария
  • Как правильно сегодня собрать браузерный ES6?

    Taraflex
    @Taraflex
    Ищу работу. Контакты в профиле.
    На webpack стоит переходить хотя бы ради адекватной инкрементальной пересборки в watch режиме и горячей перезагрузки работающей одинаково для всех браузеров.

    Вместо babel лучше использовать typescript в режиме совместимости с js для старого кода (babel генерит совсем уж шайтан кашу и гораздо медленнее собирает).
    Новый код сразу на typescript писать. (подсказки в ide на выводе типов и @types/* для библиотек здорово ускоряют процесс написания и частично компенсируют отсутствие тестов в проекте, если за них не платят - то есть всегда :( )

    Даже если ориентируетесь исключительно на новые браузеры, всегда стоит использовать транспиляторы на этапе сборки (typescript умеет это делать без записи выходных файлов) чисто ради проверки корректности кода и соответствия типов (уже это поможет выкинуть половину тестов из обычного js, ибо не зачем проверять в рантайме то, что уже проверил транспилятор).

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