• Не могу подключить background.js Chrome Extension, как найти проблему?

    @DrWeyber Автор вопроса
    В Manifest v3 есть особенность service_worker, его скрипты должны лежать в корне папки, а не во вложенных папках по типу /public/js/background.js
    Ответ написан
    Комментировать
  • Видеокамера для наблюдения с 7 (седьмого) этажа за своим автомобилем, какая лучше?

    fdroid
    @fdroid
    press any key
    Во-первых, никаких "Wi-Fi". Во-вторых, ставьте камеру с PTZ и оптическим зумом - так вы всегда сможете выбрать нужную область наблюдения и приближение. В-третьих, одной камерой дело не ограничивается - писать на что будете? Только не надо бубнить "на флеееееешку", про "аблакааа" тоже лучше не заикайтесь: нужен нормальный регистратор - вполне подойдёт недорогой, но достаточно функциональный HiWatch DS-N204(B).
    Ответ написан
    2 комментария
  • Как защитить компьютер от мусорного софта?

    @mkone112
    Начинающий питонист.
    Сам сломал - пускай сам чинит, выдать ему флешку и другой комп без админских прав и доступом к инету. Attention! Он может, не дай боже, стать админом, а то и девопсом или разработчиком - будьте осторожны.
    P.S. на кой хрен возиться с чужими детьми вообще?
    Ответ написан
    4 комментария
  • Как к entity присоединить список других entity и потом работать с ними и со списком?

    azerphoenix
    @azerphoenix Куратор тега Java
    Java Software Engineer
    Добрый день!
    Во-первых, на основании ваших слов:
    Есть сертификат(Certificate), у него может быть много тегов (Tag).
    Предполагается что в таблице тегов может быть куча дубликатов по имени, т.е. 3 сертификата могут иметь один и тот же тег "Java" ну или как-то так.

    Могу предположить, что связь OneToMany & ManyToOne не очень подходит.
    Вот, смотрите: один сертификат может иметь несколько тегов, но при этом один тег может относится к разным сертификатам. Тут явно связь ManyToMany.
    https://vladmihalcea.com/the-best-way-to-use-the-m...
    https://www.baeldung.com/jpa-many-to-many
    Соответственно, получится, что со стороны Certificate вы сможете получить список его тегов, а со тороны тега, можете получить список сертификатов, к которым он принадлежит.
    А то у вас получается, что и со стороны тега и сертификата OneToMany связь, но при этом с обеих сторон используется List
    При использовании ManyToMany будет создана новая таблица вида certificate_id | tag_id, где вы сможете хранить данные. И соответственно,
    Как к entity присоединить список других entity и потом работать с ними и со списком?

    Этот вопрос устранится само собой
    Ответ написан
    7 комментариев
  • Можно ли внутри дэсктопного приложения отследить был ли сделан скриншот?

    BasiC2k
    @BasiC2k
    .NET developer (open to job offers)
    Скриншот сделанный на телефон ничем не отследите.
    Ответ написан
    3 комментария
  • Как программисты следят здоровьем глаз, зрения или позвоночника?

    approximate_solution
    @approximate_solution
    JS Developer. Angular\React\Vue\Ember
    КАЖДЫЕ 20 минут работы перед компом НА 20 минут ОТДЫХА.

    На руках часы - каждые 30 минут вибрация, встаю, наливаю воду из кулера, делаю мини зарядку на глаз.

    Итог: через каждые 30 минут 4к изображение снова появляется. Для спины - офисное кресло с жесткой спинкой(без качающегося механизма).

    В обед после приема еды лучше не сидеть на попе, если есть возможность - погулять, постоять с коллегами, обсудить что нибудь.

    Вечером после работы - спорт. Бег, плаванье, тренажерный зал = самое полезное что есть для программиста. Можно еще после плаванья пивка бахнуть, тоже тонус прибавляет.

    PS: в 20 лет сделал операцию на глаза - было -6, стало 100%.
    За 10 лет списком выше - со зрением и спиной пока что всё норм.
    Ответ написан
    10 комментариев
  • Какой из этих авторов книг по Java, по вашему мнению, пишет проще всего (для новичка): Эккель, Блох, Хорстманн?

    azerphoenix
    @azerphoenix Куратор тега Java
    Java Software Engineer
    Добрый день!
    Если хотите прочитать что-то после Java Head First, то пожалуй стоит прочитать:
    1) Герберт Шилдт - Руководство по Java для начинающих.
    2) Герберт Шилдт - Полное руководство по Java.
    По идее можно сразу начать читать вторую книгу.
    Ответ написан
    1 комментарий
  • Получится ли сохранить файлы в торрентах или IPFS, на десять лет?

    ProgrammerForever
    @ProgrammerForever
    Учитель, автоэлектрик, программист, музыкант
    Разумно было бы продублировать данные во всех вышеуказанных сервисах + придумать более экзотические способы. Например сделать сайт, куда закодировать в base64 файл на страничках, и прокэшировать его в wayback machine, отправить на email, зашить в видео и залить на youtube и т.п.
    Торрент можно использовать только если есть доступ к компьютеру, который простоит 10 лет подключенный к Интернету без отключения и переустановок системы.
    Ответ написан
    1 комментарий
  • Как работает этот код?

    @vascodogama
    tries = 3 #число попыток ввести фигню
    while tries: #пока не tires не 0 и не None
        print('>>> ', end='') #принти что-то
        command = input() # вводи текст
        if not command: # если command не обьявлен (ты ничего не ввел выше)
            continue 
            #начинай цикл заново не выполняя его нижнючасть
        if command in ('echo', 'cd', 'help'):  #если введенное равно любому элементу из списка
            break # досрочно прерви цикл
        print('Unknown command!') 
        tries -= 1 #уменьши tires на 1
    else:
        print('Too many bad tries!') # выскочит когда ты три раза введешь фигню и tries  будер равен 0
        command = None
    Ответ написан
    1 комментарий
  • Что лучше подходит для хранения больших файлов?

    zagayevskiy
    @zagayevskiy Куратор тега Android
    Android developer at Yandex
    Если данных действительно много, то зависит от их структуры. Если структура есть(это много одинаковых записей), то, конечно, БД. Если это просто большой бинарь(аудио, видео, etc), то, конечно, файл во внешнем хранилище.
    Bundle не подходит ни под каким соусом, это абстракция для короткого хранения состояния(например между открытиями экранов или смене конфигурации).
    Ответ написан
    Комментировать
  • Возможно ли сразу изменять иконку расширения из popup скрипта?

    @GrayHorse
    Укажи tabId вкладки, для которой нужно поменять иконку, т.е. новую иконку нужно дополнительно вручную для каждой уже открытой вкладки поставить. Без указания tabIdона поставится лишь для новых вкладок/после перезагрузки.
    Ответ написан
    Комментировать
  • Как можно защитить XML файл от открытия любым человеком?

    anton_reut
    @anton_reut
    Начинающий веб-разработчик
    Запретить обращение напрямую в htaccess а только через скрипт, а дальше на что фантазии хватит.
    Ответ написан
    6 комментариев
  • /deletethis/deletethis?

    @mkone112
    Начинающий питонист.
    Я честно пытался прочитать эту дичь, но в ней слишком много бреда. Если тебя интересует самый выгодный вариант, то это поступление в нормальный вуз(обычно на город таких 2.5) и работа ~ со второго курса. А так - ты даже гуглить не научился, сомневаюсь что ты осилишь ... э ... что-либо.
    Ответ написан
    3 комментария
  • Exception: Unable to determine JDK_HOME, у меня скачан JDK kit, в чём дело?

    xez
    @xez Куратор тега Java
    TL Junior Roo
    JDK_HOME - это переменная окружения, которая указывает на папку, где лежит JDK.
    Если, у вас ее нет, тогда нужно ее установить самостоятельно.
    Ответ написан
    Комментировать
  • 1С Кластер - можно заменить диск с его файлами?

    SignFinder
    @SignFinder
    Wintel\Unix Engineer\DevOps
    При любых вариантах с копированием файлов баз данных - нужно иметь под рукой резервную копию БД - сделанную штатными\нештатными средствами. Причем еще с проверкой- что эта резервная копия точно развернется.
    Ответ написан
    2 комментария
  • Какой ЯП больше подходит для эксплойтов?

    CityCat4
    @CityCat4 Куратор тега Информационная безопасность
    //COPY01 EXEC PGM=IEBGENER
    Русский. Ну или тот, на котором написан Уголовный кодекс Вашей страны.
    Ответ написан
    Комментировать
  • В какой момент написания программы делать initial commit?

    Adamos
    @Adamos
    Git хранит историю изменений. Закоммитили вы в него тот код, который у вас есть сейчас, или нет - совершенно неважно. Главное - закоммитить в него тот код, который вы собрались изменять. Чтобы иметь его копию до изменений.
    Пока вы пишете новый код - контроль версий не нужен. Как только понадобилось что-то в коде исправить - нужно сначала сделать коммит, чтобы, если исправление неудачно, не вспоминать, что именно и как именно было исправлено, а вернуться к предыдущей версии кода или наглядно сравнить ее с текущей.
    К тому времени, когда код будет хоть что-то делать - у вас, скорее всего, уже не один десяток коммитов будет. Не бойтесь создать ненужный коммит - важны только те, которые понядобятся, а сколько будет прочих - совершенно некритично.
    Обычная практика - сделал фичу, закоммитил код с комментарием "сделал эту фичу". Исправил баг - аналогично. Заодно еще и историю работы потом можно будет увидеть ;)
    Ответ написан
    Комментировать
  • Живы ли вэб-компоненты?

    Suntechnic
    @Suntechnic Автор вопроса
    Мой собственный ответ после изучения темы и чтения иностранных коллег будет таким:

    Технология была многообещающей и интересной на старте. Для ее поддержки гугл даже придумал отдельную спецификацию HTML Imports: https://w3c.github.io/webcomponents/spec/imports/i... (можете не ходить, там 404), что позволяло подключать однофайловые компоненты прямо в документ так:
    <link rel="import" href="my-component.html">
    Классно же да?

    Но технология не приобрела популярности, возможно так как была слишком простой и понятной, а именно в это время на пик славы вышел npm, gulp и вот это всё. В моду входила непонятная магия, утрата контроля над кодом и всякие оптимизаторы позволявшие сделать для одного слайдера на главной страницы бандл в полтора, а иногда 2-3 Мб. кода, и всё это без всяких там jQuеry.
    Ребята одумались и убрали спецификацию HTML Imports, предлагая разбивать компоненты на 3 отдельных файла - js, css и html с шаблоном. Причём js надо было подключать на странице, css тоже, а html должен был загружать по задумке создателей уже в само js. Такой подход позволял резко усложнить работу с web-components и сделать код снова неуправляемым, но было поздно - технология уже уступила позиции конкурентам.
    Конечно это был сарказм, если кто-то не понял.

    Жизнь в этой идее еще теплится, но теперь нам предлагается писать код в трех файлах или помещать его целиком в js, или использовать со специальными загрузчиками, что сопоставимо с использованием какого-нибудь фреймворка, того же Vue, дающее теме же усилиями гораздо большие возможности и смысл использовать веб-компоненты отпадает окончательно.

    Короче технология по задумке хорошая, но на практике не применимая, поэтому широкого распространения и не получает.
    Ответ написан
    2 комментария
  • Python чат бот,как отправлять сообщения из базы sqlite3?

    phaggi
    @phaggi Куратор тега Python
    лужу, паяю, ЭВМы починяю
    Советую начать с книги «Изучаем Python» М.Лутц.
    Ответ написан
    Комментировать
  • Можно ли предотвратить засыпание свернутой вкладки, или закрытого браузера Google Chrome?

    zkrvndm
    @zkrvndm
    Архитектор решений
    Да, по идее можно запретить выгрузку вкладок применив 2 приема.

    Добавьте в background.js:
    chrome.tabs.onCreated.addListener(function(tab) {
        chrome.tabs.update(tab.id, {
            autoDiscardable: false
        });
    });
    
    chrome.tabs.onReplaced.addListener(function(tabId) {
        chrome.tabs.update(tabId, {
            autoDiscardable: false
        });
    });
    
    chrome.runtime.onInstalled.addListener(function(details) {
        chrome.tabs.query({}, function(tabs) {
            tabs.forEach(function(tab) {
                chrome.tabs.update(tab.id, {
                    autoDiscardable: false
                });
            });
        });
    });

    В манифесте расширения у вас должны быть соответствующие разрешения:
    ...
    "permissions" : [ "tabs" ],
    "background" : { "persistent": true, "scripts": [ "background.js" ] },
    ...

    Кроме того, на активной вкладке необходимо разместить mp3-трек и запустить его в бесконечном цикле:
    <video id="antifreeze" style="position: fixed; right: 30px; bottom: 30px; z-index: 99999; height: 55px; width: 300px;" controls loop name="media">
        <source src="https://qna.habr.com/silence.mp3" type="audio/mpeg">
    </video>

    Начиная с 81 версии хрома, вкладки замораживаются через 5 минут, после сворачивания. Исключением являются вкладки в которых воспроизводится какой-нибудь медиконтент (видео там или музыка).
    Ответ написан
    7 комментариев