Category Archives: Development Tools

HAVIT GIT Workflow Standard [Robert Haken, HAVIT Vzdělávací okénko 19.4.2018]

Záznam ze Vzdělávacího okénka HAVIT z 19. dubna 2018, kde jsem prezentoval nový standard workflow pro používání GIT source control. Je publikován na našem HAVIT YouTube Channelu.

Základní pravidla workflow:

  1. Jediná vývojářská mainline = master.
  2. Rebase upřednostňujeme před merge (přehlednější historie).
  3. Release označujeme tagem „release/…“ (typicky do master).
  4. Hotfix = branch „hotfix/…“ z nasazeného commitu (dle version.txt nebo release-tagu) + nový release tag + merge do master + delete branch
  5. Feature branching („feature/…“) pouze ve vybraných situacích, pokud vím co chci, proč to dělám a umím to.
  6. V lokálním repo se invencím meze nekladou, chceme však Continuous Integration (např. častý rebase)

Novinky ve VS 15.6, C# 8.0, .NET 4.7.3 a Blazor [Robert Haken, HAVIT Vzdělávací okénko 15.3.2018]

Záznam ze Vzdělávacího okénka HAVIT z 15. března 2018. Je publikován na našem HAVIT YouTube Channelu.

Dotčená témata:

  • Novinky ve Visual Studio 2017 verze 15.6
    • Navigate to Decompiled Sources
    • Test Explorer Hierarchy View
    • GIT tags
  • Novinky v C# 7.3 a C# 8.0
    • Tuple Equality Operators
    • Generic Constraints on Delegate, Enum
    • Native-sized numeric types
    • Records
    • Asynchronous Streams (Enumeration) and Disposables
    • Nullable Reference Types
    • Extension Everything
  • Blazor (Browser + Razor, WebAssemblies)

GIT pro mírně pokročilé [Martin Havel, HAVIT Vzdělávací okénko, 8.3.2018]

Záznam ze Vzdělávacího okénka HAVIT z 8. března 2018. Je publikován na našem HAVIT YouTube Channelu. Téma prezentoval Martin Havel.

Dotčená témata:

  • git config
  • git add, git add -patch, git add -interactive
  • git commit -am, git commit -ammend
  • http://learngitbranching.js.org
  • git cherry-pick
  • git reset
  • git checkout
  • git revert
  • git rebase -interactive
  • detached HEAD
  • konflikty

TFS Build Process [Jiří Kanda, HAVIT Vzdělávací okénko 1.3.2018]

Záznam ze Vzdělávacího okénka HAVIT z 1. března 2018. Je publikován na našem HAVIT YouTube Channelu. Téma prezentoval Jiří Kanda.

Dotčená témata:

  • MSBuild
    • csproj
    • MSBuild command line
    • build tools
    • parametrizace
    • nástroje
  • TFS Build
  • Publish

Vývoj cloudových aplikací – 01 Azure Introduction [MFF UK NSWI152, LS 2018]

Záznam z první vyučovací hodiny (20.2.2018) semináře Vývoj cloudových aplikací (NSWI152) pro MMF UK v letním semestru 2017/2018. Je publikován na našem HAVIT YouTube Channelu.

Dotčená témata

  • Co je to Azure
  • SaaS, PaaS, IaaS
  • základní pojmy – Account, Subscription, Resource Group, Resource
  • Management Tools – Azure Portal, PowerShell, CLI, REST API
  • Billing, Pricing
  • úvod do Azure App Services

Příští hodina bude věnována nácviku založení Azure AppService, deploymentu aplikace do ní (volitelně z GitHubu), nakousneme zřejmě Azure SQL a napojení na něj.

GIT prakticky [Martin Havel, HAVIT Vzdělávací okénko 1.2.2018]

Záznam ze Vzdělávacího okénka HAVIT z 1.2.2018. Je publikován na našem HAVIT YouTube Channelu. Téma prezentoval Martin Havel.

Visual Studio a C# vNext – záznamy, dema [G2B TechEd Brno, ShowIT Bratislava, 01/2018]

Záznamy stejné přednášky z konferencí G2B TechEd Brno a ShowIT Bratislava.

Brněnská verze z 30.1.2018 se musela vmáčknout do 45 minut:

Bratislavská verze z 31.1.2018 měla prostor 70 minut:

Záznamy jsou uloženy na našem HAVIT YouTube Channelu.

Dotčená témata:

Materiály z přednášky:

Agilní metodika a TFS [Daniel Hrubý, HAVIT Vzdělávací okénko 25.1.2018]

Záznam z interního vzdělávacího okénka HAVIT z 25.1.2018 je publikován na našem HAVIT YouTube Channel. Téma prezentoval Daniel Hrubý.

Visual Studio Code [Pavel Kříž, HAVIT Vzdělávací okénko 11.1.2018]

Záznam z interního vzdělávacího okénka HAVIT z 11.1.2018 je publikován na našem HAVIT YouTube Channel. Téma prezentoval Pavel Kříž.

Tip: Microsoft LogParser [Studio] – rychlé SQL dotazování do textových log-souborů

LogParser (download) je command-line utilita od Microsoftu, kterou můžete použít pro SQL-styl dotazování do libovolného textového log-souboru, resp. i mnoha souborů zároveň. Základní sada podporovaných formátů je úctyhodná: IISW3C, NCSA, IIS, IISODBC, BIN, IISMSID, HTTPERR, URLSCAN, CSV, TSV, W3C, XML, EVT, ETW, NETMON, REG, ADS, TEXTLINE, TEXTWORD, FS a COM.

Já ho používám obvykle pro dotazování IIS Logů a musím říct, že je neuskutečně rychlý.  Na mém notebooku Lenovo X1 i7/16GB/SSD je schopen vyřešit následující dotaz do  8.97GB logů za 2min 12sec!

SELECT
    Date,
    TO_INT(COALESCE(EXTRACT_VALUE(cs-uri-query, 'id'), EXTRACT_VALUE(cs-uri-query, 'SouborSablonyID'))) AS SouborID,
    COUNT(*) AS Total
FROM '[LOGFILEPATH]'
WHERE (cs-uri-stem = '/business/sablony/soubor-partner.aspx') OR (cs-uri-stem = '/business/sablony/soubor.aspx')
GROUP BY Date, SouborID
ORDER BY Total DESC

Výstup do databáze

LogParser umí nejenom vyhodnocovat dotazy, ale můžete jeho výsledky nasměrovat i do databáze či mnoha dalších výstupních formátů (CSV, XML, …), např.

C:\Program Files (x86)\Log Parser 2.2>logparser "SELECT * INTO iisLogs FROM c:\temp\logs\*.log" -i:iisw3c -o:SQL -server:localhost -database:MyLogs -username:sa -password:sa -createTable: ON

Poznámka: Pokud chcete čistý import logů do DB (bez filtrování, projekce či agregací) zvažte použití Import Flat File… wizarda z SQL Management Studia, který může být ještě rychlejší. Pokud použijete LogParser, mrkněte na volbu transactionRowCount k seskupení uploadovaných dat do menšího množství transakcí (např. -transactionRowCount:-1 pro jedinou transakci).

Uživatelské rozhraní?

LogParser sám je command-line utilita. Nabízí dále COM API, které můžete volat ze svých aplikací (asi ne). Nicméně právě toto API bylo využito autory několika uživatelských rozhraní, které vám při občasném využití LogParseru usnadní život:

  • Microsoft LogParser Studio (download) je přímo od Microsoftu a kromě GUI přináší i mnoho (181) připravených šablon dotazů pro různé typy logů.
    2017-11-28_2-46-39
  • Log Parser Lizard GUI je bezplatná varianta (s placenou Pro edicí) vytvořená mimo Microsoft, která vypadá celkem schopně. Nezkoušel jsem, ale pokud byste to potřebovali dennodenně, asi to může být zajímavé.

Reference

Následující odkazy se mohou při seznamování LogParserem hodit: