Zastanawiam się jak to jest w różnych językach czy ekosystemach, jeśli chodzi o to czy zmiany w kodzie podczas developmentu są odzwierciedlane na bieżąco w działającej aplikacji. I wydaje mi się, że nie jest to podział języki kompilowane vs interpretowane (przebudowanie całego projektu i restart na serwerze vs zmiana w skrypcie, save, refresh w przeglądarce), bo Java Spring (kompilowany) i JavaScript (node.js) (interpretowany) wymaga restartu serwera do odzwierciedlenia zmian, a Python, Ruby i PHP (interpretowane) nie wymagają restartu? Dobrze kombinuję?
- Rejestracja:ponad 4 lata
- Ostatnio:około 4 lata
- Postów:23
- Rejestracja:ponad 6 lat
- Ostatnio:3 dni
- Postów:3561
-
Część tego, o czym mówisz, zależy od konfiguracji. Np (archaiczną) javowska technologię JSP - a było w pełnym sensie słowa kompilowane - można było ustawić do odświeżania się.
jest niemal pewne, że przynajmniej połowa technologii ma coś podobnego. Mniemam, ze ponieważ to kosztuje kilka ms / req, jest defaultowo wyłączone.
Może się okazać, że jakby z PHP wciskać nanosekundy, też dojdziemy do nie odświeżających się skryptów (a przynajmniej nie od razu) -
Masz świadomość, że statycznych stron to już bardzo niewiele zostało?
Jak pytasz o odświeżanir, bardziej Ci chodzi o zmiany w widoku (HTML,CSS, te sprawy) - czy zmiany kodu, oprogramowania?
Wydaje mi się, że niektóre realizacje Widoku we współczesnym Springu się odświeżają, ale nie jestem biegły.
- Rejestracja:ponad 4 lata
- Ostatnio:około 4 lata
- Postów:23
AnyKtokolwiek napisał(a):
- Masz świadomość, że statycznych stron to już bardzo niewiele zostało?
Jak pytasz o odświeżanir, bardziej Ci chodzi o zmiany w widoku (HTML,CSS, te sprawy) - czy zmiany kodu, oprogramowania?
Wydaje mi się, że niektóre realizacje Widoku we współczesnym Springu się odświeżają, ale nie jestem biegły.
Bardziej mi chodzi o zmianę kodu a nie widoku, bo jak kod można zmienić w trakcie działania to i widok na pewno też. I jeśli się nie mylę i dobrze pamiętam to Django czy RoR to umożliwia, to jest luksus sprawdzić zmiany jak działają w trakcie sekundy, a nie budować cały projekt i uruchamiać (30 sekund-2minuty w Springu). Czy taka możliwość zmian kodu w trakcie działania bez restartu ma jakieś poważne wady w praktyce?
Zaskoczeniem było dla mnie, że w node.js też trzeba przeładowywać serwer po każdej zmianie. Ale może można to inaczej skonfigurować.
- Rejestracja:ponad 6 lat
- Ostatnio:3 dni
- Postów:3561
włóczęga napisał(a):
Czy taka możliwość zmian kodu w trakcie działania bez restartu ma jakieś poważne wady w praktyce?
- dla kodu kompilowanego niesie to "drobne" problemy, są/były dla Javy płatne soluszyny, które to robiły, wiec widocznie jest potrzeba
- dla skryptów i widoków, jestem prawie pewien, ze zachodzi cachowanie, i przy powtarzalnych wywołaniach może się obyć bez operacji dyskowej / systemowej.
Po aktywowaniu opcji odświeżania musi zachodzi PRZYNAJMNIEJ sprawdzenie czasu modyfikacji pliku. Milion lat temu to widziałem w oficjalnej dokumentacji PHP albo Tomcata, już nie pamiętam,
na pewno dla twórców najważniejsza jest szybkość w produkcji, a tu jest wyłącznie problem developmentu