3

Symulator Sieci Petriego

Posted by wiktor on Jun 17, 2007 in gui, java, swing

Widzę, że jesteś pierwszy raz na moim blogu. Witaj :). Może nawet będziesz miał ochotę subskrybować blog poprzez RSS. Trzymaj się ciepło!

Kończy się semestr i na projekty uczelniane nabierają realnych kształtów. Będą obecnie na UJ-cie w pięć osób zrobiliśmy symulator/edytor do sieci Petriego. Został on napisany w całości w Javie. Poniżej znajduje się screenshot.

petri-net-screenshot.jpg

Jeśli chcesz zobaczyć, jak w Swingu zrobiłem powyższy interfejs użytkownika to zachęcam do przestudiowania kodów źródłowych projektu. Jest on ogólnodostępny na Google Hosting tutaj.

Read more…

 
0

Magiczny numer 0xCAFEBABE

Posted by wiktor on Jun 14, 2007 in ciekawostki, java

Magiczne liczby są dość często używane w półświatku programistycznym. Mają najróżniejsze przeznaczenia (więcej tutaj: http://en.wikipedia.org/wiki/Magic_number_(programming)). 0xCAFEBABE jest przykładem użycia takie magicznego numeru.

Gdzie występuje?

0xCAFEBABE jest umieszczane na początku każdego pliku z bajtokodem skompilowanej klasy w Javie (*.class). Jest to sygnaturka, która identyfikuje typ pliku.

Ile wynosi 0xCAFEBABE?

Jest to szesnastkowy zapis liczby 3405691582. Sama w sobie była by to nudna wartość, ale w zapisie szesnastkowym nabiera miłe znaczenie (kawiarniana panienka?, kawiarnia “Kociak”? ;)). Ponieważ w zapisie heksadecymalnym 32-bitowej liczby nie występują litery ‘J’ ani ‘V’ to zespół tworzący Javę musiał obejść te litery.

“CAFE BABE” jest o wiele seksowniejsze (jazzy?) niż “CAFE FACE” lub co gorsza “A BAD CAFE”. Z drugiej strony można spekulować nad innymi kombinacjami, np. liczba 12648430 daje zapis 0×00C0FFEE, czyli zorientowana obiektowo kawa ;).

Czy gdzieś wcześniej pojawiło się 0xCAFEBABE?

Po przeczesaniu słuszną (i dobrą) wyszukiwarką sieci znalazłem różne przykłady wcześniejszych zastosowań. W komputerach NeXTSTEP (tych, o których Steve Jobs już chyba zapomniał ;)) służyła do rozróżnienia wykonywalnych plików binarnych: dla Intela czy dla Motoroli. Ciekawe, którą platformę 0xCAFEBABE reprezentowała. Może NeXTSTEP (dziś już Apple) powinien posiadać prawo do Javy w takim razie? ;)

Znacie jakieś inne przykłady zastosowań magicznych liczb?

 
0

Safari na Windows. Oh boy, oh boy :)

Posted by wiktor on Jun 11, 2007 in apple

Wow… dzisiaj było przemówienie Steve’a Jobsa na Apple WWDC. Zdradził szczegóły Leoparda. Możesz się z nimi tutaj zapoznać. Dużo kudos dla Apple :).

Powaliła mnie na kolana informacja, że Safari jest dostępne dla Windows (wersja 3 Public Beta). Już można ściągnąć stąd.

safari - screenshot

Niestety jest to public beta i nie wszystko jeszcze ładnie renderuje niestety. Mam problemy z moim blogiem i np. z gazetą.pl.

Warto zainstalować Safari. Przeglądarka jest bardzo szybka. Coś mi mówi, że jest szybsza od Opery.

Ale i tak dużo kudos dla Apple.

 
5

JRuby on Rails

Posted by wiktor on Jun 6, 2007 in Ruby on Rails, java

Ruby on Rails na maszynie wirtualnej Javy? Czemu nie! :)
Jeśli ktoś chce prosto zacząć swoją wędrówkę z Javowego świata do dynamicznego świata Ruby i Railsów to istnieje tylko jeden sposób: Netbeans 6.0 M6 (instalacja typu full zawiera w sobie wszystko, co niezbędne; w tym JRuby i pakiet Ruby on Rails). Można go pobrać stąd. Teraz już albo tworzymy nowy projekt lub importujemy istniejący i wszystko działa.

new-ruby-project.png

Read more…

 
3

Migracje w Ruby on Rails

Posted by wiktor on May 31, 2007 in Ruby on Rails

Ostatnio część czasu w pracy poświęcam na rozwijaniu projektu RubyTime. Jest to open-source’owa aplikacja napisana w Ruby on Rails do zliczania czasu pracy w małych firmach (ang. time tracker albo time-sheets) i następnego rozliczania pracowników i wystawiania faktur na tej podstawie klientom. Przy dodawaniu nowej funkcjonalności pierwszy raz skorzystałem z mechanizmu migracji, które oferuje Ruby on Rails. Muszę przyznać, że jestem pod wrażeniem prostoty tego rozwiązania.
Read more…

 
1

The Java IAQ - Pytania o Javie z Rzadką Odpowiedzią

Posted by wiktor on May 29, 2007 in java

Autorem Java IAQ jest Peter Norvig (tutaj jest oryginał), a polskie tłumaczenie zostało napisane przeze mnie, czyli Wiktora Gworka. Tylko wybrane pytnia zostały przetłumaczone.

Pytnia:

  1. Czym są Pytania z Rzadką Odpowiedzią (ang. Infrequently Answered Question)?
  2. Kod w bloku finally zawsze zostanie wykonany, prawda?
  3. Czy w metodzie m w klasie C wyrażenie this.getClass() zawsze zwraca klasę C?
  4. Przesłoniłem metodę equals, ale Hashtable ignoruje to. Dlaczego?
  5. Próbowałem wywołać metodę z nadklasy, ale czasem nie działa. Dlaczego?
  6. Dziedziczenie wydaję się błędogenne. Jak mogę się przed tymi błędami uchronić?
  7. Jakie są alternatywy dla dziedziczenia?
  8. Dlaczego nie ma zmiennych globalnych w Javie?
  9. Jak duży jest Object? Dlaczego nie ma sizeof?



Read more…

 
0

Witam

Posted by wiktor on May 14, 2007 in Różne

Witam w swoje skromne progi. Tym wpisem rozpoczynam działalność mojego bloga o radosnym programowaniu, głównie w Javie. Co to oznacza? W głównej mierze to wszystko, co można odpalić na maszynie wirtualnej Javy (JVM) ;). Będę się starał pisać w miarę często i przykładał się, aby wszystkie posty były bardzo dobrej jakości.

Jeśli chcesz od razu wiedzieć, kiedy coś nowego jest na blogu to subskrybuj już teraz mój kanał RSS. Pozdrawiam :)

Copyright © 2009 Mocna Kawa All rights reserved. Theme by Laptop Geek.