Opublikowano

Dziś w skrócie sposób na konsumpcję danych z serwisu za pomocą REST API z Swift 3 (bo jest lekki). Korzystam z framewok Foundation i zapisuję odczytane dane w sesji:

 let session = URLSession(configuration: URLSessionConfiguration.default)

let task = session.dataTask(with: URL(string: „adres webserwisu json”)!, completionHandler: { (data, response, error) in if error != nil { print(error!.localizedDescription) } else { do { if let json = try JSONSerialization.jsonObject(with: data!, options: .allowFragments) as? [String: Any] {  print(json) } } catch { print(„błąd w JSONSerialization”) } } }) task.resume() 

Bardzo proste. Teraz czas na webserwis na serwerze udostępniający dane w php. Nie będzie korzystał z żadnych bibliotek i frameworków. Ma udostępniać dane teleadresowe sklepów obsługujących TAX FREE, tylko tyle. Potrzebne mi dane geolokacyjne, aby pokazać to na mapie, czyli tworzę klasę z takimi danymi oraz dwie metody, które mają zwracać wszystkie sklepy oraz parametryzowaną liczbę sklepów w pobliżu urządzenia:

<?php Class Shop { private $name,$NIP,$adress,$longitude,$latitude;

public function getAllShops(){}

public function getShops($count,$longitude,$latitude){} } ?>

Ciało metod do wypełnienia jak utworzę bazę danych w MySQL, bo hosting przewiduję na linuksie.  Teraz zastanawiałam się czy zostawić to tak, że dostęp do url-a oraz parametry przekazywać za pomocą GET czy zmienić na ładniejsze adresy. Wybieram oczywiście to drugie. Dlatego w /.htaccess zmieniam przekierowanie:

# Turn rewrite engine on Options +FollowSymlinks

RewriteEngine on    # map neat URL to internal URL

RewriteRule ^shops/ ShopController.php [nc,qsa]

RewriteRule ^shops/([^/]+)/([^/]+)$ ShopController.php?lon=$1&lat=$2&count=$3 [L]

Teraz ShopController.php, w którym również przechwytuję wyjątki (klasa ShopRestHandler):

<?php

require_once(„ShopRestHandler.php”);

$lon = „”;

$lat = „”;

$count = „”;

if(isset($_GET[„lon”])) $lon = $_GET[„lon”];

if(isset($_GET[„lat”])) $lon = $_GET[„lat”];

if(isset($_GET[„count”])) $count = $_GET[„count”];

$shopRestHandler = new ShopRestHandler();

if (strlen($lon)>0 && strlen($lon)>0 && strlen($id)>0) {$shopRestHandler->getAllShops();}

else $shopRestHandler->getShops($count,$lon,$lat);

 ?>

Reszta jutro.

Opublikowano

Wreszcie wyszło. Problemy z wywołaniem funkcji innego kontrolera udało się rozwiązać rzutowaniem:

(rootViewController as? ViewController)?.showSwipeMenu()

Działa.

Brakuje ikonek w menu i dodam jeszcze przy sprzedawcy ikonę kategorii zakupionego towaru, tylko później. W menu pod „W pobliżu” będzie mapka sklepów w pobliżu jeżeli chce się udostępnić swoją lokalizację. Mapka szybko do zrobienia, natomiast naniesienie punktów wymaga skorzystania z webserwisu, który trzeba napisać i który udostępnia adresy sklepów – kolejny etap do zrobienia 🙂

Teraz podłączenie SQLLite – jestem w 1/4 drogi, bo mam klasę do utworzenia i połączenia bazy, jutro szybko dokończę oprogramowywanie tabel podrozny, rachunek, sprzedawca, ustawienia.


Moje dzisiejsze refleksje dotyczą:

  • gnuśnienia w pracy, bo nie mam się od kogo uczyć, bo albo trzymają dla siebie albo nic nie wiedzą.
  • potrzeby zmian na lepsze, w tym warunków płacy.
  • potrzeby robienia czegoś, żeby nie stać w miejscu i nie marnować czasu, malutkimi kroczkami.
  • obserwacji natury ludzkiej, tj. jestem introwertyczką, zawsze obserwuję i przetwarzam. Dziś byłam na konferencji MCE 2017 (http://2017.mceconf.com). Są tu ludzie bardzo różni, ale życzliwi. Niektórzy nastawieni na siebie, tak jak dziś widziałam jak dziewczyna w trakcie wykładu zajęta była swoim blogiem i komentarzami – nie podobało mi się, że w internecie przedstawiała siebie jako całkiem inną osobę, ładną i młodą, wystylizowaną. No cóż pewnie podejście biznesowe, każde kłamstwo przejdzie byle się sprzedać. Programistów łatwo odróżnić od designerów, bo chodzą zwykle sami i siedzą z komputerem, nie gadają z nikim, boją się odezwać. A ja kim jestem? Sama nie wiem bo ani programistą w pełni ani designerem w pełni, choć dziś jeden przypiął mi łatkę designerki, bo dziewczyna 🙂
  • chcę robić nadal to co robię ale w zespole a nie sama. ZAWSZE wartość dodana powstaje w zespole, samemu trudno. Trudno też trafić do dobrego zespołu – mam tu na myśli zatrudnienie u kogoś lub zatrudnienie kogoś. I chcę mieć z tego satysfakcję nie tylko finansową. Do tej pory już zdążyłam się przekonać, że mój sukces ma wielu ojców, tylko ja jakoś na końcu tego łańcuszka. Nie chcę już tak dalej.
  • dziś na konferencji padło między innymi taki zdanie: „bez ludzi nie ma technologii” i na płaszczyźnie praca i na płaszczyźnie klient i biznes. Padło też słowo „emocje”, że ludzie ich szukają i chcą je przeżywać używając technologii. Tak jak z pasją, że trzeba robić co się lubi, a pieniądze w końcu przyjdą. Chcę w to wierzyć że tak będzie. Tylko wtedy będę miała problem co z nimi zrobić 🙂 hehehe