Задать вопрос
  • Gulp + scss + alias, как настроить webstorm чтобы понимал alias?

    delphinpro
    @delphinpro Куратор тега Sass
    frontend developer
    Можно написать файл конфига, но не использовать.
    /*
     * Этот файл НЕ используется в сборке.
     * Он нужен только для корректного автокомплита в IDE phpStorm.
     * Эта IDE почему-то не работает как следует, при указании реально использующегося
     * файла концигурации, расположенного не в корне проекта (node_modules/laravel-mix/setup/webpack.config.js)
     */
    
    const path = require('path');
    
    module.exports = {
      resolve: {
        extensions: ['*', '.wasm', '.mjs', '.js', '.jsx', '.json', '.vue'],
        alias: {
          '@': path.join(__dirname, 'resources/js'),
        },
      },
    };

    И указать его в настройках программы
    62b8860ae733c846679738.png

    У меня иногда только такой способ работает.
    Ответ написан
    3 комментария
  • Как правильно прописать отказ от ответственности за контент, размещаемый на сайте?

    CityCat4
    @CityCat4
    Жил да был черный кот за углом...
    Никак.

    Сайт Ваш.
    Придут и мордасом в пол уложат Вас. А приходят обычно люди простые, в ИТ не подкованные. А про "отказ от ответственности" Вы следаку будете заяснять :) Хотя, если там не политота и не про педрил - могут и просто забить.
    А есть темы, высказываясь на которые, можно круто залететь :)
    Ответ написан
    1 комментарий
  • Готов ли Nuxt 3 для разработки на настоящий момент?

    SeaInside
    @SeaInside
    16 лет пилю все эти штуки
    Тут нужна преамбула:

    Stable он стал исключительно потому, что это событие надо было приурочить к конференции "Nuxt Nation" (в общем-то, с этого коммита они начали конференцию), потому что, во-первых, это красиво и всего раз в году, а во-вторых, это важно с точки зрения маркетинга - Эван Ю, например, получил возможность этим фактом бравировать.

    По факту же, последний Release Candidate в шапке описания содержит сообщение "1 or 2 additional release candidates are expected before the final 3.0.0 version" (причём в моей памяти оно отложилось как "few more release candidates" - может, отредактировано, а может, я неправильно запомнил).
    Как бы то ни было, планировалось 2 релиза до стабильной версии. Но через 2 недели случился Nuxt Nation. Осталось два релиза до стабильной версии :)

    С начала декабря висит черновик MR с релизом 3.1.0, в котором было написано, что он будет готов в декабре. Сейчас там написано, что он будет готов в январе (в подтверждение того, что описания таки редактируются).
    Это всё к тому, что релизный цикл ненадёжный и скорее ситуативный. Вот ишью, в котором вопрос поднимается. С учётом того, что и публичную бету отложили на полгода, и стабильный релиз на тот же срок (и ещё больше), а также потому, что на момент релиза было 400 ишью, сейчас - почти 600, я укрепляюсь во мнении, что они замахнулись на слишком многое сразу, имея команду в 3 человека. Причём приоритетность задач... Ну, я особо не сталкерил за контрибьюторами, но осталось ощущение, что в первую очередь делается то, что интересно, а не то, что у людей больше всего болит.
    И тем не менее, они фанаты и многое успевают :)

    ---

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

    У меня в продакшене проектов на Nuxt 3 нет, но есть пара в активной разработке.
    Вы помучаетесь с настройкой прокси для запросов (потому что встроенной функциональности ждём уже почти год) (но там можно подпереть и заработает). Там будут ещё проблемы, особенно под Windows и если вам нужны свои модули, но это запомнилось больше всего. Но ничего нерешаемого пока нет.

    Если же вы хотите мигрировать существующий проект...
    По моим ощущениям, у Nuxt 3 большие проблемы с определением места, где что-то пошло не так.
    Вам, скорее всего, придётся мигрировать довольно маленькими кусочками и проверять, не сломалось ли чего, потому что если сломалось где-то в большом куске кода, вы почти наверняка получите ошибку в духе "500. Что-то не работает, а где - не покажу".
    Короче, это будет "написание с нуля, копируя кусочки из предыдущего релиза на Nuxt 2".

    Ну и плюс - экосистема. У меня почти всё своё, так что это не было сильно больно, но если активно пользуетесь сторонними модулями - смотрите поддержку и дату последнего обновления.

    В целом, после перехода удобство разработки значительно повысилось, во многом из-за TS без костылей (ну, почти, я очень надеюсь что в обозримом будущем вот это закроется. Хотя Эван обещал это релизить в ноябре... Все факапят сроки :) ).
    Сборка побыстрее примерно вдвое, hot reload весьма значительно быстрее (почти мгновенно до сих пор, хотя видна тенденция к замедлению. В любом случае 20-30x прирост по сравнение с Nuxt 2).
    Клиентский перфоманс, кстати, опираясь на попугаи PageSpeed, возрастает примерно так, что там, где на Nuxt 2 было 60, тут станет 80. Я не копал пока глубоко в клиентскую оптимизацию на Nuxt 3, наверняка там можно что-то выдумать, но по первым впечатлениям вот так - побыстрее, но чуда не случилось, фреймворк всё ещё имеет существенный оверхэд по сравнению с чем-то более нативным.
    Ответ написан
    1 комментарий
  • Кто-то уже окунался в разработку с Nuxt 3?

    SeaInside
    @SeaInside
    16 лет пилю все эти штуки
    Вы соберёте все проблемы и завалите все дедлайны. :)

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

    Причём после релиза было ощущение что "сейчас всё быстренько допилят" (потому что и без того релиз на полгода откладывали), но динамика показывает, что ближайшие полгода - вряд ли, а то и год.

    Да и вообще есть ощущение, что они слишком фанатично пытаются всё упростить и обвешать магией, ушли куда-то не туда.
    Всякий сахарок - это прикольно, но должно быть опционально и навешиваться поверх уже готовой, работающей системы, а там половина issue - это борьба с теми проблемами, которые они сами себе придумали в погоне за "хотим, чтобы тут одну строчку написать - и дальше оно всё само".
    Но альтернатив не видно, поэтому пока Nuxt 2, возможно Nuxt Bridge, но и то смотреть надо.

    Другой вопрос - а зачем вам SSR для CRM? Для морды можно и пререндер сделать, а всё что за авторизацией - кому вообще интересно, есть там серверный рендеринг или нет?
    Ответ написан
    4 комментария
  • Написание кода коротко плохо?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Оба варианта хорошие. Но обычно если ты работаешь отладчиком и тебе
    интересно где логика ведет себя не так - то второй вариант удобнее.

    Однострочники хороши только когда ты досконально понимаешь
    что внутри них происходит.
    Ответ написан
    8 комментариев
  • Плох ли tailwind?

    Fragster
    @Fragster
    помогло? отметь решением!
    Замедляет ли tailwind работу сайта в продакшене?
    нет или незначительно. количество классов у элемента почти не влияет на скорость отрисовки. но атомарные классы при этом положительно влияют на размер файла стиля. Очень жду, когда появится анализатор по аналогии с https://windicss.org/features/analyzer.html , чтобы повторы/незначительные вариации стилей проанализировать и перенести arbitrary values в конфиг.

    Или он нужен только на этапе разработки?
    не понятно (

    Стоит ли использовать tailwind в крупных проектах, если нет, то почему. И что стоит использовать?
    Стоит. Единственное, нужно фирменные элементы стиля зафиксировать в конфиге tailwind, можно вообще отказаться от дефолтного конфига и сделать свой с нуля.

    И что стоит использовать?
    Ну вот вышеупомянутый windy - почти то же самое, что tailwind, но со своими плюсами (группировка классов - бомба, анализатор тоже полезная вещь) и минусами, например не 100% совместимость с tailwind и некоторые (некритичные) глюки в вычисляемых классах vue). Просто tailwind более распространен.
    Ответ написан
    Комментировать
  • Как называются "\n","\r","\t"... в строках?

    paran0id
    @paran0id
    Умный, но ленивый
    В общем случае - escape sequences, управляющие последовательности по-нашему.
    Ответ написан
    Комментировать
  • Для чего в go.mod добовить зависимости если мы указываем полный путь к ним в коде?

    Для указания версий этих зависимостей. Чтобы бралась не последняя версия, а указанная. Обеспечивает повторяемость релизов и стабильность.
    Ответ написан
    Комментировать
  • Как создать событие?

    sergiks
    @sergiks Куратор тега JavaScript
    ♬♬
    Свойства - геттеры и сеттеры

    В простом варианте, сразу обрабатывать все условия:
    const obj = {
      _x: 0,
      get x() {
        return this._x;
      },
      set x(value) {
        this._x = value;
        if (this._x === 5) {
          console.log('Пятёрочка!');
        }
      },
    };
    
    // использование
    obj.x = 5; // Пятёрочка!


    С добавлением фильтров можно поступить так:
    const obj = {
      _x: 0,
      _filters: {},
      addFilter(value, callback) {
        this._filters[value] = callback;
      },
      get x() {
        return this._x;
      },
      set x(value) {
        this._x = value;
        this._filters[value]?.(value);
      },
    };
    
    // добавить обработчики
    obj.addFilter(5, () => console.log('Пятёрочка!'));
    obj.addFilter(10, v => console.log(`${v} это десять!`));
    
    // использование
    obj.x = 10; // 10 это десять!
    Ответ написан
    4 комментария
  • Почему сервер получает пустые данные?

    Aetae
    @Aetae Куратор тега Vue.js
    Тлен
    Откуда ты эту хрень взял?
    axios.post('http://localhost:5000/api/create-post', () => {
      body: data
    })
    Во-первых: axios принимает параметром объект, а не функцию возвращающую объект.
    Во-вторых: axios.post вообще сразу принимает body:
    axios.post('http://localhost:5000/api/create-post', data)

    В-третьих: даже если бы оно принимало функцию(что не так) - конструкция
    () => {
      body: data
    }
    на самом деле расшифровывается так:
    () => { // начало блока кода
      // метка body указывающий на висящую в воздухе переменную data
      body: data
      // никакого возврата из функции
    } // конец блока кода
    чтобы оно воспринималось как объект, можно, например, заключать в скобки:
    () => ({
      body: data
    })
    Ответ написан
    5 комментариев
  • Автоматизация установки ПО на Windows?

    Adler_lug
    @Adler_lug
    Если локально (не по сети), то гуглите MInstAll и MInstAll By Andreyonohov (то что гуглится как "официальный сайт", есть сомнения, что он им является, авторскую сборку можно найти на nnmclub.to).
    Если по сети, то Windows Deployment Services
    Ответ написан
    Комментировать
  • Как отследить где находится исполняемый файл, который нагружает сервер Linux?

    @AlexVWill
    ps -awxs | grep 8657
    Ответ написан
    Комментировать
  • Как Кинопоиск делает черный квадрат в захвате экрана?

    MrDecoy
    @MrDecoy Куратор тега JavaScript
    Верставший фронтендер
    Судя по всему - они это делают на основе DRM.
    Первый ответ на СО содержит ссылку на статью про это где есть демка, где работает точно так же.
    Ответ написан
    7 комментариев
  • Как сжать файл?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Для exe-шников еще в 90-е создавались не архиваторы а всякие "упаковщики". Из таковых я помню UPX https://upx.github.io/
    Ответ написан
    Комментировать
  • Как пробросить класс компонента?

    victormayorov
    @victormayorov
    Frontend разработчик
    Вы не можете использовать зарезервированные имена для передачи данных в props.
    <autocomplete-input
                  :variants="cargo_codes"
                  :variantKey="'id'"
                  :label="'Код груза'"
                  :variantTitle="'code6'"
                  v-model="all_information.cargo_code"
    --              :class="{ 'error_label': this.telegram_error.cargo_code }"
    ++             :myClass="{ 'error_label': this.telegram_error.cargo_code }"
                ></autocomplete-input>


    export default {
        name: 'AutocompleteInput',
        props: {
            variants: {
                type: Array,
                required: true,
            },
            value: {
                default: ''
            },
            label: {
                type: String,
                default: '',
            },
            variantKey: {
                type: String,
                default: 'id'
            },
            variantTitle: {
                type: String,
                default: 'id'
            },
            placeholder: {
                type: String,
                default: ''
            },
            needFull: {
                type: Boolean,
                default: false
            },
    --        error_label: {
    --           type: String,
    --           default: ''
    --       }
    ++        myClass: {
    ++          type: String,
    ++         default: {},
    ++       }
        },


    <template>
        <div class="autocomplite_component">
            <div class="controller">
    
            <input type="text" class="textarea" @input="onInput" :value="value" :placeholder="placeholder">
            </div>
            <br>
    --        <label class="label" :class="error_label">{{ label }}</label>
    ++        <label class="label" :class="myClass">{{ label }}</label>
            <div class="variants" v-if="filtered && showVariants" style="max-height: 50px; overflow: auto;">
                <div v-for="v in filtered" :key="v[variantKey]" class="variant" @click="selectVariant(v)">
                  <span style="cursor: pointer;">{{ v[variantTitle] }}</span>  
                </div>
            </div>
           
        </div>
    </template>
    Ответ написан
    1 комментарий
  • Как захостить сайт на NodeJS на Windows сервере?

    ky0
    @ky0 Куратор тега Системное администрирование
    Миллиардер, филантроп, патологический лгун
    "Всякие Linux и CentOS" - это "лучше день потерять, потом за пять минут долететь". Виртуалки же на винде - путь в никуда. Одумайтесь.
    Ответ написан
    1 комментарий
  • Фундаментальное отличие async await в python и javascript?

    Leo5878
    @Leo5878
    Улыбчивай, люблю учить и учиться
    Если не использовать await, сразу после вызова функции, то она попадет в event loop. Но не все операции могут быть по настоящему асинхронными. На картинке хорошо отображено, то как это работает: 1*xm_WajiPlaOeJWcqgJb1xQ.png

    Если например, это работа с сетью и сразу же не ожидать ответ, то код продолжит выполнение до того момента, пока данные не нужны будет, а получение данных по сети будет асинхронным
    const data = fetch('http://exmapl.ecom');
    // ... - какой-то код
    await data()
    Ответ написан
    Комментировать
  • Как исправить unknown property 'plugins' при запуске Webpack?

    Проблема здесь
    {
    	exclude: /\/node_modules/,
    	loader: "babel-loaderd",
    	query: {
    		presets: ['es2015-webpack', 'stage-0', 'react']
    	},
    	plugins: ['transform-runtime'],
    },


    Надо так
    {
    	exclude: /\/node_modules/,
    	loader: "babel-loader",
    	options: {
    		presets: ['es2015-webpack', 'stage-0', 'react'],
    		plugins: ['transform-runtime']
    	}
    },
    Ответ написан
    Комментировать
  • Должен ли программист выполнять роль девопса на сервере заказчика?

    @vitaly_il1
    DevOps Consulting
    По-моему, ответ простой - что было записано в договоре, то и обязан.
    Т.е. если речь шла о коде - то только код. Если договаривались о "запустить на сервере" - то надо ставить на сервер. Но вот о том, что для вебсервера используют Мак, я еще не слышал :-)
    Ответ написан
    11 комментариев
  • Можно ли найти работу в линкед будучи в Москве Unity разработчику?

    GavriKos
    @GavriKos
    в HH ни в какую джуниором не берут

    ну в линкедине те же эйчары.

    поймать зарубежный заказ

    Если у вас такая же каша на собесе, как в этом вопросе - то нельзя. Акцент куда в вопросе? То на линкедин, то на москву, то на джуна, теперь откуда то еще и зарубеж.

    А так - нет, нельзя. Никто с рф теперь не работает - банально платить сложно. А т.к. вы даже местным не нужны - то никто не будет на себя брать отягощение из зарубежных
    Ответ написан
    6 комментариев