• Как узнать, какой тип у элементов?

    yarkov
    @yarkov Куратор тега JavaScript
    Помог ответ? Отметь решением.
    7 комментариев
  • Почему postgres не считает null уникальным значением?

    Fragster
    @Fragster
    помогло? отметь решением!
    Это фича (и не только postgres). Поступить - поменять индекс, сделав его не UNIQUE, а UNIQUE NULLS NOT DISTINCT
    (и да, эта фича доступна только в постгре 15. для более ранних версий нужно хранить в этом поле не NULL, а, например, 0 (но тут есть свои нюансы с foreign keys))
    Ответ написан
    4 комментария
  • Тег < p > и < span >. Есть разница?

    vabka
    @vabka
    Токсичный шарпист
    Разница в том, что span не несёт никакого семантического смысла, а p несёт и является параграфом.
    Ответ написан
    5 комментариев
  • Чем отличается наследование в ооп от протипированного наследования?

    Stalker_RED
    @Stalker_RED
    Вопрос некорректный, различий не может быть, так как прототипы - разновидность ООП.

    Отличие с классами есть:
    Прототипное программирование # Сравнение с класс-о...
    В языках, основанных на понятии «класс», все объекты разделены на два основных типа — классы и экземпляры. Класс определяет структуру и функциональность (поведение), одинаковую для всех экземпляров данного класса. Экземпляр является носителем данных — то есть обладает состоянием, меняющимся в соответствии с поведением, заданным классом.

    Сторонники прототипного программирования часто утверждают, что языки, основанные на классах, приводят к излишней концентрации на таксономии классов и на отношениях между ними. В противоположность этому, прототипирование заостряет внимание на поведении некоторого (небольшого) количества «образцов», которые затем классифицируются как «базовые» объекты и используются для создания других объектов. Многие прототип-ориентированные системы поддерживают изменение прототипов во время выполнения программы, тогда как лишь небольшая часть класс-ориентированных систем (например, Smalltalk, Ruby) позволяет динамически изменять классы.

    Хотя подавляющее большинство прототип-ориентированных систем основаны на интерпретируемых языках с динамической типизацией, технически возможно добавить прототипирование и в языки со статической проверкой типов. Язык Omega является одним из примеров такой системы.
    Ответ написан
    1 комментарий
  • Почему переменная list не перезаписывается каждую итерацию цикла?

    Stalker_RED
    @Stalker_RED
    А почему вы решили, что она не перезаписывается? Вот добавил одну строчку логирования, и видно как она перезаписывается
    function ListNode(val, next) {
      this.val = (val === undefined ? 0 : val)
      this.next = (next === undefined ? null : next)
    }
    
    let list;
    for(let c=1; c<=5; c++){
      list=new ListNode(c, list); //Я не могу понять, как работает эта строка.
      console.log('val=', list.val, 'next=', list.next); // <---------- вот эту
    }
    console.log(list);


    val= 1 next= null
    val= 2 next= ListNode {val: 1, next: null}
    val= 3 next= ListNode {val: 2, next: ListNode}
    val= 4 next= ListNode {val: 3, next: ListNode}
    val= 5 next= ListNode {val: 4, next: ListNode}
    ListNode {val: 5, next: ListNode}
    Ответ написан
    2 комментария
  • Как извлечь элементы многобайтового массива как единое число?

    wataru
    @wataru Куратор тега C++
    Разработчик на С++, экс-олимпиадник.
    Лучше так делать не надо. Это UB - нарушение всяких strict aliasing, выравниваия и вообще от порядка байт в машине зависит. Лучше руками собрать ULL по частям, вроде
    for (int i = 0; i < 8; ++i) result |= byte_array[i+1] << (8ULL*i);
    или
    for (int i = 0; i < 8; ++i) result |= byte_array[i+1] << (8ULL*(7-i));


    На худой конец, если очень узкое место, надо делать memcpy из массива в &result.
    Ответ написан
    Комментировать
  • Как из контейнера подключаться к базе данных?

    karabanov
    @karabanov Куратор тега Ubuntu
    Системный администратор
    Можешь файл с базой хранить на хостовой машине и монтировать его в контейнер.
    Ответ написан
    3 комментария
  • Почему вызывается исключение при считывании информации из файла?

    У вас переменная size в main не инициализирована. В ней находится мусор. А вы создаете массивы размера size.
    Ответ написан
    3 комментария
  • Функция, удваивающая числовые свойства объекта. Зачем return?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Так это вопрос к вам, зачем вы поставили return.
    Подозреваю из-за того, что console.log выводила undefined. Так она и должна была его выводить. По условию возвращать ничего не надо, а результат ничего не возвращающей функции как раз undefined.
    --  return obj
    --console.log( multiplyNumeric(menu) );
    ++multiplyNumeric(menu);
    ++console.log(menu);
    Ответ написан
    Комментировать
  • Как перенести текст статьи из .txt в html?

    Mike_Ro
    @Mike_Ro Куратор тега JavaScript
    Python, JS, WordPress, SEO, Bots, Adversting
    Т.к. нет примера txt файла, и это нужно угадать, то предположу, что параграфы в txt разбиваются пустой строкой.
    Т.к. указан тег js, и нет указания, где именно задачу необходимо выполнить (на бэке или фронте), то напишу решение для фронта:
    <!DOCTYPE html>
    <html>
      <head>
        <meta charset="utf-8">
        <title>Пример чтения и вывода текстового файла в HTML</title>
      </head>
      <body>
        <div id="content"></div>
    
        <script>
          fetch('example.txt')
            .then(response => response.text())
            .then(text => {
              const paragraphs = text.split('\n\n');
              const contentElement = document.getElementById('content');
    
              paragraphs.forEach(paragraph => {
                const p = document.createElement('p');
                p.textContent = paragraph;
                contentElement.appendChild(p);
              });
            });
        </script>
      </body>
    </html>
    Ответ написан
    2 комментария
  • Программирования учат или применяют?

    sergey-gornostaev
    @sergey-gornostaev
    Седой и строгий
    Решил прокомментировать, с точки зрения своего опыта (я в отрасли уже более 22-и лет). Знание без понимания - это как раз то, чем страдают почти все выпускники курсов и немало выпускников ВУЗов. Обучение - это не копирование знаний в память, как на флешку - это наращивание новых связей в мозге и перестраивание существующих. Поэтому это долгий процесс, требующий многократного применения знаний. Однако, практика без теории - это тоже плохая идея, так как несистемное обучение создаст в голове хаос и замедлит профессиональное развитие. Пользуйтесь поиском, этот вопрос задавали здесь уже много раз, рецепт эффективного обучения можно найти среди ответов.
    Ответ написан
    1 комментарий
  • Программирования учат или применяют?

    Программирование это по сути просто подробное описание процесса или объекта (в случае с html, например), на каком-то языке.

    Можно ли хорошо владеть языком не зная теории? В принципе - да. Говорите же вы на русском и понимаете его не зная например всех его падежей.

    Можно ли владеть языком на самом высочайшем уровне? Легко. Гомер или Шекспир не дадут соврать. Но Гомеров и Шекспиров в истории человечества было ровно по одному. Да я тягались они со своими современниками так же ничего не знавшими о теории языков на которых они писали. Может ли современный писатель или поэт стать классиком не будучи знакомым с теорией языка? Может. Но без теории написания текстов - вряд ли. Вам будет сложно написать интересную книжку или сценарий фильма, не будучи знакомым хотя бы с "Морфологией волшебной сказки" Проппа.

    Все то же самое характерно и для программирования, потому что, по сути, программирование ничем не отличается от писательства и поэзии - вы должны максимально просто, понятно и красиво, но полно выразить идею о процессе или объекте на каком-то языке.

    Вот и думайте что для этого надо - владение языком, которому невозможно научиться без постоянной практики, способность ясно мыслить, знакомство с разными приемами выражения определенных типовых мыслей. Вот всему этому вам надо научиться. Будете ли вы учиться этому как родному языку - долгие годы впитывая правила языка как нэтив или вызубрите правила, а затем начнете практиковаться - выбор за вами. Можно и так и так. Первый способ дольше. Второй не гарантирует результат.
    Ответ написан
    1 комментарий
  • Программирования учат или применяют?

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

    Получилось ли выучить иностранный язык, просто зазубрив слова? Или выяснилось что и слова надо запомнить и практиковаться много раз, чтобы как-то начало получаться?

    Алгебру - достаточно ли просто зазубрить что такое + - * / %, чтобы решать все задачи, или приходится на практике решать кучу задач, чтобы научиться это делать быстро?

    Программирование НИЧЕМ не отливается от любых других направлений. Нужно и зубрить теорию и заниматься практикой, нельзя делать что-то одно. И высчитывать процент - это зачем? каждый человек немного уникален, у каждого процент будет свой.
    Ответ написан
  • Программирования учат или применяют?

    Newto
    @Newto
    Добрый день. Я перечитал все ответы выше, а так же комментарии к ним. Решил прокомментировать, с точки зрения своего опыта(я занимаюсь разработкой уже более 15-ти лет). Для удобства чтения я буду писать по пунктам.

    1) Зубрёжка. Каждого из нас, кто ходил в школу, заставляли зубрить таблицу умножения. И, в конце-концов, это помогало в последующем обучении математики, не правда ли? В программировании есть такие же вещи, которые называются "стандарты". Вот эти стандарты и нужно, для начала, зазубрить. А позже и вникнуть, зачем они придуманы.

    2) Методика "объяснение и практика". Вы пишете, что "при таком способе мне приходится одно и тоже глазами несколько раз пробегать чтобы запомнить". Это, с моей точки зрения, в корне не верно. Ибо то, что вам объясняют, не нужно "пробегать глазами" несколько раз, что бы запомнить. Это вообще не нужно запоминать если это не те самые "стандарты"; это нужно осмыслить и понять. После того, как к вам придёт понимание как это работает, зачем и почему это надо -- вы сможете это использовать, осмысленно, в собственном коде.

    3) Платные курсы. Курсы ныне очень разные. Кто-то просто, простите, гребёт бабло на этом всём. А кто-то преподаёт с душой, хорошо и понятно рассказывая. Поэтому платный курс -- это хорошо, но только тогда, простите за тавтологию, когда это хороший курс. Читайте отзывы о курсе, советуйтесь с теми кто его уже прошёл(в идеале) и тогда уже решайте, тот ли этот курс, что даст вам необходимые знания.

    4) ВУЗ. Более 10-ти лет назад, у меня в подчинении, в вебстудии, работал PHP джун. Он доучивался в МГТУ имени Баумана. И он не знал ничего. Совсем. Мне приходилось объяснять ему простейшие вещи, типа что значит иструкция "$a += $b;". Сам же я учился в ВУЗе малоизвестном, на факультете "прикладная информатика в экономике" и наш преподаватель информатики, на первом курсе, на вопрос что значит в коде программы на языке C++ инструкция "с++" ответил, что это "так язык называется". Однако, вскоре ко мне начали ходить сокурсники, с просьбами "а напиши программку". И происходило это потому что я сам загорелся программированием, купил книжки, установил всё что нужно было установить на компьютер и начал "творить волшебство", как это мне тогда виделось, с горящими глазами. Короче говоря не нас учат ВУЗы, а мы учимся в ВУЗах или учимся без них. Тут уж как пойдёт.

    5) Ну и последний, самый важный, с моей точки зрения, пункт. Это Интерес. Если вам интересно программирование, вам нравится разбираться, что-то делать самостоятельно, а не только тогда когда кто-то поставил задачу, то у вас все получится. И как именно это всё учить у вас вопроса, в конце концов, не возникнет. Разбирайтесь, ковыряйте, вникайте и всё будет. Единственное что -- очень желательно, что бы перед вашими глазами были хорошие примеры. Потому что я, в свое время, тоже разбирался, учился и вникал, "гладили по голове", как писали выше в комментариях к одному из ответов, меня уже мои наниматели, потому что я все делал быстро и без ошибок, т.е. работало все так, как было нужно клиентам веб-студии, собеседование в которую я тогда прошел без каких-то проблем. Но вот мой код тогда был, откровенно говоря, тем, что сейчас называется "говнокодом". Потому что некому было мне показать как писать есть хорошо, а как есть плохо.

    Подыдожу -- ключи к быстрейшему развитию в деле разработки это ваш интерес к этому делу, желание им заниматься и примеры хорошего, качественного кода перед глазами. А так же кто-то, кто сможет технически оценить вашу работу и, без агра, с конструктивом, показать и рассказать что вы сделали не так.
    Ответ написан
    25 комментариев
  • Как при import убрать расширение .js?

    neuotq
    @neuotq
    Прокрастинация
    Через import в nodejs реализуется относительно новый принцип модулей(для nodejs) - ECMAScript. Указывать расширение файла при этом обязательно.
    Ответ написан
    Комментировать
  • Как закрыть доступ к сайту?

    Adamos
    @Adamos
    Чем гадать по велосипеду, проще определить, на каком сервере он ездит.
    И ok, google, "maintenance mode + apache/nginx"
    Ответ написан
    Комментировать
  • Как с помощью ssh скачать сайт весом 54гб?

    @Zerg89
    Используй потоковое сжатие если экономитшь трафик/время(вслучае малой ширины канала)
    Scp -C
    Ответ написан
    Комментировать
  • Как реализовать запуск приложения через консольную команду?

    GavriKos
    @GavriKos
    Для первого - и в винде, и в линуксе для этого достаточно прописать путь к папке с исполняемым файлом в PATH - все терминалы (наверное все) именно там ищут "команды" (а точнее команда это и есть бинарь).
    Ответ написан
    1 комментарий
  • Корректно ли в C++ называть стек статической памятью?

    wataru
    @wataru Куратор тега C++
    Разработчик на С++, экс-олимпиадник.
    Стек стоит рассматривать как отдельную категорию. И статической памятью его называть точно не стоит.
    Хотя бы потому, что для работы с ним есть специальные команды процессора.
    Плюс, он хоть и выделяется программе при загрузке, в отличии от статических данных, обращаться к данным в нем можно не всегда - а только ниже по стеку вызовов.
    Ответ написан
    Комментировать
  • Корректно ли в C++ называть стек статической памятью?

    Vindicar
    @Vindicar
    RTFM!
    Кирилл Гусарев, по вашему определению статическая память - это секция инициализированных данных exeшника.
    ЕМНИП, C++ в эту секцию кладёт инициализирвоанные глобальные переменные. Насчёт статических локальных не уверен.

    Вообще программа имеет доступ к четырём видам памяти:
    - секция инициализированных данных выделяется загрузчиком, её содержимое загружается из EXE файла, где оно хранится как образ.
    - секция неинициализированных данных выделяется загрузчиком, её содержимое забивается нулями. В EXE файле хранится только её размер.
    - Насчёт стека не уверен. Вроде со стеком главного потока исполнения то же самое, его размер прописан в экзешнике. Но кто его выделяет - загрузчик или рантайм языка... я подозреваю, что загрузчик. Стеки дополнительных потоков выделяются по запросу программы.
    - куча выделяется по ходу работы программы. Менджер кучи Windows создаёт одну кучу для процесса, дальнейшее управление кучами - дело самого процесса.

    Всё это - только для виндовых EXE. Про линукс я не в курсе.

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