• Как подключить два монитора к ThinkPad E14?

    Ты можешь к одному порту thunderbolt подключить несколько дисплеев по dp.
    Если на мониторе есть выход dp в любом виде, то можно даже по цепочке соединить.
    Если же без этого, то можно через хаб.
    Если подключу один монитор через HDMI, другой через Thunderbolt, очевидно, что некуда будет вставить питание.

    Ты можешь одновременно подавать и питание и передавать сигнал на монитор через thunderbolt.
    Многие мониторы со встроенным type-c так умеют.

    Если же без этого, то можно через хаб.
    Ответ написан
    3 комментария
  • Как подключить два монитора к ThinkPad E14?

    @q2digger
    никого не трогаю, починяю примус
    Берешь док-станцию и подключаешь. Оригинальная Леново, например - ThinkPad USB -C Dock Gen 2 , есть еще Gen 3, там набор портов чуть иной. Отлично тянут по два монитора, нет проблем.
    Ответ написан
    1 комментарий
  • Go. Что делать, если в коде много схожих друг с другом функций?

    index0h
    @index0h
    PHP, Golang. https://github.com/index0h
    Не стоит объединять похожие, но разные по смыслу вещи. Если конкретный участок кода повторяется прям всюду - вынесите его в отдельный сервис.
    Конкретно у вас тут из одинакового - только логгирование при НЕ 200м ответе. Вы ничего особо не сэкономите.
    Лучше оставить как есть.
    Ответ написан
    Комментировать
  • Go. Что делать, если в коде много схожих друг с другом функций?

    @rPman
    Я бы оставил так и не усложнял логику
    Ответ написан
    Комментировать
  • Go. Что делать, если в коде много схожих друг с другом функций?

    Наоборот, написать общую функцию для таких целей — это хороший способ.
    У вас тут посыл запроса, обработка кода ответа, парсинг. Это всё отлично выносится в общую функцию, которой потом удобно будет пользоваться. Особенно с дженериками, которые добавили в go1.18
    Ответ написан
    2 комментария
  • Golang. Почему в коде переменной присваивается ссылка на структуру?

    @FedorWK
    Структуры в Го передаются по дефолту по значению, то есть передается копия экземпляра. В данном случае было принято решение возвращать указатель на структуру (result *v1.Pod), чтобы избежать копирования (либо потому, что так принято). См. сигнатуру функции:
    func (c *pods) Get(ctx context.Context, name string, options metav1.GetOptions) (result *v1.Pod, err error)

    Поскольку по сигнатуре мы должны вернуть указатель на структуру, мы берем ее адрес (&v1.Pod{}), а не значение структуры (v1.Pod{}).

    Подобный вопрос на SO
    Ответ написан
    Комментировать
  • Как правильно на linux сделать проброс на vagrant?

    @ProFfeSsoRr
    Сис.админ по Linux
    Проще всего - убрать на хосте NAT для виртуалки, чтобы виртуалка находилась как бы в той же сети, что и хост. Тогда у неё будет IP из подсети 192.168.1.*, и на этот IP делать проброс.
    Ответ написан
    Комментировать
  • Как сделать отдельный .gitignore для деплоя на Heroku?

    @firegurafiku
    С некоторых пор Heroku поддерживает сабмодули Git, что позволяет разделить непосредственно код приложения и файлы, необходимые исключительно для деплоя на Heroku. Тогда первый репозиторий можно хранить на гитхабе, а второй — хостить внутри Heroku, где к нему не будет ни у кого доступа.

    Например, я использовал примерно такую структуру репозитория для деплоя Django-приложения (уверен, нечто подобное можно придумать и для RoR):

    django-application-heroku   ┊ ← Рабочая копия репозитория для Heroku.
    │                           ┊
    ├── project                 ┊ ← Сабмодуль с кодом, указывающий на GH.
    │   ├── django_application  ┊ ← Непосредственно код и данные самого
    │   │   ├── locale/         ┊   приложения, которые ничего знать не
    │   │   ├── migrations/     ┊   знают о Heroku. Структура файлов и
    │   │   ├── templates/      ┊   каталогов, обычная для Django-проекта.
    │   │   ├── admin.py        ┊
    │   │   ├── apps.py         ┊
    │   │   ├── models.py       ┊
    │   │   ├── urls.py         ┊
    │   │   ├── views.py        ┊
    │   │   └── (...)           ┊
    │   │                       ┊
    │   ├── django_project      ┊
    │   │   ├── settings.py     ┊ ← Базовая часть конфигурации, неизменная
    │   │   ├── urls.py         ┊   при любом способе деплоя.
    │   │   ├── wsgi.py         ┊
    │   │   └── (...)           ┊
    │   │                       ┊
    │   ├── manage.py           ┊ ← Раннер и конфиг с закреплёнными версиями,
    │   └── requirements.txt    ┊   используемые на машинах разработчиков.
    │        	            ┊
    ├── bin                     ┊
    │   └── post_compile        ┊ ← Вспомогательный скрипт, который сам
    │        	            ┊   запускает миграции БД при успешном деплое
    │                           ┊   на Heroku.
    │        	            ┊
    ├── manage.py               ┊ ← Такой же раннер, что и в рабочем репозитории,
    │        	            ┊   но использует heroku-settings.py в качестве
    │        	            ┊   конфигурации приложения вместо settings.py.
    ├── requirements.txt        ┊ ← Закреплённые версии специально для Heroku.
    │        	            ┊   Тот же набор, что и в рабочем репозитории,
    │        	            ┊   плюс дополнительно пакеты gunicorn,
    │        	            ┊   dj-database-url и WhiteNoise.
    ├── heroku_settings.py      ┊ ← Конфигурация приложения специально
    │        	            ┊   для Heroku. Например, приводит DATABASE_URL
    │        	            ┊   к формату, понятному Django.
    ├── heroku_wsgi.py          ┊ ← То же, что и wsgi.py, но с конфигом Heroku.
    ├── Procfile                ┊ ← Запускает gunicorn с нужными параметрами.
    └── runtime.txt             ┊ ← Используемый рантайм.


    Конечно, данный подход не лишён недостатков (наиболее серьёзный из которых — приходится поддерживать набор практически одинаковых файлов manage.py, requirements.txt, wgsi.py), однако он позволяет:
    • избавиться от мешанины разрозненных файлов в корне репозитория
      (какая религия помещала разработчикам Heroku искать эти файлы в отдельном подкаталоге, а не корне проекта?);
    • эффективно разграничить разработку и деплой.
    Ответ написан
    Комментировать
  • Wordpress. Как удалить контент со страницы товара?

    HeadOnFire
    @HeadOnFire
    PHP, Laravel & WordPress Evangelist
    В комментариях к каждому do_action указано, что на него подвешено. Отключайте все, что не нужно через functions.php:
    function remove_woo_content() {
    	// 1й аргумент - хук из которого нужно выпилить фрагмент
    	// 2й аргумент - функция нужного фрагмента, который выпиливаем
    	// 3й аргумент - приоритет с которым данная функция захукана
    	remove_action( 'woocommerce_before_main_content', 'woocommerce_breadcrumb', 20 );
    }
    add_action( 'init', 'remove_woo_content' );

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

    Второй вариант - в папке темы создаете папку woocommerce, копируете из папки плагина woocommerce/templates нужный шаблон(ы) и редактируете его, вплоть до простого удаления ненужного кода.
    Ответ написан
    Комментировать
  • Wordpress. Как удалить контент со страницы товара?

    orlov0562
    @orlov0562
    I'm cool!
    При редактировании готовых тем, есть возможность столкнуться с тем, что отредактированные файлы будут перезаписаны при обновлении темы. Бороться с этим можно с помощью плагинов запрещающих обновление.
    Либо созданием копии темы и изменении её id/версии.

    В остальном, проблем нет. Темы на то и темы, чтобы вносить в них изменения, если это необходимо. Поэтому просто создавай копию оригинальной темы и модифицируй её так, как необходимо.
    Ответ написан
    4 комментария
  • Адаптивная верстка. Правильно ли?

    col-lg-1 col-md-1 col-sm-1 col-xs-1 вот это изначально неправильно, запись не имеет смысла, бутстрап работает таким образом что если вы задали к примеру
    <div classs="col-sm-3">
    </div>


    то все что выше (т.е md и lg) будут col-md-3 и col-lg-3
    а все что ниже (xs) станет col-xs-12
    то есть задайте просто col-xs-1 и все, но это не имеет особого смысла так как скажем на телефоне шириной 320px дисплей поделится на 12 частей и рассмотреть что то будет сложно, можно попробовать к примеру
    <div class="col-md-4 col-sm-3 col-xs-6">
    content
    </div>


    если картинка находится внутри блока то дайте ей класс и присвойте значения
    width:100%;
    height:auto;


    и она будет масштабировать под блок не теряя пропорций
    Ответ написан
    2 комментария
  • Адаптивная верстка. Правильно ли?

    PretorDH
    @PretorDH
    HTML5, CSS3, PHP, JS - люблю в чистом виде.
    Вот это не правильно:
    style="height: 603px;"

    Определи класс и задай высоту в нем.
    Для картинки указывай ширину в арибуте, а не инлайн-стиле.
    Ответ написан
    1 комментарий
  • Адаптивная верстка. Правильно ли?

    krimtsev
    @krimtsev
    Вот тут подробно всё объясняется и показывается

    webformyself.com/minikurs/bootstrap/index-subscrib...
    Ответ написан
    Комментировать
  • Какого облачного провайдера выбрать?

    1cloud
    @1cloud
    Пора поднимать российский IT рынок. Всем вместе
    Добрый день, Ciscoridze!
    Вашим требования полностью соответствует наш облачный хостинг 1cloud.ru . Мы предлагаем гибкую систему настройки аппаратной конфигурации и практически моментальный пересчет условий тарификации, зависящей от фактического использования Вами арендуемых ресурсов. Если Вы отключаете свой сервер, то оплата списывается только за выделенное дисковое пространство. Пересчет тарификации осуществляется каждые 10 минут. Само собой, мы предлагаем оперативное (несколько минут) развертывание сервера на базе ОС Windows Server 2012.
    Чтобы вы могли убедиться в качестве оказываемых нами услуг, предлагаем воспользоваться бесплатным тестовым периодом. Подробности на сайте.
    Ответ написан
    1 комментарий
  • Какого облачного провайдера выбрать?

    alsopub
    @alsopub
    Выключили - не платите за процессор и память, но продолжаете платить за диск и, возможно, IP адрес.
    Ответ написан
    Комментировать
  • Какого облачного провайдера выбрать?

    landergate
    @landergate
    IT-шный jack-of-all-trades
    Почти все облачные провайдеры работают по часам, но почти все из них списывают деньги даже за отключённую виртуальную машину.

    Хорошим вариантом будет Microsoft Azure.
    Редкий провайдер, у которого вы не платите за простой ресурсов у выключенной машины.
    К тому же, хостинг от того же вендора, что и ОС. =) В некоторых задачах у этого есть свои преимущества.
    Ответ написан
    3 комментария
  • Как хостинг провайдер предоставляет услуги?

    @nikolayvaganov
    Хостер покупает автономную систему, роутит на своё оборудование. На оборудовании направляет пул IP на сервер, сервер делит на виртуальные машины ( смотреть системы виртуализации - OpenVZ, KVM, Xen, Hyper-V ), в конфиге на хост машине заводит для каждой виртуалки свой внешний IP и устанавливает в виртуальную машину ось.
    Ответ написан
    2 комментария
  • Как изучать Linux?

    @estoy
    Понятно, что apache/nginx + php + mysql, но что делать со всем этим дальше?

    Теперь захости там пару веб сайтов и сделай так чтобы они работали на разных версиях php!
    Ответ написан
    1 комментарий
  • Как изучать Linux?

    GaneevRR
    @GaneevRR
    Вместо спасибо отмечайте Нравится
    Понятно, что apache/nginx + php + mysql, но что делать со всем этим дальше?

    С начала пойми для чего они, установи а для вопросы сами собой отпадут. На голой теории далеко не уедишь, теория+практика=знания=>работа и опыт.
    Ответ написан
    2 комментария
  • Как изучать Linux?

    1. Мониторьте профильные ресурсы, помогайте совсем новичкам разбираться с проблемами + частенько возникают нетривиальные вопросы.
    2. Запустите небольшой проект, возможно, интересной вам комп. игры, после чего разыгрывайте различные типовые сценарии (н.п. миграция на другой сервер (новая ОС+ веб + бд)). В сценариях учитывайте ключевые для вас показатели - целостность и доступность информации, а это сразу отказоустойчивость, бекапы, защита от ДДОС и т.п.

    Вот это будет реальный "боевой" опыт.
    Ответ написан
    3 комментария