• Что если к планшету подключать зарядное на 2,1 ампера?

    @Carfik
    Автор говнокода
    Планшет будет заряжаться
    Ответ написан
    Комментировать
  • Как добавить поле в высоконагруженную базу в таблицу на продакшене где 100 миллионов записей?

    Melkij
    @Melkij
    PostgreSQL DBA
    Могу ответить про postgresql.

    без ее блокировки

    Именно в такой постановке вопроса - никак.

    С короткой блокировкой (доли секунд) - другое дело. Принципиально зависит от конкретного alter table и версии базы
    Простой alter table foo add column col; - ставите statement_timeout to '100ms' и вносите как есть.
    alter table foo add column col default const - после pg11 см. выше, до - интересное приключение
    Если default не константа - сначала внесите как default null, затем обновляете частями. как в процессе до pg11.
    Ответ написан
    Комментировать
  • Безопасно ли делать запрос к БД через ajax?

    FanatPHP
    @FanatPHP
    Чебуратор тега РНР
    Через ajax невозможно сделать запрос к БД. Поэтому вполне безопасно.

    А что касается запросов к БД из РНР файла,
    как избежать этого?

    не писать в своем php скрипте код, который будет возвращать пароль при запросе емейла.
    плюс погуглить три слова php sql injection
    Ответ написан
    9 комментариев
  • Как находить быстро и много нужной информации?

    opium
    @opium
    Просто люблю качественно работать
    сходите на курсы по яндексу и гуглу
    епта
    Ответ написан
    Комментировать
  • Как заставить блок исчезать в зависимости от ширины экрана?

    coderisimo
    @coderisimo Куратор тега JavaScript
    Медиазапросы

    @media only screen and (max-width: 480px) {
        #someDiv {
            display: none;
        }
    }
    Ответ написан
    Комментировать
  • Обязательно ли переносить наклейку Windows 10 OEM с коробки на компьютер?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Я знаю, что OEM лицензия для сборщиков ПК
    Именно. Вы не можете получить доступ к ключу не открыв конверт. Открывая же его вы принимаете лицензию для сборщиков.
    1. Определения.
    ...
    f. «Cборщик систем» — это изготовитель оборудования, сборщик, восстановитель или предустановщик ПО, реализующий Пользовательскую систему (системы) третьему лицу.
    2. Авторизованное распространение и принятие.
    Чтобы распространять программное обеспечение из Пакета, вы должны быть Сборщиком систем и принять условия этой лицензии. Открывая этот Пакет, вы принимаете настоящую лицензию. Если вы решили не принимать настоящую лицензию, немедленно верните нераспечатанный Пакет дистрибьютору. Вы можете распространять нераспечатанные Пакеты только на своей территории. Сведения о территории, в отношении которой вы имеете право на распространение, см. на веб-сайте www.microsoft.com/oem/sblicense/territory. Вы можете возвращать только Пакеты, которые не открывались.
    То есть, вы имеете право купить или собрать компьютеры и установить на них OEM-windows, но после этого обязаны продать эти компьютеры. Использовать их для себя будет нарушением лицензии.
    Что касается наклеек, то тут опять же действует лицензия для сборщиков.
    6. Наклейка сертификата подлинности («COA»).
    Наклейка COA должна быть нанесена на переднюю, заднюю, боковую или верхнюю панель корпуса Пользовательской системы. Если Пользовательской системой является ноутбук или планшетный компьютер, COA должна быть нанесена на нижнюю панель Пользовательской системы.
    Ответ написан
  • Почему document.write('') не стирает html разметку?

    Tim-A-2020
    @Tim-A-2020
    <!DOCTYPE html>
    <html>
    
      <head>
        <meta charset="utf-8" />
        <title>JavaScript</title>
      </head>
    
      <body>
        <h2>Первая программа на JavaScript</h2>
        <script>
          var a = 5 + 8;
          setTimeout(() => {
            document.write("Результат операции ");
            document.write(a);
          },0)
    
        </script>
      </body>
    
    </html>


    Вызов document.write(html) записывает html на страницу «прямо здесь и сейчас». Строка html может быть динамически сгенерирована, поэтому метод достаточно гибкий. Мы можем использовать JavaScript, чтобы создать полноценную веб-страницу и записать её в документ.

    Этот метод пришёл к нам со времён, когда ещё не было ни DOM, ни стандартов… Действительно старые времена. Он всё ещё живёт, потому что есть скрипты, которые используют его.

    В современных скриптах он редко встречается из-за следующего важного ограничения:

    Вызов document.write работает только во время загрузки страницы.

    Если вызвать его позже, то существующее содержимое документа затрётся.
    https://learn.javascript.ru/modifying-document#a-w...
    Ответ написан
    1 комментарий
  • Как изменить число внутри строки с сохранением ведущих нулей?

    0xD34F
    @0xD34F Куратор тега JavaScript
    const add = (str, val) =>
      str.replace(/\d+$/, m => `${+m + val}`.padStart(m.length, 0));
    
    
    add('string0001',    1) // 'string0002'
    add('string1010',   99) // 'string1109'
    add('string2345', 6789) // 'string9134'

    Если при переполнении не должно происходить увеличения количества разрядов (т.е., string99 + 1 должно быть равно string00, а не string100), то после вызова padStart добавьте .slice(-m.length).
    Ответ написан
    Комментировать
  • Нужен ли ID в базе mysql?

    dimonchik2013
    @dimonchik2013
    non progredi est regredi
    шоб ты понимал(а) - Мускуль все равно его создаст, просто не покажет
    а ты себя ограничишь при индексах и запросах
    Ответ написан
    2 комментария
  • Как в массиве сосчитать объекты с одинаковыми значениями свойства?

    0xD34F
    @0xD34F Куратор тега React
    Если говорить именно об уникализации массива, то

    const uniqueWithCount = (arr, idKey, countKey) =>
      Object.values(arr.reduce((acc, n) => (
        (acc[n[idKey]] ??= { ...n, [countKey]: 0 })[countKey]++,
        acc
      ), {}));
    
    
    const result = uniqueWithCount(arr, 'name', 'qty');

    Но вообще-то, в корзине элементы должны быть уникальны изначально, надо в момент добавления проверять наличие элемента, если есть - увеличивать его счётчик, нет - добавить со счётчиком, имеющим единицу в качестве значения. Как это может выглядеть:

    const addToCart = product =>
      setCart(cart => cart.some(n => n.id === product.id)
        ? cart.map(n => n.id === product.id ? { ...n, qty: n.qty + 1 } : n)
        : [ ...cart, { ...product, qty: 1 } ]
      );

    https://jsfiddle.net/6etkvyr9/
    Ответ написан
    4 комментария
  • Как понять и реализовать битовую карту?

    hzzzzl
    @hzzzzl
    так будет нагляднее

    states = {
      DISABLED: 0b001,   // так можно писать двоичные числа
      FOCUSED: 0b010,
      HOVERED: 0b100,
    }
    
    (states.DISABLED | states.HOVERED).toString(2)  // .toString(2) - переводит в двоичную
    // "101"   // поставлены 1 и 3 биты
    Ответ написан
    Комментировать
  • Как менять вопросы?

    IonDen
    @IonDen
    JavaScript developer. IonDen.com
    1. Навешивем на кнопку "еще вопросы" слушатель
    2. В JS при клике на эту кнопку вызываем функцию, скажем `getMoreQuestions`
    3. Функция `getMoreQuestions` внутри себя должна каким-то образом получить список следующий вопросов (это может быть Ajax запрос, или если все уже предзагружено, взять из массива по диапазону от 5 до 10 и т.п.)
    4. После получения вопросов вызываем следующую функцию, скажем `renderQuestions` которая перерисует блок с вопросами с новым контентом.

    Как то так :)
    Ответ написан
    Комментировать
  • Почему при вставке вставляется только часть текста, а не весь?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Потому что вы не добавили кавычки вокруг true box.
    В результате в браузер приходит <div class="box" data-box=true box</div>
    Браузер интерпретирует это как <div class="box" data-box="true" box</div>
    Ответ написан
    1 комментарий
  • Пк не видит ssd?

    iLLuzor
    @iLLuzor
    Java, Kotlin, Android Developer
    Создать раздел и отформатировать
    Ответ написан
    Комментировать
  • Как распарсить такой массив?

    FanatPHP
    @FanatPHP
    Чебуратор тега РНР
    Тут надо вообще всё менять.
    Корзину надо хранить в сессии, а не в посте.
    Тогда ничего не придется парсить.
    Из формы забираешь только телефон, а корзина уже в виде массива лежит в сессии
    без всяких имен, а только айди товара и его количество.
    название и стоимость берется из базы, на момент оформления заказа.

    тотал кост считается на основании этой информации полученной из БД, а не передается с клиента. а то клиент тебе насчитает, ты ему еще должен останешься.
    Ответ написан
    3 комментария
  • Какой кешер для php лучше? Как выбрать?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Как я понял есть:
    - APC
    - XCache
    - OPCache
    - eAccelerator (вроде не развивается с 2016)
    Из них только OPCache более-менее актуален, а в 7 ветке это уже излишне в принципе.

    - memchached (ставится в связке с кем-то из выше изложенных)
    *memcached не относится к кэшированию кода, это хранилище. Если нужно - лучше использовать редис или какие-то альтернативы посовременнее.
    Ответ написан
    4 комментария
  • Какой кешер для php лучше? Как выбрать?

    FanatPHP
    @FanatPHP
    Чебуратор тега РНР
    Никакой.

    Судя по тому, что ты путаешь opcode cache с data cache, кэш тебе вообще никакой не нужен, а вопрос задан от балды.
    Учись мудрости у природы: когда коту делать нечего, он не кэш ищет, а гигиену наводит. И это очень правильное занятие в твоей ситуации. Куда меньше вреда принесёт
    Ответ написан
  • Как написать язык программирования?

    Griboks
    @Griboks
    Развёрнутый ответ займет многобуков, поэтому кратко...
    Языки бывают двух типов: компилируемые и интерпретируемые.

    Сложность создания первых заключается в трансляции высокоуровневый абстракции в низкоуровневый код (+управление памятью и прочие сложные вещи). Самый простой подход - придумать свой синтаксис, который переводить в какой-нибудь C++ или C#, а затем использовать стандартные средства языка для компиляции.

    Но я рекомендую вам сделать интерпретируемый язык (с постставкой Script). В таком случаем вы можете просто последовательно обрабатывать команды типа if cmd='add' then return a+b

    А если вы не хотите разбираться во всем этом, то лучше использовать генератор парсеров/компиляторов. Затем написать на своём языке компилятор своего языка (bootstrapping), чтобы получить независимый компилятор.

    P. S.
    Ваш вопрос про ассемблер не понятен. Вы хотите написать парсер и компилятор на ассемблер или же хотите, транслировать ваш язык в ассемблер? Или интерпретатор на ассемблере? Чем ниже уровень, тем больше вариантов.
    Ответ написан
    4 комментария
  • Как изучить язык баз данных SQL?

    @dmitryKovalskiy
    программист средней руки
    SELECT/INSERT/UPDATE/DELETE и JOIN-ы не изменились. Большая часть работы с SQL - виртуозное владение этими командами.
    Ответ написан
    Комментировать