• Как удалить директорию в Git?

    @fathom
    Если вы случайно закоммитили ненужный файл или папку в git-репозиторий и уже сделали push, то чтобы удалить все следы этого файла или папки в том числе и из истории, достаточно выполнить команду:

    git filter-branch --tree-filter "rm -rf PATH" HEAD

    где PATH - это относительный путь до файла или папки.
    После этого выполните (чтобы перезаписать историю изменений):

    git push origin master --force
    Ответ написан
    1 комментарий
  • Как обучаться C#?

    longclaps
    @longclaps
    Ответ написан
    Комментировать
  • Какую литературу посоветуете для изучения математического анализа?

    Здравствуйте.

    Берите книгу "Письменный - Конспект лекций по высшей математике". Там вышка для тех. вузов - самое оно. А к ней задачники "Лунгу - Сборник задач по высшей математике, 1 курс" и "Лунгу - Сборник задач по высшей математике - 2 курс".

    Хорошее у Вас увлечение. Главное -- не перегорите.
    Ответ написан
    6 комментариев
  • Как изменять часть изображения в jpg?

    @grinat
    У них куча вариаций одной и той же картинки:
    https://gnature.ru/tmp/paints/o-3708-4595.jpg
    https://gnature.ru//tmp/paints/o-3708-4592.jpg

    На самом деле достаточно хранить информацию о пикселях которые надо заменять. Человек выбирает цвет и затем просто через canvas на базе инфы, ставит то который нужно. При использовании https://developer.mozilla.org/ru/docs/Web/API/ImageData все будет работать очень быстро, если без imagedata, то будет тормозить.
    Ответ написан
    3 комментария
  • Возможно ли определить сенсорный экран или нет?

    function is_touch_device() {
      return 'ontouchstart' in window        // works on most browsers 
          || navigator.maxTouchPoints;       // works on IE10/11 and Surface
    };


    https://stackoverflow.com/questions/4817029/whats-...
    Ответ написан
    5 комментариев
  • Заказчик сует доработки очень маленькими порциями, как брать оплату?

    @402d
    начинал с бейсика на УКНЦ в 1988
    поставить минимальную стоимость как за полчаса работы.
    объяснять, что вы сейчас заняты и поправите через 1-23 часа.
    Брать деньги за все время от прихода первого сообщения до сдачи последней правки.
    так как вы в режиме оперативного сопровождения.
    Ответ написан
    20 комментариев
  • Как безопасно разорвать fixed price контракт?

    angrySCV
    @angrySCV
    machine learning, programming, startuping
    типичная ситуация с фиксПрайс контрактами, будет вам урок, никогда нельзя брать фикспрайс контракты, даже на 5 минутную "доработку" - рано или поздно ты изза копеечной правки нарвешься на такого заказчика, который испортит тебе репутацию.
    Само собой не все такие проблемные, но в случае проблем (например клиент хочет бесконечно растягивать обьем работ, затягивая и компосируя мозги как в примере), то ты будешь всегда крайним.
    ---
    Вариантов не так много:
    1. возврат денег (безопасно но теряешь деньги за уже выполненый труд)
    2. Не разрывать контракт, просто ему также бесконечно компосировать мозги, он тебе что-то шлет, ты соглашаешься посмотреть (но не указываешь точных сроков когда что-то посмотришь или исправишь), просто все время говоришь что еще НЕ разобрался, нужно время, при этом никогда не грубишь и НЕ отказываешься от работы, просто тянешь бесконечно время, ничего не делая, если он начинает высказывать не довольство ожиданием, предлагаешь ему сменить подрядчика.
    Клиент или сам расторгнет контракт, или забьет, ну и в случае чего спор проще будет решать, все равно клиент сам пропал, а теперь не хочет ждать когда у тебя время освободится. . .
    3. Попробовать все довести до желаемое клиентом состояния - но предположу что скорее всего не получится сколько бы ты труда не вложил, (нужно понимать что всегда оставшиеся 10% проекта занимают 90% труда), кто заказывает по фикспрайс часто этого не понимают и что-то обьяснять ему как правило бесполезно (поэтому брать проекты на фикспрайс - это безумие, хорошо тебе еще ума хватило проект на этапы разделить, так бы ты ни копейки за свой труд не увидел).
    Ответ написан
    Комментировать
  • Что написать для тренировки на js с нуля?

    shmatuan
    @shmatuan
    8 year of Web, 5 years of Vue
    Из того, что часто может пригодится в вебе

    • Паралакс
    • слайдер
    • генерацию таблиц из js
    • сортировку таблиц
    • общение с сервером
    • Плеер (аудио/видео)
    • Работа со временем (momentjs)
    • Подгрузка постов при скроле
    • Движение блоков при скроле
    • Пагинация
    • Модалка
    • Взаимодействие с изображениями (фильтр, обрезка, ...)
    • Кастомные селекты, датапикеры
    • Табы


    + можешь поискать топ сайтов и попробовать повторить интересные штуки из них
    + jQuery
    + фрейморки, например Vue
    + node js
    Ответ написан
    Комментировать
  • Как воспроизвести несколько аудио файлов на сайте?

    Stalker_RED
    @Stalker_RED
    Есть такой тег <audio>
    Там можно указать путь к файлу.

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

    Ответ написан
    2 комментария
  • Vue вместо jquery на примере кинозала?

    @imhuman

    alex-1917 заморочился с SVG и axios, кода стало совсем немного больше, это я и имел ввиду под лаконичностью. Так же добавил кликабельность ценников (можно выключать все места определенной стоимости) при выключении группы, билеты, выделенные ранее в группе, перестают добавляться к стоимости, при включении обратно - все снова считается
    Сергей delphinpro спасибо, сделал на основе твоей заготовки
    kot2566 Посмотри, может пригодится)

    P.S. Интересна реализация на jQuery
    Ответ написан
    2 комментария
  • Vue вместо jquery на примере кинозала?

    delphinpro
    @delphinpro Куратор тега JavaScript
    frontend developer
    минут пять, на коленке:

    Ответ написан
    16 комментариев
  • Почему у созданных объектов нет методов от Object?

    Это статические методы класса Object их невозможно вызвать для инстанса класса.
    https://developer.mozilla.org/en-US/docs/Web/JavaS...
    https://jsfiddle.net/wbyrqjus/
    Ответ написан
    Комментировать
  • Как написать большое приложение на Vue.js и не умереть?

    @Buzzzzer
    Возможно что то не так в конфигах webpack ?

    У меня сейчас в проекте порядка 600+ vue компонентов.
    Пересборка в dev с hot reload занимает 2-5 сек.
    (win, ram 16gb, ssd, какой то старенький i3)
    Ответ написан
    4 комментария
  • Как сделать точное вычисление физики гравитации на javascript в canvas методом Верле?

    lastuniverse
    @lastuniverse
    Всегда вокруг да около IT тем
    elleremo, ускорение которое получают планеты пролетая вблизи других планет не является ошибкой!!!

    Этот эффект называется "гравитационный маневр для ускорения объекта" или же "гравитационная праща"

    Swingby_acc_anim.gifГравитационный манёвр для ускорения объекта (гравитационная праща)

    Не стал делать "точную имитацию" гравитации. Пошел по пути:
    1. каждый объект имеет массу равную объему объекта умноженному на плотность объекта
    2. каждый объект влияет на каждый динамический объект
    3. влияние пошагово рассчитывается по формуле (почти) :
    V = сумма(F); // суммарный вектор сил
    F = k*M/D; // сила влияния (расчитывается для каждого объекта оказывающего влияние на текущий)
    M - масса объекта
    D - квадрат расстояния между центрами масс объектов
    k - коэффициент для подгона скоростей (выполняет роль гравитационной постоянной)

    Алгоритм расчета (пошагово):
    1. Для каждого динамического объекта происходит расчет новых координат (сумма текущих координат и вектора скорости, рассчитанного на предыдущей итерации цикла симуляции)
    2. Каждый динамический объект сверяется с каждым объектом на предмет столкновения. Если расстояние между центрами 2х сравниваемых объектов меньше суммы их радиусов то происходит слияние. Если объединяются статичный и динамический объекты, то динамический удаляется а его масса добавляется к статическому с перерасчетом плотности, радиуса и объема. Если объединяются 2 динамических объекта то к первому добавляется масса второго с перерасчетом плотности, радиуса и объема, координаты и вектора скоростей пересчитываются как взвешеная сумма координат и векторов скоростей обоих объектов. После второй объект удаляется.
    3. Для каждого динамического объекта расчитывается сумма векторов силы влияния притяжения всех объектов. Затем данная сумма и вектор скорости текущего объекта суммируются
    4. Переход к новой итерации цикла симуляции.

    Вся реализация расчета тут (в конце скрипта). Все формулы вынесены в класс Calc.

    видеодемонстрация
    демонстрация (масштабируется колесиком мышки, перетаскивается с помощью ЛКМ)

    Добавил слияние планет при столкновении (массы суммируются, вектора скоростей суммируются, позиция переносится в центр масс)
    Добавил источники (автоматически генерируют планеты)
    Добавил отдельные кнопки для пуска и остановки источников

    5bbd21b57da99316097769.png
    Добавил настройки:
    • параметры отображения
      • отображать сетку - вкл/выкл отображение координатной сетки
      • отображать источники - вкл/выкл отображение объектов, генерирующих планеты
      • отображать шлейф - вкл/выкл отображение траектории планет

    • Настройки физических величин - позволяют задаь минимальные и максимальные значения для размеров и плотности статических и динамических объектов
    • Управление симуляцией
      • шаг симуляции - экспериментальная величина регулирующая точность расчетов
      • скорость источников - изменяет скорость, с которой источники генерируют планеты
      • включить источники - вкл/выкл генерацию планет источниками



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

    5bbd22bc10be0483291405.png
    Ответ написан
    2 комментария
  • Почему такой результат?

    rockon404
    @rockon404
    Frontend Developer
    В выражении:
    var a = [1][1];
    Вы присваиваете a элемент массива [1] с индексом 1. Так как такого элемента в массиве нет, а получает значение undefined.

    Так как undefined не кастуется ни в true, ни в false, ни одно из условий не истинно и в консоль ничего не выводится.
    Ответ написан
    Комментировать
  • Где смотреть современные интересные сайты?

    sfi0zy
    @sfi0zy Куратор тега Вёрстка
    Creative frontend developer
    Ответ написан
    Комментировать
  • Какой хороший курс по JS (для среднего уровня)?

    tundramani
    @tundramani
    learn.javascript.ru
    +
    фленагана справочник
    +
    годы тяжелой практики
    Ответ написан
    2 комментария
  • Как удалить элемент массива и потом брать значения из этого нового массива?

    @Worgen
    Используй метод .pop()
    Удаляет i-ый элемент и возвращает его. Если индекс не указан, удаляется последний элемент
    Ответ написан
    Комментировать