Задать вопрос
  • Не хожу на работу, но меня не увольняют и не платят зарплату, как быть?

    BasiC2k
    @BasiC2k
    .NET developer (open to job offers)
    У Вас отличный кейс! Отличный в плане того, что есть возможность получить всю заработную плату с дня заключения трудового договора, до его расторжения. Перечитайте трудовой договор, проконсултируйтесь с юристом. И если Вас что-то не устраивает - всегда можно уволиться )
    Ответ написан
    2 комментария
  • Что должен знать Middle+ разработчик Go?

    dimonchik2013
    @dimonchik2013
    non progredi est regredi
    3-5 коммитов в популярные либы достаточно
    Ответ написан
    4 комментария
  • Что должен знать Middle+ разработчик Go?

    opium
    @opium
    Просто люблю качественно работать
    так ты ж мидл мы у тебя должны спрашивать
    Ответ написан
    Комментировать
  • Дефолтное значение, пока полностью не загрузился Vue?

    Fragster
    @Fragster
    помогло? отметь решением!
    Теоретически можно сделать как-то так:
    <div id="app">
      <div v-cloak>{{ price }}</div>
      <div class="uncloak">0</div>
    </div>

    [v-cloak] { display: none }
    [v-cloak] + .uncloak { display: block }
    .uncloak { display: none }

    но скорее всего будет немного моргать в момент переключения. Как-то так: https://codepen.io/FragsterAt/pen/wvXNYax
    Ответ написан
    2 комментария
  • Как создать собственную тему для чужих сайтов?

    MrDecoy
    @MrDecoy Куратор тега CSS
    Верставший фронтендер
    Внедряться в сайт оно не будет.
    Можно только локально, то есть конкретно у вас в браузере переопределить стили. Такое расширение уже есть. Вы ставите себе это расширение, пишите в нем стили и они применяются к сайту.
    Всё что нужно сделать - написать эти стили.
    Но работать это будет до ближайшего обновления сайта. Я так писал свои стили для вк, когда он на новый дизайн перешёл, чтоб старый дизайн вернуть. Держалось в среднем несколько недель. Потом что то нужно было править. А если сайт как инстаграм, например, когда имена классов генерируются, то полагаться можно только на иерархию разметки, а это адище такие стили писать.

    Если просто цветовую гамму сменить - это можно. Если серьёзно что-то менять хотите, то гиблое дело.
    Ответ написан
    Комментировать
  • На чем делать UI для Windows в 2022 году?

    MAUI - это масштабное обновления xamarin-а по сути. ИМХО без поддержки Linux его кроссплатформенность мало чего стоит.
    WPF - это нативная технология при этом с WPF тебе доступны всякие сторонние и родные контролы. В том числе самые новые от WinUI 3.
    UWP превратился в WinUI 3
    Avalonia - кроссплатформа. "Как WPF но лучше", но без поддержки контролов от WPF или WinUI, но есть много свободных вполне неплохих. Да и система стилей достаточно удобная

    Если тебе не нравится Winforms из-за внешнего вида стандартных контролов, то всегда можно использовать сторонние.

    На втором месте наверное AvaloniaUI смущает что на нем каких то больших проектов.

    Есть много разных проектов, в том числе крупных и коммерческих, и от именитых компаний.
    https://avaloniaui.net/Showcase

    Так как программа небольшая я склоняюсь все быстро сделать на Windows Forms, в 2022 году кто то стартует на нем новые проекты?

    Если ты делаешь что-то небольшое и чисто для себя, и ты не умеешь работать с XAML и нет времени на освоение - нет причин не использовать Winforms. Да, он имеет проблемы с производительностью, да он не очень красивый, да винформы не очень легко поддерживать. Но является ли это реальной проблемой для вашего проекта?

    В общем вот мой топ-чарт:
    1. Если дёшево и сердито - Winforms (остальное - если нужен нормальный дизайн)
    2. Если кроссплатформу - Avalonia
    3. Если нужно на телефоны - MAUI (хотя Avalonia уже можно заставить работать на Android)
    4. Если хочется в новый дизайн винды - WinUI 3
    Ответ написан
    6 комментариев
  • Как с помощью регулярного выражения отделить символы с большой буквой, добавив пробел?

    0xD34F
    @0xD34F Куратор тега JavaScript
    str.split(/(?<=\S)\s*(?=[А-ЯЁ])/).join(' ')
    
    // или
    
    str.replace(/(?<=\S)(?=[А-ЯЁ])/g, ' ')
    
    // или
    
    str.replace(/(\S)(?=[А-ЯЁ])/g, '$1 ')
    
    // или
    
    str.replace(/[А-ЯЁ]/g, (m, i) => i && str[~-i] !== ' ' ? ' ' + m : m)
    Ответ написан
    1 комментарий
  • Как лучше объединить элементы массива в строку?

    0xD34F
    @0xD34F
    $toStr = fn($arr) => implode('', array_map(fn($k) => "[$k:]$arr[$k][:$k]", array_keys($arr)));
    print_r(array_map($toStr, $lang));
    Ответ написан
    1 комментарий
  • Как реализовать смену текста при переключении между radio button?

    0xD34F
    @0xD34F Куратор тега Vue.js
    data: () => ({
      meetupId: null,
      meetupData: null,
    }),
    watch: {
      meetupId(val) {
        fetch(`https://course-vue.javascript.ru/api/meetups/${val}`)
          .then(r => r.json())
          .then(r => this.meetupData = r);
      },
    },

    <label v-for="i in 5">
      <input type="radio" name="meetupId" :value="i" v-model="meetupId">
      {{ i }}
    </label>
    <pre>{{ meetupData }}</pre>
    Ответ написан
    Комментировать
  • В чем разница между способами тестирования (в контексте web и php)?

    VoidVolker
    @VoidVolker
    Dark side eye. А у нас печеньки! А у вас?
    Опишу простыми словами для упрощения понимания.

    модульное тестирование

    Тестирование конкретного модуля. Обычно - это самый нижний уровень, отдельные простые классы, т.е. ниже по логике уже будут отдельные функции. Например, в JS есть класс Math - тестирование всех его методов и есть модульный тест. Конечно, границы между логическими уровнями могут быть размыты и в данную категорию вполне можно вписать класс уровнем выше. Так же, модулем может быть и что-то более сложное - опять же, много зависит от масштабов и особенностей архитектуры.

    интеграционное тестирование

    Интеграция - это объединение. По сути выше на один уровень над модульным тестированием. Например, класс, который внутри использует простые классы. Например, есть классы графических двухмерных фигур - например треугольник и квадрат, над ними будет класс логических операций с фигурами на какой-то плоскости - сложение, вычитание и прочее. В данном случае тестируется взаимодействие сразу нескольких классов и модулей. Если строго - то сюда можно вписать тестирование большей части внутренней логики приложения.

    функциональное тестирование

    Очевидно, что тестируются конкретные функции, которые есть в техническом задании. Например: когда пользователь нажимает кнопку "купить" в карточке товара - товар добавляется в корзину.
    какими инструментами оно делается?

    Инструментами автоматизации GUI - для сайтов это Selenium и браузеры. Для десктопных/мобильных приложений аналогичные решения.

    приемочное тестирование

    в че отличие от интеграционных.. еще видел фразу что тут и фронт и бек тестируются, но яснее не стало, какими инструментами оно делается?

    "Бизнес" заказал в "Конторе" разработку сайта, выдал ТЗ, контора сделала сайт, бизнес заплатить денег обещал. Как бизнес проверит что контора сделала именно то, что он хотел? Через приемочное тестировние - бизнес получает доступ к сайту и проверяет, что сайт именно такой, какой он заказывал в ТЗ, а не тот, который сделали индусы за доширак. Если в ТЗ указан конкретный список тестов/фич - используется этот список или так, как прописано в ТЗ само тестирование. Само тестирование проводит соответствующий специалист (инженер отдела качества) - тыкает все кнопочки, нажимает менюшечки и говорит начальству "все окей, подписывай и платим им деньги" или "вот тут и тут не окей, не подписывай, денег не давай". Реальный пример: была заказана и собрана станция спутниковой связи, на приемке были представители заказчика и исполнителя, была толстая пачка бумаги на несколько сотен страниц, по которой первые проверяли что все работает именно так, как там написано в течении нескольких недель (плюс-минус), а вторые исправляли косяки показывали что все окей, потом все поставили свои галочки и крестики и разъехались по домам.

    E2E - тут тестируется чрез браузер, с помощью Mocha и тп, те тестируются "требования бизнеса к приложению", тестируются пользовательские сценарии.. а в чем отличие от функциональных тестов тогда?

    Сквозное тестирование. Это полная проверка от начала и до конца. Отличие от функционального в том, что это более комплексный тест. Если функциональное тестирование - это проверка конкретной функции, тот сквозное - работа всего приложения, т.е. более комплексное. Например, E2E тест приложения для загрузки файла на сервер: тест включает в себя запуск приложения, авторизация пользователя, выбор файла, указание мета информации, загрузку файла на сервер, выход из приложения. Вот тут неплохая статья на хабре: https://habr.com/ru/company/otus/blog/681066/

    Совсем запутался, с unit только понятно, а как уложить и разделить остальные?

    60da68c37e576762375008e5_thumb-image.png
    Картинка отсюда: https://www.rainforestqa.com/blog/the-layers-of-te...
    Ответ написан
    Комментировать
  • Как правильно находить готовые коды, плагины на разных языках?

    AgentSmith
    @AgentSmith
    Это мой правильный ответ на твой вопрос
    Мда. С такой грамотностью далеко не уйдёшь... ПредпрИниматель...
    Я дам простой ответ - предприниматель сам должен уметь находить ответы на вопросы, которые ты здесь задаёшь.
    Ты занимаешься не своей работой."Куски кода искать" должен не руководитель, а разработчик, это его работа и его профессия, за это ты платишь ему деньги
    Ответ написан
    5 комментариев
  • Как PHP получить получить JSON из JAVASCRIPT?

    zkrvndm
    @zkrvndm
    Архитектор решений
    Вообще все неправильно делаешь.

    Отправляешь данные из браузера на сервер вот так:
    (async function() {
        var result = await $.post('api/index.php', { raz: 'Привет, мир!' } );
        console.log('Ответ сервера:', result);
    })();

    Открой консоль CTRL + Shift + J, чтобы посмотреть ответ выведенный через console.log

    На сервере все что ты отправил будет лежать внутри суперглобального массива $_POST

    Можешь записать его в файл и посмотреть, что было внутри:
    <?php
    
    header('Content-Type: text/plain; charset=UTF-8');
    
    $json = json_encode($_POST, JSON_UNESCAPED_UNICODE);
    
    file_put_contents('POST.json', $json);
    
    echo 'Данные получены и записаны в файл POST.json -> смотри его.';
    Ответ написан
    Комментировать
  • Как организовать работу с одними стилями на разных проектах?

    Aetae
    @Aetae Куратор тега JavaScript
    Тлен
    Одинаковая структура при разных реализациях - это больно и малореально. Существуют css\html-only дизайн системы, которые можно брать и реализовывать на любом фреймворке, но это тот ещё геморрой без особого выхлопа.

    Мне кажется вам стоит решить чего вы будете-придерживаться впредь, а что легаси, и вынести таки все компоненты одной актуальной версии(vue2 или vue3) в библиотеку, скомпилировав её в режиме web-components. Веб компоненты вы сможете подключать куда угодно, ценой лишних 100кб на непрофильный vue-runtime в случае несовпадения.
    Ответ написан
    1 комментарий
  • Сколько headless браузеров удастся запустить?

    neuotq
    @neuotq
    Прокрастинация
    Примерные расчёты это, по CPU:
    от 0,5 до 1 x на ядро, значит у вас 80 - 160 ограничение по инстансам.
    По ОЗУ примерно:
    0,5 + 2 * X , - значит 128 / 2 = 64 , те 63 браузера примерно
    Берём меньшее из двух, значит около 60 одновременно работающих на обычным среднем сайте, бизнес, соц сети и тп, без сверх тяжёлых штук.
    По движкам брать тот, который надёжнее и предсказумее в вашем случае работает, в контексте скриптов, загрузки всяких штук, запросов и тп, почти всегда это хромиум(семейство).
    Ответ написан
    3 комментария
  • Как узнать на чем сделан сайт?

    @kirokysuper
    Установить плагин для Google Chrome называется Wappalyzer
    Ответ написан
    2 комментария
  • Как шифровать payload?

    AgentSmith
    @AgentSmith
    Это мой правильный ответ на твой вопрос
    Собственно вопрос: а что требуется?

    Этот вопрос всегда надо задавать тому, кто формирует требования, а не идти с этим вопросом в интернет к случайным людям.
    Мы тут посидим, пообсуждаем, примем решение и ты что-то там реализуешь.
    А в итоге окажется, что заказчик немножко "куку" и имел совсем не то, что мы тут посидели и решили.
    Иди и общайся с заказчиком.
    Ответ написан
    Комментировать
  • Логика для скрытия элементов в списке при недостаточной ширины контейнера?

    RAX7
    @RAX7
    Если используется нативный скрол, то можно повешать Intersection Observer
    Ответ написан
    Комментировать
  • Меня взломали и всё равно продолжают ломать??!! что делать?

    phaggi
    @phaggi
    лужу, паяю, ЭВМы починяю
    Я понял. Тут ничего не поможет. Это банальное расщепление личности. Одна личность пишет на Тостер «как взломать роутер», потом ее замещает другая и пишет «какая-то сволочь взломала мой роутер!». И так по кругу.

    Возможно, помогло бы вашим сосуществующим личностям договориться между собой… найти конструктивный диалог, панимаиш.
    Ответ написан
    1 комментарий
  • Input внутри div?

    delphinpro
    @delphinpro Куратор тега CSS
    frontend developer
    input {
      width: 100%;
    }
    Ответ написан
    1 комментарий
  • Как изменить дефолтное поведение инпут дате?

    MrDecoy
    @MrDecoy Куратор тега JavaScript
    Верставший фронтендер
    он возвращает дату в формате
    MM-DD-YYYY - месяц день год

    Нет, не возвращает.
    Возвращает в формате YYYY-MM-DD.

    как-то можно без библиотек поменять на
    DD-MM-YYYY

    Можно. Все библиотеки для JS работают на JS.

    var d = document.querySelector('input[type="date"]')
    
    d.addEventListener('change', function(){
      console.log(this.value) // YYYY-MM-DD
      const [y, m, d] = this.value.split('-')
      console.log(`${d}-${m}-${y}`) // DD-MM-YYYY
    })
    Ответ написан
    Комментировать