Epp a Bayer AIDS botranyrol kerestem anyagokat, amikor ezt talaltam:
Deconstructing The Myth Of AIDS (Gary Null)
Hat, nem tudom…
Epp a Bayer AIDS botranyrol kerestem anyagokat, amikor ezt talaltam:
Deconstructing The Myth Of AIDS (Gary Null)
Hat, nem tudom…
A H1N1 vakcináról
Errol eszembejut a Robert F. Kennedy Jr. (Crimes Against Nature) Daily Show beszelgetes.
Most hogy probaltam a C#-ban megirt kodot VB-re atirni jottem ra, hogy meg a 3.5-os VB.NETben sincs automatikusan implementalt property…
Automatically implemented properties
Auto-implemented Properties in VB and C#
Igaz, hogy Delphiben sincs, de nem is nagyon van ra szukseg. A VB-nek viszont nagyon kene.
Lassuk mit tudnak az automata konverterek:
Az elso viszonylag jol hasznalhato, bar meg nem volt idom tesztelni
Convert C# to VB.NET
a tobbi amit eddig talaltam ennel gyengebb:
converter.telerik.com
KamalPatel.Net – Convert C# to VB .NET
Az elkeszult projektet nem art neha ellenorizni:
ASP.NET Memory Leak Case Study: Sessions Sessions Sessions
Production Debugging for .NET Framework Applications
Windows Debuggers: Part 1: A WinDbg Tutorial
Ha valakinek nincs kedve debuggerekkel szorakozni akkor a jo kis adminisztratori eszkoz is szolgalhat hasznos informaciokkal: Admin. Tools – Performance Monitor
A titok a megfelelo szamlalok kivalasztasaban van. (hdd-hez a disk queue-t ajanlottak)
.NET CLR Memory – aspnet_wp – # Bytes in all Heaps
ASP.NET Applications – Cache API Entries
Process – aspnet_wp – Private Bytes
.NET Framework General Reference: Memory Performance Counters
.NET Framework Developer’s Guide: Performance Counters for ASP.NET
Ha valaki sql-lel foglalkozik akkor tudnia kell mi az az SQL Injection, es hogy hogyan lehet vedekezni ellene.
pl. php + MySQL : mysqli_real_escape_string()
php + PostgreSQL : pg_escape_string()
tovabbi leiras :addslashes()
(html generalasakor ajanlatos megnezni a htmlspecialchars(), htmlentities() fuggvenyeket)
MSSQL-ben tobb lehetoseg is van az escape character hasznalata mellett:
How To: Protect From SQL Injection in ASP.NET
Az SqlParameter Class hasznalata akkor is jo, ha sql queryben datetime tipusokat kell osszehasonlitani (es nem tudjuk milyen istenverte formaban varja tolunk a datumot)
SqlDataAdapter adapter = new SqlDataAdapter(
"SELECT * FROM Food WHERE expdate < = @expd", connection);
adapter.SelectCommand.Parameters.Add("@expd", SqlDbType.DateTime).Value = DateTime.Now;
a kapcsolatok megfelelo kezelesere erdemes elolvasni ezt:
C# Using Statement
Adatbazis kapcsolat tarolasa web.config-ban (mert ott jo, vagy machine.config-ban):
How to: Read Connection Strings from the Web.config File
vagy ConfigurationSettings.AppSettings[...]
Az adatbazis tervezesrol nekem azt mondtak, hogy: Tapasztalat kell hozza. Az informatika mas teruletein szinte mindenhol fiatalok dolgoznak, egyetemistakat vesznek fel. Adatbazistervezesre meg kozepkoruakat, idosebbeket.
Bar az egyetemen tanultam ket felevet, es azota is gyakran hasznalom, de tudom, hogy nem vagyok szakerto. Sok mindent meg lehet tanulni otthon, de amikot tobb gigas vallalati adatbazisokkal kell dolgozni az mas erzes. Viszont vannak pillanatok amikor meglepodok, hogy mennyire nem ertenek adatbazisokhoz emberek akiknek ezzel kell foglalkozni munkahelyukon.
Szoval itt van egy kis alap, hogy legalabb latszolag rendes legyen a megtervezett adatbazis, ha egy hozza nem ertot rakenyszeritenek ilyen feladatra.
A tobb fele karakteres adattipus kozotti kulonbsegek:
(n)(var)char
What’s the difference between char,nvarchar,ntext and nvarchar(max) ? (SQL2005)
Choosing SQL Server 2000 Data Types
OK, szoval regen VS 2003.NET -et hasznaltam, most meg 2008-at. Olyan erzes mint amikor uj helyre koltozik az ember. Semmit se talal elsore, minden mashol van, es tiszta frusztraltan erzi magat.
Szoval a multkori bejegyzesemben irtam/hivatkoztam az autoEventWireup kikapcsolasara mint teljesitmenyjavito eljaras. Nos ez nehezebbnek bizonyult mint azt vartam. VS 2003-ban .NET 1.1-ben ez tiszta ugy volt. olyan szep kodot generalt a Visual studio:
/// <summary>
 /// Summary description for AdminResurce.
 /// </summary>
public class AdminResurce : System.Web.UI.Page
 {
  protected System.Web.UI.WebControls.DataGrid DataGridResource;
...
#region Web Form Designer generated code
  override protected void OnInit(EventArgs e)
  {
   //
   // CODEGEN: This call is required by the ASP.NET Web Form Designer.
   //
   InitializeComponent();
   base.OnInit(e);
  }
 Â
  /// <summary>
  /// Required method for Designer support - do not modify
  /// the contents of this method with the code editor.
  /// </summary>
  private void InitializeComponent()
  {  Â
   this.DataGridResource.ItemCommand += new System.Web.UI.WebControls.DataGridCommandEventHandler(this.DataGridResource_ItemCommand);
...
this.Load += new System.EventHandler(this.Page_Load);
Most se InitializeComponent, se OnInit, minden oldalra automatikusan beirja az AutoEventWireup=”ture”-t, ha kikapcsolom, akkor persze nem mukodik a Page_Load (csak ha kezzel letrehozom a megfelelo OnInit kodot). Ha Website-hoz kapcsolodok, es ott hozok letre webformot, akkor meg csak a kontrollokat se latom (amiket Web Application projectnel a *.aspx.designer.cs-be pakol: protected global::System.Web.UI.HtmlControls.HtmlForm form1; )
A templatek itt talalhatok : C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\ItemTemplatesCache\Web\CSharp\1033\WebForm.zip
Szandekosan butitja a microsoft a visual studiojat, hogy tobb programozasi konyvet, meg tanfolyamot tudjon eladni?
autoEventWireup is hard-coded into templates making changing the default stupidly time-consuming
http://blog.dantup.me.uk/2007/08/autoeventwireup-still-broken-in-visual.html
Mivel mar regen programoztam asp.NET-et, amikor meg az 1.1-es .NET volt a legfrissebb, igy ugy dontottem nem art szetnezni a neten. Mivel a Microsoft folyamatosan tolja ki az uj dolgaait, nem lehet pihenni mindig van ujdonsag.
Itt van nehany link amit erdemesnek talaltam osszegyujtani a barangolasom soran. Nehany alapfogalom, koncepcio…
Ha valaki webre fejleszt jo ha szet tudja valasztani a design elemeket es az uzleti logikat. Az elozo bejegyzesem az elobbivel foglalkozott (absolute, float layout..). Itt van meg egy link: Multi Column CSS Layouts .Mint azt rogton eszrevettem a VS 2008 nem kinalja fel a gridLayoutot mint azt regen az 1.0-s framework idejen. De ez nem is baj, hiszen weboldalt es nem pc alkalmazast fejlesztunk. (egyebkent be lehet kapcsolni az abszolut pozicionalast a tools menuben). Az egymasba agyazhato Master Pagek ami ujdonsag. Ha nem egy oldalt keszit az ember erdemes hasznalni, es raforditani turelmet es jol elkesziteni. A tobbi oldalt mar gyorsabban el lehet kesziteni, es egyseges look-and-feel-t kapunk.
ASP.NET Master Pages Overview
VS 2008 Nested Master Page Support
Open Source Templates
Nade lepjunk tovabb az izgalmasabb programozasi reszekre, mint peldaul a tobbretegu megoldasok (DAL) es egyebek. Talaltam par leirast a kovetendo modszerekrol (best practices) amit mindenkepp meg kel fontolni, de ezek mar inkabb haladoknak szolnak, nem ebbol fognak a legtobben megtanulni programozni, es remelhetoleg nem kezdoket vesznek fel nagy teljesitmenyu portalok megirasara, de azert itt van:
ASP.NET Best Practices for High Performance Applications
“Good” ASP.NET Coding Practices
Best Practices to Improve ASP.Net Web Application Performance
Best Practices for Speeding Up Your Web Site
(gondolom mar mindenki kitalalta mi volt a search phrasem a googleban, ha talalkoztok jobb cikkekkel irjatok meg : )
Es akkor egy kis 101. Foleg ha tobb oldalunk van, valahogy allapotot kell tudnunk tarolni, informaciot cserelni. (oldalako kozotti valtasra a fenti cikkek Server.Transfer-t javasolnak)
ASP.NET’s Data Storage Objects
Ma mar keves oldal engedheti meg maganak, hogy ne hasznaljon JS-eket.
JavaScript with ASP.NET 2.0 Pages
Elvalasztani az adatfeldolgozast, adathozzaferest es a GUI:
Tutorial 1: Creating a Data Access Layer
Mivel foleg C#-ban programoztam eddig, de most megkertek hogy VB.NET-ben irjak kodot, igy utana kellett neznem par dolognak itt is, az egyik ilyen a type-casting