/**
* Get exclude tags by source id
* @param Request $request
* @param $post
* @return array
*/
public function getExcludedTags(Request $request, $post = false): array
{
$rankAttributes = $this->getRankAttributes($request);
$excludeTags = [];
if (isset($rankAttributes[StatsHelper::ATTR_CAMPAIGN_ID], TargetHelper::$campaignExclude[$rankAttributes[StatsHelper::ATTR_CAMPAIGN_ID]])) {
$excludeTags = array_merge($excludeTags, TargetHelper::$campaignExclude[$rankAttributes[StatsHelper::ATTR_CAMPAIGN_ID]]);
}
if ($post !== false && !empty($post->tags)) {
foreach ($post->tags as $tag) {
if (isset(TargetHelper::$excludeTagsMap[$tag->id])) {
/** @noinspection SlowArrayOperationsInLoopInspection */
$excludeTags = array_merge($excludeTags, TargetHelper::$excludeTagsMap[$tag->id]);
}
}
}
if (empty($excludeTags)) {
$excludeTags = false;
}
return $excludeTags;
}
Разработка и технадзор
Разработка сложных проектов очень требовательна к уровню квалификации
специалистов. Незнающего человека легко ввести в заблуждение как по срокам,
так и по бюджетам.
Недостаточно опытные специалисты могут допустить критические ошибки еще
на стадии проектирования, что всегда выливается в дополнительные затраты.
Разработка сложных проектов – это всегда работа команды, а команду нужно
контролировать.
И желательно, чтобы контроль был «на вашей стороне».
Я работал техническим директором более 6 лет в разных компаниях, поэтому
могу решать следующие задачи:
Выполняю аудит штатного отдела разработки. Нахожу проблемы, предлагаю
решения, выстраиваю систему.
Контролирую разработку проектов любой сложности в уже сформированной команде.
Проектирую, оцениваю сроки, декомпозирую задачи, довожу до результата.
Разработка под ключ. Помогу реализовать проект с нуля. Наберем команду,
разработаем, запустим.