• Как исправить ошибку nginx 403 forbidden?

    Murmurianez
    @Murmurianez
    JavaScript Developer
    Сейчас дам хреновый ответ, но он поможет двинуться в правильном направлении.

    В самом начале nginx.conf есть строчка user www-data;
    www-data это группа пользователей с чьими правами будет запускаться nginx.
    Хреновая часть ответа: чтобы не мучаться можно прописать: user your_root_user_name;
    Оно заработает, но это конечно не для продакшена, но для какого-нибудь тестового чтобы голову не морочить может быть и ОК. А по хорошему, конечно, сделайте нормальную группу пользователей с нормальным правами для запуска.
    Ответ написан
    2 комментария
  • Можно ли разместить бзнес-логику в модулях NGINX?

    dimonchik2013
    @dimonchik2013
    non progredi est regredi
    (т.е. допустим ли такой подход в NGINX)

    допустИм, конечно, LUA, опять же, или родной
    ps: Язык разработки C/C++.


    Гошники не парятся и так и делают (драйвер базы, осносной скрипт и вебсервер в один файл), правда, могут за сам Nginx забыть и юзать свое, по тестам даже более быстрое...

    проблемы начнутся когда понадобится поддерживать, масштабировать, или когда неудачно обновится nginx
    Гошники выплывут, а вот Ваш подход....
    Ответ написан
    Комментировать
  • Выбор архитектуры: web или desktop?

    igolets
    @igolets
    Программист C#, MSSQL
    Я бы тут ещё попробовал ответить на следующие вопросы:
    1. Какие требования к срокам выпуска приложения?
    2. Как часто будет меняться приложение?
    3. Какой перечень клиентского оборудования и операционных систем? Будут ли это планшеты на iOs, например. Если только ноуты с одинаковой операционкой — то почему?
    4. Какая интеграция с десктопом потребуется? Например, запуск в режиме киоска (без элементов операционной системы), горячие клавиши, локальная БД, интенсивные вычисления, лимиты памяти, нестандартные элементы управления (джойстики и т.п.), внешние динамики/мигалки/дисплеи, контроль активности пользователя.
    5. Много ли экранных форм и насколько они разнообразны?
    6. Какой опыт у разработчи(ка/ков)


    Суть в том, что для работы с оборудованием, например, комфортнее десктоп (хотя и с веб это возможно). Для некоторых типов приложений мне, например, быстрее также использовать десктоп, потому что есть библиотеки, с которыми я могу простое готовое приложение сделать за часы (с валидацией и т.п.). С юнит-тестами в той среде, в которой с работаю (.Net) проще с десктопным кодом, чем с JS. Но веб, по понятным причинам, убирает многие границы (разные операционки, доставка приложения и т.п.). Опять же веб подразумевает серверную часть. В ряде случаев это подразумевает два языка программирования, две валидации ввода, две обработки ошибок.

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

    Удачи!
    Ответ написан
    Комментировать
  • Выбор архитектуры: web или desktop?

    Есть много вопросов к тому что из себя будет представлять конечный программно-аппаратный комплекс и для каких условий работы он предназначен. Одно дело, когда он расположен где-то в "тепличных" условиях в офисе/дома. И совсем другое дело, когда находится в шумном и пыльном цехе, где по кнопкам и экрану будут тыкать грязными руками. Ко второму должны предъявляться совсем другого уровня требования по надежности и не только.

    физически подключать свой ноут к серверу
    В смысле? Пойдут в серверную и будут подключать ноут к серверу кабелем? Что за бред? Если не бред, то по какому протоколу? И этот ноутбук нужен для постоянной работы с оборудованием? Или "сервером" будет достаточно мощный ПК? ПК и ноутбук в цехе? Серьёзно?

    с видеокамер на которых отображается деталь
    Это видеокамеры со встроенными экранами? Или же без, а изображение должно передаваться по кабелю на сервер?

    будет потоковое видео и его обработка
    К потоковой обработке видео, я полагаю, есть достаточно высокие требования и к железу и к коммуникациям (ширина канала, задержки, кабели, маршрутизаторы и т.д.). Должен быть чип DSP (если встраиваемое оборудование) или достаточно мощный процессор на ПК/сервере, который потянет обработку.

    web или desktop
    Десктоп - настольное оборудование, web - передача данных преимущественно по HTTP. Одно другому не мешает. Наверное, речь больше про выбор клиент-серверной технологии, таких как терминал-сервера с терминал-клиентами (Citrix и др.) или же комбинированного оборудования с периферией (допустим, ПК с подключеннами экраном, веб-камерой и другими устройствами). Из-за необходимости обработки видео терминал-сервер, похоже, не подходит.

    Если, скажем, брать (промышленный) вариант ПК, тогда обработка видео будет происходить на нём и по сети гонять ничего не надо. Тогда настольное приложение может состоять из модулей обработки видео, бизнес-логики и пользовательского интерфейса - всё в одном. Для настольных приложений обычно берут C# (WPF), C++ (Qt), Delphi, Java (Swing, JavaFX). Модуль обработки видео можно использовать, подключив как библиотеку (SO, DLL), реализованную на любом высокопроизводительном ЯП.

    Веб-технологии пока достаточно специфичны и ограничены. У меня нет пока представления как происходит пакетная обработка видео в вебе. WASM едва только пробует войти в веб и мало распространён. Одно дело на веб-приложении крутить фильмы, а нечто другое - обрабатывать на лету и встроить в пользовательский интерфейс. Так что к настольным веб-приложениям я пока несколько скептически отношусь. Они пока не предназначены для промышленного использования.
    Ответ написан
    Комментировать
  • Выбор архитектуры: web или desktop?

    Xuxicheta
    @Xuxicheta
    инженер
    web-сервер от "не веб" отличается только умением работать через протокол Http
    Фактически это и есть обычный сервер, только протокол связи стандартизован, так чтобы с ним умел общаться браузер. Но точно так же с ним может общаться любой другой клиент.

    То есть выбор стоит так "использовать мне стандартный протокол или нестандартный". И тут сами выбираете.

    Сервер передаёт пользователю видео с видеокамер на которых отображается деталь. Пользователь щёлкая по изображению детали запускает процесс её обработки оборудованием. То есть, будет потоковое видео, тяжёлых вычислений не будет.

    Тут в веб тоже есть стандарт - WebRTC, но не слишком удобный, смотрите уже с чем клиент умеет работать.
    Ответ написан
    2 комментария
  • Выбор архитектуры: web или desktop?

    krdpsr
    @krdpsr
    loading...
    веб проще и эффективнее всего остального
    но всё зависит от того какие языки ты знаешь

    если делать с нуля и надо изучать языки - веб лучший вариант
    потому что раз в 100 проще всего остального
    в 10 раз проще обычного
    и в 100 раз проще если использовать небольшое подмножество языков js css html php
    Ответ написан
    Комментировать
  • Выбор архитектуры: web или desktop?

    @rPman
    Web - на два порядка проще (читай дешевле) для разработки за счет повышенного требования ресурсов на клиентской стороне.

    Десктоп - возможно создание очень эффективных приложений но за счет очень дорогой поддержки всего разнообразия устройств и операционных систем (в веб этим занимается браузер и даже в этом случае приходится напрягаться)

    И главное, из веб приложения достаточно легко (например с помощью electron) можно сделать десктопное приложение.

    p.s. как бы я не нелюбил веб, который тянут даже туда где не надо, но его плюсы неоспоримы а страдающие клиенты от тормозов приложений, требующих топовое железо для простого чата... кто нас слушает?

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

    бинарные файлы в Windows можно сравнить стандартной программой fc, команда fc /? выдает справку по параметрам. если разница есть, то покажет, в каких именно байтах, если разницы нет, то так и напишет.

    я обычно пользуюсь так: fc /b file1.file file2.file
    Ответ написан
    Комментировать
  • Почему побайтовый сдвиг даёт разные результаты?

    @res2001
    Developer, ex-admin
    Читайте тут до прояснения раздел "Bitwise shift operator.
    Смысл в том, что если вы знаковое число сдвинули влево так, что старшим разрядом стала 1, то в результате получится отрицательное число. При сдвиге вправо знакового числа, освобождающиеся слева разряды заполняются битом знака (а не нулем), поэтому результат сдвига отрицательного числа так же будет отрицательным (а положительного - положительным:). Если сдвигать вправо беззнаковое число, то свободные биты будут всегда заполнятся нулями.
    Кстати, на сколько помню, по стандарту знаковость char не определена (может быть как знаковым так и беззнаковым). Вам с вашим примером не повезло, char оказался знаковым. Зато это дало возможность немного глубже понять сдвиги.
    Ответ написан
    6 комментариев
  • Возможно ли средствами Qt получить уведомление о смене системной даты/времени?

    IGHOR
    @IGHOR Куратор тега Qt
    Qt/C++ DEV/CTO
    Только сохранить текущее время, и по таймеру сравнивать с новым.
    Ответ написан
    Комментировать
  • Какой специалист мне нужен?

    firedragon
    @firedragon
    Не джун-мидл-сеньор, а трус-балбес-бывалый.
    Тут 2 человека нужно. 1 бизнес аналитик собственно он создаст документ что хотят клиенты, дальше нужен тимлид он выберет стек технологий даст оценки по срокам, выберет нужных спецов.
    Ответ написан
    2 комментария
  • Стоит ли поступать в техникум?

    SpiderPigAndCat
    @SpiderPigAndCat
    занимаюсь салообразованием
    стоит. в годах не потеряешь, но будет много нового. Поступают сразу с техникума на 3 максимум 2 курс универа. + отмазочка от армии на лишний годик будет. Будут другие преподы, предметы коллектив. В универе это все одно на 5 лет и просто вымораживает видеть одно и то же. А так увидишь новое + все понимают что техникум это плавный переход от школы к универу и лучше можно адаптироваться. Я закончил техникум 4 курса и пошел в универ сразу на 3 курс. Встретил там свою девушку которая с 11 класса в универ пошла. Т.е. мы одногодки и учились на одном курсе. Недавно это обсуждали и пришли к выводу что лучше мой вариант чем ее
    Ответ написан
    6 комментариев
  • Различия между Системным программированием, и программирование микроконтроллеров?

    saboteur_kiev
    @saboteur_kiev Куратор тега Программирование
    software engineer
    Направления разные, но не слишком далекое.
    Системное программирование обычно относится к разработке операционной системы и всего вокруг нее.
    В микроконтроллерах тоже могут быть свои "операционные системы" - прошивки.

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

    saboteur_kiev
    @saboteur_kiev Куратор тега IT-образование
    software engineer
    Хочется перепрыгнуть в другую сферу программирования, но при этом меня не покидает ощущение,


    Перепрыгнуть можно из сферы, а не из базового понимания что такое html/css
    Стань мид специалистом, а уже потом говори что ты хочешь перепрыгнуть.
    В любой сфере нужно будет учить не меньше.
    Ответ написан
    Комментировать
  • Как на MacOs правильно деинсталлировать приложение из кода самого приложения?

    DevMan
    @DevMan
    1. в стандартные: ~/Library/Application Support/AppName, ~/Library/Logs/AppName
    2. зачем? пользователь сам способен дропнуть приложение в корзину.
    Ответ написан
    4 комментария
  • Какую выбрать сферу в IT с нуля когда тебе "под 40"?

    @Dobryak88
    Системный администратор
    Разработчики, DBA и т.д. - очень высокий порог вхождения.

    1C - гарантированный способ найти работу на 100-150% от средней по городу, обладая минимальным набором знаний/навыков и желанием работать. Но даже в этой области многие руководители и HR косо смотрят даже на опытных кандидатов в возрасте 40+.
    Но при наличии автомобиля можно искать работу вида консультанта, который ездит по небольшим фирмочкам и обновляет им клиент 1С или какой-нибудь "Консультант+". Они обычно работают в рамках пошаговой инструкции и в случае малейших отклонений звонят вышестоящему специалисту.
    Ответ написан
    1 комментарий
  • Что такое джиттер?

    Есть разные понятия джиттера, основное это резкое изменение фазы сигнала (например при последовательном воспроизведении двух музыкальных треков). Однако в сетях джиттером обычно называют просто "прыгающий пинг", т.е. разброс во времени прохождения сетевых пакетов. Т.е. если у вас все пакеты идут по 2 миллисекунды, то джиттера нет. Если все пакеты по 200 миллисекунд то джиттера тоже нет. Но если часть пакетов идет по 2 и часть по 200 - то это джиттер. Джиттер есть практически в любых броадкастных сетях, в т.ч. и в Ethernet, при высоких загрузках среды передачи. В WiFi выраженность джиттера будет зависеть от нескольких факторов, основной это загруженность используемого частного канала. В многоквартирном доме или офисном здании с кучей небольших компаний это может быть достаточно серьезной проблемой. Джиттер плох в основном для игр и реалтаймовых протоколов (голоса, видео).

    Если вы не наблюдаете рандомных задержек пинга даже при существенной нагрузке на сеть, то проблемы джиттера у вас нет.
    Ответ написан
    1 комментарий
  • Как сравнить два файла (по md5 или еще как-то) в bash?

    Zoro
    @Zoro
    a=$(md5sum $file_a | awk '{print $1}')
    b=$(md5sum $file_b | awk '{print $1}')

    if [[ "$a" == "$b" ]]; then
    echo "без изменений"
    else
    echo "файлы разные"
    fi
    Ответ написан
    2 комментария
  • Как правильно прочитать файл с mtd-устройства?

    Radjah
    @Radjah
    Используй dd с нужным размером блока (bs=число). ЕМНИП, у nand страничная адресация, так что лучше bs указывать кратным размеру страницы.
    Ответ написан
    Комментировать
  • Как написать операционную систему с нуля?

    Я написал операционную систему за 10 минут и понадобилось только немного ассемблера, и представления о том что такое BIOS. ОС ничего не умеет. Ответ на ваш вопрос: потребуется 10 минут, небольшие знания ассемблера, небольшие знания того что такое BIOS и google, короче вполне реализуемо. Вас такой ответ устроит? Мне, по моей наивности может быть, кажется что нет.
    Ответ написан
    4 комментария