Кстати о стене. Я тут экспериментирую с VK API, и наткнулся на очевидную кривизну реализации этих самых стен. Там есть понятие "пост" и "комментарий". И оказалось, что "комментарии" запрашиваются отдельными функциями, вообще не являются постами и скорее всего даже хранятся в отдельной таблице. Возможно, это артефакт того самого знаменитого изменения "стены".
Для юзера и группы есть функция "получить посты", которая возвращает JSON постов упорядоченный по дате. Если мы хотим получить локальную копию стены, то логично делать так: сначала скачать посты группы, а затем просто докачивать новые: как только пришел пост с датой, которая уже скачана, прекращать скачивание. Получается вполне нормальная синхронизация.
А вот с комментариями так не получится. Есть аналогичная функция "получить комментарии", но она требует id конкретного поста. То есть, чтобы получить обновления комментариев стены, нужно проверять КАЖДЫЙ пост на стене.
Как было бы правильно: посты и комментарии хранить в единой таблице, упорядоченной по дате добавления. Каждая запись имеет дополнительное поле parent_id, содержащий 0 для поста и id поста для комментария. Соответственно, функция VK API тоже одна. Однако, чтобы это сделать надо перелопатить всю архитектуру VK и поменять всю базу, так что вряд ли кто на это пойдет)))
В языке много интересного и полезного, но есть и странное: return из лямбды по умолчанию возвращает управление из объемлющей функции! Я вот реально удивился такому. Естественно, такую лямбду нельзя возвратить, она оказывается как-бы гвоздями прибита к объемлющей функции.
Заголовки окон, панель задач, меню Пуск, стандартные диалоги, диалоговые элементы, всевозможные системные настройки и прочее. Это части ОС, и они неизбежно пролезают. И выглядят они не так как хочется. Ну и все эти знаменитые обновления, которые происходят сами по себе и нередко ломают систему.
Я как разработчик запускаю на компе много чего. Например свои собственные только что скомпилированные программы. Так что запустить смогу (разве что без прав локального администратора).
Из недавнего - обнаружил что qBitTorrent теперь только под десятку. Конечно семерочные версии прекрасно работают, но обидно. Объяснили тем, что Qt6 и Boost теперь только под десятку. С этих вообще удивляюсь - если это универсальные кроссплформенные библиотеки, которые должны собираться в том числе под всякую редкую экзотику, то зачем убирать проверенную и вполне еще распространенную систему? Что там за Winapi функции такие появились в десятке, без которых вдруг стало никак не прожить?
Хотя-бы просто отделили бы интерфейс от ядра, чтобы можно было выбирать Desktop Environment как в Linux. У меня и Win7 настроена в строгом классическом стиле, похожем на еще более ранние версии - Win98 и 2000. И на работе до недавнего времени стояла семерка в таком же стиле. Как-то раз зашел один начальник из соседнего отдела, увидел такое и аж испугался: "ЧТО ЭТО У ВАС???" :))
Интересно, а есть какие-то поддерживаемые Сообществом открытые и свободные "аналоги антивирусов", позволяющие выявлять подобный софт на рабочем компе? (да, я знаю что по идее работодатель обязан уведомить о таком софте работника, но далеко не факт что это везде так)
Запрет не в C++, а в более новых языках (в частности я столкнулся с этим в Go - пришлось писать банальную функцию конвертирования bool в int... из той же серии что и предложенный вами оператор, который по сути ничего не делает, но нужен для того чтобы код компилировался). В плюсах, когда вводили bool, это еще никому в голову не пришло:)
А чтобы не заOR'ите яблоки с апельсинами, можно запретить операции между разными enum'ами, но разрешить в некоторых случаях между enum и int.
scoped перечисления это хорошо и удобно, а вот ограничения на неявное приведение типов от enum к int никогда не понимал (от int к enum действительно должно быть только явное). В частности, это делает невозможным использование элементов перечисления как битовых масок
enum class T {
T1 = 0x1,
T2 = 0x2
};
int main()
{
T i = T::T1; // OK
int j = T::T2; // ERROR
int k = T::T1 | T::T2; // ERROR
return 0;
}
Также не понимаю запрет неявного преобразования между int и bool (сейчас во всех современных языках это ввели). С ошибками из-за таких преобразований вообще ни разу не сталкивался.
Вот и мы думаем, что мы люди, цивилизация живущая на планете Земля, а на самом деле мы такие же органоиды на каком нибудь чипе и вся наша деятельность на самом деле - решение каких-то неведомых задач для какой-то другой цивилизации... et sic in infinitum :)
Я пробовал, мне не понравилось. Во-первых, множество каких-то совершенно неинтуитивных функций. Во-вторых, как оказалось, gorm в некоторых случаях работает в 10 раз медленнее чем прямые sql запросы. И конструировать сложные запросы (к примеру содержащие пагинацию, фильтрацию по нескольким критириям и сортировку, причем всё опционально) куда проще с помощью обычной строки с sql кодом.
И сам gorm мне был нужен только ради автомиграции, но оказалось что и она там слишком примитивная, умеет только новые столбцы добавлять.
Нашел такую штуку как sqlx - легкая обертка над стандартным пакетом sql, умеющая связывать результаты запросов со структурами.
Когда-то давно я выбирал между pdf-ридерами (включая acrobat, foxit, stdu, sumatra), было всего 3 критерия: возможность непрерывного (а не постраничного) скроллинга и возможность замены цвета фона (ярко белый по умолчанию неприятен для глаз). Ну и мультиформатность. На тот момент эти требования выполняла Sumatra, с тех пор ей и стал пользоваться.
ИИ будет подстраиваться под ту культуру, которая его создаст, как под наиболее прогрессивную (что в том числе доказывается способностью этой культуры создать ИИ). На данный момент это культура айти-сообщества Кремниевой Долины, и я надеюсь что этот статус-кво сохранится и в дальнейшем, а остальные культуры (которые с точки зрения резидентов Кремниевой долины кажутся дикими) пойдут лесом. Это конечно мое личное пожелание (и разумеется оно приведет к минусам от части читателей Хабра, но что поделаешь - такова жизнь). Уж не знаю сбудется ли оно, но пока вроде шансы есть.
У первого странное решение - все порты выведены на передний край. Предполагаю что это неудобно, особенно если Ethernet кабели будут под руками. Почему не сбоку?
Второй - не знаю как он в деле, но выглядит изумительно, обожаю такие маленькие штучки:)
Третий - подозреваю что 7 экранов это все-же перебор. А вот варианты с 2 или 3 экранами (соответственно раскрывающимся вверх или как створки окна в стороны) были бы интересны.
Там предлагается выбирать шрифты, и для каждого шрифта выводится таблица доступных символов. А мне интересно так: слева - список/дерево категорий, справа - таблица символов в этой категории, безотносительно шрифта. Ну и естественно в виндовой таблице нет эмодзи, нет множества unicode символов, нет имен и кодов этих символов, поиска по имени и похожих, и вообще много чего нет. На https://symbl.cc/en/unicode/table/ символов явно больше. А с другой стороны, есть подозрение, что виндовские wingdigns далеко не все представлены в Unicode (хотя я конечно досконально не проверял).
Я про Usenet только слышал краем уха, ни разу не пользовался. А наверное зря, возможно там есть что-то интересное. Возможно есть какой-то специальный софт, который позволяет работать с этой сетью?
А что касается гугл групп, то меня однажды заинтересовала возможность скачивать эти группы себе на компьютер и просматривать полученную базу в оффлайне, но так ничего и не нашел для этой цели. Там была группа в которой предлагали идеи для новых версий языка С++, порой весьма интересно было почитать. Значит, она и в usenet каким-то образом доступна?
Кстати о стене. Я тут экспериментирую с VK API, и наткнулся на очевидную кривизну реализации этих самых стен. Там есть понятие "пост" и "комментарий". И оказалось, что "комментарии" запрашиваются отдельными функциями, вообще не являются постами и скорее всего даже хранятся в отдельной таблице. Возможно, это артефакт того самого знаменитого изменения "стены".
Для юзера и группы есть функция "получить посты", которая возвращает JSON постов упорядоченный по дате. Если мы хотим получить локальную копию стены, то логично делать так: сначала скачать посты группы, а затем просто докачивать новые: как только пришел пост с датой, которая уже скачана, прекращать скачивание. Получается вполне нормальная синхронизация.
А вот с комментариями так не получится. Есть аналогичная функция "получить комментарии", но она требует id конкретного поста. То есть, чтобы получить обновления комментариев стены, нужно проверять КАЖДЫЙ пост на стене.
Как было бы правильно: посты и комментарии хранить в единой таблице, упорядоченной по дате добавления. Каждая запись имеет дополнительное поле parent_id, содержащий 0 для поста и id поста для комментария. Соответственно, функция VK API тоже одна. Однако, чтобы это сделать надо перелопатить всю архитектуру VK и поменять всю базу, так что вряд ли кто на это пойдет)))
Интересно, а как обстоят дела с созданием живых организмов,
в основе ДНК которых лежат на аденин/гуанин/тимин/цитозин, а что-то еще
в основне которых лежит не ДНК или РНК а что-то еще
в основе которых лежит не углерод, а скажем кремний
Такое вообще возможно?
В языке много интересного и полезного, но есть и странное: return из лямбды по умолчанию возвращает управление из объемлющей функции! Я вот реально удивился такому. Естественно, такую лямбду нельзя возвратить, она оказывается как-бы гвоздями прибита к объемлющей функции.
ОК, еще могу с флэшки загрузиться:)
Заголовки окон, панель задач, меню Пуск, стандартные диалоги, диалоговые элементы, всевозможные системные настройки и прочее. Это части ОС, и они неизбежно пролезают. И выглядят они не так как хочется. Ну и все эти знаменитые обновления, которые происходят сами по себе и нередко ломают систему.
Я как разработчик запускаю на компе много чего. Например свои собственные только что скомпилированные программы. Так что запустить смогу (разве что без прав локального администратора).
Из недавнего - обнаружил что qBitTorrent теперь только под десятку. Конечно семерочные версии прекрасно работают, но обидно. Объяснили тем, что Qt6 и Boost теперь только под десятку. С этих вообще удивляюсь - если это универсальные кроссплформенные библиотеки, которые должны собираться в том числе под всякую редкую экзотику, то зачем убирать проверенную и вполне еще распространенную систему? Что там за Winapi функции такие появились в десятке, без которых вдруг стало никак не прожить?
Хотя-бы просто отделили бы интерфейс от ядра, чтобы можно было выбирать Desktop Environment как в Linux. У меня и Win7 настроена в строгом классическом стиле, похожем на еще более ранние версии - Win98 и 2000. И на работе до недавнего времени стояла семерка в таком же стиле. Как-то раз зашел один начальник из соседнего отдела, увидел такое и аж испугался: "ЧТО ЭТО У ВАС???" :))
Я последние несколько лет не наблюдаю чтобы их было полно. Хотя может не там смотрю:)
Интересно, а есть какие-то поддерживаемые Сообществом открытые и свободные "аналоги антивирусов", позволяющие выявлять подобный софт на рабочем компе? (да, я знаю что по идее работодатель обязан уведомить о таком софте работника, но далеко не факт что это везде так)
Если там обязательно требуется телефон для регистрации - то можно ли вообще говорить об анонимности?
Запрет не в C++, а в более новых языках (в частности я столкнулся с этим в Go - пришлось писать банальную функцию конвертирования bool в int... из той же серии что и предложенный вами оператор, который по сути ничего не делает, но нужен для того чтобы код компилировался). В плюсах, когда вводили bool, это еще никому в голову не пришло:)
А чтобы не заOR'ите яблоки с апельсинами, можно запретить операции между разными enum'ами, но разрешить в некоторых случаях между enum и int.
scoped перечисления это хорошо и удобно, а вот ограничения на неявное приведение типов от enum к int никогда не понимал (от int к enum действительно должно быть только явное). В частности, это делает невозможным использование элементов перечисления как битовых масок
Также не понимаю запрет неявного преобразования между int и bool (сейчас во всех современных языках это ввели). С ошибками из-за таких преобразований вообще ни разу не сталкивался.
Вот и мы думаем, что мы люди, цивилизация живущая на планете Земля, а на самом деле мы такие же органоиды на каком нибудь чипе и вся наша деятельность на самом деле - решение каких-то неведомых задач для какой-то другой цивилизации... et sic in infinitum :)
Я пробовал, мне не понравилось. Во-первых, множество каких-то совершенно неинтуитивных функций. Во-вторых, как оказалось, gorm в некоторых случаях работает в 10 раз медленнее чем прямые sql запросы. И конструировать сложные запросы (к примеру содержащие пагинацию, фильтрацию по нескольким критириям и сортировку, причем всё опционально) куда проще с помощью обычной строки с sql кодом.
И сам gorm мне был нужен только ради автомиграции, но оказалось что и она там слишком примитивная, умеет только новые столбцы добавлять.
Нашел такую штуку как sqlx - легкая обертка над стандартным пакетом sql, умеющая связывать результаты запросов со структурами.
Когда-то давно я выбирал между pdf-ридерами (включая acrobat, foxit, stdu, sumatra), было всего 3 критерия: возможность непрерывного (а не постраничного) скроллинга и возможность замены цвета фона (ярко белый по умолчанию неприятен для глаз). Ну и мультиформатность. На тот момент эти требования выполняла Sumatra, с тех пор ей и стал пользоваться.
ИИ будет подстраиваться под ту культуру, которая его создаст, как под наиболее прогрессивную (что в том числе доказывается способностью этой культуры создать ИИ). На данный момент это культура айти-сообщества Кремниевой Долины, и я надеюсь что этот статус-кво сохранится и в дальнейшем, а остальные культуры (которые с точки зрения резидентов Кремниевой долины кажутся дикими) пойдут лесом. Это конечно мое личное пожелание (и разумеется оно приведет к минусам от части читателей Хабра, но что поделаешь - такова жизнь). Уж не знаю сбудется ли оно, но пока вроде шансы есть.
У первого странное решение - все порты выведены на передний край. Предполагаю что это неудобно, особенно если Ethernet кабели будут под руками. Почему не сбоку?
Второй - не знаю как он в деле, но выглядит изумительно, обожаю такие маленькие штучки:)
Третий - подозреваю что 7 экранов это все-же перебор. А вот варианты с 2 или 3 экранами (соответственно раскрывающимся вверх или как створки окна в стороны) были бы интересны.
Там предлагается выбирать шрифты, и для каждого шрифта выводится таблица доступных символов. А мне интересно так: слева - список/дерево категорий, справа - таблица символов в этой категории, безотносительно шрифта. Ну и естественно в виндовой таблице нет эмодзи, нет множества unicode символов, нет имен и кодов этих символов, поиска по имени и похожих, и вообще много чего нет. На https://symbl.cc/en/unicode/table/ символов явно больше. А с другой стороны, есть подозрение, что виндовские wingdigns далеко не все представлены в Unicode (хотя я конечно досконально не проверял).
Я про Usenet только слышал краем уха, ни разу не пользовался. А наверное зря, возможно там есть что-то интересное. Возможно есть какой-то специальный софт, который позволяет работать с этой сетью?
А что касается гугл групп, то меня однажды заинтересовала возможность скачивать эти группы себе на компьютер и просматривать полученную базу в оффлайне, но так ничего и не нашел для этой цели. Там была группа в которой предлагали идеи для новых версий языка С++, порой весьма интересно было почитать. Значит, она и в usenet каким-то образом доступна?