• Почему объект копируется, а не создаётся заново?

    Wispik
    @Wispik
    Чтобы id и name были индивидуальные для каждого экземпляра Packet, надо их задавать в __init__
    class Packet:
        def __init__(self) -> None: 
            self.id = Integer()
            self.name = String()
    Ответ написан
    Комментировать
  • Почему объект копируется, а не создаётся заново?

    Maksim_64
    @Maksim_64
    Data Analyst
    1. Понять разницу между объектом класса, и объектом экземпляра класса.
    2. Понять разницу между атрибутами класса и атрибутами экземпляра класса.
    Ответ написан
    Комментировать
  • Как реализовать домашний ПК для веб сервера и pet проектов?

    @historydev Куратор тега JavaScript
    Редактирую файлы с непонятными расширениями
    Proxmox + виртуалки/lxc контейнеры - для системы на базе гипервизора.

    Виртуалка - изолирована лучше, но медленнее.
    Lxc контейнер - изолирован хуже, но работает быстрее.

    Если тебе не нужно строить сложное взаимодействие между виртуальными средами - ставь Ubuntu + docker на хост, будет намного быстрее работать, дальше через nginx reverse proxy прокидываешь порты к нужным контейнерам.

    На компе можешь (винда) в файле hosts указать домены которые указывают на твой сервак, чтобы не париться с роутером и уже в nginx конфигах в зависимости от домена, на порт определённый направлять.

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

    В этом плане Proxmox + виртуалки отлично подходят, настроил хост - эксперименты на виртуалках ставишь.
    Дальше если по скорости не устраивает, сносишь и заводишь на хосте всё, как сказал выше, уже с полученными знаниями.

    Обезопасить - nginx, главное порт ssh если открывать в сеть будешь, перед тем как это сделать настрой ssh ключи.
    Ответ написан
    Комментировать
  • Как выделить память в другой функции, передавая pointer через аргументы?

    wataru
    @wataru
    Разработчик на С++, экс-олимпиадник.
    В вашем случае логичнее возвращать указатель на вделенную память.

    Если уж очень надо через аргументы, то передавайте указатель на указатель:
    static void update_callback(char **ptr)
    {
        *ptr = (char *)malloc(sizeof(char) * TEST_STR_SIZE + 1);
    ...


    P.s. В вашем коде утечка памяти. Вы выделяете память, потом единственный указатель на эту память переписываете указателем на TEST_STR.
    Ответ написан
    6 комментариев
  • Как освоить vue.js?

    0xD34F
    @0xD34F Куратор тега Vue.js
    Читая документацию - сложно полностью понять её.

    Это потому что вы js не знаете. Если знать язык - понимать в документации нечего, всё становится ясно на ходу.

    Может ли это означать, что frontend не мое

    Может.

    либо это стандартная ситуация и стоить продолжать?

    Стандартная. Для не знающих js.

    Освоение фреймворков без знания языка - прямая дорога к превращению в говнокодера. Который никому на рынке труда конкуренции не составит. Если ваша цель такая - конечно продолжайте.

    Короче, хотите освоить vue - освойте js.
    Ответ написан
    Комментировать
  • Как написать функцию не используя if/else, тернарный оператор?

    Dunaevlad
    @Dunaevlad
    let def = (a, b) => a === b
    def(10, 10)
    console.log(def())
    Ответ написан
    Комментировать
  • Поиск как на тостере, как?

    delphinpro
    @delphinpro Куратор тега JavaScript
    frontend developer
    let tm;
    
    function event_search(event) {
        let search_value = event.target.value;
    
        clearTimeout(tm);
        tm = setTimeout(() => {
            axios.post(document.location.pathname, { search_value }, { headers })
                .then(function (res) {
                    console.log(res)
                    document.querySelector('#search').innerHTML = res.data
                })
                .catch(e => {
                    console.log(e)
                })
        },200)
    }
    Ответ написан
    1 комментарий
  • Как найти первый уникальный символ в строке?

    0xD34F
    @0xD34F Куратор тега JavaScript
    Регистр учитываем? Да:

    const firstNonRepeatingLetter = str =>
      [...str].find((n, i, a) => a.indexOf(n) === a.lastIndexOf(n)) || '';

    Нет:

    const firstNonRepeatingLetter = str =>
      str.charAt(Array
        .from(str.toLowerCase())
        .findIndex((n, i, a) => a.indexOf(n) === a.lastIndexOf(n))
      );
    Ответ написан
    3 комментария
  • Как связать между собой реквизиты справочника и документа?

    @Dementor
    программист, архитектор, аналитик
    При добавлении новой записи, допустим, в Договора и указании в поле Комплект нужного комплекта, необходимо, чтобы в справочнике Комплекты в поле Договор автоматически записывался нужный договор. Но этого не происходит.

    Все верно. В базу записывается именно та информация, которую вы указываете!

    Что необходимо сделать?

    Нужно явно указать, чтобы в вашем "Комплекте" сохранился договор. Два способа: пользовательский и путь программиста. Пользователь может в карточке договора из поля комплекта открыть карточку комплекта, где в поле договора указать нужный договор и записать карточку комплекта. Программист может написать код, который это сделает автоматически.
    Ответ написан
    3 комментария
  • Как присвоить значение переменной без связки контекста?

    yarkov
    @yarkov Куратор тега JavaScript
    Помог ответ? Отметь решением.
    Комментировать
  • Как правильнее использовать БД в nodejs?

    TTATPuOT
    @TTATPuOT
    https://code.patriotovsky.ru/
    Держать 1 соединение правильнее. Но не всегда хватает. И оно рано или поздно отвалится и нужно будет переподключатся, так как база имеет лимит на простаивающее соединение. Можете почитать о connection pool в Node.js, как их менеджментить и пользоваться.

    Можете об этом не задумываться и использовать query-build'еры, которые сами делают всё, что нужно с соединением. Я предпочитаю Knex - очень прост в освоении и удобен в использовании. Поддерживает callback'и, then и async/await.
    Ответ написан
    Комментировать
  • Как сделать замену в тексте по массиву значений?

    Kozack
    @Kozack Куратор тега JavaScript
    Thinking about a11y
    function removeTags (text) {
      return tags.reduce((text, tag) => text.replace(tag, ''), text);
    }
    Ответ написан
    Комментировать
  • Имеет ли смысл такая конструкция в JS?

    Xuxicheta
    @Xuxicheta
    инженер
    Цикл for..in перебирает свойства объекта и всех его прототипов. Чтобы исключить свойства прототипов из цикла используется проверка hasOwnProperty.
    Сейчас это считается устаревшим, в моде перебор объекта через Object.keys/Object.values/Object.enties с помощью for..of или перебирающих методов Array.

    т.е. нынче конструкция
    for (var i in result) {
        if (result.hasOwnProperty(i)) {
            //Остальной код
        }
    }

    должна выглядеть так
    Object.keys(result).forEach((i) => {
      //Остальной код
    });
    Ответ написан
    Комментировать
  • Как получить числа только внутри скобок?

    0xD34F
    @0xD34F Куратор тега JavaScript
    str.match(/rgb\(.*\)/).pop().match(/\d+/g)

    или

    str.match(/rgb\((.*)\)/).pop().split(', ')
    Ответ написан
    2 комментария
  • Что нужно знать новичку при разработке на PHP?

    FanatPHP
    @FanatPHP
    Чебуратор тега РНР
    Разделять. Использовать шаблонизатор, например Twig.
    mysql. прямо во время
    Стоит
    Старомодно
    Ответ написан
    Комментировать
  • Почему цикл в template не дожидается promise?

    Kozack
    @Kozack Куратор тега JavaScript
    Thinking about a11y
    Потому, что цикл v-for синхронный. Он получает от вашей функции ответ (промис) и выводит его. Он не смотрит что это за ответ и никак его не изменяет (Не дожидается промиса).
    Ответ написан
    Комментировать
  • JS - на чем проще сделать десктопное приложение?

    Taraflex
    @Taraflex
    Ищу работу. Контакты в профиле.
    для небольшого приложения?

    https://github.com/mimecorg/vuido - набор контроллов очень ограничен, но зачастую этого достаточно.
    Ответ написан
    Комментировать
  • Как получить имя класса из объекта в JavaScript?

    0xD34F
    @0xD34F Куратор тега JavaScript
    if (typeof defaultBg1 == 'Background') // ???

    Это по-другому делается (с известными ограничениями - у null и undefined свойств не бывает, попытка обратиться к конструктору в их случае приведёт к TypeError; кроме того, instanceof проверяет всю цепочку прототипов, т.е., например, [ 1, 2, 3 ] одновременно и instanceof Array, и instanceof Object):

    if (defaultBg1 instanceof Background)
    // или
    if (defaultBg1.constructor === Background)
    // или
    if (defaultBg1.constructor.name === 'Background')

    А вообще, можно соорудить такой костыль:

    const type = x => x == null ? `${x}` : x.constructor.name;
    
    type() // 'undefined'
    type(null) // 'null'
    type(true) // 'Boolean'
    type(69) // 'Number'
    type('hello, world!!') // 'String'
    type(/./) // 'RegExp'
    type([ 187 ]) // 'Array'
    type({ z: 666 }) // 'Object'
    type(document) // 'HTMLDocument'
    type(document.querySelectorAll('div')) // 'NodeList'
    type(new class XXX {}) // 'XXX'
    type(type) // 'Function'
    Ответ написан
    Комментировать
  • Как получить значение из вложенного JSON массива?

    Negezor
    @Negezor
    Senior Shaurma Developer
    const { title } = divselect.sort.find(item => item.id === '3');
    Ответ написан
    Комментировать
  • Как правильно оформлять множественные запросы в axios?

    Negezor
    @Negezor
    Senior Shaurma Developer
    const urls = ["https://www.google.ru", "https://toster.ru"];
    
    Promise.all(urls.map(url => axios.get(url)))
      .then(responses => console.log('Complete', responses));
    Ответ написан
    Комментировать