fbpx

Porady

9
Maj

Integracja aplikacji: jak tworzyć aplikacje, które łączą się z innymi?

Integracja aplikacji, najogólniej ujmując, jest procesem dostarczania zasobów lub możliwości z jednej aplikacji do drugiej. W miarę ewolucji świata aplikacji, integracja aplikacji jest oczekiwana w wielu kontekstach. Na przykład, jeśli kiedykolwiek używałeś poświadczeń Facebooka do zalogowania się do innej aplikacji, skorzystałeś z integracji aplikacji. Deweloper drugiej aplikacji oszczędził Ci kłopotów z dostarczaniem danych osobowych, integrując proces uwierzytelniania z Facebookiem.

Tworzenie aplikacji może nie tylko przynieść korzyści deweloperowi wykorzystującemu integrację aplikacji, ale można również utworzyć aplikację w taki sposób, aby można ją było zintegrować z innymi aplikacjami. Może to prowadzić do możliwości uzyskania przychodu lub zwiększenia zasięgu Twojej aplikacji lub platformy.

Integracja aplikacji: Podstawy


Prawie każda nowa aplikacja jest zazwyczaj połączeniem trzech ogólnych typów kodu: kodu źródłowego dostarczonego przez system operacyjny, kodu napisanego przez programistę, który jest specyficzny tylko dla tworzonej aplikacji, oraz kodu napisanego przez inne strony, które programista wykorzystuje w nowej aplikacji.

Kod zintegrowany z innych źródeł jest określany na różne sposoby, takie jak frameworki, biblioteki lub pakiety SDK (Software Development Kits). Chociaż istnieją różnice między tymi typami kodu, na potrzeby tego artykułu będziemy traktować je tak samo i używać terminu framework.

Framework to partia kodu, który żyje samodzielnie i jest kompilowany osobno. Jest napisany w konkretnym celu i zazwyczaj ma wąski zakres. Nowa aplikacja może nie integrować żadnych zewnętrznych struktur lub może wykorzystywać wiele. Opracowując projekt, twórca aplikacji rozważa, ile kodu musi napisać sam i ile będzie w stanie zintegrować.

Doświadczeni twórcy wiedzą jakie frameworki dostępne są aktualnie na rynku. Wiedzą, jak korzystać z istniejących frameworków w sposób, który przyniesie korzyść budowanej aplikacji – i kiedy tego nie robić. I wiedzą, jak zbudować swoją aplikację, aby jej części mogły stać się także częścią dla innych, jeśli jest taka potrzeba

Integracja aplikacji: Dostawcy frameworków


Wiele frameworków jest dostarczanych przez Apple i Google. Na przykład  dla rzeczy takich jak przyciski, pola i obrazy. Kodują i zachowują podstawowe zachowanie tych elementów interfejsu, zapewniając ogromną funkcjonalność programistom zewnętrznym. Frameworki pozwalają programistom skupić się na rozwiązywaniu problemów biznesowych, a nie na określaniu szczegółów, które już zostały określone, np. na ile czasu między dwoma kolejnymi dotknięciami stanowi podwójne dotknięcie. Korzystanie z tych istniejących ram pomaga również zapewnić spójne zachowanie w różnych aplikacjach.

Zdjęcie

Frameworki mogą być również dystrybuowane przez osoby trzecie. Niektóre z tych frameworków mogą być edytowane przez innych programistów i nazywane są kodem „open source”. Kod źródłowy to oprogramowanie, którego większość użytkowników nigdy nie widzi. To sprawia, że ​​aplikacja działa tak, jak działa. Oprogramowanie Open Source to oprogramowanie z kodem, który każdy może sprawdzać, modyfikować i ulepszać. Innymi słowy, gdy framework jest dystrybuowany jako open source, programiści mogą zmienić kod źródłowy, aby odpowiadał ich potrzebom. Niektóre frameworki są jednak rozpowszechniane bez kodu źródłowego. Ten typ dystrybucji umożliwia programistom zewnętrznym korzystanie z ich funkcji, ale nie może ich zmieniać. W tym przypadku kod źródłowy jest chroniony i niedostępny.

Integracja aplikacji: Funkcjonalność frameworków


Czasami frameworki zapewniają funkcjonalność, ale nie zawierają interfejsu użytkownika. Jeśli to konieczne, od niezależnego programisty zależy zapewnienie interfejsu. Na przykład aplikacja może wymagać od bieżącej lokalizacji użytkownika przedstawienia listy pobliskich sklepów detalicznych. Inna aplikacja może wykorzystywać te informacje o lokalizacji do gromadzenia ich i przekazywać informacje o tym, jak zatłoczony jest dany obszar. Frameworki udostępniają tylko informacje o lokalizacji, ale aplikacja określa, w jaki sposób wykorzystać te informacje w sposób cenny dla użytkowników.

Innym razem struktura zapewnia funkcjonalność i interfejs użytkownika. Mapy są tego doskonałym przykładem. Mapy Google i Mapy Apple zapewniają ogromną funkcjonalność, często wymagającą niewielkiej dodatkowej pracy dla programistów zewnętrznych. Deweloper może przydzielić obszar ekranu (lub cały ekran) do mapy, dodać trochę informacji o konfiguracji, takich jak to, czy bieżąca lokalizacja użytkownika powinna być wyświetlana, czy opcjonalnie podać listę pinezek, które mają być wyświetlane. Struktura map obsługuje prawie wszystkie ciężkie operacje, a deweloper nie musi pisać dodatkowego kodu.

Integracja aplikacji: Korzyści dla Twojej aplikacji


Jak już wspomniano, Apple i Google zapewniają ogromne frameworki, które sprawiają, że programiści mogą tworzyć aplikacje mobilne bez wysokich kosztów, które byłyby wymagane do „klepania kodu” każdego elementu. Podobnie wiele znanych aplikacji zorientowanych społecznie, które programiści mogą wykorzystać do ułatwienia połączeń między aplikacjami. Obejmuje to wszystko, od sieci relacji (np. LinkedIn, Tinder), po sieci udostępniania multimediów (np. YouTube, Flickr), sieci blogów lub publikowania (np. Reddit, Medium).

Istnieje również wiele innych firm oferujących mniejsze funkcje, podobne do frameworków, które można osadzić w aplikacji. Analityka użytkowania jest jedną z takich funkcji. Amazon, Google, Mixpanel i inne oferują frameworki, które będą rejestrować aktywność użytkowników w aplikacji i dostarczać te dane na serwer, na którym możesz przeglądać raporty i ulepszać swoją aplikację na podstawie wyników, które widzisz.

Ważne jest, aby pamiętać, że wykorzystanie istniejących danych nie zawsze jest możliwe. Na przykład, wyobraź sobie, że chcesz stworzyć kolejną świetną aplikację do współdzielenia jazdy. Mógłbyś skorzystać z algorytmów planowania trasy Uber lub Lyft. Pozwoliłoby to zaoszczędzić znaczne koszty rozwoju, ale nie jest możliwe, ponieważ firmy te nie oferują tej funkcji we frameworku. Ten kod jest dla nich przewagą konkurencyjną, więc utrzymują go jako prywatny.

Czasami nie jest rozsądnie korzystać z dostępnych danych. Należy upewnić się, że pochodzą one z wiarygodnego źródła, które będzie nadal obsługiwane tak długo, jak Twoja aplikacja istnieje. Kiedy framework jest dostarczany przez firmę lub niezależnego programistę, który traci zainteresowanie produktem, możesz zostać z wyzwaniem zastąpienia go lub usunięcia, gdy nie jest już kompatybilny ze zaktualizowanymi bazowymi platformami Apple i Google. To, co w krótkim okresie wydawało się szybkim i niedrogim rozwiązaniem, może stać się kosztowną propozycją, jeśli zostaniesz zmuszony do zastąpienia go później.

Integracja aplikacji: Budowanie aplikacji w celu użyczenia danych


A co, jeśli Twoja firma chce, aby programiści umieścili w swoich aplikacjach funkcje Twojej aplikacji? Jeśli utworzysz aplikację społecznościową, prawdopodobnie zainteresuje Cię jak najłatwiejsze publikowanie treści w aplikacji, bez względu na to, jak się tam dostanie. Możesz stworzyć strukturę ułatwiającą zewnętrznym programistom dodawanie funkcji publikowania swojej platformy do swojej aplikacji. Następnie, gdy inni programiści używają Twojej platformy do publikowania, płacą ci za każdym razem, gdy z niej korzystają. Jak wspomniano powyżej, możesz zapewnić tę funkcjonalność z dowolnym interfejsem użytkownika lub bez niego.

Istnieje wiele możliwości dla aplikacji biznesowych. Na przykład fakturowanie medyczne jest skomplikowane – wszystkie diagnozy i procedury mają powiązane kody numeryczne, które pojawiają się na rachunku medycznym pacjenta. Niektórych procedur nie można obciążać innymi procedurami. Niektóre procedury mogą być rozliczane tylko pod pewnymi warunkami. Jeśli byłeś firmą z doświadczeniem w zakresie rozliczeń medycznych zawartą w systemach oprogramowania, możesz spakować tę wiedzę w ramach, które udostępnisz innym firmom, aby włączyć je do swoich aplikacji. Uruchomienie na rynku medycznym może skupić się na rozwiązaniu unikalnego problemu w branży, ale nadal zapewniać klientom usługi rozliczeniowe, wykorzystując ramy rozliczeniowe. Dzięki temu oszczędza się czas i koszty niezbędne do opracowania własnej ekspertyzy rozliczeniowej.

Integracja aplikacji: Podsumowanie


Jeśli chcesz dodać funkcje do swojej aplikacji, integracja aplikacji może zaoszczędzić czas i pieniądze. Jeśli jesteś w stanie udostępnić framework innym osobom, taka integracja aplikacji może być dla Ciebie szansą na zwiększenie przychodów lub pomóc w poszerzeniu zasięgu Twojej aplikacji lub platformy. Skontaktuj się z nami, jeśli chcesz dowiedzieć się więcej.

17
Sty

Asystent inwestycyjny

Tra­ding jest jed­nym z naj­trud­niej­szych zawo­dów na świe­cie, wymaga sil­nej woli opa­no­wa­nia, wyczu­cia i szyb­kiego dosto­so­wy­wa­nia się do zmian na rynku. Pro­fe­sjo­nalni tra­derzy na co dzień ana­li­zują swoje pozy­cje, prze­glą­da­jąc dzie­siątki wykre­sów, na któ­rych kre­ślą swoje kre­ski, aby zna­leźć odpo­wiedź czy to wła­ściwy moment wej­ścia do gry. Kiedy wszystko jest już zapla­no­wane, trzeba wysta­wić zle­ce­nia, co czę­sto bywa żmud­nym zda­niem, a nie­kiedy wymaga bły­ska­wicz­nych reak­cji i pre­cy­zji. W celu uła­twie­nia i tak trud­nej pracy Tra­dera przy­cho­dzą boty. Mądre wyko­rzy­sta­nie bota, może uła­twić i zop­ty­ma­li­zo­wać pracę.

Jest to fragment wywiadu, który udzieliłem na łamach portalu BitHub.pl. Więcej można poczytać pod tym linkiem.

A czym jest KryptoBot, możesz się przekonać oglądając poniższy film:

Widoki panelu

Pulpit
Zrealizowane transakcje
Aktualne zadania
Ustawienia
Monitor inwestycji
Samouczek
Ty też tak możesz…
17
Wrz

Problemy w projektach IT

Na temat zarządzania projektami IT powstała w zasadzie nieskończona ilość stron, książek, programów, filmów. Terminy takie jak: Scrum, Agile, Kanban są szeroko opisywane, wyjaśnianie i analizowane. Znacznie trudniej znaleźć można artykuły traktujące realne problemy, wykraczające poza idealny świat opracowań książkowych.

Ten wpis powstał z chęci podzielenia się latami doświadczeń w zarządzaniu projektami IT. Określone zostały najważniejsze problemy związane z produkcją oprogramowania.

Określenie „gotowe”

Najczęstszym problemem jest nadużywanie terminu „gotowe” i jego synonimów takich jak zrobione, done. Zdecydowana większość osób zaangażowanych niewłaściwie i zbyt pochopnie używa określenia „gotowe”. Wbrew pozorom zdefiniowanie, czy projekt, lub jego część są gotowe jest dość trudne. Można użyć porównania z gotowaniem obiadu, gdzie trzeba zrobić zakupy, ugotować obiad, pozmywać i posprzątać po obiedzie. Jak powszechnie wiadomo, dla niektórych obiad, to tylko zrobienie zakupów, dla niektórych to zrobienie zakupów i konsumpcja posiłku, a dla niektórych obiad jest skończony jak jest po nim pozmywane i posprzątane. Ta analogia, pomimo swojej prostoty, jest skalowalna na projekty IT. Dlatego poniżej zaprezentowane są popularne przypadki, w których nie można mówić, że coś jest „gotowe”. Dodatkowo każdy przypadek oferuje jeden output – wyjście projektowe w procesie produkcji oprogramowania, które identyfikuje, że task nie jest „gotowy”. Takich output-ów może być wiele, ale dla uproszczenia opisu zaprezentowany jest ten najważniejszy. Nie oznacza również, że realizacja output-u ustawia status zadania na „gotowe”.

Przykłady poniżej:

Programista napisał kod, który działa i spełnia wymagania funkcjonalne – Wcale nie oznacza, to że zadanie jest „gotowe”. Musi zostać przetestowane przez inną osobę z teamu, najlepiej testera.
Programista uwzględnił poprawki testera – Dalej task nie jest „gotowy”, tester powinien wykonać sprawdzenie ponownie
Testy nie wykrywają żadnych błędów – To zazwyczaj doskonała wiadomość. W zależności od „miejsca”, w którym test został wykonany, kod może wejść na produkcje, lub zostać przekazany do testów klientowi. W tym przypadku termin „gotowe” jest najczęściej nadużywany. Task lub sprint muszą być odebrane przez klienta i potwierdzone protokołem odbioru, lub pisemnym potwierdzeniem, że wszystko jest OK.
Kod jest napisany, testy przeszły pomyślnie, klient na sprint review, lub w trakcie rozmowy potwierdza wykonanie zadania – Tutaj można stwierdzić, że słowo mówione równe jest w teorii pisanemu. Niestety w życiu pojawiają się sytuacje nieoczekiwane i PM powinien mieć zawsze zatwierdzenie zadania na piśmie, lub w formie elektronicznej.

Uzyskanie statusu „gotowe” umożliwia zablokowanie wykonanego zadań. Oczywiście, jeżeli istnieje wyraźna potrzeba można wrócić do zadania, ale już w czasie dodatkowym. Potwierdzenie przez klienta wykonania zadania i ustawienia jego statusu na „gotowe” jest jednym z kluczowych aspektów prowadzenia projektu. Bardzo ważne, aby poszczególne sprinty w dużym projekcie uzyskiwały status „gotowe”, tak szybko jak to możliwe. Definicja „done” wydaje się być prosta. Jest to etap, w którym możemy klientowi wystawić fakturę i nie wracać już do tego zadania w tym projekcie.

Małe, duże problemy

Częstym problemem opóźniającym realizację projektów IT są uciążliwe drobiazgi wynikające ze złej komunikacji wewnątrzprojektowej.

Komunikacja z klientem to kluczowa rzecz i powinna być prowadzona przez osobę posiadającą łatwość nawiązywania kontaktów.

Bardzo ważne jest poszanowanie każdej ze stron w projekcie i w momencie pojawienia się problemów nie obwinianie nikogo, tylko poszukiwanie rozwiązania. Komunikacja z klientem powinna być prowadzona jasnymi i przejrzystymi komunikatami i klarownymi opisami zagadnień, co nie jest łatwe dla osób technologicznych. Bardzo ważnym elementem realizacji projektu jest wywiązywanie się klienta z zadań.

Nie ma szans na terminowe wykonanie, jeżeli klient sprawnie nie odpowiada na pytania i nie współpracuje. Jest on częścią projektu i musi zdawać sobie z tego sprawę. W wielu przypadkach trudno jest wyegzekwować wywiązywanie się z obowiązków jakie spoczywają na kliencie, ale nawet najlepszy zespół nie skończy należycie i na czas projektu bez obustronnej współpracy.

Ostatnim aspektem, z którym wiążą się opóźnienia projektowe jest całkowity brak zarządzania projektem przez osobę kompetentną w tym zakresie. Skutkuje to ignorancją dziennych spotkań co prowadzi do sytuacji, w której deweloper zaczyna pracować nad „swoją” wersją projektu. Brak wyznaczonych zadań wpisanych w ramy czasowe powoduje, że programiści przeskakują pomiędzy zadaniami. Wtedy na pytanie klienta, co w rzeczywistości zostało wykonane najczęstszą odpowiedzią są stwierdzenia w tylu „w zasadzie gotowe”, lub „prawie gotowe” – czyli krótko mówiąc nie gotowe.

 

Ignorowanie regularnych spotkań z klientem spowoduje, że wizja projektu prawie zawsze będzie rozbieżna pomiędzy stronami. Trzeba pamiętać, że wielu właścicieli firm IT popełniło błąd niezatrudnienia doświadczonego menadżera projektów. PM nie tworzy kodu i nie daje namacalnego wkładu w rozwój oprogramowania, ale jego brak w przeważającej większości przypadków powoduje zwiększeniem kosztów wykonania projektu i naraża na szwank reputację firmy. Stąd bardziej opłaca się zainwestować w dobrego PM niż podjąć ryzyko wykonania projektu IT bez niego

6
Sie

SSL

Prywatna, firmowa, czy korporacyjna strona www powinna być wyposażona w należyty poziom zabezpieczeń. Ważne jest zrozumienie potencjalnych zagrożeń sposobu ochrony przed nimi. Z tego powodu należy skorzystać z zaufanych partnerów oferujących certyfikaty SSL. Poniżej prezentujemy podstawowe informacje dotyczące rodzaju certyfikatów SSL i ich wpływ na bezpieczeństwo stron www

1. Czym jest SSL

Certyfikacja SSL zabezpiecza i ochrania witryny internetowe oraz zachowuje poufność przesyłanych danych, które są szyfrowane. SSL jest rejestrowany na każdą domenę i zawierają zabezpieczone kryptograficznie dane właściciela domeny. Informacje te nie mogą bezpośrednio być zmieniane przez właściciela domeny. SSL tworzony jest przez instytucje zewnętrzne zajmujące się generowaniem certyfikatów (CA). Pełni on dwie istotne funkcje takie jak uwierzytelnienie i weryfikacja oraz szyfrowanie danych. Analogicznie do zamka w drzwiach SSL może otworzyć lub zamknąć przepływ informacji do witryny internetowej. Zawiera on dwa klucze: publiczny do szyfrowania informacji oraz prywatny do deszyfrowania informacji i przywracania do oryginalnego formatu, który może zostać przeczytany. Kiedy użytkownik uruchamia stronę www zachodzi widoczny dla niego SSL handshake pomiędzy przeglądarką a serwerem. Wtedy pojawia się „oznaczenie zaufania” w pasku adresu, które jest widoczne w formie zależności od poziomu certyfikatu. Oznacza to, że bezpieczne połączenie zostało nawiązane w tej sesji korzystając z unikalnego klucza, dzięki temu można rozpocząć bezpieczne korzystanie ze strony.

2. Rodzaje certyfikatów

Certyfikat SSL bazuje na protokołach kryptograficznych, które są ciągle ulepszane. Nie jest to pojedynczy algorytm ale zestaw wielu algorytmów i schematów używanych do zapewnienia bezpieczeństwa. Ostatnią wersją protokołu jest TLS 1.3 zaproponowany 21 marca 2018 roku. Nie jest on jeszcze zaimplementowany w przeglądarkach, stąd wersja TLS 1.2 zajmuje obecnie 88% rynku. Nie zmienia to faktu, że wersja 1.3 jest przede wszystkim szybsza od poprzedniej o 50%. Obecnie TLS 1.3 obsługiwany jest przez: Firefox i Chrome. Stąd wniosek, że większość wersji przeglądarek nie obsługuje najnowszego TLS-a. Na chwilę obecną rynek musi zadowolić się poprzednim zestawem algorytmów.

Z biznesowego punktu widzenia certyfikaty SSL podzielono na trzy typy:

  • DV (Domain Vaildated) – najpopularniejszy certyfikat SSL. Weryfikowany jest przez nazwę domeny. Instytucja certyfikująca wysyła potwierdzający e-mail na podstawie którego certyfikat jest przyznawany. DV polecany jest dla małych sklepów internetowych, portali korporacyjnych, niekomercyjnych stron WWW.
  • OV (Organization Validated) – zapewnia wyższy poziom walidacji niż DV. Instytucja certyfikująca weryfikuję dane w oparciu o odpowiednie dokumenty, które muszą być przesłane. Informacje o certyfikacie dostępne w przeglądarce internetowej wyświetlają dane firmy posiadającej SSL. OV polecany jest dla dużych sklepów internetowych, serwisów biznesowych, stron urzędów i administracji publicznej.
  • EV (Extended Validation) – wprowadza maksymalny dostępny poziom zaufania. Wymaga przedstawienia precyzyjnych danych i dokumentów w języku angielskim. Skutkuję pojawieniem się zielonego paska adresu w przeglądarce. EV budzi pełne zaufanie internautów.

Na dzień dzisiejszy Chrome jest najpopularniejszą przeglądarką w Polsce zajmując ok 77% rynku. Z uwagi na fakt, że 70% ruchu internetowego odbywa się przez protokół SSL, staje się on standardem. Przeglądarka Google Chrome od wersji 68 wprowadza rygorystyczny sposób oznaczania stron WWW w postaci jawnego komunikatu o niebezpieczeństwie dla stron nie posiadających SSL-a, stąd stosowanie SSL-a staje się standardem.

3. Wildcard – SSL dla wielu adresów

W ramach jednej organizacji lub firmy można zamówić SSL dla kilku domen i wielu poddomen. Taki certyfikat nazywa sie wildcart. Jest on droższy od pojedyńczego SSL-a natomiast przy różnych adresach tej samej domeny jego zakup jest znacznie atrakcyjniejszy. Wildcart w ramach jednej organizacji dostępny jest dla kilku domen. Dla przykładu można go zarejestrować na adresach: www.mojsklep.pl, www.mojesklepy.pl, www.naszesklepy.pl. Trzeba pamiętać, że każda dodatkowa domena będzie płatna. Inaczej wygląda sprawa w przypadku poddomen. Dla witryny www.mojskep.pl możemy posiadać certyfikaty dla adresów: www.audio.mojsklep.pl, www.video.mojsklep.pl, www.muzyka.mojsklep.pl, itd. Coraz częściej klienci pytają o grupowe certyfikaty Wildcart i wybierają te z grupy OV lub EV

4. Test certyfikatów

Tak jak w życiu: usługa usłudze nie jest równa. Jak zawsze w kwestiach cyberbezpieczeństwa nie należy lekceważyć jakości oferowanych rozwiązań. W internecie dostępne są skrypty lub wtyczki umożliwiające testowanie poziomu zabezpieczeń SSL online. Zazwyczaj weryfikowane są następujące parametry: poziom certyfikacji, wsparcie protokołu, wymiana klucza oraz siła szyfrowania. Każdy z wymienionych parametrów kryje w sobie wiele testów odpowiadających na pytanie o całkowity poziom bezpieczeństwa certyfikatów użytych w domenach klienta

Przykładem dobrego zabezpieczenia jest domena akanza.pl. Wszystkie cztery kluczowe parametry ocenione są powyżej 90% skuteczności

Niestety, istnieją dostawcy SSL-, których skuteczność zabezpieczeń nie jest tak wysoka. Poniżej przedstawiono test wykonany na innej domenie należącej do firmy z Wielkiej Brytanii.

Serwer na którym umieszczono stronę nie wspiera kilku istotnych mechanizmów co ma negatywny wpływ na ocenę zabezpieczeń. Jak widać na powyższych przykładach usługi związane z certyfikacją SSL oferowane przez polskie firmy są na światowym poziomie.

1
Sie

Cyberbezpieczeństwo

Cyberbezpieczeństwo to w dzisiejszych czasach popularny termin. Poniżej zaprezentowane zostały podstawowe informacje z tej dziedziny, jak i również konsekwencje braku stosowania dobrych praktyk. Scharakteryzowano również na czym polega nowoczesna ochrona przeciwko zagrożeniom.

1. Współczesne zagrożenia

Ataki na aplikacje są niezwykle częste i dość popularne. W samej Australii dziennie notuje się ponad kilkaset tysięcy przypadków ataków typu malware rocznie a w skali świata kilka milionów. Przy braku odpowiednich zabezpieczeń strategiczne dane firmy lub klientów mogą znaleźć się na serwerach zewnętrznych i zostać udostępnione. Według organizacji OWASP ataki na aplikacje internetowe stanowią jedno z największych współczesnych wyzwań dla instytucji i przedsiębiorstw. Określono top 10 zagrożeń dla aplikacji internetowych i mobilnych.

W zestawieniu tym najwyższe miejsce przypadło atakom typu Injection, gdzie przez brak odpowiednich zabezpieczeń można bez logowania wykonywać operacje na bazie danych. Skutkiem tej podatności może być wyciek danych i haseł a nawet ich utrata. Drugim na liście zagrożeniem jest stosowanie prostych haseł i brak zabezpieczeń na atak typu „brute force”, w którym atakujący generuje hasła aż do otrzymania pozytywnego wyniku odgadnięcia. Złą polityką związaną z procedurami logowania jest nadawanie haseł prostych typu: „admin”, „password1”, „janusz66”, „qwerty”. Dokonujący ataków korzystają z baz słownikowych zawierających najpopularniejsze hasła obnażając złą politykę haseł w systemie. Na trzecim miejscu znajdują się zagrożenie wycieku danych wrażliwych określonych przez RODO (GDPR). Należy weryfikować, czy dane przekazywane są jawnym tekstem, czy algorytmy szyfrujące są aktualne,jaki jest poziom zabezpieczeń SSL (TLS). Kolejnym zagrożeniem jest nieprawidłowe zabezpieczenie aplikacji bazujących na SOAP, gdzie serializacja plików XML może zostać przechwycona. Luką w systemie jest również możliwość modyfikacji adresu URL w celu uzyskania kontroli nad danymi w aplikacji. W czasie ataku sprawdzane są tokeny, identyfikatory sesji oraz ograniczenia aplikacji wynikające z charakterystyki domeny lub serwera. Aplikacje musi być odporna na podmianę skryptów. Przykładem jest sytuacja, w której online wykonywana jest transakcje finansowa, na przykład przelew. Jeżeli aplikacja podatna jest na atak XSS to podmieniony jest skrypt, skutkując wysłaniem innej kwoty na inne konto. Następnym istotnym zagrożeniem są nieodpowiednie zabezpieczenia stanowiące luki do logiki aplikacji umożliwiające zmiany struktury danych i obiektów wewnątrz aplikacji. Wymienione zagrożenia są najczęściej spotykanymi, co nie oznacza, że inne nie istnieją.

2. Koszty braku zabezpieczeń

Wycieki danych logowania stanowią poważny problem dla wielu firm i instytucji. Istnieją serwisy np.: https://gotcha.pw/ , gdzie można sprawdzić czy dane logowania nie wyciekły z serwerów obsługujących daną domenę. Okazuje się, że w tej bazie znajduje się ponad 11 milionów haseł i nazw użytkowników, które zostały wykradzione tylko z domen zarejestrowanych w Polsce. Skoro dane logowania znajdują się na wskazanej powyżej stronie, oznacza to że są również dostępne gdzie indziej. Wyobrażając sobie sytuację, że dane logowania dowolnego użytkownika mogą zostać udostępnione. Można takie dane po prostu kupić i posłużyć się nimi.

Każdy posiadacz konta e-mail, może również sprawdzić, z jakich serwerów wyciekły jego/jej informacje. Istnieją serwisy typu: https://haveibeenpwned.com/ które weryfikują zabezpieczenia w systemach informatycznych. Dla podanego adresu e-mail otrzymano listę serwisów, z których wyciekły dane. W stopce podane są statystyki dla całego serwisu, określające ogromną skalę zaniedbań w obszarze cyberbezpieczeństwa.

W internecie można spotkać szereg artykułów o realnych kosztach wycieku danych logowania będących skutkiem tylko jednego typu ataku: SQL Injection. Szacuje się, że dla większych instytucji straty finansowe idą w setki tysięcy dolarów. W obliczu RODO (GDPR) aplikacje internetowe muszą gwarantować bezpieczeństwo danych swoich użytkowników.

 

3. Ochrona

Bez wątpienia profesjonalną ochronę należy powierzyć specjalistom. Zidentyfikują oni potencjalne słabości na różnych etapach produkcji aplikacji jak i również w produkcie końcowym. W takim przypadku tstowane są scenariusze ataków dedykowanych dla różnego typu aplikacji. Dobrze, gdy wykorzystywane są dobre praktyki bezpieczeństwa, np.: wg standardu OWASP MASVS. Niezbędną czynnością powinno być przeprowadzenie testów penetracyjnych, które wykonywane są na aplikacji i przechowywanych danych. Warto wspomnieć, że istnieją procedury weryfikujące bezpieczeństwo aplikacji opartych lub zintegrowanych z technologią blockchain, np.: audyty inteligentnych kontraktów. Rozwój technologii typu cloud wymusił opracowanie strategii przeprowadzania testów bezpieczeństwa dla rozwiązań opartych o chmury: AWS, Google Cloud czy MS Azure. Profesjonalna ochrona powinna zdiagnozować pojawienie się potencjalnych incydentów oraz ich konsekwencje. Przy wyborze firmy z branży cyberbiezpieczeństwa zawsze warto przyjrzeć się na portofolio i specjalistów zatrudnianych przez daną firme. Ich doświadczenie i obecność w „świecie security” udokumentowane artykułami naukowymi i występami na specjalistycznych konferencjach stanowi potwierdzenie rzetelności oferowanych usług.

2
Lip

Przyszłość technologii i aplikacji Blockchain cz.2

Blockchain – niezmienna, zaszyfrowana, zdecentralizowana baza danych ma potencjał, aby każdy scentralizowany proces, działalność i organizacja były w pełni autonomiczne. Oznacza to, że możemy wyeliminować pośredników i w ten sposób usprawnić każdy biznes, zarządzanie czy działalność non-profit. Choć brzmi to niesamowicie, nadal jest to odległa przyszłość. Pośród wielu możliwości związanych z technologią Blockchain, istnieje wiele wątpliwości co do jej przyszłości. W artykule tym omówimy kilka zagadnień związanych z przyszłością technologii Blockchain.

4. Zapewnienie bezpiecznego Internetu przyszłości

blockchain safe moneyNajważniejszą cechą technologii blockchain jest to, że zapewnia niespotykane do tej pory bezpieczeństwo w Internecie, w którym nielegalne wyłudzanie danych, złośliwe oprogramowanie, spam i hacki stanowią zagrożenie dla globalnego biznesu.

Jedną z głównych korzyści, które zapewnia blockchain nad innymi typami oprogramowania jest to, że opiera się na kryptografii i jest zbudowany tak, aby nie można było wprowadzić zmian do istniejącego już łańcucha bloków. Po prostu nie można wrócić do pewnego punktu w blockchainie i zmienić tam informacje. Przez 10 lat istnienia technologii blockchain, nigdy nie został zhackowany.

Inną kluczową zaletą technologii blockchain jest rozproszenie w sieci, dzięki czemu niemożliwe jest przejęcie nad nią kontroli przez np. autorytarny rząd lub wielkie korporacje w przypadku nielegalnych praktyk biznesowych. Na przykład, nieruchomości zakupione i udokumentowane w blockchainie nie mogą być usunięte lub ukryte przez jakikolwiek organ administracyjny, dzięki czemu właściciel chroniony jest przed nadużyciami.

Wreszcie, blockchain jest doskonałym narzędziem do przechowywania ogromnej ilości ważnych dokumentów w branżach takich jak służba zdrowia, logistyka, prawo autorskie i wiele innych. Blockchain eliminuje potrzebę pośrednika, jeśli chodzi o legalizowanie umów. Inteligentne platformy kontraktowe są wciąż doskonalone, jeśli chodzi o przyjazność dla użytkownika i uważa się, że znajdą szerokie zastosowanie w ciągu najbliższych 5 lat.

5. Blockchain w reklamach cyfrowych

Reklama cyfrowa napotyka wyzwania, takie jak oszustwa w przekierowaniu na inną domenę, fałszywy ruch w postaci botów, brak przejrzystych, jednolitych modeli płatności. Problem polega na tym, że stymulacja rynku nie jest równomierna, co powoduje, że zarówno reklamodawcy, jak i wydawcy nie do końca są zadowoleni z osiągnięcia celów biznesowych. Blockchain jest rozwiązaniem zapewniającym przejrzystość w łańcuchu dostaw, ponieważ z natury wnosi zaufanie do bardzo szybko zmieniającego się środowiska.

Dzięki zmniejszeniu liczby złych praktyk w środowisku reklamowym, dobre firmy mogą się rozwijać. Co najważniejsze, wydawcy mogą zebrać wyższy procent łącznej kwoty reklam wpuszczanych do ekosystemu i będą to robić w momencie dostarczania trafnych wyświetleń. Blockchain jest wciąż jeszcze w powijakach, ale podstawowa technologia jest tu na miejscu, a wszystkie firmy zajmujące się technologiami reklamowymi powinny się zastanowić, w jaki sposób może to pomóc w usprawnieniu ich działalności.

6. Wpływ tzw. ‘Streaming Money’ na biznes

blockchain save moneyPrzyzwyczailiśmy się do miesięcznego (w Europie zachodniej tygodniowego) okresu rozliczeniowego, który bierzemy pod uwagę w biznesie i jako pracownicy. Jednak rok 2018 wyznacza nowe podejście, w którym nie jest to już obowiązujaca norma. Bardzo ekscytującą możliwością technologii blockchain są nowe formy mikropłatności. Kolejną są inteligentne kontrakty (Smart Contracts). Chociaż było to przewidywane wiele lat temu przez Andreasa Antonopolisa, rzeczywistość dopiero teraz przynosi efekty.

Bitcoin początkowo miał bardzo niskie opłaty, ale blokowanie/zatykanie się sieci spowodowało zniknięcie mikropłatności. W tym roku możemy obserwować sieć ‘lightning’ i sieć Raiden. Obie zyskują na popularności oraz przywracają szybkie mikropłatności.

Za pomocą prostego inteligentnego kontraktu pracownik może otrzymywać wynagrodzenie w czasie rzeczywistym, gdy pracuje. A to oznacza, że faktycznie działa. Programy monitorujące mogą z łatwością śledzić naciśnięcia klawiszy, widzieć, czy pracownicy nie robią sobie przerwy na Facebooku oraz mierzą produktywność. Płać, w czasie rzeczywistym, gdy pracują.

Jest to zaleta zarówno dla firmy, jak i pracownika. Zasady są jasne i proste a bardziej zaangażowani pracownicy otrzymają lepsze wynagrodzenie. Chcesz zarobić trochę więcej? Zostań w pracy dłużej i zwiększaj aktywa swojego konta w czasie rzeczywistym. Wiele firm korzysta już z usług takich jak np. Upwork. Programy te monitorują pracę zdalnych pracowników w czasie rzeczywistym. Stoimy zatem u progu wielkich zmian systemu płatności.

7. Czy jesteśmy już gotowi na rewolucję

Chociaż perspektywy wydają się bardzo optymistyczne, istnieje wiele ograniczeń związanych z pełniejszym wykorzystaniem technologii blockchain. Jeff Stollman, futurysta ds. technologii, podzielił się swoimi przemyśleniami na temat obecnych ograniczeń technologii o tak dużym potencjale. Od ponad trzech lat projektuje rozwiązania blockchain dla klientów i oczekuje na cztery patenty w obszarze tej technologii. Oto, co powiedział:

„Potencjał technologii Blockchain w przedsiębiorstwach jest olbrzymi, ale wdrożenia działających rozwiązań dla korporacji będą trwały jeszcze parę lat. Istnieją dwa powody tego stanu. Po pierwsze, sama technologia blockchain jest niewystarczająco dojrzała, aby obsłużyć wolumeny transakcji niezbędne do obsługi większości aplikacji dla przedsiębiorstw. Po drugie, aplikacje korporacyjne, które będą wykorzystywane w różnych sektorach przemysłu, wymagają ustanowienia nowych zasad zarządzania. Wypracowanie nowych może trwać wiele lat.

Jeśli chodzi o technologię, jedynymi dostępnymi obecnie aplikacjami opartymi o blockchain dla przedsiębiorstw są aplikacje działające w dość ograniczonej skali, takie jak Everledger Dimond Platform śledzący własność i pochodzenie certyfikowanych, oszlifowanych diamentów. Każdy rejestr/baza danych zarządza i monitoruje ponad 1,6 miliona diamentów. Ale diamentami nie handluje się z wysoką częstotliwością. Jest to inwestycja raczej długoterminowa.

Duże systemy płatności, takie jak VISA, obecnie przetwarzają płatności w tempie, które pozwoliłoby obsłużyć całą bazę diamentów Everledger w ciągu nieco ponad 1 minuty (~ 24 000 transakcji na sekundę). Wśród popularnych kryptowalut Bitcoin przetwarza tylko 7 transakcji na sekundę, a Ethereum obsługuje tylko 20 tps. Nie ma żadnego ograniczenia, aby przyspieszyć szybkość przetwarzania danych w technologii blockchain. Potrzebne są jednak nowe rozwiązania, aby spełnić wysokie wymagania dotyczące przepustowości i poufności takich aplikacji dla przedsiębiorstw. Na przykład twórcy BigChainDB, który nie jest prawdziwym blockchainem, ale oferuje wiele pożądanych funkcji, twierdza, że są w stanie przetworzyć 1 milion transakcji na sekundę.

Jeśli chodzi o zarządzanie, większość aplikacji korporacyjnych będzie działać na dedykowanych, prywatnych łańcuchach bloków. Nie będą to aplikacje typu single-owner, takie jak Everledger. Własność będzie dzielona przez grupę kontrahentów. Banki współpracują w celu opracowania nowych systemów płatności. Firmy logistyczne i banki współpracują ze sobą w celu opracowania nowych rozwiązań finansowych w handlu. Przedsiębiorstwa te będą unikać popularnych łańcuchów blockchain, takich jak Bitcoin i Ethereum, w celu osiągnięcia wymaganej przepustowości i lepszej kontroli poufności. Dzisiejsze transakcje na Bitcoin i Ethereum są prywatne tylko dlatego, że ich transakcje są niewystarczające, aby umożliwić analitykom (big-data) identyfikację stron transakcji. Nie dotyczy to większości transakcji w przedsiębiorstwach.

Ponieważ łańcuchy bloków będą prywatne, członkowie będą musieli uzgodnić zasady zarządzania, w ramach których będą działać. Jest to proces podobny do negocjacji międzynarodowych standardów, który zwykle trwa lata. Dzieje się tak, ponieważ różni członkowie starają się wypracować swój szczególny standard działania. Zarządzanie zdecentralizowanym łańcuchem bloków zazwyczaj wymaga osiągnięcia konsensusu w wielu aspektach działalności: członkostwo, kontrola dostępu, jakie dane są w łańcuchu i jakie dane są przechowywane poza łańcuchem, procedury weryfikacji i sprawdzania poprawności transakcji, własność blockchain, zarządzanie blockchain itp.

Z czasem uda się wypracować pożądane standardy, przezwyciężając zarówno przeszkody technologiczne, jak i prawne. Ale znaczny postęp będzie potrzebny na obu frontach, zanim korporacyjne aplikacje blockchain osiągną szerokie zastosowanie. „

2
Lip

Przyszłość technologii i aplikacji Blockchain cz.1

Blockchain – niezmienna, zaszyfrowana, zdecentralizowana baza danych ma potencjał, aby każdy scentralizowany proces, działalność i organizacja były w pełni autonomiczne. Oznacza to, że możemy wyeliminować pośredników i w ten sposób usprawnić każdy biznes, zarządzanie czy działalność non-profit. Choć brzmi to niesamowicie, nadal jest to odległa przyszłość. Pośród wielu możliwości związanych z technologią Blockchain, istnieje wiele wątpliwości co do jej przyszłości. W artykule tym omówimy kilka zagadnień związanych z przyszłością technologii Blockchain.

1. Wyeliminowanie pośredników/instytucji

blockchain targetBlockchain jako technologia może zasadniczo wpłynąć na wiele różnych procesów i technologii. Jest to system eliminujący potrzebę zaufania do wszelkiego rodzaju transakcji. Chociaż może to brzmieć banalnie, wiele z największych instytucji na świecie istnieje obecnie jako organizacje zaufania publicznego, na przykład SWIFT (Society for Worldwide Interbank Financial Telecommunication – Stowarzyszenie na rzecz Światowej Międzybankowej Telekomunikacji Finansowej). Możliwości korporacyjne są ogromne dla firm, które mogą tworzyć konkretne technologie ukierunkowane na określone transakcje, na przykład na rynek kredytów hipotecznych.

Obecnie, aby kupić dom czy mieszkanie, sprzedawca i kupujący muszą korzystać z usług osób trzecich, które sformalizują przeniesienie własności. Ponadto wymagane jest składanie wniosków do urzędów w celu uzyskania dokumentów potrzebnych do zrealizowania transakcji oraz niezliczonych drobnych opłat transakcyjnych, które są niezbędne do utrzymania systemu. Systemy te istnieją, ponieważ historycznie transfer nieruchomości był procesem, który wymaga ogromnego zaufania gwarantowanego przez księgi wieczyste, notariuszy i sądy ksiąg wieczystych. Jednak Blockchain rozwiązałby wszystkie te problemy. A księga wieczysta konkretnej nieruchomości może zawierać weryfikowalną i potwierdzoną historię transakcji, minimalizując potrzebę istnienia instytucji. Rezultatem byłoby uwolnienie całego zbiurokratyzowanego systemu hipotek za ułamek kosztów, w ułamku czasu, przy znacznie wyższym stopniu zaufania.

2. Blockchain jako gwarancja bezpieczeństwa systemów samochodów autonomicznych

Wiele osób postrzega Blockchain jedynie jako kolejną cyfrową bazę danych, a niektórzy utożsamiają go tylko z kryptowalutą zwaną Bitcoin. Jednak prawdziwy potencjał Blockchaina jako struktury zaszyfrowanej bazy danych jest rewolucyjny, ekscytujący i jak dotąd niezrealizowany. Na przykład bezpieczeństwo w cyberprzestrzeni stanowiło poważny problem dla powszechnej innowacji w wielu gałęziach przemysłu, w tym w pojazdach bez kierowcy.

Od czasów powstania Internetu ludzka zdolność do wprowadzania innowacyjnych rozwiązań była znacznie szybsza niż nasza zdolność do ochrony przed oprogramowaniem szpiegującym, wirusami i hakerami, ale Blockchain może położyć temu kres. Powszechnie uważa się, że technologia autonomicznych pojazdów nie tylko będzie udoskonalana w testach, ale także już niedługo będzie gotowa do wprowadzenia na rynek. Jednak status prawny w wielu krajach nie pozwala na wprowadzenie w pełni autonomicznych pojazdów (bez osoby odpowiedzialnej w razie wypadku) a jednym z głównych powodów jest bezpieczeństwo cybernetyczne.

Obawy te są uzasadnione. W końcu odnotowano przypadki ataków hakerskich w nowoczesnych samochodach, które są w ruchu. I podczas gdy zmiana stacji radiowej to jedno, wjechanie samochodem w inny pojazd to zupełnie co innego. W przeszłości producenci samochodów nie byli w stanie zagwarantować pełnego bezpieczeństwa przed atakami cybernetycznymi w pojazdach autonomicznych, ale dzięki Blockchain może to się zmienić. Ta zdecentralizowana metoda dystrybucji danych sprawiłaby, że każdy samochód bez kierowcy na drodze byłby w zasadzie nietykalny.

3. Blockchain w 2019 roku – poza Bitcoinem

blockchain 2019 futureW 2018 r. Blockchain stał się drugim najpopularniejszym słowem wyszukiwania na stronie internetowej firmy Gartner.  Technologia rozproszonej bazy danych zyskała na znaczeniu w wielu branżach. Deloitte przewiduje, że projekty oparte o technologię blockchain przekroczą cloud computing (przetwarzanie danych w chmurze) i IoT (internet of things – internet rzeczy) w inwestycjach typu venture capital.

Technologia pomoże rozwiązać współczesne problemy związane z bezpieczeństwem, w tym problemy z fałszowaniem umów, tożsamością i zarządzaniem ryzykiem. Dane oparte na blockchain pozwolą sklepom internetowym i organizacjom finansowym wygodnie weryfikować swoich klientów i walczyć z nieuczciwymi działaniami.

Terminologia ta będzie również ewoluować w miarę upływu czasu. Liderzy branży będą kładli nacisk na dostarczanie funkcjonalnych lub architektonicznych opisów, zamiast używać określenia „blockchain”. Na przykład w komunikatach australijskiej giełdy papierów wartościowych nie podano słowa „blockchain”. Ogłaszając wprowadzenie na początku bieżącego roku „technologii rozproszonej księgi rachunkowej” do rozliczeń i rozrachunków. Skupiono się na jej funkcjonalności a nie na popularności.

Podczas gdy ‘hype’ (szum medialny) wokół słowa „blockchain” ustąpi w nadchodzącym roku, zobaczymy główne aplikacje inspirowane tą technologią w sektorach ochrony zdrowia, finansowym, ubezpieczeniowym i e-commerce. Blockchain stanie się domyślną technologią wszędzie tam, gdzie istnieje potrzeba zapewnienia integralności danych.

26
Cze

Korzyści technologii Xamarin: Łatwiejsze utrzymanie aplikacji

Często menedżerowie podejmują decyzję o inwestowaniu w niezależnie opracowane aplikacje na iOS i Androida. Nie uwzględniają jednak zasobów, które pozwolą skutecznie zarządzać tymi osobnymi wersjami w czasie – poprawki błędów, aktualizacje systemu operacyjnego i nowe funkcje wymagają równoległych ścieżek rozwoju.
W artykule tym zajmiemy się jedną z najważniejszych zalet technologii Xamarin: dzięki zastosowaniu jednej podstawy kodu i platformy programistycznej zespoły programistyczne mogą znacznie wydajniej zarządzać i utrzymywać aplikację wieloplatformową przez cały cykl jej „życia”.

Jako zespół programistów Xamarin używamy Xamarin i Xamarin.Forms, aby zaoszczędzić wiele czasu w projektach dla naszych klientów. Tworząc pojedynczą bazę kodu w języku C #, jesteśmy w stanie zaoszczędzić szacunkowo 25% wstępnego czasu rozwoju dla pierwszego wydania. A czas to pieniądz. Krótko mówiąc: Szybsze cykle programowania kolejnych wersji oszczędzają pieniądze naszych klientów.

Ale oszczędność czasu, to nie jedyna zaleta płynąca z wykorzystania technologii Xamarin.

Naprawianie błędów jest prostsze w przypadku technologii Xamarin

xamarin-debugJeśli niezależnie korzystasz z aplikacji na iOS i Androida, zastanów się, co się stanie, gdy zgłoszony zostanie błąd. Tak, błędy pojawiają się nawet w przypadku najlepszych programistów i procesu testowania aplikacji. Jeśli błąd dotyczy zarówno wersji na Androida, jak i iOS, nie jest to jeden błąd, ale dwa. Oznacza to dwa różne działania związane z zapewnieniem stabilności aplikacji oraz co najmniej dwóch programistów, aby znaleźć problem w dwóch bazach kodu. Tworzone są dwie różne poprawki, a następnie dwie nowe wersje są kompilowane, testowane ponownie i testowane pod kątem pełnego zestawu funkcji. Dopiero wtedy aplikacje są publikowane.

Jeśli aplikacja została zbudowana w Xamarinie, jej kod napisany jest jeden raz. Następnie możemy wypuścić nowe wersje na każdą natywną platformę. Oczywiście nawet jeśli korzystamy z Xamarina, w każdym wydaniu należy wykonać pewne zadania specyficzne dla danej platformy. Szacujemy, że podstawowa poprawka w Xamarinie zajmuje około 75% czasu potrzebnego na naprawienie niezależnych błędów w systemie iOS i Android.

W trakcie cyklu życia aplikacji może to przynieść znaczące oszczędności. Jeśli nasz zespół programistów poświęci jeden miesiąc na utrzymanie aplikacji, to biorąc pod uwagę naszą szacunkową oszczędność czasu, możemy zyskać więcej niż cały tydzień – siedem dni cennego czasu, który można poświęcić na tworzenie nowych funkcji.

Nowe funcjonalnosci

Dzięki technologii Xamarin poprawki błędów na różnych platformach można uprościć. Ale co z nowymi funkcjami? Po pierwsze, zastanówmy się, skąd pochodzą nowe pomysły na funkcje. Często wynikają z analizowania wydajności za pomocą narzędzia ‘profilera’ i narzędzi do centralnej analizy UX (User Experience). Jeśli ta analiza może być przeprowadzona w aplikacji wieloplatformowej dla systemu Android i iOS – zamiast oddzielnie – może to być duża oszczędność czasu.

Profilowanie aplikacji w Xamarin

W Akanzie używamy Xamarin Profiler do profilowania aplikacji Xamarin i sprawdzania kodu, który wymaga poprawy z punktu widzenia wydajności. Można także użyć Android Studio lub Xcode Instruments do analizy wydajności aplikacji – ale przewaga Xamarin Profiler pozwala spojrzeć na wydajność w różnych aplikacjach.

User Experience – doświadczenie użytkownika

xamarin-uxPo pierwszym wydaniu aplikacji zespół programistów prawdopodobnie spędza dużo czasu na analizie, której celem jest zrozumieć komfort użytkownika – i to, jak UX aplikacji realizuje pierwotne cele biznesowe. Na przykład, jeśli jest to aplikacja e-commerce, będziemy analizować każdy etap procesu zakupu i określać, gdzie użytkownicy mogą porzucić swoje koszyki.

Podobnie jak w przypadku ‘profilera’, bardziej wydajne jest przeprowadzanie tej analizy na różnych platformach, dzięki czemu możemy zobaczyć trendy UX w aplikacjach na iOS i Androida. Dzięki Xamarin możemy zaimplementować kod dla wielu narzędzi analitycznych (np. Mixpanel, Google Analytics lub AppsFlyer) tylko raz, we współużytkowanej warstwie abstrakcji – zamiast dodawać je natywnie do każdej aplikacji. W zależności od narzędzia analitycznego, możemy wciąż napisać kilka linii kodu na każdej platformie, aby skopiować kod do warstwy współdzielonej. Jednak ogólny wysiłek na rzecz rozwoju jest nadal ograniczony. Zespół marketingu / produktu będzie miał możliwość analizowania UX na różnych platformach w jednym widoku.

Ten sam język – back-end

Podczas pracy z wieloplatformowymi aplikacjami Xamarin koncentrujemy się na ilości kodu współdzielonego między systemem Android i iOS, a w niektórych przypadkach na platformie Universal Windows Platform (UWP).

Jednak większość aplikacji mobilnych pobiera dane z back-endu. W wielu projektach istnieje spora szansa, że back-end używa Microsoft Azure. Jeśli nie wiesz, firma Xamarin została przejęta przez Microsoft w 2016 r. W dość krótkim czasie Xamarin został złożony w Visual Studio i jest również częścią nowego Centrum aplikacji Microsoft Visual Studio. Wszystkie narzędzia w App Center dobrze integrują się z Azure Microsoft.

Tak więc Microsoft ma kompletny zestaw narzędzi do tworzenia aplikacji, starszej platformy dla przedsiębiorstw w .NET i wielu usług w chmurze na platformie Azure – a wszystko to oparte jest na języku programowania C#. Wszystkie te elementy Microsoftu sprawiają, że korzystanie z Xamarin jest efektywnym sposobem na rozwijanie oraz zarządzanie aplikacjami mobilnymi.

Podsumowanie

Xamarin to świetny sposób na zwiększenie wydajności tworzenia aplikacji mobilnych – potencjalnie oszczędzając koszty i czas. Ale nie wszystkie elementy kodu i funkcje można łatwo udostępniać między różnymi platformami. Powiadomienia push to jeden z przykładów funkcji, w której Android i iOS różnią się. Konieczne jest napisanie niestandardowych rozwiązań na platformach natywnych – jednak nadal możemy stosować wspólną logikę w warstwie udostępnionej. Innymi słowy, możliwe jest zarządzanie powiadomieniami push za pośrednictwem Xamarin na wielu platformach, gdy zaimplementujemy natywny kod w odpowiednim miejscu.

Istnieją inne przykłady funkcji, które muszą być obsługiwane w macierzystym systemie operacyjnym – ale wraz z rozwojem systemów Android i iOS stają się one coraz bardziej do siebie podobne. Xamarin, pod kontrolą Microsoftu, nieustannie dodaje nowe możliwości korzystania z funkcji na różnych platformach.

18
Maj

SEO Twojej strony WWW – 15 kroków do perfekcyjnie zoptymalizowanej strony, cz.2

Druga część wpisu o SEO dotycząca optymalizacji stron WWW pod kątem wyszukiwarek internetowych. Pierwszą część dostępna jest pod tym adresem.

9. Zoptymalizuj obrazy:

 Jeśli używasz wielu obrazów na swoich stronach, upewnij się, że są one odpowiednie dla danego tematu. Oznacza to, żę są atrakcyjne i mają odpowiednie podpisy czy teksty objaśnień. Pamiętaj, że dyskusyjne, wzbudzające kontrowersje obrazy, które nie są powiązane z treścią witryny, mogą podnieść współczynnik odrzuceń.

a) Zmień nazwę zdjęć, które zamieszczasz na stronie używając do tego celu nazwy opisującej obraz, ponieważ ma to kluczowe znaczenie dla widoczności w wyszukiwarce. Na przykład, większość aparatów domyślnie nadaje nazwy zdjęciom używając kombinacji liter i cyfr lub daty i godziny utworzenia pliku obrazu, takich jak DCMIMG1.jpg. Jednak podczas dodawania zdjęć do swojej witryny, powinieneś zmienić domyślą nazwę pliku na nazwę, np. konkretnego produktu: Nike-air-max-blue-2018.jpg.

b) Zoptymalizuj teksty ALT przy przesyłaniu obrazów, są to teksty alternatywne do obrazów, które Google czyta po to, aby dowiedzieć się więcej o obrazie. Pomagają one stronom osiągnąć lepszą pozycję w wynikach wyszukiwania poprzez powiązanie słów kluczowych ze zdjęciami. W rzeczywistości używanie tagów Alt jest prawdopodobnie najlepszym sposobem, aby Twoje produkty e-commerce pojawiały się w wyszukiwarce internetowej, ponieważ wyszukiwarki odczytują tekst alternatywny. Tagi alternatywne będą wyświetlane zamiast obrazu, jeśli nie można załadować pliku obrazu. Znaczniki Alt zapewniają lepszy kontekst obrazu robotom wyszukiwarek, pomagając im prawidłowo indeksować obraz w twojej witrynie.

10. Umieszczaj wartościowy kontent:

Twoja treść internetowa jest jak ambasador Twojej firmy, więc jeśli nie zadbasz o odpowiedni opis produktów, które oferujesz możesz po prostu tracić klientów. Jakość treści jest bardzo ważna, więc upewnij się, że nie zawiera przede wszystkim błędów ortograficznych i gramatycznych. Teksty powinny być ciekawe, jak również angażować i zatrzymywać odbiorców na stronie. Dobrym wskaźnikiem jakości treści jest czas spędzony w danej witrynie. Prawdą jest, że Google nie ma bezpośredniego sposobu określania jakości treści, ale dane, takie jak czas spędzony na stronie, powtarzalni użytkownicy czy liczba udostępnień/share’ów liczą się do zawartości, którą Google z przyjemnością pokazywałby w swojej wyszukiwarce na stronie numer jeden. Upewnij się również, że Twoje treści są całkowicie unikalne, ponieważ powielony lub wprost skopiowany tekst może Cię kosztować zarówno w spadek na odległe pozycje w wyszukiwarkach, jak i odpływ potencjalnych klientów.

11. Dodaj przyciski udostępniania:

Ułatwiaj ludziom udostępnianie treści. Przyciski udostępniania w mediach społecznościowych zachęcają do rozpowszechniania treści na wielu platformach, co pozwala przesyłać sygnały do wyszukiwarek, że Twoje treści są cenne i warte zauważenia. Dodatkowo tworzymy wtedy więcej miejsc kontaktu z Twoją marką, co może zwiększyć jej rozpoznawalność, zwiększyć ruch i poprawić sentyment – łatwiej Cię polubić, jeśli ludzie mogą Cię znaleźć.
Zaufaj nam: SEO + Social Media = idealnie pasuje.

12. Zwiększ prędkość ładowania strony:

Im szybciej strona się ładuje, tym bardziej jest ona przyjazna dla użytkowników. Często mniej czasu zajmie znalezienie potrzebnych danych dzięki szybkiej witrynie. Istniej również korelacja między szybką witryną a dobrą pozycją w rankingu. Nie bez znaczenia dla SEO jest również przyśpieszenie ładowania stron mobilnych (AMP – Accelerated Mobile Pages). Dzięki AMP Google promuje szybsze ładowanie stron internetowych na urządzeniach mobilnych. Do zalet wprowadzenia AMP przez Google należą: zwiększona liczba użytkowników, wyższy CTR (współczynnik klikalności), większa widoczność reklam, wyższy ranking stron, łatwa analiza odwiedzających.

Prędkość witryny może czasami być ograniczona dla Twojej platformy, ale jeśli nie masz pewności, jak zoptymalizować szybkość, zacznij od pierwszego sprawdzenia czasu ładowania za pomocą narzędzia, a następnie skontaktuj się ze swoim dostawcą usług hostingowych. Możesz zwiększyć szybkość swojej strony internetowej za pomocą CDN, jednak w większości przypadków okazywało się, że hosting jest główną przyczyną powolnego wczytywania stron, co widać w firmach, które oferowały ogólny hosting współdzielony, skupiając się na zarządzanym hostingu WordPress. Jeśli szukasz dużej wydajności, wybierz najlepszą firmę hostingową dla swojej witryny.

13. Responsywność strony:

W dzisiejszym projektowaniu stron internetowych występuje zasadnicza zmiana polegająca na tym, że witryny przechodzą na responsywny design, co jest ogromną zaletą zarówno dla użytkowników, jak i wyszukiwarek. Responsywne projektowanie umożliwia stronie dostosowanie jej układu do dowolnego urządzenia przeglądanego przez użytkownika, co ułatwia nawigację i zwiększa atrakcyjność korzystania z witryny.
Jest to teraz ważniejsze niż kiedykolwiek, ponieważ Google wdrożyło projekt AMP przyjazny dla urządzeń przenośnych w wynikach wyszukiwania, który zwiększy współczynnik klikalności witryn przyjaznych dla urządzeń mobilnych.

14. Lepsza czytelność:

Należy zadać sobie następujące pytania: Czy czcionka nie jest za mała? Czy czcionka nie jest zbyt trudna do odczytania?
Wierzcie lub nie, ale te czynniki odgrywają w SEO więcej niż można się spodziewać. Upewnij się, że Twoje treści są łatwe do czytania oraz są w stanie szybko angażować użytkowników odwiedzających twoją witrynę. W przeciwnym razie możesz zaobserwować wysoki współczynnik odrzuceń, który może sygnalizować wyszukiwarkom, że twoja strona nie oferuje dobrych treści. Ważny jest również dobór czcionki.

15. Organizacja treści:

Czy Twoje treści są dobrze zorganizowane? Czy czytelnik może łatwo je przejrzeć i uzyskać ogólne wyobrażenie o tym, co próbujesz przekazać? Być może wydaje Ci się kuszące, aby napisać rozprawę na temat swojego produktu. Pamiętaj, że tekst musi zachowywać porządek i być dobrze zorganizowany, aby ktoś szybko czytający mógł nadal wiedzieć czego dotyczy teść.

Podsumowanie

Dzięki powyższej liście podstawowych zasad, optymalizacja pod kątem SEO na stronie może być nieco łatwiejsza. Staraj się zapewnić wartość dodaną. Pisanie treści powinno zawsze stanowić wartość dla czytelnika w zakresie ciekawych pomysłów lub praktycznych wskazówek. Ale jeśli naprawdę chcesz, aby Twoje treści zarabiały na powtarzającym się ruchu i zwiększyły rankingi w wyszukiwarce, daj swoim czytelnikom coś ekstra. Może to być link do bezpłatnego seminarium internetowego, kupon rabatowy na Twoje produkty lub wysyłka towaru gratis. Być może nie tylko uznają oni Twoją witrynę za świetny zasób, ale będą również polecać ją swoim znajomym!

30
Kwi

SEO Twojej strony WWW – 15 kroków do perfekcyjnie zoptymalizowanej strony, cz.1

Optymalizacja strony WWW pod kątem wyszukiwarek internetowych zawsze była dla nas podstawowym elementem przy tworzeniu nowych witryn dla naszych klientów. Projektując strony WWW lub starając się ulepszyć istniejące, należy wziąć pod uwagę niniejszą listę porad, która może pomóc w zwiększeniu efektywności SEO Twojej witryny. Warto kierować się wymienionym wskazówkami, ponieważ bycie widocznym w Internecie to podstawa sukcesu wielu firm.

1. Zwiększ widoczność dzięki przyjaznym dla SEO adresom URL:

Po pierwsze, tworząc nową stronę lub modyfikując istniejącą, pamiętaj, by mieć przyjazny dla SEO adres URL, który naturalnie używa słów kluczowych, jednocześnie pokazując o czym jest strona. Jest to dobre zarówno dla wyszukiwarek – do przypisania wartości SEO, jak i dla użytkowników – wzbudza zaufanie poprzez uczynienie adresu URL zrozumiałym.
Wskazówki:
a) Eksperymentuj z adresami URL zawierającymi tylko słowa kluczowe, ponieważ wykazują oznaki podniesienia rangi.
b) Unikaj trudnych, domyślnych adresów URL generowanych przez Twój system zarządzania treścią. Często składają się one z kombinacji liter i cyfr, co nie jest przyjazne pod kątem wyszukiwarki.
c) Upewnij się czy używasz tylko jednej wersji adresu URL – jeśli nie, może nastąpić zamieszanie zarówno po stronie użytkownika, jak i po stronie wyszukiwarki. Jeśli to możliwe, sprawdź plik Robots.txt, aby upewnić się, że Twój adres URL będzie podlegał indeksowaniu.

2. Tytuł – Zawsze włączaj słowa kluczowe:

SEO - keywords-słowa kluczoweZnacznik tytułu jest najważniejszym czynnikiem SEO strony. Algorytm Google przypisuje dużą wagę do tagu Tytuł, aby zidentyfikować, o czym jest strona internetowa. Nie tylko wyświetla się na górze przeglądarki, ale także w wynikach SERP. Zwróć uwagę, czy nie tylko mądrze używasz słowa kluczowego, ale też czy tytuł jest przekonujący. Używaj zasad pisania dobrych nagłówków, które są zrozumiałe, proste i przechodzą od razu do sedna.
Wskazówka: Im bliżej początku tytułu znajduje się słowo kluczowe, tym większą wagę ma w wyszukiwarce.

3. Nagłówki HTML – H1, H2,H3:

Podstawową zasadą jest hierarchia. Element najwyższego poziomu powinien być oznaczony tagiem h1, kolejny pod względem ważności – h2 itd. Celem tagów h jest poinformowanie Google, w jaki sposób treść jest uporządkowana pod kątem czytelności. Na przykład, tytuł artykułu opisuje temat tego posta, a następnie podpozycje, które wyjaśniają i szczegółowo opisują SEO strony.
Podczas pracy nad stroną zwróć uwagę na nagłówki i podtytuły swojej treści i wykorzystaj te same zasady, co w przypadku tagów tytułu. Czy nagłówki używają słów kluczowych w sposób naturalny? Czy są angażujące?

4. Meta opis:

Meta opis znajduje się tylko w wynikach wyszukiwania. Nie ma innego miejsca na stronie czy w przeglądarce, w którym ten element byłby widoczny. Warto zadbać o jego poprawne działanie oraz wyświetlanie. Poprawnie wyświetlający się meta opis nie powinien przekraczać 150 znaków. Spraw, by te 150 znaków zostało dobrze wykorzystane, np. do wezwania do działania, wskazania unikalnych propozycji i wartości, promowania nazwy marki, polecanych szczegółów dotyczących Twojej firmy itp.

5. Wewnętrzne linkowanie:

Celem jest zawsze kierowanie wyszukiwarek i użytkowników w głąb witryny, więc jeśli odwołujesz się do konkretnych stron lub źródeł, pamiętaj, aby połączyć je linkiem, który używa wezwań do działania (np. „Dowiedz się więcej”, „Zapisz się teraz”) lub frazy kluczowe naturalnie. Jeśli przejdziesz do naszego postu na stronie Generating Leads Online, zobaczysz na końcu postu zamiast dodania nagiego linku użyliśmy tekstu kotwicy „Pobierz nasz przewodnik”, aby skierować użytkowników do przewodnika.

6. Dodaj linki wychodzące:

Linki wychodzące mają swoje miejsce w świecie SEO i uważa się, że łączenie się z innymi stronami w twojej branży w celach referencyjnych lub cytowań ma pozytywny wpływ na SEO. Linki zewnętrzne to nie tylko wyższe miejsce w rankingu Google. Jest to sygnał trafności, który pomaga Google zrozumieć twoją treść, o co w niej chodzi, a także pokazuje, że dodajesz wartościowe odnośniki czytelnikom, łącząc się z przydatnymi zasobami.

7. Używaj języka naturalnego:

SEO - meta opisUżywaj słów kluczowych, a także stosuj ich odmiany kontekstowe w treściach, które pojawiają się w twojej witrynie. Najlepiej kilkukrotnie powtórzyć dane słowo kluczowe w różnych miejscach na stronie WWW. Nie zapominaj żeby kontent był podany w sposób przemyślany i naturalny, najlepiej kilkukrotnie powtórzony. Ta technika SEO znana jest jako LSI z ang. Latent semantic indexing – ukryte indeksowanie semantyczne, co oznacza synonimy oraz słowa kluczowe, których Google używa, aby lepiej określić trafność strony. Na przykład, jeśli pracujesz nad stroną docelową związaną z zespołem The Rolling Stones, według najlepszych praktyk SEO należy używać zwrotu „Rolling Stones” w całym tekście, a także powiązanych zwrotów, takich jak „rock n roll”, „Mick Jagger” i „Keith Richards”.
Dobrym testem, pokazującym naturalność tekstu, jest po prostu głośne czytanie treści – czy brzmi to jak coś, co naturalnie występuje w rozmowie? Jeśli nie, pomyśl o zmniejszeniu użycia słów kluczowych lub dostosowaniu sformułowań, tak aby był czytana treść była płynna.

8. Kontroluj objętość/długość treści:

Długość / objętość tekstów na stronie WWW może oznaczać zwiększenie wartości SEO, więc staraj się dążyć do dłuższych tekstów, jeśli możesz. Teoretycznie im więcej wartościowych treści dostarczasz, tym lepiej, ale nie zawsze tak jest. Aby zoptymalizować stronę chodzi o znalezienie właściwej równowagi pomiędzy liczbą słów i oferowaną wartością tekstu. Fragmenty treści, które są bogate w informacje, nie muszą być złożone z setek zdań. Dobrym pomysłem może być poproszenie zaprzyjaźnionej osoby o ocenę, aby określić, czy wzbudzasz ciekawość użytkowników za pomocą treści, które zapewniają im to, czego poszukują, np. do nauki, rozrywki itp.