Kodowanie


Original: http://hetland.org/coding/

Robię sporo kodowania (to część mojej pracy, mimo wszystko). Chociaż pracowałem i grał z kilkunastu lub dwóch języków programowania, jeden Użyłem najbardziej jest python (możesz również sprawdzić niektóre z moich pism na ten temat).

Być może jednym z najbardziej przydatnych kawałków kodu, które napisałem (moim zdaniem) jest mały skrypt mpub, stosowane tymczasowo dokonać pliki public na serwerze WWW. Jeśli nie widzę żadnego praktycznego zastosowania, że ​​to dobrze, może po prostu nie trzeba go tak samo jak mnie.
Python fragmenty

Niektóre losowe (głównie raczej stary) fragmenty kodu, które mogą być interesujące semi-ogólnego.
Naiwny klasyfikator Bayesa

To niewielka realizacja naiwnego klasyfikatora Bayesa. Możesz trenować dodając (z metody Add) szkolenie “wektory”, czyli iterable obiektów (wszystkie tej samej długości), które zawierają haszowalnymi obiektów. Związane z każdym vector szkolenie jest klasa (inna haszowalnymi obiektu). Po treningu, możesz sklasyfikować niewidoczne wektorów, innymi słowy, można dokonać klasyfikatora która klasa najlepiej odpowiada wektor.

Klasyfikator jest dostępny tutaj.
PGM Reader

Mała biblioteka do czytania PGM (Portable szary map) plików do tablic numerycznych (wymagana numarray). Jest on dostępny tutaj.
Wieże Hanoi

I po prostu musiałem zrobić ten jeden … puzzle jest dobrze znany (search Web powinno dać wiele informacji), i to jest łatwo rozwiązać z rekurencji. Spójrz na źródło tutaj.
ciphersaber2.py

Prosty, ale potężny klucz tajny algorytm szyfrowania. Scenariusz jest oparty na oryginalny przez Ka-Ping Yee, który wprowadził w życie CipherSaber-1 algorytm. W tym skrypcie zmieniłem to do wykonania CipherSaber-2 algorytmu, jak również za pomocą kodowania danych w prostej formie “ASCII zbroi”, a przy getpass odczytać hasło, więc nie skończy się w Twój UNIX plik historii. Skrypt można znaleźć tutaj.
Algorytmy w Pythonie

Wystarczy kilka standardowych algorytmów: odległość Levenshteina i algorytm Bellmana-Forda.
Minimal XML parser dla

Minimal XML jest podzbiorem XML 1.0, które pozostawia się kilka mniej istotnych funkcji, takich jak atrybuty, zawartość mieszane, znaczniki puste itp. Wstępna specyfikacja znajduje się tutaj.

Zrobiłem mały parser dla Minimal XML (lub zwykła Markup Language, jak to się nazywa). Zasadniczo zakłada się, że wejście jest ważne SML i robi trochę sprawdzanie błędów. Wynikająca z tego struktura drzewa jest krotka (tag, dzieci), gdzie tag jest string (nazwa tag lub nodeName), podczas gdy dla dzieci jest lista poddrzew, każdy z tej samej formie. Dane przechowywane są w postaci węzłów postaci (Brak, dane), w którym dane jest ciąg.
“Wykryj” w Pythonie

“Wykryj” jest strukturą sterowania opracowany przez Arne Halaas w latach siedemdziesiątych. Byłem przekonany przez niego, że jest to przydatne, i chociaż nigdy nie faktycznie używane to do niczego przydatne, I wdrożyliśmy wersję tego dla Pythona. Jeśli nic więcej, to może być ciekawy przykład kodu Pythona źródłowego.
Minimal CGI publisher

Minimal CGI wydawcą skrypty Pythona. Wykorzystanie opisano w napisu. Może być używany do włączania standardowe skrypty w CGI-skryptów po prostu importowanie moduł i dołączenie jednego wywołania funkcji na końcu skryptu. Prosty przykład użycia można znaleźć tutaj. (To był eksperyment, aby sprawdzić, czy można było zrobić naprawdę mały wydawca, który wciąż być przydatna. Do wydawcy pełniejszego, patrz komponent ZPublisher Zope, wcześniej znany jako “Bobo”).

Self-Druk One-Liner

Jeśli uruchomić ten jeden liniowej w wierszu polecenia, należy wydrukować kopię siebie (piszę to jako jednej ciągłej linii, bez przełamania linii):

python-c “x =” python-c% sx% = s; print x%% (chr (34), repr (x), chr (34))% s ‘;
wydrukować x% (chr (34), repr (x), chr (34)) ”

Nie bardzo przydatne, ale trochę zabawy … Widziałem tylko kilka innych programów na własny drukowania i pomyślałem, że byłoby ciekawie zrobić jedną liniowej wersji.
Sleepcat – kot z opóźnieniem

Jest to mały program, który emuluje unix kota poleceń, z wyjątkiem, że opóźnienie (“sleep”) dodaje się po wydrukowaniu każdej linii. I naprawdę nie pamiętam, dlaczego to napisałem, ale jestem pewien, że może to być przydatne do odczytu dużych plików bez przenoszenia mięśni :)

Zastosowanie: sleepcat [-t sek] [plik1 [plik2 … ]]

Stare projekty
Siusiać

I był jednym z oryginalnych twórców Piddle, generic, wieloplatformowy zestaw narzędzi do rysowania dla Pythona. I pierwotnie realizowany backend PostScript.
Anygui – Generic moduł GUI

Anygui była próba stworzenia cienką warstwę abstrakcji na szczycie kilka dostępnych (i niektóre jeszcze niedostępne) pakietów do tworzenia graficznych interfejsów użytkownika w Pythonie. Chodziło o to, że powinno być możliwe pisanie programów GUI w Pythonie, nie martwiąc się o co GUI pakuje użytkownik zainstalował. Nazwa została zainspirowana standardowej biblioteki Pythona moduł anydbm.
Atox

Atox jest zabawka realizacja raczej ogólny tekst na XML transformacji systemu.