docker - realne zastosowanie

docker - realne zastosowanie
wiewiorek
  • Rejestracja:prawie 17 lat
  • Ostatnio:9 dni
0

Na wstępie napiszę - tak szukałem i czytałem w sieci artykuły, ale dalej nie rozumiem do czego Docker może być przydatny jak mamy aplikację napisaną, np. w ASP. NET MVC, która musi stać na windowsie.
W artykułach były opisane aplikacje napisane w php, gdzie trzeba zainstalować apache, mysql itd. - to na Dockerze to można zainstalować to to rozumiem. A aplikacja ASP.NET MVC?

NO
  • Rejestracja:prawie 9 lat
  • Ostatnio:około 2 lata
  • Postów:430
1

Na prawdę wpisanie w google 'docker .net core' było takie trudne?
https://docs.docker.com/engine/examples/dotnetcore/

EDIT
Poza tym, mimo że masz aplikacje w .net'cie często korzystasz w niej z jakiejś bazy. U nas w firmie dzięki dockerowi każdy zaoszczędzą co najmniej parę godzin gdy trzeba w środowisku dev użyć danych z redisa z danymi produkcyjnymi. Normalnie trwało by parę godzin zanim wszystko by się ogarnęło, a tak to tylko docker-compose up i w pół minuty wszystko zrobione.

EDIT2:
Przepraszam, pomyliłem .net z ASP.net mvc. Tu link do i strukcji z drugim https://docs.microsoft.com/pl-pl/aspnet/mvc/overview/deployment/docker-aspnetmvc

edytowany 2x, ostatnio: NickOver
wiewiorek
  • Rejestracja:prawie 17 lat
  • Ostatnio:9 dni
0

Czyli używacie Dockera w sytuacji, gdy na produkcji jest jakiś błąd i chcecie odtworzyć tę sytuację lokalnie przy użyciu bazy produkcyjnej - no, ok możecie się wówczas szybko przełączyć między bazami. Dziękuję.

A jeszcze jakieś inne zastosowania? Ten artykuł nie jest zbyt konkretny:
Open-source
Develop and run your ASP.NET Core apps cross-platform on Windows, MacOS, and Linux
Great for modern cloud-based apps, such as web apps, IoT apps, and mobile backends
ASP.NET Core apps can run on .NET Core or on the full .NET Framework
Designed to provide an optimized development framework for apps that are deployed to the cloud or run on-premises
Modular components with minimal overhead retain flexibility while constructing your solutions

Już nawet nieważne czy aplikacja jest w .NET Core czy .NET Framework. Załóżmy, że 5 deweloperów rozwija jakąś aplikację - jak Doker może im ułatwić pracę?

Z tego co widziałem to Docker bardzo by się przydał gdybyśmy mieli aplikacje w różnych technologiach: wówczas w jednym kontenerze mielibyśmy php/apache/mysql, w drugim java/linux w trzecim c#/windows. Czyli jeden mikroserwis w jednej technologii byłby w jednym kontenerze, drugi w drugiej technologii w drugim kontenerze, a trzeci w trzeciej technologii w trzecim kontenerze. Deweloperzy nie musieliby instalować u siebie php, apache, linuxa itd. - ale jak wszystkie mikroserwisy sa w dokładnie tej samej technologii - c# i każdy deweloper i tak ma zainstalowanego u siebie na komputerze windowsa, .NETa itd. to jaka to zaleta?

edytowany 3x, ostatnio: wiewiorek
E9
  • Rejestracja:ponad 13 lat
  • Ostatnio:10 miesięcy
  • Postów:395
1

Główną zaletą dockera jest jego izolacja. Cały stack aplikacji możesz przenosić pomiędzy środowiskami poprzez tak naprawdę jeden plik - docker-compose. Masz wtedy wyizolowaną aplikacje, która na
każdym środowisku stawia się bardzo szybko oraz zachowuje tak samo.

WeiXiao
  • Rejestracja:około 9 lat
  • Ostatnio:minuta
  • Postów:5107
0

Jeżeli nie widzisz / nie ma dla ciebie zalet, to go nie używaj, bo dodajesz sobie kolejny point of failure albo po prostu stracisz dużo czasu, a zyskasz niewiele.

Ogólnie jest to wygodna zabawka do testów, gdy trzeba postawić coś jak najszybciej się da, a nie tracić 2h na instalowanie czegoś na VMce albo u siebie.

Jeżeli coś wrzuca się na siłę, bo "wszyscy tak robią" to od razu można iść po Hype-Quadro-Stack: Mongo+Node+Docker+Blockchain :D

edytowany 8x, ostatnio: WeiXiao
vpiotr
Zapomniałeś o Serverless.
WhiteLightning
  • Rejestracja:prawie 14 lat
  • Ostatnio:około 3 godziny
  • Postów:3168
0

Moze tez chodzic o optymalizacje kosztow systemu VM. Np. moze sie okazaz ze taniej wyjdzie jedna duza maszyna niz dwie male, chociaz patrzac na ceny AWS nie widze by tak faktycznie bylo. Ale za to mozna "dopelnic maszyne".

Czyli mamy server ktory potrzebuje 1.2 m5.xlarge i drugi ktory potrzebuje 0.6 m5.xlarge wtedy zamiast brac m5.2xlarge i m5.xlarge zmiescimy system na jednym m5.2xlarge (upraszczam, bo w rzeczywistosci te wyliczenie nie sa takie proste, zwlaszcza ograniczenie bandwith dla sieci jest zdradliwe na AWS).

wiewiorek
  • Rejestracja:prawie 17 lat
  • Ostatnio:9 dni
0

No właśnie chciałbym Dockera bardzo użyć u siebie w firmie, ale 'muszę' znaleźć jakieś sensowne jego zastosowanie do tworzonego projektu, a nie tylko ze względu na to, że jest modny.

8

Docker jest fajny jeżeli masz kilka różnych apek z różnymi wymaganiami i w różnych wersjach i próbujesz to wszystko uruchamiać na jednym serwerze. Wszystko jest spoko jak zainstalujesz i dopieścisz to na początku, ale potem nagle przychodzi ci zrobić upgrade jednej z nich (przykładowo .NET Core 2.1 > 2.2). Okazuje się, że trzeba zainstalować .NET Core 2.2, ale do niego potrzebna jest jakaś biblioteka w wersji, której nie znajdziesz w danym systemie lub jej wersja kłóci się z wersją dla innej apki. Jesteś w d..... Ale jeżeli użyjesz dockera to tylko podmienisz obraz źródłowy na taki obsługujący 2.2 i ogień.
Poza tym cała koncepcja orkiestracji (nienawidzę tego słowa) za pomocą docker-compose jest bardzo przydatna w utrzymaniu. Jeżeli masz system jak wyżej to w razie grzebania i położenia jednej lub wielu apek masz zabawę, żeby to odtworzyć do stanu pierwotnego, a jeżeli wszystko przygotowałeś sobie wcześniej w formie plików .yml to odtwarzasz tylko dane, puszczasz doker-compose up i idziesz na kawę.
Do tego oczywiście dochodzi możliwość w 100% odtworzenia środowiska testowego na produkcji.

wiewiorek
  • Rejestracja:prawie 17 lat
  • Ostatnio:9 dni
0
Mały napisał(a):

Docker jest fajny jeżeli masz kilka różnych apek z różnymi wymaganiami i w różnych wersjach i próbujesz to wszystko uruchamiać na jednym serwerze. Wszystko jest spoko jak zainstalujesz i dopieścisz to na początku, ale potem nagle przychodzi ci zrobić upgrade jednej z nich (przykładowo .NET Core 2.1 > 2.2). Okazuje się, że trzeba zainstalować .NET Core 2.2, ale do niego potrzebna jest jakaś biblioteka w wersji, której nie znajdziesz w danym systemie lub jej wersja kłóci się z wersją dla innej apki. Jesteś w d..... Ale jeżeli użyjesz dockera to tylko podmienisz obraz źródłowy na taki obsługujący 2.2 i ogień.
Poza tym cała koncepcja orkiestracji (nienawidzę tego słowa) za pomocą docker-compose jest bardzo przydatna w utrzymaniu. Jeżeli masz system jak wyżej to w razie grzebania i położenia jednej lub wielu apek masz zabawę, żeby to odtworzyć do stanu pierwotnego, a jeżeli wszystko przygotowałeś sobie wcześniej w formie plików .yml to odtwarzasz tylko dane, puszczasz doker-compose up i idziesz na kawę.
Do tego oczywiście dochodzi możliwość w 100% odtworzenia środowiska testowego na produkcji.

O dziękuję :)

W2
  • Rejestracja:około 19 lat
  • Ostatnio:11 dni
4

Np.Aplikacja mikroserwisowa - każdy mikroserwis to osobna aplikacja - postawiona w osobnym kontenerze. Jeśli dany element systemu trzeba skalować bo ulego większemu obciążeniu to odpalamy kolejne kontenery z tą apką
Środowisko developerskie - ile razy konfigurowałęś nowy projekt przez ponad pół dnia ? Docker compose umozliwia odpalenia całego środowiska (np. API + Frontend + baza+jakiś redis) w zasadzie jedną komendą. Docker sam pobierze zależności i je odpali. To szczególnie fajne dla Frontendu - nie muszą pół dnia stawiać backendiu żeby testować calle u siebie - docker-compose up i lecimy.

Ważna uwaga - bo to może być mylące na początku. Kontener można traktować jako osobną maszynę wirtualną - ALE powinien on mieć w sobie tylko jedną główną aplikację - nie tworzy się kontenerów w stylu (mssql+api+coś tam). Każda aplikacja to zawsze osobny kontener. Teoretycznie można odpalić kilka aplikacji na raz - to w końcu linux - ale nie po to było to projektowane. Jesli odpalone jest kilka alikacji główny to jeśli jedna się sypnie to nie wiadomo co zrobić - jeśli jest jedna to kontener jest ubijany. Zwróć też uwagę na rożnicę między kontenerem a obrazem.

edytowany 1x, ostatnio: W2K
somekind
Moderator
  • Rejestracja:około 17 lat
  • Ostatnio:16 minut
  • Lokalizacja:Wrocław
2
W2K napisał(a):

Np.Aplikacja mikroserwisowa - każdy mikroserwis to osobna aplikacja - postawiona w osobnym kontenerze. Jeśli dany element systemu trzeba skalować bo ulego większemu obciążeniu to odpalamy kolejne kontenery z tą apką

A gdzie konkretnie je odpalamy? Bo jak w chmurze, to te serwisy same się skalują.

Środowisko developerskie - ile razy konfigurowałęś nowy projekt przez ponad pół dnia ?

Pół dnia? Luksus! Ja jakieś 3-5 lat temu mieszkałem w pudełku po butach... trafiałem do projektów, które odpalało się na swojej maszynie 3-5 dni.
Ile by to trwało z dockerem? Stawiam, że jakieś dwa tygodnie. Bo to byłby specjalny, zaprojektowany przez najlepszych korporacyjnych architektów docker, który działa tylko na maszynach VMWare z zainstalowaną Mandrivą 10, pod warunkiem, że serwer fizyczny ma dostępną stację dyskietek 5,25" oraz na stałe zwarte styki 2 i 6 w porcie COM2. Do tego docker-compose zapewne daliby radę zamienić jakimś znacznie bardziej zaawansowanym i potężnym rozwiązaniem bazującym na dużej ilości plików bat i xml. (Wiadomo - XML jest jak przemoc. Jeśli nie rozwiązuje Twoich problemów, to znaczy, że używasz go za mało.)
To jest kwestia bardziej podejścia i organizacji, narzędzi w mniejszym stopniu. Oczywiście dobre narzędzia użyte odpowiednio z przeznaczeniem pomogą w wielu sytuacjach. Ale można też do tych sytuacji nie doprowadzać.

To szczególnie fajne dla Frontendu - nie muszą pół dnia stawiać backendiu żeby testować calle u siebie - docker-compose up i lecimy.

A nie można po prostu wysyłać requestów do jakiegoś backendu na środowisku testowym?

edytowany 1x, ostatnio: somekind
piotrpo
Gdybym dostał dolara za każdym razem kiedy siedząc nad jakimś nudnym i wtórnym do porzygu systemem słyszałem "ale my mamy specyficzne potrzeby i nie możemy użyć zwykłego ....". Szczytem było pisanie własnego serwera aplikacyjnego.
0

Mandrivą 10.

Płakałem...

Patryk27
Moderator
  • Rejestracja:ponad 17 lat
  • Ostatnio:ponad rok
  • Lokalizacja:Wrocław
  • Postów:13042
2
somekind napisał(a):

Ile by to trwało z dockerem? Stawiam, że jakieś dwa tygodnie. Bo to byłby specjalny, zaprojektowany przez najlepszych korporacyjnych architektów docker, który działa tylko na maszynach VMWare z zainstalowaną Mandrivą 10, pod warunkiem, że serwer fizyczny ma dostępną stację dyskietek 5,25" oraz na stałe zwarte styki 2 i 6 w porcie COM2.

Żadne z tych wymagań nie jest podyktowane Dockerem - jeśli ktoś zaprojektował aplikację w taki sposób, że przed odpaleniem trzeba recytować na stojąco Tuwima, no to sry - Docker niewiele pomoże.

Warto jednak zauważyć, że - o ile nie jest stosowany bezmyślnie - też nie zaszkodzi, a przynajmniej nie w taki przerysowany sposób, w jaki to próbujesz zobrazować.

Ideologicznie do wystartowania projektu od zera powinno wystarczyć ustawienie kluczy SSH, docker-compose up / lxc launch i wsio; fakt, że ktoś może źle zaprojektować kontener nie ma nic wspólnego z samą technologią, ponieważ równie dobrze ta sama osoba może np. źle przygotować migracje bazy danych i odpalenie od zera Postgresa będzie wymagało przebrnięcia przez dziesięć skryptów bashowych, trzy batche, odpalenie czegoś przez Wine i pobranie połowicznego dumpa danych z produkcji ("no bo jakoś tak wyszło, że mamy rozjazd między migracjami a produkcją - ja tam się nie do końca na tym znam").

Nie przedstawiłeś IMO nic sensownego w kontekście samego Dockera - ot: źle stosowane technologie są źle stosowane i tyle.

A nie można po prostu wysyłać requestów do jakiegoś backendu na środowisku testowym?

I tak, i nie - jeśli pracujesz razem z frontendowcem nad nowym zadaniem i nie chcesz aby wysyłał żądania na Twój komputer (ponieważ co chwilę zmieniasz kod), kontenery są stosunkowo prostym rozwiązaniem. Instalujesz taki kontener u frontendowca, robisz checkouta na ostatnim stabilnym commicie ze wspólnego brancha i niech sobie robi co dusza zapragnie.


edytowany 3x, ostatnio: Patryk27
somekind
Moderator
  • Rejestracja:około 17 lat
  • Ostatnio:16 minut
  • Lokalizacja:Wrocław
0
Patryk27 napisał(a):

Żadne z tych wymagań nie jest podyktowane Dockerem - jeśli ktoś zaprojektował aplikację w taki sposób, że przed odpaleniem trzeba recytować na stojąco Tuwima, no to sry - Docker niewiele pomoże.

Warto jednak zauważyć, że - o ile nie jest stosowany bezmyślnie - też nie zaszkodzi, a przynajmniej nie w taki przerysowany sposób, w jaki to próbujesz zobrazować.

Ja nie pisałem, że docker zaszkodzi ani, że ma takie wymagania. Ja pisałem, że jeśli ktoś dopuścił do wielogodzinnego i skomplikowanego stawiania środowiska bez dockera, to czemu miałby nie dopuścić do tego z dockerem? Jak ktoś jest brudasem, to przeprowadzka z chlewu do pałacu nie pomoże. Jeśli ktoś jest bezmyślny, to dockera też będzie używał bezmyślnie.

Ideologicznie do wystartowania projektu od zera powinno wystarczyć ustawienie kluczy SSH, docker-compose up / lxc launch i wsio; fakt, że ktoś może źle zaprojektować kontener nie ma nic wspólnego z samą technologią, ponieważ równie dobrze ta sama osoba może np. źle przygotować migracje bazy danych i odpalenie od zera Postgresa będzie wymagało przebrnięcia przez dziesięć skryptów bashowych, trzy batche, odpalenie czegoś przez Wine i pobranie połowicznego dumpa danych z produkcji ("no bo jakoś tak wyszło, że mamy rozjazd między migracjami a produkcją - ja tam się nie do końca na tym znam").

Dokładnie o to mi chodzi!

Nie przedstawiłeś IMO nic sensownego w kontekście samego Dockera - ot: źle stosowane technologie są źle stosowane i tyle.

Ale ja nie miałem zamiaru argumentować przeciwko dockerowi, tylko przeciwko takiemu hurraoptymistycznemu podejściu, jakoby on sam magicznie coś sprawiał, i był jedynym rozwiązaniem dla długiej konfiguracji środowiska pracy.

I tak, i nie - jeśli pracujesz razem z frontendowcem nad nowym zadaniem i nie chcesz aby wysyłał żądania na Twój komputer (ponieważ co chwilę zmieniasz kod), kontenery są stosunkowo prostym rozwiązaniem. Instalujesz taki kontener u frontendowca, robisz checkouta na ostatnim stabilnym commicie ze wspólnego brancha i niech sobie robi co dusza zapragnie.

No na pewno bym nie chciał, żeby wysyłał na mój komputer, dlatego właśnie stabilna wersja backendu powinna być na serwerze testowym.

Patryk27
Moderator
  • Rejestracja:ponad 17 lat
  • Ostatnio:ponad rok
  • Lokalizacja:Wrocław
  • Postów:13042
0

Ale ja nie miałem zamiaru argumentować przeciwko dockerowi, tylko przeciwko takiemu hurraoptymistycznemu podejściu, jakoby on sam magicznie coś sprawiał, i był jedynym rozwiązaniem dla długiej konfiguracji środowiska pracy.

Ano ok, w takim razie nie zrozumiałem intencji ;-)

No na pewno bym nie chciał, żeby wysyłał na mój komputer, dlatego właśnie stabilna wersja backendu powinna być na serwerze testowym.

Co w sytuacji, gdy jednocześnie masz kilka osobnnych zadań w drodze (zarówno frontendowych, jak i backendowych, jak i frontendowo-backendowych)?
Do którego brancha powinni bić frontendowcy pracujący w parze z backendowcami nad nowymi zadaniami?


somekind
Moderator
  • Rejestracja:około 17 lat
  • Ostatnio:16 minut
  • Lokalizacja:Wrocław
3
Patryk27 napisał(a):

Co w sytuacji, gdy jednocześnie masz kilka osobnnych zadań w drodze (zarówno frontendowych, jak i backendowych, jak i frontendowo-backendowych)?

Ale co to jest zadanie frontendowo-backendowe? Żeby frontend mógł coś zrobić, najpierw backend musi to umożliwić. Potrzebne są dwa zadania. Najpierw robimy backend, testujemy go, potem frontendowcy mogą się zająć swoją robotą współpracując ze stabilnym backendem na serwerze testowym.

SS
Żeby frontend mógł coś zrobić, najpierw backend musi to umożliwić Jak w innym temacie napisałem ci mniej więcej to samo, to się pytałeś na który bootcampie tak mówią....
SS
Jak widać oprócz erystycznych sztuczek oraz manipulacji zbyt wiele nie potrafisz.
aurel
Moderator
  • Rejestracja:prawie 15 lat
  • Ostatnio:4 minuty
1

Najpierw robimy backend, testujemy go, potem frontendowcy mogą się zająć swoją robotą współpracując ze stabilnym backendem na serwerze testowym.

W idealnym świecie może i tak. W rzeczywistości często można spotkać się z sytuacją, którą można by krótko opisać: Daj mi cokolwiek, co mniej więcej działa, żebym mógł zacząć prace nad moją częścią. Powodem może być deadline, ale też np. sytuacja, w której frontendowiec nie ma nic innego do roboty i już chciałby ruszać właśnie z tym.

somekind
Moderator
  • Rejestracja:około 17 lat
  • Ostatnio:16 minut
  • Lokalizacja:Wrocław
1

To by znaczyło, że frontend jest obrobiony z taskami przed backendem, co jest mało możliwe.
Ale jak tak bardzo chce pracować, to ja nie bardzo rozumiem w czym problem. Niech sobie frontend jakieś fejkowe dane zahardcoduje po prostu.

AF
  • Rejestracja:prawie 18 lat
  • Ostatnio:11 dni
2

Ja lubię w dockerze dwie rzeczy: izolację i odtwarzalność.
Izolacja jest spoko, mogę mieć w każdym kontenerze zupełnie inne środowisko i ciągle mogę to odpalić na jednym i tym samym systemie, nie muszę przejmować się niekompatybilnymi wersjami i zależnościami, a ni tym, że aktualizując paczkę dla aplikacji A zepsuję aplikację B.

Odtwarzalność jest świetna, bo mogę bez obaw grzebać w konfiguracjach, paczkach, ustawieniach, wersjach, a jak coś zepsuję, to cofam zmiany gitem i po problemie. To dotyczy też wszystkich zależności i aplikacji dookoła. Ponadto przy wdrażaniu na różne środowiska wiem, że mam ten sam stan, niezależnie od hosta.

somekind napisał(a):

To by znaczyło, że frontend jest obrobiony z taskami przed backendem, co jest mało możliwe.
Żeby frontend mógł coś zrobić, najpierw backend musi to umożliwić.

Macie jakąś dziwną organizację, frontend spokojnie może pracować bez backendu.

somekind
Moderator
  • Rejestracja:około 17 lat
  • Ostatnio:16 minut
  • Lokalizacja:Wrocław
0
Afish napisał(a):

Macie jakąś dziwną organizację, frontend spokojnie może pracować bez backendu.

I czyta dane z bazy, wysyła przelewy do banków, a klientom towar bezpośrednio?
To taki frontend chyba też jest backendem.

SS
Np. na Reakc'ie Możesz sobie zrobić "Fake Backend". Teoretyk pewnie o tym nie wie.
AF
  • Rejestracja:prawie 18 lat
  • Ostatnio:11 dni
0

Nie, frontend robi to, co do niego należy, a robotę backendową zostawia backendowi.

somekind
Moderator
  • Rejestracja:około 17 lat
  • Ostatnio:16 minut
  • Lokalizacja:Wrocław
0

Do frontendu należy wyświetlenie danych z backendu oraz umożliwienie użytkownikowi przeprowadzenia transakcji na backendzie. U nas frontend bez backendu może się co najwyżej załadować i wyświetlić komunikat o braku łączności. To nie jest kwestia dziwnej organizacji tylko typowego biznesu.

AF
  • Rejestracja:prawie 18 lat
  • Ostatnio:11 dni
2
somekind napisał(a):

To nie jest kwestia dziwnej organizacji tylko typowego biznesu.

Najwyraźniej po prostu nie umiecie klepać frontendu bez gotowego backendu, ale to nie znaczy, że jest to „typowy biznses”. Pracowałem z wieloma aplikacjami SPA i nie-SPA, gdzie brak gotowego backendu nie był problemem dla frontendowców i jakoś potrafili wyklepać wszystko, zanim ja w ogóle wziąłem się do pracy.

SS
Jak ktoś używa "Corporacyjnego frameworka" do frontu to tak jest. :P
somekind
Moderator
  • Rejestracja:około 17 lat
  • Ostatnio:16 minut
  • Lokalizacja:Wrocław
0
Afish napisał(a):

Najwyraźniej po prostu nie umiecie klepać frontendu bez gotowego backendu, ale to nie znaczy, że jest to „typowy biznses”.

Skoro interpretujesz swoje imaginacje, to nie mam jak się nie zgodzić.

Pracowałem z wieloma aplikacjami SPA i nie-SPA, gdzie brak gotowego backendu nie był problemem dla frontendowców i jakoś potrafili wyklepać wszystko, zanim ja w ogóle wziąłem się do pracy.

I ten naklepany frontend realizował procesy biznesowe sam, bez udziału backendu? Jeśli tak, to backend nigdy nie był potrzebny, jeśli nie, to jakby nie ma powodu do chwały.

Jeśli backend nie umożliwia czegoś, to frontend choćby się nie wiem jak starał, nie dostarczy tego ficzera użytkownikowi.

A programiści klepać sobie można w dowolnej kolejności, nigdzie nie pisałem, że frontendowcy nie mogą zacząć przed backendowcami. Nawet napisałem, że jak frontendowcy chcą zacząć przed backendowcami, to ich odpowiedzialnością jest zamockowanie sobie tego, czego backend nie dostarcza.

edytowany 1x, ostatnio: somekind
szarotka
Czasem robi się demo dla klienta, wtedy backend nie jest ważny, tylko front. Robi się pokaz, klient robi OoOo i bierze cały system.
AF
  • Rejestracja:prawie 18 lat
  • Ostatnio:11 dni
0
somekind napisał(a):

Skoro interpretujesz swoje urojenia, to nie mam jak się nie zgodzić.
I ten naklepany frontend realizował procesy biznesowe sam, bez udziału backendu? Jeśli tak, to backend nigdy nie był potrzebny, jeśli nie, to jakby nie ma powodu do chwały.

Najpierw zarzucasz mi urojenia, potem znajdujesz nieistniejące stwierdzenia, a potem bohatersko z nimi walczysz? Jak nie chce Ci się prowadzić dyskusji na poziomie, to może lepiej przestań.

Jeśli backend nie umożliwia czegoś, to frontend choćby się nie wiem jak starał, nie dostarczy tego ficzera użytkownikowi.

Tak.

A programiści klepać sobie można w dowolnej kolejności, nigdzie nie pisałem, że frontendowcy nie mogą zacząć przed backendowcami.

Też tak nie napisałem.

somekind
Moderator
  • Rejestracja:około 17 lat
  • Ostatnio:16 minut
  • Lokalizacja:Wrocław
0
Afish napisał(a):

Najpierw zarzucasz mi urojenia, potem znajdujesz nieistniejące stwierdzenia, a potem bohatersko z nimi walczysz?

Nie znalazłem żadnego nieistniejącego stwierdzenia, rozpatrzyłem dwie alternatywy jednej tezy.

Jak nie chce Ci się prowadzić dyskusji na poziomie, to może lepiej przestań.

Napisałem, że backend musi dostarczyć ficzer, zanim frontend go udostępni użytkownikowi. Ty z tego wyciągnąłeś wniosek, że "nie umiemy". Mam rozumieć, że dla Ciebie to jest dyskusja na poziomie? :)

AF
  • Rejestracja:prawie 18 lat
  • Ostatnio:11 dni
1

Nigdzie nie pisałem, że można wystawić do użytkownika frontend bez gotowego backendu, nie wiem, dlaczego o czymś takim pomyślałeś. Napisałem, że backendowcy nie muszą skończyć swojej pracy przed frontendowcami. Nawet mogę przytoczyć to, do czego się odnosiłem:

somekind napisał(a):

To by znaczyło, że frontend jest obrobiony z taskami przed backendem, co jest mało możliwe.
Żeby frontend mógł coś zrobić, najpierw backend musi to umożliwić.

Nie uważam, że „jest mało możliwe”, aby frontend był „obrobiony z taskami przed backendem”, widziałem to w pracy wielokrotnie. To nie znaczy, że jak wyklepie się skrypty i style, to od razu pcha się to do klienta…

WeiXiao
  • Rejestracja:około 9 lat
  • Ostatnio:minuta
  • Postów:5107
0
somekind napisał(a):

Napisałem, że backend musi dostarczyć ficzer, zanim frontend go udostępni użytkownikowi. Ty z tego wyciągnąłeś wniosek, że "nie umiemy". Mam rozumieć, że dla Ciebie to jest dyskusja na poziomie? :)

Kto powiedział, że od razu po zaklepaniu fronta wszystko leci do usera?

Nie wszędzie potrzebujesz backend aby wyświetlać dane i te miejsca można spokojnie zrobić bez backendu, ale gorzej jeżeli modele będą się 15 razy zmieniać.

Ba, możesz nawet sobie wystawić Fake-Backend, który będzie zwracał coś, co w przyszłości tam będzie i nikt niczego nie blokuje. Pytanie tylko czy się opłaca czasowo w to bawić.

edytowany 4x, ostatnio: WeiXiao
somekind
Moderator
  • Rejestracja:około 17 lat
  • Ostatnio:16 minut
  • Lokalizacja:Wrocław
1
Afish napisał(a):

Nigdzie nie pisałem, że można wystawić do użytkownika frontend bez gotowego backendu, nie wiem, dlaczego o czymś takim pomyślałeś.

Tak zinterpretowałem Twoje zdanie:

Macie jakąś dziwną organizację, frontend spokojnie może pracować bez backendu.

Widocznie niepoprawnie (bo i od początku to nie miało sensu), dlatego później dopytywałem (a nie zarzucałem). Wyraziłeś się nieprecyzyjnie, bo napisałeś frontend i backend, zamiast frontendowcy i backendowcy. Przy czym ja to zrobiłem pierwszy, więc biję się w pierś, bo najwyraźniej ja jestem inicjatorem całego nieporozumienia, przepraszam.

Nie uważam, że „jest mało możliwe”, aby frontend był „obrobiony z taskami przed backendem”, widziałem to w pracy wielokrotnie.

Nie kłócę się, to kwestia mocno subiektywna. Ty masz inne doświadczenia, ja raczej jestem przyzwyczajony do tego, że to raczej frontendowcy mają problemy z dotrzymaniem terminów, a taski frontendowe częściej mają tendencje do powstawania w nich nieprzewidzianych problemów.
No i od razu napisałem, jak można rozwiązać problem z brakiem backendu do powstającego frontendu.

aurel
Moderator
  • Rejestracja:prawie 15 lat
  • Ostatnio:4 minuty
1

Oczywiście, można hardkodować. Ale można też postawić dockera ;)
Docker będzie lepszym rozwiązaniem tam, gdzie praca jest bardziej "dynamiczna", a założenia są uściślane w trakcie pracy. Niestety mam z tym do czynienia dość często. Rozmowy w stylu:

  • Ej, a jak mam niby wyświetlić to, bez tamtego?
  • Ano fakt, czekaj, to zaraz dorobię
  • Dlaczego przestało działać to a tamto?
  • Aaa bo tu się nazwa parametru zmieniła

Poza tym, frontend nie tylko wyświetla dane z backendu, ale czasem też coś do backendu wysyła. Oprogramowując wysyłanie danych muszę uwzględnić też sytuacje błędne (czyli np. api nie odpowiada; i w sumie przy wyświetlaniu też). Jak się uprzeć, to też można to hardkodować. Mi jednak wygodniej pracować z prawdziwym systemem.

edytowany 1x, ostatnio: aurel
Kliknij, aby dodać treść...

Pomoc 1.18.8

Typografia

Edytor obsługuje składnie Markdown, w której pojedynczy akcent *kursywa* oraz _kursywa_ to pochylenie. Z kolei podwójny akcent **pogrubienie** oraz __pogrubienie__ to pogrubienie. Dodanie znaczników ~~strike~~ to przekreślenie.

Możesz dodać formatowanie komendami , , oraz .

Ponieważ dekoracja podkreślenia jest przeznaczona na linki, markdown nie zawiera specjalnej składni dla podkreślenia. Dlatego by dodać podkreślenie, użyj <u>underline</u>.

Komendy formatujące reagują na skróty klawiszowe: Ctrl+B, Ctrl+I, Ctrl+U oraz Ctrl+S.

Linki

By dodać link w edytorze użyj komendy lub użyj składni [title](link). URL umieszczony w linku lub nawet URL umieszczony bezpośrednio w tekście będzie aktywny i klikalny.

Jeżeli chcesz, możesz samodzielnie dodać link: <a href="link">title</a>.

Wewnętrzne odnośniki

Możesz umieścić odnośnik do wewnętrznej podstrony, używając następującej składni: [[Delphi/Kompendium]] lub [[Delphi/Kompendium|kliknij, aby przejść do kompendium]]. Odnośniki mogą prowadzić do Forum 4programmers.net lub np. do Kompendium.

Wspomnienia użytkowników

By wspomnieć użytkownika forum, wpisz w formularzu znak @. Zobaczysz okienko samouzupełniające nazwy użytkowników. Samouzupełnienie dobierze odpowiedni format wspomnienia, zależnie od tego czy w nazwie użytkownika znajduje się spacja.

Znaczniki HTML

Dozwolone jest używanie niektórych znaczników HTML: <a>, <b>, <i>, <kbd>, <del>, <strong>, <dfn>, <pre>, <blockquote>, <hr/>, <sub>, <sup> oraz <img/>.

Skróty klawiszowe

Dodaj kombinację klawiszy komendą notacji klawiszy lub skrótem klawiszowym Alt+K.

Reprezentuj kombinacje klawiszowe używając taga <kbd>. Oddziel od siebie klawisze znakiem plus, np <kbd>Alt+Tab</kbd>.

Indeks górny oraz dolny

Przykład: wpisując H<sub>2</sub>O i m<sup>2</sup> otrzymasz: H2O i m2.

Składnia Tex

By precyzyjnie wyrazić działanie matematyczne, użyj składni Tex.

<tex>arcctg(x) = argtan(\frac{1}{x}) = arcsin(\frac{1}{\sqrt{1+x^2}})</tex>

Kod źródłowy

Krótkie fragmenty kodu

Wszelkie jednolinijkowe instrukcje języka programowania powinny być zawarte pomiędzy obróconymi apostrofami: `kod instrukcji` lub ``console.log(`string`);``.

Kod wielolinijkowy

Dodaj fragment kodu komendą . Fragmenty kodu zajmujące całą lub więcej linijek powinny być umieszczone w wielolinijkowym fragmencie kodu. Znaczniki ``` lub ~~~ umożliwiają kolorowanie różnych języków programowania. Możemy nadać nazwę języka programowania używając auto-uzupełnienia, kod został pokolorowany używając konkretnych ustawień kolorowania składni:

```javascript
document.write('Hello World');
```

Możesz zaznaczyć również już wklejony kod w edytorze, i użyć komendy  by zamienić go w kod. Użyj kombinacji Ctrl+`, by dodać fragment kodu bez oznaczników języka.

Tabelki

Dodaj przykładową tabelkę używając komendy . Przykładowa tabelka składa się z dwóch kolumn, nagłówka i jednego wiersza.

Wygeneruj tabelkę na podstawie szablonu. Oddziel komórki separatorem ; lub |, a następnie zaznacz szablonu.

nazwisko;dziedzina;odkrycie
Pitagoras;mathematics;Pythagorean Theorem
Albert Einstein;physics;General Relativity
Marie Curie, Pierre Curie;chemistry;Radium, Polonium

Użyj komendy by zamienić zaznaczony szablon na tabelkę Markdown.

Lista uporządkowana i nieuporządkowana

Możliwe jest tworzenie listy numerowanych oraz wypunktowanych. Wystarczy, że pierwszym znakiem linii będzie * lub - dla listy nieuporządkowanej oraz 1. dla listy uporządkowanej.

Użyj komendy by dodać listę uporządkowaną.

1. Lista numerowana
2. Lista numerowana

Użyj komendy by dodać listę nieuporządkowaną.

* Lista wypunktowana
* Lista wypunktowana
** Lista wypunktowana (drugi poziom)

Składnia Markdown

Edytor obsługuje składnię Markdown, która składa się ze znaków specjalnych. Dostępne komendy, jak formatowanie , dodanie tabelki lub fragmentu kodu są w pewnym sensie świadome otaczającej jej składni, i postarają się unikać uszkodzenia jej.

Dla przykładu, używając tylko dostępnych komend, nie możemy dodać formatowania pogrubienia do kodu wielolinijkowego, albo dodać listy do tabelki - mogłoby to doprowadzić do uszkodzenia składni.

W pewnych odosobnionych przypadkach brak nowej linii przed elementami markdown również mógłby uszkodzić składnie, dlatego edytor dodaje brakujące nowe linie. Dla przykładu, dodanie formatowania pochylenia zaraz po tabelce, mogłoby zostać błędne zinterpretowane, więc edytor doda oddzielającą nową linię pomiędzy tabelką, a pochyleniem.

Skróty klawiszowe

Skróty formatujące, kiedy w edytorze znajduje się pojedynczy kursor, wstawiają sformatowany tekst przykładowy. Jeśli w edytorze znajduje się zaznaczenie (słowo, linijka, paragraf), wtedy zaznaczenie zostaje sformatowane.

  • Ctrl+B - dodaj pogrubienie lub pogrub zaznaczenie
  • Ctrl+I - dodaj pochylenie lub pochyl zaznaczenie
  • Ctrl+U - dodaj podkreślenie lub podkreśl zaznaczenie
  • Ctrl+S - dodaj przekreślenie lub przekreśl zaznaczenie

Notacja Klawiszy

  • Alt+K - dodaj notację klawiszy

Fragment kodu bez oznacznika

  • Alt+C - dodaj pusty fragment kodu

Skróty operujące na kodzie i linijkach:

  • Alt+L - zaznaczenie całej linii
  • Alt+, Alt+ - przeniesienie linijki w której znajduje się kursor w górę/dół.
  • Tab/⌘+] - dodaj wcięcie (wcięcie w prawo)
  • Shit+Tab/⌘+[ - usunięcie wcięcia (wycięcie w lewo)

Dodawanie postów:

  • Ctrl+Enter - dodaj post
  • ⌘+Enter - dodaj post (MacOS)