Сергей
Зачем кушать сладкое, если всё равно по итогу говно будет?
Сергей
Могу по поводу памяти привести реальный пример, который нанёс хороший ущерб предприятию: Есть некая установка, у которой есть в программном коде некий таймер, к области этого таймера можно обратится, и так случилось, что некий кто-то пересёк эту память - областью памяти на какой-то механизм, пусть будет задвижка, так вот в 20:00 какой-то бит взводится и вся установка уходит по пизде
Сергей
Потому что задвижка закрылась
Andrii
Вот это проблема. Да, люди в повседневной жизни когда учатся, делают с ошибками, что-то не до конца понимают и оно как-то да работает. Когда ещё на Либедьской вместо Ocean Plaza был стихийный рынок, а товары для суши не продавались в супермаркетах, я с девушкой как-то зашли там в китайский магазинчик. И старая китаянка, посмотрела на мой рюкзак и сказала: — Лежать здесь! И я понял, что это означает, «положите [рюкзак] сюда». Но в программировании так не работает. Программистами становятся те, кто может разобраться, как оно там считает, какие операции выполняются и где что-то пошло не так. И 90% времени это как раз поиск ответа на вопрос «что и где пошло не так».
Andrii
А код писать просто, его пишут нейросети, индусы, ...
Andrii
какой ещё номер у исключений
WinAPI пронумерованы системные с кодами ошибок. А в UNIX это идёт на откуп самой программе. Хочет — коды ошибок. Хочет — классы
Agent_RBY_
Используешь ты такой нейросеть для написания кода, а оказывается что весь этот код пишут индусы
Bogdan
а ты думаешь что код это как сочинение в школу писать?
Bogdan
перед тем как напечатать буквы на клавиатуре нужно миллион алгоритмов обдумать
Сергей
Используешь ты такой нейросеть для написания кода, а оказывается что весь этот код пишут индусы
В любом случае содержать индусов как дата центр дешевле чем сам дата центр, и гудят меньше
Bogdan
у меня на работе целый блокнот толстый в рисунках
Bogdan
и табличках всяких
Bogdan
WinAPI пронумерованы системные с кодами ошибок. А в UNIX это идёт на откуп самой программе. Хочет — коды ошибок. Хочет — классы
ты не шаришь можно ли как-то одновременно работать с streamwriter и streamreader только что бы оно файловый поток не закрывало
Bogdan
чёт асинхронка меня подводит
Bogdan
в шарпе нет readwrite
Bogdan
может попробовать буферный поток
Andrii
https://docs.microsoft.com/en-us/dotnet/api/system.io.stream?view=net-6.0 Там есть Read, Write, Seek
Bogdan
так он абстрактный
Bogdan
а я свой не хочу стрим писать
Andrii
Ну... FileStream конкректный, и там можно читать/писать
Bogdan
filestream не работает с namedpipe
Bogdan
у пайпов свои потоки просто они умеют отправлять только побайтово и что бы отправлять строки приходится использовать streamwriter/streamreader
Andrii
Ну пайп это пара Write стрим на одном конце пайма и Read Stream на другом конце по определению.
Bogdan
не совсем
Bogdan
в винде есть двусторонние пайпы поэтому там с обоих сторон есть ридер и с обоих врайтер
Bogdan
так как изначально Майкрософт задумывал этот вид пайпов для замены сокетов
Andrii
https://docs.microsoft.com/en-us/windows/win32/api/namedpipeapi/nf-namedpipeapi-createpipe Где?
Bogdan
у namedpipe есть режим InOut
Andrii
у namedpipe есть режим InOut
Ну тогда и стримы должны быть
Andrii
https://docs.microsoft.com/en-us/windows/win32/api/winbase/nf-winbase-createnamedpipea PIPE_ACCESS_DUPLEX
Bogdan
Bogdan
а то что я ниже скинул это дотнетовская обертка и режимы в которых может работать пайп
Bogdan
написано что он и асинхронно может работать ибо есть вот это
Bogdan
при попытке считать после записи канал почему-то закрывает я не понимаю прикола
Bogdan
типо я понимаю если бы там не было эвейта тогда ладно но там везде есть ожидание
Andrii
Смотри исходники
Bogdan
исходники чего
Andrii
.NET как это всё реализовано, почему закрывается
Bogdan
эта херня настолько легаси что по ней даже проектов нет раньше чем 2014 год
Andrii
Там же всё в исходниках открыто
Andrii
Просто обросло абстракциями
Bogdan
там нет ничего полезного оно просто дергает винапи
Andrii
там нет ничего полезного оно просто дергает винапи
Ну правильно, WinAPI было для облегчения портирования Linux + не просто скопировали, ещё и докидали своих фичей. В .NET добавили, что раз есть WinAPI, то надо добавить и в .NET чтобы ним можно было пользоваться. Почему закрывается? Ну это типично для Microsoft вообще: что-то работает не так, как ты ожидаешь, и хрен пойми что
Andrii
Поэтому я бы всял готовый пример, и делал всё максимально по нему. Почему я не люблю Windows, потому что если ты начинаешь писать так, как ты понимаешь API, то в большинстве случаев это не работает, и непонятно почему. Поэтому там только один путь: скопипастить их пример, убедится что работает, и понемного его менять в сторону, что тебе надо
Bogdan
это все конечно замечательно но проект мне надо сдавать иначе меня уволят
Bogdan
Будет повод перейти на Linux :)
.NET на линуксе так себе идея
Bogdan
на линукс нет даже Visual Studio а у нас на работе нельзя райдер использовать
Bogdan
нет
Bogdan
нужна именно полноценная ide
Andrii
.NET на линуксе так себе идея
Java раз любишь ООП. Или что-то другое, там есть что выбрать кроме .NET
Bogdan
нет
Bogdan
я не люблю java
Bogdan
mono develop?
это худшее что есть для дот нета
Andrii
.NET на линуксе так себе идея
Я больше про то, что уволят тебя, разачаруешься в .NET и станешь работать под Linux
Dmitriy
не стану
лол, а чего ты добиваешься?)
Bogdan
как я рад что моно платформа наконец-то подыхает окончательно
Bogdan
тот кто её придумал заслуживает попасть в ад
Bogdan
лол, а чего ты добиваешься?)
всмысле, что за тупые вопросы
Bogdan
у .NET-а сейчас намного лучше всё чем у Java
Алексей
тот кто её придумал заслуживает попасть в ад
Да я тебя умоляю. Если что-то не получается значит ты крутил это не достаточно))
Bogdan
Bogdan
и какое это дерьмо
Алексей
ты просто не дотнетчик и ты не знаешь что такое моно
Но я его использовал под плюсы, а это вообще не родная платформа
Bogdan
но моно МС планирует убирать из .NET
Bogdan
полностью
Andrii
фиг знает
Там проблема, что всё должно работать на консолях... Ну XBox понятно, но разные PS, Wii... и в общем-то непонятна мотивация M$ это делать. Ну а Mono и так жив больше потому что Unity ну и билд система UE