home.social

#crtp — Public Fediverse posts

Live and recent posts from across the Fediverse tagged #crtp, aggregated by home.social.

fetched live
  1. CRTP должен умереть? АйТир Лист идиом и фичей C++: от худших к лучшим

    C++ — язык с долгой памятью. В нём до сих пор живут идиомы и приёмы, которые когда-то спасали разработчиков, а сегодня нередко мешают писать безопасный, быстрый и поддерживаемый код. Мы продолжаем использовать макросы, CRTP или iostream «по привычке», не всегда задумываясь о цене — сложности поддержки, скрытых багах, просадках производительности и времени команды. Разобраться, что в современном C++ действительно стоит брать в прод, а что пора оставить в прошлом, — важная задача для инженера, который не хочет тащить legacy в 2026 год. Привет, Хабр! Недавно мы запустили шоу «АйТир Лист». В каждом выпуске берём одну тему из мира разработки и раскладываем её по тир-листу — от FAIL до GOD. В первом выпуске разбирали open source для фронтенда , а во втором выпуске — обсудим непростую тему фич и идиом С++. Приглашённые эксперты — Антон Полухин, эксперт-разработчик C++ платформы городских сервисов Яндекса, и Даниил Черепанов, архитектор редакторов МойОфис. Будет субъективно, местами провокационно и точно полезно — чтобы вы посмотрели на привычные инструменты свежим взглядом и осознанно выбирали, на чём писать следующий проект.

    habr.com/ru/companies/ncloudte

    #c++ #мойофис #crtp #namespaces #лямбды #raii #исключения #variadic_templates #модули #pimpl

  2. Chàng trai 19 tuổi đam mê thiết kế game engine, đặc biệt là ECS. Anh ấy đang thử nghiệm SFINAE, template metaprogramming, variadic programming, CRTP/SRTP và kiến trúc engine. Rất mong nhận được phản hồi và thảo luận về code!
    #gameengine #ECS #SFINAE #CRTP #gamedevelopment #lậptrìnhgame #phattriengame #congnghe

    reddit.com/r/programming/comme

  3. Chàng trai 19 tuổi chia sẻ về hành trình khám phá ECS, SFINAE và CRTP trong thiết kế game engine. Dự án GitHub của anh tập trung vào metaprogramming, variadic programming, static polymorphism và kiến trúc ECS. Anh mong muốn nhận được feedback và thảo luận về code/design.
    #laptrinh #gameengine #ECS #SFINAE #CRTP #programming #vietdev

    reddit.com/r/programming/comme

  4. Go 泛型再进化:移除类型参数的循环引用限制 本文永久链接 – https://tonybai.com/2025/11/19/proposal-remove-cycle-restriction-for-type-parameters 大家好,我是Tony Bai...

    #技术志 #Add #API #BryanBoreham #CRTP #element #Go #go1.18 #go1.24 #Go1.25.4 #Godevbranch

    Origin | Interest | Match
  5. Sponsor Shout-out!
    It is our pleasure to announce our long term supporter, Altered Security as a Gold sponsor for Adversary Village at @defcon 33!
    Thank you, @alteredsecurity and Nikhil Mittal for the continuous support towards Adversary Village!
    Learn more about Altered Security and training programs here: alteredsecurity.com/
    Adversary Village at DEFCON33 Schedule: adversaryvillage.org/adversary
    #DEFCON33 #AdversaryVillage
    #AlteredSecurity #CRTP #AdversarySimulation #OffensiveSecurity

  6. Ошибки, которые не случились: C++ и compile‑time проверка SQL-запросов

    В этой статье мы посмотрим, как можно реализовать полную compile‑time валидацию SQL‑запросов на основе схемы базы данных, встраиваемой прямо в код. Без магии, без рантайма, без сторонних тулов. Только стандартный C++ и ваша структура БД. Валидация таблиц, столбцов, типов аргументов и их количества — всё на compile‑time. Представьте, если бы компилятор сам указывал «такой таблицы нет», «несуществующий столбец», «несовместимые типы» — до запуска программы. Такой подход полностью устраняет «сюрпризы» во время исполнения и исключает класс ошибок, связанных с генерацией SQL во время работы программы. Ваша программа даже не соберётся.

    habr.com/ru/articles/929052/

    #constexpr #compiletime #C++ #SQLвалидация #consteval #ошибки_компиляции #C++26_возможности #ZeroRuntime #typesafe_SQL #CRTP

  7. Happy #weekwithoutdriving ! I look forward to hearing about experiences. Take the pledge at the national website, or look for a local org participating in the event. For #humboldtca sign up with #CRTP at transportationpriorities.org

  8. CW: Оголошення обмежень після класу/структури в C++

    У C++20 зʼявились концепти й обмеження для функцій, класів/структур та інших шаблонів. Для функцій та методів вимоги можна вказувати після оголошення шаблону або після функції.

    template<typename T>
        requires ...
    T f() {}
    
    template<typename T>
    T f() requires ... {}
    

    Якщо не шаблонний метод у шаблоні класу потребує додаткових вимог їх можна вказати після оголошення методу.

    template<typename T>
    class S {
        T f() requires integer<T> {}
    };
    

    У такому випадку клас може згенеруватись з будь-яким типом, але це метод буде присутній тільки якщо шаблонний тип відповідає вимогам.

    Але іноді може знадобитись використати поточний клас у вимогах. Наприклад при CRTP.

    template<typename D>
    class Base requires std::derived_from<D, Base> {...};
    

    На жаль зараз такого немає.

    #cpp #cxx #cpp20 #concepts #constrains #requires #class #template #struct #CRTP #proposal #програмування #шаблони #вимоги #обмеження #пропозиція

  9. CW: Явне оголошення this у :cpp_language: 23

    У C++ 23 додали можливість явно вказати обʼєкт класу над яким виконується метод в параметрах не статичних і невіртуальних методів.

    struct X {
        void foo(this X const& self, int i); // same as void foo(int i) const &;
    //  void foo(int i) const &; // Error: already declared
     
        void bar(this X self, int i); // pass object by value: makes a copy of “*this”
    };
    

    За допомоги цієї функціональності можна оновити використання CRTP.

    // a CRTP trait
    struct add_postfix_increment {
        template<typename Self>
        auto operator++(this Self&& self, int) {
            auto tmp = self; // Self deduces to "some_type"
            ++self;
            return tmp;
        }
    };
     
    struct some_type : add_postfix_increment {
        some_type& operator++() { ... }
    };
    

    Більше почитати про це можна тут:

    #cpp #cpp23 #explicit_this #crtp #this #self #template #шаблони #нововведення

  10. CRTP в C++

    Привет, Хабр! CRTP — это метод в C++, при котором класс наследуется от шаблона класса, используя себя в качестве параметра шаблона. Это выглядит примерно так: класс X наследуется от класса-шаблона Y<X> . Этот паттерн позволяет базовому классу напрямую обращаться к методам производного класса. С помощью CRTP можно можно обогатить интерфейс производного класса, внеся в него дополнительные методы через базовый класс-шаблон. С CRTP также можно достигнуть полиморфизма во время компиляции и таким образом избваиться от затрат на производительность, связанных с динамическим полиморфизмом и виртуальными функциями.

    habr.com/ru/companies/otus/art

    #c++ #otus #crtp

  11. Part 1: 5 days into #weekwithoutdriving and I've barely posted about it. Its been a crazy week. Catching up on my reflections.

    Tuesday: I decided to walk to work. I'm lucky that I'm very close to work. It was a 30 minute walk along very busy city streets. Loud, exhaust, ducking over grown bushes, multiple houseless camps. But also feels good to walk, say hi to people, see parts of the city that are obscured by driving. Felt refreshed, a bit sweaty but all good.

    Took the bus back home. Eureka #transit runs one-way loops which are really frustrating. It would take me at least an hour to get to work on the bus, but the ride back took 10 minutes, and that was long because of traffic. Its been a while since I commuted on the bus. I miss it.

    #visionzero #CRTP #humboldtcounty #humboldtca

  12. I'm excited to be a part of #weekwithoutdriving. If you're in #humboldtcounty #humboldtca go to #CRTP website to join your neighbors in experiencing and documenting what your community feels like without access to a car.

    transportationpriorities.org/w

  13. I'll be participating in the national #weekwithoutdriving event from October 2nd - October 8th. If you live in #humboldtcounty #humboldtca #humboldt go to #CRTP website to learn more and sign up

    transportationpriorities.org/w

    Otherwise learn more and jump in at disabilityrightswa.org/program

  14. Oh hm now I wish I could do #CRTP in #Python. I guess I've been ruined by C++ forever.

    #CPlusPlus

  15. As the "debate" on #parking in Old Town #eurekacalifornia rages on, #crtp just released a critical analysis of the current fraction of developable land devoted to car parking ... 34%!

    transportationpriorities.org/p

    This aligns with other analyses done by #streetsblog and the #parkingreformnetwork of major cities across the US.

    usa.streetsblog.org/2023/04/26

    Currently a conservative group funded by #Arkley is circulating a petition for the next #eurekaca ballot to eliminate the ability to build on existing parking lots, and require addition of more parking for new development.

    lostcoastoutpost.com/2023/jul/

    It uses the now common #GOP tactic of veiling it in misinformation and tricking would-be signers with a false name: "City of Eureka Housing for All and Downtown Vitality Initiative."

    I'm just gonna say it, this is another example of the toxic #ciswhite #waronscience that is ignoring decades of evidence simply to hold on to #racist and #classist #wealth and #privilege.

    #urbanism #visionzero #parkingreform #livablecity

Share on Mastodon

Enter the server where you have an account.