• Прокрутка tbody независимо от thead?

    @gribchic
    все решения не решения. поскольку заголовок таблицы во всех приведенных решениях оторван от тела таблицы, в результате чего ширины ячеек заголовка не совпадают с ширинами ячеек тела. убедиться в этом можно просто заменив во всех примерах строку скрипта:
    var row = $("").html(a + " + " + b + " ="))
    на:
    var row = $("").html(a))
    Ответ написан
    1 комментарий
  • Как правильно подключить css через js?

    @Beefeater
    Есть видео, где много времени уделяется оптимизации: www.youtube.com/watch?v=ri2XWgIt59U&index=12&list=WL
    В частности описывается Ваш принцип: Т.е. есть минимальный css, который загружается сразу в head и он содержит все основные селекторы для отображения контента. Все остальные файлы с css подгружаются в js, когда документ уже загружен (т.е. через событие onload)

    Если же важен именно код подгрузки на Js, то twobomb выше описал вполне рабочий вариант
    Ответ написан
    Комментировать
  • Аналоги Nextcloud?

    Zettabyte
    @Zettabyte
    Проф. восстановление данных ▪ Вопрос? См. профиль
    FileStash, EteSync, Syncloud, HRCloud, MinIO, XBackBone, e2ee

    Но наиболее развитые варианты вы перечислили.
    Если их возможности вам не подходят, то наиболее разумный вариант - брать один из похожих проектов с гитхаба (их немало) и точечно дорабатывать под ваши нужды.
    Ответ написан
    Комментировать
  • Есть ли способ смонтировать облако mail.ru под linux?

    webirus
    @webirus
    Тыжверстальщик! Наверстай мне упущенное...
    https://yandex.ru/search/?lr=11&text=j%2Ckfrj%20%D...
    А что, поиск не помогает разве? Там 100500 решений.
    WebDav в официальной документации https://help.mail.ru/cloud_web/app/webdav
    Неофициальный WebDav клиент https://github.com/ramondeklein/nwebdav
    Ответ написан
  • Перестал запускаться Docker Desktop на Mac. Как исправить?

    Overfinch
    @Overfinch Автор вопроса
    Удалил через командную строку /Applications/Docker.app/Contents/MacOS/uninstall
    И установил более старую версию.
    Ответ написан
    2 комментария
  • Какой VPN выбрать?

    Я использую Outline VPN, ставится в одну команду и хорошо работает
    Ответ написан
    1 комментарий
  • Nginx как запустить php скрипт от другого сайта на том же сервере?

    SignFinder
    @SignFinder
    Wintel\Unix Engineer\DevOps
    Проще на на втором сайте настроить соответствующие location с проксированием на первый сайт в nginx reverse proxy
    Ответ написан
    3 комментария
  • Как перенести контроллера домена с Windows Server на Linux?

    CityCat4
    @CityCat4
    Внимание! Изменился адрес почты!
    Сказать, что процесс долгий и мучительный - это еще очень мало сказать :) Поэтому кстати и астра и редос - стали не самбу портировать (хотя казалось бы самое верное решение) - а freeipa. У астры есть ald pro - это типа контроллер домена.
    Но хотелки расхотеливать не стоит - это все стоит денег и немалых. И если в винде ты хотя бы знаешь, за что платишь - то тут ты фактически берешь кота в мешке. Черного кота в глубоком черном мешке :)

    Поэтому я бы начал (особенно если клиенты не все линуха, а гетерогенная сеть) все-таки с самбы. Раздать политики - это не особо страшно, это в конце концов всего лишь специализированная скрытая шара. Сложнее вопрос становится, когда нужно выполнение политик на клиентах линуха. Вот тут уже появляются не просто костыли - а целые поля костылей :)
    Ответ написан
    4 комментария
  • Активно ли разработчики пользуются встроенными в Postgres функциями?

    leahch
    @leahch
    3D специалист. Dолго, Dорого, Dерьмово.
    Я давний сторонник производить все вычисления на стороне клиента.
    Проще переползать с базы на базу, не загружаем ресурсы базы, проще параллелить, поддерживать, отлаживать.
    Тоже самое относится к хранимкам и триггерам, это вообще считаю за зло в современом мире. Нет триггерам и хранимкам!
    Ответ написан
    Комментировать
  • Активно ли разработчики пользуются встроенными в Postgres функциями?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Кину 5 копеек по поводу работы с датами. Да это зло. Работа с датами в современном API это
    самый большой технический долг начиная с Unix, когда дата представлялась секундами с 1970 года
    в виде DWORD. Я не встречал ни одного языка программирования и ни одной DBMS где изначально
    была-бы какая-то очень строгая и математичная концепция работы с временем. Везде были ограничители
    в основном завязанные на примитивные типы либо на строки вариативной длины. В Java например
    долгое время экплуатировался тип java.util.Date который сегодня считается дыркой (мутабельность)
    и неточным и его заменяют на java.time.* семейство типов. Параллельно с ним где-то в космосе
    висит java.sql.Date который декларирован в интерфейсах JDBC как основа для БД. С ним-же и работают
    все драйвера реляционных бд.

    По поводу вычислений на application tier. В последнее время DBMS девальвировали. И в основном
    используются в микросервисах как хранилище таблиц без особой логики. В этом есть свои смыслы.
    Например удобнее тестировать и хранить 100% кода в языках Java/Node/C#. Это создает гомогенность
    языка в проекте. В противном случае логику пришлось бы неизбежно резать на 2 слоя и хранить
    половину в application и другую половину деплоить через flyway/liquibase в БД при этом еще и
    не забыть тестировать 100% совместимость тех-же функций для работы дат-времени (никто
    кстати невкурсе что в Oracle год может быть 9999 а java.util.Date мне удалось сгенерировать
    такую Aug 17 09:12:55 EET 292 278 994. .. оптимистичненько доживем до 290 миллионов
    лет хотя проблема comparison этих типов остается) Стандарты ISO помогают но они скорее
    декларируют намерения сохранить нужное значение. Вот и если вы новичек - то я гарантирую
    что вы словите кайф в попытке в Java разобраться в проекте какой тип дат вам брать. И еще
    помножите это все на типы данных БД (их там будет 4 штуки обычно. Парочка для зональных
    и парочка для локальных).

    Использовать или нет функции PG? Ответ - it depends. В некоторых случаях оптимизатор не видит
    индекса если ты делаешь неявный кастинг из строки в дату например. Я тут не уверен надо проверять.
    Но есть старая админская поговорка. Плохой execution plan - проверь типы данных в предикатах.
    Беда реально существует для Spark/Databricks и даже включена в учебный план. По крайней мере int/Long
    различается на уровне Catalyst-optimizer. Вобщем если вы - лентяй то можете лупить строки вместо дат
    и надеятся что SQL машина правильно интерпретирует. Если вы хотите быть точным то делайте CAST или
    to_date с явным описаловом YYYY-MM и т.д.

    Еще один поинт в части где хранить логику. Это я пишу просто для кругозора. Чтобы топик
    не циклился вокруг Постгреса а люди видели пошире. В классических БД данные качаются
    к клиенту.
    Тоесть делаете SELECT * из миллирад строк - и этот миллиард будет прокачан до конца
    когда вы читаете резалт-сет по сети. Такова парадигма. Или курсор. Но суть таже. А в BigData данные
    лежат на месте но к ним "ходит" код
    . Вот такой метафизический парадокс. Сами понимаете что
    тут получается что встроенных функций даже как бы ... и нет. Подчеркиваю разницу.
    Ответ написан
    3 комментария
  • Зачем nginx ищет хост в Upstream?

    @AUser0
    Чем больше знаю, тем лучше понимаю, как мало знаю.
    Не стоит указывать в proxy_pass доменные имена, используйте IP. Но если очень невыносимо хочется, вопреки логике - тогда хотя бы укажите опцию resolver.
    Ответ написан
    2 комментария
  • Как вставить видео с instagram в html?

    lookreciuspin
    @lookreciuspin
    Data recovery and truth revelation hacker
    Вставить видео с Instagram напрямую на ваш сайт может быть сложно, так как Instagram не предлагает настраиваемые встраиваемые коды для видео, как это делают некоторые другие платформы, такие как YouTube.
    Тем не менее, вы можете использовать сторонние сервисы для получения прямой ссылки на видеофайл Instagram и использовать его на вашем веб-сайте с помощью тега . Вот шаги, которые вы можете выполнить:

    Сначала найдите видео, которое вы хотите вставить, на Instagram.
    Скопируйте URL этого видео.
    Используйте сторонний сервис или инструмент для скачивания видео с Instagram. Вы можете использовать сервисы, такие как "DownloadGram", "InstaOffline", "SaveFromWeb" и т.д.
    После скачивания видео вы можете загрузить его на ваш сервер или любое место хранения в Интернете, где оно будет доступно для публичного доступа.

    После загрузки видео используйте тег для его вставки на ваш веб-сайт. Например:

    <video controls autoplay muted loop>
      <source src="URL_ВАШЕГО_ВИДЕО" type="video/mp4">
      Ваш браузер не поддерживает HTML5 видео.
    </video>

    Замените URL_ВАШЕГО_ВИДЕО на URL видео, которое вы загрузили. В этом примере атрибуты controls, autoplay, muted и loop позволяют воспроизводить видео автоматически, без звука и зацикленно. Вы можете удалить или изменить эти атрибуты в соответствии с вашими потребностями.
    Ответ написан
    1 комментарий
  • Как получить точный размер блока до тысячных пикселя?

    @EvolveSunVolt
    Возможно, точность измерения зависит от разрешения экрана и не может быть точнее определенного значения. Однако, есть несколько вариантов, которые можно попробовать:

    1. Использовать свойство getComputedStyle, которое вернет вычисленное значение CSS свойства. Например:

    $(function() {
      console.log(window.getComputedStyle($('.block')[0]).getPropertyValue('height'));
    })


    1. Установить размер блока с помощью CSS переменных и получить его значение через свойство getComputedStyle. Например:
    <div class="block" style="--height: 81.643px;"></div>


    .block {
      height: var(--height);
    }

    $(function() {
      console.log(window.getComputedStyle($('.block')[0]).getPropertyValue('--height'));
    })


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

    1. Использовать единицы измерения, позволяющие более точное определение размеров, например, rem или em.

    Например, если размер шрифта установлен на 16px, то 0.001rem будет соответствовать 0.01px:
    <div class="block" style="height:0.001rem"></div>
    $(function() {
      console.log($('.block')[0].getBoundingClientRect().height);
    })


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

    @MaDerer
    Лично мне известно о существовании двух вариантов доступа через роутеры. Инструкции уже не подскажу, так как занимался этим год-два назад.
    1. Через роутер Mikrotik.
    2. Через роутер с OpenWRT прошивкой.
    Суть обеих методов в том, что создаётся два соединения: основное и VPN. Все сайты, которые находятся в созданном списке заворачиваются на VPN. Остальные через обычный доступ.
    Я таким образом заворачиваю на Микротике нужные мне сайты на OpenVPN сервер, но достаточно долго возился по нескольким статьям, и когда у меня заработало, я сам не понял как. Точнее не понял, что я до этого делал не так, что у меня не работало.
    Ответ написан
    2 комментария
  • Почему пустой кортеж весит больше, чем кортеж с одним числом?

    trapwalker
    @trapwalker Куратор тега Python
    Программист, энтузиаст
    b - это не кортеж. Это просто единичка (int)
    Вот так правильно:
    a = ()
    b = (1,)
    Ответ написан
    Комментировать
  • Как проверить ноутбук на совместимость с linux?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Я в таких случаях просто подмигиваю продавцу.... дескыть. Договоримся. И он позволяет поставить на ноут что угодно в магазине или в сервисном центре и мы далее вместе смотрим как Linux стартует. Расчитываемся и продавец на кармашек получает свои несколько долларов.
    Ответ написан
    1 комментарий
  • Может ли физ лицо создавать интернет-проекты?

    php666
    @php666
    PHP-макака
    Вопрос, на самом деле, довольно сложный, если у вас нет знакомого юриста.

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

    Пришлось срочно ознакомиться с вопросом "кто я" и "что я делаю" и заплатить за онлайн-консультацию у юристов.

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

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

    Нужно понять, кто вы с точки зрения закона - являетесь ли вы информационным посредником, прочитать про степень его ответственности. Ознакомиться с законом о рекламе. Ознакомиться с законом "Об информации, информационных технологиях и о защите информации".

    Почитайте текст от одного юриста с правоведа (Дмитрий Васильев) что он пишет в открытом доступе как реклама своих навыков: https://pravoved.ru/question/604239/ и отчасти ответы на банальные вопросы владельцев сайтов.
    Ответ написан
    4 комментария
  • Приделывать Git на сайт это хорошо?

    vabka
    @vabka
    Токсичный шарпист
    git - это система контроля версий.
    Это не "локальное хранилище" и не нечто, что можно "приделать" сбоку.

    Предположу, что под словом "приделать" вы имеете в виду использование git для доставки обновлений на продуктивный сервер.
    Моё мнение - так делать не стоит.
    Серверу совершенно не нужно хранить у себя всю историю версий.

    А вот локально да - лучше вести разработку в git.
    Ещё по хорошему следует хранить копию репозитория на каком-нибудь ещё сервере, например в собственном экземпляре gitlab и синхронизировать её с локальной при помощи git pull/push.

    Ну и помни, что не надо все файлы в git запихивать. В git должны храниться только исходные файлы. Всякие картинки - в git-lfs.
    Пароли - в каком-то другом хранилище.
    Артефакты, которые создаёт компилятор или препроцессор - в .gitignore
    Ответ написан
    1 комментарий
  • Как разделить строку на части?

    @AlbertForest
    import re
    l = re.findall('(.{5}|.+$)' , '123456789')
    for i in l:
        print(i)
    Ответ написан
    Комментировать