Suckless-BI: Vim kódgenerálás (böjt kiértékelés)

Поделиться
HTML-код
  • Опубликовано: 3 июн 2024
  • Régóta tartoztam ezzel a videóval, a böjt "mobilapp" kiértékeléséről.
    Sokan jó ötleteket mondtak erre: AWK és Python parzolás meg hasonlók, de inkább én vim-el sima mezei C kódot generálok a táblázatból - sőt még a táblázat is olvasható / szerkeszthető marad utána.
    Nyilván ez nem "igazi BI", de ilyen suckless saját dolgokra (akár egy évnyi hasonló adatra is) bőven jó és sokszor nem kell több, de jó ujjgyakorlat!
    #vim
    #programozás
    #linux
    #suckless
    00:00 Intro
    00:58 Sarki fény
    01:39 Keyshow
    02:18 Nyers adatok
    08:12 C-nek menteni
    08:38 Hét-elválasztás
    12:11 Cleanup
    14:37 Függvényhívássá alakítás
    18:33 Logikai egyszerűsítés
    19:28 Pontosvesszők
    20:15 Programkeret
    21:35 Hetek megszámolása
    21:58 Makró kódgenerálás (rossz)
    23:51 Makró kódgenerálás
    33:33 Hibajavítás
    34:52 week függvény
    36:34 Kipróbálás
    38:37 Stat kiírás (makrós ötlet)
    48:31 Hiba (megálló makró)
    48:56 Stat kiírás (substitute ötlet)
    52:24 Kódgen listából
    52:57 Statisztika eredmények
    56:20 Outro
  • НаукаНаука

Комментарии • 2

  • @aronszimplan7223
    @aronszimplan7223 23 дня назад +1

    Én a regex kifejezéseknél teljesen elvesztettem a fonalat, hogy mit hogyan és miért zárójelezünk. Hogy lehet ezt ennyire készségszinten művelni?

    • @u9vata
      @u9vata  23 дня назад +2

      Egyébként viccen kívül a regex-et általában is a legkönyebben egy teljesen fulltime vim-eléssel tanulod meg.
      Szoftverben általában nem használok regexet - jobbnak tartom "rendesen" parzolni a dolgokat: előbb valami minimalista történettel, ha az már tényleg nem elég, akkor mondjuk rekurzív leszállásos parzert írva rá. Viszont pont ilyen szöveg manipulációs dolgokra, ahol kézzel írod: log fájlokból a "lényeg" kiszűrése és hasonlók... na ott nagyon pöpec dolog és a kód írása közben is folyton használom.
      Itt persze olyat csináltunk jópárat, hogy:
      - Kijelöltem egy területet
      - Csak a kijelölt területre regex-el egy global command-al szűrtem
      - és a szűrés eredményén, vagy annak negáltján még egy substitute kicserélést (szintén regex-el, backrefekkel, stb.)
      Igazából ezeket tudom gyorsan és készség szinten, mert gyakran használom - ennyi az egyetlen kulcsa tényleg.... azért használom gyakran, mert vim-ben nem kell ehhez menükben katintgatni, hotkey-ezgetni, hanem egy ('/') vagy esetleg pár (':%s/.../...') karakter és rögtön ott van. Nagyon sokat számít, hogy bár "más editor is tudja" ezeket, de "nincs a kezed ügyében folyamatosan minden pillanatban". A vim modalitás miatt itt igen. Viszont például a "mohó" kiértékelős *-ot, vagy a több soron átívelő match-et találó regex-et néha újra és újra meg kell nézzem: azokat ugyanis én is ritkábban használom, pedig nagyon királyak.
      A másik, hogy itt is látszik, hogy a makrókat viszont könnyebben elrontom, mert azt is ritkábban használom. Ott nyilván elsőre könnyebbségnek tűnik, hogy "hiszen csak megismétli amit csinálok", de a példa jól mutatja, hogy sokszor a globál, meg substitute az jobb / gyorsabb. A makró ennél kisebb dolgokra jobb inkább - szerintem amit úgy 15 másodpercen belül tudsz kigépelni egyértelműen arra mind jobb. Itt kicsit erőltettem, mert én is akartam gyakorolni kicsit.
      Szóval ezeket úgy tudod készségszinten használni - hogy gyakorlod és folyamatosan használod. Az pedig, hogy mit használsz folyamatosan az nagyban függ attól, hogy mi van a kezed ügyében és nagyon könnyen elérhető helyen - a vim és a terminál meg ilyen hely. Ugye grep-et is gyakran használok dolgokat keresni például.