Кресты на моей кукухе
Странный факт: в плюсах поля обычного базового класса в плюсах лежат перед полями наследника, но поля виртуального базового класса (struct Derived : virtual Base) лежат правее полей наследника Только что открыл это для себя, попал в ступор Upd. дальнейшие…
Всё-таки всё просто
Порядок расположения в памяти такой: нормальные родители (в порядке дфс-а), ребёнок, виртуальные родители
Если у класса или родителя есть виртуальные функции, перед ним будет
Занятно, что указатель кладётся не на сам
https://godbolt.org/z/ze36GqhT7
Порядок расположения в памяти такой: нормальные родители (в порядке дфс-а), ребёнок, виртуальные родители
Если у класса или родителя есть виртуальные функции, перед ним будет
vtbl
Занятно, что указатель кладётся не на сам
vtbl
, а куда-то правее. При этом то, что левее записанного указателя, тоже может читаться (в примере там, видимо, лежит смещение влево относительно виртуальной базы)https://godbolt.org/z/ze36GqhT7
godbolt.org
Compiler Explorer - C++ (x86-64 clang (trunk))
struct Base {
long x = 1;
};
struct D1 : virtual Base {
int kek() {
return x;
}
long d1 = 2;
};
struct D2 : virtual Base {
int lol() {
return x;
}
long d2 = 3;
};
struct DA : D1, D2 {
int lmao() {
…
long x = 1;
};
struct D1 : virtual Base {
int kek() {
return x;
}
long d1 = 2;
};
struct D2 : virtual Base {
int lol() {
return x;
}
long d2 = 3;
};
struct DA : D1, D2 {
int lmao() {
…
Кресты на моей кукухе
Photo
Вы думаете, я шутил?
https://github.com/ydb-platform/ydb/pull/4071/files#diff-cb03abe8e6942443dbdf398736c58902557f1367133f3991bdb99b98faa7f041R217
https://github.com/ydb-platform/ydb/pull/4071/files#diff-cb03abe8e6942443dbdf398736c58902557f1367133f3991bdb99b98faa7f041R217
GitHub
YQ-2824: implement basis for type inference for CSV and TSV by EgorkaZ · Pull Request #4071 · ydb-platform/ydb
Changelog entry
...
Changelog category
Not for changelog (changelog entry is not required)
Additional information
...
...
Changelog category
Not for changelog (changelog entry is not required)
Additional information
...
⚡1👍1
Кресты на моей кукухе
70к рублей (учитывая накопленные яндекс бонусы, 60к) и можно иметь нума тачку на 72 потока дома... Как долго я смогу сопротивляться соблазну.... Upd. О, нет, надо бы ещё и корпус какой-никакой
Обидно
Доставка процов отменилась, заказал другие, в итоге +2к к стоимости и -8 потоков
Хотя за счёт более высокой базовой частоты на бенчах будто бы чуть-чуть лучше себя показывает
Доставка процов отменилась, заказал другие, в итоге +2к к стоимости и -8 потоков
Хотя за счёт более высокой базовой частоты на бенчах будто бы чуть-чуть лучше себя показывает
Хорошая новость: оно запускается и бутается (а это мой первый собранный с нуля комп, так что собой доволен)
Плохая новость: я не думал про дырки в материнке, на которые она крепится, думал, это счастье стандартизировано и однозначно соотносится с форматом платы. Получается, лох: у e-atx бывает, по крайней мере, два расположения, одно из них как у atx, а второе — как у меня)0) Хоть корпус и утверждает, что поддерживает e-atx, плату в него не вкрутишь. Чё с ним делать — хз
Upd. вообще, он прикольный, пожалуй, основной комп в него пересажу. Так ещё и окажусь на шаг ближе к тому, чтоб он стал кораблём Тесея
Плохая новость: я не думал про дырки в материнке, на которые она крепится, думал, это счастье стандартизировано и однозначно соотносится с форматом платы. Получается, лох: у e-atx бывает, по крайней мере, два расположения, одно из них как у atx, а второе — как у меня)0) Хоть корпус и утверждает, что поддерживает e-atx, плату в него не вкрутишь. Чё с ним делать — хз
Upd. вообще, он прикольный, пожалуй, основной комп в него пересажу. Так ещё и окажусь на шаг ближе к тому, чтоб он стал кораблём Тесея
🤯4🔥2💘1
This media is not supported in your browser
VIEW IN TELEGRAM
Пересадил комп в весёлый корпус
Собрал сервак, развлекаюсь настройкой сервисов. Пока дошёл до того, что парррочке из них нужна настройка проксей, плюс ещё кой-чего с сетями поколдовать хочется
До бенчей тоже скоро дойду
А там и скомпилировать весь опыт в стройный текстик можно
Вообще, оч прикольное себе придумал развлечение, дико доволен
Собрал сервак, развлекаюсь настройкой сервисов. Пока дошёл до того, что парррочке из них нужна настройка проксей, плюс ещё кой-чего с сетями поколдовать хочется
До бенчей тоже скоро дойду
А там и скомпилировать весь опыт в стройный текстик можно
Вообще, оч прикольное себе придумал развлечение, дико доволен
❤9🔥1
Ъуъ
Накатил openwrt на роутер
В процессе настройки пару раз успел подумать, что превратил роутер в кирпич. Затем долго и мучительно стучался в интернет. Потом пытался убедить один из портов заработать. Подебил
Теперь можно будет поднять xray проксю прям на роутере, получить бонусом рабочие апдейты на quest2 и ютуб на телевизоре
Лучше бы спать вовремя ложился
Накатил openwrt на роутер
В процессе настройки пару раз успел подумать, что превратил роутер в кирпич. Затем долго и мучительно стучался в интернет. Потом пытался убедить один из портов заработать. Подебил
Теперь можно будет поднять xray проксю прям на роутере, получить бонусом рабочие апдейты на quest2 и ютуб на телевизоре
Лучше бы спать вовремя ложился
🔥5👍3
Всего 2 вечера, и OpenWRT поддался сборке
Фан факт, который я выяснил в процессе сборки: чтобы собрать golang версии 1.22, вам нужен golang версии 1.20. Чтобы собрать golang версии 1.20, вам нужен golang версии 1.17. Как собирается golang версии 1.17, ведомо Господу единому
Фан факт, который я выяснил в процессе сборки: чтобы собрать golang версии 1.22, вам нужен golang версии 1.20. Чтобы собрать golang версии 1.20, вам нужен golang версии 1.17. Как собирается golang версии 1.17, ведомо Господу единому
🕊2🍌1
Кресты на моей кукухе
Всего 2 вечера, и OpenWRT поддался сборке Фан факт, который я выяснил в процессе сборки: чтобы собрать golang версии 1.22, вам нужен golang версии 1.20. Чтобы собрать golang версии 1.20, вам нужен golang версии 1.17. Как собирается golang версии 1.17, ведомо…
Ещё 2 вечера, чтобы выяснить, что объясняться надо не только с роутингом, но и с фаерволом
"Да, сюда мы тоже этот баг занесли. И когда я говорю «мы», я имею в виду «я»"
❤7😁4
Впервые в жизни сбацал сайт: https://onemillioncheckboxes.eezo.top/. Клацнутные вами чекбоксы будут видны другим зашедшим
Идея стырена у https://onemillioncheckboxes.com/. Вдохновился прикольной статьёй его автора про то, как пришлось бороться с собственной популярностью — подумал, что это неплохой вариант простенького проекта, который интересно сбацать для развлечения
Развлекать себя решил очередным соприкосновением с растом, а ещё, впервые, — с фронтендом. Браузер без энтузиазма воспринял мою попытку вгрузить в него миллион чекбоксов одной html-страничкой (в 100 метров текста), так что надо было сОфТвАрЕ эНжИнИрИтЬ. В качестве фреймворка взял довольно хайповый vanilla js. Продираясь наощупь, наполовину не вдупляя происходящее, заставил-таки браузер рисовать только нужные чекбоксы, а ненужные не рисовать. Почувствовал себя настоящим фронтендером. Доволен
Потом ещё, чтобы интегрировать в свою держалку сервисов, пришлось освоить азы сборки докер образов и docker-compose файликов
Со стороны бекенда ничего особо интересного: перекидываюсь жсонами по вебсокету, апдейты от одного пользователя рассылаю всем. Интересно понагружать, посмотреть, где будет ломаться. Моя ставка — жсоны. Вероятно, можно будет чё-нить выиграть, если паковать данные в формат поменьше, возможно, предподготавливать сообщения, какими-нибудь такими вещами нехорошими заниматься. Плюс все апдейты синхронизируются на одном потоке — теоретически, в это можем упереться. Скорее всего, побить рейндж на части, но как из этих частей собирать снапшот — неясно. Возможно, и не надо общий снапшот: научить клиента хендлить распиленное состояние
Но это уже когда-нибудь потом. Пока у меня руки чешутся написать другое
Идея стырена у https://onemillioncheckboxes.com/. Вдохновился прикольной статьёй его автора про то, как пришлось бороться с собственной популярностью — подумал, что это неплохой вариант простенького проекта, который интересно сбацать для развлечения
Развлекать себя решил очередным соприкосновением с растом, а ещё, впервые, — с фронтендом. Браузер без энтузиазма воспринял мою попытку вгрузить в него миллион чекбоксов одной html-страничкой (в 100 метров текста), так что надо было сОфТвАрЕ эНжИнИрИтЬ. В качестве фреймворка взял довольно хайповый vanilla js. Продираясь наощупь, наполовину не вдупляя происходящее, заставил-таки браузер рисовать только нужные чекбоксы, а ненужные не рисовать. Почувствовал себя настоящим фронтендером. Доволен
Потом ещё, чтобы интегрировать в свою держалку сервисов, пришлось освоить азы сборки докер образов и docker-compose файликов
Со стороны бекенда ничего особо интересного: перекидываюсь жсонами по вебсокету, апдейты от одного пользователя рассылаю всем. Интересно понагружать, посмотреть, где будет ломаться. Моя ставка — жсоны. Вероятно, можно будет чё-нить выиграть, если паковать данные в формат поменьше, возможно, предподготавливать сообщения, какими-нибудь такими вещами нехорошими заниматься. Плюс все апдейты синхронизируются на одном потоке — теоретически, в это можем упереться. Скорее всего, побить рейндж на части, но как из этих частей собирать снапшот — неясно. Возможно, и не надо общий снапшот: научить клиента хендлить распиленное состояние
Но это уже когда-нибудь потом. Пока у меня руки чешутся написать другое
🔥4