Category Archives: IT Stuff

Vývojářské nástroje a software, který používám [Robert Haken, 12/2019]

Pro sebe (pro příští rychlou obnovu PC) a jako odpověď na otázky k software, který používám, sumarizoval jsem seznam toho, co mám na svých počítačích nainstalováno. Předesílám, že jsem za těch více než 25 let s počítačem přešel od pojetí maximalisty, který měl na PC nainstalováno kde-co (s tehdejším přispěním AltaVisty), na přístup minimalistický.

Vývojářská platforma

  • Microsoft Visual Studio – Základem veškeré vývojářské práce je samozřejmě Visual Studio.
  • Azure DevOps Services (Cloud) – Dnes už kompletně z cloudu.
  • SQL Server – Management Studio, Profiler – Pro běžnou práci s SQL si vystačím s Microsoft nástroji, pro schéma DB využívám Database Diagrams. Žádné další IDE či designer třetí strany nepoužívám.
  • Atlassian Confluence & Jira Service Desk (Cloud) – firemní wiki, dokumentace projektů, service-desk pro zákazníky.

Visual Studio Add-Ins/Extensions

Vývojářské nástroje

  • Fiddler od Teleriku (Free) – Zachytávání a analýza HTTP(S) komunikace na straně klienta. V poslední době však stále častěji a častěji sahám po F12 Developer Tools uvnitř browseru a tamní sekci Network.
  • IL Spy (Free z Microsoft Store) – Nástroj, který umožňuje prohlížet a analyzovat zdrojový kód jednotlivých assembly, včetně samotného .NET Frameworku (decompiler). Dříve jsem používal .NET Reflector, ale ILSpy ho plnohodnotně nahradil.
  • ANTS Performance Profiler  a ANTS Memory Profiler od RedGate (Paid) – I když profiler je vestavěný ve Visual Studiu, ANTS je pro mě častou volbou pro své přehledné uživatelské rozhraní.
  • RedGate SQL Toolbelt, jmenovitě pak
    • SQL Compare a SQL Data Compare od RedGate (Paid) – Nástroje na porovnání schématu/dat mezi dvěma databázemi a jejich synchronizaci. Používám pro deployment nových verzí starších aplikací, které nemají EF Migrations.
    • SQL Prompt od RedGate (Paid) – vylepšené intellisense pro SQL Server Management Studio (dnes již v nějaké verzi je součástí Visual Studia, nijak podrobně jsem to nezkoumal)
  • Windows Debugger (WinDbg) od Microsoftu (Free) – debugger. Používám zejména pro analýzu memory-dumpů. Pro .NET používám pscor4.dll rozšíření.
  • Debug Diagnostic Tool (DebugDiag) od Microsoftu (Free z Microsoft Store) – low-level debugging a analýza memory dumpů (nejenom).
  • TortoiseGit (Free) – většinu úkonů sice dělám s repos přímo z Visual Studia, výjimečně z příkazového řádku, ale po mnoha letech s TortoiseSVN se s tímto GUI docela kamarádím

Základ desktopu

  • Windows 10 Enterprise 64-bit EN – Pracuji raději s anglickým prostředím.
    • Windows Explorer – Pro veškerou práci se soubory používám základní Windows Explorer, obejdu se bez souborových manažerů ála Total Commander.
    • Print to PDF – I pro vytváření PDF už si vystačím jen s Windows, PDF Creator nepotřebuji.
  • Microsoft Office 365 EN – Outlook pro maily, kontakty a kalendář. Word, Excel, Teams, OneDrive. OneNote už čím dál méně (ve prospěch Atlassian Confluence). Visio občas na nějaký ten diagram (za ideální ho nepovažuji, ale vhodnější jsem nenašel). PowerPoint na slides, které se snažím ve svých vystoupeních spíše omezovat. Dříve jsem používal Access s pár naklikanými formuláři pro editaci obsahu jedné DB, ale po skončení podpory .adp již není důvod. Publisher nepoužívám. Project jsem odsoudil do rubriky “kreslítko Gantt-chartů”, i když jsem mnoho marných pokusů přijít mu na chuť udělal.
  • Google Chrome – od jara 2013 můj primární browser.
  • 7Zip (Free) – Komprese/dekomprese. Používám skrze kontextové menu ve Windows Exploreru.
  • XnViewMP (Free/Paid) – Prohlížeč obrázků/fotek. Neorganizuji fotky (zatím?) do žádných knihoven a pracuji s nimi čistě souborově (organizováno do složek), XnViewMP používám čistě jako výchozí prohlížeč obrázků s jejich otevíráním rovnou do režimu FullScreen.
  • Notepad2 (Free) – o malinko lepší a hlavně rychlejší Notepad, který se nainstaluje tak, že Windowsí notepad překryje a nahradí. Ručně k tomu doplňují registraci do kontextového menu Windows Exploreru (shell). Trošku mě znervózňuje, že Notepad2 je od roku 2012 netknutý, ale zatím dělá přesně to, co potřebuji, takže zůstávám. Chybí mi jen auto-format na XML, JSON, apod. Ještě koukám existuje nástupnický Notepad3, zkusím.
  • Paint.NET (Free, resp. mám koupeno z Microsoft Store) – Editace obrázků. Nejsem žádný grafik, ani foto-geek. Tato jednoduchá napodobenina PhotoShopu mi na moje úkony bohatě dostačuje a jedinou slabinou je chybějící podpora formátu .PSD.
  • OneDrive (Free/Paid) – Personal verzi používám pro archivaci fotek, nicméně protože jsme v práci začali intenzivně využívat OneDrive for Business (O365), přejdu i s fotkami na něj.
  • LastPass Teams (Paid) – náš firemní password manager
  • mRemoteNG (Free) – šikovný organizér RDP spojení
  • Google Apps (Free) – Používáme Sheets pro on-line backlogy vývojářských projektů.
  • … Adobe Reader, atp.

Užitečné maličkosti

  • FileLocator Lite (Free) – Vyhledávání souborů na desktopu. Používám od dob Windows XP jako náhradu za standardní nefunkční vyhledávání souborů (ve Windows 2000 jsem problém nikdy neměl). Je docela rychlý a hlavně spolehlivý. Původně se jmenoval Agent Ransack.
  • SnagIt od TechSmith (Paid) – Bohatý screen capture. Mám to v rámci MVP licence i s Camtasií, takže kdo by to nechtěl platit, mají solidní free variantu Jing.
  • Apple iTunes – telefonizuju s nima od iPhone 4 (první pro mě vizuálně přijatelná podoba jinak zdařilé věci, kterou od pra-verze používá manželka) a dopadlo to tak, že máme i AppleTV a v iTunes mám i veškerou svou hudbu. iTunes nejsou žádný zázrak (ovládání dodnes nechápu), ale jako součást uceleného ekosystému mi to vyhovuje.
  • TreeSize Free od JAM software (Microsoft Store) – Kolik co zabírá místa na disku.

Blogging, Publikování

  • WordPress.com (Paid) – HAVIT Knowledge Base běží jako hostovaný blog na WordPress.com, komerční sekce projektu WordPress.org. Předtím jsem používal šest let Community Server a udělal krátký marný pokus s BlogEngine.NET. Využívám služby, které vycházejí asi na $90/rok (x2 pro EN verzi).
  • Camtasia Studio od TechSmith (Paid) – Nahrávání a střih screencastů.

Business Administration

  • Money S3 (Paid) – finanční účetnictví, mzdy
  • Datovka od CZ.NIC Labs (Free) – klient pro obsluhu Datové schránky
  • HAVIT Goran (Paid) – provozní agenda – timesheety, náklady, plánování, fakturace, dovolené, CRM, atd.

Může se hodit…

  • Log Parser od Microsofty (Free) – command-line utilita, která umožňuje do klást SQL dotazy do textových logů, typicky do logů IIS. Nemám nainstalováno stále, ale občas se pro diagnostiku velmi hodí. Alternativou je importovat log do tabulky SQL serveru a ptát se tam.
  • Pencil (Free) – skicování UI. Malé, nenápadné, primitivní a s docela líbivými výstupy. Hodí se v situacích, kdy jde o vizuální vyjádření myšlenky a nepředpokládá se editace (revize) návrhu UI zákazníkem. (V takových situacích používám většinou Excel, se kterým si každý poradí. Vlastně už používám skoro jenom Excel, ale asi se k Pencil pro některé scénáře vrátím.) Zkoušel jsem i PowerPoint Storyboarding, ale nezaujalo mě to.
  • inSSIDer (Lite je Free) – Wi-Fi monitor. Zobrazí obsazení kanálů, sílu signálu jednotlivých AP, atp. Hodí se k vyhledání volného místa pro vlastní Wi-Fi, popř. k rychlé diagnostice/přehledu.

Podobné seznamy

CMS – Color Management System [Daniel Hrubý, HAVIT Vzdělávací okénko, 20.12.2018]

Záznam ze Vzdělávacího okénka HAVIT ze 20. prosince 2018, kde Daniel Hrubý povídal o správě barev při pořizování, zobrazování a tisku.

Nahrávka je publikována na našem HAVIT YouTube Channelu.

Mini PC aneb ATX, ITX a tahle parta [Jiří Kanda, HAVIT Vzdělávací okénko, 3.1.2019]

Záznam ze Vzdělávacího okénka HAVIT z 3. ledna 2019, kde Jirka Kanda povídal o formátech PC a zajímavostech z tohoto směru hardware.

Nahrávka je publikována na našem HAVIT YouTube Channelu.

HTTP/2 – seznámení [Jiří Kanda, HAVIT Vzdělávací okénko 31.5.2018]

Záznam ze Vzdělávacího okénka HAVIT z 31. května 2018, kde Jiří Kanda prezentoval Seznámení s protokolem HTTP/2. Nahrávka je publikována na našem HAVIT YouTube Channelu.

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:

 

Microservices a Docker [Michal Augustýn, HAVIT Vzdělávací okénko 7.12.2017]

Záznam z interního vzdělávacího okénka HAVIT ze 7.12.2017 je publikován na našem HAVIT YouTube Channel. Téma prezentoval Michal Augustýn, Lead Software Developer @ AVAST, MVP Reconnect]:

Dotčená témata:

  • Microservices – výhody, nevýhody, výzvy
  • Docker Basics – architektura
    • container
    • image
    • Docker Client
    • Docker Daemon
    • Docker Registry
    • interaktivní režim
    • mapování portů, filesystemu
    • parametrizace
    • Dockerfile
  • Využití Dockeru
    • replikovatelný build
    • izolace a replikace testování
    • produkce
  • Docker Orchestration
    • Docker Swarm
    • Kubernetes
    • Marathon (on Meos)

Bohužel nemáme posledních 5 minut audiozáznamu, kdy Augi mluvil o Dockeru na Windows. Zkusíme to dotočit, ale neslibujeme… ;-)

TCP/IP Fundamentals – záznam [Jiří Kanda, HAVIT Vzdělávací okénko 21.9.2017]

Záznam z interního vzdělávacího okénka HAVIT z 21.9.2017, kde nám Jiří Kanda připomenul základy TCP/IP. Záznam je publikován na našem HAVIT YouTube Channel:

Dotčená témata:

  • komunikační vrstvy
    • Vrstva síťového rozhraní – Ethernet
    • Síťová vrstva – IP
    • Transportní vrstva – TCP
    • Aplikační vrstva – HTTP, SMTP, …
  • IP Datagram
  • UDP Datagram
  • TCP Segement
  • ARP, DHCP
  • IP Address Classes, privátní segmenty
  • NAT
  • ICMP, ping, tracert, telnet

Visual Studio: Když nefunguje klávesová zkratka Ctrl+Shift+F12 – Next Error

Ve VisualStudiu mi přestala fungovat klávesová zkratka Ctrl+Shift+F12, přestože při ověření v Options je korektně namapovaná.

Obvyklou příčinou bývá požírání klávesové zkratky jinou aplikací. Vylučovací metodou se ukázalo, že pachatelem je Microsoft Teams, které když běží, klávesová zkratka ve VS nefunguje (přestože samotná aplikace Teams mezi svými Keyboard shortcuts zkratku nemá uvedenou).

Zavření aplikace Teams pomůže, Ctrl+Shift+F12 začne fungovat.

…pokud byste chtěli hlasovat pro feedback na UserVoice:
https://microsoftteams.uservoice.com/forums/555103-public-preview/suggestions/17156756-application-hides-the-ctrl-shift-f12-keyboard-sh

1Password for Teams – první dojmy z trial (výběr týmového password manageru)

Po necelém týdnu vzdávám další pokusy s 1Password for Teams. Má sice výrazně přehlednější UI a celkově je UX propracovanější, nicméně pro platformu Windows je to zatím příliš nestabilní a nehotové, než abych to risknul a ještě za to platil minimálně dvojnásobek než za (uživatelsky nepřívětivější) LastPass.

Nalezená pozitiva

  • existuje beta-verze samostatné Windows aplikace (nejenom browser extension)
  • první dojem z UI je velmi příjemný, vypadá to ovladatelně (UX pochází z Mac, hodně podobné SplashID)

Nalezená negativa

  • menší počet podporovaných platforem (Windows je jen beta, WP není, iOS a Android jsou), z browserů má Chroma, Safari, Firefox, Opera
  • zřejmě nemá podporu fingerprint auth na Windows, jen na iOS
  • cena $4/user/měsíc (a to ještě jen při využití akce do 14/OCT, jinak Pro verze za $12, i když asi i verze Standard by šla použít)
  • celkově vypadá, že je Mac-based a Windows platforma je ještě v plenkách
  • zakládat a práva nastavovat lze jen na trezory, nikoliv na složky (to by ještě odpovídalo shared folders v LastPass), nejde vytvářet podsložky/hierarchičtější strukturu
  • nemá auto-fill na formulářové údaje
  • lze vytvářet jen záznamy některého z definovaných typů (šablon), nelze přidávat vlastní šablony, i když záznamu dle šablony lze změnit/odebrat (nikoliv přidat) jednotlivá pole
  • nemá import hesel z Chrome, pro import se nabízí jen .csv (= více práce, ale kvalitnější výsledek)
  • nemá zřejmě vzdálenou/hromadnou změnu hesla
  • nemá zřejme „security challenge“ (duplicitní hesla, stará hesla, atp.)
  • Dotaz na uložení nového hesla v browser extension je poměrně agresivní, samotný Chrome nebo LastPass se ptají decentněji. 1P se navíc ptá úplně vždycky a nenašel jsem cestu, jak mu říct „pro tuto site nechci heslo ukládat, nikdy“.
  • browser extension pro Chrome je tak nějak závislá na samostatné Windows aplikaci (beta). Integrace na browser je sice technologicky asi sofistikovanější, ale celkově se to nechová moc spolehlivě. Na zapamatování hesla se to neptá buď vůbec, nebo naopak pořád do zblbnutí, i když ho zapamatovat nechci, občas padá, atp.

Neutrální poznatky

  • „Personal“ trezor je víceméně stále součástí firemního účtu, v tomto je přidružení odděleného osobního účtu, jak to má LastPass asi pro pracovníky přijatelnější. 1P má nicméně možnost do jednotlivých aplikací připojit libovolný počet účtů, což je vlastně víceméně to samé a navíc by to asi umožnilo připojit i případné break-glass účto-trezory.

Co zkusím dalšího? Dashlane nebo Roboform?

LastPass Enterprise – první dojmy po týdnu v trial (výběr týmového password manageru)

Pro začátek jsem si vybral jako nejslibnější LastPass Enterprise, otevřel jsem v něm trial a začal naplno testovat. Hned na úvod musím říct, že zatím v podstatě sám, resp. pár kolegů se přidalo, ale týmové interakce jsme si moc neužili (na závadu to ale myslím není).

První dojmy bych shrnul asi takto – Přes naději, že to bude snadný výběr na první dobrou, se ukázalo, že LastPass Enterprise je sice obstojným produktem, který si umím jako náš týmový password manager představit, nicméně naděje ve snadné vítězství se nepotvrdila a mám nutkání zkusit i něco dalšího.

Nalezená pozitiva

  1. Enterprise feature-rich. Kromě mnoha nastavení v Admin Console to má třeba i podporu SAML a REST API.
  2. Cena. Ve srovnání s ostatními zvažovanými je $2/user/month jedna z nejnižších.
  3. Podpora prakticky všech platforem. Extensions prakticky pro všechny browsery, aplikace pro všechny mobilní platformy. Za mě třeba iOS dobrý – podporuje fingerprint ověřování i doplňování hesel do Safari.
  4. Možnost asociace soukromého účtu. Je myslím výhoda, že lze LastPass bez obav používat rovnou i jako osobní password manager s tím, že soukromá hesla si člověk ukládá do asociovaného osobního účtu a nemusí se obávat, že by se na ně někdo z firmy dostal, nebo že by o ně přišel při odchodu z firmy.
  5. Umí víceméně vše, co potřebujeme. Sdílená hesla, vlastní hesla a při troše fantazie lze vyřešit i emergency (break glass) access.
  6. Dospělý produkt. Mají zjevně hodně uživatelů, včetně Enterprise edice. Přežili ve zdraví už i nějaký ten breach. Nějakou dobu už existují a vypadá to, že existovat budou.

Nalezená negativa

  1. Logika “nejrestriktivnějšího oprávnění” na sdílených složkách. Asi nejhorší věc, na kterou jsem zatím narazil, je pravidlo „most restrictive rule applies“ při nastavování oprávnění na sdílené složky. Prakticky to znamená, že pokud máte skupinu Team-A a z jejích členů ještě vyberete skupinu Team-A-Power-Users, tak pokud na sdílené složce dáte právo read skupině Team-A a k tomu právo write skupině Team-A-Power-Users, tak všichni členové Team-A-Power-Users, kteří jsou i členy Team-A ztrácí právo write a uplatní se jim restriktivnější read. Toto chování mi potvrdil i support a zatím se marně snažím dobrat nějakého schématu skupin, jak se vyhnout maintenance hell (Team-A-Except-Power-Users). Zapomeňte na skupinu Everyone, že by se jí dalo dát právo read.
  2. Horší UX v některých situacích. Např. navigace ve složkách, kopírování hesla přes schránku, atp. Částečně to trpí i tím, že desktopová aplikace je „jen“ extension v browseru. I po týdnu používání docela dost často hledám běžné funkce.
  3. Není přímá podpora break-glass emergency přístupu. Edice Enteprise má dokonce vypnutou i Emergency Access feature, která je u osobních účtů pro případ úmrtí uživatele. Není to sice klasický break-glass, ale s nulovou čekací dobou by se to využít dalo. Je to v podstatě i cesta, jak to celé obejít a uspořádat – vytvořit dedikovaný „osobní“ (non-Enterprise) účet, do kterého se uloží příslušný break-glass přístup a v podstatě úplně mimo Enterprise se nastaví Emergency Access s nulovou nebo minimální čekací dobou.

Neutrální aspekty

  1. Reagující support. Za ten týden jsem přes support řešil dva dotazy a reportoval jeden bug. Chybu akceptovali hned a předali do vývoje, dotazy odpovídají zpravidla do 24 hodin a je to takový klasický helpdesk – templatované odpovědi, žádná hluboká snaha o metodickou pomoc (např. s tím pravidlem o restriktivnějších oprávněních, nebo jak uspořádat break-glass).
  2. Data lze zálohovat. Není to sice žádný zázrak, ale celý účet lze exportovat do šifrovaného souboru, který lze pak i offline otevřít v jejich portable klientovi. Lze tak tedy vytvořit offline zálohu, byť zřejmě jen pro jednotlivý účet, nikoliv celou firmu.

Jako další zkusím asi 1Password Team. Mají do 15/OCT akci, že všichni Team zákazníci dostávající life-time edici Pro za cenu Standard, tak abych to případně stihnul využít.

Mimochodem: Tenhle blogpost jsem nakonec psal ve webovém editoru WordPressu, přestože jsem ho rozepsal v Open Live Writeru. Poslední dobou fakt už nějak nemám trpělivost s tím jeho různým przněním flow a formátování při přechodech mezi odstavci, nadpisy, atp.