• Как сделать так что бы у приложения в Linux/Windows был доступ к файлам, а у пользователя нет?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Служба/демон, работающая от пользователя, имеющего право писать/читать нужные файлы, и служащая источником данных для основного приложения.
    Ответ написан
    3 комментария
  • Как название системы и как устроена?

    martin74ua
    @martin74ua
    Linux administrator
    PXE загрузка сервера
    https://habr.com/ru/articles/136921/
    например тут почитайте
    Ответ написан
    Комментировать
  • Как заставить работать Yandex SmartCaptcha в приложениях DJANGO?

    sergey_1990
    @sergey_1990 Автор вопроса
    1
    Сам нашёл ответ, django генерирует много разных заголовков, в том числе Referrer-Policy: same-origin и Cross-Origin-Opener-Policy: same-origin, на сервис Yandex SmartCaptcha влиял Referrer-Policy: same-origin, установив его Referrer-Policy: no-referrer-when-downgrade, сервис заработал! Думаю кому-нибудь это поможет! в settings.py
    # Для yandex capcha
    SECURE_REFERRER_POLICY = 'no-referrer-when-downgrade'
    Ответ написан
    1 комментарий
  • Как организовать хранение файлов на сервере?

    @deliro
    S3 или S3-compatible хранилища. В целом он простой, но для джанги есть либа, которая делает вообще бесшовным работу с s3
    Ответ написан
    Комментировать
  • Как лучше хранить журнал в долгосрочной перспективе?

    Stalker_RED
    @Stalker_RED
    По сути три больших направления с кучей мелких ответвлений
    1. хранить текстовый лог в отдельном файле/сервисе/логохранилище
    2. хранить лог действий юзеров в отдельной таблице (встречал один проект, где лог действий был в десятки раз больше, чем сами данные, ага).
    3. хранить в той-же таблице предыдущие записи. То есть при редактировании INSERT, а не UPDATE, при этом автоматически проставляется время и автор, а при выборке просто берете последнюю по времени версию.

    Это самый удобный путь, и самый простой для внедрения - очень простой откат, удобное сравнение изменений. Из минусов - раздуваете таблицу с данными, но это не проблема если записей не много или изменения редки.

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

    С учетом "использоваться будет, я надеюсь редко" я бы остановился на текстовом логе. Отдельный лог на каждую запись, можно архивировать старые, можно logrotate натравить.
    Ответ написан
    1 комментарий
  • Как из бд в django выводить запись в тэг?

    AlexNest
    @AlexNest
    Работаю с Python/Django
    В документации есть гайд для новичков. Там все описано.
    Ответ написан
    Комментировать
  • Почему Nginx из докер композа не видит соседний контейнер?

    karabanov
    @karabanov Куратор тега Docker
    Системный администратор
    Замени 127.0.0.1 на имя сервиса - у каждого контейнера свой уникальный loopback интерфейс никак не связанный ни с системным ни с соседским.
    Ответ написан
    Комментировать
  • Какие еще можно получить данные о пользователе через JS?

    yarkov
    @yarkov Куратор тега JavaScript
    Помог ответ? Отметь решением.
    console.log(window.navigator);
    // https://developer.mozilla.org/ru/docs/Web/API/Navigator


    https://github.com/fingerprintjs/fingerprintjs
    Ответ написан
  • Flask Python почему не работает CSS and JS на сайте?

    sergey-gornostaev
    @sergey-gornostaev Куратор тега Flask
    Седой и строгий
    Во-первых, использован хардкод, вместо url_for. Во-вторых, использован относительный URL. В-третьих, скорее всего этот URL никто не обслуживает. Откройте консоль и посмотрите, как запрашивается статика и какой ответ от сервера получает.
    Ответ написан
    3 комментария
  • Нужно ли хранить сервер и клиент в разных репозиториях?

    yarkov
    @yarkov
    Помог ответ? Отметь решением.
    Как удобнее. Я разделять стараюсь.
    Ответ написан
    2 комментария
  • Какие преимущества у docker?

    trapwalker
    @trapwalker
    Программист, энтузиаст
    Основное, что дает докер - это изоляцию частей вашей системы друг от друга. За счет этого гораздо проще всё настраивать.
    - БД настраивается в отдельном докер-контейнере. В большинстве случаев вы используете стандартный образ и подаете ему только настройки.
    - nginx настраивается в отдельном контейнере вместе с certbot'ом, который будет обновлять вам сертификат ssl.
    - бэкенд поднимаетя в отдельном контейнере на стандартном порту (и порт не будет конфликтовать с другими бэкендами в других контейнерах на том же порту.
    - другие какие-то бэкенды и админки будут рядом сидеть в отдельны контейнерах и не будут конфликтовать друг с другом версиями библиотек. интерпретаторов и чего угодно
    - компиляция и сборка тоже делаются в контейнере, который не запускается в прод, но обеспечивает иоляцию этого процесса так, что другие разработчики легко приступят к работе без долгой и уникальной настройки своего рабочего места.

    Весь набор нужных контейнеров для проекта конфигурируется docker-compose файлом и в большинстве случаев при правильной настойке чтобы поднять дев-стенд или продакшн вам достаточно будет склонировать репу на комп и скомандывать docker-compose up.

    Про слои и переиспольование почитайте в документации к докеру. Докер-образы наследуются накладывая свои изменения слоями. Это экономит место на диске и упрощает всю систему минимизируя число возможных состояний.
    Вся файловая система контейнера не примонтированная извне будет стёрта и забыта при перезапуске контейнера. Так можно быть уверенным, что ваш бэкенд не оставляет лишних неучтенных побочных эффектив. Это упрошает отладку и поиск проблем.
    Ответ написан
    2 комментария
  • Как настроить VSCode чтобы в терминале выводилась ветка Git?

    yarkov
    @yarkov
    Помог ответ? Отметь решением.
    Это не vscode фишка, а оболочки. В вашем случае это zsh.
    Ответ написан
    Комментировать
  • Почему все говорят что писать ботов это сложно?

    Vindicar
    @Vindicar
    RTFM!
    А сложность начинается, как только задачи, стоящие перед ботом, перерастают уровень примера в документации видеотуториале пятилетней давности.

    Нужно сделать несколько под-команд у команды. Напишу цепочку if-elif-else, делов то. Ой, а теперь простыня кода на пять экранов, в которой фиг чего найдёшь. Потому что нет привычки структурировать код.

    Нужно, чтобы несколько команд/событий формировали цепочку (сценарий). Например, пользователь отправил тре сообщения, первое с именем, второе с возрастом, третье с адресом. Ой, а как это сделать вообще? Не зная понятия "конечный автомат" (finite state machine, FSM), очень трудно догадаться, как тут поступить.

    Нужно, чтобы ботом могли пользоваться несколько человек. Ой, их данные перепутались! Потому что бот использует глобальные переменные.

    Нужно, чтобы бот выполнил длительную задачу, и написал сообщение, когда она выполнится. Не вопрос, напишу функцию, вызову её, а сразу после отправлю сообщение. Ой, а бот не отвечает! Потому что рабочий цикл asyncio занят этой длительной операцией и не может отреагировать на поступающие данные. Нужно иметь хорошее представление о том, как работает асинхронная программа.

    Нужно добавить боту графический интерфейс - админку. Ой, а работает или интерфейс, или сам бот! Потому что нужно представлять, как устроено большинство GUI-фреймворков, и как устроена асинхронное приложение. А заодно понимать многопоточность, вопросы синхронизации действий между двумя потоками, и особенности работы с asyncio в многопоточных приложениях. Потому что одним потоком тут обойтись будет очень непросто.

    Нужно хранить данные в БД. Ой, а почему у меня проблемы при записи в БД имени пользователя? А потому что погромист собирает SQL-запрос через форматирование строк. Надо было почитать доки, чтобы наткнуться на prepared statements, они же parameterized queries.

    Нужно хранить данные в БД. Вот только данные имеют связи многие-ко-многим. Я знаю! Я буду просто добавлять или удалять столбцы в таблицу! Потому что не освоены даже азы проектирования БД. Тут уже nuff said. И да, я такое видел на этом сайте.

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

    paran0id
    @paran0id
    Умный, но ленивый
    Поставьте виртуалку, в ней установите jenkins, подключайтесь к ней по ssh.
    Ответ написан
    Комментировать
  • Можно ли сказать, что Гит работает на блокчейне?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Нет. Гит не является блокчейном потому-как в него не закладывались требования по кворуму и гарантий уникальности и нефальсифицируемости истории.

    В git нет понятия блок. И нет алгоритмов POW для подтверждения потраченной работы.

    В git владелец может убить master-бранч что само по себе - принципиально невозможно в криптовалютных проектах

    UPD: Почему я привлекаю именно юзкейс криптовалют. Потому что в наше время блокчейн плотно ассоциирован именно с этой технологией. Хотя само по себе определение блокчейна может быть либеральнее чем я описал. Например POW может и не быть. Просто рассматривая git надо обозначить его сравнительные недостатки чтоб не было в теме попыток спекулировать просто на похожести этих двух технологий. Да они в чем-то похожи но блокчейн во много раз строже по безопасности. Ведь хранение журнала фин-операций - особая и деликатная задача.
    Ответ написан
    3 комментария
  • Как привзять домен для создание почты и на Яндексе и на Mail.ru?

    @AUser0
    Чем больше знаю, тем лучше понимаю, как мало знаю.
    Да, можно. Ставите разный вес этим MX-ам, и вперёд! Но вы бы сначала восстановили работу Yandex, стыдно же!
    Ответ написан
    24 комментария
  • Почему такой разброс цен в VPS/VDS?

    PleasantNews
    @PleasantNews
    Застрял из-за любви к острой пище в Бангкоке
    Потому что яндекс не занимается хостингом в понимании частных хостинговых компаний, которые кроме своих серверов и стоек, админов из солнечной Индии и битв с абузами ничего не знают и знать не желают.
    DOcean классная фирма, пока всё работает и полная (.) когда возникают подозрения, что они немного мухлюют со своими "капельками". Для быстрого запуска временных проектов и отладки - самое то.
    Найти адекватного провайдера - это как жизнь прожить, столько нервов - ужас.
    Про оплату - полно посредников, вполне адекватных, с отзывами и т.д.
    Тем более что можно договориться о скидке если платить раз в год. Нормуль и всё жужит!
    Ответ написан
    Комментировать
  • Почему такой разброс цен в VPS/VDS?

    @Drno
    потому что яндекс и мейл это уже госкомпании.
    потому что в РФ хорошая прибыль считает 500%, а не 20%-50%....
    ну и плюс всякие сертификации фсб, фстэк итд итп... которые нахер никому не нужны по сути.
    так же размещение сереров в РФ в ДЦ рф, ну по большей части...

    сиди там где дешевле и лучше, я вот на хетзнере сижу, мне всё по кайфу)
    а яндекс с мейлом с такими ценами пусть дальше лохопедов из госорганов ищут

    UPD - ты еще Селектел посмотри...)) с их ценами... я за треть цены на хетзнер серваки беру...
    Ответ написан
    3 комментария