Ну конечно же только при логине, один раз. Я и не говорил что в каждом сообщении. Как версия клиента может поменяться не разрывая TCP соединение? Никак.
> Поскольку MKV на Eee Pad не лицензирован
Welcome to the Home of Matroska the extensible, open source, open standard Multimedia container. (matroska.org, emphasis mine)
Я где-то говорил что вы плохо пишете? Я сказал, что у вас есть типичная ошибка, которую делают при проектировании протоколов, форматов файлов и прочих форматов кодирования информации: отсутствие поля с версией протокола. Даже если нет поддержки нескольких версий одновременно, это поле всё равно нужно, чтобы старый клиент (например, из кеша, если говорить про веб) не парсил новый протокол, а прямо сказал пользователю «нажми F5» (или дёрнул JS). Или если при деплое вы задеплоите старый сервер и у клиентов начнутся непонятные ошибки (а если протокол поменялся чуть-чуть, они будут только «если пойти туда, иметь при себе то-то и сделать то»). Или если при отладке запустить неподходящую комбинацию. Вариантов того, как могут встретиться неподходящий клиент и сервер — море, а всего одна проверка избавит вас от необходимости совершенно ненужной отладки.
А когда вы научитесь писать? Если статья для профи, которые и так знают как разрабатывать протоколы — то ваша статья им не нужна. Если статья для новичков — то лучше вообще не писать, чем недоговаривать.
Проблемы:
* когда перешли от гистограмм к графику, появилась возможность неправильной интерпретации. Измерения являются ежемесячными, а кривая графика непрерывна. Если бы мы измеряли температуру и сделали бы такую линейную интерполяцию, было бы допустимо, потому что температуру имеет смысл измерять в точках между теми, когда мы действительно измеряли. А что значит точка между августом и сентябрём на вашем графике? Чтобы было понятно, я обычно ставлю маркеры в настоящих точках данных.
* на последнем графике не понятно что хорошо, плюс или минус.
ОС, в том числе и *nix, безусловно, контролирует ресурсы. Но есть такая вещь как модель поведения. Так вот, в Windows и *nix модель поведения в ситуации «удалить открытый файл» отличается. Корнями всё уходит в устройство файловой системы: в Windows изначально поддерживалась только FAT, а там у каждый файл мог «находиться» только в одном каталоге. В этом случае системный вызов удаления файла мог означать только одно — удалить данные насовсем. Поэтому Windows запрещает удалять открытые файлы. В *nix изначально поддерживались множественные ссылки на файл из разных каталогов и поэтому системного вызова «удалить файл» как такового нет, есть «удалить ссылку на файл», а данные удаляются после удаления последней ссылки и закрытия файла. Поэтому удавление открытого файла разрешено: ссылка на файл будет удалена из каталога, но программа, владеющая дескриптором, может продолжать с ним работать.
Процесс может удалить связь файла в то время, как другому процессу нужно, чтобы файл оставался открытым. (Даже процесс, удаляющий связь, может быть процессом, выполнившим это открытие).
— Морис Дж. Бах. Архитектура операционной системы Unix, 1986
Если у вас есть 32-разрядная машина с современным gcc, я бы хотел вас попросить провести тесты. Чуть выше я проводил тест на x86-64 и после приведения кода в точное соответствие друг другу получил разницу меньше 1%.
1) Использовать плоский массив (для вектора тоже применимо): arr = new int[n*m]; use(a[i + j * n]); Преимущество: меньше нагрузка на аллокатор. Для больших размерностей аллокатор с большей вероятностью посчитает такой массив как large object и не будет его выделять из своих пулов, а сразу вызовет mmap(). (В то время как одна отдельная строка может и не считаться large object)
Welcome to the Home of Matroska the extensible, open source, open standard Multimedia container. (matroska.org, emphasis mine)
Значит, вы считаете, что на хабр стоит выкладывать только малоинформативные статьи про то, как сделать полурабочее нечто?
> Можете написать лучше меня? Возьмите и напишите.
«Не нужно быть поваром, чтобы сказать, что суп пересолен.» И откуда вы знаете, что я не пишу?
В простейшем случае — да. Где это в статье?
ASN.1 DER
* когда перешли от гистограмм к графику, появилась возможность неправильной интерпретации. Измерения являются ежемесячными, а кривая графика непрерывна. Если бы мы измеряли температуру и сделали бы такую линейную интерполяцию, было бы допустимо, потому что температуру имеет смысл измерять в точках между теми, когда мы действительно измеряли. А что значит точка между августом и сентябрём на вашем графике? Чтобы было понятно, я обычно ставлю маркеры в настоящих точках данных.
* на последнем графике не понятно что хорошо, плюс или минус.
— Морис Дж. Бах. Архитектура операционной системы Unix, 1986
cd arrays_vs_containers && qmake && make
Сразу видно, что вы никогда не работали на *nix. Сначала изучите ОС, а потом пишите такие комментарии.