• Как ведут себя данные при удалении?

    mayton2019
    @mayton2019
    Bigdata Engineer
    В реляционных БД не существует гарантий относительно порядка записей внутри таблицы. Этот порядок
    - это особенности технической реализации хранения данных внутри блоков и сегментов. Это - "know how"
    и это будет зависеть от типа DBMS (Postgres, MySQL, Oracle) и от типа таблицы (heap, index-organized, clustered e.t.c)

    Если говорить грубо, то записи (data-rows) лежат не плотно а вразнобой с пробелами с выравниванием
    к блокам. Ну тоесть вообще-вообще не так как в Excel. Удаление data-rows в Postgres насколько я помню
    физически не удаляет запись а помечает ее мертвой используя служебные поля. Впоследствии VACUUM
    делает работы по уплотнению.

    Поэтому порядок ты сам обеспечиваешь, делая запрос с опцией ORDER BY some_date_time.
    Ответ написан
    1 комментарий
  • Почему Python не видит файлы в Linux как в Windows?

    Vindicar
    @Vindicar
    RTFM!
    Если файл лежит в папке со скриптом - надо открывать его, используя путь к пкапке со скриптом, а не надеяться на то, что текущий каталог совпадёт. Под виндой тоже всё зависит от способа запуска скрипта.
    Так что читай про sys.argv[0] и модуль pathlib. Пригодится.
    Ответ написан
    2 комментария
  • Как обрабатывать свои события?

    Vindicar
    @Vindicar
    RTFM!
    aioschedule. Ну или тупо вечный цикл с asyncio.sleep(2*60*60) внутри, запущенный в отдельной корутине через create_task().
    Ответ написан
    Комментировать
  • Как принимать платежи из Европы при текущих санкциях?

    @starxchanger
    Lava - у них вроде есть казахский офис и собственно через него идут платежи из-за рубежа. По крайней мере многие платежи идут через него

    Можно и Енота, да и схожие кассы могут сделать вам кабинет. Правда комисии там довольно большие, вплоть до 15%.
    Ответ написан
    5 комментариев
  • Как сохранить заказы при обновлении сайта wc orders?

    @Refguser
    Делаю ИМ и другие решения
    можно ли скопировать таблицу wc_orders из базы данных на компьютер, а потом именно ее как-то заменить?

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


    Для переноса заказов есть плагины ими и нужно пользоваться,

    Им это надо для отчетности или статистики, короче "надо".
    А при переносе будет состояние заказов как 2 недели назад.

    Скажу больше - если не перенести заказы их потеряют и покупатели.
    Ответ написан
    2 комментария
  • Почему у черной дыры есть электрический заряд?

    Vindicar
    @Vindicar
    RTFM!
    Причина раз: правило сохранения заряда. Электрический заряд нельзя создать и уничтожить, только перераспределить в пространстве.
    Причина два: с точки зрения внешнего наблюдателя тело будет падать в чёрную дыру за бесконечное время. Его влияние на окружающую вселенную - например, испущенный свет - будет бесконечно ослабевать, но никогда не станет нулевым. При этом с точки зрения падающего тела, падение займёт очень даже конечное (и не слишком большое) время. Относительность - она такая.
    Ответ написан
  • Как пробросить порты с wsl в windows 10?

    @kavabangaungava
    Всякое бывало.
    Вообще на локальную систему из wsl порты пробросить можно, делается это так, пример с 80 портом:

    netsh interface portproxy add v4tov4 listenaddress=192.168.13.17 \
    listenport=8080 connectaddress=172.23.53.217 connectport=80


    Важно, чтобы пробрасываемые порты на самой системе не были заняты.
    Ответ написан
    1 комментарий
  • Как правильно выбрать железо для домашнего сервера?

    VoidVolker
    @VoidVolker
    Dark side eye. А у нас печеньки! А у вас?
    Mini ITX со встроенным 4-х ядерным процессором, слотом M2 и полноформатными или ноутбучными слотами памяти - смотря какая завалялась пара плашек памяти в наличии. Маленький, но качественный БП (например FSP) и любой корпус. Ну и любой ССД под систему - М2 или сата тоже пойдет. Диски под хранилище чего-либо - тут уже по желанию и возможностям.
    Например: https://www.onlinetrade.ru/catalogue/materinskie_p...

    UPD: только что вышел обзор мини-пк от 3Dnews: https://3dnews.ru/1100970/kompyuter-mesyatsa-pokup...
    Ответ написан
    4 комментария
  • Почему не стоит использовать f строки в SQL Python запросах?

    ma4akk
    @ma4akk
    Использование f строки в SQL запросах может быть небезопасно, потому что оно позволяет вставлять значения переменных непосредственно в SQL запрос. Это может привести к SQL injection - атаке, когда злоумышленник вводит в запрос подозрительные данные, чтобы получить доступ к базе данных или внести в нее изменения.

    Чтобы избежать этой проблемы, рекомендуется использовать параметризированные запросы. Это значит, что значения переменных не вставляются непосредственно в запрос, а передаются отдельно как параметры. В SQLite это можно сделать с помощью вопросительного знака (?) вместо значения переменной:

    connect = sqlite3.connect('INFO.db')
    cursor = connect.cursor()
    
    GLAV_USER = message.from_user.id
    cursor.execute("SELECT ID FROM table WHERE MEMBER = ?", (GLAV_USER,))


    Такой подход более безопасен и предотвращает возможность SQL инъекцй.
    Ответ написан
    2 комментария
  • Python в запущенный в контейнере работает медленнее натива?

    karabanov
    @karabanov Куратор тега Docker
    Системный администратор
    Разница в бинарях - Python на хостовой машине собран без отладочной информации, а тот, который в образе python:3.10.4 собран с нею.

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

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

    PS
    Никогда не используй образы Alpine - там вместо glibc суррогат под названием musl. В прочем для статически слинкованных бинарей на Go использовать можно, но тогда уж выгоднее использовать scratch
    Ответ написан
    5 комментариев
  • Основная работа и другие проекты. Как к этом относится ваше начальство?

    @Everything_is_bad
    Если ты это делаешь не в рабочее время, то "начальнику" должно быть пофиг, точнее, каким он должен быть тут боком.
    Ответ написан
    7 комментариев
  • Как получить пароль к RAR архиву?

    ky0
    @ky0
    Миллиардер, филантроп, патологический лгун
    hashcat в зубы, и вперёд.
    Ответ написан
    1 комментарий
  • Как реогранизовать процесс разработки в IT-продукте?

    saboteur_kiev
    @saboteur_kiev Куратор тега Веб-разработка
    software engineer
    Первый вариант - если есть прибыль, нанять людей, чтобы написать все с нуля, но уже масштабирование сразу предусмотреть в архитектуре. Зависит от сложности проекта, конечно.

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

    Разделить разработку и поддержку.

    Разработка - на тестовом енвайрнменте с тестовыми данными
    Поддержка - ограниченным кругом доверенных специалистов.
    Ответ написан
    Комментировать
  • Как реогранизовать процесс разработки в IT-продукте?

    1. Git. Без него сейчас ну просто никак.
    2. Gitlab CI или GitHub actions для деплоя.
    3. Пишете скрипт, который при запуске на локалке создаёт новую базу и заполняет её фейковыми данными для тестов. Так новые разработчики не будут иметь доступ к данным.
    3. Новые разработчики будут иметь доступ к коду, смогут создавать свои ветки в Git, пушить эти свои ветки в ваш удаленный репозиторий Git и даже создавать merge request на слияние их ветки с основной веткой разработки. А вы уже сможете сделать ревью их кода и подтвердить слияние, либо отказать. Все права отлично настраиваются как в Gitlab, так и в GitHub.
    4. Если же вы вообще не хотите показывать даже код сторонним разработчикам, то тут без модулей либо даже микросервисов не обойдешься. Я бы начал пробовать с модулей.

    P. S. Если в голову придёт мысль переписать проект полностью, то десять тысяч раз подумайте перед этим. В моей практике нет ни одного успешного переписывания сложного проекта... Всегда нужны новые срочные фичи, и придется параллельно внедрять эти фичи в старую кодовую базу, одновременно с этим пытаться их внедрить в сырую переписываемую кодовую базу. Это может закончиться ещё более запутанным проектом, чем был оригинал.
    Ответ написан
    Комментировать
  • В какой последовательности изучать fullstack разработку?

    metallix
    @metallix
    Backend - developer
    Ответ написан
    Комментировать
  • Как узнать конкретный компьютер с которого подключились по rdp протоколу?

    @NortheR73
    системный инженер
    В системном журнале безопасности (Security Log) смотрим события 4624 (успешная аутентификация - An account was successfully logged on) или 4625 (ошибка аутентификации - An account failed to log on) с LogonType=10.
    В описании события имя пользователя - в поле Account Name, имя компьютера - в Workstation Name, IP-адрес - в Source Network Address
    Ответ написан
    Комментировать
  • Можно ли через веб-сайт вызвать интерактивное окно apple wallet/google pay?

    chiliec
    @chiliec
    iOS-разработчик
    Для Эппл нужно сгенерировать для клиента файл .pkpass
    Есть прекрасная библиотека для генерации https://github.com/tinovyatkin/pass-js

    У Гугла свой формат https://developers.google.com/wallet
    Онлайн-генератор: https://developers.google.com/wallet/tickets/event...
    Ответ написан
    Комментировать
  • Утечка DNS или как соц. сети узнают мое местоположение?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Существуют базы (IPLocation) которые связывают IP адрес и локацию (Обычно Страна-Регион).
    Точность связности при этом очень грубая. Вряд-ли можно узнать что-то подробное.

    Как узнают соц-сети - это загадка. В простейшем случае они извлекают coockies из твоих
    сеансов браузера в ПК и телефоне а там может лежать информация о другой локации.

    А само приложение Инстаграм и Тик-ток не знаю... Проходило ли хоть раз проверку на безопасность.
    Какую информацию приложение знает о профиле телефона? Что оно передает по своему протоколу?
    Да что угодно. Вот я-бы и передавал что угодно если-бы был заинтересованным в сборе сведений.

    Бесплатные VPN/Proxy и прочие анонимайзеры здесь не помошники а скорее инсайдеры.
    Забезплатно они скорее вас сольют быстрее чем окажут помошь. Поэтому им ни на копейку
    доверять нельзя.
    Ответ написан
    Комментировать
  • Как оптимизировать алгоритм самонаведения ракеты?

    wataru
    @wataru Куратор тега Математика
    Разработчик на С++, экс-олимпиадник.
    Тут квадратное уравнение зарыто.

    Обозначьте |MSL_VEL - TGT_VEL| за t.

    Получите уравнение TGT_DIR = (MSL_VEL-TGT_VEL)/t

    Преобразуйте: TGT_DIR*t = (MSL_VEL-TGT_VEL)

    Но тут неизвестные вектор MSL_VEL и t. Но они связаны, ведь t - это длина вектора. Обозначим неизвестный вектор MSL_VEL как (x, y, z) Значит:
    t^2=(x - TGT_VEL_x)^2 + (y - TGT_VEL_y)^2 + (z - TGT_VEL_z)^2

    Ну и еще вы знаете, что скорость ракеты фиксированная же:
    x^2+y^2+z^2 = MSL_SPEED^2

    У вас тут 4 неизвестных и аж 5 уравнений (ведь первое - это векторное уравнение):
    TGT_DIR_x*t = x - TGT_VEL_x
    TGT_DIR_y*t = y - TGT_VEL_y
    TGT_DIR_z*t = z - TGT_VEL_z
    t^2=(x - TGT_VEL_x)^2 + (y - TGT_VEL_y)^2 + (z - TGT_VEL_z)^2
    x^2+y^2+z^2 = MSL_SPEED^2


    Раскройте скобки в 4-ом, подставьте туда пятое и из первых трех выразите x, y, z:

    t^2 = MSL_SPEED^2+TGT_SPEED^2-2*TGT_VEL_x*(TGT_DIR_x -t*TGT_VEL_x)-... = MSL_SPEED^2+(1-2t)TGT_SPEED^2-2(TGT_DIR*TGT_VEL)


    Там в конце векторное произведение векторов. Дальше сами раскройте и получите квадратное уравнение на t. Решите его по школьной формуле. Если дискриминант отрицательный, то решения тупо нет. Слишком быстро цель улепетывает. Потом не забудьте проверить, чтобы t получилось положительное. Потом подставьте t в первые 3 уравнения и найдите искомые x, y, z.

    Еще можно так себе это все представить. Свяжем систему координат с целью. Тогда множество точек, куда может смотреть скорость ракеты - это сфера с центром в TGT_VEL и радиусом MSL_SPEED. Вам надо выбрать на этой сфере точку так, чтобы она была коллинеарна с вектором TGT_DIR. Т.е. у вас есть луч из центра координат вдоль векторо TGT_DIR. Вам надо найти где он пересечет сферу. Введите параметр t вдоль луча и дальше получите то же самое квадратное уравнение.
    Ответ написан
    2 комментария
  • Какие алгоритмы нужны для собеседования на python backend junior-разработчика?

    otdameskapizm
    @otdameskapizm
    Помог ответ? Отметь решением...
    У Яндекса есть специальный бесплатный курс, который помогает готовиться к алгоритмической секции: https://practicum.yandex.ru/algorithms-interview/
    Ответ написан
    Комментировать