Andy Melnikov (nponeccop) wrote,
Andy Melnikov
nponeccop

Category:

GNU Hello, Linux Config и scaffolding

Пришла идея создать визард скелетов проектов на основе билд-системы ядра линукса:

- Пускаем make config. Он спрашивает язык-платформу-фичи-способы реализации тем же туем, что и ядро, но с другим файлом опций, и получаем Config.h
- Пускаем make. Который на основе конфига и шаблонов лепит проект. Шаблоны причём можно первое время прямо препроцессором С делать.
- PROFIT!

Мы убили двух коней:

- возможность создания "больших" скелетов - сразу с CI, тестами, эксепшенами в sentry.io, линтом, конфигами IDE и т д
- сочетания unopinionated гибкости и presets, выбранных умными людьми за нас. Если вам нравится пресет, но у вас условный HIPAA, и слать данные каким-то хуям с горы типа DataDog и Sentry вам нельзя по комплаенсу - отключаете галочку.

Как выглядит скелет проектов здорового человека, можно посмотреть на примере GNU Hello. Это такой Hello, world!, но у которого есть man, парсер командной строки, интернационализация сообщений, компайл-тайм опции и т д.



Проблема всех этих скелетов заключается в том, что из того, что есть в скелете, часто что-то не нужно, что-то сделано по-дебильному, а что-то сделано не на той технологии из списка эквивалентных технологий.

Ну и вот язык LinuxKernelConf, на котором задокументированы опции ядра и зависимости между ними, https://zippel.home.xs4all.nl/lc/ по идее достаточно зрел и функционален, чтобы все эти варианты описать. А затем это вопрос шаблонизатора всю эту логику заимплементить. Ну и прослойка make позволяет делать это более-менее языконезависимо.
Tags: programming, все пидарасы а я, выебудни
Subscribe

  • Древние массивы

    У нас тут не то чтобы "обнаружился", но "есть" старый RAID, на монстре под названием ARC-1120, PCI-X, Карл! ~12 TB, из них ~6 занимают какие-то…

  • VMware SD-WAN как сепулька

    Я тут недавно писал, что продукты VMware нуждаются в переводе на нормальный язык. Нихуя не понятно из их птичьего языка на сайте! Так вот. SD-WAN -…

  • SASE

    Тут вопрос в том, что "нам", как новой геораспределённой cloud-first организации, нет смысла деплоить надёжное говно и палки из 2010. А вместо этого…

  • Post a new comment

    Error

    default userpic

    Your reply will be screened

    Your IP address will be recorded 

    When you submit the form an invisible reCAPTCHA check will be performed.
    You must follow the Privacy Policy and Google Terms of use.
  • 9 comments