• Как бороться со стрессом на работе?

    @vitaly_il1
    DevOps Consulting
    Согласен с Иваном и не согласен с любителями запугивать и унижать.
    Советую осмотреться и поискать другое место.
    Дополнительно - если есть в вашем городе - сходить на конференцию, не обязательно по вашей узкой теме. Мне это обычно очень помогает "очистить голову" и увидеть вещи "сверху".
    Ответ написан
    Комментировать
  • Как обновить страницу chrome через консоль?

    проще наверное установить готовый chrome плагин (или самому на писать если из коробки чем то не нравится) из категории autorefresh

    напр
    https://chrome.google.com/webstore/detail/auto-ref...
    Ответ написан
    Комментировать
  • Несет ли разработчик юридическую ответственно за работу созданного им сайта или приложения?

    CityCat4
    @CityCat4
    Внимание! Изменился адрес почты!
    Вопрос достаточно скользкий, стоит привлечь компетентного юриста. С одной стороны, онлайн-казино вроде не везде запрещены, то есть вредоносной программой сайт не является. С другой стороны, если сайт предназначен для размещения в РФ и Вы заранее это знали (то есть знали, что закон будет нарушен, но взялись за работу) - могут притянуть как соучастника.
    Ответ написан
    Комментировать
  • Как платить роялти (комиссию) от юр. лица физ/ лицам при продаже их онлайн-продуктов?

    arutyunov
    @arutyunov
    Mooza.ru — Делаем сайты
    Посмотрите в сторону того, как, например, хостинговые компании платят отчисления в виде реферальных вознаграждений физикам. Обычно это договор, при этом компания платит все взносы сама: соц страхование, пенсионные и удерживает 13% ндфл. Суть та же, платят они судя по всему через бухгалтерию с р/с.
    Ответ написан
    3 комментария
  • Несет ли разработчик юридическую ответственно за работу созданного им сайта или приложения?

    Jump
    @Jump
    Системный администратор со стажем.
    Нет. не несет.
    Однако если разработчик создает некий продукт явно предназначенный для совершения преступления, и знает об этом, то он может быть привлечен как соучастник в некоторых случаях.

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

    За создание сайта он ответственности не несет однозначно.
    А вот если он знал и активно участвовал в нарушении закона РФ путем организации незаконного игорного бизнеса - его привлекут как соучастника организаторов.

    Замечаете разницу? За создание сайта ответственности нет , а вот ежели вы соучастник, то привлекут к ответственности.
    Ответ написан
    Комментировать
  • Несет ли разработчик юридическую ответственно за работу созданного им сайта или приложения?

    @NinjaNickName
    Web разработчик
    Если это не создание, использование и распространение вредоносных программ (ст. 273 УК РФ), то нет. Онлайн казино сами по себе не запрещены, создать продукт на основе которого можно открыть онлайн казино не тоже самое, что и открыть казино, но опять же, если вы знаете, что казино будет работать в России, то фактически в каком-то смысле причастны к незаконной деятельности и вероятно можете стать соучастником. Тут много всяких нюансов, для точного ответа лучше все же консультироваться с юристом.
    Ответ написан
    Комментировать
  • Как нанести сетку на изображение (разбить изображение на части)?

    adugin
    @adugin Куратор тега Python
    Математику в школе прогуливали?
    5da1ca2e32cdb120314882.png

    Ну и чтобы два раза не вставать:
    5da1d13045e49100910322.png
    Ответ написан
    Комментировать
  • Как вывести файлы в каталоге linux, но без лишней информации?

    hempy80
    @hempy80
    Внесистемный администратор
    как уже написали man ls, и от себя добавлю man awk
    ls -la | awk '{print $1,$6,$7,$8,$9}' - не самый корректный вариант, если есть файлы содержащие в названии пробел
    Ответ написан
    Комментировать
  • Наилучший метод для изучения английского?

    @jjsf
    Попробуйте учить слова используя мнемотехнику(быстро и на долго) + интервальное повторение(используя например Anki).
    Новые слова берите из контекста.
    За час можно ~100 слов запомнить, но нужно повторять!!


    В любом случае пробуйте разные методики, найдите то что вам подходит!
    Ответ написан
    2 комментария
  • Для чего можно применить блокчейн в своем проекте, причем стартапе?

    @PapaStifflera
    Родился, вырос...
    Сам термин Blockchain частично характеризует его задачи и назначение. Часть «Block» – это блоки, «chain» – это «цепочка». Получается, что Blockchain – это цепочка блоков. Причем не просто цепочка. В ней выдерживается строгая последовательность.

    Что это за блоки и что за цепочка? Блоки – это данные о транзакциях, сделках и контрактах внутри системы, представленные в криптографической форме. Изначально блокчейн был (и остается до сих пор) основой криптовалюты Bitcoin. Все блоки выстроены в цепочку, то есть связаны между собой. Для записи нового блока, необходимо последовательное считывание информации о старых блоках.

    Все данные в блокчейн накапливаются и формируют постоянно дополняемую базу данных. Из этой базы данных невозможно ничего удалить или провести замену/подмену блока. И она «безгранична» - туда может быть записано бесконечное количество транзакций. Это одна из главных особенностей блокчейна.

    Поэтому мне нужна информация, что дают блокчейны.


    Децентрализация – в цепочке нет центрального/главного сервера. Каждый участник – это и есть сервер. Он поддерживает работу всего блокчейна;

    Прозрачность – информация о транзакциях, контрактах и так далее хранится в открытом доступе. При этом эти данные невозможно изменить;

    Теоретическая неограниченность – теоретически блокчейн можно дополнять записями до бесконечности. Поэтому его часто сравнивают с суперкомпьютером;

    Надежность – для записи новых данных необходим консенсус узлов блокчейна. Это позволяет фильтровать операции и записывать только легитимные транзакции. Осуществить подмену хэша нереально. Эта особенность блокчейн описана на картинке ниже.

    Криптовалюты - один из возможных кейсов использования блокчейна.

    2) высоконагруженность вроде и без блокчейнов реализовалась. в чем их-то профит.

    Большинство реализаций блокчейна весьма медленны. Так что высокие нагрузки это вообще не про блокейн.
    Ответ написан
    3 комментария
  • Почему не работают некоторые скрипты в cordova проекте?

    @Intelix Автор вопроса
    Оказалось, что все дело в строчке <meta http-equiv="Content-Security-Policy" >
    Content-Security-Policy запрещает выполнение "опасных" скриптов
    Ответ написан
    Комментировать
  • Как разрешить доступ в инет только через VPN?

    Zoominger
    @Zoominger
    System Integrator
    Сделайте маршрут по умолчанию только через VPN.
    Что-то типа:
    route add default gw vpn1
    Ответ написан
    2 комментария
  • В чём может быть ошибка?

    samodum
    @samodum
    Какой вопрос - такой и ответ
    Надо установить этот модуль
    pip install requests
    Ответ написан
  • Набросал структуру классов учебного сайта доски объявлений, как еще лучше распределить функционал?

    h0w4rd
    @h0w4rd
    Python dev.
    1. [класс User] я бы использовал названия "name" и "phone", все-же ясно что это.

    2. [класс MyAdverts] ЗАЧЕМ? Можно сразу впихнуть в UserPersonalPage логику.

    3. [класс AdvertFavorites], зачем? Эти методы в Advert впихнуть НАДО, это к тому классу относится.

    4. [класс UserLoginLogoutService] Переименовать в UserAuthService хотяб. Или убрать методы в обычные функции. ООП ради ООП = зло.

    5. [класс UserPersonalPage] Убрать "my" из названия методов. Оно ничего не несет, ведь ясно к чему оно относится.

    6. [класс UserService] За такое я бы руки отбивал. Это все к объекту пользователя относится. Ведь user_service->changeUserName(user, "foo"); в разы хуже user->setName("foo");

    7. Касается всего: зачем, к примеру называть метод "changeUserName" если можно просто "setName" или "setNickname" ну или "setUsername".

    Прошу принять все серьезно и прочитать не между строк. Так вам же проще будет и всем кто ваш код использовать будет. Серьезно, чем проще тем лучше (ну, все-же упрощать не нужно вообще в максимум, в рамках разумного).
    Ответ написан
  • Зачем frontend девелоперу такой большой опыт?

    Бизнесу, чтобы заработать бабло нужны быстрые и удобные интерфейсы. Иногда с вау эффектом. Они нужны везде, во внутренних crm-ках, на сайтах, в личных кабинетах пользователей. Т.к людей, которые могут это сделать мало - приходится повышать ценник.
    На фрилансе можно за 300 в час найти фронтендера, можно за отзыв. Но, как вы сами заметили, зп предлагают намного выше. Стратегия работодателей - получить лучших специалистов во времена дефицита, вот и все.
    При этом сложно найти интерфейс, который не тупит, даже среди топовых цифровых компаний. Не все так просто с фронтом.
    Ответ написан
    Комментировать
  • Как сделать оконный полосовой фильтр?

    longclaps
    @longclaps
    import numpy as np, matplotlib.pyplot as plt
    from scipy.fftpack import rfft, irfft
    
    n = 2 ** 8
    x = np.linspace(0, 2 * np.pi, n)
    y = np.sin(x) + np.cos(x * 30)
    f0 = rfft(y)
    f1 = f0.copy()
    f1[:n // 8] = 0
    z = irfft(f1)
    f, (spectra, signal) = plt.subplots(2, 1, sharey=False)
    spectra.plot(x, f0, label='f0')
    spectra.plot(x, f1, label='f1')
    spectra.legend()
    spectra.title.set_text('spectra')
    signal.plot(x, y, label='y')
    signal.plot(x, z, label='z')
    signal.legend()
    signal.title.set_text('signal')
    plt.legend()
    plt.show()
    Ответ написан
    2 комментария
  • Как определять положение источника шума в многоквартирном доме?

    lukoie
    @lukoie
    Если у вас ТСЖ, то руководитель должен знать где в данный момент ведется ремонт. Та и вообще, датчики шума на каждой лифтовой площадке вполне помогут определить подъезд и +/- этаж.
    БОльшая точность = выше стоимость.
    Ответ написан
    3 комментария
  • Насколько frontend часть django медленнее чем работа с чистым frontend, общаясь с джангой с помощью API?

    werevolff
    @werevolff
    Замерьте скорость рендеринга с помощью Инструментов Разработчика Google Chrome. Это очень относительное утверждение.

    Скорость рендеренинга страницы - не совсем верный термин. Вы замеряете время:

    1. За которое получаете ответ от сервера на ваш запрос
    2. За которое браузер скачивает все файлы для построения страницы
    3. За которое браузер показывает первые полезные данные (не loader)
    4. За которое браузер полностью рендерит страницу

    В случае с Django:

    1. Запрос проходит через Nginx - на wsgi
    2. Wsgi ищет правильную привязку URL
    3. Wsgi запускает все Middleware
    4. Wsgi запускает view
    5. После того, как отработал view, HTML код возвращается через все Middleware
    6. Браузер получает код целой страницы со всеми ссылками на файлы и изображения. Допустим, 20 килобайт страница и ещё около сотни ссылок на ней.

    В случае с Vue.js:

    1. Запрос приходит в nginx
    2. Nginx ищет нужный html файл и отдаёт его.
    3. В браузер приходит небольшой файл с одним js. Там ничего нет по сути, кроме скрипта vue.js и пустого html файла.

    Что это всё значит?

    1. Django всегда запускает свои Middleware чтобы получить HTML код. Плюс, сама вьюха
    2. Django возвращает уже готовый HTML страницы. Это много кода и много ссылок в коде
    3. Современные браузеры загружают файлы по ссылкам в коде параллельно. То есть, загрузка и рендеринг 100 файлов параллельно будут происходить быстрее, чем загрузка и рендеринг одного файла.

    Здесь, правда, стоит поспорить: Загрузка 100 файлов для рендеринга страницы происходит быстрее, чем, скажем, 5 файлов потому, что эти файлы сразу начинают отображаться после загрузки. Часть страницы можно вообще не рендерить и подгрузить позже. В случае с классическим рендерингом страницы средствами браузера, эти 5 файлов будут качаться сразу, и мы будем ждать каждый из этих файлов.

    Разумеется, если брать копирование данных или тот же FTP, загрузка 100 мелких файлов никогда не будет быстрее загрузки одного файла, поскольку каждая загрузка будет создавать запрос к серверу и ждать ответ.

    Итак, в браузер пользователя пришёл HTML код с одной ссылкой на Vue.js. Пришёл быстрее, чем код с Джанги. Теперь Vue.js начинает грузить дополнительные данные с сервера (многопоточно) и рендерить их. Рендеринг происходит на стороне клиента, и именно от скорости клиентской машины зависит окончательное время рендеринга. В любом случае, Vue.js уже получил преимущество: он быстрее скачал данные для отображения первичного контента, он может качать страницу частями параллельно.

    Можно посоветовать:

    1. Сделать оптимизацию своего кода Django. Используй кеширование страниц, где это возможно. Используй быстрый Redis Cache.

    from django.views.decorators.cache import cache_page
    
    pages_urls = [
        re_path(
            r'^account/',
            cache_page(
                60 * 60 * 24 * 30
            )(
                TemplateView.as_view(
                    template_name='base.html'
                )
            ),
            name='account'
        ),
    ]


    2. С этим подходом можно включить gzip сжатие страниц перед кешированием, чтобы снизить их вес.
    3. Уменьши число Middleware

    Правда, твой товарищ может сделать то же самое для Vue.js, и у него будет более значительный прирост в скорости рендеринга страницы.

    Выводы:

    Vue.js не то чтобы быстрее Django. Просто сама архитектура позволяет ему за одинаковое с Django время грузить страницы бОльшего объёма. Vue.js готова показать первый контент на странице раньше чем, Django сделает это. Vue.js грузит части страниц и контент параллельно в несколько потоков. Vue.js при получении статических HTML, JS, CSS файлов не ждёт, пока сервер выполнит python или php код, работая напрямую с nginx. Так что, при равных условиях это будет быстрее, чем получать всю страницу от Django.

    Также, следует помнить, что браузер будет ждать от Django полной загрузки основного HTML контента перед тем, как его отрендерить. За это время Vue.js уже покажет первый контент. После чего, Vue.js спокойно догрузит оставшиеся файлы. Если сжать все js в один файл и все css в один файл, то браузер будет ждать их загрузки. Vue.js может сначала отрендерить страницу, а потом уже догрузить недостающий код.
    Ответ написан
    3 комментария
  • Как соединить бекенд(node.js) с фронтендом(html5)? TCP сокеты?

    xmoonlight
    @xmoonlight
    https://sitecoder.blogspot.com
    WebSocket - самый оптимальный вариант.
    Ответ написан
    Комментировать
  • Как проще всего организовать рассылку на сайте?

    Например можно использовать amazon ses или mailgun, для все этого несколько записей в dns указываешь и все, почта без спама)
    Ответ написан
    Комментировать