Vikhrmodels/habr_qa_sbs huggingface dataset:
Вопрос: Как проверить не монтировалось ли видео? не изменен ли видео файл?и как указать подлинность видео файла с веб-камеры?

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

Худший ответ:
Если кадры встык - можно.
А если имелось в виду замена части кадра, то при грамотной работе - не проверить
Вопрос: Программы для моделирования. Какую выбрать?

Лучший ответ:
У Autodesk есть образовательное сообщество где доступны все программы для обучения бесплатно. Вот ссылка: www.autodesk.ru/education/country-gateway
Можно взять Inventor для задачи с корпусом, про потоки тоже там что-то должно быть.

Худший ответ:
Cinema4D/ более дружелюбная и адекватная,нежели 3D Max и Maya...в сети,есть обучающие видеоуроки,по всем аспектам работы в этой программе.При постановке вопроса,"для моделирования"-слишком расплывчатая формулировка,потому что есть еще с десяток программ 3D моделирования и все они,замечательные,но,каждая из них,"заточена" на определенный объект "моделирования": архитектурный объект,интерьер,изделия из металла и пластмасс,одежда,анимированные персонажи игр и фильмов,инфраситруктура зданий,автомобили,гайки и шестеренки.мебель и прочая-прочая....нет плохих программ,есть кривые руки и ленивый ум...
Вопрос: Как сделать портфолио?

Лучший ответ:
Все просто: jsfiddle.net/b33wT<div class="menu">
    Выбираем:
    <button class="btn" data-type="design">Дизайн</button>
    <button class="btn" data-type="html">Верстку</button>
    <button class="btn" data-type="php">Программирование</button>
    <button class="btn" data-type="all">Всё</button>
    <button class="btn" data-type="none">Ничего</button>
</div>

<div class="portfolio">
    <div class="item type_design">Дизайн 01</div>
    <div class="item type_design">Дизайн 02</div>
    <div class="item type_design">Дизайн 03</div>
    <div class="item type_html">Верстка 01</div>
    <div class="item type_html">Векстка 02</div>
    <div class="item type_html">Верстка 03</div>
    <div class="item type_php">Программирование 01</div>
    <div class="item type_php">Программирование 02</div>
    <div class="item type_design type_html">Дизайн + Верстка 01</div>
    <div class="item type_design type_html">Дизайн + Верстка 02</div>
</div>var $buttons = $(".btn"),
    $items = $(".item"),
    type;

$buttons.on("click", function () {
    type = $(this).data("type");
    selectItems();
});

var selectItems = function () {
    switch (type) {
        case "all":
            $items.show();
            break;
        case "none":
            $items.hide();
            break;
        default:
            $items.hide();
            $items.filter(".type_" + type).show();
            break;
    }
};

Худший ответ:
и вот еще: web-forsite.ru/articulate-shablon-dlia-portfolio-i...
Вопрос: Где можно заработать начинающему веб программисту?

Лучший ответ:
Лучше устройся джуниором под руководством сеньора или тимлида. Тогда и знания свои оценишь, и наберешься правильного опыта.

Худший ответ:
На фрилансе, или на различных форумах. Особенно на IT форумах предлагают часто приличный заработок.
Вопрос: Как узнать положение курсора в div'e с contentEditable="true"?

Лучший ответ:
Знаю, поздноfunction getCursorPosition(parent) {
	let selection = document.getSelection()
	let range = new Range
	range.setStart(parent, 0)
	range.setEnd(selection.anchorNode, selection.anchorOffset)
	return range.toString().length
}

function setCursorPosition(parent, position) {
	let child = parent.firstChild
	while(position > 0) {
		let length = child.textContent.length
		if(position > length) {
			position -= length
			child = child.nextSibling
		}
		else {
			if(child.nodeType == 3) return document.getSelection().collapse(child, position)
			child = child.firstChild
		}
	}
}

Худший ответ:
В общем-то, сама функция проста, как 2 копейки jsfiddle.net/petroveg/Lnm256qc/1
Проверял — работает.
Вопрос: Выборка ближайших точек?

Лучший ответ:
Ну а если вас интересует функция, переводящая две координаты в расстояние между ними, с радостью поделюсь кусочком:
<?php
    private function LatLngDist($p, $q) {
        $R = 6371; // Earth radius in km

        $dLat = (($q[0] - $p[0]) * pi() / 180);
        $dLon = (($q[1] - $p[1]) * pi() / 180);
        $a = sin($dLat / 2) * sin($dLat / 2) +
                cos($p[0] * pi() / 180) * cos($q[0] * pi() / 180) *
                sin($dLon / 2) * sin($dLon / 2);
        $c = 2 * atan2(sqrt($a), sqrt(1 - $a));

        return $R * $c;
    }


Худший ответ:
MySQL форум, надеюсь поможет
Вопрос: Как использовать BEM+JADE+GULP?

Лучший ответ:
https://github.com/admdh/adm-dev-kit-gulp
https://github.com/tars/tars
cpt.csssr.ru
Все сборки работают в похожем ключе что и BEM stack. У некоторых даже зависимости помоему есть. 
P.S Но я бы не советовал.

Худший ответ:
Бойлерплейт для jade, stylus и БЭМ https://github.com/zoxon/gulp-front
Еще есть неплохая библиотека миксинов https://github.com/kizu/bemto но это на любителя
Вопрос: Совместимы ли REST и передача нескольких id (запросы WHERE IN)?

Лучший ответ:
GET /api/users/ - все чуваки
GET /api/users/?filter[id]=1,2,7,11,99 - фильтр для выборки по всем чувакам
GET /api/users/5 - чувак с ID 5
jsonapi.org

Худший ответ:
По сути это просто фильтрация данных, которая решается за счёт параметров запроса:/api/users?ids=1&ids=2&ids=7&…
Вопрос: Mikrotik, заблокировать доступ к локалке wifi–клиенту

Лучший ответ:
winbox -> ip -> routes -> Rules ->  
src. address (ip адрес или сеть которую хотите закрыть) например 192.168.0.1/24
drc. (ip адрес кому хотите закрыть доступ в выше указаной сети)  10.1.1.5
action - unreachable
На самом деле делал это для того что бы закрыть доступ целым группам, для одно абонента не пробывал в одной сети.

Худший ответ:
для того чтобы акцест лист работал надо в радио интерфейсе выключить авторизацию по умолчаниюdefault-authentication=no
если клиен сети "не очень шарящий" то в DHCP сервере привяжи его mac к ip, а дальше в фильтре крути как надо с этим ip
Вопрос: Какую коммерческую CMS интернет-магазина выбрать?

Лучший ответ:
Если вам важна интеграция с 1с, то напрашивается 1с-битрикс, потому что принадлежит той же компании и соответственно там лучшая интеграция с 1с :)

Ну и в целом, для большого магазина с таким кол-вом товаров битрикс, вероятно, будет лучшим решением.
Его используют крупнейшие магазины: eldorado.ru, svyaznoy.ru, euroset.ru.
также из плюсов битрикса: огромное кол-во подрядчиков и программистов.

umi и netcat позиционируются как простые CMS, серьезных e-commerce проектов на них нету. Однако, все действительно зависит от задач. И если готовы принести функциональность в ущерб простоте, то и их можно рассмотреть.

Худший ответ:
Возможно еще какие другие коммерческие CSM кто подскажет?
Вопрос: Vk.com long-poll API непонятный код события?

Лучший ответ:
Каждое сообщение имеет флаг — значение, полученное суммированием любых из следующих параметров. 
Как вариант, это 64+32+4+1

Худший ответ:
«Этот код события соответствует видеозвонку.»
Ответила мне поддержка vk.com

Спасибо им! :)
Вопрос: На чём написан AirBnB?

Лучший ответ:
Делайте свой проект на чем угодно. Стак технологий не значит ровным счетом ничего, можно сделать на любом.
Главное, берите те технологии, которые вы знаете.

Худший ответ:
Тут расписано на чём можно такой сайт написать: https://www.quora.com/I-want-to-create-a-third-par...
Вопрос: Как сделать лендинг с разделением на 2 категории?

Лучший ответ:
Сделайте так: при загрузке сайта блоки продавца и покупателя имеют  display:none. А при нажатии куда нужно через  jquery это свойство менять.

Худший ответ:
Джиквери онклик слайдап.
На самом деле это дерьмово. Потому что человек открывает страницу, начинает скролить и ничего не видит. Сделайте или параллельное изложение или блок для покупателя, а ниже для продавца. В таком случае можно в шапке сделать две кнопки и скролить в зависимости от нажатой до части для покупателя/продавца.
Вопрос: Есть ли готовый блок &quot;войти через социальные сети&quot;

Лучший ответ:
насколько я понимаю, подобный сервис предоставляет loginza (loginza.ru), купленный яндексом

Худший ответ:
Есть интересный сервис uLogin (ulogin.ru)
лучше аналогов и сервисов более незнаю =)
Вопрос: Как настроить на хостинге yii2 advanced?

Лучший ответ:
от себя и для себя# Mod_Autoindex
<IfModule mod_autoindex.c>
  Options -Indexes
</IfModule>

# Mod_Rewrite
<IfModule mod_rewrite.c>
  Options +FollowSymlinks

  RewriteEngine On
  IndexIgnore */*
  RewriteRule ^admin/(.*)?$ /backend/web/$1 [L,PT]

  RewriteRule ^admin(.*)?$ /backend/web/$1 [L,PT] 

  RewriteRule ^([^/].*)?$ /frontend/web/$1
</IfModule>
а это backend/config/main.php  с правилом перехода со словом admin в адресе и убранным именем контроллера, во frontend все аналогично только убрать . "/admin" из строки 'baseUrl' => $baseUrl . "/admin", ну и естественно поменять все встречающиеся слова backend на frontend<?php
$params = array_merge(
    require(__DIR__ . '/../../common/config/params.php'),
    require(__DIR__ . '/../../common/config/params-local.php'),
    require(__DIR__ . '/params.php'),
    require(__DIR__ . '/params-local.php')
);
 
use \yii\web\Request;
$baseUrl = str_replace('/backend/web', '', (new Request)->getBaseUrl());
 
return [
    'id' => 'app-backend',
    'basePath' => dirname(__DIR__),
    'bootstrap' => ['log'],
    'controllerNamespace' => 'backend\controllers',
 
    'components' => [
 
        'request' => [
            'baseUrl' => $baseUrl . "/admin",
        ],
 
        'user' => [
            'identityClass' => 'common\models\User',
            'enableAutoLogin' => true,
        ],
 
        'log' => [
            'traceLevel' => YII_DEBUG ? 3 : 0,
            'targets' => [
                [
                    'class' => 'yii\log\FileTarget',
                    'levels' => ['error', 'warning'],
                ],
            ],
        ],
 
        'errorHandler' => [
            'errorAction' => 'site/error',
        ],
 
        'urlManager' => [
            'enablePrettyUrl' => true,
             'showScriptName' => false,
             'suffix'=>'/',
             'rules'=>array(
                 ''=>'site/index',
                 '<action>'=>'site/<action>',
             ),
        ],
    ],
    'params' => $params,
];

Худший ответ:
rewrite (Nginx / Apache) вам в помощь
Вопрос: Как генерируются ссылки вида «username.site.com/ »?

Лучший ответ:
@Bowen причем тут движок? Автора наверно и интересует как оно внутри движка происходит. 
А вообще он наверно хотел погуглить что-то типа https://www.google.com/search?q=php+create+subdomain или https://www.google.com/search?q=php+create+subdoma... , но случайно задал вопрос на тостере.

Худший ответ:
Называется поддоменыПоддомен — домен, являющийся частью домена более высокого уровня. Единственные домены, не являющиеся также поддоменами — корневые ...
Вопрос: Чисто теоретически, можно ли написать субд на python?

Лучший ответ:
Да хоть на PHP/Ruby. Просто работать будет медленнее (индексы)

Худший ответ:
Чисто теоретическую - можно
Вопрос: Организация продажи ПО

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

Худший ответ:
Почитал про RoboKassa. Довольно удобная вещь и легкая в подключении.
Но там сказано: Просим обратить Ваше внимание на то, что физическим лицам недоступна оплата через терминалы QIWI и банковскими картами., а поддержки зарубежный платёжных систем, таких как PayPal, e-gold, LR нет. Выходит что поддержка работы с зарубежными клиентами есть только у Юридических лиц и Индивидуальных предпринимателей. Так что система не подходит по причине того, что основной уклон идет на клиентов из US, GB, DE, FR. А создавать ИП не хотелось бы.
Вопрос: Как правильно реализовать такой эффект?

Лучший ответ:
Чисто CSS решение jsfiddle.net/ihorgorobets/yf1xoe41/1

Худший ответ:
Как то так: jsfiddle.net/IonDen/4Lqbdzao
Вопрос: FileReader и файл application/zip

Лучший ответ:
Вы зря полагаетесь на то, что выдает браузер в качестве mime-типа. Они (браузеры) не знают большое количество типов и не могут гарантировать корректное распознавание, т.к. производят его на основе расширения (под windows). Самый верный на мой взгляд способ — это найти или реализовать самому аналог mime-magic на Javascript.

Худший ответ:
Не перестаю удивляться, задаёшь вопрос, а какой-то мудак ставит минус безо всяких объяснений. Всё больше склоняюсь к мысли, что хабр уже давно превратился в фишки.нет с соответствующей аудиторией.
Вопрос: Как называется свойство, которое прописывается в Chrome для смены параметров безопасности?

Лучший ответ:
Вариантов много: аргументы, параметры, ключи, флаги, аргументы командной строки, параметры командной строки и т.п.
В вашем случае, можно найти так https://www.google.com/search?q=chrome+command+line
скорее всего вы ищите --disable-web-security

Худший ответ:
Видимо, речь про chrome://flags/?
Вопрос: Безболезненная миграция php c 4 на 5?

Лучший ответ:
смотря что понимается под миграцией и как написан код, в некоторых случаях вообще ничего делать не надо - вот например "hello world!" отлично перенесся аж с php 3 на 5.6

Худший ответ:
Тут болезненного ничего нет, главное чтоб скрипт работал с php 5.*
Киньте ссылку рессурса
Вопрос: Как сделать множественные фильтры в Angular?

Лучший ответ:
или же видел решение
Делать фильтрацию в контроллере любым удобным для вас образом. Хватит писать логику в шаблонах.

Худший ответ:
А ну бросьте весь код, сдаётся мне что Вы не правильно фильтры на предаставлении вызываете.
Вопрос: Как просто добавить ssh-ключ на Github и в github-клиент?

Лучший ответ:
Заходите на Github, в настройки своего аккаунта. Там есть вкладка SSH Keys, открываете ее, там кнопка Add SSH Key. Title - какой угодно, Key - копируете весь текст из файла id_rsa.pub, того что в C:\Users\<Имя_пользователя>\.ssh лежит. И будет вам счастье.

Худший ответ:
Там же на github и простая инструкция для любой ОСhttps://help.github.com/articles/generating-ssh-keys
Вопрос: Как в Skype отправлять сообщение с html тэгами на Mac?

Лучший ответ:
Если я правильно помню, HTML тэги работают только в клиентах под Windows (версии < 5.8) и Linux.
Вот эти ребята тоже так считают.

Худший ответ:
>>> ctrl + shift + кнопка отправки сообщения
Вы же пробуете просто ctrl | shift | alt | fn | cmd +Enter
Пробовали cmd + shift + enter?
Вопрос: Какой курс/книгу посоветуете по современному программированию на PHP для поднятия уровня?

Лучший ответ:
Единственной прочитанной за это время книгой была
Значит, Макконнелл "Совершенный код", Рефакторинг М.Фаулер. Если даже уже читали - то перечитайте. По прошествии аж 5 лет много чего переосмыслите на повторном чтении.
Фридл "Регулярные выражения" пригодится для общего образования, "High Performance MySQL" - обязательно, если работаете с mysql
www.phptherightway.com изучаете всё, что прошло мимо вас конкретно в мире PHP.
На ближайшее время хватит.

Худший ответ:
Чтобы поднять уровень в PHP, попробуйте поставить цель - сдать экзамен на Zend Certification, и начните к нему готовиться.www.zend.com/en/services/certification/php-5-certi...
Вопрос: Почему свойства наследуемого класса сохраняются в базовом?

Лучший ответ:
Компилятор выделяет под new A память для хранения всех производных классов?
конечно нет, он не знает всех производных классов, если вы напишете new A то вам и выделят память под объект типа A.
Другое дело что в вашем примере вы выделяете память под объект типа B, а не A:A* a = new B(2);
так что не очень понимаю ваше удивление, вы выделили памяти достаточно.

Худший ответ:
Спасибо! Вопрос всплыл по невнимательности.
А где-нибудь регламентирован порядок расположения в памяти членов базового/ производных классов?
Вопрос: Задачи на Java

Лучший ответ:
Вот еще хороший сервис — acm.timus.ru/authedit.aspx
После решения нескольких десятков задач на Тимусе многие задачи из реальных проектов кажутся просто смешными.

Худший ответ:
По моему прикладное программирование далеко от олимпиадного, которое заточено под алгоритмы и ввод вывод, когда в прикладном львинная доля усилий интерфейс + технологии и чаще всего простые алгоритмы(но не везде).
В свое время я брал обычную прикладную задачу по работе которую мне надо было делать и реализовывал её на изучаемом языке.
Одна из задач была сканер макадресов в своей подсети, попробуйте написать. Его точно можно написать.
Вопрос: l2tp на ubuntu

Лучший ответ:
Советую посмотреть форум Билайн-Интернета (бывшей Корбины) — homenet.beeline.ru/index.php?showforum=629
Настрйоки очень похожи.

Худший ответ:
Очень рекомендую расширение для  network manager'a
Уже несколько месяцев пользуюсь:
легко устанавливается( только не забудьте перезагрузиться, а то я долго думал в чем проблема)
легко подключается
Вопрос: Как сколхозить пассивное охлаждение?

Лучший ответ:
смажьте куллер или поставьте куллер малооборотистый на 120 мм. будет бесшумно

Худший ответ:
~от 2 до 4,6 кг меди
также market.yandex.ru/model.xml?modelid=6097686&hid=818965
Вопрос: Mikrotik: выбор «дорожного» роутера. Что и насколько сложно можно сделать?

Лучший ответ:
1. Хватит. Не загнется. 
2. Возможностей хватит, уровни лицензии ограничивают только количество туннелей/VPN-соединений. Но есть свои нюансы… Мануалов в интернете тысячи, один из сайтов вот тут:
саморекламаhttp://nix.khd.ru/

3. Документация вменяемая, но по некоторым особенностям придется читать howto, чтобы не изобретать велосипедов

Худший ответ:
К слову, рассмотрите и Keenetic II, а также Keenetic Ultra.
Вопрос: система тегов на MongoDB

Лучший ответ:
http://www.mongodb.org/display/DOCS/MapReduce — пример Shell Example 2 похож на то, что Вам надо.

Худший ответ:
Всем спасибо!

После поиска наткнулся на совет от авторов Mongo:
cookbook.mongodb.org/patterns/count_tags/

sadist007 > да похоже на то, спасибо. В примере по приведенной мной выше ссылке таблица потом не удаляется, т.е. создается постоянная таблица, которая обновляется при каждом добавлении тега. Поняв принцип, могу предложить такой вариант:
при каждом добавлении-удалении добавлять/удалять теги из этой таблицы и раз в N-ый промежуток времени делать map-reduce для пересчета, для точности.

Теперь возник следующий вопрос: как выбирать посты по тегу? Опять же Map/Reduce'ом? Не слишком ли долго?
Вопрос: Плагин jQuery для работы со временем (форматирование)?

Лучший ответ:
Momento JS  попробуйте

Худший ответ:
Привет!
А зачем плагин?//Текущее время timeZoneOffset=null
    //Текущее время в Москве timeZoneOffset=+4
    //timeZoneOffset - временная зона
    function Clock(timeZoneOffset) {

        var time = new Date();

        if (timeZoneOffset !=null){
            time.setHours( time.getHours() + timeZoneOffset, time.getMinutes() + time.getTimezoneOffset());
        }

        var  month_num = time.getMonth();
        var  day = time.getDate();
        var  hours = time.getHours();
        var  minutes = time.getMinutes();
        var  seconds = time.getSeconds();

        month = new Array("января", "февраля", "марта", "апреля", "мая", "июня",
                "июля", "августа", "сентября", "октября", "ноября", "декабря");

        if (day <= 9) day = "0" + day;
        if (hours <= 9) hours = "0" + hours;
        if (minutes <= 9) minutes = "0" + minutes;
        if (seconds <= 9) seconds = "0" + seconds;

        this.getDay = function () {
            return day;
        };
        this.getMonth = function () {
            return month[month_num];
        };
        this.getYear = function () {
            return time.getFullYear();
        };
        this.getHours = function () {
            return hours;
        };
        this.getMinutes = function () {
            return minutes;
        };
        this.getSeconds = function () {
            return seconds;
        };

    }



    onload = function () {
        setInterval(function () {
            var timeMoscow = new Clock(+4);
            var timeReal = new Clock();

           /* document.getElementById("dayMoscow").innerHTML =timeMoscow.getDay() + " " + timeMoscow.getMonth() + " " + timeMoscow.getYear();
            document.getElementById("dayReal").innerHTML =    timeReal.getDay() + " " +   timeReal.getMonth() + " " +   timeReal.getYear();*/

            document.getElementById("timeMoscow").innerHTML =timeMoscow.getHours() + ":" + timeMoscow.getMinutes() + ":" + timeMoscow.getSeconds();
            document.getElementById("timeReal").innerHTML = timeReal.getHours() + ":" + timeReal.getMinutes() + ":" + timeReal.getSeconds();
        }, 100);
    }
думаю не сложно будет переделать =)
Вопрос: В книге «Отзывчивый веб-дизайн», Итан Маркотт путают поля с отступами?

Лучший ответ:
Хотя известно же что поля это маргины а отступы падинги. 
Как раз наоборот.

Худший ответ:
Судя по всему, Вас ввел в заблуждение формальный перевод, действительно, Google Translate переводит "margin" как "поле". 
Все остальное так, как уже написали выше.
Вопрос: Как правильнее реализовать получение данных со стороннего API?

Лучший ответ:
я опущу свою тираду по поводу бандлов в рамках одного приложения (должен быть только один бандл - AppBundle, остальное нужно только для реюзабельных вещей. Если вы не можете реюзать ваше решение то нет смысла запирать это в бандле), сосредоточусь на контроллерах.
Как вы написали, контроллеры должны обрабатывать HTTP запросы, вот пусть они этим и занимаются. Берут запрос, забирают и обрабатывают данные, просят сервисы что-то сделать (а не делают сами) и потом выплевывают результат работы этих сервисов наружу.
API инстаграма это хранилище данных и только. Для работы с хранилищами существует шаблон "репозиторий". То есть мы делаем маленький сервис, который будет работать с API, а всему остальному коду и дела нет откуда эти данные берутся. Если вам надо будет добавить кеширование ответов API  -можно завести сервис-декоратор, ну и т.д. Ну и для взаимодействия с самим API есть море готовых решений вплодь до готовых клиентов к инстаграму. Ваша задача все это дело закрыть фасадом, красивым интерфейсом через который ваши задачи решаются просто. Таким образом мы сокроем для приложения все сложность доставания картинок и т.д.
Короче основная мысль, раз уж говнокодить (а на этапе обучения без этого никак не обойдешься) то пускай это дело будет изолировано за красивым интерфейсом, что бы потом можно было подправить и изменения не влияли на все приложение.
А еще было бы неплохо попрактиковать TDD но это если вам позволяет время. Вообще настоятельно рекомендую перейти на практику TDD (почитайте Кента Бэка на эту тему).И еще говорят, что считается правка composer библиотеки напрямую изменяя код в vendor не хорошим, как дополнять либы новым функционалом?
Все что в vendor должно оставаться неприкосновенным. Если вы хотите расширить функциональность вы должны обернуть чужую штуку в свою, или реализовать интерфейсы предоставленные чужой штукой... ну короч расширять можно путем декорирования и... в случае с плохими библиотеками - наследованием. Ну и еще вариант - пул реквесты но это только если вы уверены что эта функциональность нужна не только вам.

Худший ответ:
>Как правильнее обращаться к сторонниму API
Лучше всего, сделать сервис, в котором будет ваш код связи с-чем-угодно. А в самом приложении использовать сервис, как высокоуровневый элемент. Если вы видите, что этот код может в будущем будет использоваться в разных проектах, то тогда есть смысл вынести в отдельный бандл. Я не вижу большого смысла разделять один проект на разные бандлы (разве что специально сделать их очень слабо связанными).
Почитайте мой ответ в другом вопросе.
>как дополнять либы новым функционалом?
Форкнуть либу, дополнить вашим кодом, и подключать ваш форк. Это общее правило, не только для Symfony, и не только composer. Иначе, если автор библиотеки выпустит новую версию (новую функцию или исправление бага), то ваше изменение будет конфликтовать с новой версией либы.
Вопрос: Когда стоит включать и выключать таймер почасовой оплаты на UpWork?

Лучший ответ:
бильте все что связано с работой

Худший ответ:
Можете разбить свое время по стоимости на техническую работу и рутину. Техническая стоит как за знания, а техническая - как за потраченное время. Собственно и стоимость можете указать разную - чтобы заказчик понимал.