• Утилита для подробного мониторинга веб-сервера?

    Ответ написан
    Комментировать
  • Зачем нужны приложения?

    @newpy
    web-dev
    Попробую привести немного по-другому пример: проект - это сайт, а приложения части сайта, тематически и главное логически разделенные. Например на сайте ведется блог, это приложение пусть называется "блог". На сайте есть гостевая книга - это другое приложение (по логике вещей гостевая книга же не относится к блогу, ведь так? Там будут свои урлы, шаблоны, свои модели, вью, методы и тд. для работы именно с гостевой). Есть магазин - это приложение "магазин" которое тоже в общем-то не имеет отношения к блогу. А вот статьи от блога, это скорее модель приложения "блог", чем отдельное приложение. Ведь статьи напрямую относятся к блогу, и никак не к гостевой книге или магазину, там же не пишутся статьи. Получить доступ из одного приложения к другому можно, НО. Не стоит делать приложения связанными.
    Идея в том чтобы ты мог взять свое приложение "блог", и использовать его в любом другом своем проекте Сделать startproject, скопировать туда приложение blog, и должно работать. Условно ничего не переписывая "as is" (как есть). В одном проекте несколько приложений в общем никак не взаимодействуют. Для Блога будет URL ведущий и работающий с блогом, для Магазина так же, и для Гостевой. Главная страница может храниться в приложении Landing например или main. Еще на сайте/проекте может быть реализовано API это совершенно другая логика, поэтому это тоже отдельное приложение. Для понимания задай себе вопрос, например из мной приведенных примеров Products|Продукты это что и к чему из вышеописанного относится? Попробуй привести пример что еще на проекте/сайте можно выделить в приложение отдельное.

    UPD.
    a97cba340f664f4ea0b52974dbb0a6b0.png
    Ответ написан
  • Зачем нужны приложения?

    Проект - это твой сайт, mysite.ru. В котором настраиваются настройки в файле settings.py, урлы в urls.py.
    Приложения - это часть логики сайта, к примеру: articles - где предположим хранится всё что относится к статьям на твоём сайте, шаблонов в папке templates, описания модели в файле models.py, и вывода представления в views.py.
    И количество application в твоём проекте может быть очень много, к примеру корзины магазина, профиля пользователя, новостей, и тд. Что в своё очередь даёт возможность переносить application из проекта в проект.
    Ответ написан
    4 комментария
  • С каких пор появился фронтенд?

    @dmtrrr
    Backend developer
    В 2006 году появился AJAX, это сильно изменило мир фронтенда. Тогда и начался перелом.
    Ответ написан
    4 комментария
  • Угрожает hetzner, что делать?

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

    @RoverWhite
    Очевидно потому что при таком синтаксисе запроса, вот эта часть
    SELECT COUNT(`statistic`.`id`) FROM `statistic` WHERE `statistic`.`pid` = `products`.`id`
    будет выполняться 10000 раз
    Вот так должно быть быстрее
    UPDATE `products` p
    INNER JOIN (SELECT COUNT(*) as cnt, `statistic`.`pid` FROM `statistic` GROUP BY `statistic`.`pid`) as sta ON p.`id` = sta.`pid`
    SET p.`statistic` = sta.`cnt`
    Ответ написан
    3 комментария
  • Верстка у нас и в США (одеск) есть ли ключевые отличия?

    @polifill
    1. Одеск уже не существует. Вы видимо имели ввиду UpWork
    2. Что за глупое поклонение перед Западом? Ну да, они это придумали. Но у вас интернет-технологии ничуть не хуже развиты. Скажем доступ конечных пользователей к интернету в РФ даже получше, чем в США. То же самое можно сказать и про требования к верстке - и у нас и у них есть от раздолбайского до крайне требовательного. Страна ничего не решает.
    Ответ написан
    4 комментария
  • Почему запросы в цикле это плохо?

    PavelK
    @PavelK
    Потому, что лишняя нагрузка на сеть при передаче/приёме(в общем обмен с сервером) и лишняя нагрузка при обработке запросов.
    Но так же многое зависит и от самих запросов.
    Например выборка нескольких значений по айдишнику 1,6,18 будет быстрее через один запрос с использованием id in (1,6,18), нежели чем цикл с id=1, id=6
    Ответ написан
    4 комментария
  • Зачем в сниффере gif картинка?

    dimonchik2013
    @dimonchik2013
    non progredi est regredi
    необязательно
    Ответ написан
    Комментировать
  • Верстка у нас и в США (одеск) есть ли ключевые отличия?

    opium
    @opium
    Просто люблю качественно работать
    Никаких отличий
    Ответ написан
    Комментировать
  • Можно ли узнать, была ли изменена запись и поставить отметку об этом?

    xmoonlight
    @xmoonlight
    https://sitecoder.blogspot.com
    Ставим на колонку: ON UPDATE CURRENT_TIMESTAMP
    подробно тут
    Ответ написан
    2 комментария
  • Возможна ли обработка обращений к неопределенным методам класса в Python?

    https://docs.python.org/3/reference/datamodel.html...
    >>> class Foo:
        def __getattr__(self, item):
            return lambda: item
    >>> foo = Foo()
    >>> foo.a
    Out[8]: <function __main__.Foo.__getattr__.<locals>.<lambda>>
    >>> foo.a()
    Out[9]: 'a'
    Ответ написан
    Комментировать
  • Возможна ли обработка обращений к неопределенным методам класса в Python?

    Avernial
    @Avernial
    Разрабатываю научное ПО на языке Python.
    Для этого есть магический метод __getattr__, он вызывается тогда, когда нет атрибута в классе.

    Вот простой пример:
    class Foo(object):
    
        def __init__(self, value):
            self.value = value
    
        def __getattr__(self, name):
            return lambda: print("'{0}' doesn't exists!".format(name))
    
    
    foo = Foo(10)
    print(foo.value)
    foo.some_function()
    Ответ написан
    2 комментария
  • Что делать, если воруют контент?

    @remzalp
    Программер чего попало на чем попало
    А может попробовать заставить работать закон о защите авторских прав на пользу населения, а не для всяких там?

    Создали документ, распечатали его, отправили сами себе заказным письмом, НЕ ВСКРЫВАЕМ.
    После того, как есть документально зафиксированная дата создания письма (в момент отправки) и письмо лежит у Вас, размещаем на сайт. Мониторим, как только конкуренты разместили, идём к нотариусу, фиксируем нотариально тот факт, что в День НН на сайте ХХХУУУЗЗЗ была размещена статья.

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

    Да, я наивный оптимист, но как минимум есть закон о СМИ (тырить можно, но с указанием источника), ГК (защищает литературное произведение)...
    Ответ написан
    11 комментариев
  • Где в Москве находятся коворкинги по металлу?

    Jump
    @Jump
    Системный администратор со стажем.
    Коворкинг -маловероятно.
    Проскакивали статьи что кто-то где-то делал, что-то вроде кружка, с оборудованием и прочими плюшками, но в реале не встречал.
    В основном - никто не даст человеку с улицы работать на своем станке. Это и с точки зрения ТБ проблематично. И недешевое оборудование стороннему человеку доверять - поломает, и никакой ответственности.
    А по поводу сделать по чертежам - на том же авито, и прочих аукционах куча народу предлагает услуги. Смотрите объявления и рекламу.
    Ответ написан
    2 комментария
  • Чем отличаются MASM'ы?

    Rou1997
    @Rou1997
    6.1 - это версия одного из них.
    А 32 от 64 отличаются архитектурой - командами, размером чисел (например адресов в памяти), и, как следствие, один компилирует 32-битные приложения, другой 64-битные.
    Ответ написан
    2 комментария
  • Как узнать чьи NS сервера?

    AlekseyNemiro
    @AlekseyNemiro
    full-stack developer
    Домен принадлежит частному лицу.

    Регистратор REGTIME-RU, связаться с владельцем DNS-сервера можно тут.

    IP-адреса принадлежат JSC "Informtehtrans".

    Бороться с этим путем переписки не имеет смысла. Без решения суда никто не будет ничего делать, особенно если дороги приведут к западным компаниям.

    Попробуйте написать в Яндекс и Google, возможно они отреагируют и исключат краденные сайты из поиска.
    Ответ написан
    4 комментария
  • Как изолировать сайты на VPS?

    orlov0562
    @orlov0562
    I'm cool!
    Запускай веб-сервер от разных юзеров (например, для апач с помощью модуля mpm_itk) и настрой open_base_dir исключительно на директории сайтов.
    Ответ написан
    1 комментарий
  • Почему nginx выдаёт мусор от memcached?

    Driver86
    @Driver86 Автор вопроса
    Немодератор toster.ru
    Короче, с горем пополам проблему решил.

    Проблема оказалась, как я и думал, в неправильном сжатии: php-memcached сжимает данные как deflate, а nginx признает только gzip и, кстати, тут последний прав - gzip, в отличие от deflate, грубо говоря, "более однозначный" и работает даже с самыми глючными браузерами.
    Писал разрабам php-memcached с предложением добавить сжатие gzip, но те, судя по всему, консерваторы и ничего менять не хотят (как чувствовал подвох, когда смотрел на дату последней версии). Самое забавное, что добавить поддержку gzip там проще простого - работы на 20 минут максимум, исходники простые даже для меня, далёкого от C. Сначала думал самому предложить им изменения, но да ну их... Расширение снёс. Сделал через сокеты, как оказалось работать с memcached напрямую не так уж и сложно.

    $key = 'key';
    $flags = 1;
    $expire = 0;
    $value = gzencode('value', 6, FORCE_GZIP);
    $length = strlen($value);
    if (!fwrite($memcached, "set {$key} {$flags} {$expire} {$length}\r\n{$value}\r\n")) {
            throw new Exception('Memcached write error.');
    }

    $flags - битовые флаги. Устанавливаю эту переменную равным 1, если $value сжато, иначе 0.
    В конфиге nginx соответственно memcached_gzip_flag устанавливаем в 1.
    Итого работает это так: сжатие $value экономит место в оперативке. nginx если видит флаг 1, то отдаёт в заголовке ответ "Content-Encoding: gzip", повторно не сжимая, таким образом ещё и процессорное время экономим. Если браузер не поддерживает gzip, то nginx декодирует $value и отдаст без сжатия.
    Ответ написан
    Комментировать
  • Что будет если SWAP файл переполнится?

    @MechanID
    Админ хостинг провайдера
    Как очищать - ненадо его очищать, ОС сама его менеджит - когда в ОЗУ достаточно долго лежат данные которые не используются ОС их выгружает в свап за давностью времени или чтобы отдать память текущим активным процессам. Вы можете влиять на поведение ОС используя параметры swappiness и другие
    Если файл подкачки закончится то ОС туда не будет ничего писать
    а если все ОЗУ + файл подкачки заняты то тут два варианта:
    1 система зависнет пытась активно читать писать данные в своп
    2 включится OOM killer и начнет убивать процессы активно использующие ОЗУ и появится свободная память
    Ответ написан
    6 комментариев