• Стоит ли обновлять старый мак до последней версии?

    DevMan
    @DevMan
    сделайте образ диска и сохраните на отдельный диск.
    накатите свежак и тестируйте.
    понравилось? отлично!
    не понравилось? раскатали образ назад.
    Ответ написан
  • Как работает веб-сервер и node js в связке? Зачем нужен Nginx?

    alexey-m-ukolov
    @alexey-m-ukolov Куратор тега Веб-разработка
    Самое простое - nginx отдаёт статику. На больших объёмах делать это через Ноду неэффективно.
    Посложнее - nginx позволяет управлять ходом запроса. Например, редиректить на https.
    Ещё сложнее - можно настроить nginx, чтобы он умно балансировал запросы между несколькими бэкендами и автоматом блокировал слишком частые попытки подключения.

    Nginx очень хорошо в промышленных масштабах делает определённую часть работы, связанной с http-запросом, поэтому ему эту часть работы и делегируют.
    Ответ написан
    Комментировать
  • Насколько стабильна RouterOS 7.1 beta6?

    @Tabletko
    никого не трогаю, починяю примус
    Это бета, используйте на свой страх и риск. Стабильность никто не гарантирует и даже не обещает.
    Ответ написан
    1 комментарий
  • Какую панель управления хостингом на VPS выбрать в 2021?

    Я перепробовал множество панелей, и имел разный опыт эксплуатации и впечатлений оставленных после использования.

    Cyberpanel - веб-дизайн панели очень плох, но с точки зрения принципов построения панели для сервера который хостит разные сайты - этой панели нет равных среди всех опробованных мною панелей описанных выше. И open_basedir, и разграничение каждого сайта под отдельным пользователем, и приятная структура хранения сайтов аля: /home/пользователь/public_html,log,backup
    И приятные бекапы, и возможность подкрутить всякие штуки по типу Lets Encrypt без проблем, либо ограничение доступа, либо WAF из коробки, либо файловый менеджер, и так далее.

    Но за несколько лет меня эта панель достала. Во-первых, она крайне забагована. Её неоднократно ломали, и ломали мои хобби проекты (статичные сайты). Во вторых - у них через версию баги с обновлениями, которые полностью ломают всю панель и возможность входа внутрь. Причем ломается напрочь без возможности починить, только чистая переустановка. Неоднократно сообщал об этом - никакой помощи нет. В третьих - это баги OpenLiteSpeed, либо баги конфигурации веб-сервера. Когда за 1 месяц собирается сессий на 19 гигов в папке lsphp - это вообще не ок, что аж сервер крашит и inodes все заняты. И это один из багов. Были баги с их кешированием которое включено по умолчанию, и приходилось принудительно в каждом .htaccess отключать для доменов. И баги с бекапами были. Т.е. по принципу созданию в абстрактном понимании - панель топ, классная, молодцы, очень хорошо сделано в плане архитектуры. Но вот баги дурацкие, просто выбешивают.
    Нравилось с ols что все работало относительно хорошо с любым проектом, любыми реврайтами, кешированиями, разными версиями php, и занимало существенно меньше ресурсов чем апач, либо апач и nginx. Но увы - порекомендовать именно эту панель не могу. Я не знаю что должно произойти что бы её допили до нормального состояния.

    VestaCP - долго пользовался этим огрызком. Просто дичайшее отвращение к их темплейтам и конфигам веб-серверов. Какой идиот это писал? И под какие нужды? Огромное количество раз ломали эту панель как в общем, так и лично мне. Но визуально и в плане юзабилити одна из самых беспроблемных и простых и удобных панелей на рынке. В 2021 она мертва. Последние какие-то подвижки и обновления и работа над панелью завершились в году так 2017-2018. Всё остальное делают когда есть свободное время.

    HestiaCP - кусок г. базирующийся на VestaCP, после того как последние забили на разработку.
    Автор этой панели не вытягивает количество проблем и багов в этой панеле и сообщество. Не компетентен, плохо тестирует. Но с точки зрения безопасности в плане админки - он хорошо поработал. Всё остальное - очень плохо. Может даже инсталятор не установить с первого раза панель. Не полноценно поддерживаются разные конфиги установки без апача например на nginx+php-fpm. Крайне убогие наследуемые шаблоны от весты со всеми косяками и проблемами.
    Регулярные баги и проблемы с LetsEncrypt. Жрёт очень много озу. Но визуально хорошо сделано в плане внешнего вида. Под капотом - бред и анархия, но есть куда хуже панельки.
    Этой панели так же как и cyberpanel не хватает крепкого сообщества и волонтеров по допилу панели до нужной кондиции. Увы - очень сырая. Но критических багов как в CyberPanel среди веб-компонентов не было выявлено. Регулярно нужно что-то допиливать в панели.

    FastPanel - лично для меня это какое-то недоразумение. Снова принципы и архитектура вроде хорошая, но все как-то сыро, и иннертно.

    DirectAdmin - скорее мертв, чем жив. Хоть и используется массово на хостерах, но с безопасностью у этой панели швах полный. Если речь идет о шаред хостинге, то взлом одного сайта почти с 100% вероятностью повлечет за собой взлом всех сайтов, так как никаких ограничений в рамках одного аккаунта в плане ACL (разного рода) у панели нет. Из коробки куча абсурда и дегенеративных решений аля блок mysql порта, либо блок других портов через csf. Либо лимиты на размеров файлов. Ранее года 2-3 назад панель была полным днищем. Но после изменений ценовой политики cPanel - нарастили базу, и приняли пулреквесты и предложения, что бы как-то перехватить поток пользователей которые начали мигрировать на другие панели. Я не могу сказать что DirectAdmin в моем личном опыте эксплуатации была хорошей панелью. Мне не понравился опыт взаимодействия, и озвученные выше проблемы особенно с php. В 2021 году интерфейс панели и фичи панели наконец-то удобно расположили, и улучшили для удобства пользователей. Но я бы на этой панеле не сидел. Ну не нравится мне такой подход к панелям в плане архитектуры. Я считаю его не безопасным, убогим.

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

    centminmod - это даже не панель, это скрипты, и автор eva2000 - очень хорошо поработал над ними, и конфигами nginx, myslq, php, и так далее. Это пример того, как должно быть в любой панели из коробки. Конфиги хорошо отточены, допилены, протестированы, и разраб испытывает страсть к серверам и своей панельке, но у него не хватает скилов создать веб-панельку, которой ой как не хватает этому проекту. Одна из лучших панелей в плане стабильности работы и конфигов серверов, из списка озвученного выше. Но не удобная в использовании. Но конфиги - прям конфетка. Но не для мультисайта вообще ниразу, хоть и опции есть. Эта панель для меня некий фундамент, который до меня настроили хорошо, и дали на эксплуатацию. Ручками придется поработать немного в зависимости от веб-приложения (если специфичное), но не так много как в весте. Обычно пару строк измененний в конфигах, не более. Но не работает нормально с множеством сайтов на одном сервере.

    CentOS Web Panel - я вообще не понял что это такое, и зачем оно нужно, и почему оно имеет какую-то популярность.

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

    Остальные не опубликованные панели так же использовал, но не продолжительно.
    Поэтому лень писать о них, и не помню недочеты.

    Одна из самых удобных для меня и простых панелей были: cPanel, Plesk, ISPManager но все платные, и дорогие.
    Сейчас сижу на самописных скриптах и своих nginx конфигах. Ибо достало каждую панель ручками допиливать, либо получать уведомления что сайт не работает, потому что баг в модуле очередной панели.

    И да, в моем "ответе" опыт с 2012 по 2021 год.
    И все панели выше я проверял в 2021 году так же, и у кого-то были существенные изменения, а у кого-то вообще их нет. Т.е. отзыв актуален, но субъективен. Возможно у кого-то был другой опыт, но мой таков, каков он есть.
    Ответ написан
    5 комментариев
  • Когда допустим Jquery, а когда native JavaScript?

    Zoominger
    @Zoominger
    System Integrator
    jQuery мёртв уже несколько лет, а нативный JS никому не нужен, потому что зачем, если можно быстрее и проще без него?
    Ответ написан
    8 комментариев
  • Имеет ли смысл изучать Azure Active Directory в наших реалиях?

    CityCat4
    @CityCat4
    //COPY01 EXEC PGM=IEBGENER
    В плане общего знакомства лишним не будет - лицензирование например его требует даже при локальном AD
    Ответ написан
    Комментировать
  • Имеет ли смысл изучать Azure Active Directory в наших реалиях?

    @Tabletko
    никого не трогаю, починяю примус
    От того что вы о нём узнаете, хуже не станет.
    Ответ написан
    Комментировать
  • Почему говорит что хук не в функциональном компоненте?

    WblCHA
    @WblCHA
    Потому что он не в функциональном компоненте?
    import React, {useState, useEffect, Fragment} from 'react';
    const [OperationsList, setOperationsList] = useState([]); // ← ← ←
    import {apiGetOperationsLoan} from '../api/Api';
    Ответ написан
    Комментировать
  • Как правильно подключить плагин Vue.js ( Nuxt )?

    yarkov
    @yarkov Куратор тега JavaScript
    Помог ответ? Отметь решением.
    В папке plugins создаёшь файл, в нём подключаешь что надо, вызываешь Vue.use(/*...*/) и в конфиге, в секции plugnis, добавляешь путь к файлу.
    Начните с доков к наксту, там всё описано.
    Ответ написан
    Комментировать
  • Почему при открытии Aida64 или диспетчера задач температура и вольтаж ЦП падает?

    Zoominger
    @Zoominger Куратор тега Windows
    System Integrator
    Вы поймали майнер.
    Качайте Live USB Касперского, Доктора Веба и сканируйте ПК.
    Ответ написан
    2 комментария
  • Почему Service Locator это зло и что использовать вместо?

    FanatPHP
    @FanatPHP
    Чебуратор тега РНР
    Все эти страшные слова - они на самом деле всегда про одно и то же - про связность. Когда ты хардкодишь внутри класса вызов какого-то конкретного сервиса - ты намертво к нему привязываешься. И чтобы поменять сервис на другой, ты будешь вынужден поменять код класса. Окей, поменял. И тут же в другом месте, где этот же класс использовался, что-то сломалось! И что теперь? Делать два класса, которые различаются одной строчкой? Нет конечно. А как тогда использовать один и тот же класс для обработки разных входящих данных (или одних и тех же данных, но разными способами)? Сделать его поведение изменяемым. То есть сделать изменяемыми те инструменты, которыми он пользуется - т.е. его зависимости.

    Поэтому все зависимости обычно передаются через конструктор (и поэтому и называются инъекция зависимостей.)

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

    Но тут надо понимать, что всё это работает только при правильном применении ООП. А точнее просто при применении ООП. Потому что 98% "ООП" кода, который пишется на РНР - это голимая процедурщина, даже если она обёрнута в классы и методы. Если у тебя метод класса представляет из себя стену кода, которую ты тупо перенёс из файла, инклюдившегося в любимое похапешное спагетти - то это не ООП. Это та же процедурщина, вид сбоку. И смысл использования dependency injection ты с ним не почуствуешь. Будешь конечно применять, но в качестве карго культа - потому что тебе это на тостере написали.
    А вот когда твой код начнет становиться действительно объектным - тогда стразу станет понятнее.


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

    Соотвтственно, ответ на вопрос "что использовать?" очень простой:
    - при ручном создании экземпляра объекта, все зависимости передавать в него через конструктор, а не получать "из воздуха" в коде.
    - при автоматическом создании экземпляра объекта, использовать dependency injection container

    В этим смысле очень полезно освоить Симфони - строгий фрейворк, в котором нет сервис локатора и в котором запрещено пользоваться контейнером напрямую.
    Ответ написан
    4 комментария
  • Как принимать оплату на сайте анонимно?

    samodum
    @samodum
    Какой вопрос - такой и ответ
    Сесть в тюрьму. Там тебя научат делать фейковые банковские колл-центры
    Ответ написан
    Комментировать
  • Как принимать оплату на сайте анонимно?

    sergey-gornostaev
    @sergey-gornostaev
    Седой и строгий
    Это невозможно и более того противозаконно.
    Ответ написан
    10 комментариев
  • Перспективно ли становиться Android-разработчком?

    sergey-gornostaev
    @sergey-gornostaev
    Седой и строгий
    За мобильностью будущее, но место в нём есть только для тех разработчиков, которые могут самостоятельно об этом узнать.
    Ответ написан
    1 комментарий
  • Какой почтовый сервис/smtp выбрать для рассылки имейлов от интернет магазина(150к писем в месяц)?

    jamessvetsky
    @jamessvetsky
    Специалист по почтам и рассылкам
    Все SMTP следят за репутацией своих IP адресов. И при превышении норм по кликам на спам тут же блокируют. Нормы у всех разные, от 0,1% до 0,65%. А если рассылка идет по базам, собранным в интернете, количество кликов сейчас 2-5%. Поэтому все зависит от базы. Но если база белая, варианты есть. Почитайте, в свое время кратко разбирал все варианты
    https://7fk.ru/nastroyka-smtp/
    Ответ написан
    6 комментариев
  • Как вынести storage не потеряв производительность?

    ThunderCat
    @ThunderCat
    {PHP, MySql, HTML, JS, CSS} developer
    Сторэйж вынести отдельно и подмонтировать к обоим серверам как папку. Проще бэкапить, проще обслуживать, проще настраивать каждый серв под свои задачи. Ну и про разделение железа на более спецефичное под задачу не забываем.
    Ответ написан
    Комментировать
  • Где взять хороший материал для изучения видов оптики?

    mixatronik
    @mixatronik
    mixatronik.ru
    Недавно была похожая задача. Не один объект сделан на оптике, но с GPON не сталкивался и когда стал погружаться в тему, очень удивился, что такое существует, а я об этом не слышал вообще ничего! Основной вопрос был тот же - в чём отличие от обычного соединения точка-точка посредством SFP. Как оказалось, всё просто. Смысл GPON в том, что применяются оптические сплиттеры, например такие: https://shop.nag.ru/catalog/03493.opticheskie-deli..., которые делят одно волокно на несколько, причём такой фокус можно повторять, т.е. поделить одно волокно на 4, потом каждое из четырёх ещё на 8 или на 16 и т.д., но не бесконечно, само собой. Минус в том, что пропускная способность тоже делится. Самое главное - на концах такой линии используется специальное оборудование. Лучше показать на примере. В начале линии, например, такой девайс: https://shop.nag.ru/catalog/03903.gpon--gepon/3375... и на концах, вот такие: https://shop.nag.ru/catalog/03903.gpon--gepon/3375.... Но, возможны варианты в зависимости от поставленной задачи.
    Менеджер посоветовал ещё посмотреть вебинар: https://youtu.be/gGmhPnstp8k. Там много воды про коммерческую составляющую и для меня это было лишним, но и полезной инфы хватает.
    Ответ написан
    2 комментария
  • Как опубликовать анонимное фото?

    Zoominger
    @Zoominger
    System Integrator
    Удалите информацию EXIF.
    Можно в Linux через exiftools, можно в Windows через свойства картинки.
    Там пишутся ваши координаты, информация об устройтсве и прочее.

    Удачи с выкладыванием запрещённого контента и мягкой бутылки вам.
    Ответ написан
    2 комментария
  • Как масштабировать сервис хранения картинок?

    efrolov54rus
    @efrolov54rus
    Младший Web-разработчик (принимаю заказы)
    Обычно подобные субдомены (s1, s2, и т.п) создаются для того чтобы балансировать нагрузку на файловый сервер, используя для этого промежуточные кэширующие сервера.
    Предположим что у нас есть несколько кэширующих серверов в разных локациях. Каждый из них постоянно передаёт статистику о своёй нагруженности на основной сервер.
    При отдаче статики пользователю, скрипт на основном (бэкэнд) сервере обращается в кэш (например, Redis) и получает из него статистику загруженности серверов на текущий момент времени и например их расположение. После этого на основе IP выбирается самый близкий к пользователю сервер а затем выбирается наименее загруженный сервер из списка (пусть он называется s3). Таким образом клиент получает в ответе от скрипта подобный url: https://s3.example.org/cache/images/sample.jpg.
    После этого происходит запрос на этот сервер и получение файла из кэша или напрямую из файлового сервера (при отсутствии файла на кэш сервере).
    Удалять файлы физически КРАЙНЕ не рекомендуется (особенно если это происходит часто), вместо этого стоит использовать флаг скрытия на программном уровне
    Для надёжности желательно использование RAID-5 на файловом сервере. В случае полного хайлоада можно создать несколько репликационных файловых серверов и объединить их в один кластер.
    Более подробно, можно прочитать здесь:
    https://winitpro.ru/index.php/2013/09/25/ustanovka...

    PS Поправьте меня если я ошибаюсь
    Ответ написан
    Комментировать