NetAcademia

A legjobbakat tanítjuk!

Kódolási iránymutatások gyűjteménye C++-ban fejlesztők részére

2016. július 02. 08:00 - Plesz Gábor

Sok hasznos szabály egy helyre összegyűjtve.

C++ Coding Guidelines

 

Szólj hozzá!
Címkék: C++

A .NET Foundation-höz csatlakozott a Samsung(!)

2016. június 30. 08:00 - Plesz Gábor

A .NET Foundation technikai irányító csoportjához csatlakozott immár a Samsung is. Egyébként a Samsung az elmúlt hónapokban (a héten elkészült) .NET Core  fejlesztésében jelentékeny részt vállalt (nyílt forráskódú a fejlesztés, bárki együttműködhet a fejlesztőcsapattal a GitHub-on).

Samsung joins the .NET Foundation Technical Steering Group

Szólj hozzá!

Hogy kerülhetjük el a "szoftverpusztulást"? 12Factor app: 5. Előállítás, telepítés, futtatás

2016. június 24. 08:00 - Plesz Gábor

Előző fejezet: 4. Háttérszolgáltatások

Következő fejezet: 6. Folyamatok

Egyértelműen válasszuk külön a forráskód futtathatóvá alakítását (BUILD), telepítését (RELEASE) és telepített alkalmazásunk futtatását (RUN).

A kódbázis három szakaszban formálódik át telepített alkalmazássá:

  • Az előállítási (BUILD) szakasz az a transzformáció, amikor a forráskód átalakul futtatható alkalmazássá. A forráskódnak vesszük azt a változatát, amit a fejlesztési eljárás elhelyezett a kódtárban, hozzávesszük a különbözó függőségeket és elkészítjük futtatható alkalmazást valamint a szükséges hozzávalókat (képek, egyéb bináris állományok, stb.).
  • A telepítési (RELEASE) szakaszban vesszük a BUILD szakaszban előállított futtatható alkalmazást, és kombináljuk az aktuális telepítési konfigurációkkal. Az eredményül kapott kiadás (RELEASE) tartalmazza a futtatható állományokat plusz a megfelelő konfigurációt, és azonnal alkalmas arra, hogy a futtatókörnyezetben futtassuk.
  • A végrehajtási (RUN) szakaszban (nevezhetjük "runtime"-nak is) a megfelelő kiadást használva folyamatokat elindítva futtatjuk az alkalmazást a végrehajtási környezetben

Code becomes a build, which is combined with config to create a release.

A 12 tényezős alkalmazásfejlesztés élesen elkülöníti tehát az előállítási, telepítési és végrehajtási szakaszokat. Például kizárja, hogy valaki a végrehajtásban lévő kódon változtasson, mert aztán lehetetlen ezeket a változtatásokat a fordítási szakaszba visszaküldeni.

Általában a telepítési segédeszközök kínálnak kiadási verziókat kezelő eszközöket is, legalábbis lehetőséget adnak arra, hogy egy telepített változatról visszaálljunk egy korábban telepítettre. Például a Capistrano a kiadási változatokat a releases, nevű alkönmyvtárban tárolja, ahol az éppen aktuális változat egy szimbolikus link a megfelelő könyvtárra. Arollback parancs így egyszerűen vissza tud állni az előző kiadási változatra.

Minden kiadási változatnak egyedi azonosítóval (ID) kell rendelkeznie, mint például a készítésének időpontja (tehát  2011-04-06-20:32:17) vagy egy folyamatosan növekvő sorszám (mint a v100).

A kiadási változatok összesége tulajdonképpen egy folyamatosan bővülő főkönyv. A kiadási változatok létrejöttük után már nem változhatnak. Bármilyen változáshoz új kiadást (Release) kell készíteni.

A fordítási szakaszt az alkalmazás fejlesztői kezdeményezik, amikor új kódot tárolnak be a kódtárba. A végrehajtás pont fordítva: automatikus indítható, ha a szerver újraindul vagy az összeomlott folyamatatot a folyamatkezelő újraindította. Ezért aztán a végrehajtásnak olyan kevés elemből kell állnia, amennyire csak lehetséges, hiszen az éjszaka közepén kialakuló probléma esetén a fejlesztők nem állnak mindig rendelkezésre. A fordítási folyamat már lehet összetett, mivel a hiba visszaszáll a fejlesztőre, aki az adott változatért felel.

The Twelve-Factor App: V. Build, release, run

Szólj hozzá!
süti beállítások módosítása