• В какую сторону учиться, QA, front end или back end для реалистичного входа?

    vhood
    @vhood
    Не забывайте отмечать решения
    чуйка говорит, что через QA реалистичнее "ворваться". Что думаете?
    Думаю, это маркетинг.

    Вообще, хотелось бы, конечно, выучить хорошо Excel, SQL и дэшборды делать какие-нибудь на первых порах:), но судя по всему требуется знать финанализ, опыт в бизнесе и маркетинге и тд, чего у меня нет.
    Это требуется тем, кто ставит задачи, а разработчикам лишь для ознакомления и не обязательно.
    Смотри в сторону "разработчик баз данных / SQL разработчик" стажер/trainee.
    Советую хорошо изучить устройство баз данных, язык SQL и поработать с тестовыми данными и задачами.
    Ответ написан
    Комментировать
  • Как исправить синтаксическую ошибку в Битрикс?

    vhood
    @vhood
    Не забывайте отмечать решения
    Можно засунуть код в редактор, который подсвечивает синтаксис, и исправить там.

    Ошибок много, какие-то символы )"> после span идут, href не назначен (переменная вызывается, в которой массив, а ключ массива отсутствует и php не закрывается).

    Вот, немного поправил именно тот участок, что предоставлен:
    <a href="<?=$arSection["SECTION_PAGE_UR"]?>" data-bx-app-ex-href="<?=$arSection["SECTION_PAGE_UR"]?>" class="section">
    			<div class="section__picture">
    				 <?
                                $picture = SITE_TEMPLATE_PATH.'/img/no_photo.png';
                                if ($arSection["PICTURE"] != ""){
                                    $picture = CFile::ResizeImageGet($arSection["PICTURE"], Array("height" => 175))["src"];
                                }
                                ?>
    				<div style="background-image:url('<span id=" title="Код PHP: &lt;?=$picture;?&gt;" class="bxhtmled-surrogate">
    					<span class="bxhtmled-surrogate-inner"><span class="bxhtmled-right-side-item-icon"></span><span class="bxhtmled-comp-lable" unselectable="on" spellcheck="false">Код PHP</span></span>
    				</div>
    				<div class="section__icon">
     <i class="far fa-sign-in"></i>
    				</div>
    			</div>
    			<div class="section__main">
    				 <?=$arSection["NAME"];?>
    			</div>
     </a>
    		</div>
    		 <?
                    if ($s > 5)
                        break;
                    $s++;?> <?endforeach;?>
    	</div>
    	 <?if (count($arSections) > 6):?>
    	<div class="button-line">
     <a href="/katalog/" class="button button_black wstyle wstyle_white">Посмотреть все категории</a>
    	</div>
    	 <?endif;?>
    </div>
     <?endif;?> <?
    $iblock_id = 4;
    $arServices = Array();
    $arFilterE = Array("IBLOCK_ID" => $iblock_id, "ACTIVE" => "Y");
    $arSelectE = Array("IBLOCK_ID", "ID", "NAME", "PREVIEW_PICTURE");
    $rsElement = CIBlockElement::GetList(
        Array("SORT"=>"ASC"),
        $arFilterE,
        false,
        false,
        $arSelectE
    );
    while($arElement = $rsElement->GetNextElement()){
        $arFieldsE = $arElement->GetFields();
        $arServices[] = $arFieldsE;
    }
    ?> <?if (count($arServices) > 0):?>
    <div class="block block_border">
    	<div class="title title_center">
    		Популярные услуги
    	</div>
    	<div class="row">
    		 <?$s = 1;?> <?foreach ($arServices as $arService):?>
    		<div class="col-lg-4">
     <a href="<?=$arService["DETAIL_PAGE_URL"]?>" data-bx-app-ex-href="<?=$arService["DETAIL_PAGE_URL"];?>" class="section section_wtitle">
    			<div class="section__picture">
    				 <?
                                $picture = SITE_TEMPLATE_PATH.'/img/no_photo.png';
                                if ($arService["PREVIEW_PICTURE"] != ""){
                                    $picture = CFile::ResizeImageGet($arService["PREVIEW_PICTURE"], Array("height" => 200))["src"];
                                }
                                ?>
    				<div style="background-image:url('<span id=" title="Код PHP: &lt;?=$picture;?&gt;" class="bxhtmled-surrogate">
    					<span class="bxhtmled-surrogate-inner"><span class="bxhtmled-right-side-item-icon"></span><span class="bxhtmled-comp-lable" unselectable="on" spellcheck="false">Код PHP</span></span>
    				</div>
    				<div class="section__title">
    					 <?=$arService["NAME"];?>
    				</div>
    			</div>
     </a>
    Ответ написан
    1 комментарий
  • Как убрать полосу сверху?

    vhood
    @vhood
    Не забывайте отмечать решения
    Убрать галочку View -> Appearance -> Menu Bar

    Или найти управление этой панелью в меню660a47b433b4f247033803.png
    Ответ написан
    Комментировать
  • Как правильно пройтись циклом внутри другого?

    vhood
    @vhood
    Не забывайте отмечать решения
    Одиакового ничего, идея скорее всего выводить по идексу в массиве

    Значит нужно по индексу и связывать
    <?php foreach ($arItem['PROPERTIES']['IMG_BEFORE']['VALUE'] as $index => $arImgBeforeSrc): ?>
        <?php $arImgAfterSrc = $arItem['PROPERTIES']['IMG_AFTER']['VALUE'][$index] ?>
        <div class="cocoen">
          <img data-src="" class="blog-list__item-image<?=($arParams['ROUNDED_IMAGE'] ? ' rounded' : '');?>" src="<?=CFile::getPath($arImgBeforeSrc);?>" alt="">
          <img data-src="" class="blog-list__item-image<?=($arParams['ROUNDED_IMAGE'] ? ' rounded' : '');?>" src="<?=CFile::getPath($arImgAfterSrc);?>" alt="">
        </div>
    <?php endforeach ?>

    Только в коде не учтен момент, когда изображение "после" может отсутствовать. Во избежание ошибки, вторую картинку лучше в условии выводить и в объявлении переменной $arImgAfterSrc проверку сделать.
    Ответ написан
    Комментировать
  • Почему не получается сразу получить актуальную версию?

    vhood
    @vhood
    Не забывайте отмечать решения
    git pull

    подтягиваю на сервер актуальную версию git fetch origin master
    только информацию об этой версии
    Ответ написан
    4 комментария
  • Пропала вкладка OUTPUT в терминале и не обновляется код - как исправить?

    vhood
    @vhood
    Не забывайте отмечать решения
    1) Клинки правой кнопкой мыши на панель с терминалом и включи output
    6603aa640ed73675783795.png

    2) А файл сохранить перед запуском не пробовали? На скрине файлы обновленные и не сохраненные (точка белая справа). Можно настроить автосохранение, если не удобно вручную.
    6603aafe3da02081600040.png
    Ответ написан
    4 комментария
  • Как лаконичнее всего выбрать селекторы?

    vhood
    @vhood
    Не забывайте отмечать решения
    div[id], лучше от родителя .parent div[id]
    Ответ написан
    Комментировать
  • Как скрыть верхнюю панель со строками vs code 1.87?

    vhood
    @vhood
    Не забывайте отмечать решения
    Добавить в settings.json
    "editor.stickyScroll.enabled": false
    Ответ написан
    Комментировать
  • Миддл без юнит тестирования?

    vhood
    @vhood
    Не забывайте отмечать решения
    В разных компаниях разный уровень знаний для middle. Где-то тесты ни для какого грейда не требуются, как на твоей
    полноценной работе

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

    я за честность в резюме
    только не надо писать "не умею", лучше просто не упоминать
    Ответ написан
    Комментировать
  • Как настроить PHP Psalm в VS Code для вложенной папки?

    vhood
    @vhood
    Не забывайте отмечать решения
    "psalm.configPaths": [
        "src/psalm.xml",
    ]
    Ответ написан
    Комментировать
  • Как сделать что бы открывалось модальное окно и в него выводились данные из БД?

    vhood
    @vhood
    Не забывайте отмечать решения
    Нужно с помощью JS посылать AJAX запрос на PHP скрипт.

    Далее 2 варианта:

    1) PHP скрипт возвращает данные (например, в формате JSON), JS заполняет поля модального окна этими данными и отображает его

    2) PHP скрипт возвращает HTML уже готового модального окна, JS только подставляет его в родительский элемент

    Пример запроса:

    async function openModal(id = 0){
        if(!id){
           return;
        }
    
        const response = await fetch(`library.php?id=${id}`);
        const responseText = await response.text();
    
       // Дальше делайте манипуляции с модальным окном и полученными данными
    }
    Ответ написан
  • Почему при подключении скрипта в теге head возникает ошибка?

    vhood
    @vhood
    Не забывайте отмечать решения
    Разберем вопрос:

    он уже есть в самом html документе
    браузер разбирает HTML документ постепенно

    js должен видеть
    это в каком контракте написано?

    почему если скрипт подключить в теге head то получим ошибку, а если внизу body то всё нормально
    потому что скрипт блокирующий и браузер выполняет его до того, как появляется H1

    Варианты решения:
    1. Оставить скрипты внизу body, что-бы выполнялись после загрузки вышестоящих тегов
    2. Атрибутом defer указать браузеру, что выполнять скрипт нужно после построения DOM дерева
    3. Прослушивать события страницы на стороне JS, работать с тегами только после построения DOM дерева
    Ответ написан
    Комментировать
  • Почему не отображаются символы на сайте?

    vhood
    @vhood
    Не забывайте отмечать решения
    дело в кодировке
    Ответ написан
    22 комментария
  • Как вытащить строку из текста?

    vhood
    @vhood
    Не забывайте отмечать решения
    $str = '
    текст текст текст текст текст
    <tr><td>Габариты заводской упаковки (длина, ширина, высота): <b>35 x 16 x 9</b> см. </td></tr>
    <tr><td>Габариты упаковочной коробки (длина, ширина, высота): <b>40 x 21 x 14</b> см. </td></tr>
    текст текст текст текст текст
    ';
    
    preg_match('/Габариты упаковочной коробки.*<b>(.*)<\/b>/', $str, $matches);
    
    $value = array_key_exists(1, $matches) ? $matches[1] : null;
    
    var_dump($value);
    
    // 40 x 21 x 14
    Ответ написан
    1 комментарий
  • Насколько правильно указан этот код (относительно к width)?

    vhood
    @vhood
    Не забывайте отмечать решения
    Во-первых, нужен класс для p вместо <p style="font-size: 16px">

    Во-вторых, если
    внизу результат, а сверху как должно быть
    то очевидно, что картинка справа шире, чем должна быть.

    В-третьих,
    насколько правильно указать ширину(width) процентом
    вполне обычная практика

    В-четверых,
    часть текста невидно в мобильной версии
    @media запросы или значения типа font-size: max(30vw, 30px) в помощь
    Ответ написан
    2 комментария
  • Я не понимаю как работает задачка с циклами код в JavaScript?

    vhood
    @vhood
    Не забывайте отмечать решения
    Зачем здесь переменная wordd
    для хранения в ней строки

    Для чего мы ее складываем с wordd + "#"
    для изменения этой строки

    мы ее складываем
    не складываем, а меняем значение, и при изменении значения берем предыдущее
    Ответ написан
    Комментировать
  • Как перебрать многомерный массив с учетом динамического промежуточного ключа?

    vhood
    @vhood
    Не забывайте отмечать решения
    $ids = [];
    foreach ($array['_embedded']['movement_acceptance'] as $acceptance) {
        $ids[] = $acceptance['id'];
    }
    var_dump($ids);
    Ответ написан
    2 комментария
  • Как будет более оптимально?

    vhood
    @vhood
    Не забывайте отмечать решения
    скорости работы

    Изменение класса быстрее (замеры проводили, можете воспроизвести)
    Ответ написан
    Комментировать