• Как почистить Git-репозиторий?

    sergey-kuznetsov
    @sergey-kuznetsov Куратор тега Git
    Автоматизатор
    Вот несколько фактов, которые помогут понять как работает Git.
    • Файл .gitignore действует только на ещё не отслеживаемые файлы.
    • Файл .gitignore предназначен для описания того, что мы не хотим СЛУЧАЙНО добавить в репозиторий. Либо не хотим случайно удалить переключив ветку.
    • Мы можем ПРИНУДИТЕЛЬНО добавить в репозиторий ЛЮБОЙ файл, даже если он описан в .gitignore.
    • Добавление файла в .gitignore не удалит сам файл из репозитория. Если файл УЖЕ в репозитории, то он продолжит отслеживаться, независимо от наличия .gitignore.
    • Если больше не хотим отслеживать какой-то файл, то просто удаляем его из репозитория. Ключ --cached позволит оставить файл в рабочем каталоге текущего репозитория если он нужен.
    git rm --cached -- '.DS_Store'
    git commit

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

    @Urukhayy
    С течением времени было множество трактовок.
    Одним из примеров MVC является - игровая приставка.

    Model - сама приставка
    View - телевизор, который подключается к приставке
    Controller - контроллер для игровой приставки (манипулятор), так и называется. Неофициально - "джойстик".

    Ключевым моментом является Model (сама приставка), в ней происходят все сложные процессы и вычисления, хранение данных и просчёты.
    View, что в соответствии телевизор, - это лишь средство представления информации с вида, удобного для приставки (нули и единицы), в вид, удобный для человека.
    Controller, что в соответствии игровой контроллер, - это способ преобразования команд с вида, удобного для человека (вперёд, прыжок), в вид, удобный для приставки.

    Модель, в принципе, подразумевает у неё самой наличие функций, позволяющих ей меняться. Контроллер лишь командует - в какой момент времени каким функциям нужно вызваться, чтобы поменять модель. Если убрать из системы игровой контроллер, и попытаться отвёрткой замыкать контакты в гнезде игровой приставки (т. е. обратиться напрямую в модель, минуя контроллер), пытаясь тем самым "управлять персонажем", то это будет затруднительно - куда проще нажать на кнопку, а контроллер преобразует это в нужный вид.

    Картинка из вики:

    MVC-Process.png
    Ответ написан
    Комментировать
  • SQL запрос с условием, как сделать?

    27cm
    @27cm
    TODO: Написать статус
    SELECT COUNT(*) FROM `cars` WHERE `number` LIKE '10%' AND `number` NOT LIKE '%39';

    А вообще лабы нужно делать самому, для этого читать книжки и разбираться.
    Ответ написан
    Комментировать
  • Почему умножение работает быстрее деления?

    dimonchik2013
    @dimonchik2013
    non progredi est regredi
    насчет "лучше умножать на 0,5" хз, потому что плавающая точка, но, наверно да

    а так все просто:
    современный комп, и комп 20 лет назад, и комп 30 лет назад - это обычный транзистор
    (когда изобретут фотонный проц - будет не обычный, хотя..)

    а обычный транзистор имеет всего два состояния: 0 (нет напряжения) и 1 (идет ток)

    и умеет транзистор этими двумя состояниями всего два действия:
    первое: сложение (0+1 = 1, 0+0=0, 1+1 = 01 и т.п.)
    второе: смена знака (честно - уже не помню как там куда идет ток в этом случае)

    все. больше ничего комп не умеет.

    потому арифметика реализуется примерно так:
    сложение: первое число СЛОЖ второе число
    вычитание: первое число СМЕНЗНАК второе число СЛОЖ первое число
    умножение: много раз СЛОЖ и занесение в стек, что тоже СЛОЖ
    деление: многораз СЛОЖ и зансение в стек + чуть меньше раз СМЕНЗНАК и снова в стек

    как видишь, при делении больше всего операций, по сути деление - это куча сложений с разным знаком, и величина кучи больше кучи уножений

    отсюда же растут ноги у точности плавающей точки - СЛОЖ и СМЕНЗНАК тоже нужно сделать кучу раз в зависимости от точности
    Ответ написан
    3 комментария