Maciej Kowalski, Michał Waśniewski, Jacek Modrakowski i Jakub Bogacki - Implix - Zaawansowany marketing w aplikacjach mobilnych na przykładzie Vemma Office 3.0
The document provides an overview of MISYS Gdynia, including a history starting in 2007 providing risk management software, the products developed including Kondor+ and Misys Global Risk, and their clients which include large Polish banks. It describes the teams at MISYS including developers, quality assurance testers, business analysts, and technical support. Finally, it lists some open roles including C++ engineers, quality analysts, and business analysts.
The document provides an overview of MISYS Gdynia, including a history starting in 2007 providing risk management software, the products developed including Kondor+ and Misys Global Risk, and their clients which include large Polish banks. It describes the teams at MISYS including developers, quality assurance testers, business analysts, and technical support. Finally, it lists some open roles including C++ engineers, quality analysts, and business analysts.
Jak to dobrze robić? E-mail marketing i marketing automation krok po kroku – ...3camp
Tomasz Kryk - Sendingo - Jak to dobrze robić? E-mail marketing i marketing automation krok po kroku – case study – bdsklep.pl, willsoor-shop.pl, zwierzakowo.pl.
Fuckup Case study: Wdrożenie mikroserwisów dla nowej funkcjonalności w istnie...Grzegorz Stawarczyk
Obsługujące miliony użytkowników serwisy wydają się doskonałym rozwiązaniem. Pod warunkiem, że jesteśmy wyłącznie użytkownikami. Jeśli mamy okazję poznać taki serwis od kuchni, z coraz mniejszym entuzjazmem patrzymy na tego typu rozwiązanie. Z jednej strony duży serwis stawia przed deweloperami wyzwania, z drugiej - niesie ogromne ryzyko. Rosnąca ilość zależności i ogrom powiązań komponentów brzmi dla użytkownika, jak jedna wielka niewiadoma, a dla dewelopera - jak niekończąca się historia, której bliżej do fuckupu niż happy endu. Dlatego dobrze jest zakumplować się z mikroserwisami. Na przykładzie realnego case study, opowiem, jak wdrożyliśmy mikroserwis dla nowej funkcjonalności w naszym systemie i jak ponieśliśmy... małą porażkę. Przestrzegę przed błędami, które popełniłem razem z zespołem, żebyście mogli uniknąć ich u siebie. Zero ściemy, (nie) tylko realne fuckupy.
XVI Targi eHandlu - Global4Net - Andrzej Szylar " Jak Progressive Web App zmi...ecommerce poland expo
Opis zalet technologii Progressive Web App oraz tego jak ta technologia wpływa na sposób odbioru treści przez użytkowników. Wady i zalety wdrożeń PWA, przykłady największych wdrożeń, omówienie zasad działania technologii oraz jej przewag nad tradycyjnym modelem wyświetlania treści.
idg.pl to najlepszy portal IT - znajdziesz u nas mnóstwo materiałów o biznesie, technologii i rozrywce!
Portal IDG.pl należy do wydawnictwa IDG Poland SA. IDG.pl informuje o najnowszych produktach, usługach i wydarzeniach z branży IT.
http://www.idg.pl
Współdzielenie kodu aplikacji Windows Phone i Windows 8Bartlomiej Zass
Przegląd technik współdzielenia kodu aplikacji między Windows Phone i Windows 8 (WinRT). Omawiane jest zarówno podejście opierające się o HTML i Javascript jak i aplikacje natywne (wzorzec MVVM, portable class libraries, wybrane praktyki architektoniczne i sztuczki w IDE).
Jak to dobrze robić? E-mail marketing i marketing automation krok po kroku – ...3camp
Tomasz Kryk - Sendingo - Jak to dobrze robić? E-mail marketing i marketing automation krok po kroku – case study – bdsklep.pl, willsoor-shop.pl, zwierzakowo.pl.
Fuckup Case study: Wdrożenie mikroserwisów dla nowej funkcjonalności w istnie...Grzegorz Stawarczyk
Obsługujące miliony użytkowników serwisy wydają się doskonałym rozwiązaniem. Pod warunkiem, że jesteśmy wyłącznie użytkownikami. Jeśli mamy okazję poznać taki serwis od kuchni, z coraz mniejszym entuzjazmem patrzymy na tego typu rozwiązanie. Z jednej strony duży serwis stawia przed deweloperami wyzwania, z drugiej - niesie ogromne ryzyko. Rosnąca ilość zależności i ogrom powiązań komponentów brzmi dla użytkownika, jak jedna wielka niewiadoma, a dla dewelopera - jak niekończąca się historia, której bliżej do fuckupu niż happy endu. Dlatego dobrze jest zakumplować się z mikroserwisami. Na przykładzie realnego case study, opowiem, jak wdrożyliśmy mikroserwis dla nowej funkcjonalności w naszym systemie i jak ponieśliśmy... małą porażkę. Przestrzegę przed błędami, które popełniłem razem z zespołem, żebyście mogli uniknąć ich u siebie. Zero ściemy, (nie) tylko realne fuckupy.
XVI Targi eHandlu - Global4Net - Andrzej Szylar " Jak Progressive Web App zmi...ecommerce poland expo
Opis zalet technologii Progressive Web App oraz tego jak ta technologia wpływa na sposób odbioru treści przez użytkowników. Wady i zalety wdrożeń PWA, przykłady największych wdrożeń, omówienie zasad działania technologii oraz jej przewag nad tradycyjnym modelem wyświetlania treści.
idg.pl to najlepszy portal IT - znajdziesz u nas mnóstwo materiałów o biznesie, technologii i rozrywce!
Portal IDG.pl należy do wydawnictwa IDG Poland SA. IDG.pl informuje o najnowszych produktach, usługach i wydarzeniach z branży IT.
http://www.idg.pl
Współdzielenie kodu aplikacji Windows Phone i Windows 8Bartlomiej Zass
Przegląd technik współdzielenia kodu aplikacji między Windows Phone i Windows 8 (WinRT). Omawiane jest zarówno podejście opierające się o HTML i Javascript jak i aplikacje natywne (wzorzec MVVM, portable class libraries, wybrane praktyki architektoniczne i sztuczki w IDE).
http://www.geminicloud.com
Gemini Cloud to dział firmy Gemini Business Solutions obecnej na rynku IT od 1995. Świadczymy usługi konsultingowe, wdrożeniowe i integracyjne w zakresie rozwiązań technologii Cloud Computing (Infrastructure-as-a-Service, Platform-as-a-Service, Software-as-a-Service).
Od 2010 roku współpracujemy z firmą Salesforce.com, której jesteśmy zarejestrowanym partnerem. To partnerstwo pozwala nam na dostarczanie wiodących i najbardziej innowacyjnych rozwiązań w obszarze technologii Cloud Computing.
Pomagamy naszym klientom w zakresie rozwiązań SalesCloud, ServiceCloud, aplikacji stworzonych na platformie Force.com oraz rozwiązań firm trzecich dostępnych na platformie AppExchange. Oferujemy pełne wsparcie od analizy przedwdrożeniowej, poprzez integrację i uruchomienie systemu, aż do utrzymania systemu produkcyjnego.
Salesforce.com to światowy lider rozwiązań CRM oraz Cloud Computing. Aplikacje dostępne są w modelu „Software as a Service” (SaaS). Do ich działania nie potrzeba serwerów, ani instalowania oprogramowania. Wystarczy przeglądarka internetowa. Oprogramowanie działa w wielu wersjach językowych, dostępna jest również od pewnego czasu polska wersja systemu Salesforce.
Sales Cloud jest w systemie Salesforce.com aplikacją dedykowaną do obsługi procesów sprzedaży i około-sprzedażowych. Dzięki niej pracownicy działu sprzedaży są znacznie bardziej produktywni. Mogą zająć się tym czym powinni: sprzedażą!
System gromadzi w jednym miejscu wszystkie potrzebne narzędzia, aby ułatwić i zautomatyzować pracę przedstawicieli handlowych i innych pracowników działu handlowego.
Service Cloud jest w systemie Salesforce.com aplikacją dedykowaną do procesów obsługi klienta. Dzięki niej obsługa klienta jest nowoczesna i znacznie bardziej produktywna.
Użytkownicy systemu mają pełny zestaw informacji w jednym miejscu. Pozwala to obsługę klienta „w czasie rzeczywistym”.
Ochrona podatnych webaplikacji za pomocą wirtualnych poprawek3camp
Bartosz Jerzman - Ochrona podatnych webaplikacji za pomoca wirtualnych poprawek
Prezentacja poświęcona jest ochronie webaplikacji za pomocą procedury wdrażania wirtualnych poprawek. W ramach prelekcji zostaną przedstawione:
– wykorzystanie Web Application Firewall (implementacja za pomocą projektu opensource – ModSecurity);
– opis poszczególnych faz procedury wdrażania wirtualnych poprawek do ochrony podatnych webaplikacji;
– trzy przypadki użycia wirtualnych poprawek dla rożnych typów ataków.
Marcin Hoppe - HTTPS bez wymówek
HTTPS to podstawa każdej bezpiecznej aplikacji Webowej. Niewielu spieszy się jednak z wdrożeniem. Co jeżeli strona będzie ładowała się wolniej? Czy koszty nie okażą się zbyt wysokie? Czy protokół jest naprawdę bezpieczny? Podczas prezentacji znajdziemy odpowiedzi na te pytania, obalimy kilka popularnych mitów na temat HTTPS i poznamy kilka sztuczek, które ułatwią zdobycie upragnionej zielonej kłódki.
ORM allows applications to query and manipulate data in a database using an object-oriented paradigm. However, ORM can lead to performance issues due to "greedy fetching" where unnecessary joins are performed. It is better to write custom queries using aggregation functions to retrieve data from the database in one query and return it without mapping to objects to improve performance. ORM built-in functions should be avoided in favor of writing custom queries with joins and groups to control the queries issued to the database.
Wykorzystanie języka Kotlin do aplikacji na platformie Android3camp
Kotlin is a programming language that the author chose to use for Android development. Some reasons for this choice include curiosity about the language, reviews of its code from JetBrains, and benefits like small app size and fast compilation. While there was a learning curve of around 50 hours, the syntax and approach are different from Java. Some of the features the author most appreciates about Kotlin are its safe code, simple class definitions, lambda expressions, and string templates. Issues are addressed quickly by JetBrains and the Kotlin team. Recommendations for learning Kotlin include reviewing documentation on the Kotlin website and Google samples. Major companies that use Kotlin include Google and JetBrains.
The document discusses RxJava and functional reactive programming (FRP). It provides examples of how to use RxJava for asynchronous and event-based programming using observable sequences. Key points include:
- RxJava allows composing asynchronous and event-based programs using observable sequences for the Java VM.
- Examples demonstrate how to use RxJava for request composition, filtering results, limiting results, and combining multiple asynchronous requests.
- Operators like flatMap(), filter(), limit(), and zip() are used to manipulate and transform observable sequences.
- Topics like threads and schedulers, error handling, and fun examples are also briefly covered. The document emphasizes learning RxJava through examples and code.
This document contains proprietary and confidential information about IgnitionONE's marketing technology and live marketer Paulina. It includes metrics like entrance and exit scores over time for a visitor named Paulina, as well as conversion numbers and spending increases for an advertising campaign. The document also lists Mirek Wasowicz's contact information.
Nasze wieloTORowe doświadczenia w technologicznym safari: Python, Anaconda, RabbitMQ i pożerające wszystko Celery… Czyli Big Data i social commerce na przykładzie aplikacji MioSpot.
Piotr Macuk, Konfeo.com, Programista i biznes – plusy i minusy własnej działa...3camp
Po latach pracy dla klientów i realizowania cudzych pomysłów, przychodzi moment kiedy pragnie się stworzyć własny produkt. Chciałbym opowiedzieć o moim procesie migracji programisty we właściciela biznesu. Pokażę plusy i minusy tej migracji oraz wnioski, które nasuwają mi się po prawie 3 latach pracy nad Konfeo.com.
Marcin Maj, Kainos - QA – wartko, zmiennie i interdyscyplinarnie3camp
Testowanie, walidacja, automatyzacja, QA i wiele innych okiem osoby z wewnątrz. Dlaczego warto się tym zajmować i docenić szerokie możliwości rozwoju. Praca w specyficznym środowisku, które wymaga niezwykłego przystosowania się do zmiany. W końcu, praca dla ludzi odważnych i niezwykłych.
QA to również interdyscyplinarność i wielozadaniowość, często wymagająca wyjścia poza ramy IT. Techniczna podróż od BIOSu do Selenium przez programowanie do datacenter.
Jak przesiąść się na rower na dwóch kółkach? Od trzyosobowego startupu do spó...3camp
Opowieść o tym, jak pasja zmienia się w pracę i co zrobić, by nie stać się korporacją. Do tego parę słów o budowaniu relacji, barierach przy wchodzeniu na nowe rynki i zmienności, do której trzeba się przyzwyczaić.
Łukasz Brzeziński - Jak zarabiać z Wikingami? Czyli monetyzacja portalu inter...3camp
W Norwegii jest ok 4 milionów internautów, z czego 5% to Polacy. Portal www.mojanorwegia.pl skupia prawie 90% rodaków mieszkających w kraju Wikingów. Prezentacja o tym jak i dlaczego warto budować biznes wokół niszowego portalu internetowego.
7. VEMMA OFFICE
iPhone & Android
Aplikacja do zarządzania
biznesem i binarną siecią
kontaktów
8. VEMMA OFFICE
iPhone & Android
Aplikacja do zarządzania
biznesem i binarną siecią
kontaktów
- pierwszy na świecie mobilny Multi Level Marketing
9. VEMMA OFFICE
iPhone & Android
Aplikacja do zarządzania
biznesem i binarną siecią
kontaktów
- pierwszy na świecie mobilny Multi Level Marketing
- pełen dostęp do wszystkich aktywności w sieci
10. VEMMA OFFICE
iPhone & Android
Aplikacja do zarządzania
biznesem i binarną siecią
kontaktów
- pierwszy na świecie mobilny Multi Level Marketing
- pełen dostęp do wszystkich aktywności w sieci
- zaawansowany marketing to interakcja z dystrybutorami
13. WYZWANIA PO
RELEASIE 2.0
- rosnąca liczba użytkowników
- zapotrzebowanie na mobilny
dostęp do większej ilości danych
14. WYZWANIA PO
RELEASIE 2.0
- rosnąca liczba użytkowników
- zapotrzebowanie na mobilny
dostęp do większej ilości danych
- optymalizacja kodu, komunikacji
z API oraz funkcjonalności
aplikacji
15. WYZWANIA PO
RELEASIE 2.0
- rosnąca liczba użytkowników
- zapotrzebowanie na mobilny
dostęp do większej ilości danych
- optymalizacja kodu, komunikacji
z API oraz funkcjonalności
aplikacji
- wsparcie dla nowych urządzeń i
nowych wersji mobilnych
systemów operacyjnych
16. WYZWANIA PO
RELEASIE 2.0
- rosnąca liczba użytkowników
- zapotrzebowanie na mobilny
dostęp do większej ilości danych
- optymalizacja kodu, komunikacji
z API oraz funkcjonalności
aplikacji
- wsparcie dla nowych urządzeń i
nowych wersji mobilnych
systemów operacyjnych
-Vemma 3.0 - odpowiedź na
wyzwania
20. Vemma 2.0
Klasyczna nawigacja i UI oparty na tab barach
Konieczność refactoringu i ulepszenia kodu
Brak miejsca na nowe funkcje
21. Vemma 3.0
Vemma 2.0
Klasyczna nawigacja i UI oparty na tab barach
Konieczność refactoringu i ulepszenia kodu
Brak miejsca na nowe funkcje
22. Zupełnie nowy layout i nawigacja
Vemma 3.0
Vemma 2.0
Klasyczna nawigacja i UI oparty na tab barach
Konieczność refactoringu i ulepszenia kodu
Brak miejsca na nowe funkcje
23. Zupełnie nowy layout i nawigacja
Vemma 3.0
Wsparcie iPhone 5
Vemma 2.0
Klasyczna nawigacja i UI oparty na tab barach
Konieczność refactoringu i ulepszenia kodu
Brak miejsca na nowe funkcje
24. Zupełnie nowy layout i nawigacja
Vemma 3.0
Wsparcie iPhone 5
Nowe funkcje
Vemma 2.0
Klasyczna nawigacja i UI oparty na tab barach
Konieczność refactoringu i ulepszenia kodu
Brak miejsca na nowe funkcje
29. Funkcjonalność
- obsługa bazy setek tys. kontaktów
- liczne kanały komunikacji w aplikacji
- telefon, sms, email
- pełna interakcja: wiadomości hotlist
30. Funkcjonalność
- obsługa bazy setek tys. kontaktów
- liczne kanały komunikacji w aplikacji
- telefon, sms, email
- pełna interakcja: wiadomości hotlist
- videozaproszenia
31. Funkcjonalność
- obsługa bazy setek tys. kontaktów
- liczne kanały komunikacji w aplikacji
- telefon, sms, email
- pełna interakcja: wiadomości hotlist
- videozaproszenia
- push notifications jako
biznesowy feedback
32. Funkcjonalność
- obsługa bazy setek tys. kontaktów
- liczne kanały komunikacji w aplikacji
- telefon, sms, email
- pełna interakcja: wiadomości hotlist
- videozaproszenia
- push notifications jako
biznesowy feedback
Design na miarę potrzeb
33. Funkcjonalność
- slide menu
- obsługa bazy setek tys. kontaktów
- liczne kanały komunikacji w aplikacji
- telefon, sms, email
- pełna interakcja: wiadomości hotlist
- videozaproszenia
- push notifications jako
biznesowy feedback
Design na miarę potrzeb
34. Funkcjonalność
- slide menu
- obsługa bazy setek tys. kontaktów
- liczne kanały komunikacji w aplikacji
- telefon, sms, email
- pełna interakcja: wiadomości hotlist
- videozaproszenia
- push notifications jako
biznesowy feedback
Design na miarę potrzeb
- metro tiles
35. Funkcjonalność
- slide menu
- obsługa bazy setek tys. kontaktów
- liczne kanały komunikacji w aplikacji
- telefon, sms, email
- pełna interakcja: wiadomości hotlist
- videozaproszenia
- push notifications jako
biznesowy feedback
Design na miarę potrzeb
- metro tiles
- autorskie rozwiązania (browse)
36. Funkcjonalność
- slide menu
- obsługa bazy setek tys. kontaktów
- liczne kanały komunikacji w aplikacji
- telefon, sms, email
- pełna interakcja: wiadomości hotlist
- videozaproszenia
- push notifications jako
biznesowy feedback
Design na miarę potrzeb
- metro tiles
- autorskie rozwiązania (browse)
- web views
50. Skala ruchu
100.000+ downloads
130.000+ push notifications / mc
80.000+ aktywni userzy
25.000 + API hits / h
400.000+ wiadomości hotlist / mc
25.000+ nowych klientów
zapisanych przez aplikację
(prospecting)
107. JsonCallbacks
Komunikacja oparta na interfejsach i proxy
Nacisk na podejście asynchroniczne
Przejrzystość kodu
Łatwość wprowadzania zmian
Niska podatność na błędy
121. Więcej możliwości
- Obsługa Base64 przy przesyłaniu obiektów binarnych
- Protokół HTTP(S) lub SPDY
- Zapytania z parametrami nazwanymi i nienazwanymi
- Optymalizacja wywołań na podstawie zebranych statystyk
- Obsługa standardu JSON-RPC 1.1 i 2.0 oraz metody GET
- Automatyczne dołączanie klucza uwierzytelniającego
- Kompatybilność z systemem Android w wersji 2.x+
133. // Kliknięcie w item list view.
listView.setOnItemClickListener(new
AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?>
adapterView, View view, int i, long l) {
// Handle click.
}
});
134. // Kliknięcie w item list view.
listView.setOnItemClickListener(new
AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?>
adapterView, View view, int i, long l) {
// Handle click.
}
});
@ItemClick(R.id.lv_trzy_camp)
protected void handleListViewItemClick(int clickedPosition) {
// Handle click.
}
135. // Long click na itemie w list view.
listView.setOnItemLongClickListener(new
AdapterView.OnItemLongClickListener() {
@Override
public boolean onItemLongClick(AdapterView<?>
adapterView, View view, int i, long l) {
// Handle long click.
return false;
}
});
136. // Long click na itemie w list view.
listView.setOnItemLongClickListener(new
AdapterView.OnItemLongClickListener() {
@Override
public boolean onItemLongClick(AdapterView<?>
adapterView, View view, int i, long l) {
// Handle long click.
return false;
}
});
@ItemLongClick(R.id.lv_trzy_camp)
protected void handleListViewItemLongClick(int clickedPosition) {
// Handle long click.
}
137. / Zaznaczenie itemu list view.
listView.setOnItemSelectedListener(new
AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?>
adapterView, View view, int i, long l) {
// Handle selected item.
}
@Override
public void onNothingSelected(AdapterView<?>
adapterView) {
// Other.
}
138. / Zaznaczenie itemu list view.
listView.setOnItemSelectedListener(new
AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?>
adapterView, View view, int i, long l) {
// Handle selected item.
}
@Override
public void onNothingSelected(AdapterView<?>
adapterView) {
// Other.
}
@ItemSelect(R.id.lv_trzy_camp)
protected void handleListViewItemSelect(boolean isSelect, int
selectedPosition) {
// Handle selected item.
}
139. // Dostęp do obiektu application.
MyApplication applicationApp = (MyApplication)
getApplication();
140. // Dostęp do obiektu application.
MyApplication applicationApp = (MyApplication)
getApplication();
@App
MyApplication applicationApp;
142. runOnUiThread(new Runnable() {
@Override
public void run() {
// Kod do UI.
}
});
@UiThread
protected void stuffInUiThread() {
// Kod do UI.
}
143. Bundle bundle = new Bundle();
bundle.putString("myString_key", "myString_value");
...
TrzyCampFragment fragment = new TrzyCampFragment();
fragment.setArguments(bundle);
144. Bundle bundle = new Bundle();
bundle.putString("myString_key", "myString_value");
...
TrzyCampFragment fragment = new TrzyCampFragment();
fragment.setArguments(bundle);
TrzyCampFragment_.builder().myString("myString_value").build();
@FragmentArg
String myString;