Projekty programistyczne
2014/2015
- Sieciowa gra MUD. Do serwera łączą się klienci GUI lub TUI. Na plus
rysowanie mapy i edycja własnych pokoi, inteligentny engine fabuł.
- Program wykonujący komendę na X komputerach równolegle, topologia płaska
oraz drzewiasta.
- Stupid TOR. Komputery komunikują się w sieci, która za każdym razem wybiera
losowo trasę.
- Dowolna usługa zgodna z RFC.
- Usługa typu Dropbox. Klient ma listę serwerów, łączy się do jednego z nich i
posyła plik. Serwer potem plik replikuje do innych serwerów.
- Rozproszony system plików, dostep do pliku utrwala go, starsze pliki
znikają (zgodnie z rozkładem wykładniczym lub inną miarą).
- Pseudo-TCP na UDP. Zaprojektowanie własnego protokołu połączeniowego na UDP,
kanały niezawodne FIFO.
- Serwer memcached. Klient prosi o cos serwer, serwer oddaje z
cache jak ma, jesli nie ma zapisuje i oddaje.
- Edytor tekstu dla X osob w konsoli. Użytkownicy łączą sie do sesji, kazdy
widzi ruchy innego i edycję. Jak w google docs.
- System monitorowania. Klient łączy się, dodaje hosta, widzi inne hosty (czy
działają). Serwer monitoruje pingiem.
- Sieć aktywna. Pakiet przechodzi przez N węzłów, gdy reguła dopasuje sie do
IP hosta, wykonywany jest kod przenoszony przez pakiet na danym hoście. *
- Map-reduce dla wybranego problemu.
- Steganograficzny komunikator internetowy, wiadomośc w nagłowkach zdjecia
lub sprytnie w tekście.
- Równoważenie obciążeń na X węzłach. Klient wysyła job (np. skrypt pythona,
exec itd) i przydziela do serwera, który najmniej jest zajęty. Należy
wymyślić miarę potencjaly serwera i jego obciążenia. oraz zwizualiwać
aktywne joby.
- Sieciowa gra zuzel dla 2 osob.
- Rozproszony twitter.
- Resource SQL. Klient ma listę hostów, przyjmuje kwerendy o zasoby. np.
select * from hosts where ram > 2G. Serwery zwracają te które spełniają
warunek.
select * from hosts where process:apache:running;
select * from hosts where disk(“/”):free > 20048783;
exec ls on hosts where ram < 1G;