Все сервисы Хабра

Сообщество IT-специалистов

Ответы на любые вопросы об IT

Профессиональное развитие в IT

Удаленная работа для IT-специалистов

Войти на сайт
  • Все вопросы
  • Все теги
  • Пользователи

Хабр Q&A — вопросы и ответы для IT-специалистов

Получайте ответы на вопросы по любой теме из области IT от специалистов в этой теме.

Узнать больше
другие проекты хабра
  • Хабр
  • Карьера
  • Фриланс
Задать вопрос
mgis

Pan Propan

  • 60
    вклад
  • 112
    вопросов
  • 183
    ответа
  • 20%
    решений
Лайки
  • Информация
  • Ответы
  • Вопросы
  • Комментарии
  • Подписки
  • Нравится
  • Достижения
  • Как сделать длинный id для поста в Django?

    maksam07 @maksam07
    https://docs.djangoproject.com/en/4.1/ref/models/f...
    Ответ написан 07 мар.
    Комментировать
    Комментировать
  • Как добавить папку node_modules в Git-репозиторий?

    yarkov
    Алексей Ярков @yarkov
    Помог ответ? Отметь решением.
    Она там не нужна. Папку в .gitignore, а вот package.json и package-lock.json в репозиторий.
    Ответ написан 01 мар.
    3 комментария
    3 комментария
  • Как правильно расставить индексы в БД?

    vadiml @vadiml
    Несколько лет назад вышла книга «Oracle для профессионалов», автор Том Кайт.
    Глава по индексам там универсальна для большинства баз.

    Скан книги есть в инете.
    Ответ написан более трёх лет назад
    Комментировать
    Комментировать
  • Почему не работает lodash debounce в vue?

    0xD34F
    0xD34F @0xD34F Куратор тега Vue.js
    Этот код не работает. Совсем.

    Разумеется, всё работает. Между "не работает" и "работает не так, как бы мне хотелось" существенная разница. Допускаю, что для вас она трудноуловима, но она всё-таки есть. Попытайтесь её осознать.

    test: function() {
        _.debounce(function() {
                console.log('test222');
            }, 500);
    }

    В debounce должен был быть обёрнут сам метод:

    test: _.debounce(function() {
      console.log('test222');
    }, 500)
    Ответ написан более трёх лет назад
    2 комментария
    2 комментария
  • Как сделать правильную авторизацию на Vue.js?

    ShinShil @ShinShil
    В плане безопасности и токен, и куки равны. Под безопасностью имею ввиду сложность взлома.

    Можно выделить несколько основных отличий:
    1. Куки - хранятся на сервере и на клиенте, токен - хранится на клиенте
    2. Куки привязываются к домену, который авторизовался, а токен нет - это даёт большую гибкость, и она становится необходимостью при разработке распределённых систем.
    3. Токен можно использовать выборочно на запросах, а куки на всех запросах. В случае с куки, это может привести к XSRF атакам, т.к. после авторизации, все запросы будут считаться авторизованными. Например, ты авторизовался на сайте site.com, я отправил тебе письмо с таким тегом:
    <img src="https://site.com/money?money=200&to=me />
    . В результате мне перечислит 200 единиц, т.к. после авторизации с куки, все запросы считаются авторизованными и запрос https://site.com/money?money=200&to=me отработает. Способы защититься от таких атак существуют.

    В последние пару лет токены стали чаще использовать, по трём причинам:
    1. Они stateless, что больше соотвествуют SPA (angular, vue, react) - один из моментов SPA в том, что состояние клиента находится на клиенте.
    2. Гибкость, т.к. токены не привязаны к одному домену
    3. Они набрали популярность))

    За последние два года лично мне не попадалось проектов с куки-авторизацией, стек .net + angular/react

    https://dev.to/spukas/authentication-cookies-vs-to...
    https://stackoverflow.com/questions/17000835/token...
    https://www.linkedin.com/pulse/cookie-vs-token-aut...
    Ответ написан более двух лет назад
    4 комментария
    4 комментария
  • Необходимо перенести индивидуальные цены для клиентов с 1С на сайт, возможно ли это сделать?

    Mi11er
    Denis Melnikov @Mi11er
    A human...
    2 пути наверное.
    Первый на сайте хранить данные цены, получая их разово через http сервис
    Второй, выводить в реал тайме, то есть, через тот же http сервис, отправлять запрос с id клиента и id товара, 1С вернёт цену, которую отобразить уже на фронте.
    Ответ написан более года назад
    Комментировать
    Комментировать
  • Какую архитектуру выбрать под линукс (AMD Ryzen 3 4300U)?

    Drno @Drno
    Если у Вас десктопный проц, у Вас только один выбор архитектуры...
    Ответ написан более года назад
    Комментировать
    Комментировать
  • Можно ли реактивно получать изменения Vuex во внешнем js файле?

    sergiks
    Сергей Соколов @sergiks
    ♬♬
    Можно написать функцию-плагин для стора Vuex. В ней слушать события мутаций и делать что-то, например, сообщать левому классу что есть новости.

    Пример: функция подписывается на мутации стора. При загрузке страницы запускается Action в сторе, который имитирует асинхронную загрузку чего-то через 1 секунду (увеличит счетчик).
    Ответ написан более года назад
    2 комментария
    2 комментария
  • Почему по адресу не отображается компонент vue-router?

    Fragster
    Антон Антон @Fragster
    помогло? отметь решением!
    Задай дочерним компонентам относительные пути. Ну и в router-link в :to лучше писать не путь, а объект с именем и параметрами, что-то типа {name: 'complete'} (и лучше навести порядок с регистрами имен :) )
    Ответ написан более года назад
    4 комментария
    4 комментария
  • Как подключить свой UI к FastAPI?

    Zanak @Zanak
    Давайте, для начала, поймем ваши цели. Вы хотите создать свой API, пообщаться с существующим, или приделать свой UI для известного API?

    Для создания своего API указанный инструмент, FastAPI, вполне подходит. Не все фреймворки умеют формировать/отдавать swagger спеку, но некоторые это позволяют. Собственно, для создания собственного сервиса и API, по которому он будет отдавать данные, swagger непременным условием не является. Спека для swagger пишется первой, когда у вас есть генератор, который может построить заготовку проекта на нужном вам языке. Во всех остальных случаях, она, или пишется вручную, или формируется по написанному коду, с использованием соответствующих инструментов.

    Пообщаться с существующим API можно, помимо, например, Postman-а и подобных инструментов, с помощью SwaggerUI, который написан на JS и может быть размещен, например, на вашем сервере. Достаточно подсунуть ему спеку интересующего вас сервера и он, в более или менее удобной форме, позволит увидеть доступные вызовы, отправить запрос, получить ответ, ну и прочитать описание каждого вызова, если автор спеки об этом позаботился. Задача swagger - это представить машинно понятное описание api, со всеми используемыми структурами запросов и ответов, чтобы клиентский код сумел его разобрать, отправить запрос, обработать ответ, и возможно, по крайней мере теоретически, сформировать форму, чтобы пользователь мог ввести свои данные, например, для отправки их в БД. Ни для чего больше, как машинно понятное описание API swagger не предназначен.

    Ну и уже должно быть понятно, что SwaggerUI не предназначен для создания собственных клиентов к API. Это скорее интерактивная документация к сервису, который описан в спеке.

    В выборе средств реализации пользовательского UI вы не ограничены ни чем. Мобильное приложение, десктоп, веб с шаблонами a-la django, spa приложение, все к вашим услугам. На реализацию серверной части это ни как не завязано.
    Ответ написан более двух лет назад
    Комментировать
    Комментировать
  • Как поменять стиль в компоненте в Vue.js при нажатии на элемент в другом компоненте?

    Aetae
    Aetae @Aetae
    Тлен
    Если этот компонент выше - $emit событие.
    Если этот компонент ниже - через props.
    Если эти компоненты широко разнесены, но всегда находятся логически в одном родителе - provide в родителе и inject в обоих комонентах.
    Eсли они они связаны общей логикой - отдельный реактивный объект
    Vue.observable/Vue.reactive и, соответственно, import в обоих компонентах.
    И, наконец, если компоненты никак не связаны и таких ситуаций много - Vuex.)
    Ответ написан более года назад
    2 комментария
    2 комментария
  • Почему интернет провайдеры не могут мне дать "белый" + "динамический" IP?

    suffix_ixbt
    Александр Фалалеев @suffix_ixbt
    https://www.babai.ru/
    Потому что если Вы окажетесь жутким спамером/хакером/фишингером то в блэклистах например спамхауса окажется только один "белый" IP а вот если он будет динамическим и Вы будете всё время роутер перегружать то в блэклисты попадёт куча IP адресов - а зачем это провайдеру надо ?
    Ответ написан более года назад
    10 комментариев
    10 комментариев
  • Почему интернет провайдеры не могут мне дать "белый" + "динамический" IP?

    ky0
    ky0 @ky0
    Миллиардер, филантроп, патологический лгун
    Технически - разумеется, они могут. Но не хотят, потому что вы такой плюс-минус один, а сложившаяся инфраструктура уже настроена под один из указанных вами вариантов. По меркам среднего клиента интернет-провайдера вы хотите странного.
    Ответ написан более года назад
    18 комментариев
    18 комментариев
  • Как подключить Python к Postgresql внутри Docker-а?

    antares4045 @antares4045
    host = "172.22.0.2"
    Замените на
    server="db"
    Или
    host="db"
    (Точно пайкопгвский синтаксис не помню)
    И это вам не помешает, но явным созданием бридж сети и биндом сервисов к ней вы воспроизвели поведение по умолчанию, тоесть написали много всего лишнего.
    Ответ написан более года назад
    3 комментария
    3 комментария
  • Как соединить компьютеры в локальную сеть?

    saboteur_kiev
    Saboteur @saboteur_kiev Куратор тега Linux
    software engineer
    Здравствуйте, можно ли соединить несколько компьютеров в одну локальную сеть через OpenVpn, чтобы каждый из них мог пинговать любой другой без задействия сервера?

    OpenVPN это не волшебное что-то, это просто виртуальный сетевой интерфейс с шифрованным каналом.

    Когда ты открываешь VPN соединение, то представь что у тебя в компьютере появляется еще одна виртуальная сетевая карточка и виртуальным сетевым шнуром идет в сервер, к которому ты подключаешься. И все остальные участники вашей VPN сети тоже подключаются виртуальным проводом к VPN серверу.

    С другой стороны, вы можете настроить у каждого участника VPN сервер, и будете подключаться друг к другу. Но это надо всем все настроить и подключаться каждый с каждым, с огромным количеством виртуальных интерфейсов.

    Поэтому чтобы не городить такую сложно маршрутизируемую чушь и нужен один VPN сервер.
    Поэтому в общем случае - без сервера нельзя.
    Ответ написан более года назад
    Комментировать
    Комментировать
  • Как вывести данные в компонент vue который используется в другом компоненте?

    mamut
    Александр Ковальчук @mamut
    web artisan
    Если ты делаешь запрос через api то надо не в props а в data
    export default {
      components: {
        Pagination
      },
      data() {
        return {
          usersList: null,
        }
      },
      methods: {
         async fetch() {
             this.usersList = await axios.get('/users')
         },
     },
     created() {
         this.fetch()
       }
      }
    Ответ написан более года назад
    12 комментариев
    12 комментариев
  • Делаю вк бота на python как сделать, чтобы бот при ответе присылал ID человека?

    St3DiTwister @St3DiTwister
    Просто отправляешь переменную id.
    "message": f"Твой id: {id}"
    Ответ написан более года назад
    1 комментарий
    1 комментарий
  • Как подготовиться к сертификации Cisco CCAr?

    Francyz
    Sergey Ryzhkin @Francyz
    Photographer & SysAdmin
    Вся информация есть на официальном сайте. С которой можно ознакомится в том числе и в pdf.
    Сроки подготовки зависят от человека. От месяца до 3-х лет.
    Ответ написан более года назад
    Комментировать
    Комментировать
  • Backup системы Windows server как проверить работоспособность?

    Drno @Drno
    Виртуалку разверните и восст бэкап. Увидите рабочий или нет
    Ответ написан более года назад
    Комментировать
    Комментировать
  • Backup системы Windows server как проверить работоспособность?

    Rsa97
    Rsa97 @Rsa97
    Для правильного вопроса надо знать половину ответа
    Бэкап проверяется восстановлением из этого бэкапа.
    Моделируете ситуацию "полностью сгорел сервер (пожар был)" и проводите восстановление системы.
    Ответ написан более года назад
    Комментировать
    Комментировать
Оценили как «Нравится»
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • Следующие →
Самые активные сегодня
  • vabka
    Василий Банников
    • 7 ответов
    • 0 вопросов
  • vovka3003
    Владимир Шаблий
    • 7 ответов
    • 0 вопросов
  • Drno
    • 5 ответов
    • 0 вопросов
  • gim0
    Андрей Мывреник
    • 5 ответов
    • 0 вопросов
  • Инна Фещук
    • 5 ответов
    • 0 вопросов
  • bingo347
    Дмитрий Беляев
    • 4 ответа
    • 0 вопросов
  • © Habr
  • О сервисе
  • Правила
  • Обратная связь
  • Блог

Войдите на сайт

Чтобы задать вопрос и получить на него квалифицированный ответ.
Войти через центр авторизации