Vývojářský blog Tomáše Hercega

Tisk článku Tisk článku

Jak se mi zase jednou vymstil nedostatek lenosti

[Zpět na blog]

Datum: 11. 10. 2009 21:24       Autor: Tomáš Herceg       Zobrazeno: 1621x

Kategorie: Život, vesmír a vůbec


Jsem dost líný člověk, i když mi někdy přijde, že bych měl být ještě línější. Tou leností nemyslím to, že bych se pořád někde jenom válel. Pokud říkám lenost, mám tím na mysli vystihnout pravého momentu, kdy je vhodné danou činnost už opravdu, ale opravdu udělat. Je to nejpozdější možný moment, pro který platí, že nenastanou-li nějaké nepředvídané komplikace, daná činnost bude udělána včas.

Dnes jsem jel přednášet do Havlíčkova Brodu na studentský seminář o ASP.NET. Vzhledem k tomu, že cílová skupina měli být studenti středních škol (což tedy byla z větší části pravda), nachystal jsem speciální verzi své přednášky “Seznámení s ASP.NET”, která má za cíl ukázat, že programování v ASP.NET je snadné, rychlé a zábavné. Přednáška jako taková se povedla, slajdů bylo jen pár, prakticky celou dobu jsme dělali jedno velké demo (záznam bude k dispozici na MSTV.cz). Pár lidí mě na chodbě odchytlo a pochválilo mě, takže nakonec to dopadlo dobře. Až na jedno menší zaváhání…

Jak bývá mým dobrým zvykem, dema si chystám velmi pečlivě, takže asi týden před přednáškou, když jsem měl zrovna dvě hodinky čas a nemělo cenu začínat nic velkého, jal jsem se začít dělat ukázkovou aplikaci pro tuhle přednášku. Napsal jsem to, co jsem předpokládal, že na přednášce stihneme, už kvůli tomu, že kdybychom postupovali pomalu, mohl bych to ukázat už hotové, abych zbytečně nezdržoval a ukázal to, co jsem chtěl.

Demo jsem napsal v C#, protože poslední dobou v něm píšu všechno. VB.NET používám spíš na svoje ryze soukromé aplikace, k jejichž zdrojákům nemá přístup nikdo jiný, pokud na ní mám s někým spolupracovat, přizpůsobím se většině, která píše v C#.

No a při přednášce jsem samozřejmě suverénně vytvořil novou aplikaci ASP.NET ve Visual Basicu. No a pak během psaní šablony pro Repeater napíšu do binding expressionu výraz v C#, aniž bych si to uvědomil. Samozřejmě to nefunguje, hlásí to nějakou chybu “Neplatný znak”. Ano, děkuji mnohokrát, nemohli byste do té hlášky alespoň napsat, který znak je ten neplatný? Pak by to totiž bylo jasné.

Toto nedopatření způsobilo malý zádrhel – mrknu do hotové aplikace a ať koukám, jak koukám, nemůžu najít žádný překlep, žádnou chybu. V předpřipravené aplikaci je to stejně, ale u mě to prostě nefunguje.

Takže ponaučení pro příště – není radno kombinovat VB.NET a C#, jak se vám to hodí. Pak nevíte, co v čem píšete. A dema jest třeba zásadně dělat nejvýše 1 den dopředu, jinak si nebudete pamatovat, co v nich přesně je. Díky nedostatku lenosti jsem to demo měl bohužel nachystané už týden a takhle to pak dopadlo.

Inu což, příště si dám pozor. Přednáška se i přes toto pětiminutové zaváhání povedla a ze záznamu, který v nejbližších dnech umístím na MSTV.cz, jsem to vykrojil.


> Na začátek

 

Hodnocení:

Hlasů: 1
Zvolte své hodnocení

Tomáš Herceg

Jsem hlavním softwarovým architektem ve společnosti Riganti. Mám dlouholeté zkušenosti s technologiemi ASP.NET, Silverlight, WPF a XNA. Působím též jako lektor ve společnosti Gopas a již třetím rokem jsem držitelem ocenění Microsoft Most Valuable Professional.

Podpořte vznik dalších článků
RSS Feed RSS Feed

Diskuse

1 

VB & C# .NET

Datum: 11.10.2009 21:33
Autor: Ondřej Ondryáš
Hodnocení autora: 100
Příspěvků: 237
Někteří (jako třeba já) jsou líní učit se C# takže u něj nemůže tento problém vzniknout.
 
           [Odpovědět]
 
Hodnocení: 5 Čekejte, prosím...

Re: VB & C# .NET

Datum: 11.10.2009 21:36
Autor: Ondřej Ondryáš
Hodnocení autora: 100
Příspěvků: 237
A na ten záznam se hrozně těším!!!
 
           [Odpovědět]
 
Hodnocení: 3 Čekejte, prosím...

GolfShop

Datum: 8.12.2009 12:55
Autor: Miloslav Kubátko
Hodnocení autora: 0
Příspěvků: 5
Nemůžu s tou aplikací hnout - vyskakuje mi následující chyba.


Server Error in '/GolfShop.original' Application.

There is already an object named 'Users' in the database.
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.

Exception Details: System.Data.SqlClient.SqlException: There is already an object named 'Users' in the database.

Source Error:

An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below.

Stack Trace:


[SqlException (0x80131904): There is already an object named 'Users' in the database.]
System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection) +2032870
System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection) +5037992
System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning() +234
System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj) +2275
System.Data.SqlClient.SqlDataReader.HasMoreRows() +211
System.Data.SqlClient.SqlDataReader.ReadInternal(Boolean setTimeout) +217
System.Data.SqlClient.SqlDataReader.NextResult() +187
System.Data.ProviderBase.DataReaderContainer.NextResult() +19
System.Data.Common.DataAdapter.FillNextResult(DataReaderContainer dataReader) +59
System.Data.Common.DataAdapter.FillFromReader(DataSet dataset, DataTable datatable, String srcTable, DataReaderContainer dataReader, Int32 startRecord, Int32 maxRecords, DataColumn parentChapterColumn, Object parentChapterValue) +249
System.Data.Common.DataAdapter.Fill(DataSet dataSet, String srcTable, IDataReader dataReader, Int32 startRecord, Int32 maxRecords) +424
System.Data.Common.DbDataAdapter.FillInternal(DataSet dataset, DataTable[] datatables, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior) +174
System.Data.Common.DbDataAdapter.Fill(DataSet dataSet, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior) +319
System.Data.Common.DbDataAdapter.Fill(DataSet dataSet, String srcTable) +92
System.Web.UI.WebControls.SqlDataSourceView.ExecuteSelect(DataSourceSelectArguments arguments) +1618
System.Web.UI.DataSourceView.Select(DataSourceSelectArguments arguments, DataSourceViewSelectCallback callback) +21
System.Web.UI.WebControls.DataBoundControl.PerformSelect() +152
System.Web.UI.WebControls.ListView.PerformSelect() +125
System.Web.UI.WebControls.BaseDataBoundControl.DataBind() +74
System.Web.UI.WebControls.BaseDataBoundControl.EnsureDataBound() +66
System.Web.UI.WebControls.ListView.CreateChildControls() +105
System.Web.UI.Control.EnsureChildControls() +99
System.Web.UI.Control.PreRenderRecursiveInternal() +42
System.Web.UI.Control.PreRenderRecursiveInternal() +174
System.Web.UI.Control.PreRenderRecursiveInternal() +174
System.Web.UI.Control.PreRenderRecursiveInternal() +174
System.Web.UI.Control.PreRenderRecursiveInternal() +174
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +2496
 
           [Odpovědět]
 
Hodnocení: 0 Čekejte, prosím...
1 
 

VBNET.CZ | © 2007 Tomáš Herceg, Tomáš Jecha | Kopírování a přejímání jakéhokoliv obsahu z tohoto webu je bez písemného svolení autorů zakázáno.