Etykiety

czwartek, 24 września 2020

Frameworki php - Dlaczego warto z nich korzystać? Prosty przykład

Istnieje bardzo szerokie grono programistów PHP, którzy nigdy nie korzystali z jakiegokolwiek frameworka. Pomimo, iż samodzielne tworzenie całego kodu od podstaw rzeczywiście ma swoje zalety, bo nie tylko umożliwia pełną kontrolę na tym, co pragniemy osiągnąć, ale również pozwala dogłębnie zrozumieć podstawowe mechanizmy programistyczne związane z danym środowiskiem, to niestety z czasem, pisanie w kółko bardzo podobnych do siebie klas i metod, może nas nieźle znużyć. Jeśli regularnie przyjmujesz zlecenia na podobne projekty, np. rozbudowane serwisy www,  to za każdym razem jesteś zmuszony tworzyć bardzo podobny kod (np. do walidacji wprowadzanych do formularzy danych, wysyłania powiadomień, uwierzytelniania użytkowników), oprócz bardziej specjalistycznych rozwiązań, ściślej powiązanych z celem danego projektu. Czynności takie jak tworzenie różnego rodzaju formularzy, monotonna walidacja podobnego typu danych, z czasem stają się rutyną i to właśnie w tym zakresie tkwi spora część potencjału frameworków. Z ich pomocą te monotonne i powtarzające się czynności wykonasz o wiele szybciej, sprawniej i bezpieczniej, przez co będziesz mógł się skupić na bardziej specjalistycznych, wymagających twórczości zadaniach i detalach.    

O frameworku Laravel pisałem już niejednokrotnie. To jeden z lepszych frameworków php, z jakimi miałem okazję pracować w swojej dotychczas kilkudziesięcioletniej web-developerskiej karierze.

Jakoś bez pośpiechu oraz presji, z Laravel 5.x przeszedłem - dopiero kilka tygodni temu - na wersję 7. Muszę przyznać, że z Laravel 6 nigdy nie korzystałem - sam nie wiem czemu. Być może piątka dawała mi wszystko to, czego akurat potrzebowałem, a nawet o wiele więcej. Jednak przejście z wersji 5.x do siódemki - dokonane z czystej ciekawości, a nie z powodu jakichkolwiek niedoborów, okazało się być zaskakująco przyjemne i rzeczywiście ciekawe! 

Szkoleniowo, a może trochę z powodu tymczasowego braku wymagających zaangażowania zleceń, a także aby lepiej poznać Laravel 7 ze strony praktycznej, postanowiłem wykorzystać kilka dni wolnego czasu, nie tylko na naukę, ale również na swobodną ekspresję swojej "programistycznej twórczości". Przechodząc do rzeczy, poczułem wewnętrzną potrzebę stworzenia czegoś nowego, a cóż innego mogło to być, jak nie kolejny portal!? Z pomocą Laravela 7, w ciągu zaledwie kilku wolnych dni, utworzyłem swój nowy serwis online, który obecnie działa (choć jest jeszcze w fazie budowy, rozbudowy, zmian i ciągłych przemyśleń), pod adresem https://oceny-opinie.pl


Szczerze mówiąc, dysponując zaledwie kilkoma dniami wolnego czasu, nie zdołałbym stworzyć portalu oceny-opinie.pl pisząc cały kod php od podstaw, bez pomocy dobrodziejstw frameworka Laravel. Potrzebowałbym na to przynajmniej 14 ładnych dni spokojniej, bezstresowej, ale niestety dość monotonnej pracy. Z Laravel 7 stworzenie tego serwisu nie było ani ciężkie, ani monotonne, ale ciekawe i przyjemne. 

W portalu oceny-opinie.pl można publikować recenzje dotyczące zarówno sklepów online, jak i produktów konsumenckich. Można oceniać zarówno same sklepy, jak i zakupione w nich produkty. 

Oceny-opinie.pl może być ciekawym rozwiązaniem marketingowym - przy okazji zupełnie bezpłatnym (przynajmniej w najbliższym czasie) - dla właścicieli sklepów internetowych, którym zależy na uzyskaniu ocen i recenzji od własnych klientów. W tym celu wystarczy się zalogować, dodać własny sklep, a następnie poprosić klientów o wystawienie ocen i recenzji, np. wysyłając im - w formie masowego mailingu - odnośnik do utworzonego sklepu. Możliwości jest naprawdę wiele, nie tylko dla właścicieli sklepów online, ale także dla producentów  i dystrybutorów. Okazuje się bowiem, że zapoznanie się z recenzjami konsumentów - opublikowanymi w niezależnych portalach, ma decydujący wpływ na ostateczną decyzję dotyczącą zakupu danego produktu.  

  



  

sobota, 1 czerwca 2019

Wielka awaria hostingu OVH


Drogi OVH – prawda boli, ale muszę o tym napisać


OVH jest firmą hostingową cieszącą się świetnymi opiniami wśród specjalistów z branży IT. Moim zdaniem, które opiera się na osobistych doświadczeniach, jest to wielogłowy kolos, w którym panuje prawdziwy chaos i brak skupienia uwagi na potrzebach klienta. 
Skoro taka jest moja opinia na temat OVH, to czemu powierzyłem hosting mojej najbardziej ruchliwej witryny zdrowepasje.pl akurat tej firmie? Otóż właśnie dlatego, że większość osób z mojej branży zawodowej bardzo dobrze się na jej temat wypowiadało i nadal to robi. Ślepo zaufałem moim kolegom, ale niestety wynikło z tego jedynie to, że OVH w dużej mierze mnie zawiodło!  

Po przykrych przejściach z kilkoma firmami hostingowymi, takimi jak słynne i słusznie zniesławione home.pl, czy przewrażliwiony na punkcie spamu i ataków hakerskich, a przy tym absurdalnie opancerzony superhost.pl, postanowiłem przenieść jedną z moich bardziej ruchliwych witryn na OVH. W związku z faktem, że profesjonalna usługa hostingowa, jaką posiadałem w firmie Superhost i za którą płaciłem ponad 600 zł rocznie, okazała się być niewystarczająca dla jednego z moich serwisów web – serwer odcinał dostęp do usługi przy około 30-40 jednoczesnych wizytach w witrynie – postanowiłem przenieść się do rzekomo bardziej wiarygodnej (zdaniem moich kolegów) firmy, jaką miała być OVH. Po zapoznaniu się z ofertą, wybrałem pakiet perf2014x1, który obecnie kosztuje mnie około 640 zł rocznie. Ponieważ moja witryna zdrowepasje.pl jest dość popularna – mam około 5000 wizyt dziennie – dopłacam niecałe 50 zł miesięcznie za dodatkowe zasoby.



W sumie mój główny serwis na OVH działa szybko i sprawnie. Po wykupieniu dodatkowych zasobów - które są mi przydzielane dynamicznie w razie potrzeby, nie występują jakiekolwiek przekroczenia limitów nawet przy jednoczesnych 100-150 wizytach w witrynie. Wydajność usług jest prawdziwym plusem w przypadku wybranego przeze mnie pakietu. Niestety, nie można powiedzieć tego samego o ich dostępności! 

Całkowity koszt utrzymania mojego serwisu na OVH to ponad 1200 zł rocznie.  Czy wydając takie pieniądze i stawiając na tak popularną firmę hostingową jak OVH można mieć pewność, że nasz serwis web będzie przez cały czas dostępny? Okazuje się, że odpowiedź na to pytanie brzmi jednoznacznie NIE.

Jestem z OVH od ponad roku. Wielokrotnie, mając potrzebę skontaktowania się z działem technicznym, korzystałem z udostępnianych w panelu klienta formularzy oraz z komórki. Na niektóre odpowiedzi dotyczące poruszonych przeze mnie kwestii czekałem tygodniami! Zdarzało się również, że telefoniczny kontakt z firmą graniczył się z cudem, zwłaszcza w okresach poprzedzających dni wolne od pracy.  

Awaria OVH - odpowiedź na moje zgłoszenie


Dnia 31/05/2019 miała miejsce wielka awaria hostingu pod znakiem OVH. Pomimo wysokich kosztów, jakie ponoszę za jego utrzymanie online, mój serwis www nie był dostępny przez około 4 godziny. Przy tak wysokich kosztach, tego typu sytuacja jest niedopuszczalna. Oto, co w trakcie awarii widziały osoby próbujące wyświetlić zawartość stron mojej witryny:


Wielka szkoda, że "hosting" w trakcie czterogodzinnej i niezapowiedzianej konserwacji w godzinach popołudniowych zapomniał dodać, że jego nazwa brzmi OVH!



Drogi czytelniku mojego bloga! Skoro artykuł Cie nie zanudził i jakoś doszedłeś do tego miejsca, to najwyraźniej oznacza, że interesujesz się kwestiami związanymi z hostingiem web. Czy po zapoznaniu się przedstawionymi powyżej faktami zaufasz firmie OVH? A jeśli nie, to jaką firmę hostingową polecasz z własnego doświadczenia? 

OVH: nie ma gwarancji na działanie usług


Jakość udzielanej pomocy w hostingu OVH jest żałosna. Do działu pomocy technicznej można się dodzwonić - tylko teoretycznie - od poniedziałku do piątku, bodajże od 8 do 17. W praktyce jednak dobicie się do konsultanta graniczy się z cudem. Bywa tak, że po dokonaniu wyboru tematu rozmowy na klawiaturze telefonu, połączenie się urywa, słyszymy komunikat "opcja jest niedostępna", lub zwyczajnie nikt się nie zgłasza. 

Po pracach technicznych, które miały miejsce w efekcie wielkiej piątkowej awarii, problemy wcale się nie zakończyły, jak zresztą widać z utworzonych przeze mnie zgłoszeń:



Jedna z ciekawszych i najbardziej zaskakujących odpowiedzi, jakie otrzymałem od firmy OVH Polska brzmi następująco:




Proszę o Wasze zdania w komentarzach! 

wtorek, 5 grudnia 2017

Wysyłanie wiadomości Email z PowerShell

Bywają sytuację, w których zależy nam na szybkim skorzystaniu z wiersza poleceń, na przykład aby niezawodnie wysłać wiadomość Email z komputera na którym ciężko jest uruchomić cokolwiek innego. Z doświadczenia wiem dobrze, że takie sytuacje zdarzają się nierzadko.

Czy wiedziałeś, że istnieje możliwość wysyłania wiadomości Email z wiersza poleceń PowerShell systemu Windows? Tak. Istnieje taka możliwość, a na dodatek jest to banalnie proste, pod warunkiem oczywiście, że mamy połączenie z internetem. Już wyjaśniam jak to zrobić.

W Windows PowerShell < v 2.0 wysyłanie wiadomości Email było nieco trudniejsze, lecz dziś można się w tym zakresie cieszyć sporym ułatwieniem. Od wersji 2.0 PowerShell'a, do wysyłania wiadomości Email w tym środowisku służy nam cmdlet
Send-MailMessage

Ten cmdlet może być stosowany na kilka różnych sposobów, a oto jego najbardziej popularne parametry:
– Attachments (łańcuch)
Pełna ścieżka i nazwy plików, które mają zostać dołączone do wiadomości e-mail.

–Bcc (łańcuch)
Pole BCC, zawierające adresatów.

–Body
Ciało (treść) wiadomości.

–BodyAsHtml
Tej opcji należy użyć jeśli ciało wiadomości ma zostać wysłane jako HTML.

–Cc (łańcuch)
Pole CC, zawierające adresatów.

–Credential (PSCredential)
Konto, które ma uprawnienia do wysyłania wiadomości e-mail. Domyślnym kontem jest bieżący użytkownik.

–DeliveryNotificationOption Opcja
Powiadomienia o dostarczeniu zostaną wysłane na adres e-mail podany w parametrze -From.

Możliwe opcje DeliveryNotificationOption:

None – Brak Powiadomienia (domyśłnie)
OnSuccess - Powiadom, jeśli dostawa zakończyła się powodzeniem.
OnFailure - Powiadom, jeśli dostawa nie zakończyła się powodzeniem.
Opóźnienie - Powiadom, jeśli dostawa jest opóźniona.
Nigdy - Nigdy nie powiadamiaj.

–Encoding Kodowanie
Kodowanie używane dla ciała i tematu

–From (łańcuch)
Adres Email, z którego wysyłana jest poczta.

–Priority Priorytet
Low, Normal, Hogh

–SmtpServer (łańcuch)
Serwer smtp, stosoway do wysyłania wiadomości

–Subject (łańcuch)
Temat wiadomości

–To (łańcuch)
Adresat - adres email adresata wiadomości

–UseSsl
Zastosuj protokół Secure Sockets Layer (SSL) aby nawiązać połączenie z serwerem SMTP i wysłać wiadomość e-mail. SSL nie jest domyślnie używany.

Nie trzeba tych parametrów dogłębnie studiować. Jak już wspomniałem wcześniej, wysyłanie wiadomości Email z PowerShell jest banalnie proste. Zobaczmy jak to działa na prostym przykładzie. Zauważymy, że w poniższym przykładzie będzie konieczne wprowadzenie poświadczeń dla serwera SMTP w okienku pojawiającym się natychmiast po zatwierdzeniu polecenia:

A oto przykładowy kod cmdleta Send-EmailMesage wraz z przykładowymi wartościami parametrów, które możesz dostosować do własnych potrzeb, aby szybko i efektownie wysyłać wiadomości Email bezpośrednio ze środowiska PowerShell:
$From = "adminexample.com"
$To = "user1@example.com"
$Cc = "user2@example.com"
$Attachment = "C:\temp\file.txt"
$Subject = "Wiadomość testowa"
$Body = "Treść przykładowej wiaodmości"
$SMTPServer = "smtp.example.com"
$SMTPPort = "587"
Send-MailMessage -From $From -to $To -Cc $Cc -Subject $Subject `
-Body $Body -SmtpServer $SMTPServer -port $SMTPPort -UseSsl `
-Credential (Get-Credential) -Attachments $Attachment

Aby przetestować wysyłanie wiadomości Email z poziomu Windows PowerShell skopiuj i wklej powyższy kod do notatnika, dostosuj parametry do własnych potrzeb, skopiuj i wklej całość do okienka PowerShell, a następnie wprowadź poświadczenia konta SMTP. W przypadku wątpliwości lub jakichkolwiek pytań proszę o komentarze!