Ajonaikainen ohjelman muokkaus

TRRY

[Hyppäsin pois Run-time type information -säikeestä, kun meinasi mennä off-topiciksi]

Ajonaikaiselle ohjelman rakenteiden muokkaukselle voi keksiä lukemattomia eri käyttötarkoituksia. Annan tässä vain yhden esimerin juuri sopivasti tänä aamuna saamastani sähköpostista. Se sisälsi koodia, joka käyttää ajonaikaiseen koodin muokkaukseen julkaisemaani Python-kirjastoa. Koodi ja kirjasto eivät toimineet yksiin ihan moitteettomasti, joten sain tietää asiasta.

Eräs porukka, jolta on tulossa uusi Linux-distribuutio, tekee mm. Emesene-nimiseen ohjelmaan (ilmeisesti jonkin sortin instant messenger) parental controllia. He haluavat toteuttaa sen pluginnina.

Plugin toimii hieman eri tapaan kuin ne tyypillisesti tekevät: se muokkaa ajonaikaisesti alkuperäistä ohjelmaa käärimällä omaa koodia mm. uuden keskustelun aloittavan metodin ympärille. Jos keskustelu pyritään aloittamaan jonkun tuntemattoman henkilön kanssa, parental controllin koodi esittää käyttäjälle virheen ja jättää kutsumatta alkuperäistä metodia. Jos taas keskustelukumppani on tunnettu, alkuperäistä metodia kutsutaan normaalisti ja keskustelu pääsee alkamaan.

Näin saadaan toteutettua täysin irrallisena moduulina ominaisuus, joka normaalisti olisi vaatinut alkuperäisen ohjelmakoodin muokkaamista. Se taas voi olla hyvinkin vaikeaa ja hidasta tällaisessa tilanteessa, missä alkuperäinen ohjelma ei ole porukan oma projekti.

Kun ohjelman rakenteita voi muokata ajonaikaisesti tällä tavalla, voi ohjelmasta tehdä huomattavasti modulaarisemman kuin perinteisemmin menetelmin.

1

334

    Vastaukset

    Anonyymi (Kirjaudu / Rekisteröidy)
    5000
    • mutta en osaa sanoa miten nyt

    Ketjusta on poistettu 0 sääntöjenvastaista viestiä.

    Luetuimmat keskustelut

    1. Suureksi onneksesi on myönnettävä

      Että olen nyt sitten mennyt rakastumaan sinuun. Ei tässä mitään, olen kärsivällinen ❤️
      Ikävä
      71
      1568
    2. Perusmuotoiset TV-lähetykset loppu

      Nyt sanoo useiden HD-muotoistenkin kanavien kohdalla äly-TV, ettei kanava ole käytössä, haluatko poistaa sen? Kanavia
      Apua aloittelijalle
      114
      1034
    3. YLE Äänekosken kaupunginjohtaja saa ankaraa arvostelua

      Kaupungin johtaja saa ankaraa kritiikkiä äkkiväärästä henkilöstöjohtamisestaan. Uusin häirintäilmoitus päivätty 15 kesä
      Äänekoski
      50
      844
    4. No ei sun asunto eikä mikään

      muukaan sussa ole erikoista. 🤣 köyhä 🤣
      Ikävä
      58
      821
    5. Mitä mietit Honey?

      Kulta nainen ❤️❤️
      Ikävä
      57
      760
    6. Hyvin. Ikävää nainen,

      Että vainoat ja stalkkaat miestäni.onko tarkoituksesi ehkä saada meidät eroamaan?no,siinä et tule onnistumaan
      Ikävä
      74
      756
    7. Missä kaikessa olet erilainen

      Kuin kaivattusi? Voin itse aloittaa: en ole vegaani kuten hän. Enkä harrasta tietokonepelejä lainkaan.
      Ikävä
      39
      737
    8. Uskomaton tekninen vaaliliitto poimii rusinoita pullasta

      Korni näytösesitelmä menossa kaupunginvaltuustossa. Juhlia ei ole kokouksista tiedossa muilla, kuin monipuolue paikalli
      Pyhäjärvi
      72
      734
    9. Linnasuolla poliisi operaatio

      Kamalaa menoa taas meidän ihanassa kaupungissa. https://www.uutisvuoksi.fi/paikalliset/8646060
      Imatra
      26
      719
    10. Katsoin mies itseäni rehellisesti peiliin

      Ja pakko on myöntää, että rupsahtanut olen 😆. Niin se ikä saavuttaa meidät kaikki.
      Ikävä
      41
      697
    Aihe