Projekty
Stamina.lib / K.API – kontrola wersji
poniedziałek, styczeń 30th, 2006W nowym K.API bardzo istotna jest skuteczna kontrola wersji, bo jak wiadomo różnice pomiędzy różnymi wydaniami bibliotek mogą prowadzić do (znacznych) niestabilności. Przydatna byłaby również możliwość zablokowania konkretnych wersji, w których występują znane nam już błędy. Typowym rozwiązaniem jest porównywanie wersji API programu i wtyczek. W tym wypadku jest jednak zupełnie niewystarczające.
Spójrzmy na przykład na wtyczkę kSound – wykorzystuje do działania tylko podstawowe elementy API. Jeżeli np. zostaną wprowadzone większe zmiany w API obsługi plików .dtb – podniesienie numeru wersji całego API spowoduje konieczność ponownej kompilacji i dystrybucji wtyczki. Można oczywiście zdefiniować i sprawdzać kilka wersji newralgicznych podsystemów, ale myślę, że najlepsze rozwiązanie zostało wbudowane w Stamina.lib.
Stamina.lib – podstawy
sobota, styczeń 28th, 2006Od dłuższego już czasu pracuję nad biblioteką Stamina.lib – będącej z założenia zbiorem klas ułatwiających obiektowe pisanie w C++. Założenie trochę się rozrosło, bo obecnie jest tu bardzo przyjemna obsługa wątków, plików .dtb, obrazów, zaczątki obsługi okien (które były pisane trochę “na gorąco” i w swoim czasie będą musiały być przekonstruowane ;) ) i masa innych przyjemności. Czemu pisać kolejną tego typu bibliotekę? Dobre pytanie :) Myślę, że chociażby dlatego, bo nie mogłem do tej pory znaleźć takiej, która posiadałby wszystkie poszukiwane przeze mnie cechy. Większość nie ma wiele wspólnego z obiektowością (GLib), inne z kolei są przeszablonowane i miejscami mało wygodne (boost). Wszystkie za to łączy jedna cecha – praktycznie w ogóle nie stosują czystych interfejsów. Być może gdzieś tam istnieje dokładnie to czego szukam – niestety nie było mi się dane na to natknąć, ani specjalnie intensywnie nie szukałem… Stamina.lib jest już faktem, a rozwija się dzięki pracom przy nowy API Konnekta (którego bez s.l już skompilować się nie da…).
Biblioteka jest co prawda wciąż w trakcie tworzenia (a co za tym idzie permanentnej przebudowy), to pewne jej elementy wydają się już na tyle stabilne, że można o nich cokolwiek napisać. Ten wpis będzie ewidentnie dla C++Geeks, więc takowych zapraszam dalej – inni z ciekawości też mogą popatrzeć co się gotuje :) Czytaj dalej »
DTVictory
czwartek, lipiec 7th, 2005Najstarszy kod w Konnekcie jest już historią. Obsługa plików DTB jest teraz kodem najnowszym, chodzi szybciej, jest lżejsza, ładniejsza i ogólnie w końcu mi się podoba. Stała się częścią biblioteki Stamina.Lib, korzysta w pełni z jej dobrodziejstw i dostarczyła do niej coś od siebie (np. ulepszoną obsługę czasu, wygodne i szybkie przeglądanie plików w katalogach, obsługa MD5, tony poprawek i nowych funkcji)… Nowe pliki DTB będą miały ulepszony system zabezpieczeń… W zasadzie słowo ulepszony jest mocno na wyrost, bo to co jest aktualnie w dtb zabezpieczeniem nazwać nie sposób ;) Nowa funkcjonalność zapewnia średnie bezpieczeństwo przed niechcianym czytaniem naszych wiadomości przez siostrę i nie uzdolnionego kryptograficznie brata. Oczywiście pod warunkiem że ustawimy jakiekolwiek hasło… Jeżeli masz fioła na punkcie bezpieczeństwa, najpewniej i tak trzymasz pliki profilu w dodatkowo szyfrowanych plikach.
Nowe DTB powinno też rozwiązać raz na zawsze problemy z ginącymi danymi. Konnekt będzie chyba pierwszym komunikatorem który robi automatycznie kopie zapasowe swoich plików i w razie problemów równie automatycznie je przywraca.
Nowe dobrodziejstwa pojawią się w nowej becie, do której zostało jednak jeszcze trochę czasu bo do przerobienia jest teraz sporo kodu w samym Konnekcie.
Aha… Ostatni ponad-tydzień mogę ogólnie zaliczyć do udanych, oprócz powyższego oteksturowałem inżyniera i przeszedłem GTA… Bigup’Nigga!
