Wpis z mikrobloga

via Wykop Mobilny (Android)
  • 0
Potrzebuję napisać aplikację w #python . na co dzień robią w javie, tam jest maven I spring boot, które rozwiązują z 90% problemów.
Są jakieś odpowiedniki w Pythonie? Pip jest od zależności, ale co wymusza strukturę plików? Co mi zbuduje aplikację (rpm lub deb)? Czym zrobię dependency injection? Mam bardzo małe doświadczenie w Pythonie, jakie są ogólnie dobre praktyki?
Dodam, że aplikacja nie będzie miała nic wspólnego z webem więc żadne django. Halp mireczki #programowanie

  • 14
via Wykop Mobilny (Android)
  • 0
@venomik: sstruktura plików zależy od tego co robisz? Lol, dziwne. W java i mavenie jest tak, że sa foldery src/java, src/scala, test/java/ main\resources.
Wtedy każdy, dosłownie każdy programista Javy wie gdzie czego szukać. Bez znaczenia czy pisał aplikacje w banku czy bloga. Zawsze wszyscy mają tak samo
@dupaztrupa: Moglbym Ci opowiedzieć o strukturze plików jak piszesz apkę webową w django, o strukturze plików jak piszesz testy automatyczne w behave oraz jak masz projekt związany z sztuczną inteligencją.
Nie wiem skąd Twój 'lol'.
via Wykop Mobilny (Android)
  • 0
@venomik: a aplikacja będzie odbierać dane z kolejki, pomieli je i zapisze do bazy. Jakieś schedulery co sprawdzają poprawność, testy do tego. Statystyki zapisuje do prometheus.io.

Ale serio nie sądzę, że.powinno mieć to znaczenie. Pytam raczej o rzeczy ogólno projektowe które sa wszędzie
via Wykop Mobilny (Android)
  • 0
@venomik: po prostu dziwne to dla mnie. Jestem ze świata gdzie każdy program bez znaczenia co robi ma identyczną strukturę plików. Ale ok, rozumiem, że pełna dowolność i zależne od używanego frameworka.

A reszta rzeczy? Jakieś DI, budowanie paczki na proda, jakieś super rzeczy do testowania, jakieś kozackie bajery, o których nie piszą w tutorialach zbytnio (przykład-lombok w Javier)?
@dupaztrupa: Kurczę, javę znam pobieżnie, więc nie iwem czy my naprawdę mówimy o tych samych plaszczyznach. Po prostu próbuję powiązać strukturę projektu django, strukturę testów behave i strukturę projektu dla sztucznej lnteligencji i to wszystko jest zbyt odlegle dla mnie by coś lepszego Ci napisać.
Może rozmawiamy o czymś innym, bo po Twoim pytaniu nie myślałbym o pip ani virtalenv.
via Wykop Mobilny (Android)
  • 0
@venomik: w javie są ze 3 narzędzia, które rozwiązują (nie same, z dodatkowymi modułami, pluginami) z 90% problemów i dzięki nim z 80% projektów wygląda tak samo. Możesz robić weba całe życie a i tak bez.problemu polapiesz się w aplikacjach bankowych, telco I no wszystkich wszystkich praktycznie.

Rozumiem, że w Pythonie tak nie jest I wiele zależy od wybranego frameworka. W takim razie jakiego frameworka powinienem wybrać jeśli nie interesuje mnie
@dupaztrupa: @GlassOfJuice: do jednostkowych imho najlepszą opcją jest py.test. Integracyjne też tym obskoczysz. Z libek przydatnych przy testach:
- wbudowany mock do mockowania - https://docs.python.org/3/library/unittest.mock.html
- do mockowania zapytań http wykonywanych przez bobliotekę requests - https://github.com/getsentry/responses
- wspomniany py.test - https://docs.pytest.org/en/latest/

Nie potrzebujesz frameworka, ogarnij sobie "clean architecture", to wystarczy
- do postgresa możesz sobie użyć ORMa SQLAlchemy - https://www.sqlalchemy.org/
- do ES to https://elasticsearch-py.readthedocs.io/en/master/ (low level) albo