Si, pentru ca nu mi-am revenit si pentru ca am obtinut doar 3 linkuri, desi nu imi place sa amestec aici cele 2, mai fac 1 data oferta:
1 programming hour for a link(in a > 5 month blog) to http://tinyurl.com/qnt2d7 with text : Ignat Gratian .
Si, pentru ca nu mi-am revenit si pentru ca am obtinut doar 3 linkuri, desi nu imi place sa amestec aici cele 2, mai fac 1 data oferta:
1 programming hour for a link(in a > 5 month blog) to http://tinyurl.com/qnt2d7 with text : Ignat Gratian .
Daca puneti pe controller HandleError si vreti pe o metoda sa interceptati HandleError pentru o anumita exceptie, nu uitati sa puneti order=0 pentru HandleError de pe controller.
[InfovalNew.HandleErrorAndLog(Order=0)]
public class istoricController : Controller
{
[InfovalNew.HandleErrorAndLog(View = "invaliddate",ExceptionType = typeof(infoObj.InvalidDateTime))]
public string valoarebnr(string year, string month, string day,string idmoneda)
{}
}
Nu eram multumit de vechiul sitemap de la ASP.NET – din singurul motiv ca nu e dinamic – adica nu tine seama ca poate exista Categorie\Produs\{id}\edit.
Ca omul puturos , am cautat pe google si am gasit pe codeplex http://mvcsitemap.codeplex.com/
Citeva observatii :
Succes!
Facusem un site care incarca , dintr-o BD , prin EntityFramework si Linq2Sql date dintr-o BD.Problema era ca dura cel putin 30 de secunde.
Ma uit in pagina – nu era de acolo – era aproape goala.
Ma uit la Sql-urile generate de EF si L2S -se executau in milisecunde.
Ma uit cu NUnit sa vad in cit timp se incarca ToList<> – milisecunde.
In disperare , pun Fiddler si browsez http://<numemasina>/aplicatie ( nu folositi localhost, ci numele masinii) – si – surpriza : imi arata , cu rosu, ca declaram un serviciu Ajax in ScriptManager –serviciu care nu exista , codul fiind copiat din alta aplicatie de a mea…
Iar ScriptManager chiar incerca sa vada daca serviciul exista – chiar daca NU il foloseam!
Si , pina sa isi dea seama, dura alea 30 de secunde…
Oh si apropo :in Application_OnError aveam logata eroarea cu log4net – daca ma uitam in loguri eram destept 😉
Concluzie : nu puneti in ScriptManager servicii decit daca e necesar…
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!
Zilele(noptile?) acestea, cum am spus de atitea ori, am trecut pet-project, www.infovalutar.ro la ASP.NET MVC.
Si ma gindeam cum sa ii imbunatatesc timpul de afisare. OK, yahoo slow pentru inceput imi spunea ca nu am expires header la imagini. Stiam ca exista in IIS -dar cum le setez la hosting? Dau telefon, amabil, ii spun unde sa faca – dar … ceva nu a mers. Si au ramas ca la inceput.
Asa incit le-am mapat o extensie proprie, ashx, si le-am pus sa fie interceptate de un handler si le-am setat cam ca aici
OK –teoretic asta cam ar trebui sa o faca oricine.
Ce parere aveti de un mini-site de best practices , gen wiki, pe care sa il tinem updatat la zi cu ce intilnim noi ca developeri ?
Cum am spus, am trecut www.infovalutar.ro de la asp.net 1.1 la ASP.NET MVC.Trecerea nu a fost usoara, si inca sunt citeva lucruri de facut.
Totusi una din probleme care mi-a dat de furca a fost ca ChartImage , la refresh, nu se mai afisa. Foloseam asta la afisarea grafica a datelor cursurilor, de ex. http://infovalutar.ro/bnr/graphic/usd
Bun … problema era ca stergea fisierul png generat. Am pus “deleteAfterServicing “ la false * si o sa le sterg in momentul in care generez cursurile.
Totusi, mai aveam o problema . Daca accesam site-ul cu Firefox si dadeam refresh, se vedea. Dar aceeasi pagina , cu IE 7 , nu mai afisa – desi in codul HTML generat codul de la AXD era ACELASI, IMAGINEA era pe hard …
Dupa mai multe cautari am dat de pagina asta, http://blogs.msdn.com/deliant/archive/2008/12/02/managing-chart-generated-images-with-chart-image-handler.aspx care are TOATE setarile si ma dat de privateImages … L-am pus la false si gata!
Rezumat : pentru a folosi ChartImage cu succes cu IIS 7 aveti nevoie de 3 setari:
<appSettings>
<add key="ChartImageHandler" value="storage=file;privateImages=false;timeout=600;dir=….;deleteAfterServicing=false;" />
</appSettings>
A doua in httphandlers
<httpHandlers><add path="ChartImg.axd" verb="GET,HEAD,POST" type="System.Web.UI.DataVisualization.Charting.ChartHttpHandler, System.Web.DataVisualization, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" validate="false" />
A treia in handlers
<add name="ChartImageHandler" preCondition="integratedMode" verb="GET,HEAD,POST" path="ChartImg.axd" type="System.Web.UI.DataVisualization.Charting.ChartHttpHandler, System.Web.DataVisualization, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
Si, bineinteles, daca hostingul nu a instalat inca controalele, sa puneti din references System.Drawing si System.Web.DataVisualization “Copy local” la true – ca sa le aveti in bin
Succes!
Programe, majoritatea(99,9%) free , pe care le folosesc ca programator si ca pasionat al Web-ului si GTD
E o continuare la http://serviciipeweb.ro/iafblog/2008/01/18/mini+Free+Tools+List+2007.aspx
si bineinteles inspirata de Hanselman
Fara prea multa discutie, iata lista:
| Nume | Folosit pentru | Adresa Web | Comentarii |
| 7-Zip | arhivare (zip, rar, etc) | www.7-zip.org | De ce sa dai banii pe Winzip ? |
| NOTEPAD++ | editare fisiere | http://notepad-plus.sourceforge.net/uk/site.htm | pentru programatori a se folosi si pluginurile |
| Yahoo! Messenger | Chat | http://messenger.yahoo.com/download | |
| Dosbox | Dos emulator | http://www.dosbox.com/ | Pentru Doom1 si Doom2 |
| Download Statusbar 0.9.6.4 | vizualizat status bar | https://addons.mozilla.org/en-US/firefox/addon/26 | firefox addon |
| Google notebook | firefox addon – bookmark | https://www.google.com/notebook | se sincronizeaza pe accountul de google |
| Firefox | browser web | http://www.mozilla.com/en-US/firefox/ | fara flash ,activex, silverlight |
| IE8 | browser web | http://www.microsoft.com/windows/internet-explorer/default.aspx | cu flash + activex + silverlight |
| Virtual Dub | Editor de avi | http://virtualdub.sourceforge.net/ | De ex., pentru split fisiere avi in 2-3 parti ca sa incapa pe YouTube |
| morning coffee | browsing de dimineata | https://addons.mozilla.org/en-US/firefox/addon/2677 | firefox addon |
| leech block | blocat browsing ca sa nu pierd timpul | https://addons.mozilla.org/en-US/firefox/addon/4476 | firefox addon |
| startup delayer | ca sa nu porneasca toate programele la startup | http://www.r2.com.au/software.php?page=2&show=startdelay | |
| winamp | muzica | http://www.winamp.com/ | |
| windows live writer | scris pe blog acest articol | http://windowslivewriter.spaces.live.com/ | |
| cd burner xp | inregistrat cd-uri | http://cdburnerxp.se/ | |
| vlc media player | play avi, mpg, etc | http://www.videolan.org/vlc/ | |
| pwdgen | generat parole | http://serviciipeweb.ro/downloads/pwdgen/ | windows |
| pwdgen | generat parole | http://serviciipeweb.ro/downloads/pwdgen/index.aspx | site web |
| adobe acrobat reader | citit pdf-uri | http://get.adobe.com/reader/ | |
| cam studio | inregistrat avi, flash | http://sourceforge.net/projects/camstudio/ | |
| sync toy | sincronizat fisiere pe USB | http://www.microsoft.com/Downloads/details.aspx?familyid=C26EFA36-98E0-4EE9-A7C5-98D0592D8C52&displaylang=en | |
| irfan view | Poze | http://www.irfanview.com/ | Cu addins |
| Read it later | Pentru a tine minte ce vreau sa citesc de pe web- dar nu am avut timp | http://www.ideashower.com/ideas/launched/read-it-later/ | Firefox add-ons |
| clamwin | anti virus | http://www.clamwin.com/ | |
| Magic Disc | montare ISO | http://www.magiciso.com/tutorials/miso-magicdisc-overview.htm | merge si pe vista |
| DVD Decrypter | Copiat dvd-uri | http://www.dvddecrypter.org.uk/ | |
| DVD Shrink | Micsorat DVD-uri | http://www.softpedia.com/get/CD-DVD-Tools/CD-DVD-Rip-Other-Tools/DVD-Shrink.shtml | De folosit doar cu DVD Decrypter |
| Unreal commander | Clona de Total Commander | http://unrealcommander.biz/download.php | |
| Download Statusbar 0.9.6.4 | De aranjat download in jos la Mozilla | http://downloadstatusbar.mozdev.org/ | Firefox addon |
| FireShot | Capturat imaginea firefox | http://screenshot-program.com/fireshot/ | Firefox addon |
| Foxclocks | Ora pe glob | http://www.stemhaus.com/firefox/foxclocks/ | Firefox addon |
| TimeTracker | Cit timp pierd/csitig pe web | http://www.usablehack.com | Firefox addon |
| TwitterFox | Pentru twitter | http://www.naan.net/trac/wiki/TwitterFox | Firefox add-on |
| FaviconizeTab 0.9.8.2 | Micsoreaza tab-urile | http://espion.just-size.jp/archives/06/308085916.html | Firefox add-on |
| Save | Salveaza imaginile din tab | https://addons.mozilla.org/en-US/firefox/addon/3404 | Firefox add-on |
| Images | |||
| Synctoy | Sincronizat fisiere USB ó PC | http://www.microsoft.com/downloads/details.aspx?familyid=c26efa36-98e0-4ee9-a7c5-98d0592d8c52&displaylang=en | |
| Paint.net | Editor avansat de imagini | http://www.getpaint.net/ | |
| Gmail Tasks | Pentru a tine minte taskurile personale | http://mail.google.com/mail/#settings/labs | Se pune din Labs/in google email si se afla chiar sub contacts |
| CamStudio | Inregistrat video | http://sourceforge.net/projects/camstudio/ |
Programare
| ssms tools | addin de sql server pentru arhivat istorie sql | http://www.ssmstoolspack.com/ | merge si pe express |
| ADAM | Active drectory like | http://www.microsoft.com/downloads/details.aspx?familyid=9688f8b9-1034-4ef6-a3e5-2a2a57b5c8e4&displaylang=en | Teste pentru integrare AD |
| Svn1Click | Pentru source control | http://svn1clicksetup.tigris.org/ | |
| moq | testare fara BD | http://code.google.com/p/moq/ | cu NUnit |
| regulator / regulazy | expresii regulate | http://weblogs.asp.net/rosherove/pages/tools-and-frameworks-by-roy-osherove.aspx | |
| XML Notepad 2007 | vazut fisiere XML, reformatare | http://www.microsoft.com/downloads/details.aspx?FamilyId=72D6AA49-787D-4118-BA5F-4F30FE913628&displaylang=en | bune pentru generat fisiere word, excel, etc. |
| Reflector | decompilare | http://www.red-gate.com/products/reflector/ | de downloadat si addinurile ( de ex., FileDisassembler ) |
| Texter | Coduri scrise automat | http://lifehacker.com/software/texter/lifehacker-code-texter-windows-238306.php | De ex : Ab = ::scr::<asp:Button runat=server ID= {RIGHT} />{LEFT}{LEFT}{LEFT}{LEFT}{DEL}{LEFT} Ij = inner join sf* = select top 30 * from trd = <tr> <td></td> <td></td> </tr> |
| WinMerge | diferente intre fisiere/foldere | winmerge.org | |
| WebDeveloper | resize, image width/height, image fara atribute si multe altele | https://addons.mozilla.org/en-US/firefox/addon/60 | pentru verificat site-urile proprii |
| HTML Help Workshop | creeare fisiere CHM help | http://www.microsoft.com/downloads/details.aspx?FamilyID=00535334-c8a6-452f-9aa0-d597d16580cc&displaylang=en | |
| log4net | logare erori, debug | logging.apache.org/log4net | |
| .NET Managed Provider for Oracle | conexiune oracle | http://www.microsoft.com/downloads/details.aspx?FamilyId=4F55D429-17DC-45EA-BFB3-076D1C052524&displaylang=en | |
| nunit | teste automate | http://www.nunit.org/index.php | |
| fiddler | interceptat trafic web propriu | http://www.fiddler2.com/fiddler2/ | |
| vs2008 express + sql server 2008 express with advanced services(SQL Server Management Studio) | site-uri, programe | http://www.microsoft.com/express/ | |
| Microsoft Virtual PC | Instalat programe de evaluare | http://www.microsoft.com/windows/downloads/virtualpc/default.mspx | |
| Windows Power Shell | Scripturi de folosit pe servere | http://www.microsoft.com/windowsserver2003/technologies/management/powershell/download.mspx | |
| stringtemplate | generare fisiere | http://www.stringtemplate.org/ | salvezi fisierele ca XML 2003 si le generezi “on the fly” |
| Sharpzip | Zipuit fisiere+foldere | http://icsharpcode.net/ | |
| Imacros | Generat teste interfata web | http://www.iopus.com/imacros/firefox | Firefox addon |
| Measureit | Cit de mari sunt pixelii? | http://www.kevinfreitas.net/pro/extensions/ | |
| Dust-Me Selectors 2.11 | Care css este neutilizat | http://www.sitepoint.com/dustmeselectors/ | Firefox add-on |
| Extension List Dumper | Face lista cu firefox addon | http://sogame.awardspace.com/ | Firefox add-on |
| Save complete | Salveaza pagini web | https://addons.mozilla.org/en-US/firefox/addon/4723 | Firefox add-on |
| Yahoo slow | Verifica rapiditatea de incarcare | http://developer.yahoo.com/yslow | Firefox add-on |
| Firebug | Verificat erori site-uri | https://addons.mozilla.org/en-US/firefox/addon/1843 | Firefox add-on |
| Filezilla | Copiat ftp | http://filezilla-project.org/download.php?type=client | |
| SysInternals | De vizualizat fisier locked, etc | http://technet.microsoft.com/en-us/sysinternals/default.aspx | |
| Windows PowerShell | Backupuri BD, fisiere pe hard, alte mici tool-uri | http://www.microsoft.com/windowsserver2003/technologies/management/powershell/download.mspx |
Addonuri free pentru programe pe bani
USB
| Portable Apps | Aplicatii portabile | http://portableapps.com/ | |
| Lupo Pen Suite | Aplicatii portabile | http://www.lupopensuite.com/ |
Care sunt ale voastre ?
partea 1 din 3 http://www.youtube.com/watch?v=D7T8xRo16IM
partea 2 din 3 http://www.youtube.com/watch?v=tVwFSpi7WBI
partea 3 din 3 http://www.youtube.com/watch?v=uQFlH3Ohh7I
Pentru ca m-am plictisit sa raspund la intrebari, am scos prima productie pe youtube despre cum sa faci fill la un combobox din BD – cu sau fara Linq 2SQL
Daca aveti alte idei de tutoriale (ultra)scurte, va rog sa spuneti. Si nu, nu am uitat de tutorialul de .NET – doar ca am copiii raciti – si mi-e destul de greu sa imi adun ideile…