Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

11 Stron V   1 2 3 > » 

batman
Napisane: 5.06.2020, 00:40:36





Grupa: Moderatorzy
Postów: 2 921
Dołączył: 11.08.2005
Skąd: 127.0.0.1



Miałem okazję pracować w kilku modelach rozwiązujących Twój problem. Poniżej znajdziesz zestawienie wad i zalet każdego z nich. Zestawienie to jest bardzo ogólne, więc zanim zdecydujesz się na jakiś model, poszukaj więcej szczegółów. Co więcej, nie są to wszystkie możliwości, np. pominąłem tutaj kontenery, które mogłyby pomóc rozwiązać niektóre problemy. Tak jak pisał vokiel - wszystko zależy od tego, co potrzebujesz.

1. Wszytko w jednym worze.

Aplikacja/serwer i baza danych są dzielone między wszystkich klientów.

Zalety:
- wszystko masz w jednym miejscu
- aktualizuję robisz na raz dla wszystkich klientów
- nie musisz tworzyć dodatkowych narzędzi do zarządzania

Wady:
- wszystko masz w jednym miejscu
- jeden klient jest w stanie położyć aplikację i nikt nie będzie w stanie jej używać
- aktualizacje są wypuszczane dla wszystkich klientów
- baza danych oraz aplikacja będą bardziej skomplikowane, ponieważ wszędzie musisz wstawić id klienta
- jeden mały błąd i dane jednego klienta mogą wyświetlić się innemu klientowi
- brak możliwości wersjonowania (wszyscy klienci są na tej samej wersji)

2. Wspólna aplikacja/serwer, niezależne bazy danych.

Aplikacja siedzi na jednym serwerze i jest wspólna dla wszystkich klientów, każdy klient ma dedykowaną bazę danych.

Zalety:
- separacja danych (bardzo niskie prawdopodobieństwo pokazania danych jednego klienta innemu klientowi)
- aplikację/serwer aktualizujesz na raz dla wszystkich klientów
- każdy klient może mieć inną wersję bazy danych (w zależności od wersji aplikacji)

Wady:
- będziesz potrzebował dodatkowego oprogramowania do zarządzania wersjami aplikacji/bazy danych
- każda baza danych musi być aktualizowana osobno
- jeden klient jest w stanie położyć aplikację i nikt nie będzie w stanie jej używać

3. Każdy klient ma osobny serwer i bazę danych.

Zalety:
- separacja danych (niskie prawdopodobieństwo pokazania danych jednego klienta innemu klientowi)
- każdy klient może być na innej wersji aplikacji/bazy danych
- nie ma możliwości aby jeden klient położył aplikację innym klientom

Wady:
- bardzo łatwo o bałagan
- będziesz potrzebował dodatkowego oprogramowania do zarządzania serwerami, wersjami aplikacji i bazy danych
- wysoka cena

4. "Rozproszona" aplikacja i oddzielne bazy danych.

Zalety:
- kod dla każdego klienta siedzi na jednym serwerze (może być w osobnych folderach lub linkować do konkretnych wersji - np. do tagu lub commit hash). Ten punkt można wykorzystać we wszystkich poprzednich modelach.
- aplikacja służy tylko do wyświetlenia danych, nie robi żadnych obliczeń (innymi słowy jest szybka)
- wszystkie operacje wykonywane są w tle, najlepiej na dedykowanym serwerze/serwerach lub w chmurze (kolejki, pubsub, websockets, itp.)
- nie ma możliwości aby jeden klient położył aplikację innym klientom

Wady:
- będziesz potrzebował dodatkowego oprogramowania do zarządzania wersjami aplikacji i bazy
- projekt będzie bardziej skomplikowanych i będzie wymagał więcej uwagi (dużo logowania i monitorowania)
- koszt może być wysoki (zależy od dodatkowych produktów)

5. Serverless

Zalety:
- każdy klient ma własną infrastrukturę
- nie ma możliwości pomieszania danych (no dobra, jest, ale bardzo mała)
- nie ma możliwości aby jeden klient położył aplikację innym klientom
- niski koszt początkowy
- nie trzeba zarządzać serwerami
- aktualizacje możesz robić per klient

Wady:
- będziesz potrzebował dodatkowego oprogramowania do zarządzania wersjami aplikacji i bazy
- będziesz potrzebował narzędzi typu Infrastructure as Code (terraform, CloudFormation, itp.) do zarządzania infrastrukturą
- koszt może bardzo szybko wzrosnąć
  Forum: PHP · Podgląd postu: #1251520 · Odpowiedzi: 4 · Wyświetleń: 827

batman
Napisane: 24.01.2020, 00:44:27





Grupa: Moderatorzy
Postów: 2 921
Dołączył: 11.08.2005
Skąd: 127.0.0.1



Cytat
nie kopiuje struktury katalogów...
Mea culpa, ne zauważyłem tego. W takim wypadku rsync będzie lepszym rozwiązaniem

Kod
find . -type f -name '*.php' -exec rsync -R "{}" /katalog/docelowy \;
  Forum: Serwery WWW · Podgląd postu: #1249104 · Odpowiedzi: 5 · Wyświetleń: 5 028

batman
Napisane: 16.09.2019, 09:48:24





Grupa: Moderatorzy
Postów: 2 921
Dołączył: 11.08.2005
Skąd: 127.0.0.1



Od kilku tygodni korzystam z RDS Aurora w modelu serverless. Działa to nadspodziewanie dobrze. Nie zaobserwowałem spadków wydajności, baza sama się skaluje gdy jest taka potrzeba i co najważniejsze nie muszę się przejmować aktualizacjami, backupami czy konfiguracją. Jedyne czym muszę się przejmować jest cena, Aurora do najtańszych usług nie należy.
Co do phpmyadmin. Nie korzystałem z tego od dobrych kilku lat, więc nie mam pojęcia jak się będzie sprawować.
  Forum: MySQL · Podgląd postu: #1245442 · Odpowiedzi: 3 · Wyświetleń: 1 369

batman
Napisane: 14.07.2018, 23:40:48





Grupa: Moderatorzy
Postów: 2 921
Dołączył: 11.08.2005
Skąd: 127.0.0.1



DigitalOcean lub AWS.
  Forum: Przedszkole · Podgląd postu: #1235369 · Odpowiedzi: 12 · Wyświetleń: 920

batman
Napisane: 10.06.2018, 17:49:21





Grupa: Moderatorzy
Postów: 2 921
Dołączył: 11.08.2005
Skąd: 127.0.0.1



Szyfrowanie hasła - https://secure.php.net/manual/en/function.o...ssl-encrypt.php
Odszyfrowanie hasła - https://secure.php.net/manual/en/function.o...ssl-decrypt.php

Prościej i bezpieczniej się nie da.
  Forum: PHP · Podgląd postu: #1234229 · Odpowiedzi: 5 · Wyświetleń: 542

batman
Napisane: 5.06.2018, 13:39:18





Grupa: Moderatorzy
Postów: 2 921
Dołączył: 11.08.2005
Skąd: 127.0.0.1



Takie coś powinno zadziałać. Nie testowałem, więc mogła gdzieś wkraść się literówka.

  1. <?php
  2. $array = [];
  3. while ($fileName = readdir($dir)) {
  4. if ($fileName != "." && $fileName != "..") {
  5. $img = $picFolder.$fileName;
  6. $uploadDate = date('d.m.Y', filemtime($img));
  7.  
  8. if (!isset($array[$uploadDate])) {
  9. $array[$uploadDate] = [];
  10. }
  11.  
  12. $array[$uploadDate][] = $fileName;
  13. }
  14. }
  15. closedir($dir);
  Forum: Przedszkole · Podgląd postu: #1233960 · Odpowiedzi: 12 · Wyświetleń: 716

batman
Napisane: 5.06.2018, 12:09:52





Grupa: Moderatorzy
Postów: 2 921
Dołączył: 11.08.2005
Skąd: 127.0.0.1



A nie prościej byłoby stworzyć taką tablicę?
  1. $pictures = [
  2. '2018.03.22' => ['01.jpg', '02.jpg'],
  3. '2018.03.26' => ['03.jpg', '04.jpg', '05.jpg']
  4. ];
  Forum: Przedszkole · Podgląd postu: #1233955 · Odpowiedzi: 12 · Wyświetleń: 716

batman
Napisane: 16.05.2018, 01:46:30





Grupa: Moderatorzy
Postów: 2 921
Dołączył: 11.08.2005
Skąd: 127.0.0.1



"of" to tzw. stop word i dlatego pomijany jest w wyszukiwaniu. Tutaj znajdziesz więcej informacji - https://dev.mysql.com/doc/refman/5.7/en/ful...-stopwords.html
  Forum: MySQL · Podgląd postu: #1233244 · Odpowiedzi: 4 · Wyświetleń: 1 610

batman
Napisane: 9.05.2018, 10:43:12





Grupa: Moderatorzy
Postów: 2 921
Dołączył: 11.08.2005
Skąd: 127.0.0.1



@KotWButach
W moim przypadku działają dwie rzeczy:
- podróże - weekendowy wypad bez elektroniki (telefon w trybie samolotowym przez cały wyjazd). W ten sposób zjeździłem całą Europę (jadłeś kiedyś ziemniaki ugotowane na wulkanie?)
- niepracowanie po godzinach - mam ustaloną ilość godzin jakie dziennie poświęcam na pracę/naukę/rozwój i nie przekraczam tego limitu. Cały wolny czas poświęcam na samodoskonalenie (nauka gry na instrumencie, szlifowanie języków obcych), wylegiwanie się na plaży, gotowanie, czytanie książek (nic technicznego), itp.

Te dwie proste czynności pozwalają mi zachować zdrowy rozsądek, pozostać głodnym wiedzy i rozwijać się w innych dziedzinach.
  Forum: Hydepark · Podgląd postu: #1232998 · Odpowiedzi: 18 · Wyświetleń: 2 487

batman
Napisane: 28.10.2017, 21:08:01





Grupa: Moderatorzy
Postów: 2 921
Dołączył: 11.08.2005
Skąd: 127.0.0.1



Tak, do przesyłania danych w czasie rzeczywistym najczęściej używa się socketów. Praktycznie w każdym języku można je tworzyć, nawet w PHP, więc node.js nie jest tutaj potrzebny. W Twojej sytuacji najlepszym rozwiązaniem jest użycie czegoś gotowego jak Firebase lub gcm.
  Forum: PHP · Podgląd postu: #1223698 · Odpowiedzi: 11 · Wyświetleń: 1 401

batman
Napisane: 14.03.2017, 04:46:01





Grupa: Moderatorzy
Postów: 2 921
Dołączył: 11.08.2005
Skąd: 127.0.0.1



Jeśli Python nie jest Ci straszny, to polecam Wagtail. Jest prosty w użyciu i oferuje szereg możliwości dzięki temu, że zbudowano go w oparciu o Django. Aktualna wersja mojego bloga została zbudowana z użyciem Wagtail i nie wyobrażam sobie powrotu do Wordpressa.
  Forum: Hydepark · Podgląd postu: #1212424 · Odpowiedzi: 7 · Wyświetleń: 2 011

batman
Napisane: 20.07.2015, 08:48:51





Grupa: Moderatorzy
Postów: 2 921
Dołączył: 11.08.2005
Skąd: 127.0.0.1



@smiady Sprawdź bitbucket.org. Znajdziesz tam prywatne repozytorium, wiki oraz issue tracker. Jedyne czego tam nie ma, to możliwości wyznaczenia daty zakończenia zadania. Usługa jest darmowa.
  Forum: Kontrola i zarządzanie projektami · Podgląd postu: #1165561 · Odpowiedzi: 19 · Wyświetleń: 9 559

batman
Napisane: 26.02.2013, 07:24:27





Grupa: Moderatorzy
Postów: 2 921
Dołączył: 11.08.2005
Skąd: 127.0.0.1



www.plupload.com
  Forum: Szukam · Podgląd postu: #1028468 · Odpowiedzi: 8 · Wyświetleń: 413

batman
Napisane: 20.02.2013, 12:01:19





Grupa: Moderatorzy
Postów: 2 921
Dołączył: 11.08.2005
Skąd: 127.0.0.1



Pencil
  Forum: Hydepark · Podgląd postu: #1026971 · Odpowiedzi: 9 · Wyświetleń: 3 625

batman
Napisane: 4.02.2013, 13:50:40





Grupa: Moderatorzy
Postów: 2 921
Dołączył: 11.08.2005
Skąd: 127.0.0.1



http://stackoverflow.com/questions/9321794...n-octogonal-div
  Forum: Przedszkole · Podgląd postu: #1023074 · Odpowiedzi: 2 · Wyświetleń: 2 182

batman
Napisane: 28.01.2013, 15:55:44





Grupa: Moderatorzy
Postów: 2 921
Dołączył: 11.08.2005
Skąd: 127.0.0.1



Oferta nie spełnia wymagań działu Praca oferowana. Przenoszę do Poszukuję.
  Forum: Poszukuję · Podgląd postu: #1021347 · Odpowiedzi: 2 · Wyświetleń: 493

batman
Napisane: 7.01.2013, 09:50:16





Grupa: Moderatorzy
Postów: 2 921
Dołączył: 11.08.2005
Skąd: 127.0.0.1



  1. $groups[$group_order]['name'] = wordwrap($row['public_group_name'], 20, "<br />", true);
  Forum: Przedszkole · Podgląd postu: #1016703 · Odpowiedzi: 1 · Wyświetleń: 297

batman
Napisane: 5.01.2013, 17:45:45





Grupa: Moderatorzy
Postów: 2 921
Dołączył: 11.08.2005
Skąd: 127.0.0.1



Za spam leci warn + moderka.
Zamykam.
  Forum: Hydepark · Podgląd postu: #1016416 · Odpowiedzi: 1 · Wyświetleń: 318

batman
Napisane: 31.12.2012, 13:38:37





Grupa: Moderatorzy
Postów: 2 921
Dołączył: 11.08.2005
Skąd: 127.0.0.1



Jeśli Ci się bardzo nie spieszy, to załóż profile na portalach "dla ekspertów" typu Goldenline, czy Linkedin. Udzielaj się w dyskusjach, nawiązuj kontakty z ludźmi z HR, a po pewnym czasie oferty same będą do Ciebie trafiały.
  Forum: Hydepark · Podgląd postu: #1015386 · Odpowiedzi: 16 · Wyświetleń: 1 235

batman
Napisane: 30.12.2012, 01:14:13





Grupa: Moderatorzy
Postów: 2 921
Dołączył: 11.08.2005
Skąd: 127.0.0.1



google.pl -> mysql event scheduler
  Forum: MySQL · Podgląd postu: #1015126 · Odpowiedzi: 5 · Wyświetleń: 430

batman
Napisane: 22.10.2012, 09:28:23





Grupa: Moderatorzy
Postów: 2 921
Dołączył: 11.08.2005
Skąd: 127.0.0.1



Opera Mini simulator
  Forum: Hydepark · Podgląd postu: #1001007 · Odpowiedzi: 4 · Wyświetleń: 378

batman
Napisane: 2.09.2012, 21:11:18





Grupa: Moderatorzy
Postów: 2 921
Dołączył: 11.08.2005
Skąd: 127.0.0.1



@xdev
Nie wiem na jakich praktykach byłeś, ale szczerze Ci współczuję...

@Joachim Peters
Jeśli szukasz czegoś, czym będziesz mógł się chwalić w CV, to tylko duże firmy. Jeśli szukasz doświadczenia, to małe firmy, które potrzebują taniej/bezpłatnej siły roboczej.
  Forum: Hydepark · Podgląd postu: #989969 · Odpowiedzi: 9 · Wyświetleń: 658

batman
Napisane: 17.07.2012, 06:39:01





Grupa: Moderatorzy
Postów: 2 921
Dołączył: 11.08.2005
Skąd: 127.0.0.1



To i ja dorzucę swoją cegiełkę i polecę firmę z Trójmiasta, w której pracuję. Jaka to firma, będziesz musiał znaleźć sam - taki pierwszy test na umiejętność rozwiązywania problemów wink.gif
  Forum: Poszukuję · Podgląd postu: #978133 · Odpowiedzi: 11 · Wyświetleń: 1 276

batman
Napisane: 11.07.2012, 13:43:11





Grupa: Moderatorzy
Postów: 2 921
Dołączył: 11.08.2005
Skąd: 127.0.0.1



Cytat(dave666 @ 11.07.2012, 14:30:07 ) *
czy można zastosować dwa id w jednym div chodzi mi o cos takiego

Pozwól, że zacytuję mój ulubiony w ostatnim czasie tekst
Cytat
No es posible.

Do tego co chcesz zrobić, musisz wykorzystać klasy.
  Forum: Przedszkole · Podgląd postu: #976597 · Odpowiedzi: 7 · Wyświetleń: 3 001

batman
Napisane: 2.07.2012, 22:03:16





Grupa: Moderatorzy
Postów: 2 921
Dołączył: 11.08.2005
Skąd: 127.0.0.1



Stwórz katalog Models (na tym samym poziomie co np, files). W tym katalogu dodaj klasę (prawym myszy na utworzonym katalogu -> Add -> Class). W klasie tej stwórz metody wykonujące odpowiednie operacje i odwołaj się do tych metod w obsłudze zdarzeń. W pliku z code behind (c# dla widoku) dodaj
[CSHARP] pobierz, plaintext
  1. using dz.Models
[CSHARP] pobierz, plaintext
, a obsłudze zdarzenia utwórz obiekt modelu i wywołaj odpowiednią metodę. Jeśli zajdzie taka potrzeba, przekaż odpowiednie parametry. W sumie nie różni się to zbytnio od standardowego WPF, z tą różnicą, że wszystkie (zdecydowana większość) wbudowanych klas, działa asynchronicznie i trzeba bawić się w bindowanie pól ViewModelu.
  Forum: Hydepark · Podgląd postu: #974192 · Odpowiedzi: 12 · Wyświetleń: 704

11 Stron V   1 2 3 > » 

New Posts  Nowe odpowiedzi
No New Posts  Brak nowych odpowiedzi
Hot topic  Popularny temat (Nowe)
No new  Popularny temat (Brak nowych)
Poll  Sonda (Nowe)
No new votes  Sonda (Brak nowych)
Closed  Zamknięty temat
Moved  Przeniesiony temat
 

RSS Wersja Lo-Fi Aktualny czas: 28.03.2024 - 20:13