Задать вопрос
  • Как защитить базу от пользователей?

    SoreMix
    @SoreMix Куратор тега Python
    yellow
    Написать простенький API, запросы на который будет слать клиентское приложение, ну и соответственно обрабатывать все запросы на защищенном сервере, с него же и делать sql запросы, но уж никак не хранить данные для аутентификации БД прям в коде...
    Ответ написан
    Комментировать
  • Какие за и против использования ISO кода валют в качестве первичного ключа базы данных?

    @ComodoHacker
    Не используйте естественные ключи в качестве первичных. Используйте только суррогатные. Избежите многих проблем.

    Основных проблем с естественными ПК две.
    1. Проходит время, и возникает необходимость поменять естественный ключ. Например, его внесли с ошибкой (человеческий фактор). В вашем случае, допустим ISO решила, что существующий код оказывается не политкорректный, и его нужно поменять. И вам нужно поменять либо одну строку в одной таблице, либо все строки во всех таблицах, которые на нее ссылаются. Чувствуете разницу? А часть данных может быть уже в архиве, read-only и т.д.
    2. Проходит время, и "уникальный" естественный ключ оказывается не уникальным. Например, вам понадобился тот же доллар, но с особым курсом и т.п. Если это ПК, то нормального решения нет, пусть даже сложного, как в п. 1. Вам придется превратить естественный ключ в суррогатный, а для естественного добавить отдельный столбец. Так лучше сделать это с самого начала. :)
    Ответ написан
    Комментировать
  • Как узнать что произошло после выполнения команды с переменной в терминале?

    hint000
    @hint000
    у админа три руки
    Ну у вас получилась пустая переменная $dest, значит выполнилось
    find /* -type f -mtime +30 -delete
    т.е. вы просто удалили кучу разных файлов. Кроме тех, что менялись за последний месяц. Если от root'а выполняли, то убили систему и данные.

    Заново установить систему, восстановить из бэкапа сайты.
    Если бэкапов нет, то сразу загрузиться с флешки, попытаться восстановить удалённые файлы сайтов с помощью утилиты photorec.
    Ответ написан
    5 комментариев
  • Как выполнить backup базы данных mysql запросом?

    @Akina
    Сетевой и системный админ, SQL-программист.
    Очень теоретически можно организовать бэкап БД "одним запросом". И это будет запрос
    CALL stored_procedure(@datatbase_name);
    А вот в хранимой процедуре будет дофига запросов. Нужно будет из INFORMATION_SCHEMA получить список всех имеющихся в БД объектов и организовать копирование информации во внешний файл (причём для каждой таблицы придётся делать два файла - один со структурой, второй с данными). А ещё надо не забыть про процедуры, функции, триггеры... в общем, задачка весьма нетривиальная. Лучше даже не начинать.
    Ответ написан
    Комментировать
  • Проблема в изучении c# ,зачем и как использовать возможности языка?

    GavriKos
    @GavriKos
    Навыки оттачиваются практикой и только практикой. Делайте лабы, курсачи, придумайте себе какую то софтину и пишите ее
    Ответ написан
    3 комментария
  • Корректно ли копировать работающий luks криптоконтейнер?

    hint000
    @hint000
    у админа три руки
    Не может ли так быть, что файл будет битым при этом.
    Почти наверняка будет битым.
    И тормозить СУБД может быть даже недостаточно. Гарантировать "небитость" можно только при размонтировании.
    • остановили СУБД
    • отмонтировали контейнер
    • сделали бэкап
    • примонтировали контейнер
    • подняли СУБД

    В остальных случаях получится бэкап Шрёдингера. :)

    Ну или правильный метод: делать бэкап средствами СУБД, без остановки. Можно бэкапить в другой примонтированный криптоконтейнер.
    Ответ написан
    1 комментарий
  • Как мне вывести список предметов инвентаря steam?

    MinTnt
    @MinTnt
    return в функции настройте нормально, чтоб оно что-то возвращало кроме None(ничего), как пример:
    return '\n'.join([descriptions[v]['name'] for v in descriptions])
    Ответ написан
    1 комментарий
  • Как научиться объяснять?

    vvpoloskin
    @vvpoloskin
    Инженер связи
    Есть хорошая притча, как объяснить слепому, что такое белый цвет. Вроде он как снег, но не холодный, как песок, но не сладкий...
    Надо больше читать художественной литературы, тогда вы сможете проще подбирать метафоры и аналогии.
    Также надо понимать, кто перед вами, в какой предметной области он специалист. Медикам надо объяснять на их языке, логистам - на их, программистам - на их.
    Ещё рекомендую смотреть ролики TED, там за короткие 15-им минутные ролики объясняют сложные штуки для широкой аудитории.
    Ответ написан
    7 комментариев
  • Какую базу данных лучше всего использовать для асинхронного программирования?

    sergey-gornostaev
    @sergey-gornostaev Куратор тега Асинхронное программирование
    Седой и строгий
    На сегодняшний день единственная по-настоящему асинхронная СУБД - это PostgreSQL.

    P.S. GINO и Aiosqlite - это не базы данных.
    Ответ написан
    7 комментариев
  • Вывод информации php?

    E1ON
    @E1ON
    Programming, Gamedev, VR
    $out = mb_strlen($in) > 150 ? mb_substr($in, 0, 150)."..." : $in;
    Ответ написан
    2 комментария
  • Как впихнуть компилятор в бота телеграм?

    hottabxp
    @hottabxp
    Сначала мы жили бедно, а потом нас обокрали..
    Есть у вас допустим 10 exe-шников с разными функциями. Пользователь нажимает на кнопку с нужными функциями, и бот отправляет ему exe-шник с нужными функциями.
    Это задачка на логику с первого класса.
    Ответ написан
    1 комментарий
  • Почему нужно отнимать единицу вот в этой строке?

    15432
    @15432
    Системный программист ^_^
    Потому что в C# нумерация с 0

    И массив длины Length имеет элементы с индексами 0..Length-1
    Индекс Length будет уже за пределами массива.

    В вашем примере производится запись в последний элемент массива
    Ответ написан
    Комментировать
  • Отключение автозапуска приложений после включения - Debian 10?

    dyuriev
    @dyuriev
    A posteriori
    system settings -> startup & shutdown -> session management -> restore previous session

    в русском интерфейсе не уверен как точно написано будет, но перевести не сложно
    Ответ написан
    1 комментарий
  • Определение оператора сотовой связи и региона по номеру мобильного телефона, как сделать?

    shurshur
    @shurshur
    Сисадмин, просто сисадмин...
    В России есть Россвязь, которая распределяет номерную ёмкость по операторам. Эта информация публична, можно скачать машиночитаемые выгрузки у них на сайте: https://rossvyaz.gov.ru/deyatelnost/resurs-numerac...

    Далее, в России есть MNP, позволяющий переносить мобильный номер от оператора к оператору. Но только в пределах региона. Поэтому если задача по номеру определять только регион, то она надёжно решается указанными выше выгрузками. Оператора по ним определять ненадёжно, так как ежедневно много номеров меняют оператора, и любые данные быстро устаревают.

    Оператором базы данных перенесённых номеров (БДПН) является ЦНИИС, на его сайте можно получить текущего оператора только по конкретному номеру: https://zniis.ru/bdpn/check/ а обновляемый доступ ко всей базе простым смертным не получить.

    Чтобы понимать масштаб проблемы, сейчас в России ~14.7 млн. перенесённых номеров, за вчерашние сутки ~9.5 тыс. номеров поменяли оператора и ~1.5 тыс. вернулись из списка перенесённых к своему родному оператору.

    Таким образом, никакого смысла в подобном сайте без обновляемого доступа к БДПН (а она обновляется каждые 2 часа) нет.

    Что касается технической реализации, то тут всё достаточно просто, если у тебя есть доступ к БДПН. ЦНИИС публикует раз в сутки Numbering_Plan, аналогичный выгрузке DEF-9xx.csv Россвязи (формат отличается, но смысл тот же - диапазоны, каждый назначен оператору+региону), также публикует раз в сутки Port_All с полным списком MNP. Если не нужно поддерживать (для простоты) частые (каждые 2 часа) обновления, то этого достаточно. Любой номер сначала проверяем на наличие в Port_All, если не нашёлся - ищем подходящий диапазон в Numbering_Plan.
    Ответ написан
    Комментировать
  • Аренда Ip у провайдера и подключение его к серверу в датацентре?

    shurshur
    @shurshur
    Сисадмин, просто сисадмин...
    BGP оперирует не IP-адресами, а автономными системами, которые должны быть не менее чем /24 (256 адресов). Судя по всему, у вас нет своей AS, а адреса принадлежат провайдерам.

    Я вижу только один способ сохранить прям те же самые адреса: сервер поместить в датацентр, а на старом месте оставить недорогой сервер для проброса нужных портов в целевой сервер в датацентр. Лучше подобное воспринимать как временное решение, всё переносить на новый IP сервера, переводить туда клиентов и всё такое, чтобы в дальнейшем когда-нибудь от лишних провайдеров отказаться.

    Если у оператора есть точка присутствия в датацентре, а текущий договор на юрлицо, то можно попробовать официально договориться с ним о том, чтобы подключиться к нему в датацентре и перености IP, но у оператора моугт быть (и скорее всего будут) свои нюансы устройства сети, которые это не позволят.
    Ответ написан
    Комментировать
  • Как восстановить windows через grub?

    zkrvndm
    @zkrvndm
    Архитектор решений
    Боюсь вы ничего не восстановите без загрузочной флешки.

    https://remontka.pro/vosstanovlenie-zagruzchika-wi...
    Ответ написан
    Комментировать
  • Как сделать SSL сертификат для сервера, который пока-что не использует домен?

    dyuriev
    @dyuriev
    A posteriori
    скопируйте сертификат (файлы которые в соответствующих директивах конфига nginx прописаны) с рабочего сервера перед переносом и пропишите в директивы nginx на новом сервере

    уже после переноса и смены А-записей поставьте нормально certbot с автообновлением сертификата

    не городите велосипед и грабли

    Это будет самый быстрый способ для разового переноса одного сервера.

    UPD: чтобы не было конфликтов, размещайте файлы с рабочего сервера с ключем и сертификатом на новый не в /etc/letsencrypt, а, например, в /etc/nginx/ssl, а то потом certbot офигеет, че ему подсунули
    Ответ написан
    2 комментария
  • Как крякнуть защищенную программу?

    @cicatrix
    было бы большой ошибкой думать
    Это отдельное направление, которое называется Реверс-инжиниринг.
    Те, кто этим занимается, это действительно, своего рода, "элита", так как там не существует готовых методик, шаблонных решений и пр. Каждая новая программа - чёрный ящик, который надо разобрать и посмотреть, как он работает, при этом ты ничего не знаешь о том, что было на уме у его создателя.
    Разумеется, любая защита обходится, но дело это кропотливое, долгое, требующее хороших знаний языка ассемблера для той линейки процессоров, под который программа написана.
    Для C# существует IL-Spy или похожие дисассемблеры, которые действительно позволяют получить некое подобие исходного кода, но, зачастую, даже имея на руках код (очень часто обфуцированный) предстоит ещё очень долгая, нудная и кропотливая работа только для того, чтобы разобраться, что там вообще происходит.
    Кряк "взлом" программы часто сводится к подмене результата проверки условия. Простой if, казалось бы. Однако найти нужное место в машинном коде или в памяти процесса - очень и очень сложно.

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