Jak używać Pythona na uczelni i nie zwariować
O mnie
- mam za sobą 4 letni maraton z PWr zakończony sukcesem
- 3 lata pomagałem sobie Pythonem w praktycznie KAŻDYM projekcie

O czym będę mówił
- powody dla których CHCESZ używać Pythona
- kilka przykładów z życia
- narzędzia
- kierunkowskazy
O prezentacji
entry level: dla początkujących
na końcu umieszczę linki do pobrania
moje przemyślenia, niekoniecznie każdy się z nimi zgodzi
moje przemyślenia, niekoniecznie każdy się z nimi zgodzi
source: 9gag.com
Na cóż mi ten wąż
Chcesz go używać bo:
- Projekty są wystarczająco trudne, nie potrzebujesz męczyć się jeszcze z językiem
- "Baterie w zestawie"
- Nie jesteś uwiązany do żadnego systemu czy edytora
- Python jest potężnym narzędziem nie tylko na informatyce
Notatki z poligonu
Sytuacja I: Mój pierwszy raz z Pythonem na AK2
Zadanie: implementacja kodów cyklicznych CRC i RS

Klasyczny studencki projekt
- problemy z ogarnięciem matematyki
- terminy się posypały
- konsultacje w nieciekawych godzinach
Rozwiązanie problemu
- na przedmiocie gdzie używa się Assembly... użyliśmy pythona
- zmiana celu - z programu jak najszybszego na uzyskanie przejrzystego kodu
- konsultacje mailowe z użyciem ideone.com
Wnioski
- łatwo przemycić Pythona, nawet tam gdzie nie powinno go być
- jeżeli zmiana narzędzia jest wygodna dla OBU stron to łatwiej ją przeprowadzić
Sytuacja II: Mur nie do przebicia
Zadanie: Laborki z Przetwarzania Sygnałów Cyfrowych
source: http://www-home.htwg-konstanz.de/~umlauf/Bilder/Lena.jpg
Problem z Pythonem: Nie bo nie
prowadzący:
"Python nie jest językiem programowania"
ಠ_ಠ
source: http://stream1.gifsoup.com/view2/1112154/sad-baby-o.gif
Rozwiązanie problemu (sort of)
- wybrałem biblioteki z których mogłem korzystać w C++ i Pythonie
- pisałem programy "na boku" aby przetestować ich możliwości
Wnioski
- nie wszystkich przekonasz
- użycie innych narzędzi niż zwykle to nowe doświadczenia
- Python sprawdza się jako język do szybkich prototypów
Sytuacja III: Razem raźniej
Projekt z Medycznych Systemów Informatycznych:
Zdalny monitoring pacjenta

source: http://yourlifesolution.com/howtosavemoney/wp-content/uploads/2012/12/Electronic-health-record-systems-healthy-big-data.jpg
Problemy
- Zmuszenie ludzi o różnych umiejętnościach do pracy nad wspólnym projektem
- Podział projektu na moduły
- Nikt z 6 osobowej ekipy nie powinien siedzieć bezczynnie
- Koordynacja pracy
Rozwiązanie
- podzielenie ludzi wg preferowanych języków programowania
- serwer zarządzający bazą danych napisany w Pythonie
- udostępnienie RESTowego API
Wnioski
- Python łatwo integruje się z innymi językami programowania
- Pisanie logiki serwerowej było banalnie proste przy użyciu Flask + plugin flask-restfull
- Github oprócz backupów i kontroli wersji pozwala szybko pokazać prowadzącemu zmiany w projekcie

Narzędzia
Interpreter
Linux -> już pewnie jest (wersja 2.7)
Windows -> instalujesz albo wersja portable
Online:
- https://ideone.com/
- https://www.pythonanywhere.com/
Zarządzanie pakietami
pip
Linux:
sudo apt-get install python-setuptools python-dev build-essential sudo easy_install pip
Windows:
lub gdy nie chce po dobroci
Edytor tekstu
zrób sobie przysługę i zainstaluj
albo
Rozwiązywanie problemów
magiczne zapytanie ;)
"to co chcę osiągnąć" +python +ubuntu
Paczki sprawdzone w boju
- Aplikacje webowe
- Django, Flask
- koniecznie z: Bootstrap, Foundation
- Interface graficzny
- PySide / PyQt
- webówka + plik bat
- Interaktywne wykresy
- PyQtGraph
- Python na Androidzie
- Kivy
- QPython
-
Tworzenie gier
- Odpuść Pythona i ściągnij Unity3D
Kursy, wyzwania
- https://www.codeschool.com/
- http://www.codecademy.com/
- http://www.checkio.org/
- https://www.codeeval.com/
Dziękuję za uwagę
WrocPy#8: Jak używać Pythona na uczelni i nie zwariować
By Krzysztof Wolski
WrocPy#8: Jak używać Pythona na uczelni i nie zwariować
Prezentacja na 8. spotkanie z serii WrocPy. Grupą docelową są nowi użytkownicy Pythona którzy chętnie ułatwiliby sobie życie na uczelni i poza nią.
- 1,015