LINUX.ORG.RU
ФорумTalks

Использовать сетевой каталог вместо собственного протокола обмена, это быдлокод?

 ,


1

1

Решил что вместо написания UDP сервера просто открою каталог NFS и разрешу в него запись. Сеть всё равно будет изолированная. Но я как перфекционист страдают от осознания несовершенства того кода который я пишу.

Обмен нужен что бы давать на боксы команды типа. «Оплата 50 рублей» и «Сброс». А данные оператор будет видеть на автообновляемой web странице в браузере. Вероятно даже не NFS сделаю, а PHP скрипт будет писать в файл который будет проверять программа.

Это сильно быдло-код? Или терпимо для небольшого проекта?

Это сильно быдло-код?

Да

Lavos ★★★★★
()

ты бы контекста побольше добавил, чтоб более аргументированно обсирать твой подход :)

Harald ★★★★★
()

Это сильно быдло-код?

Сильно. Тем не менее, у меня такое тоже есть (но я админ, мне можно), ибо избавляет от написания собственного протокола с ACL-ями, доступ можно настраивать из AD. За годы проблем с этим делом не было. У меня, правда, это никак не в критичном узле, просто кнопка перезапуска старого глючного демона для начальника отдела, чтоб ко мне не бегали каждую неделю.

Sadler ★★★
()

Это сильно быдло-код?

да, но если ты к нему напишешь быдлокодную замену nfs, web сервер на go, то на тебя будут молится как на леннарта тот что поттеринх :)))

alwayslate ★★
()
Ответ на: комментарий от Sadler

у меня такое тоже есть (но я админ, мне можно)
доступ можно настраивать из AD

Тож так делал. Один из юзеров мог зайти в smb-шару и поправить txt блэклист для сквида, сквид в свою очередь раз в минут так 5 перечитывал конфиг.

v0mqfish ★★★
()
Ответ на: комментарий от Harald

ты бы контекста побольше добавил, чтоб более аргументированно обсирать твой подход :)

Raspbery Pi 3, автомойка самообслуживания. С компьютера оператора надо отправить на контролирующий компьютер информацию о внесении средств и экстренные команды типа «Сброс».

rezedent12 ☆☆☆
() автор топика
Ответ на: комментарий от rezedent12

А что и чем по команде «сброс» будет делаться? Если есть компьютер оператора, зачем отдельный raspberry?

Harald ★★★★★
()

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

Я бы поднял минимальный вебсервер и повесил бы на нём минимальный апи для приёма сообщений. Это тоже не идеально, но хотя бы не ппц и вебсервер сожрёт не больше ресурсов чем NFS.

Goury ★★★★★
()

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

drull ★☆☆☆
()
Ответ на: комментарий от Harald

А что и чем по команде «сброс» будет делаться?

Отмена внесённой суммы и запись в журнал показаний счётчика.

Если есть компьютер оператора, зачем отдельный raspberry?

GPIO.

rezedent12 ☆☆☆
() автор топика
Ответ на: комментарий от Goury

Есть дохера разных способов отправить команду про 50 рублей, но заливать куда-то какой-то файлик для этого это ппц.

4.2.

Это ж юниксвэй, всё есть файл!

tiinn ★★★★★
()
Ответ на: комментарий от tiinn

Это ж юниксвэй, всё есть файл!

толсто друг мой. по юникс вею надо пейсать в именнованный пайп сообщение, но nfs не умеет в named pipe.

alwayslate ★★
()

да, это нормальное решение которое может сократить время до запуска проекта (или по крайней до возможности комплексной отладки/тестов). Просто для себя галочку поставьте «позже посмотреть в сторону UDP» и интерфейс не размазывайте по всей программе.

страдаю от осознания несовершенства кода

да мир вообще несовершенен. Главное требование к коду, это чтобы он работал как надо. И «лучшее враг хорошего» кстати :-)

MKuznetsov ★★★★★
()
Ответ на: комментарий от MKuznetsov

Просто для себя галочку поставьте «позже посмотреть в сторону UDP»

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

и интерфейс не размазывайте по всей программе.

Никогда не размазываю.

rezedent12 ☆☆☆
() автор топика

Это сильно быдло-код?

да, сильно. возьми уж базу тогда какую чтоль. а если хочется автообновлений и обмазаться жабоскриптом - возьми ноду вместо пыха и устрой publish-subscribe, проще будет. Тем же faye можно.

upcFrost ★★★★★
()
Последнее исправление: upcFrost (всего исправлений: 1)
Ответ на: комментарий от RussianNeuroMancer

Предлагаю пойти дальше, и рулить GPIO через веб-сервер!

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

upcFrost ★★★★★
()

Но я как перфекционист страдают от осознания несовершенства того кода который я пишу.

PHP скрипт

Перфекционист да...

Siado ★★★★★
()

Одна идея охренительней другой.

kravzo ★★
()

Это сильно быдло-код?

Даже я считаю, что сильно.

crutch_master ★★★★★
()

для ТС. знаешь есть такая технология как очереди. ты можешь на распберри установить, допустим, gearman. написать worker, client. и заменишь этим nfs сервер.

Nurmukh ★★★
()
Ответ на: комментарий от rezedent12

естественно сделаю нормальный протокол

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

winlook38 ★★
()

PHP скрипт будет писать в файл

Слишком большая концентрация UNIX-Way. Попробуй сделать комбайн.

EXL ★★★★★
()
Ответ на: комментарий от winlook38

Нет ничего более постоянного чем временное :)

Morin ★★★★
()
Ответ на: комментарий от dk-

Это у немощных чмошников такая отмазка модная.

Deleted
()

UDP-сервер и NFS сильно разные, т.ч. получить одинаковое поведение будет весьма непросто. Например, при проблемах в сети или у получателя UDP пакеты теряются, а NFS файлы - накапливаются или блокируют отправителя.

Т.е. так делать нужно или стоит или можно или вредно или нельзя - в зависимости от неописанных пока требований.

DonkeyHot ★★★★★
()

К чему тут udp? У тебя реалтайм автомойка с жесткими требованиями к задержкам?

Вообще в чем проблема сделать обмен через soap, например? Это ж простейшие вещи

Midael ★★★★★
()
Последнее исправление: Midael (всего исправлений: 1)
Ответ на: комментарий от dk-

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

Morin ★★★★
()

тут уже отмечали, но все же вставлю - ZMQ.

conalex ★★★
()

Когда-то мне надо было интегрировать некую платежную систему с системой парковочных автоматов. Сделал именно через обмен файлами по сетке. Так оказалось проще и быстрее всего, и при этом дубово надежно. Пара перловых скриптов и немного админства вместо немеряных человеко-часов работы «профессионалов».

Deleted
()

Это сильно быдлокод. Но работа на дядю, интерпрайз, всё вот это - это ТОЛЬКО быдлокод. Тот, кто с этим не соглаcен, тот либо никогда нигде не работал, либо работает в тёплом месте и его работа реально никому не нужна, либо врёт самому себе. Привыкай, и ничего исправлять не нужно. За перфекционизм не платят, и это в реальности никому не надо. Если работает и выполняет поставленную задачу - это ОК.

lenin386 ★★★★
()
Последнее исправление: lenin386 (всего исправлений: 2)

быдлокод - это, будучи аматором, писать свой протокол :-)

но нет сил поискать уже готовые решения. это да.

Deleted
()
Ответ на: комментарий от ritsufag

Юниксвей это ж когда софт из говна и палок решает какую-то задачу^)

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

alwayslate ★★
()
Ответ на: комментарий от alwayslate

Why not?

И что лучше? При том, что энтерпрайзные шины сообщений для ОПа явный оверкилл (разве что заюзать в учебных целях)

Midael ★★★★★
()
Последнее исправление: Midael (всего исправлений: 1)
Ответ на: комментарий от Midael

И что лучше?

да в его случае слушать по tcp в plain text запросики да и все. на C такое делается за час максимум, с тестированием :)

alwayslate ★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.