Задать вопрос
  • Имеет ли смысл создавать много простых методов?

    phaggi
    @phaggi
    лужу, паяю, ЭВМы починяю
    А классы не подходят?
    прочитать_из_регистра = print
    
    class Device (object):
        def __init(self):
            pass
        
        def temperature(self):
            return прочитать_из_регистра('0x00')
        
        def status(self):
            return прочитать_из_регистра('0x01')
    
    
    device = Device()
    device.status()
    device.temperature()


    0x01
    0x00
    Ответ написан
    Комментировать
  • Страх, что программист отберет сайт?

    saboteur_kiev
    @saboteur_kiev Куратор тега Организация работы
    software engineer
    1. Если у вас постоянно текучка программистов, следует переосмыслить ваше отношение к тому, как вы их нанимаете и что от них требуете. Работайте с одним программистом или одной командой.

    2. Сделайте два сайта - один для разработки, другой боевой. И научитесь переносить с сайта для разработки на боевой изменения. Программистам давайте доступ к сайту для разработки

    Опять же. По опыту знаю, что постоянно новых кандидатов нанимают такие работодатели, которые платить не хотят, а требования выставляют дуракцие. Поэтому ваша "текучка" разных программистов показывает, что вы плохо ставите задачи или плохо оцениваете работу.
    Ответ написан
    Комментировать
  • Объясните, что делает этот код C#?

    firedragon
    @firedragon
    Не джун-мидл-сеньор, а трус-балбес-бывалый.
    ищет самое маленькое
    хотя этот код вывалится

    var lover = values.Min();

    Вот это будет и компактней и быстрее
    Ответ написан
    Комментировать
  • Почему собственный хостинг долго открывает сайты?

    sergey-gornostaev
    @sergey-gornostaev
    Седой и строгий
    Если бы проблема была с Nginx, то он и локально открывался бы долго. Вероятно проблема в том, что канал провайдера несимметричный, скорость исходящего трафика низкая.
    Ответ написан
    1 комментарий
  • Как вшить файл в программу Python?

    sergey-gornostaev
    @sergey-gornostaev Куратор тега Python
    Седой и строгий
    Обычно программы пишут на компилируемых языках и изображения зашиваются в бинарник в качестве ресурсов. В программах на интерпретируемых языках можно изображение включить в код в виде base64-кодированной строки, но это плохая идея, так как увеличит потребление памяти интерпретатором. Есть ещё костыли, вроде pyinstaller, но они просто создают самораспаковывающийся архив, так что файл изображения по сути будет лежать рядом с программой.
    Ответ написан
    2 комментария
  • Что лучше для работы с файлами QT или C#?

    Adamos
    @Adamos
    Возможно, использованы высокоуровневые функции без понимания того, как они реализованы на низком уровне.
    Например, если программа на Qt читает файл кусками, отображая в память только то, что читает сейчас, а программа на Шарпе вычитывает весь файл в память и только потом начинает по нему искать - вполне возможна шестикратная разница даже при совершенно идентичной реализации алгоритма собственно поиска.
    Ответ написан
    3 комментария
  • Почему у меня ошибка Invalid syntax?

    SoreMix
    @SoreMix Куратор тега Python
    yellow
    5fa1b87cdf5e9723835279.jpeg
    Скобка не закрыта
    Ответ написан
    3 комментария
  • На любой ли ноутбук можно установить пиратский фотошоп? И не помешает ли лицензионная виндовс это сделать?

    @SquareWheel
    DevOops
    Ограничение только по требованием версии программы к мощности ноута
    Не помешает, разве что антивирус может на кряк ругатся
    Ответ написан
    Комментировать
  • Возможно ли закешировать около 1 гб в браузере?

    zkrvndm
    @zkrvndm
    Архитектор решений
    Возможно конечно. Для хранения больших объемов данных в браузерах существует встроенная БД IndexedDB.

    Для работы с ней сначала подключаем специальную библиотеку, которая упрощает ввод и вывод:
    <script src="https://cdnjs.cloudflare.com/ajax/libs/localforage/1.9.0/localforage.js"></script>

    Далее, чтобы сохранить какие-то данные выполняем в консоли браузера:
    result = await localforage.setItem('key', save_data);
    console.log('Данные успешно сохранены:');
    console.dir(result);

    Где в save_data лежат сохраняемые данные, а key это ключ по которому можно было бы получить к ним доступ.

    Из особенностей, в save_data мы можем положить любой тип данных - хоть строку, хоть массив, хоть объект. Да даже файл при желании можно сохранить! При этом нет ограничений по объему хранимых данных, можете хоть сто мегабайт, хоть триста запихнуть - встроенное хранилище все сожрет.

    Чтобы потом извлечь сохраненные данные достаточно выполнить:
    result = await localforage.getItem('key');
    console.log('Данные успешно извлечены:');
    console.dir(result);

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

    P. S. Обратите внимание, что если вы где-то в своем коде внутри функции используете слово await, то такая функция обязательно должна иметь приставку async! Иначе получите ошибку. В консоли можно использовать await в лоб, но для использования await в коде нужно, чтобы функция внутри которой она вызывается была асинхронной!!!
    Ответ написан
    4 комментария
  • Завтра собеседование на должность системного администратора. Как пройти?

    Diman89
    @Diman89
    За сутки? Ничего нового почерпнуть не успеете, если только непоняток прибавится. Отдохните и выспитесь
    Ответ написан
    Комментировать
  • Есть ли что-то вроде Active Directory для Windows 10?

    CityCat4
    @CityCat4
    Жил да был черный кот за углом...
    Есть "альтернативные реализации" AD - платные и бесплатные.

    Бесплатные:
    - Samba - та же AD, только бесплатная, и с косяками. Полной поддержки AD ждать не стоит, заработают базовые вещи - и то будет хорошо. Никаких гуевых панелей администрирования, разве только виндовые заработают.
    - FreeIPA - альтернатива AD, сам никогда спаривать с виндой не пробовал

    Платные:
    - IPA, только платная, от RedHat
    Ответ написан
    Комментировать
  • Как получить заказ, если я не на 100% компетентен?

    @electronik777
    Ощущаю, что решение есть, что решение простое, что решение прямо рядом.

    Решение простое - не браться за то в чём не разбираешься.

    А вообще странный вопрос, регулярно поступают таски, но Вы еще ни разу не посмотрели и не попытались что либо сделать на новой платформе. Хотя бы для общего развития.
    В общем как мне совместить приятное с полезным: и деньги получить, и пополнить свой стек технологий, которыми я владею?

    Вишенку скушать и косточкой не подавиться. Читается так.

    Есть у кого-то лайфхаки по тому как договариваться с заказчиками в таких ситуациях?

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

    kawabanga
    @kawabanga
    Это для ваших проектов каких то?

    варианты которые проскочили в голову, но учтите, что zoom я отдаленно знаю только.
    1) 2 qr кода у главного окна, в виде распечатанных картинок, и человек, трекает тот qr, который ему нужен.
    Но тут минус - необходим дополнительный девайс.
    2) сделать ссылку на голосование, и там любой общедоступный сервис анонимного голосования, либо прикрутите ваш бэкенд. Этот вариант в течении часа можно сделать.
    Ответ написан
    1 комментарий
  • Сервер периодически выдает 500 ошибку + каждые 4 минуты перезагружается MariaDB - есть идеи?

    alfss
    @alfss
    https://career.habr.com/alfss
    Кто-то рестартует сервак, смотрите крон, может какие программы крутятся незнакомые, может, что-то в systemd базы дописано, в логах нет падения.

    Очень интересно откуда столько сессий рута
    Ответ написан
    3 комментария
  • Попинайте 2. Удалось ли исправить устаревший код, который забраковал работодатель?

    FanatPHP
    @FanatPHP
    Чебуратор тега РНР
    По сравнению с прошлым авриантом - небо и земля.
    В целом этот код лучше, чем 99.9% того что пишут на тостере. No kidding.

    Улучшить можно только по мелочи.
    as Place в неймспесах лишнее. as нужно если ты другое имя даешь

    Рекомендую перейти с bindParam на передачу массива в execute.
    Так получится убрать дублирование кода в getPlaces(). Добавляя условие в запрос тут же добавляешь жлемент в массив. потом тупо скармливаешь этот массив execute(). Пример можно посмотреть здесь

    если имена полей совпадают с имнами свойств класса, то вместо
    while ($row = $stmt->fetch()) {
                $place = new Place();
                $place->setPlaceID($row["placeID"]);
                $place->setTypeID($row["typeID"]);
                $place->setName($row["name"]);
                $place->setTansliterated($row["tansliterated"]);
                $place->setCountryID($row["countryID"]);
                $place->setDescription($row["description"]);
                $places[] = $place;
    }

    можно написать
    $places = $stmt->fetchAll(PDO::FETCH_CLASS, 'Place');

    Но вообще это не очень гибко и лучше уже начинать мигрировать в сторону ORM

    кстати, по ридми
    в https://phptherightway.com/ написано Use the Current Stable Version (7.4)
    PSR-4 это не стандарт написания кода

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

    gbg
    @gbg Куратор тега Windows
    Любые ответы на любые вопросы
    Все что может декодировать аппаратно эта коробка с кремнием, это MPEG2. Так что сорян, буквально, кина не будет.
    Ответ написан
    Комментировать
  • Как сохранять онлайн на сайте?

    leahch
    @leahch
    3D специалист. Dолго, Dорого, Dерьмово.
    Технологий - "держать онлайн" всего несколько, нужно знать, какая конкретно используется на конкретном сайте.
    - web socket - самая распространенная, но немного сложноватая со стороны клиента, смотрите в сторону https://websockets.readthedocs.io/en/stable/
    - long pooling (или comet) - открываем соединение и тупо висим на нем - реализуется очень просто, через любую http-библиотеку, например через python requests - https://requests.readthedocs.io/en/master/
    - sse (server sent event) - аналог предыдущей, он с особенностями. реализуется через те же библиотеки, но лучше взять "с особенностями", например https://pypi.org/project/sseclient/
    - ну и последнее, опрос по таймауту - тупо, раз в некоторый промежуток обращаемся по заданному url, тут в помощь все те же http-клиенты, и знание, что дергать со стороны сайта.
    Ах да, есть еще технология graphql, там есть механизм "подписок", основанный на websockets. Здесь нужно будет добраться до url и нужной подпиской, отправив несколько http запросов, и только после этого открыть нужный url через web-socket.
    Ответ написан
    2 комментария
  • Grub не видит файловую систему. В чем проблема и почему не удается просмотреть директории?

    Zoominger
    @Zoominger
    System Integrator
    Manjaro не умеет в UEFI.
    Отключите его в BIOS, тогда будет грузиться или попробуйте другой дистрибутив Linux, который в 2k20, наконец, научился в эту технологию (Fedora, Ubuntu).
    Ответ написан
  • Как апгрейдить SSD?

    xez
    @xez
    TL Junior Roo
    Видимо, вам нужно полностью клонировать ваш старый ssd, сохранив образ на жесткий диск или на внешний жесткий диск, а затем, после замены ssd, восстановить систему из образа.
    Т.к. одновременно вы не можете диски подключить, придется использовать LiveUSB решения.
    Попробуйте:
    https://clonezilla.org/
    https://trinityhome.org/
    Ответ написан
    3 комментария
  • Как и где лучше хранить документы на сайте?

    glaphire
    @glaphire Куратор тега PHP
    PHP developer
    1) создаете папку для документов за пределами публичной папки (той, в которой index.php и статика)
    2) создаете экшен для загрузки файлов, помещаете туда эти файлы, привязываете файл к пользователю на уровне базы данных
    3) отдача файла для просмотра должна производиться только через экшен (чтобы не было прямого доступа к файлу методом подбора урла), с проверкой, что только юзер и админы могут его просматривать
    Ответ написан
    Комментировать