Задать вопрос
  • Как сделать полный бекап телефона?

    CityCat4
    @CityCat4
    Жил да был черный кот за углом...
    Самый-самый полный бэкап тела на MediaTek - это SP FlashTool. Он создаст бэкап размером с память телефона. Он же его может залить. Программа инженерная, не для нубов. Перед тем, как начать пользоваться - читать тему.
    Ответ написан
    Комментировать
  • Как правильно хранить контент поста?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Использовать собственные минифицированные теги, благодаря которым определенный парсер будет воссоздавать нужные блоки с помощью компонентов (возможно динамичесих)

    20 лет назад этот вопрос был полнонстью решен с помощью технологий XML/XSLT/XPath.
    Языки C#/dotNet, Java поддерживают этот стек. И много других языков и библиотек.

    Потом еще создавали более простые вещи. Шаблонизаторы. Velocity, FreeMarker. Они немножко
    переворачивают постановку. Но их тоже можно рассмотреть.

    Хранить html код в столбце поста кажется нецелесообразным.

    С точки зрения суммарной стоимости владения (TCO) база данных всегда будет дороже
    чем файловая система. А самым дешевым будут хранилища типа Amazon S3, MS Blob, G-Drive.
    Ну если пересчитать удельно сколько стоит гигабайт.

    Хранить каждый элемент поста отдельно в бд со следующим содержанием (element_name, position, content, post_id),
    Тут - непонятно. Но есть такое эвристическое правило дизайна
    хороших NoSQL систем. Все данные для запроса должны лежать физически рядышком
    и не требовать дополнительных действий
    . В идеале - для отдачи поста вы должны сделать
    один единсвтвенный SELECT без joins и без подзапросов и агрегаций и без CONNECT-BY.
    Ответ написан
    2 комментария
  • Как правильно хранить контент поста?

    ThunderCat
    @ThunderCat Куратор тега Веб-разработка
    {PHP, MySql, HTML, JS, CSS} developer
    Хранить html код в столбце поста кажется нецелесообразным по ряду причин:
    Угу, ага...

    Лишняя трата памяти на хранение html тегов
    Ого, а лишние это сколько? Экономия на байтах чаще всего приводит к тратам на вычислительные мощности. Некоторые расчеты чуть ниже.
    Уменьшение производительности (?)
    Производительности чего?

    Стили/компоненты могут изменяться, а код останется прежним
    Стили как раз и нужны для того, чтобы легко конфигурировать визуал, не привязываясь к коду. Код может быть каким угодно, но стилизация через теги пока что лучший вариант, который придумали разработчики.

    Использовать собственные минифицированные теги, благодаря которым определенный парсер будет воссоздавать нужные блоки с помощью компонентов (возможно динамичесих)
    Ага, переизобретаем BBCode, найс... Для понимания проблемы - такие коды придуманы для форумов, с целью ограничить использование хтмл в пользовательском вводе. При этом подходе он худо-бедно оправдан, хотя и требует постобработки при каждом выводе, а это использование регулярок, что как бы совсем не бесплатно. В вашем же случае, источник текста более-менее доверенный, и ограничение в тегах больше мешает чем помогает.
    Что касается экономии на "минифицированных" тегах, ну допустим сэкономите вы 100 байт на тегах, то есть на 1000 постов экономия будет.... ТА-ДАААМ! 0,1 мегабайта! А если экономия 1000 байт на пост, то целый МЕГАБАЙТ можно сэкономить! Похвальная рачительность.

    Хранить каждый элемент поста отдельно в бд со следующим содержанием (element_name, position, content, post_id), используя отношения к родительскому посту, соответственно сохранится структура и рендериться пост будет через соответствующие компоненты в нужном порядке (однако как будет именно рендериться в шаблоне поста пока неизвестно)
    Базовые элементы и так должны храниться отдельно, другой вопрос почему они у вас рендерятся в одном порядке, а в другом месте в другом порядке? Заголовок, короткое описание, текст, главное изображение - отдельные поля, оглавление по сути часть текста, зачем его выносить отдельно - загадка, это же такой же текст, котрый автор волен располагать . Вариант с внешней таблицей по сути приводит нас к выносу части данных в EAV(отличный пример универсализации в ущерб производительности), что как раз будет серьезно напрягать выборки бд, если понадобится делать какие-либо поисково-выборочные манипуляции по этим данным.
    Ответ написан
    6 комментариев
  • 1 гигабит интернет но торренты качат 30-40мб/сек, как увеличить скорость?

    VoidVolker
    @VoidVolker
    Dark side eye. А у нас печеньки! А у вас?
    О, тут на самом деле есть куча факторов: как правильно уже сказали - есть оборудование провайдера со своими ограничениями. Есть ограничения у вышестоящего провайдера или провайдеров, сети и линий связи. Есть маркетинг провайдера: вам могут выдать тариф 1Гбит, но по факту это будет остаток от гигабитной лини, что приходит на весь ваш дом (у меня был такой случай - через пару месяцев "обещаний" обновить оборудование ушел обратно на старого провайдера, который не зажилил поставить второй коммутатор на дом только для меня одного). Так что гигабит в ДС и на дальнем востоке - это два разных гигабита. 30-40 мегабайт скорости в торрентах на гигабитном тарифе - очень даже неплохо на самом деле.
    Ответ написан
    2 комментария
  • Как сделать чат-бот на основе ИИ, обученный на собственной базе знаний?

    @vitaly_il1
    DevOps Consulting
    Согласен с Максимом - заставить это заработать в принципе несложно. Нюансы могут быть при тонкой настройке.
    Я не спец в AI, а DevOps. Но недавно заказчик попросил поднять приватный "ChatGPT" с его страшно секретными документами. Я использовал клон https://github.com/imartinez/privateGPT. Работает в целом.

    Что искать в гугле для загрузки доеументов в chatgpt - например "chatgpt my documents" .
    Ответ написан
    Комментировать
  • Является ли кнопкой оверлей модалки, при нажатии на которую модалка закрывается?

    delphinpro
    @delphinpro
    frontend developer
    Нет. Для закрытия окна должна быть нормальная кнопка. Закрытие окна по клику вне его проще всего сделать кликом по оверлею, однако это не делает оверлей кнопкой.
    Ответ написан
    6 комментариев
  • Какой внешний SSD выбрать?

    @kalapanga
    Вы не написали сколько оперативки в ноуте и какой проц. Понятно, что ssd в любом случае быстрее чем hdd, и от замены хуже точно не будет. Но очень вероятно, что избавившись от одного бутылочного горлышка, Вы сразу упрётесь в другое. И общий прирост производительности окажется незначительным (меньше, чем ожидаете).
    Возможно, стоит рассмотреть вариант терпеть дальше, а деньги отложить в фонд нового ноутбука.
    Но если уж добавлять ssd, то именно как написали в ответах.
    Ответ написан
    Комментировать
  • PHP не видит name из html. Что делать?

    flapflapjack
    @flapflapjack
    на треть я прав
    Сделайте
    <?php 
    
    include("..\DBconnect\Connect.php");
    echo "<pre>";
    var_dump($_POST);
    $login = $_POST['login'];
    $password =  $_POST['password'];
    
    echo $login;
    ?>


    Если ничего не покажет, то у вас косяк в DBconnect\Connect.php
    Ответ написан
    4 комментария
  • Как восстановить файлы после reset --hard?

    delphinpro
    @delphinpro
    frontend developer
    git reset --hard HEAD~1
    Это вы выполняли на своем компьютере?
    Данная команда полностью очищает рабочий каталог. А в данном случае еще и последний коммит.
    потом вы принудительно закинули эти изменения на гитхаб
    git push --force
    Теперь ваших файлов нет ни локально, ни на гитхабе.

    Мораль: Не нужно тупо копировать команды из интернета. Нужно понимать, что они делают =)
    Ответ написан
    7 комментариев
  • Отслеживание действий процессов в отношении других процессов в Windows?

    CityCat4
    @CityCat4
    Жил да был черный кот за углом...
    может есть какие-то утилиты

    Конечно есть :)

    Kaspersky Antivirus
    Dr.Web
    Malwarebytes (я предпочитаю вот этот)

    или практика по данному вопросу

    И практика есть - и ею поделится любой ИБ-шник :)

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

    Словом примерно то же самое, чего придерживаемся в личной жизни :)
    Ответ написан
    1 комментарий
  • Как грамотно сделать обработку ислючений в php?

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

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

    Отсюда сразу становится понятно, что для функции, которая должна проверять введенные данные, наличие ошибок в них не является исключительной ситуацией. А совершенно штатной. И обеспечивается штатными же средствами. По результатам проверки пользователю просто отправляется ответ, что данные неверны, безо всяких исключений. В нормальной структуре проекта этим занимается контроллер.

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

    2. Системные ошибки обрабатывает глобальный обработчик исключений, логируя саму ошибку, а на клиент отправляя статус 500 и какое-нибудь абстрактное сообщение о проблеме на сервере. Это самое важное в системных исключениях - текст ошибки никогда, не при каких обстоятельствах не уходит наружу.

    Пример такого исключения - когда запрос в БД порождает ошибку.

    3. Пользовательские исключения, там где они нужны, обычно обрабатываются по месту, но есть нюансы.
    Собственно, под обработкой исключений часто понимают два разных действия:
    - собственно обработку, когда программа совершает какие-то действия, чтобы нивелировать негативный эффект. Например, если не удалось подключение к какому-то сервису, то либо попробовать подключиться к другому, либо просто подождать и попробовать снова.
    - простое информирование пользователя

    Для информирования можно действительно ловить исключение через try..catch и писать какое-то свое сообщение.
    Но можно и автоматизировать этот процесс, вот две статьи, которые показывают примеры, как это можно сделать:
    https://angelovdejan.me/2022/11/24/centralized-exc...
    https://habr.com/ru/articles/688202/
    Ответ написан
    Комментировать
  • Как называется такая практика и является ли она приемлемой?

    jcmvbkbc
    @jcmvbkbc
    "I'm here to consult you" © Dogbert
    Является ли нормальной практикой для девелопера создать ветку feature1 от не последнего коммита мастера, то бишь не от "g"

    Да. В частности это стандартная практика разработчиков ядра linux: фичи должны расти от релизов или релиз-кандидатов, а не от каких-то случайных коммитов.

    и потом смерджить feature1 с коммитом X2 затирая изменения f и g?

    Из вопроса непонятно, это требование -- затирать, или это побочный эффект которого хочется избежать?
    Если делать обычный git merge, то никакого затирания не будет. Будут конфликты, если изменения касаются одних и тех же мест, иначе будет объединение изменений ветки и мастера.
    Чтобы затирать изменения можно делать git merge --strategy=ours -- в результате мёржа изменения сделанные в ветке которая мёржится будут потеряны.
    Ответ написан
  • Как узнать длительность mp3- файла без чтения всего содержимого файла в Node.js?

    Stalker_RED
    @Stalker_RED
    В некоторых записях ОПЦИОНАЛЬНО может быть длительность в id3 тегах. И вы сами можете туда дописать, если у вас эти файлы не на один раз.

    Для записей с фиксированный битрейтом можно кол-во фреймов перемножить на битрейт.

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

    Это физика - невозможно мгновенно отвести тепло с процессора на кулер, тк у кулера есть масса и некоторая собственная теплоёмкость/теплопроводность.
    Невозможно вентилятор мгновенно разогнать до более высоких оборотов, тк у него есть масса и + воздух сопротивляется.

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

    @dronmaxman
    VoIP Administrator
    https://play.google.com/store/apps/details?id=de.d...
    + USB modem

    Так же существую bluetooth модемы.
    Ответ написан
    Комментировать
  • Как посмотреть что лежит в переменной?

    Stalker_RED
    @Stalker_RED
    Можно сделать так
    $dump = var_export($val, true);
    error_log($dump, 3, '/path/to/myLog.txt');

    Ещё лучше - научиться пользоваться дебаггером.
    Ответ написан
    Комментировать
  • Нужна простая админ-панель для сайта. Какую выбрать?

    anatoly_kulikov
    @anatoly_kulikov
    Помог ответ? Отметь решением!
    Wordpress
    Ответ написан
    Комментировать
  • Как сделать такой слайдер?

    @mikilikala
    На фронте
    Ответ написан
    Комментировать