Обновить
41
1.4
Dmitry @domix32

Жопа котика

Отправить сообщение

Только телетекст шифровался в радио сигнал, а гофер передаётся обычным tcp потоком

Это такой телетекст по телефону?

Пользовался не так давно, когда следовал гайду, а как собственно писать gopher клиенты. Более того есть целый браузер, поддерживающий десяток подобных протоколов, включая тот же gopher и gemini.

Как-то неочевидно происходит запуск. Я думал зелёное поле это типа индикатор FPS или что-то в этом роде, а оказалось это поле ввода. Примеры, которые его используют, не подставляю туда свои значения. И канвас по-умоланию маловат. Кажется для наглядности стоило бы автоматом процентов 200 ставить для них.

Попытки набирать текст в этом поле тригеррят какие-то глобальные хуки:

с - ставит фокус в поле редактора

o -триггерит открытие файла

m - вкл/выкл окна канваса

и так далее.

А почему не сделать как у других инструментов типа Strudel - закончил изменение, ctrl+enter автоматически триггерит Snapshot + Run и если что-то не скомпилировалось пишет куда-нибудь ошибку и возвращает последний снапшот.

За способости GigaChat не скажу, но мне DeepSeek больше всего ломал малину, когда использовал API из разных стандартов, несмотря на ограничения. Да ещё и давал доп.примеры формата "а вот если бы был стандарт поновеее, то". Либо вообще выдумал то-чего-на-свете-нету. Особенно с std::range проблемы. Иногда велосипедил какие-нибудь встроенные функции. Но так чтобы висячих указателей наоставлять пока не сталкивался.

Правда не очень понятно зачем вам такая локализация приватных данных - с точки зерния оптимальности это не очень выгодно.

using HealthProp = Property<int, SetHealth, GetHealth>;

И держали бы приватные данные прям там же в пропери. Глядишь через пару шагов ешё и в ECS какой-нибудь превратилось бы.

Ну и да, у вас же 20 стандарт включен, используйте концепты вместо enable_if

а не воспользоваться старым

самый простой ответ - нужно сбросить состояние сокета до некоторого рабочего, для чего требуется занулить одни поля и выставить в дефолтное положение другие и перекинуть из одной очереди в другую. Что по сути на 90+% пересекается с созданием нового сокета, поэтому просто забываем о старом sockfd и генерим новый. Получаем меньше кода в ядре, меньше кода в пространстве пользователя, меньше багов в среднем.

Если автор кода явно говорит AF_INET и SOCK_STREAM, было бы странно ожидать не TCP

Собственно, ничто не мешает прокинуть другие параметры и получить ровно те же проблемы, поэтому и написал, что проблема не специфична для TCP сокета, а в принципе для любого сокета - хоть датаграммами кидайся, хоть голыми IP пакетами, хоть виртуалкам сокеты тереби.

А не приходит ли эта проблема от самого принципа работы API сокетов?

id сокета aka sockfd и tcp порт это не одни и те же сущности. Главным образом потому, что сокет не обязан быть именно TCP. bind резолвит локальный порт, только если ему явно был передан нулевой порт в адресе. При connect вы ручками указвыаете к какому порту подключаться, так что нет там никакого автоматически. Если connect провалился, то вас обычно уже ничего не спасёт, ибо указанный удалённый сервер недоступен. Пересоздавайте сокет заново и пробуйте снова.

Если вы описывали разрыв соединения, то там есть некоторый таймаут пока TCP соединение решит, что попытки передачи кончились и клиент/сервер потерялся и не отвечает. TCP пакеты завернуты в пакеты IP и у того уже есть эти четыре значения.

Так что нет, API сокетов тут не причём. По крайней мере не в том виде, в котором вы его описываете.

Замените пепы на маны - суть не поменяется. Если язык без RAII, то помнить о противоположных операциях выделения и освобождения ресурсов приходится всегда. Будь-то malloc/free, open/close или connect/disconnect. В противном случае неплохо бы знать как готовить местный RAII, особенно обёртки над библиотеками без RAII - как раз with в питоне про это же.

Как-то тема borrow checker так и осталась нетронутой. Думал щас про SAT или хотя бы расскраску памяти как в Asan/Lsan расскажут .

даже в 2025 году есть ещё плохо документированные особенности - и с популярными языками, с привычными операциями - в которых несложно сделать ошибку, причём такую что будет трудновато её уловить

сначала не читают пепов, а потом живут без with

Без премиума в телеге нынче в папку что-то в районе 50 каналов можно воткнуть. Недефотный ТГ будет вызывать проблемы на яблочных девайсах - это вам не андроиде APK загрузить. Да и секьюрность оных альтернатив тоже под вопросом.

Вот только хотел спросить есть ли браузерная мобильная версия. Как видно нет. Печаль

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

Там ещё и монады ненастоящие :D

Есть, есть. Только вместо стеджинга она сразу "коммит" делает - чем-то похоже на reflog историю. А потом, когда работа закончена, оно превращается в обыкновенный коммит, как будто ветку посквошили. Проще наверное посмотреть его в действии.

Я, в отличии от вас, пишу в минималистичном Nvim

Это кстати интересный кейс скрытой сложности. И то, как эту сложность эксплуатируют корпорации, чтобы воткнуть каких-нибудь своих штук-следилок и держать некоторый барьер для разработчиков.

я помню как однажды скачал выписку по звонкам/тарифам у мегафона, так он мне из 70мб тогдашнего трафика выжрал почти полтора метра на одной только копипасте CSS в каждой строчке. Три листа примерно было.

Проблема не столько с самим лором, сколько в том как его в игре подают в принципе - бегаешь по уровню и надеешься, что тебе заспавнится кусочек лора. Классическая нарративная ошибка не следования принципу "показывай, не рассказывай". Сам лор про ангст и возврат к прошлому (hence Returnal), могло бы работать до некоторой степени. Но на фоне снарядов на экране так ли много интереса к тем логам? Это определённо не дотягивает до уровня DS, где половина лора спрятана в описаниях к оружию.

Могу предложить сравнить с недавно вышедшим Soul Slinger (есть демо) и тем как там представляет свой лор. Оно тоже фактически bullet hell рогалик и тоже про травму ГГ. Правда стабильность самой игры не очень.

А если очень хочется игру с хорошей ГГ, лором и нормальной подачей, то предложил бы поиграть в Echo, но это совсем другой жанр.

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

Информация

В рейтинге
1 508-й
Дата рождения
Зарегистрирован
Активность