Задать вопрос
  • Как сделать pop-up отдельной страницей?

    pavel_ataykin
    @pavel_ataykin
    Верстаю и программирую всякое.
    Привет! Это называется History API https://developer.mozilla.org/en-US/docs/Web/API/H.... При открытие модального пушишь новое состояние, при закрытии тоже. При этом тебе нужно учесть, что если перейти по прямой ссылки, то тебе нужно будет самому показать это модальное окно
    Ответ написан
    Комментировать
  • В reg.ru украли домен с уникальными 10 миллионами посетителями, что делать?

    @ChiDa
    Лучший из худших
    Это же reg.ru самый убогий регистратор доменных имен. Упаси боже моих клиентов от этого регистратора ныне присно и во веки веков, аминь. Решать через них бесполезно. Решайте в правовом поле. Скажите регру, что будете подавать и на них в суд тоже, так как они не обеспечили безопасность ваших персональных данных и идите в суд. Пусть компенсируют вам финансовые потери. В суде обычно не разбираются что такое домены, если у вас будет хорошо подготовленная юристом база то получите еще и с них денег. Тут главное найти хорошего юриста. Возможно эти идиоты из рег ру не захотят проверок где они и как хранят данные своих пользователей и зашевелятся. В любом случае их надо наказать.
    Ответ написан
    14 комментариев
  • Где верстать email html?

    MrDecoy
    @MrDecoy
    Верставший фронтендер
    Фрэймворк:
    https://mjml.io/

    Расширение для vscode где можно сразу live превью смотреть результата и компилировать в html
    https://marketplace.visualstudio.com/items?itemNam...
    Ответ написан
    Комментировать
  • Что дальше учить?

    Kentavr16
    @Kentavr16
    long cold winter
    То что в темах - обязательная база JS. React это просто дополнительный инструмент в руках разработчика, это не другой язык, не другой принцип построения веб-сайтов. Обязательно все указанное учить. Все и с самого начала. Я сам пробовал "начинать учиться" с реакта. Глупость полная. Это как попытка начать залезать на лестницу сразу с 10-й ступеньки. Не выйдет.
    Ответ написан
    Комментировать
  • С чего начать изучение ML, AI и т. д. чтобы успеть к сроку?

    @dmshar
    А тему курсовой работы мы должны угадать?
    А что такое "чуть больше" чем азы Python - т.е. до операторов цикла и условных операторов вы уже дошли?
    А учитесь вы на математическом факультете московского университета, или на танцевально-астрономическом факультете мухосранского мелиоративного колледжа?
    А по какому предмету курсовая должна угадать система искусственного интеллекта, которую мы подключим, что-бы понять, чего-же тут хотел сказать интеллект естественный?
    Впрочем изучить ИИ "до 10-ых чисел мая" - это, конечно, лучше и реальнее, чем "профессионал по ИИ за 7 дней".

    Но если вы решили эту информацию засекретить, то вот вам универсальный список:

    https://ru.stackoverflow.com/questions/Книги-и-уче...
    и
    https://www.cyberforum.ru/ai/thread2010374.html
    Ответ написан
    Комментировать
  • 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
    //COPY01 EXEC PGM=IEBGENER
    Никак.

    Сайт Ваш.
    Придут и мордасом в пол уложат Вас. А приходят обычно люди простые, в ИТ не подкованные. А про "отказ от ответственности" Вы следаку будете заяснять :) Хотя, если там не политота и не про педрил - могут и просто забить.
    А есть темы, высказываясь на которые, можно круто залететь :)
    Ответ написан
    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 комментарий