De nu stiu cite ori am avut de facut istoricul de tabele. Am incercat de toate – triggeri, Change Data Capture ( si –reclama - GUI http://cdchelper.codeplex.com/ ) . Dar fiind programator mi-a placut sa le fac din cod – insa trebuia sa tin minte de fiecare data sa insereze inca ceva.
Acum , cu EF4 si template – le pot face automat. Solutia o gasiti aici :
http://msprogrammer.serviciipeweb.ro/2010/06/28/ef-automatic-history-of-table-and-t4-files-tt-files/
Are citeva conventii/presupuneri despre structura tabelelor ( ca au _history ca sufix si ca au cimpurile [ModifiedDate], [ModifiedBy], [ModifiedType] ) dar se poate modifica din fisierul tt.
Daca nu ma credeti, downloadati proiectul history
(Apropo : fisierele tt merg doar cu Windows 2010 – iar codul merge pentru EF4 , care genereaza si FK-urile pentru obiecte)
Am facut un proiect care are cele mai importante template-uri pe care le-am folosit in ASP.NET MVC ( dropdown, data, numeric)
Downloadati de aici
http://msprogrammer.serviciipeweb.ro/2010/05/30/mvc-helper-templates/
Fara sa compilati, vedeti ce output da codul acesta:
decimal? v = 100; Console.WriteLine(v); decimal? x = null; x += v.Value; Console.WriteLine(x);
Ok, e clar raspunsul avind in vedere intrebarea ...
Sunt pe cale sa termin un ebook despre ce poti face cu Visual Studio 2010 si .NET 4.0 . Ca de obicei, o sa fie free - si, ca de obicei, nu pot sa il termin singur si am nevoie de ajutorul vostru. O sa incerc sa fie gata inainte de
Mai sunt de scris capitole despre
TODO VS2010 : WPF, Workflow,Silverlight, Azure, Reporting , Sharepoint, DatabaseProject, SetupProject, Extensibility, Setup , TestProject, CodeAnalysis,Help, Windows Mobile , F#
TODO .NET 4 : CodeContracts, Parallel Extensions, (contra)variance, Tuples, SortedSet si altele
Daca vreti sa contribuiti (cod + text) , va rog sa imi spuneti (email )!
setari globale (write once, read more). De obicei stocate in
Path.GetDirectoryName( Assembly.GetEntryAssembly().GetName().CodeBase))
setari de user (write –read). De obicei stocate in
Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData)
User settings ,application settings
HKCU, HKLM
Se pune problema unde se serializeaza : hard, baza de date.
http://jachman.wordpress.com/2006/09/11/how-to-access-ini-files-in-c-net/
http://www.codeproject.com/KB/cross-platform/INIFile.aspx
Puteti crea o tabela cu 3 coloane : Obiect,Nume,Valoare. Acestati cu EF, L2S , NHibernate sau orice altceva.
Downloadati codul
Tutoriale video aici
Doua noi tutoriale video despre a salva setarile cu o clasa ce poate fi serializata in fisierul de configuratie si inca unul despre salvarea in registry
Tutorial pe YouTube aici:
Aplicatia este www.scurt.ro si o gasiti la adresa www.scurt.ro. Este o aplicatie de shortening service ( tinyurl si bit.ly fiind unele cunoscute deja).
Documentatia aplicatiei o gasiti la adresa http://www.scurt.ro/Home/About .
Mai intii , ce vreau sa fac cu aceasta aplicatie: Vreau sa arat ca programarea este doar baza piramidei. Si ca munca pentru o aplicatie simpla este destul de mare, in plus mai trebuie tot felul de persoane - testare,raportare, administrator de BD, SEO specialist, marketing, vinzari si altii…
Aplicatia mai are citeva chestii de facut ( de ex., paginile pentru utilizatorii inregistrati, logare,erori , add-on de IE si Firefox, SEO, etc- le gasiti in documentul http://www.scurt.ro/Docs/aplicatia%20scurt.docx )
Pentru cei care ma ajuta nu pot sa le promit nimic – decit ca vor fi mentionati printre autori –si vor avea link pus pe o pagina care trebuie definita.
Cine vrea sa ma ajute, va rog sa cititi documentul, downloadati sursele – si vorbim pe email!
Multumesc,
Andrei
Am avut ocazia sa am pe mina Dot Trace de la Jet Brains. Si l-am incercat pe o aplicatie Windows, dar unde si-a aratat puterea a fost in aplicatii Web.
Ca sa vezi ce iti ia cel mai mult timp din aplicatie ai putea sa faci asa : dupa ce ai facut un snapshot, apesi pe plain view, dupa care apesi pe filter. Frumos din partea lui ca vine cu citeva definitii deja existente pentru tool-uri pe care nu vrei sa le vezi la inceput :
Dar poti sa mai adaugi si tu altele – daca vezi ca obtii in fata alte chestii(MS, log4net) de care vrei sa scapi si esti 99% sigur ca sunt optimizate la greu.
In fine, dupa ce dai OK, poti incepe sa inspectezi codul. Asa am vazut ca, pentru o pagina in care ar fi trebuit chemat “get_LastStep” de 9 ori , se chema de 18 ori cu un timp total de 11 ms. Concluzia : se impune un cache – macar primitiv!
Ca puncte tari : are export in XML. Dar tare m-ar fi bucurat un export in Excel – sa pot sa fac eu sortare /filtrare si alte chestii…
De avut NEAPARAT!
De folosit oricind dupa terminarea unui proiect(atentie : aici se vede cit de bune au fost testele!)
Prezentarea va fi marti, 20 octombrie 2009, ora 16 si voi vorbi despre (citez)
Aceasta sesiune este destinata, pe de o parte, administratorilor de baze de date care au mai mult de un server Microsoft SQL 2008 de administrat; pe de alta parte acelor admistratori care intocmesc rapoarte centralizate ad-hoc de la mai mult de un server Microsoft SQL 2008. De asemenea, invitam la acest seminar online pe toti cei care vor sa se puna la curent cu noile feature-uri din Microsoft SQL Server 2008.
Despre ce vom vorbi:
In acest micro seminar de SQL Server 2008 se vor prezenta modalitati de executare a unui script (de ex., monitorizare a spatiului liber de pe hard disk, defragmentare indecsi) pe mai multe instante de SQL Server 2008:
1. Multiserver results, http://blogs.msdn.com/sqlrem/archive/2008/02/04/multiple-server-query-execution-in-sql-server-2008.aspx
2. Data Collection, http://technet.microsoft.com/en-us/library/bb677180.aspx
3. Proiect propriu, http://sqlconsolidate.codeplex.com/
Va astept sa va inregistratiti aici
http://msevents.microsoft.com/CUI/WebCastEventDetails.aspx?EventID=1032428409&EventCategory=4&culture=ro-RO&CountryCode=RO
Later Edit:
Vreau sa imi cer scuze ca nu am putut tine prezentarea. Motive independente de vointa mea, desi imi luasem zi libera, m-au tinut pina la ora 17 ...
Promit sa fac prezentarea cu prima ocazie.
Inca o data, scuze!
Am facut cu ajutorul lui codului de la Witty un bot de curs valutar pentru BNR si BCE. Ca functionalitate se poate verifica trimitind @cursval <banca> <moneda>, de ex @cursval bnr usd sau @cursval bce usd.
Ca si cod, e super simplu de folosit Witty :se include TwitterLib si se scrie codul la genul :
TwitterNet t = new TwitterNet("cont de twitter", TwitterNet.ToSecureString("parola")); u = t.Login(); string since = DateTime.Now.ToString(); (var message in t.GetReplies(since))
{
}
si cam asta e tot. Da , sunt de acord ca ar fi trebuit sa studiez twitter api …dar zau, daca ai deja codul sursa si libraria, de ce sa reinventezi roata? A, singurul motiv este ca la update-uri scrie “from Witty” …. E normal sa dau credit, totusi!
Theme design by Jelle Druyts