Monthly Archives: October 2007

"Zmenšení" pole

Před pár týdny jsem do jednoho projektu potřeboval “zmenšit” pole. Šlo o to, že čísla v poli se posílala poměrně omezeným kanálem (mail+url) a vzhledem k tomu, že to byla IDčka záznamů z DB, která byla plus mínus “za sebou” a rostla s časem chtělo to mít alespoň trochu konstatní velikost výsledku (až budou IDčka v řádu tisíců zbytečně plýtváme). Udělal jsem proto triviální “pack” a “unpack”.

// the array SHOULD be sorted< ?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

static int[] Pack(int[] input)

{

//we need at least 2 items in array

if (!(input.Length > 1))

throw new ArgumentException();

int[] result = new int[input.Length];

result[0] = input[0];

for (int i = 1; i < input.Length; i++)

{

result[i] = input[i] – input[i - 1];

}

return result;

}

static int[] Unpack(int[] input)

{

//we need at least 2 items in array

if (!(input.Length > 1))

throw new ArgumentException();

int[] result = new int[input.Length];

result[0] = input[0];

for (int i = 1; i < input.Length; i++)

{

result[i] = result[i - 1] + input[i];

}

return result;

}

Pokud jsou ID přibližně za sebou (což jsem já měl) a nejsou tam velké skoky, můžeme tímto poměrně dost znaků ušetřit.

Pozn.: Nakonec se tento postup stejně nepoužil, takže to byla práce do šuplíku na blog. V případě použití doporučuji pořádně otestovat. :)

Ukázka:
Input:
1000
1001
1002
1003
1010

Pack:
1000
1
1
1
7

Unpack:
1000
1001
1002
1003
1010

Firebird Developers’ Day 2007

Úplně bych na to při všem tom shonu zapomněl.

Rozhodli jsme se uspořádat jednodenní konferenci věnovanou problematice vývoje databázových aplikací za využití databázové platformy Firebird. Na základě vašeho hlasování se Firebird Developers’ Day 2007 uskuteční v Praze první listopadový den. A je opravdu na co se těšit.

Konference Firebird Developers’ Day 2007 se uskuteční 1. listopadu 2007 na pražské Přírodovědecké fakultě Univerzity Karlovy, Albertov 6, v sále označovaném jako Věž. K dispozici bude v den konání konference navigace.

Registrace začíná v 10.30 a vstup je zcela zdarma, podmínkou je pouze registrace. Budete-li mít jakékoli problémy s registračním formulářem, kontaktujte nás, prosím, na adrese fdd2007reg@dbsvet.cz. Počet míst je omezen, proto doporučujeme v případě zájmu zaregistrovat se co nejdříve. Celý program je v českém jazyce.

Program:

  • 10:30 – 11:00 Registrace
  • 11:00 – 11:05 Zahájení a úvodní slova
  • 11:05 – 11:35 Co nového okolo Firebirdu? [Jiří Činčura, nezávislý IT specialista]
  • 11:40 – 12:25 Optimalizace počítání řádků [Ivan Přenosil, nezávislý IT specialista]
  • 12:30 – 13:15 Základy instalace a optimalizace [Slavomír Skopalik, Elekt Labs]
  • 13:15 – 13:30 Přestávka
  • 13:30 – 14:15 .NET Framework a Firebird (Firebird ADO.NET Data Provider) [Jiří Činčura, nezávislý IT specialista]
  • 14:20 – 15:00 Využití optimalizátoru v praxi [Pavel Císař, IBPhoenix]
  • 15:00 – 15:15 Přestávka
  • 15:15 – 15:40 Jak realizovat prostorová data nad Firebirdem? [Lukáš Brůha, KAGK]
  • 15:45 – 16:15 Slon nebo pták ohnivák? [Zdeněk Kotala, Sun Microsystems]
  • 16:15 – 16:20 Zakončení

Zdrojáky .NETu

Pokud jste ještě nezaznamenali, pod “Microsoft Reference License (MS-RL)” (kdo ví co to je, ať zvedne ruku napíše komentář :) ) budou uvolněny zdrojáky pro .NET Framework 3.5. Více na http://weblogs.asp.net/scottgu/archive/2007/10/03/releasing-the-source-code-for-the-net-framework-libraries.aspx. Paráda, nemyslíte? Člověk se tak bude moci poučit z kódu jiných a rozšířit si obzory “jak se “to/co” dělá”.

Mělo by jít o .NET Base Class Libraries (System, System.IO, System.Collections, System.Configuration, System.Threading, System.Net, System.Security, System.Runtime, System.Text, etc), ASP.NET (System.Web), Windows Forms (System.Windows.Forms), ADO.NET (System.Data), XML (System.Xml), and WPF (System.Windows) a později další.