« first day (375 days earlier)      last day (2950 days later) » 

10:33 AM
Коллеги, вопрос по C/C++ с оттенком language lawyer-ства.
Смотрите. Пусть к нам приходят бинарные данные в бинарном формате. Там наподобие 5 битов код операции, 19 битов операнд, 8 битов выравнивание. Чтобы по-человечески работать с этим, определяется битовое поле: struct whatever { unsigned opcode: 5, unsigned arg: 19, insigned padding: 8 };.
Окей. Теперь, чтобы работать с этим, надо туда эти данные положить. Вопрос в том, как правильно с точки зрения стандарта? (И хотелось бы избежать копирования, разумеется.)
Вариант (whatever*)(&data)->opcode нарушает strict aliasing.
Вариант union { whatever w; int32_t v; }; v = data; w.opcode так же UB, т. к. вы читаем из union не то, что положили (плюс снова копирование данных).
Так как же правильно? memcpy? А если без копирования?
 
 
1 hour later…
avp
11:38 AM
@VladD, Эта проблема strict-aliasing и ее ноги растут из оптимизации. Реально, не столь страшен черт, как его малюют.

Лучше всего внимательно прочесть в https://gcc.gnu.org/onlinedocs/gcc-5.3.0/gcc/Optimize-Options.html#Optimize-Options , перейдя к строкам после -fstrict-aliasing. Далее перейти к https://gcc.gnu.org/onlinedocs/gcc-5.3.0/gcc/Structures-unions-enumerations-and-bit-fields-implementation.html#Structures-unions-enumerations-and-bit-fields-implementation

Основное там: integer types, such as long int, and enumerated types are permitted even in strictly conforming mode.
А насчет стандарта, мне кажется, что экстремистский подход всеобщего его игнорирования быстро приведет к его вменяемому исправлению.
 
12:06 PM
@avp Да, я знаю, что gcc ведёт себя намного предсказуемее, чем другие компиляторы. Но пока стандарт не поменяется, какой-нибудь clang или icc вполне будет иметь право применить оптимизацию по UB. Корень проблемы и правда в стандарте, т. к. он разрешает реальному коду иметь семантику, отличающуюся от написанного кода. Нужно или делать то, что написано, или запрещать писать такое вообще.
Например, если применение union'ов означает упущенную мегахитрую оптимизацию, то так тому и быть. Опишите проблему и предоставьте параллельно другое, более оптимальное языковое решение. Чтобы с union работало правильно в любом случае, а для экстремальных оптимизаций нужна была особая техника.
 
avp
12:56 PM
@VladD imho очевидно, pragma, которая явно включает подобные оптимизации
 
1:09 PM
@avp Угу, вполне.
Но тогда неплохо бы некоторые #pragma-указания стандартизировать
(Впрочем, опять упираемся в неповоротливый стандарт.)
 
0
Q: Дочерний объект опускает родителя! Как так?

I_CaRЕсть код: <body bgcolor="#ffffff" text="#2275c2" link="#2275c2" vlink="#bf5a5a" style="margin:0px;"> <div style="background-color:#e5f3ff; height:100%; width:100%; box-shadow: inset 0px 0px 20px 0px #5cb1ff; position:relative;"> <center> <span style="font: bold 32px 'Trebuchet...

> *тут результат работы кода выглядит совсем не так, как его обрабатывает нормальный браузер. Лучше смотреть в это хэтэмээльке
 
1:35 PM
дело в том что я задал этот вопрос не потому что не умею читать, а потому что в реальности это не так. то есть я надеялся получить ответ от очень опытного человека который помешан на архитектуре (то есть является java программистом) и работает с реактом. А Вы скопировали текст, который даже не отвечает на вопрос - что такое реакт компонент и уж тем более не отвечает на вопрос - что такое компонент в контексте архитектуры. — vas 57 secs ago
> человека который помешан на архитектуре (то есть является java программистом)
3
10/10
 
Я голосую за закрытие этого вопроса как не соответствующего теме, потому что отвечающий контингент не способен в полной мере ответить по данной технологии, так как в текущем сегменте она ещё не набрала популярности. — vas 23 secs ago
 
Только хотел запостить :D
 
@АлексейШиманский это шедевр
 
При этом галку поставил на ответ
 
А, ок, я всё не мог придумать формулировку для тревоги, но чатик успешно справился :)
WAAAAAAAAT
 
1:47 PM
@NicolasChabanovsky посдкажите, пожалуйста. За метку регулярки у меня должен быть серебрянный знак ru.stackoverflow.com/… но его нет, ответов 111, и с первой страницы уже набегает 400 кармы
 
@D-side особенно в контексте js
@D-side это вы про что? )
...так, что-то я не вполне понял, что это сейчас произошло за внезапное изменение точки зрения. — D-side 2 mins ago
 
@Nofate ну, сочетание такого комментария, а потом внезапного его исчезновения и возникновения галочки...
 
@D-side весна...
 
@ReinRaus по регуляркам я вижу 223 рейтинга
 
2:02 PM
@Grundy а как он считается ? Один голос + 5 баллов или ка?
 
@ReinRaus не, это просто один голос
 
@ReinRaus рейтинг измеряется в голосах, насколько я понимаю.
 
@ReinRaus число рядом с ответом - показывает его рейтинг
 
Вон оно как...
 
 
1 hour later…
3:23 PM
> но далеко не на каждом хостинге есть Node.js.Тем более в основном все хостинги на линуксе.
А что node.js не для линухи? или я чего-то не знаю?
 
3:43 PM
@АлексейШиманский а это откуда?:)
 
@Grundy новый комик на ruSO. Думаю его уже некоторые приметили
1
Q: Какие есть альтернативы Socket.IO?

gilo1212Какие есть альтернативы Socket.IO? Я обратил внимание на блиотеку Socket.IO, но далеко не на каждом хостинге есть Node.js.Тем более в основном все хостинги на линуксе. Какие есть альтернативы этой библиотеки Socket.IO или этой технологии, в этом случае?

 
4:16 PM
@Grundy точка точка тире тир тете точка три тире точка — gilo1212 12 mins ago
 
5:06 PM
@Grundy это уже не первый раз.....клинит наверное
 
@АлексейШиманский может быть он хочет что-то сказать?:):):)
 
@Grundy или просто короткое замыкание
 
@АлексейШиманский да не :-)
 
5:47 PM
@Grundy в последнем, что он так зашифровал, было LOL.
 
@D-side а щас чо говорит?)
 
@АлексейШиманский ParseError :P
 
@D-side если разбирать так: точка точка тире, три тире точка (тире тире, тире точка), три тире, точка - то получается - UMNOE X-)
 
 
1 hour later…
7:34 PM
@DmitriySimushev, наткнулся тут на ваш коммент:
React.js тут не причем. Вопрос исключительно по ES2015 — Dmitriy Simushev Feb 23 at 18:54
имею не согласиться
для обычных методов (третий вариант) и для arrow-функции (второй вариант) по-разному работает this. поэтому при обращении к обычным методам из jsx требуется дополнительный binding в конструкторе для this
 
@Nofate так это вроде как раз к ес2015 и относится
при чем тут реакт?
 
@Grundy относится к ес2015, да. но вопрос то был: в чем разница применительно к реакту
ну типа, если я в реакте переезжаю на классы, что мне надо знать.
 
@Nofate ну это же относится больше к если я переезжаю на классы
то есть поведение классов-то одинаковое
 
просто для старого доброго варианта без классов реакт сам эту "магию" с байндингом делает. а при использовании классов - магии нет. и есть две опции, одна из которых заставляет делать магию самостоятельно )
в общем, мне как нубу в реакте было бы полезно услышать такой ответ, как мне кажется
 
0
Q: "Найди решение", но "Задайте вопрос" в баннере

insolorПопался на глаза такой баннер ru.SO: Проблема в том, что в первой строке обращение на "ты", а во второй - на "вы". Думаю, нужно привести к одному виду - либо "Найдите" и "Задайте", либо "Найди" и "Задай". Второй вариант субъективно кажется более побуждающим.

 
7:50 PM
но я js-noob и могу быть не прав )
 
8:33 PM
@Nofate :-D вот был бы у нас золотой js он бы разъяснил :):):)
 
@Grundy золотой значок на сайте - еще не значит, что проф в этой области
 
@АлексейШиманский может быть :) но это золотой значок:):):)
 
@Grundy да хоть адамантиновый
 
@АлексейШиманский эээх... нет адамантиновых
@NicolasChabanovsky, может стоит добавить адамантиновые значки?:) или бриллиантовые? или алмазные?:)
 
@Grundy слышал где-то в кругах корпоративных CTO раздают звание "Бриллиантовых IT менеджеров"
 
@Nofate можно создать свою фирму и придумать свою систему классификации званий для работников
 
@edem не-не. это что-то... междуорганизационное
хотя есть некий налет MLM-щины в этом звании
 
Новый вид извращения уже тут
0
Q: update в select запросе

Ahmed228Есть одно задание. Имеем такой запрос: SELECT id, name, age FROM person WHERE id = [мой код тут] Я могу дописать любой код с позиции [мой код], при этом сам SELECT должен успешно выполниться. То есть он должен вернуть одну или более одной строк из таблицы person, при этом столбцы так же сох...

 
 
1 hour later…
10:23 PM
Ох. У кого-то пятую точку разрывает и минусует, что массивы не через array() пишу, а через [] ... Не знал, что у кого-то из-за такого даже бомбит :D
 
 
2 hours later…
11:59 PM
@АлексейШиманский меня тоже сегодня несправедливо заминусовали( Думаю, у кого-то из нас (из всех юзеров, в смысле) просто выходные не задались вот и отрываются)
 

« first day (375 days earlier)      last day (2950 days later) »