Задать вопрос
  • Как сделать безусловный перенос каждого слова на новую строку?

    kryamk
    @kryamk
    width: min-content
    Ответ написан
    Комментировать
  • Нужно ли добавлять в .gitignore package-lock.json?

    Согласно официальной документации package-lock.json предназначен быть в репозитории, чтобы все разработчики проекта работали с одним и тем же набором зависимостей.

    Относительно того, что его не нужно включать в код библиотек - неправда:
    • Во-первых, когда выполняется npm publish, package-lock.json автоматически исключается из опубликованного пакета (проверьте командой npm archive, например)
    • А во-вторых, package-lock.json используется только в корне проекта. В зависимостях он игнорируется. То есть в директории node_modules/your-dependency он может присутствовать невозбранно.


    Ответ на ваш вопрос: никогда не добавляйте package-lock.json в .gitignore
    Ответ написан
    4 комментария
  • Как в javascript перехватывать вызов методов объекта?

    0xD34F
    @0xD34F Куратор тега JavaScript
    Хук get не позволяет получить параметры вызова метода

    Позволяет. Возвращайте функцию, которая будет содержать вызов метода плюс нужные вам действия с параметрами:

    function sequence(functions) {
      return new Proxy(functions, {
        get(target, key) {
          const val = target[key];
          return val instanceof Function
            ? (...args) => {
                console.log(`${key} called with arguments: `, args);
                return val.apply(target, args);
              }
            : val;
        },
      });
    }
    Ответ написан
    Комментировать
  • Почему MySQL работает медленно на локальной машине (windows)?

    @Kiska228
    Нужно использовать обращение к ip: 127.0.0.1, а не к localhost, в скриптах, тогда скорость увеличится.
    Ответ написан
    2 комментария
  • Wordpress hook для смены темы?

    Чтобы показать клиенту новую тему без смены в админке делаю так:
    - в папку mu-plugins кладу файл developer.php
    <?php
    if(!isset($_GET['demo'])) return;
    
    /**
     * Change theme
     */
    add_filter('option_template', function($value){
    	return 'new_theme';
    });
    add_filter('option_stylesheet', function($value){
    	return 'new_theme';
    });

    Тема доступна по адресу example.ru/?demo
    Соответственно можно тему брать из куки или как хочешь, алгоритм такой же
    Ответ написан
    1 комментарий
  • Выбор файловой системы для сервера с видео?

    leahch
    @leahch Куратор тега Linux
    3D специалист. Dолго, Dорого, Dерьмово.
    Ну, про XFS (и тем более SSD) вам уже написали... Я же немного с другой стороны подойду. Как обычно, подозреваю, что стоит веб-сервер, который это видео раздает на сайт, а со стороны клиентов стоит браузер с flash или подобное. Другими словами, у вас стриминг видео. Что делает плеер со стороны клиента, кроме того, что проигрывает видео? А он ещё его и кеширует! А как он его кеширует?! А кешируют эти сволочи на сколько у них ресурсов хватит, спользуя весь объем диска и всю полосу пропускания!!!
    Объясню на пальцах, клиент сморит ролик с битрейтом 3000килобит, а кешируется у него этот ролик на скорости клиентского подключения (100мегабит к примеру) и будет продолжать кешироваться до полной закачки всего файла. Теперь у нас 10 клиентов, которые тут же сожрали все ресурсы сервера и пропускной способности, на короткое время конечно, но пользователи прибывают например раз в 3 секунды, и вот они уже никаких ресурсов не получают вообще, пока первые 10 не докачают. А теперь представим, что первые 10 клиентов посмотрели только первые 3 минуты ролика и переключились на другой. Но мы то им отдали за эти три минуты двухчасовой ролик!
    Что делать? Да очень просто, ограничить скорость на клиента двойным максимальным битрейтом. Это можно сделать как iptables/tc , так и политиками на nginx например. Ну или отдавать в формате HLS или подобном, или ставить ПО видеосервера, что в общем почти одно и тоже...
    Вот как раз даже в примере есть (не просто так поди) www.nginxtips.com/how-to-limit-nginx-download-speed
    location ^~ /videos/ {
    ...
    limit_rate_after 1m;
    limit_rate 150k;
    ...
    }

    PS. И да, кодируйте видео в CBR для раздачи. VBR для этого не очень подходит...
    Ну, кажется все военные тайны раскрыл... Ну и дополнительно на HLS уходите!
    Ответ написан
    2 комментария
  • Как настроить автозамену кавычек " на "" ‎ в Google Docs?

    oshliaer
    @oshliaer
    Google Products Expert
    Вот набор, который я использую

    “”«»

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

    5dd984daf0d3b992806879.gif

    Или поставьте себе раскладку Бирмана https://ilyabirman.ru/projects/typography-layout/ под Windows.
    Ответ написан
    Комментировать
  • Есть ли sip операторы, которые позволяют принимать смс?

    Спрашивайте у поставщиков телефонии. К примеру, Zadarma позволяет принимать СМС.
    • с помощью программы Zadarma для Android либо iOS;
    • по электронной почте (SMS на Email);
    • установить переадресацию SMS на свой мобильный;
    • на сайте в разделе «Услуги - SMS».
    Ответ написан
    1 комментарий
  • Что такое Vue Native?

    andykov
    @andykov
    Shit happens
    Vue Native это обертка над React Native.
    NativeScript это отдельный кроссплатформенный фреймворк который дает доступ к нативным компонентам платформы. И оба эти инструмента это не WebView.
    NS использует движок V8 JavaScript для Android и JavaScriptCore для iOS. RN использует только JavaScriptCore
    для обеих платформ. NS может в JS, TS, Angular и в этом году добавили официальную поддержку Vue за счет интеграции с плагином nativescript-vue
    Можно в playground'e пощупать.

    С RN я не работал, как и с VN, но мне интересно развитие NS.
    В общих чертах RN и NS похожи, но отличаются архитектурой взаимодействия с родными модулями платформ.
    NS работает c API интерфейсом платформы непосредственно в движке JS, отправляя вызовы и конвертируя данные на лету. При компиляции все XML компоненты передаются на собственные компоненты Android и iOS перед упаковкой в ​​двоичный файл платформы. В оф.документации все расписано
    Есть хорошая статья в блоге NS, где они разбирают серию статей от Airbnb об опыте с RN.

    Считаю что NativeScript недооценен сообществом, годный продукт.

    Простые приложения можно строить и на NS, что то более сложное где память решает, лучше писать нативно.
    Ответ написан
    1 комментарий
  • .htaccess без index.php

    truekenny
    @truekenny
    <IfModule mod_rewrite.c>
        RewriteEngine on
        RewriteRule  ^$ public/    [L]
        RewriteRule  (.*) public/$1 [L]
    </IfModule>
    

    В корень запрос пустой. А у вас «точка» – 1 любой символ.
    Ответ написан
    1 комментарий
  • Обьясните логику работы auth на примере nuxt auth?

    1. Запрос /api/login/ ожидает в ответ токен пользователя. Как из ответа выбрать токен - указывается в настроках auth. Т.е. сервер получает логин и пароль, проверяет. Если они верны - выбирает из базы токен этого пользователя и возвращает его.
    2. После получения nuxt'ом токена он сохраняется в localStorage и, вроде, дублируется в кукис
    3. Этот токен потом надо при каждом запросе добавлять в заголовок и проверять на сервере
    4. /api/user/ запрашивается после токена и в ответ надо дать профиль пользователя
    5. Если профиль получен, он сохраняется в store и для пользователя устанавливается переменная loggedIn на true
    6. Всё, пользователь залогинен
    Ответ написан
    1 комментарий
  • Почему Apache2 отдает Forbidden 403?

    @ehabrahabr
    Require all granted

    <VirtualHost *:80>
    	ServerName   site
    
    	...
    
    	<Directory /home/www/site/www>
    		Options Indexes FollowSymLinks MultiViews
    		AllowOverride None
    		Order allow,deny
    		allow from all
    
    		Require all granted
    
    	</Directory>
    
    	...
    
    </VirtualHost>
    Ответ написан
    Комментировать