Rzecz o tworzeniu stringów w PHP.

PHP od początku oferuje wiele różnych sposobów na wygenerowanie takiego samego stringa. Ale który z nich jest najszybszy? W tym celu przeprowadziłem serię 9 testów – każdy test wykonywał się w pętli o 10 000 000 iteracji i budował string w inny sposób:

1. $a = sprintf("ala ma kota numer %d", $i);
2. $a = "ala ma kota numer " . $i;
3. $a = 'ala ma kota numer ' . $i;
4. $a = "ala ma kota numer $i";
5. $a = sprintf("ala ma kota numer %d%c%c%c%c%c%c%c%c%c%c", $i, PHP_EOL, PHP_EOL, PHP_EOL, PHP_EOL, PHP_EOL, PHP_EOL, PHP_EOL, PHP_EOL, PHP_EOL, PHP_EOL);
6. $a = "ala ma kota numer " . $i . "\n\n\n\n\n\n\n\n\n\n";
7. $a = 'ala ma kota numer ' . $i . "\n\n\n\n\n\n\n\n\n\n";
8. $a = "ala ma kota numer $i\n\n\n\n\n\n\n\n\n\n";
9. $a = sprintf("ala ma kota numer %d%s%s%s%s%s%s%s%s%s%s", $i, PHP_EOL, PHP_EOL, PHP_EOL, PHP_EOL, PHP_EOL, PHP_EOL, PHP_EOL, PHP_EOL, PHP_EOL, PHP_EOL);

Oczywiście nie wyczerpałem wszystkich możliwych kombinacji, ale przypuszczam że dość dobrze przedstawiłem istotę wszystkich możliwych do wykorzystania technik. Testy przeprowadziłem na wszystkich posiadanych wersjach PHP: 5.3.9; 5.4.45; 5.5.38; 5.6.31; 7.0.22; 7.1.8; 7.2.0beta2. Wszystkie wersje mają praktycznie takie same konfiguracje, zero dodatkowych modułów – okazało się np. że xdebug potrafi nieźle spowolnić interpreter.

Porównanie czasu wykonywania poszczególnych testów jest następujące:

1

Można by się spodziewać, że skoro fukncja sprintf() jest praktycznie taka sama jest w C (w którym został napisany PHP) to będzie proste mapowanie i będzie ona najszybsza, a tymczasem jest najwolniejsza; a im więcej argumentów (testy 5 i 9) tym czas wykonania znacznie większy… Masakra.
Między testami wykorzystującymi składnię typową dla PHP nie ma większych różnic, choć jestem mocno zaskoczony faktem, że składnia „asd $zmienna” jest najszybsza dla PHP7.x – jednocześnie jest to dla mnie konstrukcja najbardziej podatna na możliwość popełnienia błędu przez programistę.

Porównanie wydajności w zależności od wersji PHP nie było zaskoczeniem:

iqsi-screenshot (14)

PHP 5.3 najwolniej, PHP 7.2 najszybciej. Widać oczywiście poprawę z wersji na wersję i gwałtowne przyspieszenie dla wersji 7.x w związku z nowym silnikiem.

Jeśli ktoś jest zainteresowany dokładnymi danymi to mogę przesłać tabelkę w excelu.

Autorem tekstu jest Łukasz Bugaj.

#204 Jaki content należy tworzyć w branży dziecięcej?

Rodzice, a zwłaszcza ci, którzy dopiero oczekują na narodziny swojej pierwszej pociechy, kierują się zupełnie innymi impulsami zakupowymi niż typowi klienci e-sklepów. Dla nich ważne jest dobro maleństwa, wygoda dziecka, a także możliwość otrzymania pełnego wsparcia przy wyborze i zakupie produktów w sklepie. Stają oni bowiem przed koniecznością zakupu towarów, których wcześniej nie potrzebowali. Jak dobrze tworzyć treści, aby były one odpowiednie dla klientów sklepów z produktami dla dzieci? Trzeba robić to w sposób, który uczy, inspiruje i motywuje. Tacy konsumenci oczekują bowiem od specjalistycznego sklepu wiedzy, której sami jeszcze nie posiadają.

Partnerem lekcji jest: dddstudio.pl Czytaj dalej

Vistula Group S.A. i W.KRUK S.A. z nowym systemem e-commerce od i-systems

Vistula Group S.A. to spółka notowana na Giełdzie Papierów Wartościowych w Warszawie. Specjalizuje się w projektowaniu, produkcji i dystrybucji odzieży męskiej i damskiej. W związku z dynamicznym rozwojem Vistula Group S.A. sukcesywnie rozwija swoje działania e-commerce. W ramach współpracy z i-systems zostały uruchomione nowe, dedykowane platformy sprzedaży dla marek Vistula i Wólczanka. Projekt obejmował również stworzenie nowego systemu e-commerce dla W.KRUK, najstarszej marki jubilerskiej w Polsce, którą zarządza bezpośrednio spółka W.KRUK S.A. należąca do Grupy Kapitałowej Vistula Group S.A. Za wszystkie prace technologiczne odpowiada spółka i-systems.

Analiza biznesowa

Skala projektu oraz poziom jego zaawansowania wymagały rozpoczęcia prac od analizy biznesowej. Ten szczególny rodzaj badania dotychczasowej architektury IT wyodrębnił kluczowe dla firmy procesy, aktorów oraz obszary. Wskazał także punkty, które warto rozbudować, aby osiągać jeszcze lepsze wyniki biznesowe. Efektem był dokument, tworzący fundament wdrożenia wszystkich trzech systemów. Ten etap zajął miesiąc pracy zespołu analityków i-systems.

– Analiza pokazała możliwości nowego systemu oraz określiła wstępny harmonogram prac. Była równocześnie na tyle elastyczna, aby móc korygować plan, np. dodając nowe opcje już na etapie wdrożenia. To ważne, żeby podczas tak dużych realizacji pozostać otwartym na nowe opcje – ocenia Aneta Kazanowska, Manager ds. sklepów internetowych w Vistula Group S.A.

Efektywny proces wdrożenia

Prace developerskie rozpoczęły się niezwłocznie po etapie analizy biznesowej. Stworzono dedykowany zespół projektowy, który składał się z osób odpowiedzialnych za poszczególne obszary (analizę, UX, frontend, politykę cenową, integrację, importy, rozwiązania omnichannel, itp.). Wielkość zespołu była elastyczna w całym procesie. Wszystkie prace projektowo-realizacyjne dla trzech marek zostały wykonane w niecałe trzy miesiące i zakończyły się zgodnie z ustalonym harmonogramem. Nowy system dla spółki został uruchomiony w trzech etapach. Na początku, premierę miał sklep internetowy marki Wólczanka, następnie Vistula, a zwieńczeniem projektu było uruchomienie systemu dla W.KRUK.

– To jedno z większych wdrożeń e-commerce w Polsce, które odbyło się w tak krótkim czasie. Warto docenić zaangażowanie zespołu klienta w projekt – komentuje Marek Pawlak, Project Manager w i-systems.

wkruk_mobile

Rozwiązania omnichannel

Grupa Vistula dysponuje dynamicznie rozwijającą się siecią sprzedaży stacjonarnej. Aktualnie posiada 370 salonów, o łącznej powierzchni sprzedażowej liczącej 30,9 tys. m2 (w tym między innymi: 118 sklepów marki Vistula, 116 sklepów marki Wólczanka). Sieć salonów jubilerskich W.KRUK obejmuje 106 butików. W związku z tym, podczas wdrożenia od razu uwzględniono rozwiązania wielokanałowości. Wybrane z nich, to: możliwość sprawdzenia online dostępności produktów w sklepie stacjonarnym, możliwość zamówienia produktów z dostawą do domu podczas zakupów w sklepie stacjonarnym, spójny program lojalnościowy dla Klientów – niezależnie od miejsca zakupu, czy zaawansowane zarządzanie stanami magazynowymi.

Nowe systemy w długoterminowej perspektywie

Bezpośrednio po uruchomieniu, Grupa Vistula, W.KRUK oraz i-systems podpisały umowy na dalszy rozwój. Umowy dotyczą utrzymania systemów w ramach SLA, zasobów dedykowanej infrastruktury cloud oraz obsługi powdrożeniowej.

– Pierwszy etap nowej odsłony sprzedaży online w W.KRUK już za nami. Teraz rozpoczynamy rozwój systemów. Mamy dużo ciekawych pomysłów, które systematycznie chcemy wcielać w życie – komentuje Bartłomiej Twardosz, Menedżer ds. e-commerce w W.KRUK.

Więcej szczegółów wdrożenia zostanie opisanych w najbliższym czasie w formie case study.

Logotyp Marka Śląskie

Firma i-systems laureatem nagrody „Marka Śląskie”

Już po raz ósmy rozstrzygnięto konkurs o tytuł „Marka Śląskie”. Plebiscyt organizowany jest przez Regionalną Izbę Przemysłowo-Handlową w Gliwicach oraz Urząd Marszałkowski Województwa Śląskiego. W tegorocznej edycji Kapituła Konkursowa uhonorowała i-systems w kategorii usługa, doceniając znaczący wkład firmy w rozwój województwa śląskiego.

Firma i-systems została nagrodzona „Marką Śląskie” za innowacyjne i dedykowane rozwiązania e-commerce, dynamikę i szybkość rozwoju oraz rosnące grono pracowników z obszaru województwa śląskiego. Firma otrzymała nagrodę w kategorii usługa i była oceniana za: zastosowanie nowych rozwiązań świadczenia usług, proinnowacyjny charakter usług, zastosowane normy jakości oraz wdrożenie świadczenia e-usług.

Podczas uroczystej gali wręczenia nagród w imieniu i-systems statuetkę „Marki Śląskie” odebrał Marcin Rutkowski, PR & Marketing Manager i-systems.

Tytuł „Marka Śląskie” w kategorii usługa jest dla nas wyjątkowym wyróżnieniem. Dążymy do ciągłego rozwoju świadczonych usług oraz staramy się promować i godnie reprezentować cały obszar Śląska w kraju i za granicą – mówił Marcin Rutkowski podczas XXIII Gali Regionalnej Izby Przemysłowo-Handlowej w Gliwicach.

Przyznawany tytuł „Marka Śląskie” ma na celu promocję regionu śląskiego oraz zwiększenie jego atrakcyjności gospodarczej, kulturalnej, naukowej i politycznej w Polsce i Europie. Konkurs ma za zadanie wyłonienie i wypromowanie produktów, firm i przedsięwzięć, które ze względu na swoją jakość, unikatowe walory i związki z województwem śląskim, reprezentują wysoki poziom pracy i świadczonych usług.

#203 Jak obsłużyć klienta 3.0?

Klienci ewoluują. Stają się coraz bardziej wymagający i świadomi swoich praw, a także jakości produktów, które kupują. Obecnie mówi się o klientach 3.0, o tym, że to oni diametralnie przekształcili obecny e-commerce i to właśnie dla nich sklepy przechodzą zmiany i wprowadzają coraz to nowsze rozwiązania. Czy naprawdę potrzebujemy tego, aby współczesny konsument był zadowolony i wrócił do naszego sklepu? Oczywiście, że tak. Okazuje się też, że w procesie sprzedaży taka osoba wymaga nie tylko łatwej ścieżki zakupowej, ale także odpowiedniego traktowania.

Partnerem lekcji jest: dddstudio.pl Czytaj dalej

Połączenie sprzedaży B2B i B2C w e-commerce

NET.Trading to firma działająca w modelu B2C, która od wielu lat specjalizuje się w sprzedaży akcesoriów do wyposażenia domu, ogrodu i gastronomii. Dzięki bezpośredniej współpracy z producentami oraz dystrybutorami, sprzedaje w sieci artykuły gospodarstwa domowego w konkurencyjnych cenach. Wraz z i-systems firma stworzyła nowy sklep internetowy, który pozwoli poszerzyć działalność o skuteczną sprzedaż hurtową.

Jeszcze niedawno model prowadzonej działalności miał kluczowe znaczenie przy doborze funkcjonalności e-commerce. Marki ukierunkowane na klienta detalicznego dbały o estetykę sklepu online oraz rozwiązania, które pozwalają przyciągnąć na dłużej uwagę konsumenta. Przedsiębiorstwa realizujące transakcje w modelu business to business, nastawione były na funkcjonalności optymalizujące działania logistyczne, czy budujące lojalność stałych kontrahentów, odsuwając w kąt UX platformy sprzedażowej.

Obecnie jednak, klient hurtowy – tak jak detaliczny – oczekuje spersonalizowanej oferty i możliwości dokonania zakupu w sposób prosty oraz intuicyjny. Natomiast firmy nawiązujące relacje z klientem końcowym, coraz częściej widzą potrzebę wdrożenia funkcjonalności, które pozwolą na sprawne zarządzanie gospodarką magazynową. Jedną z takich marek jest nettrading.pl

Automatyzacja zamówień

Odpowiednie zarządzanie magazynem to nie tylko sporadyczna ewidencja posiadanego towaru, ale stała maksymalizacja dostępności asortymentowej. W nowym systemie e-commerce NET.Trading uruchomiony został moduł zamówień do dostawców. Funkcjonalność na bieżąco monitoruje stany magazynowe i sprawdza ilość produktów dostępnych w fizycznym magazynie firmy oraz dostawców. Na podstawie dokonanej sprzedaży, w sposób automatyczny, generuje zamówienia do konkretnych dystrybutorów.

Specjalna oferta dla kluczowego klienta

Negocjacje handlowe są cechą transakcji B2B. System e-commerce NET.Trading zapewnia przygotowanie oferty specjalnej, skierowanej do pośredników branży gastronomicznej. Jednak to nie wszystko, bowiem rozwiązanie pozwala także klientom detalicznym – z poziomu koszyka – poprosić o przygotowanie dodatkowych upustów.

Budowanie lojalności

Sklep internetowy NET.Trading, prowadząc strategię sprzedaży zarówno detalicznej, jak i hurtowej, posiada szereg rozwiązań wspierających budowanie lojalności. Klient, w momencie zakładania konta w sklepie online, zostaje poproszony o podanie daty swoich urodzin. Dzięki temu, w dniu swojego jubileuszu, otrzymuje specjalny prezent zakupowy.W systemie e-commerce wdrożony został również program lojalnościowy. Klienci NET.Trading zbierają punkty za rejestrację konta oraz zamówienia. Mogą za nie następnie dokonać zakupu w sklepie online.

Ponadto, zmodyfikowana została architektura rabatowa. Pozwala ona tworzyć niepowtarzalne promocje objęte krótkim terminem czasowym. Prezentacje ofert wyszczególnione są na stronie głównej w formie zegara.

Jeden silnik – kilka kanałów sprzedaży

Firma NET.Trading oferuje również swoje produkty na portalach aukcyjnych oraz w porównywarkach cen. Dzięki integracjom, realizacja kilku tysięcy zamówień, generowanych z serwisów oraz kilku kanałów bezpośredniej sprzedaży internetowej, dokonywana jest w jednym miejscu.

Wdrożony projekt to tylko element opracowanej przez firmę strategii rozwoju sprzedaży. Firma, we współpracy z i-systems, tworzy już kolejną platformę, skierowaną do przedsiębiorstw z branży gastronomicznej. Całość sprzedaży obsługiwana będzie w ramach multisklepu.

Nowy sklep internetowy NET.Trading dostępny jest pod adresem www.nettrading.pl
Przykładowe obszary rozwiązań B2B

Cloud i-systems – wygoda, bezpieczeństwo, niezawodność

Cloud to wirtualizacja poszczególnych usług serwerowych. Firma i-systems stworzyła własną, w pełni dostosowaną do wymagań handlu w sieci, infrastrukturę cloud hosting. Technologia ta umożliwia wydzielenie każdej usłudze indywidualnego wirtualnego komputera, dzięki czemu nie muszą one rywalizować o zasoby. Rozwiązanie wspomaga firmę w szybkim radzeniu sobie z dużym ruchem na platformie sprzedażowej w jednym momencie. Taki skok ruchu wiąże się zazwyczaj z rozpoczęciem kampanii reklamowej, akcjami promocyjnymi, wyprzedażami sezonowymi czy konkursami.

Jak to działa?

W praktyce polega to na przeniesieniu świadczonych usług IT na serwer wirtualny. Według analityków Gartnera, cloud computing to „styl obliczeń, w którym dynamicznie skalowalne zasoby są dostarczane jako usługa za pośrednictwem internetu. Użytkownik nie musi mieć wiedzy na temat tego, w jaki sposób ta usługa jest realizowana, nie musi też zajmować się aspektami technicznymi niezbędnymi do jej działania”.

Korzyści

Poniżej przedstawione są korzyści płynące z posiadania dedykowanej infrastruktury cloud.

Zarządzanie

Wszystkie prace związane z administrowaniem serwerami prowadzone są przez zespół i-systems. Klient nie musi martwić się konfiguracją, zabezpieczeniami oraz optymalizacją. Sama konfiguracja wiąże się z uruchomieniem 2-30 wirtualnych serwerów, na które składają się loadbalancery, serwery aplikacji, baz danych, cache i replikacje tych serwerów. Sama optymalizacja natomiast, nie jest zadaniem jednorazowym.

Dopasowanie do systemu

Cała infrastruktura sprzętowa, sieć i oprogramowanie serwerów, zoptymalizowane są pod autorski system e-commerce firmy i-systems. Dzięki temu dopasowaniu, system już na początku działa dużo szybciej. Serwery nie zawierają bowiem spowalniających paneli, ponieważ zarządzane są przez skrypty.

Rozwiązanie problemu „wąskich gardeł”

Po umieszczeniu na jednej maszynie, części sklepu internetowego mogą się nawzajem blokować. Są to tak zwane “wąskie gardła” na serwerach. W efekcie, czas ładowania strony może znacznie się wydłużyć. Rozwiązaniem jest umieszczenie infrastruktury w chmurze, co pozwala na wydzielenie nowego miejsca na serwerze spowalniającej części. Rozdzielenie zadań wiąże się z szybszym ładowaniem strony i pełną jej stabilnością.

Przyrostowy backup

Aby nie posiadać ogromnych zasobów dyskowych do utrzymywania kopii danych, zostało stworzone dedykowane rozwiązanie – przyrostowy backup. Są tam zapisywane jedynie różnice w plikach, które nastąpiły po wykonaniu ostatniej kopii zapasowej. Przy potrzebie odzyskania danych, nawet tych sprzed kilku miesięcy, nakładane są różnice na ostatnią zapisaną wersję. W ten sposób odzyskiwana jest całość danych, bez konieczności posiadania ogromnych zasobów dyskowych.

Monitoring usług

Usługi, takie jak serwery www, cache, bazy danych oraz inne, dedykowane, zainstalowane są na serwerze. W przypadku standardowych usług hostingowych, monitorowane jest zazwyczaj działanie samego komputera, wyłączając monitoring każdej usługi z osobna. Rozwiązanie i-systems monitoruje wszystkie usługi co 5 minut oraz sprawdza obciążenie procesorów i ilość dostępnego miejsca. W ramach zabezpieczenia, administratorzy i-systems pełnią również dyżury 24/7 oraz, w razie potrzeby, otrzymują powiadomienia e-mail i sms. Oznacza to, że w ramach umowy SLA i-systems bierze odpowiedzialność zarówno za działanie serwerów, jak i usług na nich zainstalowanych.

Wysoka dostępność

Wdrożenie systemów HA (en. High Availability – wysoka dostępność), polega na połączeniu hostingu z możliwościami systemu. Trzeba przy tym założyć, że pomimo sprzętu najwyższej jakości, jakiś element infrastruktury może nie zadziałać poprawnie, a system musi nadal funkcjonować. Sprzęt działający na systemie cloud, mieści się na dwóch, oddalonych od siebie o 13 km, niezależnych serwerowniach. Dzięki takiej odległości, replikowanie danych może odbywać się w czasie rzeczywistym, a także możliwe jest automatyczne obsłużenie awarii całego data center.

Bezpieczeństwo zasobów

SPoF (en. Single Point of Failure), czyli tzw. Jeden Punkt Awarii to część infrastruktury, której awaria powoduje paraliż całego systemu. W ramach prewencyjnych działań, każda maszyna wyposażona jest m.in. w dwa procesory, dwa niezależne zasilacze, macierze dyskowe, podwójne źródła zasilania, zasilanie awaryjne (UPS i generatory), łącza od wielu operatorów i podwójne urządzenia sieciowe. Przy tak zabezpieczonej maszynie, awaria jednego elementu nie przeszkodzi działaniu serwerów oraz usług na nich zainstalowanych, a co za tym idzie – będzie praktycznie niezauważalna dla użytkowników.

Serwer logów

Każda z usług, części aplikacji tworzącej system e-commerce, takie jak np. aplikacja sklepu, baza danych, serwer www, serwer pocztowy, czy integracje – generuje logi. Pozwalają one na sprawdzenie trybu działania serwera, wykrycie nieprawidłowości w systemie, a także na tworzenie statystyk oraz wykrywanie naruszeń bezpieczeństwa. Serwer logów sprawia, że wszystkie zdarzenia są zebrane w jednym miejscu z pełnotekstową, zaawansowaną wyszukiwarką i narzędziami do analizy. Ułatwia to monitoring stanu oraz kondycji systemu.

Skalowalność w górę i w bok

Skalowanie w górę polega na zwiększeniu pamięci ram oraz liczby procesorów w serwerze wirtualnym. Jednak w pewnym momencie dodanie zasobów nie jest już możliwe albo nie daje to żadnych efektów, ponieważ została osiągnięta maksymalna wydajność systemu. Wtedy pozostaje opcja skalowania w bok, czyli zwiększenia infrastruktury poprzez fizyczne dodanie kolejnych serwerów i rozdzielenie między nimi zadań. Ograniczeniem w tym wypadku są jedynie możliwości aplikacji. Dzięki skalowaniu możliwości serwerów można łatwo i szybko rozszerzyć infrastrukturę, by zwiększyć liczbę użytkowników jaką może obsłużyć strona w jednym czasie. Dodatkowo mechanizm auto-scale wykrywa kończące się zasoby i automatycznie uruchamia kolejne.

Monitoring zasobów w panelu klienta

Klient może stale monitorować ilość zasobów serwerowych w swoim panelu i-systems. W zakładce cloud widać nazwy serwerów, typy instancji, a także zużycie procesora, pamięci i dysku.

Zrzut ekranu 2017-08-23 o 14.44.50

Rozliczenia

Ruch na stronie potrafi być skrajnie różny – czasem jest bardzo wysoki, a czasem niski. Jeśli chodzi o rozliczenia – klient płaci za przypisane mu zasoby – wirtualne rdzenie, pamięć ram, miejsce na dysku i transfer danych.

Podsumowanie

Dedykowana infrastruktura cloud hosting i-systems, to rozwiązanie zapewniające obsługę dużego ruchu na platformie sprzedażowej. Jest gwarancją bezpieczeństwa serwerów i usług na nich zainstalowanych. W związku z tym jest jednocześnie podstawą bezpieczeństwa biznesowego firm prowadzących działalność e-commerce.



Zobacz case study z rozwiązaniem cloud hosting

Jak uprościć sobie pracę z wirtualnymi hostami instalując dnsmasq?

Pracując z kilkoma projektami na lokalnym środowisku prędzej czy później stwierdzimy, że ręczne dodawanie hosta wirtualnego jest dość męczące. Niby sprowadza się to tylko do dodania jednego wpisu w konfiguracji serwera oraz jednej linijki do pliku /etc/hosts, jednak na dłuższą metę może to być męczące. Można prościej? Oczywiście. Wystarczy zainstalować dnsmasq oraz odpowiednio skonfigurować webserver.

W tym wpisie pokażę, w jaki sposób ułatwiłem sobie pracę z wieloma projektami na lokalnym komputerze w odpowiedni sposób konfigurując środowisko programistyczne. Jako że aktualnie pracuję na serwerze www Apache w wersji 2.2 to na nim oprę swój przykład. Nic nie stoi jednak na przeszkodzie, żeby go zaadoptować na serwer Nginx lub inny.
Porada: wszystkie pliki konfiguracyjne wymagają praw roota do zapisu!

Instalacja i konfiguracja serwera WWW

MacOS ma świetny manager pakietów. Mówię tu o projekcie MacPorts (https://www.macports.org/). Jest to odpowiednik Debianowego apt-get, więc jeśli znasz to narzędzie poczujesz się jak w domu. Instalacja „apacza” sprowadza się do wydania polecenia

sudo port install apache2

w terminalu. Cały serwer instaluje się do lokalizacji

/opt/local/apache2

Tutaj znajdują się binarki i pliki konfiguracyjne. Na początku edytujemy plik

/opt/local/apache2/conf/httpd.conf

Odnajdujemy tu dyrektywę DocumentRoot i zmieniamy ją wedle uznania, u mnie na

DocumentRoot „/home/lukasz/workspace”

(Oczywiście katalog workspace należy utworzyć w swoim katalogu domowym). Parę linijek niżej znajduje się konfiguracja tego katalogu (dyrektywa Directory), w której należy podać tę samą ścieżkę co wyżej. Następnie należy odkomentować linijkę zawierającą wpis

Include conf/extra/httpd-vhosts.conf

W tym pliku zdefiniujemy swój wirtualny host. Tak więc otwieramy ten plik i wpisujemy przykładową treść:

NameVirtualHost *:80                                          
<VirtualHost *:80>                                            
        VirtualDocumentRoot /home/lukasz/workspace/%1/public/
        ServerName dev                                        
        ServerAlias *.dev                                     
        <Directory /home/lukasz/workspace/*/public/>          
		AllowOverride All                                  
        </Directory>
</VirtualHost>  

Co tu się dzieje? Już tłumaczę. Informujemy Apache, że chcemy, aby każdy katalog w naszym workspace traktował jako osobny host wirtualny. Nazwą tego hosta będzie nazwa katalogu z doklejoną domeną .dev. Tak więc dla katalogu /home/lukasz/workspace/test nazwą hosta będzie test.dev. Zwracam tu jeszcze uwagę na fakt, że wszystkie publiczne pliki („widoczne przez przeglądarkę”, a więc pliki js, css, obrazki etc. muszą znaleźć się w katalogu public).

Konfiguracja dnsmasq

Kolejnym krokiem jest skonfigurowanie usługi, która przetłumaczy nam adresty z domeny dev na odpowiedni adres ip (w naszym przypadku na 127.0.0.1). Ponownie w terminalu wydajemy polecenie

sudo port install dnsmasq

Po instalacji edytujemy plik konfiguracyjny (/opt/local/etc/dnsmasq.conf). W tym pliku umieszczamy następujące wpisy (możesz usunąć całą zawartość i wpisać tylko to):

resolv-file=/etc/resolv.conf
address=/dev/127.0.0.1   

Ostatnim krokiem jest stworzenie tzw. resolvera. W tym celu tworzymy katalog /etc/resolver:

sudo mkdir /etc/resolver

oraz plik, który wskaże serwerowi, jak ma przetłumaczyć naszą domenę:

sudo echo „nameserver 127.0.0.1” > /etc/resolver/dev

Zapisujemy wszystkie pliki konfiguracyjne i restartujemy usługi:

sudo port unload dnsmasq
sudo port load dnsmasq  
sudo port unload apache2
sudo port load apache2  

Możemy już przetestować naszą konfigurację. W tym celu zakładamy klika katalogów w naszym workspace:

mkdir -p ~/workspace/test1/public && echo „test1” > ~/workspace/test1/public/index.html
mkdir -p ~/workspace/isystems/public && echo „i-systems” > ~/workspace/isystems/public/index.html

Teraz wpisując w przeglądarce test1.dev zobaczymy „test1″, a wpisując isystems.dev zobaczymy „i-systems”.

Autorem tekstu jest Łukasz Wojtyczka.

#202 Jak analizować jakość leadów w sklepie internetowym?

Lead scoring to narzędzie, które często wykorzystywane jest w kanale B2B. Pozwala ono sprawdzić, na którym etapie lejka sprzedażowego znajduje się klient, dzięki czemu możemy dopasować do niego sposób komunikacji oraz kanał, jakim dotrzemy do niego z ofertą. Dzięki scoringowi wiadomo na przykład, do którego leada warto zadzwonić z ofertą, a który potrzebuje jeszcze czasu do namysłu. Oczywiście to bardzo uproszczony schemat, ale mniej-więcej tak właśnie działa lead scoring. System ten sprawdzi się także w e-commerce, w kanale B2C. Wymaga to wprawdzie trochę pracy, a także – na późniejszym etapie – automatyzacji, ale dzięki temu możemy znacząco wpłynąć na sprzedaż naszych produktów.

Partnerem lekcji jest: dddstudio.pl Czytaj dalej

8a.pl numerem jeden w rankingu sklepów outdoorowych

Portalgorski.pl zorganizował II edycję Rankingu Sklepów Górskich. W badaniu wzięło udział osiem sklepów, prowadzących sprzedaż zarówno online jak i offline.

Celem badania było wyłonienie sklepu outdoorowego, który wyróżnia się na tle innych jakością obsługi, w tym szybką, fachową i adekwatną odpowiedzią na zapytania e-mail, termin realizacji zamówienia oraz system zwrotu towaru, a także dostępnym metodom płatności i przesyłki. Przeanalizowane zostały także platformy sprzedażowe marek pod kątem przejrzystości i intuicyjności wyszukiwania produktów, jak również szczegółowości opisów. Analiza przeprowadzona została przez tzw. “tajemniczego klienta”.

Sklep 8a.pl uzyskał 44 z 45 punktów, plasując się tym samym na pierwszym miejscu w rankingu. Firma została doceniona między innymi za sprawny czas odpowiedzi i kontynuację korespondencji, a także przyjazny ton e-maila i dopasowanie propozycji do zapytania. Marka zaproponowała różne warianty cenowe i satysfakcjonująco przedstawiła ofertę w stosunku do potrzeb klienta.

Bardzo się cieszymy, iż po raz kolejny zostaliśmy najlepiej ocenieni spośród sklepów outdoorowych. Wkładamy bardzo dużo wysiłku w obsługę zamówień oraz jakość kontaktu z klientem. Tym bardziej, docenienie pracy całego zespołu 8a.pl jest bardzo miłe i mobilizuje do dalszego udoskonalania procesów – mówi Piotr Czmoch, Właściciel 8a.pl.


Firma wyróżniła się również bezzwłoczną realizacją zamówienia, dostępnością wielu metod płatności i przesyłki. Jeśli chodzi o zwroty towaru, 8a.pl uzyskało punkty za szybki zwrot pieniędzy, łącznie z kosztami przesyłki zwrotnej.

Sklep online 8a.pl został również najwyżej oceniony ze wszystkich pozostałych, stając się tym samym faworytem rankingu.

Strona jest przejrzysta i estetyczna, menu bardzo intuicyjne, dobrze zbudowane, czytelne. Wyszukiwarka produktów jest wygodna, a sensownie zaprojektowane filtry pozwalają na ustawianie różnych parametrów w celu zawężenia wyszukiwania. Szczegółowe opisy opatrzone są wieloma zdjęciami i to bez wątpienia ogromna zaleta sklepu 8a.pl – komentuje redakcja Portalgorski.pl.

8a.pl to gliwicka firma, specjalizująca się w sprzedaży profesjonalnego sprzętu i odzieży do wspinaczki, górskich wędrówek oraz szeroko pojętego outdooru. Firma prowadzi sprzedaż zarówno offline, jak i online. Firma istnieje od 2001 roku. Posiada sklep stacjonarny, zlokalizowany w Gliwicach. W 2004 roku natomiast, powstała pierwsza wersja sklepu internetowego. Od 2015 roku firma działa na systemie sprzedaży online, opartym na dedykowanym oprogramowaniu i-systems. Idąc za nowymi trendami, sklep internetowy rozwija się od tego czasu o coraz to nowsze rozwiązania.



Zobacz Case Study 8a.pl Przejdź do sklepu 8a.pl

W drodze do Continuous Integration

Ciągła Integracja, czyli Continuous Integration to jedna z dwunastu praktyk Ekstremalnego Programowania, stosowana podczas rozwoju oprogramowania. Polega na scalaniu wyników pracy zespołu programistycznego, poprzez włączanie ich do głównego repozytorium. Dla nowoczesnych systemów e-commerce oznacza to stałe podnoszenie jakości oprogramowania, a także ciągły jego rozwój. Częstsze dostarczanie klientom nowych funkcji i aktualizacji systemu, jest kluczem do osiągnięcia przewagi konkurencyjnej.  

Integracja kolejnych zmian w kodzie powinna odbywać się przynajmniej raz dziennie. Zintegrowane wersje kodu poddawane są natomiast automatycznym testom, a następnie, po sprawdzeniu ich poprawności, wprowadzane są do systemów klientów. Celem ciągłej integracji jest większa efektywność pracy członków zespołu, ponieważ mają stały dostęp do aktualnego postępu prac swojego teamu. CI ułatwia także prewencyjne wykrywanie ewentualnych błędów. Dla klientów oznacza to stały dostęp do aktualnej wersji oprogramowania.

Proces ciągłej integracji

Wszystkie zmiany, wprowadzane do repozytorium przez programistów, testowane są automatycznie. Najpierw przeprowadzane są testy unitowe, czyli sprawdzana jest poprawność kodu. Później następuje proces kompilacji kodu, tzw. build, na którym przeprowadzane są testy akceptacyjne. W przypadku wykrycia błędów, system natychmiast informuje o tym odpowiednie osoby przypisane do projektu. Jeśli natomiast testy się powiodą, zmiany przygotowywane są do wdrożenia i stają się kandydatami do wprowadzenia do bazowej wersji oprogramowania. W założeniu mogą więc od razu działać w systemie klienta.

Korzyści CI

Continuous Integration ma wiele zalet. Po pierwsze, klient ma zawsze dostęp do najnowszej wersji oprogramowania. Po drugie, zwiększa się efektywność w łączeniu prac zespołu programistycznego nad konkretnymi projektami, co skutkuje znaczną oszczędnością roboczogodzin pracowników. CI ułatwia także wykrywanie ewentualnych błędów, a co za tym idzie szybszą reakcję na ich rozwiązanie. Natomiast w przypadku konieczności wycofania wcześniej wprowadzonych zmian do systemu, zapewnia bezpieczeństwo bazy danych.

Prace nad Continuous Integration są częścią długoterminowej wizji rozwoju oprogramowania i-systems, która ma na celu systematycznie podnoszenie jakości dostarczanych rozwiązań.

Analiza biznesowa w branży elektronicznej

Kolejny dystrybutor elementów i urządzeń elektronicznych zdecydował się na wykonanie analizy biznesowej. Przeprowadzenie szczegółowego badania przedsiębiorstwo powierzyło firmie i-systems. Analiza biznesowa pozwoli poznać kluczowe procesy zachodzące w firmie, określi indywidualne potrzeby przedsiębiorstwa oraz wyznaczy najlepsze rozwiązania do ich realizacji. W strategii rozwoju firmy związanej z branżą elektroniczną znajduje się bowiem wdrożenie nowoczesnego systemu sprzedażowego dla swoich kontrahentów.

Integracja systemu sprzedażowego z ERP

Przedsiębiorstwo oferujące komponenty elektroniczne jest obecnie na etapie wdrażania systemu klasy ERP, opartego o oprogramowanie Enova. Analiza biznesowa pozwoli określić, w jakim stopniu system do zarządzania przedsiębiorstwem powinien zostać zintegrowany z dedykowanym systemem sprzedażowym dla klientów B2B. Ponadto, przeprowadzane badanie wyznaczy najważniejsze dla działalności hurtowej funkcjonalności systemu ERP. Analitycy i-systems będą pełnić rolę doradców podczas łączenia nowego systemu do zarządzania przedsiębiorstwem z dedykowanym systemem umożliwiającym sprzedaż B2B.

Analiza biznesowa – funkcjonalności systemu sprzedażowego dla B2B

Nowoczesny system sprzedażowy powinien wspierać kluczowe procesy biznesowe przedsiębiorstwa poprzez rozwiązania, które umożliwią sprawną i bezbłędną ich realizację. Przeprowadzana analiza biznesowa poruszy zagadnienia związane między innymi z: ofertowaniem, zamówieniami do dostawców, limitami logistycznymi, rozbudowaną kartą produktu, czy rozwiązaniami pozwalającymi na sprawne wyszukanie konkretnego towaru. Podczas badania zostaną także poruszone kwestie funkcjonalności umożliwiających nagradzanie stałych klientów np. poprzez gratisy lub program lojalnościowy.

Więcej informacji na temat analizy biznesowej