Krzysztof Wesołowski Programowanie, elektronika, automatyka – doświadczenia i projekty

12paź/09

Wprowadzenie do Matlaba

Tradycyjnie zamieszczam sprawozdanie z pierwszego w tym roku laboratorium, tym razem z przedmiotu modelowanie systemów dynamicznych.

Sprawozdanie numer 1 - Wprowadzenia do Matlaba

7paź/09

Program prezentujący działanie algorytmów działających na grafach

Przy okazji podnoszenia jednej oceny powstał prosty program prezentujący 3 algorytmy operujące na grafach. Pozwala on wprowadzić dowolny graf, o rożnych wagach a następnie prezentuje jego rozwiązanie krok po kroku.

Program powstawał  przy mniejszej lub większe niechęci przez wakacje. Pierwsza część programu to edycja i implementacja struktur grafowych.  Klasy tam zaimplementowane pozwalają zaprojektować graf, zapisać go/wczytać i uruchomić fragment prezentujący dany algorytm. Drugą częścią jest abstrakcyjna klasa AbstractSolver, ułatwiająca pisanie klas rozwiązujących o spójnym wyglądzie i funkcjonalności. Właśnie te 3 przykładowe algorytmy stanowią drugą cześć, stworzoną już nie przeze mnie ale przez Jakuba Tutro i Pawła Górkę.

6paź/09

Relacje 1:1 w Propel – unikanie błędu z primaryKey

Przeglądając trochę internetu w poszukiwaniu informacji jak zdefiniować relacje 1:1 za pomocą plików scheme.yml natrafiłem na wiele sugestii, mówiących aby nie tylko pole id, ale i drugie pole (będą właśnie w relacji 1:1 z polem id w innej tabeli) oznaczyć jako primary key. W prostej linii doprowadziło to do niezrozumiałego błędu:

Warning: Illegal offset type in symfony\plugins\sfPropelPlugin\lib\widget\sfWidgetFormPropelChoice.class.php on line 103

Rozwiązaniem generującym odpowiednie metody, zgodnym z informacją znalezioną np tutaj, było zrezygnowanie z primaryKey, i użycie klucza unikalnego.