• Как сделать резервную копию сайта?

    @Refguser
    Делаю ИМ и другие решения
    Смешались в кучу кони.. Каким образом резервная копия поможет ускорить перенос/переезд? Никаким.

    Если интересует безотказность, но нужно иметь как минимуму два сервера в разных ДЦ (и лучше в разных странах) и смотреть в сторону балансировщика нагрузки. (И, естественно, моментальной синхронизацией данных).

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

    hint000
    @hint000
    у админа три руки
    Например, атоматически устанавливались обновления, а у какого-то из установленных пакетов изменились зависимости, что-то добавилось в зависимостях и поэтому это что-то автоматически установилось, чтобы не препятствовать обновлению. Но такое редко бывает и haproxy сам по себе не мелочь какая-то, чтобы внезапно появиться в чьих-то зависимостях. Но проверить легко - отдаёте команду на удаление haproxy (удаление начинается только после подтверждения [Y/n], так что можно не подтверждать и ничего фактически не удалять):sudo apt remove haproxy
    ...и смотрите список пакетов к удалению после строки The following packages will be REMOVED:
    Ответ написан
    Комментировать
  • Как хранить номера авто казахстанского учета в базе данных чтобы максимально быстро найти номер в БД?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Тебе ничего не надо придумывать. Все уже придумано и база умеет индексировать.

    create table autonumbers(autonumber varchar(30), region varchar(30));
    
    create index idx1 on autonumbers(autonumber);
    create index idx2 on autonumbers(region );


    Запросы:
    поиск номеров в регионе (индексированный)
    select .... where region = 'Астана';
    
    точный поиск номера по полному совпадению
    
    select .... where autonumber= '111AAA11';


    все что я знаю это поиск чисел быстрее поиска строк


    Это слабое утверждение для баз данных. БД это на 80% IO bounded приложение
    и его нагрузка будет зависеть от дисковой подсистемы и от удачного расположения
    искомых строк в блоках БД.

    Мой личный опыт эксплуатации БД Oracle например показывает что практически
    нет разницы между varchar / number. Хотя многие DBMS (Postgresql) поддерживают
    примитивные типы данных, но когда строка (datarow) длинная - то практически
    безразлично будет ли у тебя integer, biginteger, decimal.

    Важнее сделать систему просто правильной, а ужимать и утрамбовывать инфу в примитивы
    это - более поздняя оптимизация. Попробуй загрузи свои номера в макет и поэкспериментируй.
    Ответ написан
    Комментировать
  • Как хранить номера авто казахстанского учета в базе данных чтобы максимально быстро найти номер в БД?

    @Everything_is_bad
    1. Тег "Оптимизация SQL-запросов", значит у тебя СУБД? Какая?
    2. Ты придумал себе проблему на ровном месте, 5 миллионов не сильно много, можно поднять тестовый стенд и проверить как будет работать без индексов, потом добавить индекс по умолчанию
    3. Если поиск по полному номеру, то практически любой индекс будет работать очень быстро, если по подстроке, то начинается куча нюансов, тут уже надо отталкиваться от user story
    4. Если не устраивает, то читаешь какие виды индекса есть у данной СУБД, экспериментируешь, смотришь планы запросов, оптимизируешь и т.п
    Ответ написан
    Комментировать
  • Как обновить или исправить BIOS на материнской плате JINGSHA X99-D8I?

    CityCat4
    @CityCat4
    Внимание! Изменился адрес почты!
    Это ты так пошутил про BolgenOS, да?

    Впрочем от адепта секты "мой-крутой-комп-на-ксеоне-и-китайской-говноматери-с-али" всего ожидать можно.

    Скачать BIOS с сайта производителя (если конечно у него есть сайт и он не только на китайском).
    Оттуда же скачать утиль для прошивки.
    Прошить.

    Правда, от китайской говноматери рассчитанной на внутренний китайский рынок можно ожидать всего, чего угодно.
    Ответ написан
    2 комментария
  • Объясните пожалуйста как работает пинг?

    Сигнал очень редко идет напрямую, представьте, что между указанными вами точками интернет канал идет через Москву, какой маршрут тогда получится короче?
    Ответ написан
    Комментировать
  • На сколько Java отличается в обозначении типизации от C# для понятия TS?

    xez
    @xez Куратор тега Java
    TL Junior Roo
    Странная идея вообще учить язык А или Б для того чтобы понять язык В.
    Учите TS чтобы понимать TS, учите C# чтобы понимать C#.
    Ответ написан
    Комментировать
  • Как вы ведете документацию кода?

    vabka
    @vabka
    Токсичный шарпист
    Многие говорят, что код должен быть самодокументируемым.

    Так говорят только про случаи типа:
    // Время до перегрева реактора в секундах
    var a = 42;

    return id % 3; // 3 - это количество наших серверов. Тут мы находим id нужного сервера, на котором хранятся данные

    В вышеназванных случаях комментарий не нужен и может быть заменён нормальным неймингом.
    В некоторых случаях комментарии можно заменить на нормальные типы.
    // ПЛОХО!
    /// <param name="time">Дата и в формате rfc2822</param>
    public void DoSomething(string time) {}
    
    // Хорошо!
    public void DoSomething(DateTime time) {}

    Писать комментарии в коде нужно там, где что-то не очевидно (описание какого-то алгоритма или протокола, например, ссылки на задачи, в рамках которых был добавлен какой-то неочевидный, но важный "костыль" и так далее)
    + Следует пользоваться встроенными средствами для документирования.

    В тех проектах, где я работал документацию поддерживали по настроению. Многие важные аспекты не были описаны. Много было неактуальной информации. Если посмотреть в перспективе на такой подход, то чем сложнее будет становиться проект тем больше будет появляться пробелов в документации и тем больше будет неактуальных мест. По моему в больших масштабах такой подход вообще не приносит пользы.

    Если вашей команде документация действительно важна, то её нужно вносить в основной цикл разработки.
    Что-то типа
    Specification -> Design review -> Development -> Review -> Testing -> Documentation -> Release
    Тоесть нет документации - нет релиза. Нужно вносить роль технического писателя, который будет писать тексты и следить за актуальностью.

    которые автоматически показывали бы покрытие кода документацией.

    Код документацией покрывать не надо (по крайней мере так, как это обычно тестами происходит).
    А вот для покрытия методов и публичного api и так есть инструменты для проверки. Например в C# даже warning есть соответствующий.

    что-то похожее на TDD - когда ты пишешь документацию а потом код

    Ну так это и так должно быть в процессе разработки. Аналитик пишет спецификацию, ты, как разработчик, её дорабатываешь до уровня "это вот так лучше реализовать", потом по этой спецификации можно написать тесты и код.

    PS: Попробуй отталкиваться от того, кто будет эту документацию читать.
    1. Новые разработчики в твоей команде во время онбординга? Тогда проще C4 Diagram нарисовать
    2. Другие разработчики, которые хотят с твоим сервисом интегрироваться? Тогда и описывай протокол взаимодействия, примеры приложений, и имеющиеся публичные методы
    3. Техподдержка? Тогда лучше посмотреть в сторону базы знаний
    4. Пользователи системы? Тогда лучше отталкиваться от вариантов использования - инструкции, как сделать то или иное действие, обзоры разных модулей.
    5. Аналитик при продумывании новых фич? Тогда тут нужно что-то среднее между п1, п2, и п3.
    6. Никто? Тогда и не мучай бумагу.
    Ответ написан
    Комментировать
  • Как запретить счетчику Яндекс Метрика изменять HTML страницу сайта?

    Mike_Ro
    @Mike_Ro
    Python, JS, WordPress, SEO, Bots, Adversting
    Вопрос. Как запретить Яндекс Метрике менять что либо на сайте?

    По умолчанию - метрика ничего не изменяет в существующем html.
    В моем случае Яндекс Метрика изменяла номер телефона в шапке сайта на неизвестный мне номер.

    Это не метрика, а очень похоже на calltracking. Возможно, Яндекс Телефония как то была интегрирована в счетчик.
    Ответ написан
    6 комментариев
  • Чат для быстрого получения информации об айти технологиях?

    pindschik
    @pindschik
    ФЫВА ОЛДЖ
    Я правильно понял?
    У вас знания недостаточные, и к тому же эта беда в разных областях (респект, что понимаете),
    и вам нужны советы людей с большим опытом, которые много где поработали, всё повидали, набили шишек. При этом не из основной серой массы "админ-овощ", а выдающиеся специалисты, не косноязычные, умеют выражать мысли грамотно, понятно, непротиворечиво, без напуску туману, без риторики, не выказывающие к оппонентам пренебрежения и хамства. И при этом за работу и знания - им платит дядя, не вы, а с вами они будут делиться инфой не за рюмкой чая и задушевной беседой, а в телеграмме. Да еще и отвечающие мгновенно, в рабочее время и ночью...
    Увы.

    "Нужен мне работник:
    Повар, конюх и плотник.
    А где найти мне такого
    Служителя не слишком дорогого?"

    А.С. Пушкин "Сказка о Попе и его работнике Балде"
    Ответ написан
    2 комментария
  • Полезные книги/ресурсы по архитектуре компьютера?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Вопрос - просто замечательный. Если говорить простым языком - Хочу Все знать!

    Мне кажется что тебе лучше пойти от практики. Тоесть начать делать игру под Windows/Android
    на том языке который ты знаешь и уже потом пойти "от проблемы". Например, ты пишешь
    как оптимизировать. Оптимизиация графики или основных алгоритмов игры или оптимизация I/O
    это такие себе три разные задачи по каждой из которых можно книгу написать.

    Короче будешь распылятся - еще лет 20 будешь читать умные книжки.
    Ответ написан
    Комментировать
  • Как в базе данных перезаписать весь столбец с id?

    delphinpro
    @delphinpro
    frontend developer
    Сотни раз задавался подобный вопрос.
    Если кратко - не надо этого делать.
    Если нужны детали, воспользуйтесь поиском и изучите ответы на уже заданные вопросы.
    Первые из поисковика:
    Как сделать ID записи последовательными без пропусков?
    https://ru.stackoverflow.com/questions/125644/
    Ответ написан
    Комментировать
  • Как реализовать "журнал событий"?

    @iljaGolubev
    В базе храните ключи (enum) типа действия.
    Добавьте ключи в локализацию.
    Добавьте cast в модель и измените toArray() (метод сериализации) чтобы возвращал локализованные значения.
    пример enum

    enum JournalAction: string
    {
        case Edit = 'edit';
        case Add = 'add';
    
        public function translated($replacements=[]): string
        {
            return Lang::get('journal.' . $this->value,...$replacements);
        }
    }

    Идентификаторы вакансии и пользователя храните в поле jsonb. (как делать их локализацию - совсем другой вопрос). Хранение их локализованного значения в журнале в виде строк может стать проблемой когда название или имя изменится (или из локализация).
    Ответ написан
    Комментировать
  • Вывод записей не по id, а по колонке slug?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Чтобы записи выводились по slug, их и в sql-запросе надо запрашивать по slug.
    Ваш К.О.
    Ответ написан
    9 комментариев
  • Можно ли рассторгнуть договор самозанятого?

    vabka
    @vabka
    Токсичный шарпист
    1. Не существует "договора самозанятого". Самозанятость - это статус, при котором ты можешь вместо НДФЛ платить НПД, а твой заказчик не обязан выступать твоим налоговым агентом.

    2. Ты просто заключил какой-то договор. В любом договоре должны быть условия для его расторжения, в том числе досрочного, если у договора есть срок.
    Если условий нет - используются общие основания: ГК РФ ст 450

    ГК РФ Статья 450. Основания изменения и расторжения договора
    В каких случаях можно изменить предмет или иное существенное условие договора

    1. Изменение и расторжение договора возможны по соглашению сторон, если иное не предусмотрено настоящим Кодексом, другими законами или договором.

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

    (абзац введен Федеральным законом от 08.03.2015 N 42-ФЗ)

    2. По требованию одной из сторон договор может быть изменен или расторгнут по решению суда только:

    1) при существенном нарушении договора другой стороной;

    2) в иных случаях, предусмотренных настоящим Кодексом, другими законами или договором.
    Существенным признается нарушение договора одной из сторон, которое влечет для другой стороны такой ущерб, что она в значительной степени лишается того, на что была вправе рассчитывать при заключении договора.

    3. ...

    4. Сторона, которой настоящим Кодексом, другими законами или договором предоставлено право на одностороннее изменение договора, должна при осуществлении этого права действовать добросовестно и разумно в пределах, предусмотренных настоящим Кодексом, другими законами или договором.

    (п. 4 введен Федеральным законом от 08.03.2015 N 42-ФЗ)


    Если это был договор на оказание услуг, то ты, как исполнитель, можешь в одностороннем порядке отказаться от оказания услуги, но ты обязан будешь вернуть все деньги, которые тебе выплатили авансом.
    Например:
    У тебя был договор на оказание услуг на 100к рублей, в рамках которого ты должен был оказать две услуги.
    При этом вы с заказчиком договорились, что плата будет вноситься частями: 50% аванс и 50% по факту выполнения.
    Первую услугу ты оказал, за что тебе оплатили положенные 50к и аванс 25к за следующую.
    Но вот ты отказываешься от своих обязательств - тебе нужно будет вернуть эти 25к аванса.
    (А то и ущерб, если в процессе ты ещё какой-то ущерб нанёс.)


    нужно искать новую работу, потому что на эти деньги тупо не прожить

    А вот это уже пахнет нарушением закона, тк у ваших отношений с заказчиком есть признак трудовой деятельности. (Как между работником и работодателем)
    Ответ написан
    Комментировать
  • Laravel очередь, как добавить очередь выполнения?

    nokimaro
    @nokimaro
    Меня невозможно остановить, если я смогу начать.
    Используйте методы increment и decrement для изменеия баланса
    https://laravel.com/docs/10.x/queries#increment-an...

    public function updateBalance($bet_amount): void
      {
        $this->decrement('balance', $bet_amount);
      }


    под капотом соотв-но получите запрос вида
    UPDATE `users` SET `balance` = `balance` - $bet_amount WHERE id = ...


    p.s. Ваша проблема не в том что Laravel обрабатывает запросы одновременно, а в том что при одновременных запросах сперва делается SELECT текущего баланса, потом вы вычисляете новый баланс на PHP и делаете просто перезапись значения баланса из-за чего естественно теряется одно из изменений.

    p.p.s. Транзакции в БД хорошо, но дополнительно можно использовать lockForUpdate() чтобы исключить любые конфликты на уровне БД и тогда redis-локи в принципе можно убрать.
    Ответ написан
    Комментировать
  • Какую видеокарту выбрать для машинного обучения, майнинга, гейминга и 3д-моделирования?

    pindschik
    @pindschik
    ФЫВА ОЛДЖ
    656e4ba8471be903012641.jpeg
    Не этого я ожидал в час ночи, не этого...
    Какую угодно берите, ваш комп не потянет высокополигональные модели в 3D Max (например траву).

    Для начала надо было оперативки в 4 раза больше (а лучше в 8). Поэтому она на "высокополигональных" делах будет моментально кончаться и система станет жутко свопить. Но своп файл будет еле ворочаться - на пути быстрой работы вы поставили "диагональный" SSD со скоростью в 10 раз меньше, чем надо (но прекрасной, года так для 2012-го).

    Дальше в подобных программах вывозит процессор. Но свой вы взяли без "К", с бюджетным тепловым пакетом, это будет его душить сразу и на взлете. Зато материнская плата хорошая, на чипсете "Z", правда применить свои умения она на процессоре без "К" не сможет. Было бы лучше даже взять проц с "K" но материнку подешевле...
    А еще я знаю, какой у вас ИБП, но понятия не имею, какой кулер на процессоре, видимо ИБП влияет больше...

    Половину вашего SSD займет система с программами, еще 60-180 гигов файл подкачки. Под игры вам останется - примерно на половину одной современной игры. А куда вы будете качать текстуры и модельки из библиотек (а там нужны терабайты) - я так вообще не представляю.
    Ответ написан
    1 комментарий
  • Разделить страницу на 4 части, нестандартно __?

    delphinpro
    @delphinpro Куратор тега HTML
    frontend developer
    Стесняюсь спросить: а что здесь нестандартного?
    Я вам кажется уже отвечал по этой теме.
    Как разделить (визуально) страницу на 4 части: 2 по горизонали, 2 по вертикали?
    Ответ написан
  • Как или почему загружаются и скачиваются свойства файла?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Что отдаёт сервер и понимает программа скачивания (например, браузер), то и будет использоваться.
    6565c5e1d25e1993263680.png
    Ответ написан
    6 комментариев
  • Java или Kotlin для андроид?

    vabka
    @vabka
    Токсичный шарпист
    Основой язык разработки на Android - это Kotlin.
    Для эффективной разработки на нём тебе придётся тем или иным образом изучить, как устроена Java (платформа)
    Ответ написан
    4 комментария