Задать вопрос
  • Поможет ли переустановка Windows при bad блоках на жестком диске?

    VoidVolker
    @VoidVolker
    Dark side eye. А у нас печеньки! А у вас?
    Нет, не поможет убрать. А вот шанс на запуск системы после переустановки есть. Имеет смысл только если надо забрать с диска важные данные, но другого диска/ПК нет под рукой. Но все же лучше подключить к другому ПК и скачать нужное. Использовать дальше диск смысла нет - просто меняйте диск, ибо дальше будет только хуже. Можно, конечно, пройтись викторией и сделать ремап бэдов, но опять же имеет смысл разве что для вытаскивания данных.
    Ответ написан
    1 комментарий
  • Поможет ли переустановка Windows при bad блоках на жестком диске?

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

    IvanU7n
    @IvanU7n
    nothing interesting here
    по иконке в таскбаре это однозначно фигма — https://figma.com
    Ответ написан
    1 комментарий
  • Является ли python-shell безопасным решением для запуска untrusted-кода на Node.js сервере?

    Vindicar
    @Vindicar
    RTFM!
    Не думаю, он создаёт дочерний процесс от ноды, но в доках не написано, что этому процессу задаются особые права - значит, права будут как у ноды.

    Я бы сделал минимум три уровня защиты:
    1. Полученный от пользователя скрипт выполняется не напрямую, а в скрипте-обёртке. Обёртка подписывается на события аудита Питона, и мониторит событие импорта. При попытке импорта модуля не из белого списка сигнализируем родительскому процессу и вызываем заранее сохранённую os._exit(), чтобы немедленно прибить интерпретатор. Также на обёртку можно возложить собственно прогон тестов.
    2. Скрипт-обёртка должен выполняться от nobody:nobody с правами только на временную директорию, в которой лежит сам скрипт и его виртуальное окружение. Директория должна пересоздаваться заново при каждом запуске скрипта. Может иметь смысл оформить выполнение обёртки внутри chroot.
    3. Выполнение должно происходить внутри контейнера, который должен перезапускаться время от времени (не обязательно при каждом запуске скрипта, можно раз в сутки или около того). Передача скрипта внутрь контейнер - через сетевой сервис, хотя можно и через примонтированную директорию. Внутри контейнера сервис сам создаёт временную директорию с окружением, переносит скрипт в эту директорию (с переименованием в заранее известное имя - user_script.py или подобное) и только тогда запускает обёртку.

    В этом случае атакующему нужно будет сначала обойти аудит импортов, потом сделать эскалацию привилегий, потом выбраться из-под chroot. И даже если он закрепится в контейнере, контейнер периодически перезапускается, так что малварь будет снесена.
    Ответ написан
    3 комментария
  • Как отследить блокировку бота пользователями в телеграмме?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Приходит update со следующими ключевыми полями:
    {
         "my_chat_member": {
             "chat": {
                 "id": 5181600575,
             },
             "old_chat_member": {
                 "status": "member"
             },
             "new_chat_member": {
                 "status": "kicked",
             }
         }
     }
    Ответ написан
    2 комментария
  • Что означают температуры в даташит на светодиод TDS-P001L4D02?

    Ocelot
    @Ocelot
    Tj max - температура pn-перехода, выше которой светодиод сгорит. Переход внутри, и непосредственно его охлаждать ты не можешь, но тепло отводится на подложку, а оттуда - на радиатор. Температура подложки Ts и температура перехода Tj связаны так:
    Tj = Ts + P*Rth
    P - рассеиваемая мощность
    Rth - тепловое сопротивление кристалла (⁰C/W), тоже есть в даташите
    Ответ написан
    2 комментария
  • Что означают температуры в даташит на светодиод TDS-P001L4D02?

    LED Junction temperature - это температура, при которой будет разрушаться сам полупроводник.
    Это точно не та температура, при которой светодиод будет нормально работать.
    Ты точно не хочешь уменьшать её.
    Для мощных светодиодов охлаждение - это обязательная вещь.

    Следи, чтобы температура светодиодов оставалась в диапазоне Operating Temperature (рабочая температура) - тогда всё будет в порядке.
    Ответ написан
    7 комментариев
  • Как искать работу мидлу, если не разу не работал?

    Мне 16. Занимаюсь разработкой 4 года. Работал на фрилансе.
    Подхожу к вакансиям на мидлов, иной раз на синьоров.

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

    Middle/Senior - это не только про умение писать код, но и про ответственность и умение работать при высоком уровне неопределённости.
    Junior - отвечает за код в рамках небольшой задачи, которую ему максимально подробно разжевали, а то ещё и старший товарищ помог в разработке.
    Middle - отвечает за крупный компонент или за целое приложение в целом, причём уже в горизонте на год вперёд.
    Senior - влияет уже в целом на команду и немного на соседние продукты, должен уметь с нуля, без спецификации (только с хотелками от бизнеса) разработать полноценное рабочее решение. Уже претендует на звание Team Lead-а, который уже и за людей отвечает.

    Лично я никогда не поверю, что школьник 16 лет отвечает требованиям на Senior, так как у него в принципе врядли когда-то был такой уровень ответственности на проекте.
    Ответ написан
    3 комментария
  • Почему не работает настройка nginx на домен?

    @asmelnik
    Если запускаете на IP сервера именно, то в браузере
    http://АЙПИ:3070
    И ваш сайт должен открываться, если НЕ открывается -- есть вероятность, что файрволом закрыты порты -- смотрите настройки файрвола.
    tcpdump-ом можно посмотреть идут ли обращения на ваше приложение
    tcpdump -i lo -nn port 3070

    И
    "Но не пашет( "

    Таймаут? ошибка? он вом должен в ответ хоть что-то сказать:
    404
    502
    и т.д,
    Ответ написан
    9 комментариев
  • Лучше самописный интернет-магазин или на конструкторе?

    Anastasia2306
    @Anastasia2306
    PHP-разработчик.
    Если вы будете нанимать разработчиков и скажете им что вам нужен интернет магазин с нуля, то ориентируйтесь на минимум в 4-5 миллионов рублей и сроки в 6-12 месяцев.

    Если делать на готовой CMS - то ориентируйтесь на 50-100 на разработку шаблона, какого-то доп функционала.

    Если делать на готовой CMS но самому - то 0 рублей.

    Если использовать облачный SaaS конструктор - то от 1.5 до 3 т.р. в месяц.
    Ответ написан
    Комментировать
  • Не могу выложить проекты на github. В чем может быть причина?

    yarkov
    @yarkov
    Помог ответ? Отметь решением.
    Support for password authentication was removed on August 13, 2021.
    remote: Please see https://docs.github.com/en/get-started/getting-sta... for information on currently recommended modes of authentication.

    Даже с переводчиком не осилили ошибку?
    Авторизуйтесь по ключу и всё заработает.
    Ответ написан
    Комментировать
  • Блок питания для ПК потребляет электричество константно или динамически?

    Включаем логику.
    Если потребляет константно, но при этом само железо ничего не потребляет - значит БП должен всё рассеять сам, ибо закон сохранения энергии.
    В худшем случае это будет 1квт+.
    Вопрос: А есть ли у этого БП возможность столько рассеять вообще? Нет, нету.
    Ответ написан
    Комментировать
  • Как можно получить API токен телеграма?

    кроме бота BotFather всех его аналогов

    Аналогов его нет.

    Возможно ли как-то получить токен напрямую от телеграма ?

    botfather - это и есть "напрямую". Это единственный способ получить токен для бота.
    Ответ написан
    3 комментария
  • Как убрать фон у текстуры?

    Slavik_Kenny
    @Slavik_Kenny
    3Д моделлер, и немного всего остального :)
    За прозрачность в текстурах обычно отвечает альфа-канал, либо текстуры выгружены в таком формате, а котором нет альфы, либо в свойствах не указано что надо его использовать для прозрачности.
    Ответ написан
    1 комментарий
  • Как голосовые ассистенты "понимают" какую команду им необходимо сделать?

    AshBlade
    @AshBlade
    Просто хочу быть счастливым
    Это задача NLP - Natural Language Processing
    Если вкратце, то работа ведется в несколько этапов:
    1. Преобразование звука в текст
    2. С помощью NLP этот текст обогащается:
    - Форматируется
    - Убирается мусор
    - Выделяются ключевые слова
    3. Готовый текст подается на вход другой нейронке, которая используя свою базу данных (история, контекст) понимает немерение

    Собственно, сама работа ведется в последней части. Как эти нейронки работают - другой вопрос. Просто обучают на своих наборах данных
    Ответ написан
    2 комментария
  • Правильно ли я понял свойства распределенных систем?

    1. Ты запутался из-за того что ты смешал CAP с измеряемыми характеристиками (пропускная способность, доступность, итд)

    Доступность
    Здесь уже появляется неоднозначность.

    Это примерно такая же неоднозначность, как в слове "замок".
    Воспринимай это как разные слова из разных контекстов.
    HA - это про малое количество сбоев, которые приводят к нулевой доступности.
    A из CAP - это про сохранении доступности при выпадении узлов из кластера (если забыть про A, то можно сделать строго консистентную систему из нескольких узлов даже в случае потери связи между узлами - просто вся система будет отключаться)


    По идее, здесь мы поддерживаем согласованность, жертвуя.. доступностью? Но ведь нет же! Мы все равно получим ответ.

    Да, мы жертвуем доступностью, так как ответ мы не получим, если какой-то узел выпал из кластера => операция записи просто не будет выполнена.
    Хотя в реальной жизни мы сразу получим ответ вида "запрос не может быть обработан. Почините кластер"
    Пример такой системы - etcd, в которой ты заранее указываешь размер кластера и если кластер не может придти в состояние кворума (доступно N/2+1 узел, где N-количество узлов), то весь кластер переходит в аварийный режим без возможности чтения или записи.
    Таким образом гарантируется консистентность даже на отвалившихся от кластера узлах.


    Определение доступности из CAP вообще ничего не говорит про задержку (latency).

    Потому что CAP не про это.


    Резюмируя вопросы:


    1. Просто читаем определение:

    High availability (HA) is a system's capability to provide services to end users without going down for a specified period of time. High availability minimizes or (ideally) eliminates service downtime regardless of what incident the company runs into (a power outage, hardware failure, unresponsive apps, lost connection with the cloud provider, etc.).

    Тоесть да, система вполне может уходить полностью в оффлайн на какое-то время, если это было заранее оговорено.
    В пределах разумного, конечно. Если тебе дают гарантированную доступность 1с в год - это какой-то сюр.


    Какая правильная и полная формулировка Availability из CAP?

    По хорошему тут следует найти первоисточник, но мне лень. Вариант из Википедии достаточно точный, на мой взгляд:

    доступность (англ. availability) — любой запрос к распределённой системе завершается откликом, однако без гарантии, что ответы всех узлов системы совпадают;

    Любой запрос - любой запрос чтения или записи к любому из работающих узлов системы.
    Завершается откликом - значит тебе дают какой-то ответ, который не является ошибкой.
    Пример доступной, но не консистентной системы управления кадрами:
    Запрос: "Какая зарплата у Иванова?"
    Узел 1: 1000 долларов
    Узел 2: две тысячи долларов
    Узел 3: Иванов у нас не работает

    Пример такой же системы, но в которой действует принцип консистентность:
    Запрос: Иванов уволен?
    Узел 1,2,3: Ошибка: кластер в аварийном режиме.
    Либо:
    Узел 1,2,3: Иванов не уволен.
    Либо:
    Узел 1,2: Иванов не уволен
    Узел 3: Ошибка: отсутствует кворум.

    Запрос: Уволить Иванова.
    Узел 1,2,3: Ошибка: кластер в аварийном режиме. Доступно только чтение.
    Либо:
    Как в третьем варианте, если возможна запись при наличии кворума.


    Единственное, как я смог притянуть за уши с существующей формулировкой.

    CAP не про это.


    Отказоустойчивая система не допускает потери функциональности вообще?

    Пуленепробиваемое стекло не допускает пробития пулями вообще?)
    В случае катастрофического отказа - возможно всё.


    Как, в двух словах хотя бы, проводится измерение производительности и пропускной способности сервиса?

    Два слова: нагрузочное тестирование.

    Теперь все дополнения тут:

    Конфиденциальность. Пользователь уверен, что данные из системы не утекут.

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


    Управляемость
    Это свойство влияет напрямую на доступность. Если система сложная, плохо настроен мониторинг (логи, трейсы, алерты), нет или просто неудобные инструменты для управления инфраструктурой, все это будет отнимать время на ремонт в случае отказа.

    Вообще это в англоязычных источниках называется observability/наблюдаемость.
    Ну да ладно. Просто опять смешали несколько вещей в одну.


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

    Я бы поспорил насчёт среднего арифметического )


    Здесь вопрос в том, как мерить общую производительность сервиса?

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

    Например в банковской системе могут проводить нагрузочную систему по нескольким сценариям:
    1. "Чёрная пятница" - резко увеличивается количество карточных операций.
    2. "Реклама у крупного блогера" - резко увеличилось количество запросов на выпуск новой карты. Нужно проверить, как вообще выдержит сервис, отвечающий за эмбоссинг.
    3. "Экономике в стране «очень плохо»" - смотрим как выдержит клиринг при большом количестве межбанковских переводов.

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


    Пропускную способность можно увеличить, распараллелив обработку (горизонтальное масштабирование или процессы и потоки в рамках одного сервиса).

    Или добавив пакетную обработку.


    На задержка напрямую зависит от пропускной способности (производительности) и канала связи. Чем ближе сервер к пользователю, тем меньше задержка.

    А вот и нет.
    У нас вполне может быть узкий канал с низкой задержкой или же широкий канал с большой задержкой.
    А ещё задержка - это время обработки запроса твоей собственной системой.
    Например твой сервис вполне может иметь большой latency, но и большой throughput и наоборот.
    Ответ написан
    2 комментария
  • Как узнать удалил ли пользователь приложение?

    yarkov
    @yarkov
    Помог ответ? Отметь решением.
    А есть какой-то хук/эвент, который дёрнется при удалении приложения? Если есть, то вот в нём самое место, чтобы постучаться на сервер и сообщить, что аккаунт всё.
    Ответ написан
    3 комментария
  • Как скрыть консоль в консольном приложении C#?

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

    martin74ua
    @martin74ua Куратор тега Linux
    Linux administrator
    лвм, рейд.. Вариантов много. Все зависит от того, что именно вам нужно, и как именно у вас существующая система размечена.
    Ответ написан
    Комментировать
  • Как увеличить объем разделов?

    mayton2019
    @mayton2019
    Bigdata Engineer
    1) Можно создать 7 фолдеров типа /disk1, /disk2 .... и примонтировать диски через mount.
    2) Можно собрать ZFS pool из 7 дисков и подключить их все как один большой диск (zpool create).
    3) Программный JBOD на базе Btrfs (mkfs.btrfs ... )
    4) LVM как уже писали выше
    Ответ написан
    Комментировать