• С чем связанна странная манера сайтов дорогих брендов?

    opium
    @opium
    Просто люблю качественно работать
    Это удобно, практично и приятно пользователю
    Ответ написан
    3 комментария
  • Сервер под большую нагрузку, безотказная работа?

    @stratosmi
    Есть сервер
    характеристики:
    CPU: 2xXeon L5520
    RAM: 24Gb
    PORT: 1Gb / s
    php: 7.2
    Также используется MySQL
    Веб-сервер Apache
    ОС: Debian 9.x

    Вопрос такой, как настроить сервер чтобы он выдерживал одновременный онлайн 1000 человек +
    Загонял тестовый трафик сервер начинал подвисать когда было 470 человек, а падал когда было 600 человек.
    Дайте какие-то советы для того чтобы сервер работал стабильно 24/7 под нагрузками, заранее спасибо!


    Просто обратиться к разработчику.
    Но к квалифицированному.

    Пример из жизни - есть сервер:

    виртуалка, 2 ядра, 512 мегабайтов оперативной памяти.
    Держит 10 000 одновременных подключений.

    Возможно, ваше ПО действительно требует подобного железа, как вы написали.
    Возможно, ваше ПО действительно написано корректно, но разбираться должен в этом специалист.

    Лучше - разработчик.
    Но можно и админу.

    Если вы админ и не разработчик и не можете залезть внутрь ПО, то хотя бы так: задача админа - провести профилирование - то есть выяснить где именно узкое место: не хватает процессора или памяти или скорости диска.

    Такое, что "просто сервер тормозит" - это не ответ.
    Всегда есть какое-то вполне определенное узкое место.

    Вангую - работа с БД.
    Как правило затык в говнософте, которое не корректно работает с СУБД.
    А у БД, в свою очередь, самое узкое место - это диски.

    Из говнокода в Highload. Используем ТАРАНtool. 5 р...
    Ответ написан
    Комментировать
  • Как хранить большое количество json-файлов?

    DexterHD
    @DexterHD
    Software Engineer, Teamlead, CTO
    Возможно лучшим решением было бы действительно хранить их в MongoDB.
    Тем более что она поддерживает компрессию данных, а в довесок появляется возможность легко манипулировать ими, искать в них информацию, индексировать, обновлять и т.п.
    Ответ написан
    Комментировать
  • Скачать файл с заполненными данными через форму в php?

    402d
    @402d
    начинал с бейсика на УКНЦ в 1988
    не надо записывать, просто формируете его в оперативной памяти.
    считать шаблон в строку .
    сделать замены.
    отдать заголовки нужного типа контента.
    вывести сформированную строку.
    Для текстового файла такие
    header('Content-disposition: attachment; filename=gen.txt');
    header('Content-type: text/plain');
    Ответ написан
    2 комментария
  • Как правильно объявить массив php?

    BuriK666
    @BuriK666
    Компьютерный псих
    $newArr = array();
    foreach ($cName as $cat) {
      if (!isset(newArr[$cat['category_parent_id']])) {
        newArr[$cat['category_parent_id']] = array();
      }
      $newArr[$cat['category_parent_id']][] = $cat;
    }
    Ответ написан
    5 комментариев
  • Разделить домены по разным серверам?

    Sanes
    @Sanes
    Nginx Proxy
    Ответ написан
    Комментировать
  • Разделить домены по разным серверам?

    xmoonlight
    @xmoonlight
    https://sitecoder.blogspot.com
    Apache proxy (настройка)
    reverse_proxy.jpg
    Ответ написан
    Комментировать
  • Сколько времени уделять на общение с клиентом? Как поддерживать связь?

    shmatuan
    @shmatuan
    8 year of Web, 5 years of Vue
    Было подобное, когда часа 4 мог обсуждать что-то несущественное. Помог только разговор с заказчиком по поводу того, что физически сложно что-то делать и отвлекаться на разговоры.

    Первый митинг в начале дня, что бы обсудить текущие задачи.
    Второй митинг за 2 часа до конца рабочего дня, что бы обсудить то что сделанно и что нужно пофиксить.
    Главное что бы они не длились больше 30 минут :)

    Как улучшение - список задач на доске (трело/джира), которые могут видеть клиенты - тогда они знают статус выполнения и текущий список задач.
    Ответ написан
    Комментировать
  • Nginx: как перенаправлять запросы на другой порт (в пределах одного сервера)?

    BuriK666
    @BuriK666 Куратор тега Nginx
    Компьютерный псих
    server {
        listen 0.0.0.0:8080;
        access_log /path/to/access_log
        location / {
            proxy_pass http://127.0.0.1:8081/;
        }
    }
    Ответ написан
    1 комментарий
  • Как можно отлаживать печатную версию страницы в браузере?

    Можно так

    mV2ra.png

    P.S. Вместо Rendering Settings может быть просто Rendering, просто картинка 16 года.
    Ответ написан
    2 комментария
  • Есть ли такой сервис?

    Taraflex
    @Taraflex
    Ищу работу. Контакты в профиле.
    Ответ написан
    Комментировать
  • Как проверить текущий месяц?

    @nozzy
    Symfony, Laravel, SQL
    $your_month = 10;
    $current_month = date('n');
    
    if($your_month == $current_month)
    {
    ....
    }
    Ответ написан
    Комментировать
  • Как закрыть не закрытые теги img?

    dollar
    @dollar
    Делай добро и бросай его в воду.
    Вариант 1 <img></img>:
    $html = preg_replace('/(<img[^\>]*>)/','$1</img>',$html)

    Вариант 2 <img />:
    $html = preg_replace('/(<img[^\>]*)>/','$1 />',$html)
    Ответ написан
    Комментировать
  • Require без ../?

    tomnolane
    @tomnolane
    профессиональный разработчик
    1) использовать composer
    2) composer использует PSR
    это типо что-то вроде этого:
    vendor\Autoloader.php
    <?php
    /**
     * PSR-4 Autoload without composer 
     */
    define('ROOT', __DIR__ . DIRECTORY_SEPARATOR);
    define('SRC', str_replace("vendor\\","",ROOT) . DIRECTORY_SEPARATOR); // тут я удаляю из пути папку, в которой лежит данный автозагрузчик. В моём случае это папка "vendor"
     
    spl_autoload_register(function ($class) {
        $file = str_replace('//', '/', str_replace('\\', '/', SRC .$class)) . '.php';
        if (file_exists($file)) {
            require_once $file;
        }
    });


    Структура проекта:
    папка[root]->
            папка[vendor]->Autoloader.php
            папка[cars]->Car.php
            index.php

    и далее делаете как хотите:
    idnex.php
    namespace kakoeto;
    
    require_once 'vendor/Autoloader.php'; // тут подключается автолоадер
    use Autoloader;
    
    use cars\Car as Car; // вот тут подключаете всё что хотите. Главное, чтобы название класса совпадало с названием php файла, а-ля Car.php
    
    .....
    ?>

    Вот тут почитайте
    Ответ написан
    Комментировать
  • Откуда разработчики знают как именно что то реализовать?

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

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

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

    Уже имея опыт работы с базой (так как вы писали модуль регистрации), вы, формально, можете поковыряться и сделать возможность добавлять в базу новости на сайт, а потом их выводить на этом же сайте. И внезапно, вы уже понимаете как реализовать кривой-косой блог.

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

    P.S. Как говорилось людьми выше, есть такой инструмент как "поиск гугл", на худой конец "товаращи по цеху" помогут.
    Ответ написан
    Комментировать
  • Куда движется профессия системного администратора?

    @MechanID
    Админ хостинг провайдера
    Linux администратор может дальше выбрать кучу направлений:
    Виртуализация kvm, VMware, etc.
    Базы данных - MySQL, PostgreSQL, куча NoSQL, базы архивов типа ClickHouse
    СХД - если у вас 600ТБ и это самосбор а не решение от вендора то вам пригодится много скилов.
    Различный хайлоад - веб, почта, стриминг сервисы, и в многих других областях бывает хайлоад,
    DevOps - CI/CD и все что с этим связано - всякие дженкинсы, гитлабы, настройка автодеплоя и тд, в том числе и в облаках типа Амазона.
    Уверенн что есть еще варианты.
    Ответ написан
    5 комментариев
  • Куда движется профессия системного администратора?

    athacker
    @athacker
    Выбирайте то, к чему душа больше лежит. IT Ops останутся навсегда, какие бы облака там не парили над нами. Всё равно полно организаций, которые не доверяют потусторонним конторам хранение своих данных и обслуживание своей IT-инфраструктуры (и правильно делают). Особенно в свете развития законов и методик оповещения об утечках и т. п.

    IT Ops, на мой взгляд, поинтереснее (сам такой потому что), так как задачи разнообразнее. Но в DevOps, например, денег больше платят. Хотя в IT Ops сейчас тоже много из DevOps наприлетало -- Infrastructure as a Code, ansible/chef/puppet, хранение конфигов/плейбуков в VCS, вот это вот всё. И это действительно приводит к тому, что нужно меньше людей, чтобы управлять существенно бОльшими по размеру инфраструктурами. Но и квалификация этих людей тоже должна быть выше, и программерский бэкграунд какой-то тоже нужен. Потому что даже в IT Ops очень много автоматизации, которую нужно писать руками на Shell, Powershell, Python, смотря где как принято.

    Отдельный денежный сегмент -- это DBA. Oracle, PostgreSQL, MariaDB -- прокачанных DBA мало, и стоят они дорого. С другой стороны, рынок, где требуются DBA -- довольно узок. И чтобы не было проблем с поиском работы -- квалификация должна быть высокой.

    Есть ещё NetOps, т. е. сетевые инженеры. Но там сейчас грустно -- несмотря на то, что для работ в операторских сетях, например, нужна нефиговая такая квалификация и знание особенностей кучи вендорского железа (редко кто строит гомогенные в смысла вендора сетевого железа сети, в основном сборная солянка - -Cisco/Juniper/Mikrotik/Dlink/Huawei), но зарплаты там (по Москве) -- 90-100 тысяч. При этом практикуются ночные/выходные дежурства и всё такое. Можно найти прекрасные места, где сетевой инженер будет зарабатывать бОльшую сумму, но в целом -- как-то так.

    Если резюмировать -- в IT Ops ниже порог вхождения в целом. Т. е. можно найти работу, где не требуется серьёзная квалификация, но и денег будет соответственно.

    DevOps -- порог вхождения выше, т. к. DevOps подразумевает выполнение вполне конкретного набора задач, и для их выполнения уже вряд ли возьмут человека с улицы, надеясь, что он "по ходу разберётся" (а вот в IT Ops или даже NetOps в мелких и средних конторах ещё может прокатывать). Квалификация требуется выше, но и денег больше.

    DBA -- всё ещё сложнее, чем с DevOps. Рынок узкий, квалификация нужна высокая, но зарплаты тоже высоки, повыше DevOps, по моим наблюдениям.

    В чистый NetOps сейчас уходить... Ну такоэ... Есть крупные конторы, где этим можно нормально зарабатывать, но всё равно, квалификация требуется высокая, а денег относительно требуемого объёма знаний платят не так уж много. Вот IT Ops + NetOps -- это да, тут можно найти хорошую работу. Но для этого книжек придётся прочитать в полтора раза больше, чем отдельно IT Ops и в два раза больше -- чем отдельно NetOps :-)
    Ответ написан
    4 комментария
  • Nginx выдаёт ошибку 502 Bad Gateway на локальном сервере(Linux)?

    POS_troi
    @POS_troi
    СадоМазо Админ, флудер, троль.
    Выкладывать конфиги, выкладывать логи, расказывать что используете в бэкенде.
    В данный момент у вас не вопрос а загадка.
    Ответ написан
    2 комментария
  • Как хранят свои страницы крупные сайты?

    Stalker_RED
    @Stalker_RED
    Единая точка входа - один php файл, (обычно index.php лежащий в корне сайта), в который попадают все запросы ко всем страницам. Он запускает движок и вызывает router (маршрутизатор) - скрипт, который по url определяет какой раздел и какая страница запрошена. Ориентируясь на правила прописанные в маршрутизаторе он запускает нужный модуль (читайте про mvc). Там где-то происходят обращения в базу данных, какая-то бизнес-логика работает, и в итоге данные передаются в шаблонизатор, который выдает HTML код.

    Чтобы самому не изобретать всё с нуля можно взять набор готовых компонентов. Такие наборы называются фреймворками.
    Это все подходит не только для крупных сайтов, а для любых проектов, где больше одной страницы.
    Ответ написан
    Комментировать