• Для чего может быть нужен sequence?

    @light___soul
    Full Stack Middle Web Developer
    1) sequence удобен когда нужен уникальный id не только в одной таблице а в нескольких. Если это нужно можно организовать, чтобы id не повторялся во всех таблицах.
    2) общий sequence на несколько БД. Помогает объединить две таблицы с разных БД и у всех уникальный id
    3) и т.д.
    Ответ написан
    Комментировать
  • Как v-model в input type="number"?

    yarkov
    @yarkov Куратор тега Vue.js
    Помог ответ? Отметь решением.
    Ответ написан
    Комментировать
  • В файле view.py изменить пароль пользователя?

    sergey-gornostaev
    @sergey-gornostaev Куратор тега Django
    Седой и строгий
    Никто не читает документацию :(
    from django.contrib.auth.models import User
    
    u = User.objects.get(username='john')
    u.set_password('new password')
    u.save()
    Ответ написан
    22 комментария
  • Что значит запись аргументов в функции вида function(num1[, ...[, numN]])?

    saboteur_kiev
    @saboteur_kiev Куратор тега Программирование
    software engineer
    квадратные скобки в справках и примерах означают необязательные параметры.

    то есть
    function(num1[, ...[, numN]])
    говорит, что это может быть и
    function(1) и function(1,1,1,1,1)

    А например запись типа:
    function (x, y[, z])
    означает, что x,y - обязательные параметры, z необязательный. Поэтому можно вызвать и
    function (1,2) и function(1,2,3), но не function(1,2,3,4)
    Ответ написан
    Комментировать
  • Что такое итераторы в python, c#, c++, js? Как их использовать? Для чего они? Читал - пока что не понял их суть?

    @fireSparrow
    Если в двух словах, то итератор - это такой объект, который каждый раз по запросу может выдать либо некоторый элемент, либо сообщение о том, что у него больше нет элементов.

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

    При этом итератор не обязательно выдаёт элементы из заранее существующей коллекции, он может их прямо в момент запроса создавать по определённому правилу. Такие итераторы могут быть и бесконечными, то есть сколько бы запросов они не получили, они всегда готовы выдать ещё и никогда не скажут, что элементы закончились.
    Пример - итератор, который выдаёт 0 или 1, чередуя их.
    Ответ написан
    1 комментарий
  • Как последовательно анимировать элементы внутри transition-group?

    0xD34F
    @0xD34F Куратор тега Vue.js
    Добавим в компонент свойство, указывающее, сколько элементов надо отображать:

    data: () => ({
      numShow: 0,
      ...

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

    computed: {
      itemsToShow() {
        return this.items.slice(0, this.numShow);
      },
      ...

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

    methods: {
      showNext() {
        this.numShow = Math.min(this.items.length, this.numShow + 1);
      },
      hidePrev() {
        this.numShow = Math.max(0, this.numShow - 1);
      },
      ...

    Повесим этим методы в качестве обработчиков событий завершения показа и скрытия элемента:

    <transition-group
      @after-enter="showNext"
      @after-leave="hidePrev"
      ...
    >
      <div 
        v-for="(n, i) in itemsToShow"
        :key="n.id"
        ...
      >
      ...

    Запуск процесса анимации - только из крайних положений, когда ничего не отображается или отображается всё:

    methods: {
      run() {
        this.numShow += ({
          0: 1,
          [this.items.length]: -1,
        })[this.numShow] || 0;
      },
      ...

    https://jsfiddle.net/6Ljzpeu2/

    А вообще, в документации есть пример на эту тему.
    Ответ написан
    1 комментарий
  • Как можно на VUE реализовать простенький фильтр?

    0xD34F
    @0xD34F Куратор тега Vue.js
    Добавить два свойства - массив, описывающий типы, и тип, данные которого надо отобразить:

    data: () => ({
      types: [
        { id: null, name: 'Все' },
        { id: ..., name: '...' },
        { id: ..., name: '...' },
        ...
      ],
      active: null,
      ...

    Дать пользователю возможность выбирать тип отображаемых данных:

    <button v-for="n in types" @click="active = n.id">{{ n.name }}</button>
    
    <!-- или -->
    
    <select v-model="active">
      <option v-for="n in types" :value="n.id">{{ n.name }}</option>
    </select>
    
    <!-- или -->
    
    <label v-for="n in types">
      <input type="radio" name="type" :value="n.id" v-model="active">
      {{ n.name }}
    </label>

    Сделать вычисляемое свойство, которое будет представлять отфильтрованные данные:

    computed: {
      filteredItems() {
        const { items, active } = this;
        return active ? items.filter(n => n.type === active) : items;
      },
      ...

    Показать результат фильтрации:

    <tr v-for="(n, i) in filteredItems">
      ...

    https://jsfiddle.net/jhekutv3/
    Ответ написан
    Комментировать
  • Как сделать бесконечное получение данных из массива?

    longclaps
    @longclaps
    from itertools import cycle
    
    for c in cycle(['A', 'B', 'C']):
        print(c)

    или
    from itertools import count
    
    lst = ['A', 'B', 'C']
    for i in count():
        print(i, lst[i % len(lst)])
    Ответ написан
    4 комментария
  • SEO и VueJS - что применить?

    kasheibess
    @kasheibess
    веб уже не тот
    Лично я начинаю с Nuxt. Тем более он же умеет генерировать статику из коробки.
    А пререндеринг - это по большому счету костыль. Но это конечно же моё скромное и никому не интересное мнение)
    Ответ написан
    4 комментария
  • Как заработать школьнику на программировании?

    Будем честны друг с другом, не каждый опытный программер может реально зарабатывать фрилансом.
    На питоне заказов мало. В России фриланс это в 30% кидалово, в 50% мозгоебство на уровне профи.
    Тебе это надо? Чтобы за половину от реальной зарплаты джуна тебе все мозги выносили?

    Будь я сейчас в школе я бы занялся тремя вещами:
    1. Спорт
    2. Девушки
    3. Подготовка в нормальный вуз(берлинский технический например).

    От того что ты будешь зарабатывать 10 - 20 тысяч в твоей жизни ничего не изменится. Я думал что закончу универ, буду получать зп 20 и всё будет в шоколаде. Я получаю сейчас примерно в 2 раза больше моих хотелок. За год устал пропивать их, уже купил все ништяки что хотел. На что-то большее не хватит, квартиру и авто купить хорошую нужно или годами так же сидеть и себя ущемлять, либо получать зп в разы больше.

    В итоге отрывайся и учись, забудь о работе. Я тоже так думал в 15, сайты клепал, языки учил. Толку вышло конечно больше чем у окружающих, но вот в 25 нихера себя счастливым и обеспеченным не чувствую. От того насколько много ты получаешь или какие ты купил ништяки, счастье надолго не прибавляется.

    Сорян если огорчаю.

    Но программирование и электроника это реально профессии будущего, которые даже в РФ будут нормально получать.

    Если хочешь учиться и получать опыт, то ищи наставника, он и работу будет подкидывать и стажировать. Если деньги не так важны, то советую открывать сайты универов, искать направление которое нравится и писать преподам по этому направлению(не ниже к.т.н), обычно очень положительно относятся к тем кто со школы начинает грызть направление.

    Я вот в школе когда был напросился ходить в универ на интересные лекции . Учился потихоньку, сверстники смотрели как на сумашедшего=))))
    Ответ написан
    1 комментарий
  • Приведенный мною код - одно и то же? Или один работет быстрее / эффективнее, а другой - нет?

    Exploding
    @Exploding
    wtf?
    Гггг))) Как бы с первого взгляда и одно и то же, но не совсем.
    Если первый вариант юзать на практике - далеко не всегда ваш ".button" будет совпадать с тем, что находится в таргете. Например на кнопке иконка/рисунок/etc. Поэтому вам придется дописывать специализированный костылеподобный изворот типа:
    if ($(e.target).closest('.button').length){
    	//....
    	e.stopPropagation();
    }

    что само по себе уже не совсем тоже самое, как предпогалолась в вопросе.
    К тому же, не будет возможности использовать .trigger() для .button
    Ну и не известно сколько еще потом по вылазит глюков, требующих, чтоб и их подперли чем-то...
    В итоге получится явно не быстрее и не стабильней чем в либе. Там как ни как сидят, почесывая башни изо дня в день, думая как еще оптимизировать и стабилизировать работу методов. Версий то вон уже сколько вышло.

    UPD
    Просто когда жму Event Listeners в chrome - там у каждого элемента оочень много listener'ов

    Во втором варианте слушатель вешается не на кнопку, а на документ. Видимо у вас просто установлен чекбокс на "Ancestors".

    Ну а если вам взбредет в голову все таки писать свою реализацию делегирования, то в лучшем случае, как мне кажется, вы придёте к оригинальной реализации метода jq.
    Ответ написан
    Комментировать
  • Как посчитать строки на С?

    longclaps
    @longclaps
    Нужно менять компилятор - этот совсем не годится.
    Ответ написан
    1 комментарий
  • Vue или Jquery?

    vicodin
    @vicodin
    Имею некоторый опыт
    Изучать javascript.
    А потом неделю на jquery, неделю на vue, знания и те и те пригодятся и не будут взаимозамещаемыми. Заодно и поймете на каких проектах лучше использовать jq, на каких вью
    Ответ написан
    Комментировать
  • Куда пойти учиться на системного программиста?

    sim3x
    @sim3x
    MIT
    Ответ написан
    Комментировать
  • Зачем нужен Vuex, если хранилище можно эмулировать с помощью data в рутовом экземпляре?

    Используйте глобальную дату, но помните одно, что её надо самому чистить из памяти. Ещё надо как-то придумать геттреы и сеттеры для неё. Вдруг понадобится из users достать определённых людей и это всё на разных страницах. Или например проверить авторизацию? На vuex сделать это проще, написав один геттер

    Когда у вас возникнет проблемы с хранением и переполнением, то вы сами придёте к vuex.

    Страница с контентом:
    5a50a0ddc4f3d262866214.png
    Vuex
    5a50a191eea98041020431.png
    Ответ написан
    Комментировать
  • В Go – динамическая типизация?

    longclaps
    @longclaps
    Смотри, переменная - это то, к чему можно обратиться по имени.
    var x string - это переменная с именем x
    А что такое len(x)? Это - некоторое значение, которое по ходу дела вычисляют.
    Как вычисляют? Да вот вызывая len(x) и вычисляют.
    Где оно находится? Нигде, его лишь можно передать куда-то для сохранения или дальнейших вычислений.
    Как его можно сохранить? Присвоив какой-то переменной, например sz := len(x).
    Но в этот момент эта переменная начинает жить своей жизнью и больше уже не зависит от строки x, которую можно поменять.
    Вычисляя выражения, ты можешь делать что угодно, в том числе преобразование типов, как в твоём вопросе.
    Это безопасно, ведь выражение - вот оно, прямо перед тобой записано, всё наглядно.
    Присваивая значение переменой, ты можешь - ... ну тут в разных языках по-разному.
    В языках с динамической типизацией ты можешь присвоить ей зачение любого типа - и в этом есть опасность. Ты можешь просто не видеть или не знать, что где-то в другом куске кода кто-то что-то туда запихнул. Статическая типизация от этого защищает.
    Вообще-то и в языке со статической типизацией есть подобная опасность - где-то кто-то запихнул в переменную значение правильного типа, но невалидное, например ноль в знаменатель дроби. Поэтому изобретены языки, которые обходятся без переменных, одними лишь выражениями. Но это - уже другая история.
    Ответ написан
    Комментировать
  • Как лучше парсить +300k товаров?

    sergey-gornostaev
    @sergey-gornostaev Куратор тега Python
    Седой и строгий
    Требуется технология прямых рук, судя по всему.
    Ответ написан
    Комментировать
  • 2+3+4+5+6+7 формула?

    longclaps
    @longclaps
    Арифметическая прогрессия, школа, 9 класс.
    Ответ написан
    2 комментария
  • Как пересчитать среднее арифметическое?

    KorniloFF
    @KorniloFF
    Работаю по font-end / JS
    s - сумма проголосовавших очков
    q - количество проголосовавших
    n - новый голос (очки)


    Ср. ар. = (s+n) / (q+1)
    Ответ написан
    Комментировать