- 1
- 2
- 3
- 4
- 5
- 6
#include <iostream>
int main(){
int std = 10;
std::cout << std << std::endl;
}
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+17
#include <iostream>
int main(){
int std = 10;
std::cout << std << std::endl;
}
1024-- 20.01.2014 01:08 # +3
А ведь когда-то давно такие моменты давали сильную встряску, и вырывался изумлённый возглас "И даже так можно?!". Сначала это было знакомство с реентерабельностью, потом - возможность изменения аргументов функции внутри неё, потом тернарный оператор, в выражении в качестве lvalue.
guest6 29.01.2024 03:27 # 0
Ты имеешь ввиду рекурсивные функции?
> возможность изменения аргументов функции внутри не
Так себе паттерн: лучше так не делать. Если конечно тебе явно не передали их по указателю или ссылке.
Но правда это зависит от языка.
> потом тернарный оператор, в выражении в качестве lvalue.
А помнишь свои ощущения, когда понял, что в С++ можно так:
?
guest6 29.01.2024 08:57 # 0
1024-- 01.07.2024 22:47 # 0
Нет. Впрочем, точно не помню, что я под этим понимал и что про это думал.
> А помнишь свои ощущения, когда понял, что в С++ можно так
Не помню. Однако помню, что меня порадовала реализация двумерных матриц, где operator [] возвращал какой-то ссылковатый объект, у которого тоже был operator [].
guest6 01.07.2024 22:50 # 0
guest6 01.07.2024 22:55 # 0
1024-- 01.07.2024 22:55 # 0
guest6 01.07.2024 22:57 # 0
1024-- 01.07.2024 23:01 # 0
Возможно, от гостя в 2021 комментарий-два написал, не помню.
А маска была на аватаре.
guest6 01.07.2024 23:11 # 0
guest6 01.07.2024 23:18 # 0
guest6 02.07.2024 18:54 # 0
Напиши пароль 123, и я тебя добавлю в секретные чаты
guest6 02.07.2024 19:07 # 0
It would take a computer about
24 nanoseconds
to crack your password
https://www.security.org/how-secure-is-my-password/
guest6 02.07.2024 19:14 # 0
guest6 02.07.2024 19:23 # 0
guest6 02.07.2024 19:35 # 0
guest6 02.07.2024 19:59 # 0
Будет -- поменяю на 12345 (1234 нельзя, https://www.security.org/how-secure-is-my-password/ показывает его красным, видимо он не безопасен)
guest6 02.07.2024 20:01 # 0
А я
А я взял такой пароль, что
It would take a computer about
1 hundred noventrigintillion years
to crack your password
guest6 02.07.2024 21:56 # 0
guest6 02.07.2024 22:00 # 0
Я туда все ключи всегда загружаю
guest6 02.07.2024 20:45 # 0
guest6 02.07.2024 20:47 # 0
А ты же понимаешь, что любой введёный туды пароль автоматой попадает в базу для перебора если его много раз тудой вветсти?
guest6 02.07.2024 20:49 # 0
guest6 02.07.2024 20:52 # 0
Первое незаконное простое число
теперь гавнокод закроют
guest6 02.07.2024 21:29 # 0
Например, если я незаконное простое число умножу на два или увеличу на единицу, оно станет законным или останется незаконным?
guest6 02.07.2024 21:45 # 0
In 2017, far-right Slovak politician Marian Kotleba was criminally charged for donating 1,488 euros to a charity.
guest6 02.07.2024 20:52 # 0
guest6 02.07.2024 21:27 # 0
guest6 02.07.2024 21:36 # 0
guest6 02.07.2024 21:42 # 0
Я тоже, когда читаю их в GET параметрах -- логах nginx, и в дампе базы...
Один раз мне написал пользователь, и сказал, что забыл пароль. Я ему послал его пароль, и подумал еще: какой смешной пароль
guest6 02.07.2024 21:50 # 0
У Мариванны из бухгалтерии всегда будет пароль "rosa123". Если ты попытаешься зафорсить политики, то будет "Rosa!@#" или "qweasdzxc".
Если очень сильно из зафорсить, то он будет написан на желтеньком стикере на мониторе.
То-есть ты либо покупаешь ёба-ки, либо делегируешь какой-нито OAuth на какой-нито gmail, где там SMS-подтверждения, либо ты понимаешь, что поломают
По этой причине например у моего знакомого админа VPNы рядовых петухов сделаны по ключу (всмысле каждому выписан серт с приватным ключом и серт на сервере стоит) потому что из 1000 мариванн стопудово будет "rosa123"
1024-- 03.07.2024 09:07 # +1
Стоит понимать, что зафорсивание политик - это перекладывание работы админа на пользователей. Не создание и поддержка удобной и безопасной инфраструктуры, а требование придумывать и запоминать каждый раз новую случайную херобору, которая никак не относится к кругу задач сотрудника. Нет премий за лучший пароль; за попытки вспомнить набрать сложную последовательность на клавиатуре не выдают молоко.
Пароль - это всегда компромисс. Либо он будет легко запоминающимся, но нестойким, либо стойким, но незапоминающимся. Способность запоминать ограничена. Если админ требует спецсимволы, то вместо оптимального по запоминаемости и стойкости пароля "amwentedfar" (длинный, с энтропией) пользователь создаст минимально удовлетворяющий требований "Su123ka!" (длина не меньше 8, 3 класса символов). И если пользователь смог один раз в жизни выучить сложный и надёжные пароль "kDo#ran8Nue~", то из этого не следует, что он сможет делать это раз в год, а тем более -- раз в 3 месяца.
И ладно, если это пароли от веб-питушни, которые можно загнать в условный Google Chrome, где они сами генерируются и хранятся без каких-либо усилий пользователя. Но когда требуют держать в голове вариативное случайное говно и вводить его с клавиатуры, чтобы иметь доступ к рабочим компам... Это даже я, понимающий основы информационной безопасности, в гробу видал, а нормальные люди - тем более. Раз забыл, два забыл, - на третий раз придумаешь "[eq!2407".
После некоторого предела (который наступает довольно быстро) зафорсивание перестаёт повышать безопасность, а наоборот понижает её. Чем больше админ пытается зафорсить, тем меньше будет "kDo#ran8Nue~", и больше "[eq!2407" и бумажек с паролями.
Хочешь безопасность - придумай рфидные карточки, отпечатки пальцев, USB-ключи с магнитными контактами, отслеживай IP и паттерны поведения, проводи аудит. Случайную херобору никто не будет запоминать.
ISO 03.07.2024 09:48 # 0
ISO 03.07.2024 09:50 # 0
Пароли по текущему циклу AIRAC? Удобно!
guest6 03.07.2024 11:57 # 0
ISO 03.07.2024 13:27 # 0
guest6 03.07.2024 13:30 # 0
ISO 03.07.2024 20:00 # 0
guest6 03.07.2024 20:57 # 0
guest6 03.07.2024 13:40 # 0
guest6 03.07.2024 17:26 # 0
guest6 03.07.2024 17:54 # 0
guest6 03.07.2024 11:51 # 0
P.S. Год и месяц. Спасибо ISO за подсказку.
guest6 03.07.2024 15:56 # 0
https://music.yandex.ru/artist/10926446
https://www.last.fm/ru/music/%5Beq
https://www.shazam.com/artist/-/1554235520
https://music.apple.com/ru/artist/eq/1554235520
Наверное, ма-те-ма-ти-ки, что-то про уравнения поют.
guest6 03.07.2024 17:20 # 0
guest6 03.07.2024 17:25 # 0
guest6 03.07.2024 18:17 # 0
....то он будет использовать его на всех сервисах в Интернете.
И когда на сайте любителей макроме взломают базу, и заберут оттуда плейнтексктом хранящийся пароль, то пароль нашего пользователя окажется в базе брутфорсеров (вместе с его именем и емейлом)
j123123 03.07.2024 20:29 # +1
Desktop 03.07.2024 13:47 # 0
guest6 03.07.2024 13:51 # 0
1. Приходится доверять свои пароли левому сервису.
2. Приходится помнить учётные данные от самого KeepAss.
Вот смарткарта или USB+ключ решают проблему.
guest6 03.07.2024 14:03 # 0
KeepAss всё хранит локально. Но проблему мастер-пароля это не отменяет.
Desktop 03.07.2024 14:36 # 0
guest6 03.07.2024 15:00 # 0
guest6 03.07.2024 20:56 # 0
В AD, например, можно использовать смарт-карты. Но это дорого и сложно
j123123 03.07.2024 21:14 # 0
guest6 03.07.2024 21:24 # 0
Кстакти, OTP можно реализовать вообще без телефона и без смарт-карты: просто на бумажке
Алсо, телефон не очень сейф: зуй знает что ты там туда наставишь
j123123 03.07.2024 21:37 # 0
guest6 03.07.2024 21:44 # 0
Другой вопрос, если у меня уже есть телефон, то его можно юзать
Но вот если я сотрудник ядерного центра, и с моим уровнем доступа можно отправить ядерную ракету куда-нить, то чем меньше всего умеет делвайс -- тем лучше, потому что тем сложнее его сломать
j123123 03.07.2024 21:48 # 0
guest6 03.07.2024 22:09 # 0
https://www.youtube.com/watch?v=q7R_FF5O1d4
guest6 03.07.2024 22:18 # 0
j123123 03.07.2024 22:19 # 0
"реакция зрачков на свет"
j123123 03.07.2024 22:25 # 0
guest6 03.07.2024 22:10 # 0
Now, as far as whether or not all of this is necessary, it is in fact not if we want to fool your scanner. In my senior thesis project we used generative AI to produce fingerprints that fooled scanners to appear as 90%+ of all users in a fingerprint reader's database. One fingerprint generated could unlock almost anyone's account. So we don't even need you to get into your laptop.
j123123 03.07.2024 22:21 # 0
guest6 03.07.2024 22:36 # 0
а с этим-то какие проблемы?
j123123 03.07.2024 23:03 # 0
guest6 03.07.2024 23:27 # 0
ISO 04.07.2024 00:31 # 0
Есть только проблема с тем, что ушлые китайцы современные кнопочные «бабушкофоны» заливают малварью по самые динамики. Доходит до того, что официально не поддерживающий «GPRS» телефон в фоне подрубается к интернету и сливает китайцам всю инфу, до которой дотянется.
guest6 04.07.2024 00:35 # 0
guest6 04.07.2024 00:43 # 0
guest6 04.07.2024 00:44 # 0
guest6 04.07.2024 00:52 # 0
guest6 04.07.2024 00:58 # 0
Desktop 04.07.2024 12:27 # 0
guest6 04.07.2024 12:37 # 0
Вдруг какой-то петух бомбу подложил, а nyTuH на него сядет и сдетонирует.
Desktop 04.07.2024 20:43 # 0
j123123 04.07.2024 01:17 # 0
Можно спрятать в анусе WiFi SDHC карту https://haxit.blogspot.com/2013/08/hacking-transcend-wifi-sd-cards.html и через нее спиздить даннные по радиоканалу.
guest6 04.07.2024 00:54 # +1
https://habr.com/ru/articles/575626/
«Irbis SF63» пиздец опасный: он на твой номер регистрирует учётки в соцсетях и отправляет результаты китайцам.
guest6 04.07.2024 01:12 # 0
Desktop 04.07.2024 12:27 # 0
j123123 04.07.2024 01:14 # 0
Desktop 04.07.2024 12:29 # 0
guest6 04.07.2024 01:03 # 0
В 2024-м году аппарат с «J2ME» днём с огнём не сыщешь. Есть китайское говно с поддержкой VXP (это просто ELF с копропротивной говнозадачностью) и ещё с какой-то, забыл название.
P.S. Нашёл, вторая хуйня называется MRP, но я даже не знаю, где искать SDK под неё.
guest6 03.07.2024 21:29 # 0
j123123 03.07.2024 21:43 # 0
Desktop 03.07.2024 23:00 # 0
хранить их ессно советуют в отдельной от паролей базе
guest6 01.07.2024 22:56 # 0
3Doomer 20.01.2014 07:12 # 0
bormand 20.01.2014 07:52 # +10
В крестах каждый день что-то новое можно узнавать, даже если с ними работаешь уже лет 5-10.
О сколько нам открытий чудных
Готовит крестоблядский код.
3Doomer 20.01.2014 08:21 # +3
bormand 20.01.2014 09:28 # +1
krypt 20.01.2014 17:46 # 0
kegdan 20.01.2014 17:50 # +2
Stertor 20.01.2014 17:52 # +2
kegdan 20.01.2014 17:54 # +1
Stertor 20.01.2014 18:11 # 0
krypt 20.01.2014 18:40 # 0
govnomonad 20.01.2014 19:29 # +1
kegdan 20.01.2014 19:39 # 0
guest6 03.07.2024 17:19 # 0
guest6 29.01.2024 23:01 # 0
Понимаете?
Десять лет я слышу, что плюсы не нужны, а они всё еще нужны.
Пройдут года, прибой времени смоет помойную пену -- всех этих опотных программистов на "джаваскрипт" вкотившихся в ойтишечку за длинным рублем, а стоящие программисты на настоящих языках типа "C" и "C++" этого и не заметят.
Они будут читать в новостях "Хуюгл лейэфнул 300 000 программистов на пайтон". Читать, и посылать патч
Desktop 29.01.2024 23:31 # 0
– это у тебя телефон так исправляет? а с какого языка?
guest6 30.01.2024 00:09 # 0
Desktop 30.01.2024 00:15 # 0
kegdan 20.01.2014 08:38 # +4
crastinus 20.01.2014 13:03 # −2
такой ереси от тебя не ожидал ;)
Компилятор это позволяет, потому, что для него неймспайс, это что написано после слова неймспайс, или стоящее перед ::.
namespace nmsp;
nmsp::var..
А код ниже уже работать не будет, тк структура для компилятора это тоже набор символов, как и неймспейс.
#include <iostream>
struct std{
static int m;
};
int std::m=10;
int main {
std::cout << std::m << std::endl;
}
roman-kashitsyn 20.01.2014 13:06 # +3
> такой ереси от тебя не ожидал ;)
всё борманд правильно сказал.
crastinus 20.01.2014 13:13 # −1
roman-kashitsyn 20.01.2014 13:16 # +5
defecate-plusplus 20.01.2014 13:31 # +12
roman-kashitsyn 20.01.2014 13:45 # +1
Desktop 03.07.2024 23:06 # 0
guest6 29.01.2024 23:11 # 0
roman-kashitsyn 20.01.2014 13:10 # +5
crastinus 20.01.2014 13:14 # −1
Как это противоречит тому, что написал я?
roman-kashitsyn 20.01.2014 13:17 # +3
bormand 20.01.2014 13:32 # +4
Кстати забавно, но пространство имен типов и пространство имен namespace'ов пересекаются - компилятор не даст назвать тип и неймспейс одинаково.
crastinus 20.01.2014 13:35 # 0
roman-kashitsyn 20.01.2014 13:36 # +4
наверное, можно говорить "таблица символов", чтобы не создавать коллизий
> пространство имен типов и пространство имен namespace'ов пересекаются
Да мне кажется, корни растут из того факта, что раньше пространсва имён реализовывали через создание пустого класса со статическими методами и вложенными классами.
crastinus 20.01.2014 13:43 # +1
а не из-за того, что они могут использоваться подобным образом?
roman-kashitsyn 20.01.2014 13:50 # +2
И поэтому тоже. Борманд чуть ниже пояснил.
Правда, есть и отличия: в классах все члены видны всем остальным, т.е. можно использовать методы до их объявления. В нэймспейсах это не работает.
bormand 20.01.2014 13:43 # +2
Ragulinho 28.07.2021 00:27 # 0
guest6 03.07.2024 23:19 # 0
defecate-plusplus 20.01.2014 10:52 # +9
а Петя - свою, в которой ничего не зная про Васю, использовал слово awesome как счетчик цикла.
И вот тут Акакий Дододжонович берёт эти обе библиотеки и пытается ском... ЧИТАТЬ ДАЛЕЕ >>>
kipar 20.01.2014 13:27 # 0
roman-kashitsyn 20.01.2014 13:28 # +1
kipar 20.01.2014 14:31 # −1
roman-kashitsyn 20.01.2014 14:33 # +1
> счетчик цикла
Не выспался?
kipar 20.01.2014 15:23 # 0
roman-kashitsyn 20.01.2014 16:08 # +1
Но автор поста как раз удивляется, что локальные переменные и "глобальные" нэймспейсы можно называть одинаково и использовать одновременно. Если бы это не выполнялось, то сценарий, описанный @defecate-++, был бы вполне реальным.
Если бы Петя использовал локальную структуру std, у него бы тоже было бы всё ок: его структура скрывала бы пространство имён std внутри его кода (правда, внутри вложенных в функцию структур не может быть статических членов). Но тогда нельзя было бы написать код, подобный коду в топике, без явной квантификации . Если Петя вложил структуру в неймспейс, то всё тоже ок, можно квалифицировать.
Если же Петя назвал глобальный тип также, как Вася назвал свой нэймспейс, вот тут беда.
bormand 20.01.2014 16:15 # 0
... то оно просто не скомпилится ;)
gcc выдавало что-то типа error: redefining to another kind of symbol
roman-kashitsyn 20.01.2014 16:18 # 0
Да, Акакий Дододжонович будет очень огорчён. Хотя у него и сейчас есть выход:
bormand 20.01.2014 16:22 # +1
roman-kashitsyn 20.01.2014 16:24 # +1
roman-kashitsyn 20.01.2014 16:31 # +2
crastinus 20.01.2014 18:51 # 0
как удивительно, что в языке с полнотой по тьюрингу времени компиляции творятся такие удивительные вещи с именами.
bormand 20.01.2014 18:55 # +1
kegdan 20.01.2014 18:57 # 0
crastinus 20.01.2014 18:58 # +2
Так и знал, что нужно зеленым писать.
bormand 20.01.2014 19:00 # 0
Stertor 20.01.2014 19:09 # +2
[trollface.jpg]
Vasiliy 20.01.2014 13:35 # 0
И другой вопрос в неймспейсе моджнили обявлять вложенные неймспейсы ?
roman-kashitsyn 20.01.2014 13:39 # +1
моя не панимать. Работают нормальные области видимости. Всё, что внутри функции, снаружи не видно. Стек же.
Если хочется глобальные для модуля переменные (не видимые другим модулям), есть волшебное слово static или анонимный неймспейс.
> в неймспейсе моджнили обявлять вложенные неймспейсы?
моджни.
bormand 20.01.2014 13:46 # 0
Но тем не менее, иерархии неймспейсов нет. Есть только линейное пространство имен пространств имен.
Или я сегодня туплю?
defecate-plusplus 20.01.2014 13:50 # +1
bormand 20.01.2014 13:57 # 0
А в крестах мало того что вверх умеет идти, так еще и после using namespace foo можно будет вместо foo::bar::test писать просто bar::test... Все-таки иерархия есть.
Vasiliy 20.01.2014 14:53 # 0
а Петя - свою, в которой ничего не зная про Васю, использовал слово awesome как счетчик цикла.
И вот тут Акакий Дододжонович берёт эти обе библиотеки и пытается ском... ЧИТАТЬ ДАЛЕЕ >>>
Ну тогда это вообще не возможная ситуация. Каждый разработчик либ фигачет свой неймспейс и в нем ебется конем как ему хочется, всякие счетчики цикла и фигушки которые должны умереть внутри умирают внутри модуля, все, что должны выйти наружу выходит в неймспейсе. И тогда никаких пересечений с именами не будет.
1024-- 20.01.2014 13:39 # 0
вроде бы можно заключить в безымянный namespace
> в неймспейсе моджнили обявлять вложенные неймспейсы ?
судя по бусту, можно
roman-kashitsyn 20.01.2014 13:44 # +4
defecate-plusplus 20.01.2014 13:46 # +3
во-вторых, такие проблемы могли бы возникнуть при компиляции именно петиного кода, а не васиного - но такого конфликта даже нет
и в третьих, если у пети есть свой неймспейс, то вообще становится крайне сложно организовать проблемы, о которых стоило бы переживать - было бы неплохо, если бы кто-то смог предложить пример конфликта
а в подтверджении моих слов пока вот: http://ideone.com/9517zU
и про второй вопрос - в неймспейсе нет ограничений на вложенные неймспейсы
you::can::shoot::your::legs::as::you::want
j123123 29.07.2021 15:39 # 0
guest6 29.07.2021 15:55 # 0
j123123 29.07.2021 17:45 # 0
recv() с pipe вообще не работает, и в read() никакого "MSG_WAITALL" нет. Из pipe чтение через read() заблокируется, если в пайпе нихуя нет. Если хоть один байтик есть, он и прочтется. Из сокета еще можно получить датаграму нулевого размера, а для pipe это хуйня полная, потому что никаких "датаграм" там нет
https://man7.org/linux/man-pages/man2/recv.2.html#NOTES
bormand 30.07.2021 21:23 # 0
Хм, т.е. прога тупо повиснет навсегда т.к. read() не может избавиться от пустой датаграммы?
j123123 30.07.2021 21:42 # 0
Можешь написать какую-нибудь хуйню на сокетах и проверить.
bormand 30.07.2021 21:56 # 0
read() на UDP сокете тоже вернул 0 при получении пакета нулевой длины. Ну и собственно убрал его из буфера.
j123123 30.07.2021 22:19 # +1
Переделал https://www.geeksforgeeks.org/udp-server-client-implementation-c/
j123123 30.07.2021 22:26 # 0
bormand 30.07.2021 22:28 # 0
З.Ы. А где в мане написано что это отличие только для size == 0? Там вроде только о длине датаграммы говорят.
j123123 30.07.2021 22:50 # 0
Такую тонкую питушню надо не в манах, а в каких-то юникс-спецификациях читать. И вообще, лучше не выебываться со всякими read() на сокетах, и использовать специально предназначенные recv() и recvfrom()
https://pubs.opengroup.org/onlinepubs/9699919799/functions/read.html#tag_16_474
> How read() handles zero-byte STREAMS messages is determined by the current read mode setting. In byte-stream mode, read() shall accept data until it has read nbyte bytes, or until there is no more data to read, or until a zero-byte message block is encountered. The read() function shall then return the number of bytes read, and place the zero-byte message back on the STREAM to be retrieved by the next read(), getmsg(), or getpmsg(). In message-nondiscard mode or message-discard mode, a zero-byte message shall return 0 and the message shall be removed from the STREAM. When a zero-byte message is read as the first message on a STREAM, the message shall be removed from the STREAM and 0 shall be returned, regardless of the read mode.
> З.Ы. А где в мане написано что это отличие только для size == 0? Там вроде только о длине датаграммы говорят.
Ну хуй знает, вполне возможно, что в мане они написали какую-то хуйню.
j123123 30.07.2021 22:56 # 0
bormand 31.07.2021 00:21 # +1
Я вот сразу подумала, что pending -- это "пришла и лежит в буфере".
Скорее тупо скопипастили ман с другой оси/версии, где read такое не читал, да забыли поправить.
gologub 31.07.2021 02:43 # 0
не за это диды в протокольной войне ваивали!
j123123 31.07.2021 09:24 # 0
WSAGetLastError() какой-то блядь. Я как-то переписывал хуйню на винсоксах в обычные беркли сокеты
PolinaAksenova 31.07.2021 09:40 # +3
WindowsGovno 31.07.2021 10:34 # +2
PolinaAksenova 31.07.2021 10:39 # +3
Soul_re@ver 31.07.2021 11:01 # +1
WindowsGovno 31.07.2021 11:09 # 0
Soul_re@ver 31.07.2021 11:17 # +1
j123123 31.07.2021 11:43 # +1
Soul_re@ver 31.07.2021 12:05 # 0
gologub 31.07.2021 16:36 # 0
их в стаи сгоняет прошивка
https://www.youtube.com/watch?v=86iQiV3-3IA
gologub 31.07.2021 16:45 # 0
и вероятно дохуя, томущо A это асинхронные
j123123 31.07.2021 17:33 # 0
WSA это "Windows Sockets API", где там "асинхронные"?
guest6 24.01.2024 05:59 # 0
guest6 28.01.2024 21:41 # 0
Смотри: во времена Win16 многозадачность была кооперативной. Чтение из файла блочило весь мир, но файлы были близко.
Чтение из клавы не было по сути IO, потому что поступало как сообщение в event loop.
А как быть с сетью? Нельзя лочить же (сеть далеко) и потому сделали асинхронный API.
А вот потом уже на всю винду распостранили
guest6 28.01.2024 22:20 # 0
guest6 28.01.2024 22:26 # 0
Там еще была смешная API: пока WinSock ждёт -- он мог крутить события, и вызывать твою функциб для прогрес-бара
короче, асинхронное программирование это всегда шарик-лизун с налипшими на него волосами
Ей богу, корутины это relief
guest6 28.01.2024 22:35 # 0
guest6 28.01.2024 22:52 # 0
Пропоёт о том, что любовь прошла.
guest6 28.01.2024 23:51 # 0
j123123 31.07.2021 17:45 # 0
https://habr.com/ru/post/105918/
Ну и еще есть какая-то чисто виндоспецифичная говнина с overlapped I/O, но в том коде этой говнины не было.
j123123 29.07.2021 17:58 # 0
Я относительно давно с этими сокетами связывался, но там есть такая хуйня, что если UDP (SOCK_DGRAM) то ты прочитаешь один пакет. Т.е. если тебе прилетело два пакета по 10 байт, и они там где-то хранятся во внутреннем буфере ОС, то даже если ты дохуя хочешь прочесть, ты первым recv() прочитаешь 10 байт, вторым recv() прочитаешь еще 10 байт.
К тому же "MSG_WAITALL" тоже не гарантирует, что у тебя столько прочитается, сколько ты запросил. См https://pubs.opengroup.org/onlinepubs/9699919799/functions/recv.html
>MSG_WAITALL
> On SOCK_STREAM sockets this requests that the function block until the full amount of data can be returned. The function may return the smaller amount of data if the socket is a message-based socket, if a signal is caught, if the connection is terminated, if MSG_PEEK was specified, or if an error is pending for the socket.
j123123 29.07.2021 18:04 # 0
https://stackoverflow.com/a/2862176
What happens if recv gets a packet larger than the buffer?
SOCK_STREAM: The question doesn't really make sense as put, because stream sockets don't have a concept of packets - they're just a continuous stream of bytes. If there's more bytes available to read than your buffer has room for, then they'll be queued by the OS and available for your next call to recv.
SOCK_DGRAM: The excess bytes are discarded.
JloJle4Ka 04.07.2021 19:05 # 0
HEu3BECTHblu_nemyx 05.07.2021 16:06 # 0
JloJle4Ka 05.07.2021 16:07 # 0
HEu3BECTHblu_nemyx 05.07.2021 16:11 # 0
JloJle4Ka 05.07.2021 16:24 # +4
- Э-э, дружище Ватсон, могу с уверенностью сказать, что вон за тем углом вам ввалят хороших п%%дюлей.
Доходят до того угла и, дейтвительно Ватсону там хорошо достается от двух здоровых лбов.
- Как Вы узнали про это, Холмс?
- Элементарно, Ватсон, я здесь вчера в вашем пальто вы%%ывался...
Coq 05.07.2021 17:20 # 0
crastinus 05.07.2021 17:12 # +3
Coq 05.07.2021 17:18 # 0
guest6 29.07.2021 15:42 # +1
Недавно пересмотрел "черная роза -- эмблема печали", кстати. Какой всё таки охуенный фильм. Толик-с-прибором мой герой
guest6 29.01.2024 03:41 # 0
guest6 29.01.2024 05:51 # 0
https://www.youtube.com/watch?v=aqHxIuTyHt4
guest6 29.01.2024 00:29 # 0
guest6 29.01.2024 00:31 # 0
Понял только зонненблум.
guest6 29.01.2024 02:38 # 0
guest6 29.01.2024 03:24 # 0
guest6 29.01.2024 05:50 # 0
guest6 03.07.2024 23:11 # 0
?
guest6 04.07.2024 00:43 # 0
Например, Quick Basic (не урезанный 1.0, шедший с ДОСом и с NT 3.1-4.0, а полный, продававшийся отдельно) умел сохранять программы в текстовом формате и в «двоичном» (который потом не мог открыть 1.0).
Во многих реализациях знак вопроса был алиасом для PRINT, можно было для экономии написать:
Даже вроде пробел после ? можно было не ставить.
guest6 04.07.2024 03:11 # 0
видишь, тут ключевые слова на кнопках?
https://i.ebayimg.com/images/g/EccAAOSwE-Fmeyzq/s-l1600.webp
Просто так руками "print" никто не писал. Как думаешь, почему?
>?
в каком-то дебагере так было еще
guest6 04.07.2024 13:48 # 0
guest6 04.07.2024 13:51 # 0
«Коды 0xA5-0xFF соответствуют ключевым словам языка BASIC. »
guest6 04.07.2024 13:54 # 0
Ещё 19 кодпоинтов — user definable graphics, но это кот наплакал.
guest6 04.07.2024 13:59 # 0
Получился какой-то АПЛ с огромным набором символов.
guest6 04.07.2024 14:05 # 0
https://ru.m.wikipedia.org/wiki/Википедия:К_удалению/4_июня_2022#Набор_символов_ZX_Spectrum
«Аргументы ВП:ЭТОПОЛЕЗНО в Википедии невалидны. — Владлен Манилов [✎︎] / 17:19, 8 февраля 2024 (UTC)»
Т. е. любую полезную информацию можно просто так выставить на удаление, если википидоры посчитают, что у неё нет энциклопедической значимости.
guest6 04.07.2024 03:20 # 0
Придется делать blini
guest6 04.07.2024 22:21 # 0
guest6 04.07.2024 23:11 # 0
в ноябре 2023 года в интернете слишком завирусился один пост с призывами слать одеяла российским военным в госпиталь под бахмутом.
в итоге на имя одного лейтенанта пришло 180 тонн одеял.
guest6 04.07.2024 23:57 # +1
guest6 05.07.2024 00:03 # 0
В "Покровских Воротах" есть сцена, как Велюров шлёт пловчихе телеграму "СХОЖУ УМА" (Увлечение пожилого лысого Велюрова молодой плавчихой вылядит коммично, но вероятно после ВОВ (дело происходит в 50-е) молодых мужиков было не много)
Если экономили на предлогах, то почему не экономили на ЗПТ ТЧК?
guest6 05.07.2024 00:24 # +1
guest6 05.07.2024 00:26 # 0