Задать вопрос
  • Как сделать подобное меню?

    @alexalexes
    Решение без JS:
    Принцип действия: Над кнопкой показа меню добавляется скрытый чекбокс, который выступает как триггер состояния. Состояние чекбокса управляет применяемым css правилом на меню.
    Кнопку "Server systems development" и скрываемое меню делаете в одном контейнере top-left-container.
    На том же уровне, где находится меню делаете прозрачный input type="checkbox" над кнопкой "Server systems development".
    Вывод и скрытие меню задаете примерно такими правилами:
    div.top-left-container input[type="checkbox"]:checked ~ div.menu
    {
    /*анимация появления меню*/
    }
    div.top-left-container input[type="checkbox"]:not(:checked) ~ div.menu
    {
    /*анимация скрытия меню*/
    }

    Решение c JS:
    Вешаете обработчик на кнопку Server systems development, проверяете наличие класса отображения на меню. Если нет класса, то добавляете, если есть то убираете (в Jquery будет использоваться функция toggle).
    Ответ написан
    Комментировать
  • Какие есть варианты устранения ошибки Memory Error у RAID контроллера?

    @alexalexes
    Ошибка намекает, что что-то не так с оперативной памятью контроллера.
    Многие мануалы рекомендуют просто снять контроллер и планки памяти контроллера и собрать их обратно.
    Ответ написан
    1 комментарий
  • Как обрабатывать Undefinded в JSON (Ajax jquery)?

    @alexalexes
    Если у вас железобетонно всегда присутствует объект data.noticeInfo, но временами отсутствует свойство document, то можно проверять наличие так:
    if('document' in data.noticeInfo)
    {
    }

    или так, если нужно различать свойства обусловленные прототипом и доприсвоенные свойства:
    if(data.noticeInfo.hasOwnProperty('document'))
    {
    }

    Если свойство лежит глубоко, а проверять существование цепочки свойств/объектов до него лень, не схлопотав предупреждения отладчика, или запись получается слишком громоздка, то нужен аналог функции isset из PHP для JS.
    if(typeof data.noticeInfo.document != "undefined" && data.noticeInfo.document !== null)
    {
    }
    Ответ написан
    Комментировать
  • Как получить удаленный доступ к телефону?

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

    @alexalexes
    ... на глобальном сбой.

    Вероятно, нужно докопаться до текста ошибки, чтобы понять, в чем дело?
    Но можно предположить, что от места выполнения у вас чувствительна вот эта строчка:
    $this->go_to_back_one_stap = explode('.ru', $_SERVER['HTTP_REFERER']);

    Выведите в отладочный файл значение $_SERVER['HTTP_REFERER'] на боевом окружении и посмотрите, то ли вы ожидаете в ней значение, чтобы разделить ее по '.ru' и взять элемент с индексом 1.
    Ответ написан
  • Как оптимально сделать таблицу умножения?

    @alexalexes
    Вот решение на Oracle.
    Достоинства:
    1. Подобрано максимально короткое описание вспомогательной выборки factor от 1 до 10 без перечисления ее элементов или обращения к другим таблицам.
    2. Поскольку нужно получить декартово произведение вспомогательной выборки, и не хочется повторять ее описание, то используем with.
    3. Не нравится писать слово join? У декартового пересечения нет условий, значит с соединением таблиц справится обычная запятая.
    Недостатки:
    1. СУБД должна мочь в рекурсивные запросы ( ... connect by ... ).
    2. СУБД должна мочь в выносимые запросы (with ...).
    3. Скорость рекурсии несколько ниже чем просто перебор описания 10 строк.

    with factor as (select level as lvl from dual connect by level < 10)
    
    select to_char(f1.lvl) || 'x' || to_char(f2.lvl) || '=' || to_char(f1.lvl * f2.lvl) as multi
    from factor f1,
        factor f2
    Ответ написан
    Комментировать
  • Можно ли работать двумя программами с одной базой данных?

    @alexalexes

    Обе программы получают из базы данные и работают с ними. Так вот я хочу исключить вероятность получения одних и тех же данных обеими програмамми. Сейчас у меня в коде используется using и в нем идет открытие соединения. Далее, получаем данные, в определенном столбце таблицы я помечаю, что данные взяты, что свидетельствует второй программе о том, чтобы она эти данные уже не брала.

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

    @alexalexes
    Первым действием перетранслируйте этот массив во вспомогательную структуру:
    {
        100: // groupId
        {
           1:  [1, 3], // source: [id, id, .....]
           2: [2]
        },
       ......
    }

    Тогда вам будет проще снимать метрики для сортировки: считать какие source есть у группы (сколько, каких нет), и какие id входят в source.
    Ответ написан
  • Как поставить перенос строки в функции mail?

    @alexalexes
    https://www.php.net/manual/ru/function.mail.php
    Читайте документацию:
    Каждая строка должна быть отделена символом CRLF (\r\n). Строки не должны быть длиннее 70 символов.
    Ответ написан
    Комментировать
  • Как в Oracle или Teradata разбить все строки таблицы на N равновеликие СЛУЧАЙНЫЕ выборки?

    @alexalexes
    Практически методом Монте-Карло помечаем числами из случайного интервала записи таблицы и берем интересуемую порцию по этой случайной метрике. Поскольку, рандом у нас по равномерному закону распределения работает, то и порцию данных вы получите примерно ожидаемой длины.
    select *
    from (
    select t.*, dbms_random.value(0, 100) rnd
      from table t
    ) A
    where A.rnd <= 30 -- выбираем примерно 30% случайных записей от ген. выборки
    Ответ написан
  • Как получить доступ к атрибуту элемента для условного задания класса?

    @alexalexes
    Если у вас этот список строится через v-for, то ничего не стоит на нужном элементе подсунуть нужный класс.
    Ответ написан
  • Как найти обьект без ключа JSON decode PHP?

    @alexalexes
    Пересоберите массив пользователей:
    $out_users = [];
    foreach($array_decode['response'] as $user)
      $out_users[$user['id']]['user'] = $user['user'];

    Тогда сможете обращаться как хотели:
    $out_users[идентф_ключа]['user'];
    PS: Вариант пересборки, если вас куча пользователей и вы ограничены по оперативной памяти скрипта:
    $out_users = [];
    foreach($array_decode['response'] as &$user) // обратите внимание на доступ по ссылке & к элементу массива
    {
      $out_users[$user['id']]['user'] = $user['user'];
      unset($user); //удаляем элемент из массива $array_decode['response'], чтобы не росло использование памяти.
    }
    Ответ написан
    1 комментарий
  • Ошибка Uncaught TypeError: Cannot read property '2' of null?

    @alexalexes
    У вас несоответствие бизнес-логики формирования цены товара на стороне сервера (то что получаете в response.prices), и как вы ее пытаетесь обработать функцией getSapogCost() на стороне клиента. Либо у вас не обрабатываются какие-то исключительные случаи, например, когда товар отсутствует в продаже, а сервер в качестве response.prices не возвращает тот объект, который может обработать данная функция.
    Ответ написан
    Комментировать
  • Как научиться выделять смысл?

    @alexalexes
    Попробуйте в двух словах сказать (лучше оперировать голосом, а не мыслю), что говорится в первой абзаце текста, и отдельно - во втором.
    Потом, чем они отличаются по содержанию. Сравнивайте 2 и 3 абзац. В таком духе двигайтесь дальше по тексту.
    По окончании текста подведите итог, о чем он и как развивалась мысль от начала и до конца.
    Так вы научитесь сжимать текст и выделять смысл, и никакие карточки вам не понадобятся.
    Ответ написан
    Комментировать
  • Как LEFT JOIN-ом присобачить только одну сроку, причем не любую, а наибольшую по данному полю?

    @alexalexes
    Если вам нужен исключительно номер телефона из присоединяемой таблицы и ничего больше, то подойдет подзапрос как свойство с использованием max.
    select C.Name,
    (select max(T.Phone) from Telephone T where T.Name = C.Name) Max_Phone
    from Clients C

    PS: Если это практическая задача, а не теоретическая-разминочная, то должно смутить использование имени клиента как первичного ключа в таблице клиентов и как внешнего ключа в таблице телефонов. На практике, обычно, для связки таблиц используются идентификаторы.
    Ответ написан
    2 комментария
  • Чем перевести txt файлы?

    @alexalexes
    Ищите подходящее API у сервисов перевода, за подходящие условия использования (платные, условно бесплатные).
    Составляете запросы по каждому файлу и скармливаете в API сервиса.
    Если платить не охота, то в среде разработки, которую вы знаете, подымаете браузер Chromium и кукловодите открытым веб интерфейсом переводчика, скармливая небольшие фрагменты текста, по 5-10 тыс. знаков.
    Ответ написан
    Комментировать
  • Как увеличить обьем одного ЖЕСТКОГО ДИСКА за счет другого?

    @alexalexes
    Не сразу понял сколько у вас физических устройств.
    Вам нужен режим работы 2 дисков в RAID0.
    Но его поднять физически, просто подкинув второй хард не прокатит, так как при создании RAID0 предыдущее состояние данных на дисках будет форматировано под этот режим, и вам нужен будет еще один накопитель, чтобы временно переселить важные данные, чтобы они не попали под форматирование.
    Если собирать не профессиональный массив, то этот режим должна поддерживать материнская плата. Такая плата в БИОСе имеет настройки Sata по мимо IDE/AHCI еще режимы RAID0 или 1. Вот один из них вам и нужен.
    RAID0 будет более производителен, но в то же время чувствителен к сбоям питания и выходу из строя одного из дисков. Если такое случится, то есть больше шансов потерять весь массив, чем если бы он был одним диском.
    Ответ написан
    Комментировать
  • Как трансформировать таблицу в PostgreSQL?

    @alexalexes
    Это не трансформация, а подготовка подходящей выборки.
    Структуру таблицы вы же не меняете, только форму получения данных?
    select t1.week_no,
    (select max(t2.ratio) from table t2 where t2.week_no = t1.week_no and t2.ticker = t1.ticker and t1.ticker = 'ADM') adm,
    (select max(t2.ratio) from table t2 where t2.week_no = t1.week_no and t2.ticker = t1.ticker and t1.ticker = 'PBRT') pbrt,
    (select max(t2.ratio) from table t2 where t2.week_no = t1.week_no and t2.ticker = t1.ticker and t1.ticker = 'ALL') aal,
    (select max(t2.ratio) from table t2 where t2.week_no = t1.week_no and t2.ticker = t1.ticker and t1.ticker = 'TSCO') tsco
    from table t1

    PS: max взят, чтобы выводить единственное значение свойства и не возникала ошибка, если будут дубликаты записей по одной неделе, можно использовать Limit в подзапросах или другой критерий, например, row_number.
    PPS: Можно сделать представление (view) на основе этой выборки, если нужно использовать результат как таблицу.
    Ответ написан
  • Как узнать какой именно SSD подойдет к ноутбуку ACER ASPIRE E5 575G 35M?

    @alexalexes
    Можно открыть люк HDD/RAM и лично посмотреть, что туда можно воткнуть в вашей модификации ноута.
    А дальше выбор чисто за вами - M2 или SATA диск.
    Ответ написан
    5 комментариев
  • Как правильно сделать группировку sql?

    @alexalexes
    Пронумеруйте Rank-ом или dense_rank c таким же partition с сортировкой rownum и отрежьте лишнее оберткой:
    select * from (...) where rnk = 1
    PS: Лучше обходиться без оконных функций, если есть решение более классическое. Окошки заставляют обходить выборку заново и ухудшают план выполнения запроса.
    Ответ написан
    1 комментарий