<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Izsak&#039;s Weblog</title>
	<atom:link href="http://izsak.net/weblog/feed" rel="self" type="application/rss+xml" />
	<link>http://izsak.net/weblog</link>
	<description>weblog o IT a programovaní</description>
	<lastBuildDate>Wed, 01 Sep 2010 17:07:13 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>NoSQL Is Hard (Stack Overflow Architecture)</title>
		<link>http://izsak.net/weblog/466/nosql-is-hard-stack-overflow-architecture</link>
		<comments>http://izsak.net/weblog/466/nosql-is-hard-stack-overflow-architecture#comments</comments>
		<pubDate>Sun, 08 Aug 2010 18:10:37 +0000</pubDate>
		<dc:creator>Jozef</dc:creator>
				<category><![CDATA[Software]]></category>

		<guid isPermaLink="false">http://izsak.net/weblog/?p=466</guid>
		<description><![CDATA[
<p>Vyberám zaujímavú časť o NoSQL databázach z článku Stack Overflow
Architecture. The biggest problem of all is that transactions can not span
arbitrary boundaries. There are no ACID guarantees beyond a single record or
small entity group. Once you wrap your head around what this means for the
programmer it's not a pleasant prospect at all. References must […]</p>

<!-- by Texy2! -->]]></description>
			<content:encoded><![CDATA[
<p>Vyberám zaujímavú časť o NoSQL databázach z článku <a
href="http://highscalability.com/stack-overflow-architecture">Stack Overflow
Architecture</a>.</p>

<blockquote>
	<p>The biggest problem of all is that transactions can not span arbitrary
	boundaries. There are no ACID guarantees beyond a single record or small entity
	group. Once you wrap your head around what this means for the programmer
	it's not a pleasant prospect at all. References must be manually maintained.
	Relationships must be manually maintained. There are no cascading deletes that
	act correctly during a failure. Every copy of denormalized data must be manually
	tracked and updated taking into account the possibility of partial failures and
	externally visible inconsistency.</p>

	<p>All this functionality must be written manually by you in your code. While
	flexibility to write your own code is great in an OLAP/map-reduce situation,
	declarative approaches still cover a lot of ground and make for much less
	brittle code.</p>

	<p>What you gain is the ability to write huge quantities of data. What you lose
	is complacency. The programmer must be very aware at all times that they are
	dealing with a system where it costs a lot to perform distribute operations and
	failure can occur at anytime.</p>
</blockquote>

<!-- by Texy2! -->]]></content:encoded>
			<wfw:commentRss>http://izsak.net/weblog/466/nosql-is-hard-stack-overflow-architecture/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Rework &#8211; zabudnite na formálne vzdelanie</title>
		<link>http://izsak.net/weblog/461/rework-zabudnite-na-formalne-vzdelanie</link>
		<comments>http://izsak.net/weblog/461/rework-zabudnite-na-formalne-vzdelanie#comments</comments>
		<pubDate>Tue, 08 Jun 2010 14:10:04 +0000</pubDate>
		<dc:creator>Jozef</dc:creator>
				<category><![CDATA[Osobné]]></category>

		<guid isPermaLink="false">http://izsak.net/weblog/?p=461</guid>
		<description><![CDATA[
<p>Kniha Rework má zaujímavú kapitolu o Zabudnutí na formálne vzdelanie a
väčšom spoľahnutí sa na ozajstnú prax. Na príklade ukazujú, aké zlé
návyky môže človek dostať v škole: The longer a document is, the more it
matters. Stiff, formal tone is better then being conversational. Using big word
is impressive. You need to write a certain number […]</p>

<!-- by Texy2! -->]]></description>
			<content:encoded><![CDATA[
<p>Kniha <a href="http://37signals.com/rework/">Rework</a> má zaujímavú
kapitolu o Zabudnutí na formálne vzdelanie a väčšom spoľahnutí sa na
ozajstnú prax. Na príklade ukazujú, aké zlé návyky môže človek dostať
v škole:</p>

<blockquote>
	<ul>
		<li>The longer a document is, the more it matters.</li>

		<li>Stiff, formal tone is better then being conversational.</li>

		<li>Using big word is impressive.</li>

		<li>You need to write a certain number of words or pages to make a points.</li>

		<li>The format matters as much (or more) than the content of what
		you write.</li>
	</ul>
</blockquote>

<p>To mi pripomenulo projekt na predmet Informačný systém podniku, ktorý
nás učí <a
href="http://www.fhi.sk/sk/katedry/zamestnanci/ing.-michal-grell_-phd..html">Ing.
Michal Grell, PhD.</a>, a kde je podstatná forma, nie obsah. Bohužial, je to
zase jeden z tých „expertov“ z Ekonomickej univerzity… <img
src="http://izsak.net/wordpress/wp-includes/images/smilies/icon_sad.gif"
alt=":-(" class="smiley" /></p>

<!-- by Texy2! -->]]></content:encoded>
			<wfw:commentRss>http://izsak.net/weblog/461/rework-zabudnite-na-formalne-vzdelanie/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Prípad nefungujúceho Hamachi</title>
		<link>http://izsak.net/weblog/417/pripad-nefungujuceho-hamachi</link>
		<comments>http://izsak.net/weblog/417/pripad-nefungujuceho-hamachi#comments</comments>
		<pubDate>Sun, 06 Jun 2010 20:30:51 +0000</pubDate>
		<dc:creator>Jozef</dc:creator>
				<category><![CDATA[IT]]></category>

		<guid isPermaLink="false">http://izsak.net/weblog/?p=417</guid>
		<description><![CDATA[
<p>Kamoš mal problém s Hamachi na Windows 7 – po nainštalovaní
nefungovala Hamachi sieť a Hamachi zobrazovalo chybu „network adapter
error“. Najprv som sa pokúšal zistiť, či je správne nastavený firewall a
či Hamachi nevyžaduje administrátor­ské práva. Za normálnych okolností
Hamachi nainštaluje do systému sieťový adaptér, jednu Windows službu
spúšťanú s Local System právami a GUI klienta, ktorý beží […]</p>
]]></description>
			<content:encoded><![CDATA[
<p>Kamoš mal problém s Hamachi na Windows 7 – po nainštalovaní
nefungovala Hamachi sieť a Hamachi zobrazovalo chybu „network adapter
error“. Najprv som sa pokúšal zistiť, či je správne nastavený firewall a
či Hamachi nevyžaduje administrátor­ské práva.</p>

<p>Za normálnych okolností Hamachi nainštaluje do systému sieťový
adaptér, jednu Windows službu spúšťanú s Local System právami a GUI
klienta, ktorý beží s práva bežného používateľa a využíva
nainštalovanú službu. Sieťový adaptér je nastavený tak, aby poskytoval
routovanie na sieť 5.0.0.1/8. Zistili sme, že sieťový adaptér nebol
nainštalovaný a teda Hamachi malo problémy so správnym nainštalovaním
siete. Hamachi inštaluje sieťový adaptér iba počas inštalácie – nie
pri reinštalovaní – a bolo potrebné ho teda najprv odinštalovať a znovu
nainštalovať. Tento postup však u kamoša nepomohol.</p>

<h3>Inštalačný log</h3>

<p>Najprv som sa teda pokúsil získať log z inštalácie Hamachi, či tam nie
je nič podozrivé.</p>

<pre>msiexec /log hamachi.log /i hamachi.msi

...
Action 18:30:17: InstallDriver. Installing network driver
Action 18:30:18: InstallServices. Installing new services
...</pre>

<p>Žiadna chyba, tak som sa rozhodol vyskúšať nainštalovať ovládač pre
Hamachi manuálne.</p>

<h3>Manuálna inštalácia ovládača</h3>

<p>Cez <strong>Device Manager</strong> kamoš dal manuálne nainštalovať
sieťový adaptér s Hamachi ovládačom (<code>%PROGRAMFILE%\LogMeIn
Hamachi\hamachi.inf</code>). Táto inštalácia však skončila veľmi divnou
chybou: <strong>0×5AA ERROR_NO_SYSTEM_RE­SOURCES – Insufficient system
resources exist to complete the requested service</strong>. Na prvý pohľad sa
zdá, že počítač nemá dostatok zdrojov a v tomto prípade človek najprv
zisťuje, či má dosť voľného miesta na disku, alebo voľnej operačnej
pamäte. Problém však bol inde a skúsili sme zapnúť
v <strong>msconfig.exe</strong> diagnostické spustenie systému s iba
základnými službami, aby sme vylúčili problém s nejakou inou aplikáciou.
Tak isto bezúspešne a s rovnakým výsledkom.</p>

<p>Vďaka Process Monitoru som zistil, že inštalácia ovládačov vo Windowse
je podrobne zaznamenávaná do súboru
<code>%WINDIR%\inf\setupapi.dev.log</code>. Vyžiadal som si ho teda a
nasledovala podrobná analýza a porovnanie jeho obsahu voči systému, kde sa
Hamachi ovládač bezproblémov nainštaloval.</p>

<pre>.    dvi:           {DIF_INSTALLDEVICE} 23:43:46.036
     dvi:                CoInstaller 1: Enter 23:43:46.036
     cci:                     [NdisCoinst: Enter NcipHandleInstallPreProcessing]
     cci:                     NdisCoinst: NetCfgInstanceId does not exist
     cci:                     NdisCoinst: Guid of the adapter is {DEFD4A42-3C78-4F11-AAC6-D798EF311363}
     inf:                     Opened PNF: 'C:\Windows\INF\oem2.inf' ([strings])
     cci:                     NdisCoinst: IfType from registry is 1
     cci:                     NdisCoinst: IfType 1, Characteristics 0x1, IsIrdaDevice 0, PhysicalMediaType -1, MediaType -1, IsBridge 0, FoundGuidInDownlevel 0, EnableDhcp 2
     cci:                     NdisCoinst: Connection name is Local Area Connection 35
     cci:                     NdisCoinst: NetLuidIndex does not exist
!!!  cci:                     NdisCoinst: NcipAllocateNetLuidIndex failed with error 0x5aa
     cci:                     [NdisCoinst: Exit NcipHandleInstallPreProcessing]
!!!  dvi:                CoInstaller 1: failed(0x000005aa)!
!!!  dvi:                Error 1450: Insufficient system resources exist to complete the requested service.
     dvi:           {DIF_INSTALLDEVICE - exit(0x000005aa)} 23:43:46.504</pre>

<p>Z logu bolo vidieť, že inštalátor pri vytváraní nového sieťového
adaptéru volá funkciu <code>NcipAllocateNetLuidIndex</code> ktorá skončí
chybou. Získať informácie o tejto funkcii bolo jednoduché a zložité
zároveň. Našťastie o nej existuje záznam na Internete, ale použiteľné
informácie sú skryté vo veľkej kope textu zmeišaného so záznamami log
súboru na fóre OSR Online.</p>

<p>Jeffrey Tippet z Microsoftu tam opisuje ako funkcia
<code>NcipAllocateNetLuidIndex</code> funguje.</p>

<blockquote>
	<p>I don't have a good guess as to what's gone wrong, but here's some
	background info that might help you figure it out. (This info is an
	implementation detail, subject to change, but may come in handy for
	troubleshooting):</p>

	<p>NDIS must allocate a (locally) unique number for each network interface, the
	NET_LUID. The NET_LUID consists of the ifType, paired with a unique ID number.
	To generate that unique ID, we keep track of the IDs that have already been
	assigned in
	<code>HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NDIS\IfTypes\[ifType]
	! IfUsedNetLuidIndices (REG_BINARY)</code> for each ifType. For example, look in
	\6 if your NIC is Ethernet (ifType=3D=6).</p>

	<p>In there, there is IfUsedNetLuidIn­dices, which is (IIRC) a bitmap of the
	unique IDs that have been assigned to other network interfaces. Make sure this
	value is present and not damaged (e.g., a huge number of 0×FF's). Typically,
	its value will be something like 0×FF 0×01, if you have 9 NICs. Note that you
	can't just whack this value and replace it with something else, since then NDIS
	will incorrectly assign the same NET_LUID to two interfaces, and all sorts of
	things will break when that happens.</p>
</blockquote>

<p><code>NcipAllocateNetLuidIndex</code> teda pre daný typ sieťového
adaptéru (v prípade Hamachi to je ifType=1) potrebuje získať LUID –
Local Unique Identifier, ktorého aktuálna hodnota sa nachádza v uvedenom
kľúči v Registroch. Problém môže nastať, keď je hodnota
<code>IfUsedNetLuidIndices</code> nastavená na veľmi vysoké číslo –
systém potom nemôže vytvoriť ďalšie LUID a skončí chybou <code>0x5AA
ERROR_NO_SYSTEM_RESOURCES</code>.</p>

<p>Nasledovala teda analýza tohto kľúča a dopracovanie sa (našťastie a
konečne) k zdroju problému:</p>

<pre>reg query HKLM\SYSTEM\CurrentControlSet\Services\NDIS\IfTypes\1 /v IfUsedNetLuidIndices


HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NDIS\IfTypes\1
    IfUsedNetLuidIndices    REG_BINARY    FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF</pre>

<p>Hodnota <code>IfUsedNetLuidIndices</code> sa z neznámich príčin
poškodila a keďže kamoš nemal v počítači nejaké špeciálne sieťové
adaptéry (ifType = 1 = IF_TYPE_OTHER) tak bolo bezpečné nastaviť
<code>IfUsedNetLuidIndices</code> na 0×00. <strong>Potom však treba
reštartovať počítač.</strong> Windows si totiž načítajú pomocné LUID
čísla pri štarte systému a nenačítavajú ich počas inštalácie
zariadenia (overené pomocou Process Monitoru :) ). Nasledovalo už len
nainštalovanie Hamachi – tento raz úspešne a bez problémov.</p>

<p>Po približne 24 hodinách som úspešne našiel príčinu problému,
opravil chybu a získal cenné skúsenosti. A aj v tomto prípade nebolo
potrebné na odstránenie problému načisto inštalovať Windows – k čomu
by sa asi mnohí iní uchýlili. Samotné riešenie problému však trvalo iba
pár hodín, natiahlo sa však kvôli poctivej dochádzke do školy :)</p>

<!-- by Texy2! -->]]></content:encoded>
			<wfw:commentRss>http://izsak.net/weblog/417/pripad-nefungujuceho-hamachi/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Zlepšite si bezpečnosť webových aplikácií</title>
		<link>http://izsak.net/weblog/249/zlepsite-si-bezpecnost-webovych-aplikacii</link>
		<comments>http://izsak.net/weblog/249/zlepsite-si-bezpecnost-webovych-aplikacii#comments</comments>
		<pubDate>Sun, 06 Jun 2010 19:38:41 +0000</pubDate>
		<dc:creator>Jozef</dc:creator>
				<category><![CDATA[Software]]></category>

		<guid isPermaLink="false">http://izsak.net/weblog/?p=249</guid>
		<description><![CDATA[
<p>Bývalému kolegovi, team leadrovi a spoluobyvateľovi nášho kanclíka –
Romanovi – som posielal link s webcastom Hanselmana a Haacka kde ukazujú
niekoľko spôsobov ako zneužiť phishing, AJAX API a tak podobne. Stihol ho
blognúť skôr ako ja, ale uverejním ho tiež: The HaaHa Show – Hacking
with Phil and Scott (funguje to len v Internet Exploreri)</p>
]]></description>
			<content:encoded><![CDATA[
<p>Bývalému kolegovi, team leadrovi a spoluobyvateľovi nášho kanclíka –
<a href="http://hladajuci-muz.blogspot.com/">Romanovi</a> – som posielal link
s webcastom Hanselmana a Haacka kde ukazujú niekoľko spôsobov ako zneužiť
phishing, AJAX API a tak podobne. Stihol ho <a
href="http://hladajuci-muz.blogspot.com/2009/07/pre-tvorcov-webu.html">blognúť</a>
skôr ako ja, ale uverejním ho tiež:</p>

<p><a href="http://media01.smartcom.no/Microsite/start.aspx?eventid=4468">The
HaaHa Show – Hacking with Phil and Scott</a> (funguje to len v Internet
Exploreri)</p>

<!-- by Texy2! -->]]></content:encoded>
			<wfw:commentRss>http://izsak.net/weblog/249/zlepsite-si-bezpecnost-webovych-aplikacii/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Dr. Ing. Jaroslav Kultan, PhD &#8211; zážitky z cvičení z databáz</title>
		<link>http://izsak.net/weblog/410/dr-ing-jaroslav-kultan-phd-zazitky-z-cviceni-z-databaz</link>
		<comments>http://izsak.net/weblog/410/dr-ing-jaroslav-kultan-phd-zazitky-z-cviceni-z-databaz#comments</comments>
		<pubDate>Sat, 22 May 2010 16:44:27 +0000</pubDate>
		<dc:creator>Jozef</dc:creator>
				<category><![CDATA[Osobné]]></category>

		<guid isPermaLink="false">http://izsak.net/weblog/?p=410</guid>
		<description><![CDATA[
<p>Učitelia majú na svojich stránkach väčšinou len informácie o sebe,
nejaké tie publikácie čo napísali a prax. Kvality učiteľa sa však
z tejto stránky študenti nedozvedia. Tento semester sme mali tú česť mať
na cvikách učiteľa Ing. Jaroslava Kultána. V skratke by sa dalo poradiť
ostatným študentom: dajte si na neho bacha. Robí dosť zákernosti čo sa
týka […]</p>
]]></description>
			<content:encoded><![CDATA[
<p>Učitelia majú na svojich stránkach väčšinou len informácie o sebe,
nejaké tie publikácie čo napísali a prax. Kvality učiteľa sa však
z tejto stránky študenti nedozvedia.</p>

<p>Tento semester sme mali tú česť mať na cvikách učiteľa Ing. Jaroslava
Kultána. V skratke by sa dalo poradiť ostatným študentom: dajte si na neho
bacha. Robí dosť zákernosti čo sa týka termínov odovzdávania zadaní –
hlavne rád nastavuje v Moodli časy na 0:00 a potom sa teší, že študenti
nemohli odovzdať zadania a následne dáva prednášky o tom, čo to znamená
odovzdať niečo do 0:00. Počas semestra som sa dozvedel, že na dekanáte
deklaroval, že máme na vypracovávanie projektov oveľa viacej času
(2 týždne) ako sme reálne mali (4 dni). Celkovo sa nakoniec situácia na
cvikách dosť vyostrovala, keďže nikto z triedy nadokázal akceptovať jeho
prístup k študentom, hlavne keď sme od súkromnej školy čakali
profesionálnejšieho učiteľa.</p>

<p>Cvičenia sme mali zakončiť prezentáciou projektu, ktorý sme spravili.
Posledný termín prezentovania sme dostali na <em>stredu 12.5.2010</em>, kam sa
niektorí študenti dostavili a zistili, že žiadne prezentovanie sa nebude
konať, keďže sa cvičiaci nikde neukázal. Ešte v ten týždeň v piatok
to malo dohru – Kultán vynadal študentom, že v <em>utorok
12.5.</em> nedošli na konzultácie – a nenechal si vysvetliť, že utorok
bolo 11.5. a on sám uviedol dátum ako 12.5. Proste podľa neho pochybili
študenti.</p>

<p>Finálne prezentovanie projektov sa konalo dnes, znovu v dusnej atmosfére.
Externisti čo došli, boli vyhodení, pretože nemali projekt vytlačený.
I keď v Moodli nebola žiadna zmienka o tom, že ho majú doniesť
vytlačený. Pekne sa tu však prejavil charakter a povaha p. Kultána – byť
arogantný, hľadať chybu v iných a stále točiť dokolečka niečo
o dodržiavaní termínov (i keď je to od veci, túto problematiku spomína
rád). A aby som nezabudol: platí iba to, čo vyhovuje jemu. (Čo bol hlavný
dôvod, prečo som presadzoval písomnú komunikáciu pred ústnou.)</p>

<p>Samotné odovzdávanie mi prišlo divné, keďže často sa tváril, ako by
sa to jeho netýkalo a ani ho nezaujímalo, čo hovorí dotyčný. Nejakými
poznámkami a skákaním do výkladu sa snažil upozorňovať na chyby. Ak mu
však niekto opontoval, debata skôr či neskôr končila frázou „To nie je
podstatné“ – ostatne ako mnohé iné debaty s ním. Za dosť
neprofesionálne určite považujem tvrdenie, že INT(10) v MySQL bude
strááášne veľké číslo, až také, že to bude 64bitové a 32bitový
procesor to nebude vedieť spracovať. Čo už len však dodať k tvrdeniu
pána cvičiaceho, že 2<sup>10</sup> je väčšie ako 2<sup>32</sup> a pomaly
rovnajúce sa 2<sup>64</sup>? Asi len: <strong>to nie je
podstatné</strong>.</p>

<p>Takéto správanie sa učiteľa voči študentom na štátnej škole by asi
prešlo bez povšimnutia. Avšak bohužial aj na súkromnej škole sme si museli
prejsť cez neadekvátny prístup k študentom, kvôli ktorému mnohí z nás
investovali radšej do súkromnej školy, aby sme ho nemuseli zažívať.
Niektorí by oponovali, že nás aj niečo z tých DB naučil. Nuž ak by sme
však aspoň polovicu času namiesto riešenia podivných termínov sa učili,
tak by vedeli o DB ešte viacej. Napísal som teda takúto kritiku ako reakciu
na dosť nepodarené cvičenia tento semester, a nech táto spätná väzba
nezostane len vnútri fakulty.</p>

<!-- by Texy2! -->]]></content:encoded>
			<wfw:commentRss>http://izsak.net/weblog/410/dr-ing-jaroslav-kultan-phd-zazitky-z-cviceni-z-databaz/feed</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Microsoft CRM 4</title>
		<link>http://izsak.net/weblog/406/microsoft-crm-4</link>
		<comments>http://izsak.net/weblog/406/microsoft-crm-4#comments</comments>
		<pubDate>Sun, 18 Apr 2010 07:47:15 +0000</pubDate>
		<dc:creator>Jozef</dc:creator>
				<category><![CDATA[IT]]></category>

		<guid isPermaLink="false">http://izsak.net/weblog/?p=406</guid>
		<description><![CDATA[
<p>Skúšam si Microsoft CRM 4 pre svoju osobnú potrebu a aj pre školský
projekt a samotná implementácia CRM nie je komplikovaná a šlo to aj bez
implementačnej príručky. Beží to na Windows Serveri 2008 R2 so SQL
Serverom 2008, zatiaľ bez podpory e-mailov a CRM mám v slovenskej
lokalizácii. Základná testovacia prevádzka sa dá rozchodiť v pohode, ak
dodržíte […]</p>
]]></description>
			<content:encoded><![CDATA[
<p>Skúšam si Microsoft CRM 4 pre svoju osobnú potrebu a aj pre školský
projekt a samotná implementácia CRM nie je komplikovaná a šlo to aj bez <a
href="http://www.microsoft.com/downloads/details.aspx?FamilyID=1ceb5e01-de9f-48c0-8ce2-51633ebf4714&amp;displaylang=en#filelist">implementačnej
príručky</a>. Beží to na Windows Serveri 2008 R2 so SQL Serverom 2008,
zatiaľ bez podpory e-mailov a CRM mám v slovenskej lokalizácii. Základná
testovacia prevádzka sa dá rozchodiť v pohode, ak dodržíte túto
postupnosť:</p>

<ol>
	<li>Základom je Windows Server 2008 R2 Standard, stačí bežná inštalácia
	a vytvorenie domény – inak CRM inštalácia vyhodí hnusnú chybu.</li>

	<li>Treba povoliť .NET Framework 3.5.1 feature, nainštalovať Web Server rolu
	s podporou ASP.NET a samozrejme zvoliť aj IIS 6 Management Compatibility
	nástroje.</li>

	<li>CRM 4 ešte vyžaduje mať nainštalovanú Indexing Services, takže
	z role File Services treba nainštalovať Windows Server 2003 Compatibility
	nástroje. Inak bude CRM inštalátoru úplne pri konci vadiť, že služba
	<strong>cisvc</strong> nie je nainštalovaná.</li>

	<li>Nasleduje SQL Server 2008, treba nainštalovať databázový engine a
	Reporting Services. Pre každú službu je vhodné vytvoriť samostatné konto
	v doméne. Po nainštalovaní treba aplikovať SP1, aby bol SQL Server
	kompatibilný s R2 verziou Windowsov. Reporting Services stačí nastaviť
	s predvolenými hodnotami.</li>

	<li>V tejto fáze už nie je problém nainštalovať CRM 4 na predvolený IIS
	Web Site, pri nastavovaní URL pre Reporting Service si treba dať pozor a
	použiť <strong>URL pre Reporting Service</strong>, nie pre Reporting Manager.
	Pri otázke na adresu e-mailového serveru som vynechal jeho nastavenie,
	pretože potom sa CRM tvárilo, že nevie nájsť Exchange server. V testovacej
	prevádzke sa dá zaobísť aj bez podpory e-mailov.</li>

	<li>Slovenský jazykový balíček pre CRM nájdete v Microsoft Download
	centre: <a
	href="http://www.microsoft.com/downloads/details.aspx?displaylang=sk&amp;FamilyID=50761e58-6040-4cf3-853a-f5ab535f7194">Jazykový
	balík k aplikácii Microsoft Dynamics CRM 4.0</a></li>

	<li>CRM sa samo neaktualizuje a je potrebné zohnať si Update Rollup 10,
	v prípade použitia Windows Serveru 2008 R2 samozrejme treba použiť
	aktualizácie určené pre amd64 architektúru. Aktualizácie treba
	nainštalovať v <a
	href="http://www.microsoft.com/downloads/details.aspx?displaylang=cs&amp;FamilyID=5da4d352-1d3f-4426-9c17-b256c30afdb9">českej</a>
	aj <a
	href="http://www.microsoft.com/downloads/details.aspx?displaylang=sk&amp;FamilyID=5da4d352-1d3f-4426-9c17-b256c30afdb9">slovenskej</a>
	verzii.</li>

	<li>Správca CRM musí v časti <strong>Nastavení &gt; Správa &gt;
	Jazyky</strong> povoliť slovenský jazykový balíček, čo bude trvať dlhšiu
	dobu – SQL Server po tejto akcii začne pekne vyťažovať procesor.</li>

	<li>Používatelia si môžu pomocou odkazu <strong>Nástroje</strong> na
	hlavnej lište zobraziť <strong>Možnosti</strong> a tam si na karte
	<strong>Jazyky</strong> zmeniť jazykovú mutáciu.</li>
</ol>

<p>A už sa stačí len zabávať s CRM a zlepšovať si vzťahy so
zákazníkmi :)</p>

<!-- by Texy2! -->]]></content:encoded>
			<wfw:commentRss>http://izsak.net/weblog/406/microsoft-crm-4/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Nová éra vývojových nástrojov</title>
		<link>http://izsak.net/weblog/403/nova-era-vyvojovych-nastrojov</link>
		<comments>http://izsak.net/weblog/403/nova-era-vyvojovych-nastrojov#comments</comments>
		<pubDate>Wed, 14 Apr 2010 10:08:53 +0000</pubDate>
		<dc:creator>Jozef</dc:creator>
				<category><![CDATA[Osobné]]></category>

		<guid isPermaLink="false">http://izsak.net/weblog/?p=403</guid>
		<description><![CDATA[
<p>Dočkali sme sa a pre mňa celkom znenazdajky sa objavilo Visual Studio
2010 už v pondelok. Launch event počas troch dní uvádza Visual Studio
2010, nástroje pre vývoj v SharePointe, nový Silverlight 4 a vývoj pre
Windows Phone. Celkom fasa veci, ak naozaj tie znalosti, ktoré mám z ASP.NET
WebForms a zo Silverlightu viem bez problémov použiť v SharePointe a
v Silverlighte […]</p>
]]></description>
			<content:encoded><![CDATA[
<p>Dočkali sme sa a pre mňa celkom znenazdajky sa objavilo Visual Studio
2010 už v pondelok. Launch event počas troch dní uvádza Visual Studio
2010, nástroje pre vývoj v SharePointe, nový Silverlight 4 a vývoj pre
Windows Phone. Celkom fasa veci, ak naozaj tie znalosti, ktoré mám z ASP.NET
WebForms a zo Silverlightu viem bez problémov použiť v SharePointe a
v Silverlighte bežiacom na Win Phone.</p>

<p>Hneď pri uvedení mali VS 2010 k dispozícii MSDN predplatitelia,
študenti cez Dreamspark naň tiež vôbec nemuseli čakať, keďže sa tam
Professional verzia objavila hneď, ostatní môžete použiť Express či
30 dňové trialky. Ešte keby im tak netrvalo sprístupniť mi MSDN Premium
v rámci MSP programu…</p>

<p>Integrovaná podpora všemožných nových funkcií do VS je naozaj
lákadlom – Office Ribbon v C++ má vlastný dizajnér, podpora pre Windows
7 Taskbar API priamo vo WPF a WPF či Silverlight dizajnéry. Malou novinkou je
zmena v projektoch pre Windows a konzolové aplikácie, keď projekt je
buildovaný pre x86 platformu. Spolu s .NET 4.0 to znamená podstatne
zrýchlenie spustenia aplikácie. Oplatí sa po upgrade prejsť svoje staré
projekty a manuálne v nich zmeniť platformu z AnyCPU na x86.</p>

<!-- by Texy2! -->]]></content:encoded>
			<wfw:commentRss>http://izsak.net/weblog/403/nova-era-vyvojovych-nastrojov/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Validácia formulárov na klientovi v ASP.NET MVC</title>
		<link>http://izsak.net/weblog/387/validacia-formularov-na-klientovi-v-asp-net-mvc</link>
		<comments>http://izsak.net/weblog/387/validacia-formularov-na-klientovi-v-asp-net-mvc#comments</comments>
		<pubDate>Tue, 09 Mar 2010 16:04:29 +0000</pubDate>
		<dc:creator>Jozef</dc:creator>
				<category><![CDATA[Osobné]]></category>

		<guid isPermaLink="false">http://izsak.net/weblog/?p=387</guid>
		<description><![CDATA[
<p>Formuláre tvorené v ASP.NET MVC frameworku priamo podporujú validáciu
vstupných údajov pomocou atribútov dostupných v Data Annotations API
(System.Compo­nentModel.Data­Annotations). Tieto atribúty vedia
skontrolovať, či bola zadaná nejaká hodnota, či je vyhovujúcej dĺžky
alebo ju skontroluje voči regulárnemu výrazu. Obrovská výhoda tohto API je
v generovaní klientských JavaScriptových pravidiel, s ktorými sa formulár
zvaliduje v prehliadači bez zbytočného post backu na […]</p>
]]></description>
			<content:encoded><![CDATA[
<p>Formuláre tvorené v ASP.NET MVC frameworku priamo podporujú validáciu
vstupných údajov pomocou atribútov dostupných v <a
href="http://msdn.microsoft.com/en-us/library/system.componentmodel.dataannotations.aspx">Data
Annotations API</a> (<code>System.ComponentModel.DataAnnotations</code>). Tieto
atribúty vedia skontrolovať, či bola zadaná nejaká hodnota, či je
vyhovujúcej dĺžky alebo ju skontroluje voči regulárnemu výrazu. Obrovská
výhoda tohto API je v generovaní klientských JavaScriptových pravidiel,
s ktorými sa formulár zvaliduje v prehliadači bez zbytočného post backu
na server.</p>

<p>Validácia v prehliadači vyžaduje knižnice <code>MicrosoftAjax.js</code>
a <code>MicrosoftMvcValidation.js</code>. Skripty si automaticky zistia, či na
stránke sú nejaké validačné pravidlá a tie použijú. Aby sme nemuseli
tieto pravidlá písať ručne, ASP.NET MVC má jednoduchý spôsob, ako ich
vygenerovať: <code>HtmlHelper.EnableClientValidation()</code>. Keď je na
stránke zapnutá validácia na strane klienta, pre každý formulár sa
vygenerujú pravidlá pre tie položky, pre ktoré ste zavolali funkciu
<code>HtmlHelper.ValidationMessageFor()</code>. Nedochádza teda ku validácii
celého objektu, ale iba tých vlastností, ktoré môžu byť na stránke
upravované (napríklad pri editácii objektu sa nemusí dať meniť jeho
názov – keďže pre takéto pole nezavoláte
<code>HtmlHelper.EditorFor()</code> a ani
<code>HtmlHelper.ValidationMessageFor()</code>, nebude validácia chybne
hlásiť, že žiaden názov nebol vyplnený).</p>

<p>Trieda označená validačnými atribútmi vyzerá takto:</p>

<pre>public class Comment
{
    [Required]
    [StringLength(40, MinimumLength = 5, ErrorMessage = "Meno musí mať 5 až 40 znakov.")]
    public string Name { get; set; }

    [Required(ErrorMessage = "Zadajte váš e-mail.")]
    [RegularExpression(@"^\w+@[a-zA-Z_]+?\.[a-zA-Z]{2,3}$", ErrorMessage = "Zadali ste nesprávny e-mail.")]
    public string Email { get; set; }

    [Required]
    [StringLength(140, MinimumLength = 5, ErrorMessage = "Správa musí mať 5 až 140 znakov.")]
    public string Text { get; set; }
}</pre>

<p>Kód, ktorý zobrazí formulár môže byť takýto:</p>

<pre>&lt;%@ Page Language="C#" Inherits="System.Web.Mvc.ViewPage&lt;MvcApplication1.Models.Comment&gt;" %&gt;
...
&lt;% Html.EnableClientValidation(); %&gt;
&lt;% using (Html.BeginForm()) {%&gt;

&lt;fieldset&gt;
    &lt;legend&gt;Fields&lt;/legend&gt;

    &lt;%= Html.EditorForModel() %&gt;

    &lt;p&gt;
        &lt;input type="submit" value="Create" /&gt;
    &lt;/p&gt;
&lt;/fieldset&gt;

&lt;% } %&gt;</pre>

<p>Výsledné JSON pravidlá si môžete pozrieť na adrese <a
href="http://codepaste.net/7jvdtv">http://codepaste.net/7jvdtv</a>.</p>

<p>Oveľa bohatšiu podporu pre validovanie formulárov má <a
href="http://plugins.jquery.com/project/validate">jQuery Validation plugin</a>.
ASP.NET MVC nemá na serverovej strane žiadnu podporu pre túto formu
validácie, avšak priamo MVC Futures obsahuje knižnicu
<code>MicrosoftMvcJQueryValidation.js</code> ktorá validačné pravidlá MVC
frameworku premení na formát podporovaný v jQuery. V tomto prípade nie je
potrebné používať <code>MicrosoftMvcValidation.js</code> súbor.</p>

<p>Pri validácii v ASP.NET MVC 2 RC2 môžete naraziť na problém so
<code>StringLengthAttribute</code> a jeho <code>MinimumLength</code>
vlastnosťou. Pretože táto bola pridaná v .NET 4.0 a MVC podporuje aj .NET
3.5, tak sa generuje pravidlo, ktoré neobsahuje <code>MinimumLength</code>
hodnotu. Na serveri teda dôjde k plnej validácii, na klientovi iba
čiastočnej. Toto je možné obísť použitím regulérnych výrazov, ale
napísaním si vlastnej <code>StringLengthAttributeAdapter</code> triedy. (Je
otázne, či táto chyba bude odstránená v release verzii.)</p>

<p>Pozrite si <a
href="http://izsak.net/docs/aspnet-mvc/msvalidation.html">výsledný formulár
s validáciou</a>.</p>

<p>PS: Regulérny výraz na e-mailovú adresu som prevzal z <a
href="http://regexlib.com/REDetails.aspx?regexp_id=16">RegExLib.com</a>.</p>

<!-- by Texy2! -->]]></content:encoded>
			<wfw:commentRss>http://izsak.net/weblog/387/validacia-formularov-na-klientovi-v-asp-net-mvc/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Unit testing videá</title>
		<link>http://izsak.net/weblog/381/unit-testing-videa</link>
		<comments>http://izsak.net/weblog/381/unit-testing-videa#comments</comments>
		<pubDate>Sat, 06 Mar 2010 22:28:00 +0000</pubDate>
		<dc:creator>Jozef</dc:creator>
				<category><![CDATA[Software]]></category>

		<guid isPermaLink="false">http://izsak.net/weblog/?p=381</guid>
		<description><![CDATA[
<p>Na konferencii NDC2009 vystupoval aj Roy Osherove, ktorý vie celkom pekne
prednášať o unit testingu. Video záznam z konferencie je dostupný na
blogu MSDN UP North vo forme torrentu. Odporúčam pozrieť si jeho
prezentácie, na ktorých predstavuje Test Driven Development, ukazuje hlavné
best practises pri písaní unit testov a taktiež objasňuje mockovanie.</p>
]]></description>
			<content:encoded><![CDATA[
<p>Na konferencii NDC2009 vystupoval aj Roy Osherove, ktorý vie celkom pekne
prednášať o unit testingu. Video záznam z konferencie je dostupný na
blogu <a
href="http://blogs.msdn.com/grothaug/pages/downloadable-ndc2009-videos.aspx">MSDN
UP North</a> vo forme torrentu. Odporúčam pozrieť si jeho prezentácie, na
ktorých predstavuje Test Driven Development, ukazuje hlavné best practises pri
písaní unit testov a taktiež objasňuje mockovanie.</p>

<!-- by Texy2! -->]]></content:encoded>
			<wfw:commentRss>http://izsak.net/weblog/381/unit-testing-videa/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Konfigurácia web aplikácií vo VS 2010</title>
		<link>http://izsak.net/weblog/375/konfiguracia-web-aplikacii-vo-vs-2010</link>
		<comments>http://izsak.net/weblog/375/konfiguracia-web-aplikacii-vo-vs-2010#comments</comments>
		<pubDate>Sun, 14 Feb 2010 21:17:39 +0000</pubDate>
		<dc:creator>Jozef</dc:creator>
				<category><![CDATA[Software]]></category>

		<guid isPermaLink="false">http://izsak.net/weblog/?p=375</guid>
		<description><![CDATA[
<p>Veľmi príjemnou zmenou v ASP.NET 4 je nový web.config súbor, ktorý
podstatne schudol a normálne obsahuje iba 2 potrebné direktívy. Od .NETu
2.0 web.config postupne rástol s každou novou verziou (3.0, 3.5, 3.5 SP1),
pretože pôvodný machine.config z 2.0 verzie sa nemenil, ale nové funkcie a
ich nastavenia pribúdali rapídne. Všetko čo potrebujeme určiť je použitá
verzia frameworku a nastaviť IIS, aby používal […]</p>
]]></description>
			<content:encoded><![CDATA[
<p>Veľmi príjemnou zmenou v ASP.NET 4 je nový web.config súbor, ktorý
podstatne schudol a normálne obsahuje iba 2 potrebné direktívy. Od .NETu
2.0 web.config postupne rástol s každou novou verziou (3.0, 3.5, 3.5 SP1),
pretože pôvodný machine.config z 2.0 verzie sa nemenil, ale nové funkcie a
ich nastavenia pribúdali rapídne.</p>

<p>Všetko čo potrebujeme určiť je použitá verzia frameworku a nastaviť
IIS, aby používal ASP.NET moduly.</p>

<pre>&lt;configuration&gt;
  &lt;system.web&gt;
    &lt;compilation debug="true" targetFramework="4.0" /&gt;
  &lt;/system.web&gt;

  &lt;system.webServer&gt;
    &lt;modules runAllManagedModulesForAllRequests="true" /&gt;
  &lt;/system.webServer&gt;
&lt;/configuration&gt;</pre>

<p>Druhou novinkou je správa rôznych konfigurácii web aplikácie priamo
v projekte. Doteraz bol v projekte jeden Web.config súbor, ktorý sa
používal hlavne počas vývoja a pri nasadení aplikácie do produkčného
prostredia bolo potrebné vytvoriť iný konfiguračný súbor a ten udržiavať
samostatne. Problém bol aj s verziovaním nastavení ktoré mal každý
vývojar iné. Teraz máme k dispozícii transformačné konfiguračné
súbory.</p>

<p>Visual Studio v nových projektoch vytvorí základný Web.config súbor a
k nemu dve ďalšie verzie: Web.Debug.config a Web.Release.config. Základný
konfiguračný súbor sa použivá rovnako ako doteraz – nastavíte v ňom
všetko potrebné pre beh webovej aplikácie. Nové Debug a Release
konfiguračné súbor slúžia na popísanie zmien v ladiacej a produkčnej
verzii. Ich syntax je presne taká istá ako v normálnych Web.config
súboroch. Používajú však <strong>XML-Document-Transform</strong>
rozšírenie, čo sú špeciálne XML atribúty, ktoré určujú, ako budú
zmeny aplikované.</p>

<p>Transformácie XML dokumentu umožňujú pridať či odstrániť určité XML
elementy a atribúty, nahradiť celý XML element úplne novým elementom, ale
aj využiť XPath výrazy na definovanie podmienok, za akých má dôjsť
z aplikovaniu zmi­en.</p>

<p>Typicky je teda v Release verzii odstránený debug="" atribút a nastavený
connection string na produkčnú databázu:</p>

<pre>&lt;configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform"&gt;
  &lt;connectionStrings&gt;
  &lt;add name="MyDB"
    connectionString="Data Source=ReleaseSQLServer;Initial Catalog=MyReleaseDB;Integrated Security=True"
    xdt:Transform="SetAttributes" xdt:Locator="Match(name)"/&gt;
  &lt;/connectionStrings&gt;
  &lt;system.web&gt;
    &lt;compilation xdt:Transform="RemoveAttributes(debug)" /&gt;
  &lt;/system.web&gt;
&lt;/configuration&gt;</pre>

<!-- by Texy2! -->]]></content:encoded>
			<wfw:commentRss>http://izsak.net/weblog/375/konfiguracia-web-aplikacii-vo-vs-2010/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
