• Как набить руку на Python разработку и сисадминистрирование за 2 месяца?

    @m0zart89
    Идти проситься уже сейчас сразу на работу как есть и учиться в процессе не теряя времени, самому это как блуждать в темноте.
    Ответ написан
    Комментировать
  • Как обосновать необходимость серверной?

    @m0zart89
    Может пора переезжать в облака?
    Ответ написан
    Комментировать
  • Как исправить ошибку при использовании js библиотек?

    @m0zart89
    Содержимое папки:
    1. index.php:

    <!DOCTYPE html>
    <html>
      <head>
        <meta charset="utf-8">
        <meta name="viewport" content="initial-scale=1, maximum-scale=1, user-scalable=no, width=device-width, shrink-to-fit=no">
        <title>Panolens.js panorama image panorama</title>
        <style>
          html, body {
            margin: 0;
            width: 100%;
            height: 100%;
            overflow: hidden;
            background-color: #000;
          }
    
          a:link, a:visited{
            color: #bdc3c7;
          }
    
          .credit{
            position: absolute;
            text-align: center;
            width: 100%;
            padding: 20px 0;
            color: #fff;
          }
        </style>
      </head>
    
      <body>
    
        <div class="credit"><a href="https://github.com/pchen66/panolens.js">Panolens.js</a> image panorama example. Image from <a href="http://adaptivesamples.com/tag/equirectangular/">Adaptive Samples</a></div>
        
        <script src="three.min.js"></script>
        <script src="panolens.min.js"></script>
    
        <script>
    
          const panorama = new PANOLENS.ImagePanorama( 'field.jpg' );
          const viewer = new PANOLENS.Viewer( { output: 'console' } );
          viewer.add( panorama );
    
        </script>
    
      </body>
    </html>


    2. panolens.min.js
    3. three.min.js
    4. field.jpg

    Результат. Всё работает. ( Все файлы из первого же примера на сайте библиотеки panolens.js).

    5d829639c3f66200711617.png
    Ответ написан
  • Как решить проблемы с нагрузкой, или как рассчитать харак. VPS?

    @m0zart89
    Можно сделать простую трассировку с помощью xdebug.

    В начале работы скрипта добавляем, прям в начале ларавелевского index.php в папке public (сделай копию index.php для душевного спокойствия):

    <?php
    
    if (!file_exists(dirname(__DIR__)."/xdebug")) {
        mkdir(dirname(__DIR__)."/xdebug");
    }
    xdebug_start_trace(dirname(__DIR__)."/xdebug/".rand(1,10000));


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

    Далее получаем файлы в корневой папке ларавеля в папке xdebug, которые имеют вид:
    ...
    0.4393   81359120       -> drupal_alter() /Users/mike/projects/unicorns/includes/menu.inc:508
    0.4395   81359264         -> is_array() /Users/mike/projects/unicorns/includes/module.inc:1000
    0.4398   81359624         -> module_implements() /Users/mike/projects/unicorns/includes/module.inc:1021
    ...


    Первая колонка - это счётчик времени по выполнению вызванной функции, т.е. например по середине выполнение функции is_array() заняло 0.003 секунды, к примеру.

    Анализируем трассировку и выявляем "узкое горлышко".

    Возможные варианты:
    1) Тормозит API-сервер, необходимо оптимизировать связку nginx + php (маловероятно).
    2) Тормозит API CRM, к которому обращается твой API (более вероятно, могут стоять ограничения на подключение и т.п.).
    Ответ написан
    Комментировать
  • Как настроить резервное копирование на ftp сервер?

    @m0zart89
    Acronis True Image прям специально заточен под эту функцию.
    Ответ написан
    Комментировать
  • Существует ли готовый движок фриланс биржи?

    @m0zart89
    Ответ написан
    Комментировать
  • Как правильно связать yii c extjs приложением?

    @m0zart89
    Делал небольшой проект в учебных целях два года назад. На Yii строится backend( авторизация, аутентификация, CRUD для заказов, клиентов и т.п. с отношениями), всё общение браузера и сервера через JSON, два отображения: ( views/LoginForm.php) для гостя с формой входа и для залогиненого(views/index.php) , где исходя из роли и прав в отображение отправляются те или иные вкладки ( сделал по-тупому и топорно, например, if(user->can('admin')) echo "Ext.define('AdminPanel',...);" и так далее по коду, т.е. на выходе на лету строилось отображение для пользователя.
    Ответ написан