SFI 2017: Deep Learning zmieniający branże przemysłuMatthew Opala
Każdy słyszał o sieciach neuronowych. W ostatnich latach przeżywają one swój renesans osiągając imponujące sukcesy jak pokonanie mistrza świata w Go. Rozpoznawanie mowy, rekomendacje filmów na Netflixie - to wszystko zawdzięczamy uczeniu maszynowemu, a w szczególności jego części zwanej Deep Learningiem. Czy zmiany dotkną również "stare" branże jak przemysł naftowy?
Katalog produktów w MongoDB na przykładzie Nokaut.plPiotr Duda
Podsumowanie 5 lat MongoDB w Nokaut.pl:
- dlaczego zostało wybrane MongoDB,
- konfiguracja klastra,
- kwestie administracyjne (monitoring, alerty, backup),
- szukanie wolnych zapytań,
- uwagi do wydajności,
- co jest według Nas dobre i a co złe w MongoDB
Prezentacja dotyczy architektury aplikacji internetowych od strony back-endu oraz front-endu działającego w środowisku wykonania przeglądarek internetowych.
SFI 2017: Deep Learning zmieniający branże przemysłuMatthew Opala
Każdy słyszał o sieciach neuronowych. W ostatnich latach przeżywają one swój renesans osiągając imponujące sukcesy jak pokonanie mistrza świata w Go. Rozpoznawanie mowy, rekomendacje filmów na Netflixie - to wszystko zawdzięczamy uczeniu maszynowemu, a w szczególności jego części zwanej Deep Learningiem. Czy zmiany dotkną również "stare" branże jak przemysł naftowy?
Katalog produktów w MongoDB na przykładzie Nokaut.plPiotr Duda
Podsumowanie 5 lat MongoDB w Nokaut.pl:
- dlaczego zostało wybrane MongoDB,
- konfiguracja klastra,
- kwestie administracyjne (monitoring, alerty, backup),
- szukanie wolnych zapytań,
- uwagi do wydajności,
- co jest według Nas dobre i a co złe w MongoDB
Prezentacja dotyczy architektury aplikacji internetowych od strony back-endu oraz front-endu działającego w środowisku wykonania przeglądarek internetowych.
Jak oszczędzać czas zespołu w środowisku mikroserwisów, czyli efektywny flow ...Mateusz Paprocki, PMP
Każdy zespół pracujący w środowisku mikroserwisów boryka się z podobnymi problemami: jak dbać o jakość kodu, organizować feature branche, testować zmiany, budować kolejne wersje aplikacji, zarządzać środowiskami, czy, finalnie, doprowadzić do automatycznych release’ów. W prezentacji przygotowanej przez trójmiejski software house Neoteric zobaczymy jedną z koncepcji rozwiązania problemów. Przygotujcie się na solidną dawkę Jenkinsa, Dockera, GitFlow oraz Sonara!
Wbrew powszechnym opiniom, nie tak prosto jest zrobić dobre Code Review. Robione w pośpiechu, tylko po to by je "odbębnić", często stwarza więcej szkody niż pożytku. Opowiem wam dlaczego code review jest ważne i jak wykorzystać ten proces aby upewnić się, że napisany kod jest najwyższej jakości. Będę nie tylko mówił o tym kto powinien robić code reviews, i dla kogo, jakie informacje są potrzebne do przeprowadzenia skutecznego code review, ale także jak zrobić dobre code review w najkrótszym możliwym czasie.
Podsumowanie prac prowadzonych przez Open-RnD w ramach projektu badań przemysłowych metod analizy obrazu stereoskopowego 3D. Projekt współfinansowany przez NCBiR w ramach programu Demonstrator+.
PLNOG14: Ocena wydajności i bezpieczeństwa infrastruktury operatora telekomu...PROIDEA
Dariusz Zmysłowski - Systemics PAB
Rafał Wiszniewski - Orange Polska
Language: Polish
Istotnym obszarem działalności Systemics-PAB jest współpraca z Orange Polska w zakresie testowania wydajności i bezpieczeństwa systemów sieciowych z wykorzystaniem rozwiązań oferowanych przez Spirent Communications. W trakcie prezentacji zostanie przedstawione praktyczne wykorzystanie produktów Avalanche i Avalanche Next w Orange Polska.
W związku z rosnącą ilością zagrożeń ze strony sieci Internet rośnie liczba urządzeń kierowanych do ochrony użytkowników sieci przed niepowołaną treścią. Aby sprostać wymaganiom stawianym przez największe sieci, producenci wprowadzają na rynek coraz to bardziej zaawansowane rozwiązania, których wydajność wydaje się być wystarczająca, aby chronić sieci z dużą liczbą użytkowników. Co więcej deklarowana wydajność niektórych urządzeń wydaje się być wystarczająca nawet do uruchomienia takowych urządzeń w rdzeniu sieci.
Orange Polska testuje wydajnościowo urządzenia oraz usługi naszych Klientów dostępne w sieci Internet. Poddajemy je szeregowi testów, których celem jest sprawdzenie ich wydajności i funkcjonalności, określenie słabych punktów i wąskich gardeł, przygotowanie scenariuszy awaryjnych czy zaplanowanie modernizacji i rozbudowy.
Systemics – PAB specjalizuje się pomiarach jakości usług telekomunikacyjnych, usługach i dostarczaniu rozwiązań z obszaru optymalizacji, inżynierii systemów telekomunikacyjnych, bezpieczeństwa i wydajności środowisk sieciowych.
Zarejestruj się na kolejną edycję PLNOG już dzisiaj: krakow.plnog.pl
Pierwszy rzut oka na Windows 8 z punktu widzenia programisty gier. Kilka słów o narzędziach itp.
Zapraszam do kontaktu i przesyłania do mnie informacji, które zagadnienia mam rozwinąć i o czym jeszcze chcielibyście posłuchać/poczytać.
Jak nie narobić sobie problemów korzystając z EntityFrameworkHighWheelSoftware
Dzięki ORM teoretycznie nie musimy przejmować się tym, jak budować zapytania SQL. Niestety z niektórymi konstrukcjami te biblioteki radzą sobie słabo. Przedstawię przykłady zapytań w EF, które doprowadziły do nieoczekiwanego kodu SQL, oraz jak można je zapisać lepiej. Pokażę też kilka pułapek – specyfiki języka SQL, który zachowuje się inaczej niż intuicja (programisty .NET) podpowiada.
Na rynku jest coraz więcej urządzeń mobilnych, różnią się rozmiarem, proporcjami ekranu, zagęszczeniem pikseli na cal oraz sposobem interakcji z nim (m. in. ekran dotykowy, myszka)
Jak poradzić sobie z projektowaniem skalowalnych interfejsów? Jak robią to inni? Co łatwo zaimplementować? Czego unikać?
Prezentacja odpowieda na te i inne pytania z zakresu projektowania layoutów ze szczególnym uwzględnieniem urządzeń mobilnych.
* Poznaj działanie Common Language Runtime -- podstawowego składnika platformy .NET
* Wykorzystując CLR pisz aplikacje .NET szybciej i wdrażaj je łatwiej
* Poznaj i wykorzystaj wewnętrzne mechanizmy działania platformy .NET
* Skorzystaj z zaawansowanych technik wykrywania i usuwania usterek w aplikacjach
".NET CLR. Księga eksperta" to całościowe opracowanie poświęcone głównemu składnikowi platformy .NET Microsoftu, jakim jest Common Language Runtime. CLR pozwala na korzystanie z dowolnych języków programowania zgodnych z .NET udostępniając im wspólne usługi. Niezależnie od tego, czy uruchamiasz kod napisany w VB, C#, zarządzanym C++, JScripcie czy też w dowolnym innym obsługiwanym przez platformę .NET języku -- wykorzystywane są funkcje i usługi CLR.
Tematy poruszone w książce obejmują m.in.:
* Typy .NET i Common Type System (CTS)
* Strukturę i układ metadanych podzespołu .NET
* Współpracę COM i COM+ z komponentami .NET
* Integrację z bibliotekami Win32 DLL poprzez P/Invoke
* Zarządzanie pamięcią i zasobami w CLR
* Zarządzanie i użycie wątków w środowisku .NET
* Tworzenie wydajnych aplikacji do obsługi sieci równorzędnych
* Tworzenie rozproszonych aplikacji
* Interakcje aplikacji poprzez zdarzenia i delegaty
* Obsługę błędów w .NET przy użyciu wyjątków
* Tworzenie i obsługę bezpiecznych aplikacji dzięki zabezpieczeniom .NET
* Dynamiczne uzyskiwanie informacji o typach poprzez refleksję
* Użycie narzędzi do globalizacji i lokalizacji
* Usuwanie błędów aplikacji .NET
* Profilowanie aplikacji .NET
* Omówienie składni C# i najważniejszych kwestii związanych z tym językiem
* Przegląd bibliotek struktury .NET
* Tworzenie własnego hosta CLR
* Porównanie CLR i JVM
Jeżeli chcesz zajmować się pisaniem aplikacji opartych na .NET, ".NET CLR. Księga eksperta" stanowić będzie cenne uzupełnienie Twojej wiedzy i pozwoli na lepsze zrozumienie zasad, na których oparta jest ta platforma.
Aleksandra Porębska, Datapoint, prezentacja pod tytułem "Od planowania ciągłości biznesu do planowania ciągłości systemów IT - czyli jak przygotować się na najgorsze"
Jak zacząć przygodę z tworzeniem dużych produkcji? Co zrobić, żeby stać się częścią branży gier? Prezentacja pokazuje możliwe ścieżki rozwoju dla programistów, pokazując przy tym, że gry mają znacznie więcej wspólnego z "poważnym" oprogramowaniem niż się może wydawać.
Jak oszczędzać czas zespołu w środowisku mikroserwisów, czyli efektywny flow ...Mateusz Paprocki, PMP
Każdy zespół pracujący w środowisku mikroserwisów boryka się z podobnymi problemami: jak dbać o jakość kodu, organizować feature branche, testować zmiany, budować kolejne wersje aplikacji, zarządzać środowiskami, czy, finalnie, doprowadzić do automatycznych release’ów. W prezentacji przygotowanej przez trójmiejski software house Neoteric zobaczymy jedną z koncepcji rozwiązania problemów. Przygotujcie się na solidną dawkę Jenkinsa, Dockera, GitFlow oraz Sonara!
Wbrew powszechnym opiniom, nie tak prosto jest zrobić dobre Code Review. Robione w pośpiechu, tylko po to by je "odbębnić", często stwarza więcej szkody niż pożytku. Opowiem wam dlaczego code review jest ważne i jak wykorzystać ten proces aby upewnić się, że napisany kod jest najwyższej jakości. Będę nie tylko mówił o tym kto powinien robić code reviews, i dla kogo, jakie informacje są potrzebne do przeprowadzenia skutecznego code review, ale także jak zrobić dobre code review w najkrótszym możliwym czasie.
Podsumowanie prac prowadzonych przez Open-RnD w ramach projektu badań przemysłowych metod analizy obrazu stereoskopowego 3D. Projekt współfinansowany przez NCBiR w ramach programu Demonstrator+.
PLNOG14: Ocena wydajności i bezpieczeństwa infrastruktury operatora telekomu...PROIDEA
Dariusz Zmysłowski - Systemics PAB
Rafał Wiszniewski - Orange Polska
Language: Polish
Istotnym obszarem działalności Systemics-PAB jest współpraca z Orange Polska w zakresie testowania wydajności i bezpieczeństwa systemów sieciowych z wykorzystaniem rozwiązań oferowanych przez Spirent Communications. W trakcie prezentacji zostanie przedstawione praktyczne wykorzystanie produktów Avalanche i Avalanche Next w Orange Polska.
W związku z rosnącą ilością zagrożeń ze strony sieci Internet rośnie liczba urządzeń kierowanych do ochrony użytkowników sieci przed niepowołaną treścią. Aby sprostać wymaganiom stawianym przez największe sieci, producenci wprowadzają na rynek coraz to bardziej zaawansowane rozwiązania, których wydajność wydaje się być wystarczająca, aby chronić sieci z dużą liczbą użytkowników. Co więcej deklarowana wydajność niektórych urządzeń wydaje się być wystarczająca nawet do uruchomienia takowych urządzeń w rdzeniu sieci.
Orange Polska testuje wydajnościowo urządzenia oraz usługi naszych Klientów dostępne w sieci Internet. Poddajemy je szeregowi testów, których celem jest sprawdzenie ich wydajności i funkcjonalności, określenie słabych punktów i wąskich gardeł, przygotowanie scenariuszy awaryjnych czy zaplanowanie modernizacji i rozbudowy.
Systemics – PAB specjalizuje się pomiarach jakości usług telekomunikacyjnych, usługach i dostarczaniu rozwiązań z obszaru optymalizacji, inżynierii systemów telekomunikacyjnych, bezpieczeństwa i wydajności środowisk sieciowych.
Zarejestruj się na kolejną edycję PLNOG już dzisiaj: krakow.plnog.pl
Pierwszy rzut oka na Windows 8 z punktu widzenia programisty gier. Kilka słów o narzędziach itp.
Zapraszam do kontaktu i przesyłania do mnie informacji, które zagadnienia mam rozwinąć i o czym jeszcze chcielibyście posłuchać/poczytać.
Jak nie narobić sobie problemów korzystając z EntityFrameworkHighWheelSoftware
Dzięki ORM teoretycznie nie musimy przejmować się tym, jak budować zapytania SQL. Niestety z niektórymi konstrukcjami te biblioteki radzą sobie słabo. Przedstawię przykłady zapytań w EF, które doprowadziły do nieoczekiwanego kodu SQL, oraz jak można je zapisać lepiej. Pokażę też kilka pułapek – specyfiki języka SQL, który zachowuje się inaczej niż intuicja (programisty .NET) podpowiada.
Na rynku jest coraz więcej urządzeń mobilnych, różnią się rozmiarem, proporcjami ekranu, zagęszczeniem pikseli na cal oraz sposobem interakcji z nim (m. in. ekran dotykowy, myszka)
Jak poradzić sobie z projektowaniem skalowalnych interfejsów? Jak robią to inni? Co łatwo zaimplementować? Czego unikać?
Prezentacja odpowieda na te i inne pytania z zakresu projektowania layoutów ze szczególnym uwzględnieniem urządzeń mobilnych.
* Poznaj działanie Common Language Runtime -- podstawowego składnika platformy .NET
* Wykorzystując CLR pisz aplikacje .NET szybciej i wdrażaj je łatwiej
* Poznaj i wykorzystaj wewnętrzne mechanizmy działania platformy .NET
* Skorzystaj z zaawansowanych technik wykrywania i usuwania usterek w aplikacjach
".NET CLR. Księga eksperta" to całościowe opracowanie poświęcone głównemu składnikowi platformy .NET Microsoftu, jakim jest Common Language Runtime. CLR pozwala na korzystanie z dowolnych języków programowania zgodnych z .NET udostępniając im wspólne usługi. Niezależnie od tego, czy uruchamiasz kod napisany w VB, C#, zarządzanym C++, JScripcie czy też w dowolnym innym obsługiwanym przez platformę .NET języku -- wykorzystywane są funkcje i usługi CLR.
Tematy poruszone w książce obejmują m.in.:
* Typy .NET i Common Type System (CTS)
* Strukturę i układ metadanych podzespołu .NET
* Współpracę COM i COM+ z komponentami .NET
* Integrację z bibliotekami Win32 DLL poprzez P/Invoke
* Zarządzanie pamięcią i zasobami w CLR
* Zarządzanie i użycie wątków w środowisku .NET
* Tworzenie wydajnych aplikacji do obsługi sieci równorzędnych
* Tworzenie rozproszonych aplikacji
* Interakcje aplikacji poprzez zdarzenia i delegaty
* Obsługę błędów w .NET przy użyciu wyjątków
* Tworzenie i obsługę bezpiecznych aplikacji dzięki zabezpieczeniom .NET
* Dynamiczne uzyskiwanie informacji o typach poprzez refleksję
* Użycie narzędzi do globalizacji i lokalizacji
* Usuwanie błędów aplikacji .NET
* Profilowanie aplikacji .NET
* Omówienie składni C# i najważniejszych kwestii związanych z tym językiem
* Przegląd bibliotek struktury .NET
* Tworzenie własnego hosta CLR
* Porównanie CLR i JVM
Jeżeli chcesz zajmować się pisaniem aplikacji opartych na .NET, ".NET CLR. Księga eksperta" stanowić będzie cenne uzupełnienie Twojej wiedzy i pozwoli na lepsze zrozumienie zasad, na których oparta jest ta platforma.
Aleksandra Porębska, Datapoint, prezentacja pod tytułem "Od planowania ciągłości biznesu do planowania ciągłości systemów IT - czyli jak przygotować się na najgorsze"
Jak zacząć przygodę z tworzeniem dużych produkcji? Co zrobić, żeby stać się częścią branży gier? Prezentacja pokazuje możliwe ścieżki rozwoju dla programistów, pokazując przy tym, że gry mają znacznie więcej wspólnego z "poważnym" oprogramowaniem niż się może wydawać.
6. RTB Audience Forecasting
Przewidywanie liczby
• ciasteczek
• dostępnych odsłon
• wygranych odsłon [1]
dla zdefiniowanej kampanii
[1] Bid Landscape jest poza zakresem tej prezentacji
7. Wymagania
• odpowiedź do 1s podczas definiowania kampanii
• reprezentowanie
• 3 mln RPS z EU, US, APAC
• miliardów zdarzeń remargetingowych
• ponad 100 000 segmentów
• dane wejściowe dla innych algorytmów
11. Problemy
Złączenie ruchu z remarketingiem
[1] https://www.quora.com/How-can-we-do-reach-forecasting-in-a-DSP-demand-side-
platform-Is-it-even-possible
combinations of inventory and tracking points. Consider letting your
14. Indeksy bitmapowe
ang. bitmap index = bitmap = bitset = bitarray
Cecha (kraj, producent)
Wartość cechy (kraj|Polska, producent|samsung)
• jedna bitmapa dla każdej wartości cechy
• suma, iloczyn i różnica zbiorów
• wsparcie predykatu równości
• brak wsparcia dla operatorów porównania > <
15. Zastosowania
• pobranie konkretnych elementów z innego źródła danych
• row_id w bazach danych
• zliczenie elementów spełniających kryteria wyszukiwania
• budowanie reguł asocjacyjnych na dużych zbiorach
16. 10001000 01010100 11110100 01010000 01000001 10001000 01000100 10010000
• private long[] words (64-bit)
long long long long long long … long
.set(int bitIndex) 1 .get(int bitIndex)
java.util.BitSet
anylang
20. ???
… ale mnie nie obchodzi zużycie pamięci
109k zbędnych alternatyw
CPU?
BitSet b1 = new BitSet();
BitSet b2 = new BitSet();
b1.set(9_000_000);
b2.set(7_000_000);
b1.or(b2);
7mln/64 ≈109 000
0 0 0 0 … 0
0 0 0 long
0 long
or or or
b1
b2
or
…
…
23. Roaring Bitmap
„Use Roaring for bitmap compression whenever possible.
Do not use other bitmap compression methods” [1]
[1] Wang, Jianguo, et al.
"An experimental study of bitmap compression vs. inverted list compression." 2017.
Otwarta, efektywna implementacja indeksów bitmapowych
roaringbitmap.org
24. Implementacja
• Brak kontenera
• Array - rzadkie (ang.
sparse) regiony
• Bitset - gęste regiony
• Run - regiony z ciągłymi
obszarami
https://arxiv.org/pdf/1709.07821.pdf
Każdy kontener
reprezentuje obszar
216 = 65536 pozycji z
przestrzeni 232 liczb
Kontenery
25.
26. Optymalizacje
• bit level parallelism
• dedykowane instrukcje CPU
5:33 https://www.youtube.com/watch?v=1QMgGxiCFWE
array bitset run
array ? ? ?
bitset ? ? ?
run ? ? ?
dla każdej operacji
• sumy
• iloczynu
• różnicy
specjalizowana implementacja
27. Kod
• C (SIMD[1])
• Java
• Go
• Python (C wrapper)
• …
Implementacje
• Pilosa
• Roaring Redis
DB
niel, et al. "Roaring bitmaps: Implementation of an optimized software library." Software: Practice and Expe
Użytkownicy
• Adform
• Apache
• Netflix
• Druid
• Linkedin
• Microsoft
32. Liczby
• 10 GB rozmiar bitmap dla 7 dni
• 200 TB podejście naiwne
• 6h czas budowy bitmap dla 7 dni
• 3 mln cech
• 500 mln * próbkowanie zapytań
• 5 mln * próbkowanie ciasteczek
37. Jakość
• eksperymenty vs. produkcyjnie działająca kampania
• kampanie są ciągle modyfikowane
• logowanie na Kafce pełnego zapytania wraz z wynikami
pośrednimi i parametrami użytymi do estymacji
• monitorowanie impresji następnego dnia
• powtórzenie na bitmapach z kolejnych dni
• trend
38. Podsumowanie
• Roaring to zalecana implementacja
indeksów bitmapowych
• obecna w wielu znanych aplikacjach
• zastosowana z sukcesem do zliczania
ruchu w RTB
• 5 różnych wdrożeń w Adform
Editor's Notes
Apache Spark, Hive, Tez, Kylin
Netflix Atlas - time series
LinkedIn Pinot - OLAP ‚Who’s Viewed Your Profile’