• В чем разница между двумя подходами?

    Alexandroppolus
    @Alexandroppolus
    кодир
    в обоих кейсах getCampaigns возвращает промис с результатом селекта, практической разницы нет
    Ответ написан
    6 комментариев
  • Как использовать полученное значение из подзапроса для join?

    @alexalexes
    Если я не напутал с окном partition by va.order_id, apa.sale_type_id, то скорее всего можно переписать так:
    select json_build_object('id', A.id, 'status', A.status)
    from (select apa.id,  apa.status, va.created_at,
                 row_number() over (partition by va.order_id, apa.sale_type_id order by apa.created_at desc) Rn 
              from vt.applications va
              join orders o on va.order_id = o.id 
              join cc.additional_projects_actions apa on apa.order_id = va.order_id
              and apa.sale_type_id = va.sale_type_id
              where o.id = 64
              and va.sale_type_id is not null
    ) A
    where A.Rn = 1 -- отсекаем 1 запись - аналог order by apa.created_at desc limit 1 из первоначального запроса
    order by A.created_at desc;
    Ответ написан
    1 комментарий
  • Почему нарушается последовательность вывода записей из списка при рендере?

    Krasnodar_etc
    @Krasnodar_etc
    avito front
    Смотреть, как у вас заполняется dropMysteryBoxes.editable[somekey]. value . Может вам их бэк не в том порядке возвращает? Вообще, в объектах не гарантированный порядок ключей, возможно придётся добавить сортировку после Object.entries
    Ответ написан
    4 комментария
  • Как во Vue 3 добавить default value для input?

    0xD34F
    @0xD34F Куратор тега Vue.js
    Редактируйте через инпут локальное значение:

    const filters = reactive({});

    <input v-model="filters.search">

    За которым установите наблюдение - там будут ваши debounce и отправка в стор:

    watch(
      () => filters.search,
      debounce(search => store.commit('setFilters', { search }), 1500)
    );

    А чтобы это локальное значение обновлялось при изменениях в сторе, осуществляемых из других мест, также установите наблюдение за стором:

    watch(
      store.state.filters,
      val => Object.assign(filters, val), { immediate: true }
    );

    https://jsfiddle.net/xs40j5o1/
    Ответ написан
    Комментировать
  • Можно ли лезть в ИБ с python?

    @Drno
    Можно. Иб это не про програмирование
    Ответ написан
    Комментировать
  • Возможно ли встроить node.js проект в вордпресс плагин?

    @risejs
    Вам нужно просто переписать из примера Backend (Node.js) на PHP, потому что Wordpress написан на PHP. А так в остальном этот пример должен подойти, включая Frontend (HTML).

    Но почему-то мне кажется, что PayPal плагины для Wordpress существуют готовые, погуглите.
    Ответ написан
    3 комментария
  • Стоит ли придерживаться всех правил Eslint в Vue?

    Fragster
    @Fragster
    помогло? отметь решением!
    В описании к правилам описана мотивация, зачем так сделано. Если же она не устраивает - можно отключать, подумав.
    Например из раздела Essential я бы ничего не выключал, даже multi-word-component-names. Чаще всего такое встречается для элементов лэйаута. При этом всегда можно изменить имена на TheHeader (для одного лэйаута, и получить козию при нескольких лэйаутах) или MainLayoutHeader и т.п.
    А для автоисправляемых правил типа singleline-html-element-content-newline я вообще не понимаю, в чем проблема.
    Ответ написан
    3 комментария
  • По какому принципу работают плагины «линейки» в браузере?

    sfi0zy
    @sfi0zy Куратор тега JavaScript
    Creative frontend developer
    Плагин Dimensions замеряет расстояния через canvas. Реализация выглядит достаточно сложно...

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

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

    Если делать тупую линейку чисто в браузере чисто до прямоугольных границ элементов, то можно было бы брать getBoundingClientRect и координаты мыши и вычитать одно из другого. Это будет более простое решение более простой задачи. Но не той же самой.
    Ответ написан
    1 комментарий
  • Какие есть бесплатные/очень не дорогие API для базового SEO?

    opium
    @opium
    Просто люблю качественно работать
    Ну надо понимать что апи такие стоят кучу за Алексу мы отдавали несколбко сотен баксов за немного запросов, какой нибудь симилар веб уже за 10к баксов, суть таких сервисов в том что они сами все измеряют а не покупают готовое
    Ответ написан
    4 комментария
  • Какие есть бесплатные/очень не дорогие API для базового SEO?

    Grinvind
    @Grinvind
    Помогаю увеличивать трафик с поисковых систем
    Topvisor
    PixelTools
    Арсёнкин тулс
    На самом деле их прям дофига. Стоит скорее найти интересующий функционал у сервисов, и дальше уточнять наличие API.
    Ответ написан
    2 комментария
  • Почему возникает ошибка при запуске next.js и как её исправить?

    @historydev Автор вопроса
    Острая аллергия на анимешников
    Что за закон подлости???? Как только я пишу сюда, уже отчаявшись от собственной беспомощности, нахожу решение. Просто рофл парни) Мне помогло это:

    npm uninstall next && npm i next
    Ответ написан
    Комментировать
  • Как исправить ошибку "Text content did not match" в Next.JS?

    Krasnodar_etc
    @Krasnodar_etc
    avito front
    Я думаю, что через dynamic + ssr: false нужно подключать не контекст/провайдер, а сам компонент, который работает со значением из стораджа и меняет разметку в зависимости от него
    Ответ написан
    3 комментария
  • Как лучше учить английский?

    @nuubie
    Начал учить в 24 года английский с абсолютного "0", т.к. в школе/универе учил только немецкий, в 28 лет сдал IELTS на 7.0.

    Несколько советов:
    1. Рекомендую учить английский только по учебникам на английском. Много времени потратил впустую на попытки выучить по Драгункиным, Илонам Давыдовым, Бонкам и т.п... Лучший вариант - взять самые простые уровни Headway и Cutting Edge и последовательно их проходить .
    2. Нужен наставник, чем выше левел, тем более опытный. Upper-Intermediate - Advanced нужен профессиональный преподаватель, желательно сам прошедший хоть какой-то международный экзамен или сертификацию.
    3. Практика - регулярное общение с носителями языка очень быстро убирает т.н. "языковой барьер" даже если сам два слова не можешь связать.
    4. Чтобы грамотно говорить и писать - надо зубарить грамматику регулярно. Лучшие учебники по грамматике: English Grammar in Use и MyGrammarLab, остальное выбирайте на свой вкус. Кроме грамматики есть еще куча нюансов в зависимости от стиля общения/письма: formal/semiformal/informal, в зависимости от страны British/American/Australian English.
    5. Регулярность занятий: выделял 20 - 30 часов еженедельно для самостоятельных занятий, когда стало больше практики на работе - достаточно 4 - 6 часов на самостоятельное изучение и 4 - 6 часов на курсы на работе+speaking club с носителями языка.
    6. Очень помогает понять свои слабые стороны и адекватно оценить текущий уровень сдача экзаменов IELTS, TOEFL.
    7. Многое зависит от целей которые вы перед собой ставите, просто поехать пообщаться в другой стране достаточно с уровнем pre-intermediate+язык жестов :) Если для карьеры - то лучше сразу брать курсы Market Leader или Business Result, English for IT pros и т.д. Во-первых, лексики нужной быстрее наберетесь, во-вторых, материал будет понятней, т.к. тесно связан с вашими интересами.
    8. Есть масса аудиоподкастов и видеоуроков, мне нравятся: EnglishBusiness Pod, ESL Pod, EnglishVid, openlanguage.com
    Ответ написан
    3 комментария
  • Можно ли использовать бесплатный тариф на mongodb.com для блога?

    @MyJaneDoe
    А как много данных вы собираетесь хранить? Не будет ли проще запустить на своем сервере docker-контейнер монги и сохранять все туда (если вдруг места нужно не много)?

    UPD:
    Не знаю откуда вы. Но если из России или РБ, то в текущих реалиях хранить данные лучше или на местных облаках иди в уже упомянутом докере. К сожалению, заграничные сервисы могут внезапно прокинуть вас и данные блога улетят в небытие.
    Ответ написан
    3 комментария
  • Можно ли использовать бесплатный тариф на mongodb.com для блога?

    vabka
    @vabka
    Токсичный шарпист
    Подводные камни в том, что бесплатный тариф даёт очень мало ресурсов.
    Если тебе 512мб хранилища и негарантированных vCPU и RAM - дерзай.
    В целом такой тариф для прода не рекомендуется.
    Ответ написан
    8 комментариев
  • Нужен ли Vuex в Vue 3?

    AlbertName
    @AlbertName
    Senior Javascript Developer
    Однозначно ответить на этот вопрос нельзя. Зависит от приложения. К тому же сейчас для третьего вью по дефолту pinia является стором.

    Но и при помощи композишн можно организовать подобие vuex стора, ипмпоритируя ref и reacrive из vue.

    Можно сделать на основе этого кастомный хук, который будет являтся по логике модулем стора. Как это реализовать, есть примеры в сети.

    Самое главное, это понять для чего это нужно использовать. Если в простом изложении, то чтобы организовать связь между компонентами минуя пропс. Связь с реактивными данными. В случае изменения данных в одном месте (клмпоненте), другой компонент отреагирует на это изменение.
    Ответ написан
    2 комментария
  • Почему я не могу получить список категорий?

    Grapeoff
    @Grapeoff
    В чём концепция...?
    Скорее всего имя коллекции отличается от имени той коллекции, в которой ищет Mongoose.

    Вызов mongoose.model устанавливает имя коллекции, к которой привязана модель, по умолчанию используется имя модели в нижнем регистре во множественном числе.

    Источник: https://stackoverflow.com/questions/14183611/mongo...

    Мне кажется, что в вашем случае проблема та же, ибо других вариантов я не представляю.
    Ответ написан
    2 комментария
  • Как найти и вернуть записи в Mongodb?

    nowm
    @nowm
    Вот это должно быть параметром метода find: { "title": "статьи","text": "статьи"}. Но у вас в качестве критерия для запроса указан пустой объект (это значит, что выберутся все документы из коллекции), а в select указан дополнительный объект, который говорит, что нужно из результатов брать поля _id, title и text.

    Метод select в Mongoose, кстати, используется немного не так. Когда вы передаёте в него в качестве параметра объект, нужно значениям указывать либо 1 (поле включено в результат), либо 0 (поле не включается в результат). Если вы передаёте непустую строку в качестве значения, она воспринимается как 1, но это будет искажать ваше понимание того, что происходит. Select — это только указание, какие поля должны быть в результате, этот метод вообще никак не влияет на условие выборки документов из коллекции. Условия выборки указываются в find.
    Ответ написан
    4 комментария
  • Как использовать импортированную переменную в шаблоне?

    В шаблоне доступно все что указано в data (а так же в props и methods) если используете Options API, либо всё что возвращает метод setup() если используете Vue 3 Composition API.

    https://vuejs.org/v2/guide/components.html
    https://v3.vuejs.org/guide/component-basics.html
    https://v3.vuejs.org/guide/composition-api-introdu...

    Кроме того, в вашем случае правильным решением будет завести computed свойство, которое будет генерировать src картинки (склеивать HOST с props.image) и использовать в шаблоне уже его.
    Ответ написан
    2 комментария