Задать вопрос
  • Как вывести содержание всей базы данных красиво?

    402d
    @402d
    начинал с бейсика на УКНЦ в 1988
    value.toCharArray()
    ваша головная боль началась здесь.
    осознаете, что вы структуру в которой все было разложено по полочкам превратили в банальную строку ?

    Чтобы сделать красиво Вам придется разобраться с такими вещами как

    1) recyclerview
    https://www.geeksforgeeks.org/android-recyclerview/

    2) Что такое архитектура приложения и почему плохо одновременно получать данные и перерисовывать экран

    3) Что такое MVM и MVVM.

    4) Когда нужны плейс холдеры.

    В реальности вместо ваших 10 строк будет 10 файлов и в сумме несколько килобайт кода и верстки
    Ответ написан
    Комментировать
  • Как передать массив в Bash-скрипт?

    ipatiev
    @ipatiev
    Потомок старинного рода Ипатьевых-Колотитьевых
    Так и передать, а потом разбить на элементы
    Вариантов разбивки много, например из головы такой
    #!/bin/bash
    echo $1
    for lang in $(echo $2 | tr "," "\n")
    do
      echo $lang
    done


    ./script.sh "other parameter" ru,en,fr,de,kk,pe
    Ответ написан
    Комментировать
  • Сократите время выполнения кода JavaScript - privacy-cs.mail.ru/static/sync-loader.js - что это?

    Mike_Ro
    @Mike_Ro
    Python, JS, WordPress, SEO, Bots, Adversting
    PageSpeed ругается на данную вещь, по времени занимает 3 секунды на мобильной версии

    Заверните внешне подключаемые скрипты в событие window.onload + setTimeout на 3 сек, PageSpeed и поисковики хорошо оценят данный движ.
    На сайте есть виджет чата от Битрикса, в нём есть ссыль на чат в ВК клиента. Может ли это быть оно?

    Точно не известно, пока не покажите ссылку на сайт.
    Ответ написан
    1 комментарий
  • Почему на сайтах в js коде используются непонятные однобуквенные переменные и что они значат?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Потому что для рабочей версии сайта чаще всего используют минифицированные версии файлов.
    Ответ написан
    1 комментарий
  • IP-адреса устройств(модемов), пк и провайдера?

    CityCat4
    @CityCat4
    Жил да был черный кот за углом...
    какие IP-адреса пользователя сайта(сервисов) могут видеть it-специалисты

    Ну я it-специалист, но мне неинтересны ваши IP-адреса :)

    Вы перестаньте пожалуйста спрашивать чушь и уточните - какую ситуацию Вы имеете в виду - дома Вы, на работе, в командировке еще где-то? "it-специалисты" бывают как правило на работе и они видят все. Ну то есть могут видеть все, что делается за рабочим компом.
    Ответ написан
    Комментировать
  • Как исправить ошибку 500 Internal Server Error nginx/1.26.2?

    karabanov
    @karabanov Куратор тега Docker
    Системный администратор
    500 (ровно) это в 99% случаев необработанное исключение - в логе приложения можно найти подробности о том, где именно оно произошло.
    Ответ написан
    3 комментария
  • Как тестировать запросы и ответы из базы данных через phpunit?

    ipatiev
    @ipatiev Куратор тега PHP
    Потомок старинного рода Ипатьевых-Колотитьевых
    Мне кажется, что найденные варианты работают не так. Используются они оба, а какой именно - зависит от того, что именно вы тестируете - запрос или ответ.

    Если говорить про "запросы к БД", то для таких тестов "массив с данными" использовать просто глупо. Это получится какой-то формальный тест: "проверяем, что метод возвращает массив из трех строк - и тут же возвращаем этот самый массив". В чем смысл? Если вы тестируете запрос к БД, то и надо тестировать запрос к БД. По-другому никак.

    Здесь я отвлекусь, и порассуждаю на тему того, что на самом деле тестирование - это гораздо более трудоёмкая задача, чем обычно считается. И как следствие, большая часть тестов - это такая вот туфта. Либо тест заранее возвращает нужные данные, либо тестирует один-два кейса. А вариантов неправильных входящих данных ведь может быть огромное количество. То есть по-хорошему на такой заведомо сложный (и принципиально неделимый!) метод нужно десятка два тестов.

    И сюда же использование для тестов БД другой системы. Например основная БД MySQL, а для тестов используется Sqlite. Тут сразу можно сказать, что это профанация. Различие даже в какой-то одной настройке БД может повлиять на результаты запроса (и теста как следствие) - а тут и вовсе используется совсем другая БД.

    С другой стороны, работу с БД скорее стоит тестировать не в юнит тестах, а скажем в интеграционных. Но не будем углубляться.


    Массив же "с данными, симулирующими ответ из базы данных" используется на следующему уровне, там где требуется "ответ из базы данных". Взьмём метод, который использует данные, полученные из БД. Например авторизация юзера. Этот метод должен не сам лезть в базу, а дёргать отдельный метод, вполне возможно, что совсем другого класса. И вот чтобы протестировать авторизацию, вы и мокаете метод для работы с БД, и из этого мока возвращаете тот самый массив без всякого обращения к бд.

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

    Так что разбивайте ваши длинные методы на мелкие, и тогда вопрос, как их тестировать, в большинстве случаев отпадёт сам собой.
    Ответ написан
    1 комментарий
  • Почему не отправляет формы в телеграм?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Кажинный раз одно и то же.
    Для начала выберем самый извращённый способ отправки HTTPs-запроса через fopen.
    Затем вместо нормальной обработки ошибки выведем одно слово Error.
    Ну и напоследок будем гадать что бы это слово могло за собой скрывать.

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

    pickHabr
    @pickHabr
    Костыльных дел мастер
    Возьми curl (а лучше сразу guzzle) вместо fopen и читай нормальные http ошибки, там все напишут
    Ответ написан
    Комментировать
  • Есть ли способ для быстрого перевода готового html сайта в мобильную версию?

    VoidVolker
    @VoidVolker
    Dark side eye. А у нас печеньки! А у вас?
    Да, есть: пачка денег плюс задача на фрилансе.
    Ответ написан
    1 комментарий
  • В чем может быть причина сильного увеличения длительности ответа запросов при установке Load Balancer на 2 сервера со стаком MySQL, PHP, Nginx?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Нагрузка на ЦПУ при этом пике 30-40%
    это че за нагрузка при 3рпс? Профилирование нагрузки - первый шаг, балансер и горизонтальное расширение это шаг стопитьсот, когда вы упираетесь в потолок того что может вытянуть сервак. 90% что проблемы в количестве (и качестве) запросов к бд, крайне маловероятно что код у вас настолько сложный, что не вытягивает...

    обращается к основной БД через коннект по приватному IP адресу в сети серверов Амазон.
    Тестом запустите подряд 20-30 разных запросов с разным размером ответа, каждый замерьте, подозреваю что будете не очень приятно удивлены...

    запросы на дополнительном сервере начинают отрабатывать по 5, 15 а иногда и 50 секунд.
    А на основном все остается норм? В любом случае - профайлинг наше все, + под нагрузочным тестированием хоть как-то.
    Ответ написан
    2 комментария
  • Как проксировать запросы к API?

    Aetae
    @Aetae Куратор тега JavaScript
    Тлен
    При использовании postman ничего проксировать не надо, он делает запросы без ограничений. Т.о. ошибки у вас возникают не по этой причине, а из-за кривых запросов и\или кривого сервера. Пытайтесь дальше.

    P.S. Ограничения есть в браузере, если вы будете писать клиентское приложение то изучить, что такое CORS вам придётся в любом случае.
    Ответ написан
    Комментировать
  • Почему низкая нагрузка на ГП и ЦП в некоторых играх?

    @Aleksvel
    Процессор отличный , видеокарта отличная , память и ssd здесь вообще не причём .
    А вот материнская плата может дать проблемы . У неё зона VRM без охлаждения . На плате 8 кубиков - это дроссели а рядом с ними по 3 штуки - это полевые транзисторы , вот им нужно охлаждение , у вас они без радиаторов , а рассколятся они могут больше 100градусов при бусте процессора 4200гц.и проц ведёт себя не стабильно .
    Есть комплекты для самостоятельной установки охлада , или поменяйте процессорный куллер с башенного типа на обычный , который будет обдувать зону VRM питания процессора.
    Ответ написан
    1 комментарий
  • Как организовать умное кеширование MYSQL?

    ipatiev
    @ipatiev
    Потомок старинного рода Ипатьевых-Колотитьевых
    Как всегда, в заголовке одно, а в тексте вопроса совсем другое. И никакое кэширование автору делать на самом деле неохота - это же переделывать всё придется.

    При этом чего именно нужно автору, из вопроса непонятно. То ли проблема с потреблением памяти, то ли скорость запросов, то ли вообще никаких проблем нет, а просто поговорить на с кем.

    Ускорение запросов решается за счет создания индексов. Не "есть индексация", а конкретные осмысленные индексы для каждого используемого запроса. Если конкретный запрос тормозит, ему надо сделать explain, и на основе полученного результата подумать и реализовать индексы.
    При этом нормально индексы работают только если все они помещаются в памяти. А это значит, что по поводу "7 гигов занято" надо не плакать а радоваться.
    Существование "таблиц" для новых и старых сообщений в рамках одной таблицы - это партиционирование, например по дате. Но опять же, сначала надо определиться задачей, которую мы решаем.
    Ответ написан
    7 комментариев
  • Как создать ЭлементДанных "среднее PING" в Zabbix?

    @AUser0
    Чем больше знаю, тем лучше понимаю, как мало знаю.
    Среднее значение считается функцией .avg(604800) > -1, цифра - это количество секунд в неделе (7 дней), а условие > -1 - ну что бы хоть что-то в условии было.
    Что бы событие срабатывало раз в неделю - можно поставить интервал "По расписанию", и указать конкретный момент времени в неделе, когда элемент данных активен. Разумеется в условии восстановления нужно написать какое-нибудь выражение 1 > 0, оно всегда TRUE, и проблема будет закрываться сразу. А в извещении используйте стандартный макрос {ITEM.VALUE}.

    Правда не представляю, сколько времени Zabbix будет вытаскивать данные из базы и считать среднее арифмитическое. Ещё больше не представляю, какому воспалённому мозгу нужна такая средняя температура по больнице.
    Ответ написан
    5 комментариев
  • Синхронизация двух директорий через ssh?

    saboteur_kiev
    @saboteur_kiev Куратор тега SSH
    software engineer
    Мне постоянно советуют rsync

    Неужели такая странная хотелка, что нет готового решения?

    Так тебе и советуют готовое отличное решение.

    , но это же просто продвинутая замена scp. Там даже для обратной синхронизации надо его запускать второй раз с другим направлением.

    Нет, это не замена scp. То, что используется тот же протокол не значит что работает одинаково. rsync умеет обновлять файлы частично, экономит трафик.

    Вот пишу я какой-то код на ноуте. А запускаю на сервере. Как мне самым простым способом синхронизировать две директории — локальную и серверную?

    Обычно для таких вещей используют систему контроля версий, что гораздо лучше чем просто синхронизация директорий.

    В твоих требованиях противоречия.
    То тебе нужно, чтоыб какие-то файлы не синкались. То есть уже нужно поддерживать список исключений и возможно настраивать его на каждом сервере.
    Потом у тебя день поработать на каком-то сервере, а завтра на другом. То есть ситуация, когда у тебя 5-10 серверов и ноут будут синкаться друг с другом?
    Потом ты хочешь "готовое решения", но не хочешь ставить его на каждый сервер/ноут и настраивать. Ну вот есть какой-нить unison, который синкает в обе стороны за один запуск, но его нужно будет и ставить и настраивать как и synthing, который ты не хочешь ставить или настраивать.

    Я бы не парился, а просто юзал приватный git репозиторий, который легко поставить везде. И в гите не обязательно сотни веток и даже коммит можешь просто ребейзить постоянно, чтобы был один.
    Или rsync который уже обычно есть почти везде и который понятно как работает.

    Или уж настрой тот же synthing, а настройку добавь себе в гитхаб, чтобы можно было скриптом скачать готовый сетап и все.
    Ответ написан
    8 комментариев
  • Синхронизация двух директорий через ssh?

    Vindicar
    @Vindicar
    RTFM!
    Да, странная. Обычно бэкапы делаются по расписанию, а для этих целей rsync хватает.
    А твой скрипт после написания и отладки как раз и превратится в неполное подобие syncthing, nextcloud и т.п.
    Ответ написан
    1 комментарий
  • Можно ли сделать копию сайта на шаблоне aspro?

    @koder_1
    Битрикс программист
    Решение аспро привязывается к определенному ключу битрикс.
    Нужно не переносить на тестовый битрикс, а именно копировать сайт.
    Ответ написан
    1 комментарий
  • Почему такая разница в цене видеокарт 4060?

    xez
    @xez
    TL Junior Roo
    Предположу, что вас интересует не вопрос "почему такая цена", а вопрос "чем они отличаются".

    Насчет "чем отличиются" есть вот такое видео, надеюсь, станет понятнее.
    Ответ написан
    Комментировать
  • Как запаролить сайт?

    @tyxeo
    дальний знакомый Мурыча
    используй на сервере базовую аутентификацию
    Ответ написан
    Комментировать