• Откуда скачать Oracle Client 12.2?

    @alexalexes
    Только гуглить по названию оригинального файла и натыкаться на непонятные ftp-файлопомойки:
    200.2.13.127/software/oracle/client
    Тут 12.1 версия, но, наверное, не суть важно.
    Ответ написан
    Комментировать
  • Какую базу данных использовать для такого проекта?

    @alexalexes
    Любую СУБД, с чем дружит php, и заводится с полточка: mySQL (лучше брать 8+ версию, а не 5.x, так как намучаетесь с реализацией аналогов оконных функций), postgresql и т.д.
    И ещё когда лучше реляционную и нереляционную использовать?

    Чем структуированнее и связаннее данные вводятся и выводятся в/из систему, тем проще ее сделать в реляционных сущностях.
    Различные шедулеры и таск менеджеры в реляционных СУБД на раз расписываются, нужно лишь набитый навык, как функциональную схему и потоки данных переложить на ER-диаграмму.
    Ответ написан
    Комментировать
  • Все признаки равенства треугольников?

    @alexalexes
    Хотя бы одна из сравниваемых характеристик должна быть не угловой (длина, площадь, периметр).

    где можно найти доказательства равенства, при тех случаях которые не описаны в трёх основных теоремах?

    В любом задачнике по курсу геометрии, где есть тема треугольников. Авторы как раз изгаляются, придумывая задачки, опираясь на геометрический базис аксиом/теорем.
    Ответ написан
    Комментировать
  • Как склеить разделы одного диска?

    @alexalexes
    Чтобы получить один раздел. Нужно один раздел удалить, а второй - расширить.
    Расширять раздел можно со стороны начала раздела и со стороны конца.
    Самая рискованная операция - расширение со стороны начала раздела, так как это вызывает полное переписывание таблицы размещения файлов и может занять несколько часов. Расширение раздела с конца - менее болезненная операция, так как фактически переписывает доступную емкость и может занять пару минут.
    Все эти операции могут необратимо для данных повредить преобразуемый раздел, если в процессе происходит сбой операции из-за физического повреждения диска, перебоев питания, багов в софте, отмене действия со стороны пользователя.
    Как правило, штатные утилиты Windows не умеют в расширение, придется воспользоваться такими утилитами, как Acronis Disk Director, Paragon Disk Manager и другие, загруженные не в Windows, а отдельным загрузчиком через флешку (если манипулировать нужно системным разделом).
    PS: 0,5 - чего? Мбайт, Гбайт. Если он в начале диска и занимает пару сотен мегабайт, то у Windows этот раздел хранит в себе загрузчик ОС. Нужно убедиться, что он не участвует в загрузке системы, и можно удалять.
    Ответ написан
    3 комментария
  • Как составить запрос sql?

    @alexalexes
    Бывает, нужно получить непустой результат при любых обстоятельствах.
    Но так делают, не потому что нет других средств, а просто лень выписывать это за пределами SQL.
    select A.*
      from (select t.col1, t.col2, ..., t.colN from t -- выборка для "не по умолчанию"
            union all 
            select def_col1, def_col2, ... def_colN from dual -- строка значений по умолчанию
           ) A
    where rownum = 1 -- выбираем только первую строку, неважно из чего

    PS: Вообще, обожаю такие штуки, чисто из спортивного интереса.
    Ответ написан
    Комментировать
  • Как добавить в цикл +время?

    @alexalexes
    Вам еще рано с шаблонами работать. Нужно научиться итерировать/трассировать циклы.
    if ( have_rows('whereblocks', $id) ) { // если найдены данные
    // тут объявить переменную i = 5
                   while ( have_rows('whereblocks', $id) ) { the_row();?>
           ....
                        data-wow-delay="<? /*тут вывести текущее i*/ ?>s">
            ....
      // тут прибавить к i 5
    } // конец цикла while
    } // конец if
    Ответ написан
    1 комментарий
  • Что будет с сайтом, если не платить за хостинг?

    @alexalexes
    Если в разделе "Резервные копии" не осталось никаких записей. То можно не вспоминать, что был какой-то сайт, а сразу переходить на тему его разработки сызнова.
    Если перешли на эту тему, то по вебархиву смотреть, что сохранилось там по части "как выглядели публичные разделы", и составлять ТЗ на разработку.
    PS: Еще вариант - выпросить контакты предыдущего разработчика. Вероятно, у него остался проект. Но вы же понимаете, что заказчик не просто так обратился к вам, и тот разработчик тоже понимает, почему с ним перестал работать заказчик.)
    Ответ написан
    Комментировать
  • Как правильно записать CASE, чтобы если не подходит под условие выполнения функции дальше не выполнялось?

    @alexalexes
    Если нужно ограничить выборку по вычисляемой колонке case, а разбирать смысл ее лень (или вы в процессе отладки это делаете), то нужно взять этот кейс, перетащить в where и проверить на is not null. Все, что в условия кейса попадает - будет строковым значением (нужно глазками посмотреть, чтобы в кейсе не было исходов с null), а все что не попадает в его условия - обратится в null (если явно не прописан else).
    SELECT id,
    CASE
      WHEN price > 10000 AND price < 11000 THEN 'Economy'
      WHEN price >= 20000 AND price <= 30000 THEN 'PremiumEconomy'
      WHEN price > 100000 THEN 'Business'
    END as service_class, price
    FROM tickets
    where CASE
      WHEN price > 10000 AND price < 11000 THEN 'Economy'
      WHEN price >= 20000 AND price <= 30000 THEN 'PremiumEconomy'
      WHEN price > 100000 THEN 'Business'
    END is not null

    А если делать по уму, конечно, кейс оставлять в where - это крайняя мера. Его быть не должно, это ухудшит показатели плана выполнения запроса (не всегда). Нужно вытаскивать булеву конструкцию, желательно, логически упрощенную.
    SELECT id,
    CASE
      WHEN price > 10000 AND price < 11000 THEN 'Economy'
      WHEN price >= 20000 AND price <= 30000 THEN 'PremiumEconomy'
      WHEN price > 100000 THEN 'Business'
    END as service_class, price
    FROM tickets
    where (price > 10000 AND price < 11000) --  'Economy'
       or (price >= 20000 AND price <= 30000) --  'PremiumEconomy'
       or (price > 100000) -- 'Business'

    PS: Конечно, странные у вас кусочные интервалы между классами обслуживания. Скажем, показатель в 12000 выпадет из любого класса. Обычно, их делают перекрывающими диапазонами. Ну, да ладно, тем интересней для вас разбирать запрос.
    Ответ написан
    Комментировать
  • Как запрограммировать датчик?

    @alexalexes
    учу С# база уже есть и решил отдохнуть пока от этой сферы

    Шутник вы, батенька. Вы тут же захотите взять полугодовой отпуск, как только сделаете первый проект на ардуинке.))
    Зашёл и датчик выполнил какое-то действие. Например:Проиграл музыку

    Также как в любой другой среде. Нужно как-то идентифицировать команду пользователя (пользователь нажал Y), и выполнить действие (закрыть диалоговое окно, с результатом Yes).
    Проблема лишь в том, что у вас это должно производится на борту железки, а момент наступления события вы определяете по косвенным признакам, например, определенный сигнал достиг порогового уровня значения.
    Для тренировки можете попробовать, например, реализовать проект цифрового термометра.
    В качестве дополнения, чтобы реализовать задачку, которую вы описали выше, допишите скетч прошивки так, чтобы встроенный светодиод на ардуинке зажигался, когда температура больше 30 Цельсия, и тух, когда меньше.
    Воздействовать на датчик температуры будете теплом собственного тела.
    Вот это и будет ваш первый простейший автомат.
    Ответ написан
    Комментировать
  • Как закрасить линию перед ползунком через css?

    @alexalexes
    input[type=range]::-webkit-slider-thumb::before,  /* для остальных браузеров */
    input[type=range]::-moz-range-progress /* для Firefox */
    {
     /**/
    }

    Такое же внимание уделите псевдоэлементам -webkit-slider-runnable-track и -webkit-slider-thumb, потому что FF тут умудрился выбиться из толпы.
    Ответ написан
  • Как получить необходимые промежутки времени?

    @alexalexes
    -- Тестовая таблица, для тестов "на коленке"
    with t as (select 1 id, TO_TIMESTAMP('2023.01.01 00:00:00', 'YYYY.MM.DD HH24:MI:SS') as timestamp union
    select 2, TO_TIMESTAMP('2023.01.01 00:01:00', 'YYYY.MM.DD HH24:MI:SS') union
    select 3, TO_TIMESTAMP('2023.01.01 00:02:00', 'YYYY.MM.DD HH24:MI:SS') union
    select 4, TO_TIMESTAMP('2023.01.01 00:03:00', 'YYYY.MM.DD HH24:MI:SS') union
    select 5, TO_TIMESTAMP('2023.01.01 00:05:00', 'YYYY.MM.DD HH24:MI:SS') union
    select 6, TO_TIMESTAMP('2023.01.01 00:06:00', 'YYYY.MM.DD HH24:MI:SS') union
    select 7, TO_TIMESTAMP('2023.01.01 00:07:00', 'YYYY.MM.DD HH24:MI:SS') union
    select 8, TO_TIMESTAMP('2023.01.01 00:10:00', 'YYYY.MM.DD HH24:MI:SS') )
    -- основной запрос
    select t2.before_timestamp, t2.timestamp
      from (select t.timestamp, lag(t.timestamp) over (order by t.id) before_timestamp
              from t) t2
     where t2.before_timestamp is not null
       and extract(epoch from t2.timestamp - t2.before_timestamp) > 60 -- 60 сек. макс. допустимый интервал между событиями
    Ответ написан
    Комментировать
  • Как сохранить сформированный через php xml в файл на сервере?

    @alexalexes
    // тут нужно создать болванку для исходящего xml документа с помощью XMLWriter.
    // перед входом в цикл нужно создать болванку списка юзеров
    while ($reader->read()):
         if ($reader->nodeType == XMLReader::ELEMENT && $reader->name == 'm:items'){
            //........
             $UserFields = [];
             $AcceptedPosition = [];
             while($data->read()){
                 switch ($data->name){
                   // ....................
                 }
                
             }
             // считали свойства юзера во входящем документе, тут нужно создать элемент юзера в исходящем и закинуть туда значения из $UserFields,  $AcceptedPosition 
         }
    // закончили читать список юзеров, нужно закрыть список юзеров в исходящем доке.
    // закрыть исходящий док
    Ответ написан
    Комментировать
  • Как уменьшить диапазон поиска для неизвестного числа?

    @alexalexes
    Бинарный поиск, делов-то.
    Число прыжков будет ~ log2(b-a), где [a, b] - ваш диапазон.
    Чтобы работал бинарный поиск, нужна функция, которая укажет в какое направление прыгать - в меньшую половину фрагмента диапазона, или в большую.
    Ответ написан
  • Как извлечь данные из бд в number_format?

    @alexalexes
    1. Получить значение из базы в integer, или в другом целом формате.
    2. Сдвинуть разряды числа так, чтобы корректно выделить "центы" в нужной валюте - разделить на 100, 1000, 10^6.
    3. С помощью функции number_format() вставить нужные разделители, чтобы радовало глаз пользователя (ну, или было корректное отображение, как это принято в определенной стране).
    Ответ написан
    Комментировать
  • Какие реальные комплектующие указаны?

    @alexalexes
    GF RTX260i4 ГБт
    Было бы похоже на правду для такого объема памяти (и то до 1 Гб), если указали GTX260 без всяких выкрутасов.
    RTX - появилось недавно, i - попытка написать ti, но до 560 линейки, ti не писали, ниже 260 был суффикс gt. Так что ни к селу, ни к городу абсолютно все показатели.
    Ответ написан
    Комментировать
  • Как получить соседние элементы?

    @alexalexes
    Если убрать синтаксический сахар, то получим такой код.
    // [...e.parentNode.children] -- преобразуем коллекцию узлов children в массив
    let child_count = e.parentNode.children.length;
    let child_arr = [];
    for(let i = 0; i < child_count; i++)
      child_arr.push(e.parentNode.children[i]);
    
    // .filter((child) => child !== e) -- фильтруем детей, которые не относятся к текущему узлу
    
    let filter_child_arr = [];
    for(let i = 0; i < child_count; i++)
    {
      let curr_child = e.parentNode.children[i];
      if(curr_child !== e)
        filter_child_arr.push(curr_child);
    }
    Ответ написан
    Комментировать
  • Не отображаются латинские символы и цифры на нектр. сайтах во всех браузерах, кто подскажет что делать?

    @alexalexes
    Проверьте по стеку, где несоответствие в извлекаемой кодировке.
    База данных -> Веб-сервер -> Браузер.
    По обилию диакритических знаков и съехавшего регистра есть подозрение, что где-то в стеке перепутали cp1251 и cp1252 кодировку (или другую cp125x - разные однобайтовые кодировки под разные европейские языки).
    Ответ написан
    Комментировать
  • Потребление ресурса записи ssd и как потребление памяти уменьшить?

    @alexalexes
    1. Не заморачиваетесь с ресурсами SSD или HDD. Они успеют морально устареть до того момента, как начнут проявляться признаки износа. Скорее вы захотите купить новый накопитель, потому что емкость/скорость, принцип расположения в новом корпусе вас не устраивает.
    Но не стоит сбрасывать со щитов тот фактор, что диски могут быть с заводским браком, либо могут произойти случаи, когда они выходят из строя. Поэтому резервная копия ваших личных файлов, которые не выкачаешь из интернета, должна быть всегда на другом носителе или компе.
    2. Штука называется - сетевое NAS хранилище. Используется как файловый сервер (+ в некоторых есть встроенная торрент-качалка), чтобы можно было смотреть фильмы из любого утюга в доме (телевизор, смартфон). Придуман, чтобы тупо был один общий источник данных, а не ради экономии ресурсов отдельных дисков.
    Ответ написан
    Комментировать
  • Нормально ли так делать на Vue?

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

    @alexalexes
    Вероятно, проще использовать виртуальную машину, например, VirtualBox, переконфигурировав идентификаторы оборудования на образе виртуальной машины.
    Гуглите как ставить Mac OS, если у вас нету железа от Apple, там как раз хорошо расписаны этапы, как сделать виртуальное железо валидным для проприетарной ОС.
    Ответ написан
    Комментировать