• Можно ли вставить другой аккумулятор в ноутбук?

    @alexalexes
    Будет лютый колхоз, если физические размеры разные. Крепления батареи может и можно спилить, но кабель питания не получится аккуратно прокинуть, если он будет выходить не с той стороны батареи.
    Ответ написан
    Комментировать
  • Как составить запрос выборки баллов?

    @alexalexes
    Вас просят написать что-то с клаузой Having.
    Если читать вопрос влоб, то вас просят сгруппировать выборку по атрибуту point_lifetime, и проанализировать сумму баллов в having:
    select point_lifetime, sum(point)
    from t
    group by point_lifetime
    having sum(point) <= N -- N нужно рассматривать как входной параметр запроса

    Тут бы логично по user_id что-то интересное искать, но в задачке point_lifetime. В общем, нужно видеть с какими исходными данными работаете, чтобы понять, что вы группируете.
    Дополнено:
    -- тестовые данные
    with t as (select  1 id, 1 user_id, 10 point, from_unixtime(1701533439) point_lifetime
    union
    select  2 id, 1 user_id, 10 point, from_unixtime(1701533439) point_lifetime
    union
    select  3 id, 2 user_id, 10 point, from_unixtime(1001433439) point_lifetime
    union
    select  4 id, 1 user_id, -10 point, from_unixtime(1901533439) point_lifetime
    union
    select  5 id, 1 user_id, 100 point, from_unixtime(1801733439) point_lifetime)
    
    -- экспериментальный запрос
    select a.*
    from (select t.id,
           t.user_id,
           t.point,
           t.point_lifetime, 
           sum(t.point) over (partition by t.user_id) sum_point,
           row_number() over (partition by t.user_id order by case when t.point > 0 then 0 else 1 end, -- продавливаем положительные баллы вверх
                                                                    t.point_lifetime desc) rn -- локальный счетчик записей по пользователю, чтобы понять, какую запись хотите выдернуть из подзапроса, нужно сделать так, чтобы интересуемые записи имели rn = 1
    from t
      where point_lifetime > str_to_date('02.12.2023 10:00:00', '%d.%m.%Y %H:%i:%s') -- считаем, что отметка "сейчас" - это 02.12.2023 10:00:00
    ) a
    where a.sum_point >= 30 -- берем все то, что больше минимальной суммы
      and a.rn = 1 -- берем только интересуемую запись по каждому пользователю
     order by id
    Ответ написан
  • Как сделать что-то вроде джойна из таблицы в ту же самую таблицу?

    @alexalexes
    Еще бы какой-то атрибут добавить, чтобы тип записи различать - тогда жить можно.
    select t1.*, -- тематики
          t2.* -- вопросы
    from table_1 t1
    join table_1 t2 on t2.topic = t1.id
    where t1.topic is null
    and t1.Name like 'Тематика%' -- не хватает атрибута type, чтобы различать раздел от тематики
    Ответ написан
  • Как в таблице обернуть столбец в рамку?

    @alexalexes
    table подразумевает работу со строковыми данными, но с помощью псевдо-селекторов nth-child, можно сделать некоторый трюк, выделив колонку:
    /*7 - текущая колонка, 6 - предыдущая - можно номер выделенной колонки вынести в css переменную и манипулировать только ей*/
    tr:first-child td:nth-child(6),
    tr td:nth-child(6),
    tr td:nth-child(7)
    {
      border-right: 2px solid red;
    }
    tr td:nth-child(7) /*страховка для вырожденного случая, когда выделена первая колонка */ 
    {
      border-left: 2px solid red;
    }
    tr:first-child td:nth-child(7)
    {
      border-top: 2px solid red;
    }
    tr:last-child td:nth-child(7)
    {
      border-bottom: 2px solid red;
    }
    Ответ написан
    3 комментария
  • Как исключить конкретный лейбл из генератора PDF?

    @alexalexes
    <?php echo $field_label == "название лейбла" ? "": $field_label; ?>

    А вообще, нужно искать источник, откуда берется перечень полей, и исправлять его. А не делать костыли в шаблоне вывода.
    Ответ написан
    2 комментария
  • Нужно ли поставить конденсаторы большей емкости на 50-100% взамен разбухших?

    @alexalexes
    Да, это фильтрующие конденсаторы. Избыточной емкостью и вольтажом кашу маслом не испортишь в таких цепях.
    При таком ремонте там, где по заводу стояло на 16в - я ставлю на 25в, где 10в - ставлю 16в (как раз держу десяток кондеров 1000x25 и 2200x25 из алика для таких случаев). Обычно, до второго подобного ремонта такие БП не доживают - либо морально устаревают, либо дохнет ШИМ микросхема.
    Ответ написан
    Комментировать
  • Как иерархические данные из таблицы преобразовать в объекты Java?

    @alexalexes
    Составить SQL-запрос на основе синтаксиса WITH RECURSIVE, чтобы выборка происходила от корня к листьям.
    Выполнить запрос и получившуюся выборку прогнать через рекурсивную функцию, которая построит дерево, на основе описанной структуры элемента дерева.
    Ответ написан
    Комментировать
  • Как попасть в IT в 15 лет?

    @alexalexes
    Если у вас есть родственники, кто каким-либо боком вошел в IT, то поинтересуйтесь как устроена его работа. Какие задачи он выполняет, какими инструментами пользуется, как в упрощенном виде устроена информационная система, которую он поддерживает. Как он взаимодействует с коллегами и начальством, как устроен его распорядок дня. Как он до такого докатился.
    Изучайте, как работает человек со стороны, не пытайтесь сразу сказать "я хочу работать", просто интересуйтесь. Возможно, некоторые вещи будут интересны, некоторые скучные, а некоторые отвратные.
    А пока учитесь в школе до 11 класса, не обязательно идти в колледж, можно доучится в той школе, где сейчас учитесь. Если хотите что-то профильное, то можете уговорить родителей перевести вас в лицей с уклоном в матем+информатику или физмат, но от вас потребуют некоторых способностей, чтобы туда поступить не по месту жительства, а от родителей - некоторых денежных вливаний.
    После окончания школы поступайте в универ на IT направление подготовки (выберите сами, что по душе). После 3 курса уже можете беспокоить работодателей своим присутствием на собеседованиях по работе (не факт что возьмут, не факт что сразу, не факт что с 10 раза).
    Ответ написан
    1 комментарий
  • Какой тип протокола безопасности лучше выбрать (WPA, WPA2 и WPA3)?

    @alexalexes
    Для домашнего роутера любой wpa подойдет (все, что не wep). Если кто-то будет искать возможность подключиться к вашей сети, то будет искать особенности работы вашей прошивки роутера, а не слабость конкретного протокола. Поэтому целесообразно убирать из названий сети, у какого провайдера вы получили роутер, или какой фирмы установлен роутер - это уменьшит вероятность, что будет подготовлена атака для конкретной модели роутера.
    Является тип безопасности WPA2 и шифрования TKIP/AES (на компе и на телефоне) не уязвимым?

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

    @alexalexes
    Триггер - это функция (точнее процедура), запускаемая (поджигаемая) событиями изменения данных - insert, update, delete (до или после события), на определенной таблице.
    В описании триггера обязательно указано событие, на которое он подписан для начала выполнения.
    Обычная функция может быть вызвана как пользователем, так и из тела триггера.
    Триггеры, функции, процедуры как правило пишутся процедурным языком, встроенным в СУБД, в отличии от декларативного языка SQL.
    Ответ написан
    Комментировать
  • Мне надо чтобы из Загрузок файл рар сам разархировался на робочий стол?

    @alexalexes
    Если делаете в WinRAR, то при создании архива нужно задать следующее:
    1) Вкладка "Общие". Выбрать параметры архивации - "Создать самораспаковывающийся архив".
    2) Вкладка "Дополнительно". Выбрать "Параметры SFX...".
    3) Дополнительные параметры SFX, вкладка "Общие". Задать путь для распаковки:
    %USERPROFILE%\Desktop
    Теперь при создании архива вы получите самораспаковывающийся исполняемый файл exe. При распаковке будет предлагаться по умолчанию распаковывать на рабочий стол.
    Ответ написан
  • Как будет работать видеокарта Gt310m (512 MB) в паре с Intel Core i7-940XM?

    @alexalexes
    При наличии в корпусе ноутбука Dell Vostro 3300 процессора Intel Core i7-940XM дискретке лучше постоять в сторонке и лишний раз не нагревать воздух.
    Вы видели хоть железо, в которых ставился проц. Intel Core i7-940XM - какая там толщина корпуса ноута и каналы вывода воздуха?
    https://youtu.be/kTjbyX9-uFs?feature=shared&t=748
    Ответ написан
  • Как реализовать форму?

    @alexalexes
    Эффективней всего использовать фреймворки для пользовательских интерфейсов. Например, Vue JS.
    За счет реактивности вы можете подвязаться как к элементам ввода в DOM, так и к состоянию объектов в window, и отрисовывать по собственной семантике шаблонов vue не только целые формы, но и изменять состояние отдельных тегов, по изменению состояния других объектов формы или внутренней логике JS.
    Ответ написан
    Комментировать
  • Как организовать коммиты при верстке сайта?

    @alexalexes
    Делайте коммит, когда есть риск, чтобы вы не завершите работу по текущей задаче в один присест и не займетесь другой задачей. В тексте коммита нужно отразить не только что сделано, но и написать todo секцию - что не сделано, чтобы вашу ветку можно было считать условно работоспособной. Todo также будет подсказкой для вашего мозга для восстановления контекста мыслей, когда вы вернетесь после выполнения другой задачи.
    Ответ написан
    Комментировать
  • Как создаются трансляторы?

    @alexalexes
    Гуглите "Курсовая работа по дисциплине Теория языков программирования и методы трансляции".
    Получите максимально простой и сжатый гайд, как собрать транслятор одному единственному живому человеку и не сойти с ума.
    Ответ написан
    Комментировать
  • Как отфильтровать многомерный массив при помощи значений в одномерном массиве?

    @alexalexes
    $filtered_arr = array_filter($arr, function ($el) use ($arr2) { 
                return !in_array($el['number'], $arr2);
            }
        });

    В фильтрующей функции на return вы подаете выражение, которое можно перевести или трактовать как булевый результат true/false, по которому вы должны оставить поданный внутрь функции элемент $el в $filtered_arr.
    PS: Будьте осторожны с in_array - эта функция чувствительна к типу данных элемента и элементов массива, она их сравнивает как ===. Это на случай, если у вам в сравнении будут якобы числа, например, вместо 1010 будет '1010'.
    Ответ написан
    5 комментариев
  • Для надёжности, какой тип внешнего диска лучше выбрать, SSD vs HDD?

    @alexalexes
    Надежнее иметь от двух источников одних и тех же данных при их переносе.
    При ваших вводных, различия примерно такие:
    1) что SSD выживет, если свалится со стола или выскользнет из рук, а HDD - не всегда;
    2) на SSD есть не нулевой риск потерять данные при сбое питания или при сбое функционирования прошивки, в HDD данные физически останутся на своих местах, чтобы внести изменения нужно применить запись.
    3) на SSD невозможно проводить восстановление данных, признанных удаленными - прошивка будет подчищать их и оптимизировать место хранения. На HDD вполне предсказуемо профессиональное восстановление, если он не повреждался ударно.
    4) SSD быстры - ограничение упрется только в поколение usb 3 интерфейса и быстроту контролера SSD по записи. HDD - при хорошем раскладе скорость будет 100...120 Мбайт/с, не более.
    Ответ написан
    Комментировать
  • Какой из запросов более оптимальный?

    @alexalexes
    Использование in нужно избегать, если вы в нем не прописываете статичные значения, или известное кол-во переменных с альтернативными вариантами.
    Более живенько будет работать с обычными join:
    SELECT u.* FROM users u 
    JOIN pp1 ON u.id = pp1.id and pp1.organization = 1 
    union
    SELECT u.* FROM users u 
    JOIN pp2 ON u.id = pp2.id and pp2.organization = 1
    ORDER BY name
    LIMIT 15

    Или использовать exists в where - так вы планировщику даете понять, что можно не искать все варианты в подзапросе, а найти один, подходящий под условие.
    SELECT u.* FROM users u 
    where exists (select 1 from pp1 where u.id = pp1.id and pp1.organization = 1 )
         or exists (select 1 from pp2 where u.id = pp2.id and pp2.organization = 1 )
    ORDER BY u.name
    LIMIT 15

    PS: Наличие однотипных таблиц pp1 и pp2 говорит о наличии ошибки проектирования базы данных. От видов сущностей pp у вас не должно плодится таблицы с pp. У таблицы pp должно быть свойство вида сущности, например pp_type_id и таблица-справочник pp_type - куда вы будете добавлять новый вид сущности, а не создавать новую таблицу.
    Тогда запрос у вас будет выглядеть так:
    SELECT u.*
       FROM users u 
    where exists (select 1 
                  from pp
                 where u.id = pp.id
                   and pp.organization = 1 
                   and pp.pp_type_id in (1, 2) -- собственно, в таблице содержится все, что раньше находилось в pp1 и pp2, появилось поле, которое отличает разновидности записей
              )
    ORDER BY u.name
    LIMIT 15
    Ответ написан
    3 комментария
  • Будут ли работать Bluetooth наушники с не родным блютуз адаптером?

    @alexalexes
    Посмотрите внимательно документацию к наушникам Razer Barracuda X какая у вас их модификация. На рынке есть такие наушники с Bluetooth, а есть только с радиоканалом. Если в документации указано, что у ваших есть Bluetooth, то можно взять любой Bluetooth адаптер с такой же поддерживаемой версией или старше.
    Ответ написан
    Комментировать
  • Как с помощью jQuery повторить событие oninput и вызов функции при нажатии на button?

    @alexalexes
    $('.plus').click(function(e) {
     checkNumber(
    // про this - сюда вставьте указатель на ноду HTML - конкретный экземпляр инпут с классом намбер, который будете проверять. Будьте внимательны, если на странице несколько input.number, возможно, выбранный вами способ будет захватывать первый попавшийся input.number. Добейтесь того, чтобы захватывался только тот намбер, соседом которого является плюс или минус (можно через родительский контейнер вычислить это).
    
    // про event. Возможно, возможно, внутри реализации checkNumber, допустим есть отмена действия по умолчанию, или остановка всплытия события, посмотрите, будет ли отличия от события oninput на намбере. Можно попробовать передать указатель события клика от плюса/минуса (обратите внимание на аргумент e в function(e) )
    
    // про '1' - если заглянуть в хрустальный шар - реализацию функции checkNumber, то можно предположить, что это значение по умолчанию или минимальное значение поля input.number )
    });
    Ответ написан
    Комментировать