Pierwsze moje "publiczne" wystąpienie dotyczyło m. innymi pracy z danymi. Na przestrzeni ostatnich kilkunastu lat zmieniło się praktycznie wszystko - od typów pojemników przez styl pracy z danymi, rodzaj budowanych aplikacji itp. Ale - z drugiej strony - wymagania klienta zmieniły się nieznacznie - nadal sporo z nich chce po prostu szybko działającą formatkę, aktualne raporty (najlepiej z danym "z teraz") itp.
W tej sesji przyjrzymy się między innymi:
- ORM-om - na przykładzie Entity Framework 6 i Entity Framework Core
- DocumentDB, Azure Table - jako przykładom innych pojemników, z "eventual consistency" (oby!)
- Koncepcji OData, mikroserwisom oraz SignalR
- Oraz: jak to wszystko połączyć w aplikacji.
Założenie: słuchacze czytają kod C# oraz JavaScript!
How to run system administrator recruitment process? By creating platform based on open source parts in just 2 nights! I gave this talk in Poland / Kraków OWASP chapter meeting on 17th October 2013 at our local Google for Entrepreneurs site. It's focused on security and also shows how to create recruitment process in CTF / challenge way.
This story covers mostly security details of this whole platform. There's great chance, that I will give another talk about this system but this time focusing on technical details. Stay tuned ;)
How to run system administrator recruitment process? By creating platform based on open source parts in just 2 nights! I gave this talk in Poland / Kraków OWASP chapter meeting on 17th October 2013 at our local Google for Entrepreneurs site. It's focused on security and also shows how to create recruitment process in CTF / challenge way.
This story covers mostly security details of this whole platform. There's great chance, that I will give another talk about this system but this time focusing on technical details. Stay tuned ;)
GET.NET - Osiołkowi w żłobie dano, czyli o tym jak hostować aplikacje na Mic...Michal Furmankiewicz
Azure oferuje wiele platform na których możesz uruchomić swoją aplikację. Każda ma swoje zalety i wady. Zrobiłem przegląd tych platform dla Ciebie. W prezentacji wyrażam swoją prywatną opinię.
Silverlight i PHP - jak budować interfejs nowoczesnych aplikacji internetowych?PHPCon Poland
Autor: Michał Żyliński
Projektujesz serwisy lub aplikacje internetowe i czujesz, że popadasz w rutynę? Zobacz, co może zaoferować Silverlight, ninja i czarny koń technologii RIA.
This is my presentation about Red Gate SQL Doc that I have presented on one of the meatings of Lodzka Grupa Profesjonalistow IT & .NET. Presentation in Polish.
Prezentacja dotyczy architektury aplikacji internetowych od strony back-endu oraz front-endu działającego w środowisku wykonania przeglądarek internetowych.
Czy następuje taki moment w życiu programisty, kiedy może on stwierdzić, że jego warsztat jest już doskonały? Nie, jeżeli pracuje w technologiach internetowych. Ta dziedzina informatyki rozwija się w niesamowicie szybkim tempie, a stworzone wczoraj rozwiązania warto stosować już dziś! Podczas prelekcji słuchacze poznają aktualne możliwości, jakie dają web developerowi różne biblioteki, narzędzia developerskie oraz usługi.
GET.NET - Osiołkowi w żłobie dano, czyli o tym jak hostować aplikacje na Mic...Michal Furmankiewicz
Azure oferuje wiele platform na których możesz uruchomić swoją aplikację. Każda ma swoje zalety i wady. Zrobiłem przegląd tych platform dla Ciebie. W prezentacji wyrażam swoją prywatną opinię.
Silverlight i PHP - jak budować interfejs nowoczesnych aplikacji internetowych?PHPCon Poland
Autor: Michał Żyliński
Projektujesz serwisy lub aplikacje internetowe i czujesz, że popadasz w rutynę? Zobacz, co może zaoferować Silverlight, ninja i czarny koń technologii RIA.
This is my presentation about Red Gate SQL Doc that I have presented on one of the meatings of Lodzka Grupa Profesjonalistow IT & .NET. Presentation in Polish.
Prezentacja dotyczy architektury aplikacji internetowych od strony back-endu oraz front-endu działającego w środowisku wykonania przeglądarek internetowych.
Czy następuje taki moment w życiu programisty, kiedy może on stwierdzić, że jego warsztat jest już doskonały? Nie, jeżeli pracuje w technologiach internetowych. Ta dziedzina informatyki rozwija się w niesamowicie szybkim tempie, a stworzone wczoraj rozwiązania warto stosować już dziś! Podczas prelekcji słuchacze poznają aktualne możliwości, jakie dają web developerowi różne biblioteki, narzędzia developerskie oraz usługi.
Deep dive into service fabric after 2 yearsTomasz Kopacz
How to use more advanced capabilities built-in into service fabric. How to create scalable and FAST applications. When to choose stateless, statefull and actor services. How to deploy any exe to service fabric.
Samples: https://github.com/tkopacz/2016DeveloperDays
Visual Studio – jak zorganizować pracę używając Scrum i GIT?Tomasz Kopacz
Video: https://channel9.msdn.com/Series/Visual-Studio-jak-zorganizowac-prace-uzywajac-Scrum-i-GIT
Jednym z najważniejszych czynników zapewniających właściwą jakość oprogramowania jest proces wytwórczy. W tym materiale pokażę w jaki sposób przy użyciu Visual Studio Team Services (dawniej Visual Studio Online) albo Team Foundation Services zainstalowanego na własnych maszynach zorganizować pracę zespołu programistów. Przyglądam się bliżej o co chodzi w ALM i DevOps, omawiam (krótko niestety) jak to funkcjonuje w środku Microsoft. Rozważania oparte są o metodykę Scrum i wbudowane w VSTS repozytorium GIT. Zaczynamy praktycznie od początku – od wyjaśnienia podstawowych założeń metodyk agile, przez konfigurację VSTS a potem – krok po kroku przechodzimy przez przykładowy proces wspierający budowę trywialnej aplikacji Webowej.
Overview (level 100) of different solutions which can be build using Visual Studio. Not a complete list of course! Video: https://channel9.msdn.com/Series/Do-czego-uy-Visual-Studio
Windows 10, internet of things, komunikacja duplex od kabli do odrobiny azu...Tomasz Kopacz
How to build IoT solution - with "duplex" communication, when device(s) will send information to Internet - and Internet will send orders back to device. What is API Contract concept, GpioDecive, SPIDevices, I2CDevices and others. Also: cobbler, few sensor and other electronics components
Language: Polish
Azure paa s v2 – microservices, microsoft (azure) service fabric, .apps and o...Tomasz Kopacz
How to build architecture based on microservices. What is Azure Service Fabric, and how this technology help us to build stateless and statefull services. How to start with actor-based programming. How to use also *.Apps and containers in microservices world. And of course – how to deal with many, many objects and components in our application.
Level: 300 (ok – 200, because I will explain basic concepts – but on the other hands those topic (especially around actors) are quite complicated)
From: http://net.developerdays.pl/
18. Bezstanowe serwery. Autoryzacja i
identyfikacja. Przekierowywanie żądań
M
Extent Nodes (EN)
Paxos
Front End FE
M
M
Partition
Server
Partition
Server
Partition
Server
Partition
Server
Partition
Master
FE FE FE FE
Lock
Service
Warstwa
serwerów
partycji
Warstwa
strumienia
danych
(DFS)
19. M
Extent Nodes (EN)
Paxos
Front End FE
Przychodzące żądanie zapisu
M
M
Partition
Server
Partition
Server
Partition
Server
Partition
Server
Partition
Master
FE FE FE FE
Lock
Service
Ack
Warstwa
serwerów
partycji
Warstwa
strumienia
danych
(DFS)
20. Konto Partycja Pola w
encji
aaaa aaaa aaaaa
…….. …….. ……..
…….. …….. ……..
…….. …….. ……..
…….. …….. ……..
…….. …….. ……..
…….. …….. ……..
…….. …….. ……..
…….. …….. ……..
…….. …….. ……..
…….. …….. ……..
…….. …….. ……..
zzzz zzzz zzzzz
Storage Stamp
Partition
Server
Partition
Server
Konto Partycja Pola w
encji
richard videos tennis
……… ……… ………
……… ……… ………
zzzz zzzz zzzzz
Konto Partycja Pola w
encji
harry pictures sunset
……… ……… ………
……… ……… ………
richard videos soccer
Partition
Server
Partition
Master
Front-End
Server
PS 2 PS 3
PS 1
A-H: PS1
H’-R: PS2
R’-Z: PS3
A-H: PS1
H’-R: PS2
R’-Z: PS3
Partition
Map
Azure Table
Partition
Map
Konto Partycja Pola w
encji
aaaa aaaa aaaaa
……… ……… ………
……… ……… ………
harry pictures sunrise
A-H
R’-ZH’-R
21.
22. PartitionKey
(AccountID)
RowKey
(Kind_*)
Kind TotalRentals Name Address CheckOutOn Title DueOn
… … … … … … … … …
Joe A_Joe Account 8 Joe Field Ann Arbor, MI
Joe R_Jaws Rental 2010/08/16 Jaws 2010/08/25
Joe R_Taxi Rental 2010/08/16 Taxi 2010/08/25
… … … … … … … … …
Entity Group Transaction
C#: DynamicTableEntity
29. > Pełny RDBMS
DocumentDB in Azure
Zarządzane, skalowalne, łatwość budowy kwerend, bez
schematu, oparta o JSON usługa bazodanowa
Microsoft Confidential
Arbitralne formaty <
31. Samoopisujące się!
Bez dziedziczenia, polimorfizmu, kontroli, …
Trywialna serializacja na/z tekst
Number: „double”, trochę ograniczeń w JS
String: znaki Unicode
Boolean: true lub false
Array: w [ ] inne obiekty json
null: pusta wartość
Przechowywanie, indeksowanie, kwerendy,
motor uruchomieniowy JavaScript
TTL (od daty modyfikacji)
Dane geograficzne (GeoJSON, WGS-84)
"location":{ type":"Point","coordinates":[ -122.12, 47.66 ] }
Też: linestrings, polygon
{
“locations”:
[
{“country”: “Germany”, “city”: “Berlin”},
{“country”: “France”, “city”: “Paris”},
],
“headquarter”: “Belgium”,
“exports”:[{“city”; “Moscow”},{“city: ”Athens”}]
}
Dokument JSON jako drzewo
Locations Headquarter
Belgium
Country City Country City
Germany Berlin France Paris
Exports
CityCity
Moscow Athens
0 10 1
43. Duża centralna
baza danych
Aplikacje pisane ad hoc. Raporty,
ręczna edycja, bo coś w
ESB nie działa
Malutkie DB
Synchronizacja,
SSIS, .
Oficjalna Szyna Enterprise
Service Bus
Nieoficjalna szyna dla REST, może
API Management, może...
Aplikacja departamentalna
Budowana bo szybcej
44. Lekka komunikacja, zwykle HTTP (REST style). Brak transakcyjności pomiędzy
usługami. Pasuje do orkiestracji w stylu IFTTT lub Logic Apps.
Customer
InventoryCatalog
Payment
Shipping
UI
45. Cortana Analytics Gallery Halo 5 (część socialna gry) News Republic (czytanie i reagowanie
na informacje)