Bogdan
я думал сделать метод который будет зацикливать работу сервера и там будут всякие ридеры, врайтеры и непосредственно вся фигня связанная с отправкой и получением
Bogdan
а этот метод запустить на нескольких тасках
Bogdan
ещё не совсем понятно как определить какие именно данные пришли с сервера, например это массив строк или это eventargs что бы не пытаться постоянно распарсивать
Bogdan
должен быть способ правильнее
Andrii
number = fmap readFloat (many1 digit) numberString where readFloat = read :: String -> Float numberString = many1 digit plus = fmap (const (+)) '+' subtract = fmap (const (-)) (char '-') divide = fmap (const (/)) (char '/') multiply = fmap (const (*)) (char '*') expressionWithParens = between (char '(') (char ')') expression expressionWithParensOrNumber = withWhitespace (expressionWithParens <|> number) where withWhitespace = between spaces spaces chainMultiplyDivide = chainl1 expressionWithParensOrNumber (divide <|> multiply) expression = chainl1 chainMultiplyDivide (plus <|> subtract) вот тебе + - * / и скобки с приоритетами
Andrii
Єто и холрошо, есть на чём набить руку
Bogdan
пайп*
Bogdan
ещё в винде есть приколы что именнованные пайпы двосторонние
Andrii
Т. е. в принципе, если в пайп могут писать многие, то с учётом буферизации всё может перемешаться. Надо ставить мьютексы... И смысла большого нету.
Bogdan
вроде как пайпы потоко защищенные
kernel panic
елки-палки, с# еще и в разметку страниц умеет? я думал ток бек
Andrii
я думал бинарный сделать но вообще можно и так и так, пайпы это позволяют
Проблема в том, что пайпы не дают деления на пакеты. Ты можешь записать put("123"); put("456") а сервер прочитает "1234" и "56". Поэтому тебе надо придумывать что-то, как разделять команду от команды. А текстовый протокол имеет хотя бы переводы строк
Bogdan
@vova_lantsov а часто сейчас разор в проектах? я просто в основном ангуляр вижу
kernel panic
на разоре
фреймворк? я не в ккурсе, просто увидел .cshtml
Andrii
вроде как пайпы потоко защищенные
Считай пайпы файлами. stdin stdout часто через пайпы работают. они может и потокозащищённые, но если выводить на консоль из нескольких потоков, вывод перемешивается
Bogdan
фреймворк? я не в ккурсе, просто увидел .cshtml
по сути это технология которая позволяет вставить C# в html разметку
Andrii
хм
Считай, что у тебя пайп просто файл, куда одна прога пишет, а другая читает.
Vova
@vova_lantsov а часто сейчас разор в проектах? я просто в основном ангуляр вижу
Стоит рассматривать статический UI и так называемый SPA Razor используется и там и там Но в первом случае это устаревший способ (не только в шарпе, а в принципе в вебе), хотя он и используется до сих пор SPA же современный (это ангуляр/реакт/вью, а в рамках дотнета это Blazor)
Vova
Помогает За деньги или бесплатно Зависит от потребности обучаемого и самого ментора
Bogdan
ищет твои сильные и слабые стороны
kernel panic
умоляю не надо
Vova
В чем угодно
Andrii
блин я не знал о таких нюансах
Поэтому я и говорю сокеты. Там есть разделение на пакеты. Если ты отправил пакет 10 байт, ты их и получишь. А пайпы это... cat test.txt | grep switch | wc -l Как там будет читать ввод grep какими порциями...
kernel panic
одним ментором меньше станет
Andrii
Да, там есть flush, но это только о доступности данных, а не о порциях
Danya
Всех приветствую🦾 владеет кто материалом по работе с ботами в Discord на JS?
Andrii
тут ещё прикол с многопотоком
Ну... надо создавать отдельные пайпы... Пайпы они староможны, любят тет-а-тет, а не групповушки.
Danya
доки в инете полным полно
Касательно работы именно в JS нашел очень немного, есть совет где искать?
Andrii
Ну... сервер может создат же несколько пайпов... Но в любом случае зачем это надо непонятно. Пайпы это не о серверах, а больше о потоках данных. Ну или сервер запускает консольное проложение, и общается с ним
Bogdan
так как с апи работать через фронт технологию не удобно
Danya
Совершенно верно, но опять же, ирформации бы побольше :( Первый проект делаю
Bogdan
https://www.digitalocean.com/community/tutorials/how-to-build-a-discord-bot-with-node-js-ru
Bogdan
https://discord.js.org/#/
а ну или так, это самая популярная вроде либа для js
Danya
Благодарю🤝 Здоровья побольше да багов поменьше.
Bogdan
Ну... сервер может создат же несколько пайпов... Но в любом случае зачем это надо непонятно. Пайпы это не о серверах, а больше о потоках данных. Ну или сервер запускает консольное проложение, и общается с ним
ладно у меня помимо многопотока возникает ещё одна проблема, а как распарсивать данные, мы никогда не знаем что придёт с сервера на клиент, массив строк или детали события
Danya
Подскажите еще такой вопрос, где найти "ментора" с которым можно было бы связаться да вопросы позадавать или такое удовольствие только за деньги?
Bogdan
чисто иф элсить?
Andrii
ну пайпы это же по сути на потоках и работают
По сути это файлы в памяти. В Linux API для работы одинаковое абсолютно. Пару отличий: писать можно только последовательно. И если читаешь за концом файла, то процесс блокируется до тех пор, пока либо файл не разрастётся, либо пайт не закроют.
kernel panic
ладно, как первый проект который не калькулятор на 4 действия выберу интернет магазин, что думаете по этому поводу?
kernel panic
имею в виду наставления, советы итп
Bogdan
По сути это файлы в памяти. В Linux API для работы одинаковое абсолютно. Пару отличий: писать можно только последовательно. И если читаешь за концом файла, то процесс блокируется до тех пор, пока либо файл не разрастётся, либо пайт не закроют.
ладно может вы подскажите ещё на этот вопрос ответ....Как десериализовать это всё до нужного формата ибо дифы приходят строками, а файлсистемвотчер eventargs шлет и это нужно потом десериализовать на клиенте
Bogdan
как это лучше всего сделать
Bogdan
в asp.net это понятно как работает а как это работает в отношении пайпов
Bogdan
Вова может ты подскажешь как можно распарсить json если ты не знаешь что в нем, то-есть это может быть либо массив строк либо event args....
Bogdan
хотя мне кажется нужна обертка с енамкой
Vova
Мне интересно как ты видишь себе сериализацию event args
Bogdan
а блин я забыл что он не сериализуется
Andrii
в asp.net это понятно как работает а как это работает в отношении пайпов
Я не знаю, как работают пайпы в Windows. Там они всё делают по своему, поэтому я бы для начала просто позапускал бы примеры от M$ от делал бі в этом ключе
Bogdan
блин тогда придётся обертку делать
Dastan
Всем Ассаламу алейкум Какую книгу по программированию на джава посоветуйте прочитать Ответ жду в лс
Andrii
там такие примеры что от них толку 0
Наоборот, я всегда делал по примерам. Потому что иначе непонятно что не работает и почему. Ну будет код ошибки, это же Windows
Mikhail
@Aqaguy ты живой? Как собеседование прошел, кстати?
EXTRA
Я его отметить пытался, а поиск не выдаёт ничего
Bogdan
короче я так понимаю мне надо делать свою обертку типо пакета либо сделать обертку в которой будут данные и енамка что это....Блин тупая идея
EXTRA
Выше спрашивали про человека, которому можно вопросы позадавать
Bogdan
блин можно я лучше асп.нет пойду писать, а не вот это всё
Andrii
именно по пайпам очень мало норм инфы
https://docs.microsoft.com/en-us/windows/win32/ipc/pipes
Bogdan
Bogdan
у меня проблема сейчас с тем что нужно как-то написать протокол