Drodzy Państwo,
Materiały z dziś: Doker https://www.youtube.com/watch?v=P4ZC3cFN0WQ Haks: https://scriptcrunch.com/docker-useful-hacks/ Docker PPT https://static.rainfocus.com/oracle/oraclecode18/sess/1513810380873001uIiU/PF/docker-101-ny_1520531065990001vPkT.pdf HTTP: Video: https://www.youtube.com/watch?v=eesqK59rhGA
PRACA DOMOWA
- Obejrzeć i przetrawić treści: https://www.youtube.com/watch?v=hExRDVZHhig
- Założyć projekt na githubie i dodać mnie (https://github.com/ekote) jako kontrybutora do państwa projektu oraz przesłać link do repozytorium na adres: kote@ee.pw.edu.pl
Pojawiło się kilka pytań odnośnie do nieobecności/spóźnień - w każdym przypadku proszę o wiadomość mailową. Jeśli będę wiedziała wcześniej o nieobecności / spóźnieniu, wtedy:
- wzrasta prawdopodobieństwo rozpatrzenia prośby pozytywnie
- nie czekam ze startem zajęć i korzysta na tym grupa
HTML vs CSS vs DOM - basic https://www.youtube.com/watch?v=tSv2KIF7uE4
DOM https://youtu.be/wiozYyXQEVk?t=42
React DOM https://www.youtube.com/watch?v=RquK3TImY9U
CSS > Preprocessors https://youtu.be/jUZzAUuMHVI?t=30
Zalety preprocesorow: https://youtu.be/sxWH1WwcOrQ?t=18
Flusk bootstrap: https://youtube.com/watch?v=PE9ZGniSDW8
Callback vs promise https://www.youtube.com/watch?v=9nwPenviboM
Jak to robić w JS: https://youtu.be/vn3tm0quoqE?t=72
Promis vs callback in JS - 10 min https://youtu.be/DHvZLI7Db8E?t=14 #4 Projekty:
- Commity dosłane po 8:15 AM CET nie będą sprawdzane.
- Max punktów (5p) za działającą aplikację, z README, spełniającą wszystkie wymagania
- Jeśli aplikacja się nie uruchamia - max ilość punktów do zdobycia to 2.5
Testy/Quizy Taka forma będzie na każdych zajęciach, poprzedzających zajęcia do których projekty muszą zostać wykonane
Aplikacja po stronie serwera
- Python: -- Request http://kamil.kwapisz.pl/web-scraping-python/ -- BeautifulSoup: https://www.freecodecamp.org/news/how-to-scrape-websites-with-python-and-beautifulsoup-5946935d93fe/ -- Flask https://www.oreilly.com/library/view/flask-web-development/9781491991725/
- Template: https://github.com/ekote/flask-react-spa
#5 L5. Omówienie projektu P1 - WIP Omówienie projektu P2 Czy Redis? Nie, moze byc postgres. Inna baza? Trzeba zapytac. Tylko nie mysql. Przesyłanie danych - formularze Ogolnie Pokazać różne sposoby wysyłania danych do serwera:
- Path parameters http://www.isod.com/students/subjects w URL(QueryString) http://www.isod.com/?student=7474&przedmiot=pamiw w ciele żądania (różne kodowania) - tworzymy body application/x-www-form-urlencoded (the default) multipart/form-data text/plain Pokazać jak obsługujemy formularze, co trzeba zrobić, żeby wysłać plik binarny (enctype) https://flask.palletsprojects.com/en/1.0.x/patterns/fileuploads/ https://stackoverflow.com/questions/3938569/how-do-i-upload-a-file-with-metadata-using-a-rest-web-service Jak przesyłać dane w ukrytych polach https://www.w3schools.com/tags/tryit.asp?filename=tryhtml5_input_type_hidden
Zajęcia wyrównawcze: https://bitbucket.org/zespoll/notes_from_classes/src/master/
SWAGGER do projektu
START TUTAJ: https://cdn.sekurak.pl/Podstawy_HTTP_v10.pdf
JAK WYGLĄDA DOKUMENTACJA DO API: https://developers.trello.com
MUST READ & UNDERSTAND: https://www.apitester.com/ https://swagger.io/ https://fastapi.tiangolo.com/tutorial/path-params/ https://stackoverflow.com/questions/16015548/tool-for-sending-multipart-form-data-request https://developer.mozilla.org/en-US/docs/Web/HTTP/Methods/POST https://swagger.io/docs/specification/describing-request-body/ https://cdn.sekurak.pl/Podstawy_HTTP_v10.pdf https://sekurak.pl/czym-jest-podatnosc-csrf-cross-site-request-forgery/
JAK UPLOAD PLIKOW: W PYTHON: https://www.youtube.com/watch?v=6WruncSoCdI W SCALA: https://www.youtube.com/watch?v=Hef5pJkNCvA https://www.playframework.com/documentation/2.7.x/ScalaFileUpload https://blog.usejournal.com/https-medium-com-yohan-gz-angular-with-play-framework-a6c3f8b339f3
HOW TO - DESIGN PATTERN: https://stackoverflow.com/questions/3938569/how-do-i-upload-a-file-with-metadata-using-a-rest-web-servic
EXTRA CIEKAWE: BUG w wordpresie: https://blog.sucuri.net/2017/02/content-injection-vulnerability-wordpress-rest-api.html
Dla scalowców: https://github.com/playframework/play-scala-fileupload-example/blob/2.7.x/app/views/index.scala.html
W tym temacie proszę o zapoznanie się z:
Ciekawa dokumentacja API w swagerze - https://api.cepik.gov.pl/doc
#8
- https://sookocheff.com/post/api/on-choosing-a-hypermedia-format/
- https://martinfowler.com/articles/richardsonMaturityModel.html
- https://github.com/ekote/DNA-Notes/tree/master/W09
- Wszystkie wcześniejsze
#9 https://gtmetrix.com/ https://search.google.com/test/mobile-friendly https://developers.google.com/web/tools/lighthouse#devtools https://tools.pingdom.com/ https://www.uptrends.com/tools/website-speed-test
Preprocessing: https://www.w3schools.com/sass/
- https://stoplight.io/
- https://readme.com/
- https://apiary.io/how-apiary-works
- https://pylonsproject.org/
Zachęcam do obejrzenia: https://www.youtube.com/watch?v=vda5ARbz_1Y
Drodzy,
https://github.com/ekote/pamiw-2019Z
Klonujecie repo, dalej w folerze z docker-compose odpalacie: docker-compose build docker-compose up
Dalej curlem/przegladarka przechodzicie na http://localhost:3000 i jest backend gotowy do dalszych modyfikacji :)
Polecam do słuchania, np. w drodze/aucie/tramwaju itd itd: https://www.youtube.com/playlist?list=PLN2dx2pIJO6PvvvVKOXJ19y8llsL_GMn4
DevTalk #55: O Pythonie z Łukaszem Langa https://www.youtube.com/watch?v=ECYsjD3TQJQ&list=PLN2dx2pIJO6PvvvVKOXJ19y8llsL_GMn4&index=77&t=0s
https://docs.google.com/forms/d/1qFZ6UBQwYLudjcoTbkGf0xE4cMZgRblUzphWJXlKLSw/edit