В php есть стандартные функции/объекты для чтения csv (fgetcsv, SplFileObject).Не надо было делать str_replace вообще, они читают строку и возвращают массив данных из полей.
"После наступления, в ретроспективе, событие имеет рационалистическое объяснение, как если бы событие было ожидаемым." - это тоже важно, мне кажеться что именно в нём весь смысл черных лебедей. А по вашему определению можно туда всё подряд приплетать, от колеса до изобретения ядерной бомбы.
Пунтк 15 про revert неверный. Revert делает коммит с изменениями обратными только указанному коммиту, а не всему от головы до этого коммита. И если делать реверт мерж-коммиту, то нужно еще указать родителя в параметре -m (обычно это -m1).
Откат до заданного комммита это git reset --hard, но учтите что это потеря данных и изменение истории которое можно запушить только с параметром --force, а если вы с репозиторием работаете не один, то им тоже нужно будет провести некоторые манипуляции чтоб удалить эти коммиты тоже (и вполне возможно они вас за это возненавидят).
Пункт 30 немного объясню что делает команда: Например вы создали несколько коммитов в своей ветке branch. Находясь в своей ветке и выполнив команду git rebase master, гит находит общего предка веток branch и master, убирает ваши коммиты до общего коммита, обновляет вашу ветку branch до состояния master, и после этого применяет ваши коммиты сверху. Т.е. вы обновляете свою ветку относительно мастера и ваши коммиты будут сверху. Общий результат (в файлах) будет такой же как и если намержить ветку мастер на вашу, разница будет только в истории коммитов. При merge ваши коммиты будут до мержа с мастером, при rebase ваши коммиты будут сверху.
Я пока только учу JS, но такая запись this[option] = options? (options[option] || defaultOptions[option]): defaultOptions[option];
не позволит установить значения опций как false, 0, '' (пустая строка).
У меня тоже такое происходит, это не из-за мыши, а из-за того что при клике Netbeans чуть сдвигает вкладку и закрывающий крестик может оказаться под мышью, и когда отпускаешь кнопку мыши вкладка закрывается. Тоже мучаюсь не знаю как побороть.
Центрифугу не готовы, но питающие кабеля двигателей можно было попробовать, по крайней мере раскручиваться не будет, а там гляди и остановится до того как разлетится.
Ну и где тут кол-во строк? Например: у меня было 15 занятых закладок из 24 возможных (6х4). Я их раскидал по сторонам и по углам как мне было удобно. Сейчас оно показывает только мои 15 (согласен, их можно перетаскивать, но только между собой), и никак не возможно задать 24 как у меня было.
В php есть стандартные функции/объекты для чтения csv (fgetcsv, SplFileObject).Не надо было делать str_replace вообще, они читают строку и возвращают массив данных из полей.
А если product.id имеет пропуски? Например, у нас удалены или выключены продукты с id 5000-5015, то мы два раза покажем одно и тоже?
"После наступления, в ретроспективе, событие имеет рационалистическое объяснение, как если бы событие было ожидаемым." - это тоже важно, мне кажеться что именно в нём весь смысл черных лебедей. А по вашему определению можно туда всё подряд приплетать, от колеса до изобретения ядерной бомбы.
Вы бы определение "черного лебедя" для начала узнали, у вас это какая-то отсебятина. Та и covid19 врядли подходит под определение.
Вместо поиска по reflog сразу после reset --hard можно воспользоваться ссылкой на ORIG_HEAD: git reset ORIG_HEAD
Пунтк 15 про revert неверный. Revert делает коммит с изменениями обратными только указанному коммиту, а не всему от головы до этого коммита. И если делать реверт мерж-коммиту, то нужно еще указать родителя в параметре -m (обычно это -m1).
Откат до заданного комммита это git reset --hard, но учтите что это потеря данных и изменение истории которое можно запушить только с параметром --force, а если вы с репозиторием работаете не один, то им тоже нужно будет провести некоторые манипуляции чтоб удалить эти коммиты тоже (и вполне возможно они вас за это возненавидят).
Пункт 30 немного объясню что делает команда: Например вы создали несколько коммитов в своей ветке branch. Находясь в своей ветке и выполнив команду git rebase master, гит находит общего предка веток branch и master, убирает ваши коммиты до общего коммита, обновляет вашу ветку branch до состояния master, и после этого применяет ваши коммиты сверху. Т.е. вы обновляете свою ветку относительно мастера и ваши коммиты будут сверху. Общий результат (в файлах) будет такой же как и если намержить ветку мастер на вашу, разница будет только в истории коммитов. При merge ваши коммиты будут до мержа с мастером, при rebase ваши коммиты будут сверху.
Я б его сразу правильно собрал в кучу и всё, без этой дикой математики.
Видел такое когда исключение возникало в деструкторе класса, в моем случае это был класс обработчика ошибок.
this[option] = options? (options[option] || defaultOptions[option]): defaultOptions[option];
не позволит установить значения опций как false, 0, '' (пустая строка).