будут ли они понимать, что у программиста в рабочем дне эффективными являются только порядка 4 часов.Мы хз будут ли они понимать или не будут.
Плюс часть времени программист тратит на обдумывание решения задачи. Часть времени он тратит на документацию, на форумы.Это либо отдельная задача на проектирование, либо идёт в основную.
Плюс у нас есть такие сотрудничи, в чьи обязанности входит еще переписка с заказчиками, обсуждение сложных моментов по телефону. Это тоже занимает время. Как это учитывать в тайм трекерах?Так и учитывать.
Так же аналитик у нас еще частьв ремени тратит на проверку задач, часть на формулировку задач. Это он тоже не сходу придумывает. Сначала нужно много думать, смотреть другие сайты прежде, чем принять решение. Это как учитывать?
какие ньюансы нужно обговорить с инвесторами чтобы и обе стороны остались удовлетвореннымми?Нюанс один - заказчик должен заранее понимать, что работа над его задачей не измеряется только временем, которое ушло на написание кода, который в итоге пошёл в проект. В задачу входит всё - проектирование, тестирование, менеджмент, сбор требований, деплой, обучение и дальнейшая поддержка.
const query = 'foo';
let page = +query;
if (isNaN(page) || page <= 0) {
page = 1;
}
const query = '-1';
let page = 1;
if (/^\d+$/.test(query)) {
page = +query;
// Любители плохо читаемого кода могут написать так и избавиться от условия ниже:
// page = +query || 1
}
if (page <= 0) {
page = 1;
}
If you would like to continue using the original auto-prefixed controller routing, you can simply set the value of the $namespace property within your RouteServiceProvider and update the route registrations within the boot method to use the $namespace property
select id from mytable where field = 1;
этот индекс может давать приличный профит при условии, что в таблице много других колонок - СУБД не придётся считывать лишние данные с диска, будет использоваться только индекс. Если же запрос сложнее или таблица проще, то профит уменьшается. Конкретные значения может дать только EXPLAIN.Request $request
- это объект запроса, его Laravel автоматически вам передаст, если вы в параметрах его указали.formEditUser.url = $(this).attr('href')
- здесь у вас в адресе должен быть указан get-параметр id и тогда всё будет работать. Откуда вам брать этот id пользователя из вопроса непонятно.function LinkFormatter(value, row, index) {
return "<a href='"{{route('createFormEditUser, ['id' => ???]')}}"'>"+value+"</a>";
}
route()
(если у вас не подключен laroute, конечно), а главное - формат шаблона blade. Либо у вас по совпадению на фронте шаблонизатор с тем же форматом и есть функция генерации url по параметрам роута Laravel, либо вы вообще не понимаете, что пишете. The following are required if you are submitting pull requests to the documentation.https://github.com/strapi/documentation#documentat...
If you are looking for the Strapi code, please see the Strapi Monorepo.
Self-hosted. You can host and scale Strapi projects the way you want. You can choose any hosting platform you want: AWS, Render, Netlify, Heroku, a VPS, or a dedicated server.
document.head.outerHTML + document.body.outerHTML
. function getXmlProduct(string $product_code, SimpleXMLElement $xml): int
{
foreach ($xml->items->item as $item) {
if (
(string)$item->code === $product_code &&
(string)$item->stock === "В наявності"
) {
return (int)$item->priceRUAH;
}
}
return 0;
}
function getXmlProduct($product_code, $xml)
{
foreach ($xml->items->item as $item) {
if ($item->code == $product_code && $item->stock == "В наявності") {
return (int)$item->priceRUAH;
}
}
return 0;
}
$tipIds = array_unique(array_column($tovar['tips'], 'id'));
ksort($orderGrouped, SORT_NUMERIC)
перед циклом.var_dump($orderGrouped)
в самом начале - наверняка, порядок будет нарушен уже там.$filteredArray = [];
ksort($orderGrouped, SORT_NUMERIC);
foreach($orderGrouped as $group){
array_push($filteredArray, ...$group);
}
$filteredArray[] = $groupItem
. опрашиваем api пока не получим нужные данныеВ вашей постановке уже есть большая часть ответа - формулировка "пока не" чётко указывает на необходимость использования цикла.
foreach (['anime-tv-series', 'show-tv-series', 'tv-series'] as $type) {
$json = json_decode($this->videocdn_get($data, $type), true);
if ($json['status'] == 'true') {
return $json;
}
}
return ['status' => 'false'];
$response = ['status' => 'false'];
foreach (['anime-tv-series', 'show-tv-series', 'tv-series'] as $type) {
$json = json_decode($this->videocdn_get($data, $type), true);
if ($json['status'] == 'true') {
$response = $json;
break;
}
}