poniedziałek, 16 listopada 2009

lxml - python 2.6, windows

Instalacja lxml (w najnowszej wersji) dla python 2.6 jest co najmniej irytująco trudne. Rozwiązanie (częściowe) to skorzystanie nie z wersji 2.2.4 tylko z wersji 2.2. O dziwo, tam instalator dla pythona 2.6 istnieje..

Adres: http://pypi.python.org/pypi/lxml/2.2

poniedziałek, 9 listopada 2009

Christopher Alexander - idea wzorców projektowych

Nie Alexandrescu, tylko Alexander. Christopher Alexander. Andrei Alexandresu to rumuński programista(ekspert) od C++. Zajmuje się wyrafinowanymi technikami w metodach szablonowych (template methods).

ACID - what does it mean?

[za wikipedią]


ACID jest skrótem od angielskich słów:
- atomicity - atomowość,
- consistency - spójność,
- isolation - izolacja,
- durability - trwałość.

czwartek, 5 listopada 2009

IHttpHandler - sesja, null

Czasem pojawia się potrzeba użycia sesji z poziomu własnego IHttpHandler. Próba bezpośredniego dostępu do kontenera poprzez HttpContext często kończy się wyjątkiem/zwróconym nullem - mimo, że kilka sekund wcześniej ustawiona została z poziomu strony aspx zmienna. Dlaczego tak się dzieje?

ASP.NET wymaga oznaczenia handlera korzystającego z sesji w jeden z dwóch sposobów:

- IReadOnlySessionState - kiedy potrzebna jest tylko opcja odczytu danych z sesji,
- IRequiresSessionState - kiedy również zapis się przyda.

środa, 4 listopada 2009

FormView - inserting obiektów, DropDownList, nullable

Przy wstawianiu obiektów, jeżeli jedno z jego pól może być null-em pojawiają się problemy. W moim wypadku było to index out of... Poszukiwania w Google nic nie dały (żadnych konkretnych odpowiedzi).

Znalezione rozwiązanie polega na dodaniu metody OnItemInserting, która zawiera +/- następujący kod:

protected void AddProductFormView_ItemInserting(object sender, FormViewInsertEventArgs e)
{
    if (e.Values["CalculationMethodId"] == "-1")
        e.Values["CalculationMethodId"] = null;
}

dodaniu do FormView atrybutu oniteminserting="AddProductFormView_ItemInserting" .

DropDownList powinien wyglądać +/- następująco:

<asp:dropdownlist id="ProductCalculationMethodList" runat="server" selectedvalue='<%# Bind("CalculationMethodId") %>' DataSourceID="CalculationMethodsDataSource" DataTextField="Name" DataValueField="Id" AppendDataBoundItems="true" Width="100%"> 
          <asp:listitem selected="True" text="" value="-1"></asp:listitem>
</asp:DropDownList>


Elementy istotne zaznaczone kolorem czerwonym :-)

poniedziałek, 2 listopada 2009

Siłomierz towarzyski - pierwsze kroki

Co istotne:

- dłuższa nóżka diody LED wskazuje miejsce połączenia z '+',
- jeśli ma się tylko dużą, domyślną wiertarkę, warto kupić płytkę uniwersalną z dziurkami,
- elementy można montować przy pomocy 3 rączki oraz taśmy papierowej (podtrzymanie elementów, które dopiero zostaną przylutowane - grawitacja nie odpuszcza),