• Как попасть в IT школьнику?

    xez
    @xez
    TL Junior Roo
    1. До 18ти лет, скорее всего, никуда не возьмут.
    2. В вашем возрасте обучение максимально быстрое и эффективное.

    Отсюда план:
    1. Учитесь, читайте книги, набивайте руку на пет-проектах. Читать и учиться придется на протяжении всей карьеры (спойлер, т.к. пенсии у вас не будет - всей жизни).
    2. Заканчивайте 11й класс.
    3. Постарайтесь поступить в ВУЗ (опционально).
    4. После первой сессии начинайте искать работу. К этому времени у вас должно скопиться небольшое портфолио проектов и опыт достаточный для трудоустройства на младшие позиции.
    5. Спокойно доучивайтесь в ВУЗ-е (опционально), паралельно работая.
    Ответ написан
    7 комментариев
  • Как исправит эту ошибку кода на питоне?

    @Zzzz9
    Вопрос имеет не один ответ, например так ошибки нет:
    from math import factorial
    # def f(n):
    #     if n>=5000:
    #         return factorial (n)
    #     else:
    #         return 2*f(n+1)/(n+1)
    
    print(factorial(7))
    
    5040
    Ответ написан
    Комментировать
  • Есть ли в Python библиотека для "бугалтерских" расчетов?

    @kisaa
    >>> import decimal
    # By default rounding setting in python is decimal.ROUND_HALF_EVEN
    >>> decimal.getcontext().rounding = decimal.ROUND_DOWN
    >>> c = decimal.Decimal(34.1499123)
    # By default it should return 34.15 due to '99' after '34.14'
    >>> round(c,2)
    Decimal('34.14')
    >>> float(round(c,2))
    34.14
    >>> print(round(c,2))
    34.14

    https://stackoverflow.com/questions/8595973/trunca...
    Ответ написан
    Комментировать
  • Дублирующиеся столбцы - это плохо?

    rozhnev
    @rozhnev
    Fullstack programmer, DBA, медленно, дорого
    Дупликация данных в двух таблицах - это плохо.
    Столбец дата активации в таблице клиентов - это нормальное решение, пока клиент не активирован в ячейке - NULL
    Ответ написан
    2 комментария
  • Существуют ли инструменты для хранения иерархических связанных между собой показателей?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Семантические графовые базы данных скорее всего подходят под данную задачу. Типа RDF/Semantic Web.
    В качестве языка запросов там могут быть использованы SparQL. В качестве платформы хранения.... а чорт
    его знает. Там много форматов. И XML и JSON и есть бинарники и JDBC адаптеры.

    Это вообще серебрянная пуля которая везде подходит. Даже реляционки можно также представить. Со своими
    накладыми но можно.

    Но есть несколько мыслей почему их применение может быть неудобным. Первая. Например - знания о том
    как все внутри устроено - будут только у 1 человека. У создателя этой базы. И никто кроме автора
    в этой базе ничего не найдет.

    Вторая. В эпоху умных чятов такие базы знаний умерли очень быстро. Вернее сказать их полезность
    сильно девальвировала. В 20м веке в такие базы много вкладывали. Делали ставку на то что системы
    со строгими правилами позволят выводить новые правила и факты. Но не сбылось.

    Возможно я ошибаюсь и автору нужно на самом деле другое? Что другое? Ну просто какой-то язык
    разметки типа markdown language или вообще confluence где можно макросами расширить функционал
    и просто делать ссылки на формулы. И может быть это автору будет достаточно.

    Вобщем для более глубокого понимания хотелось-бы чтоб автор просто привел парочки примеров. Может
    там реально все проще.
    Ответ написан
    2 комментария
  • В чём отличие библиотеки от модуля в python?

    RimMirK
    @RimMirK
    Вроде человек. Вроде учусь. Вроде пайтону
    библиотека
    library
     +  __init__.py
     +  module_1.py
     \  module_2.py

    модуль
    module.py
    Ответ написан
  • Как правильно поставлять готовые приложения на Python?

    vabka
    @vabka
    Токсичный шарпист
    А в случае Python есть виртуальные окружения (venv) и pip.
    Инициализируешь venv.
    А потом просто перечисляешь все пакеты и их версии в файле requirements.txt и запускаешь pip install -r requirements

    А вот как передавать заказчикам - зависит от того, что это за софт.
    Где-то может оказаться удобнее использовать zipapp, а где-то может будет лучше запаковать Docker/OCI-образ.
    Ответ написан
    Комментировать
  • Как организовать хранение файлов на сервере?

    @deliro
    S3 или S3-compatible хранилища. В целом он простой, но для джанги есть либа, которая делает вообще бесшовным работу с s3
    Ответ написан
    Комментировать
  • Почему Nginx из докер композа не видит соседний контейнер?

    @Tabletko
    никого не трогаю, починяю примус
    Изнутри контейнера nginx-а не могу получить доступ на этот соседний контейнер

    Вы пишите про соседний контейнер, а в конфиге nginx обращается сам на себя
    Ответ написан
    Комментировать
  • Почему Nginx из докер композа не видит соседний контейнер?

    @dronmaxman
    VoIP Administrator
    docker run --restart unless-stopped -p 5001:5050 -d --name api --network nginx-proxy-man projsharp-api:2023_04_02__19_52_17


    Зачем ты порт вытаскиваешь, если все равно подключаешь его в одну сеть nginx-proxy-man, -p можно убрать.

    Поправить nginx конфиг
    
     location /api/ {
                    proxy_pass              http://api:5050/api/;
        }
    Ответ написан
    Комментировать
  • Почему Nginx из докер композа не видит соседний контейнер?

    karabanov
    @karabanov Куратор тега Docker
    Системный администратор
    Замени 127.0.0.1 на имя сервиса - у каждого контейнера свой уникальный loopback интерфейс никак не связанный ни с системным ни с соседским.
    Ответ написан
    Комментировать
  • Python ошибка TypeError: list indices must be integers or slices, not str, не получается разобраться?

    sergey-gornostaev
    @sergey-gornostaev Куратор тега Python
    Седой и строгий
    Скорее всего проблема в том, что вы переменную ozon_packaging перезаписываете на первой итерации данными имеющими другую структуру.
    Ответ написан
    1 комментарий
  • Нужен ли антивирус на linux server?

    Sanes
    @Sanes
    Ниразу не пригодился. Иногда для веб-приложений ставят. Когда у вас неконтролируемые CMS или самопальные скрипты. Например если у вас публичный хостинг, то ставить надо.
    Ответ написан
    5 комментариев
  • Нужен ли антивирус на linux server?

    @dronmaxman
    VoIP Administrator
    Тоже самое, ни разу не пригодился. Было пару пробитых серверов, ради интереса гонял на них разные антивирусы и скрипты, пытался найти трояна или зараженный файл - все глухо.

    Для себя сделал вывод, что это бестолковщина для linux сервера.

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

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

    Универсальной статьи нет, так как настройка зависит от ПО которое крутиться на сервере.
    Есть общие рекомендации:
    - настроить firewall, открывать только нужные порты
    - для SSH использовать ключи, изменить порт (например 2324), ограничить доступ с определенных IP
    - запретить вход от root на сервер по паролю
    - не использовать имена учетных записей которые попадают в перебор (типа admin, super, cisco и т.д.)
    - запускать сервисы от непривилегированных учетных записей
    - настроить бекапы
    - настроить контроль версий etckeeper
    - настроить fail2ban

    Следующий уровень паранои, это уже решения по типу Suricata IDS-IPS
    Ответ написан
    Комментировать
  • Как определить максимальное число не используя функцию max?

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

    Ну и на сладкое - вы получаете из input строку. Просто перебирайте её циклом и каждый следующий элемент превращайте в int. Это вместо шаманства с делением на 10 и остатков.
    Ответ написан
    9 комментариев
  • Как заставить def работать?

    Vindicar
    @Vindicar
    RTFM!
    Поучи язык. Просто поучи, без ботов.
    def объявляет функцию, но не вызывает её.
    Ты её объявляешь внутри record_volume(), но ничего с ней не делаешь.
    Ответ написан
    Комментировать
  • Как защитить админку?

    @12rbah
    Советую в гугл вбить node js authorization, и там будут примеры того как можно реализиовать авторизацию/аутентификацию
    Ответ написан
    Комментировать
  • Почему после очистки добавленного листа исчезают значения из другого листа?

    fenrir1121
    @fenrir1121
    Начни с документации
    c.add(b)
    b.clear()

    Ознакомьтесь с тем, что из себя представляет список в питоне. Если упрощать это динамический массив ссылок. В вашем случае все элементы списка c фактически ведут в один и тот же очищенный b.
    Кстати у списка нет метода .add, поэтому такой код вообще не запустится.

    Визуализация как связаны объекты в вашем коде63fc85239dd32123307508.png
    Ответ написан
    2 комментария
  • Зачем именно нужны связи в бд?

    @deliro
    Когда к тебе придёт менеджер и скажет: "эй, hrnsywtfczlh, а почему у нас тут вот заказов отгруженных на 15 миллионов, а получателей даже не в базе?", тогда-то ты и поймёшь, зачем нужны связи в БД. Но сперва поседеешь.
    Ответ написан
    7 комментариев