Project Introduction: MVC (Model View Controller) framework for ASP.NET 2.0. Contains AJAX module as well. It was created before official Microsoft framework was released so i've learned a lot creating it. (PL Only)
Building A Strong Engineering Culture - my talk from BBC Develop 2013Kevin Goldsmith
This is the keynote talk I gave at the BBC Develop conference in London, UK in November of 2013. In it I talk about what I believe makes a strong engineering culture, how to protect it if you have it, and how to fix it if you don't. I use a lot of examples from Spotify (where I am a Director of Engineering). As usual, I go a bit light on the bullets, since I prefer to talk, but I think you can still get the gist of my points.
Culture is something we take pride in at LinkedIn. As the collective personality of our organization, it sets us apart, defines who we are and shapes what we aspire to be.
Hundreds of companies have defined their unique cultures on SlideShare as part of the Culture Code campaign. We thought it was important for LinkedIn to join in this effort; we want everyone, including our current and our future employees, to know exactly what it’s like to work here.
This document outlines Netflix's culture of freedom and responsibility. Some key points:
- Netflix focuses on attracting and retaining "stunning colleagues" through a high-performance culture rather than perks. Managers use a "Keeper Test" to determine which employees they would fight to keep.
- The culture emphasizes values over rules. Netflix aims to minimize complexity as it grows by increasing talent density rather than imposing processes. This allows the company to maintain flexibility.
- Employees are given significant responsibility and freedom in their roles, such as having no vacation tracking or expense policies beyond acting in the company's best interests. The goal is to avoid chaos through self-discipline rather than controls.
- Providing
Today we all live and work in the Internet Century, where technology is roiling the business landscape, and the pace of change is only accelerating.
In their new book How Google Works, Google Executive Chairman and ex-CEO Eric Schmidt and former SVP of Products Jonathan Rosenberg share the lessons they learned over the course of a decade running Google.
Covering topics including corporate culture, strategy, talent, decision-making, communication, innovation, and dealing with disruption, the authors illustrate management maxims with numerous insider anecdotes from Google’s history.
In an era when everything is speeding up, the best way for businesses to succeed is to attract smart-creative people and give them an environment where they can thrive at scale. How Google Works is a new book that explains how to do just that.
This is a visual preview of How Google Works. You can pick up a copy of the book at www.howgoogleworks.net
Prezentacja przedstawia wzorce projektowe, które używane są w Magento.
Znajdziecie tu opis między innymi zastosowania wzorców: factory, singleton. Część prezentacji przedstawia również użycie wzorca MVC w rozumieniu Magento, a także niestandardowe podejście do widoku.
Project Introduction: MVC (Model View Controller) framework for ASP.NET 2.0. Contains AJAX module as well. It was created before official Microsoft framework was released so i've learned a lot creating it. (PL Only)
Building A Strong Engineering Culture - my talk from BBC Develop 2013Kevin Goldsmith
This is the keynote talk I gave at the BBC Develop conference in London, UK in November of 2013. In it I talk about what I believe makes a strong engineering culture, how to protect it if you have it, and how to fix it if you don't. I use a lot of examples from Spotify (where I am a Director of Engineering). As usual, I go a bit light on the bullets, since I prefer to talk, but I think you can still get the gist of my points.
Culture is something we take pride in at LinkedIn. As the collective personality of our organization, it sets us apart, defines who we are and shapes what we aspire to be.
Hundreds of companies have defined their unique cultures on SlideShare as part of the Culture Code campaign. We thought it was important for LinkedIn to join in this effort; we want everyone, including our current and our future employees, to know exactly what it’s like to work here.
This document outlines Netflix's culture of freedom and responsibility. Some key points:
- Netflix focuses on attracting and retaining "stunning colleagues" through a high-performance culture rather than perks. Managers use a "Keeper Test" to determine which employees they would fight to keep.
- The culture emphasizes values over rules. Netflix aims to minimize complexity as it grows by increasing talent density rather than imposing processes. This allows the company to maintain flexibility.
- Employees are given significant responsibility and freedom in their roles, such as having no vacation tracking or expense policies beyond acting in the company's best interests. The goal is to avoid chaos through self-discipline rather than controls.
- Providing
Today we all live and work in the Internet Century, where technology is roiling the business landscape, and the pace of change is only accelerating.
In their new book How Google Works, Google Executive Chairman and ex-CEO Eric Schmidt and former SVP of Products Jonathan Rosenberg share the lessons they learned over the course of a decade running Google.
Covering topics including corporate culture, strategy, talent, decision-making, communication, innovation, and dealing with disruption, the authors illustrate management maxims with numerous insider anecdotes from Google’s history.
In an era when everything is speeding up, the best way for businesses to succeed is to attract smart-creative people and give them an environment where they can thrive at scale. How Google Works is a new book that explains how to do just that.
This is a visual preview of How Google Works. You can pick up a copy of the book at www.howgoogleworks.net
Prezentacja przedstawia wzorce projektowe, które używane są w Magento.
Znajdziecie tu opis między innymi zastosowania wzorców: factory, singleton. Część prezentacji przedstawia również użycie wzorca MVC w rozumieniu Magento, a także niestandardowe podejście do widoku.
Przenieś się do kontenera, czyli korzyści z Docker i Docker ComposeMariusz Bąk
Docker i Docker Compose to popularne wśród deweloperów narzędzia do konteneryzacji i orkiestracji kontenerów, które wypierają wcześniej stosowaną wirtualizację. Dzięki nim możemy opisywać infrastrukturę za pomocą kodu, utrzymywać jej spójność w ramach zespołu deweloperskiego oraz wersjonować ją. Znacznie ułatwia to rozwijanie złożonych z wielu usług aplikacji.
Prezentacja zawiera krótkie wprowadzenie do tych narzędzi oraz pokazuje kilka użytecznych i ułatwiających pracę trików. Prezentuje również stworzone przeze mnie open-source'owe narzędzie Feater, służące do dynamicznego tworzenia izolowanych środowisk testowych i demonstracyjnych. Dzięki wykorzystaniu przez nie konteneryzacji, można je szybko wdrożyć w typowym wykorzystującym Docker Compose projekcie
[JuraSIC! Meetup] Krzysztof Sikora- Jak Service Fabric rozwiąże twoje problem...Future Processing
Tworzenie skalowalnych i wydajnych mikroserwisów w rozproszonym środowisku chmurowym wymaga dużej dyscypliny u programisty oraz zastosowania wielu narzędzi ułatwiających to zadanie. Im większy system, tym większej uwagi wymaga. Rozproszone środowisko dodatkowo wymusza korzystanie z zewnętrznych rozwiązań ułatwiających pracę ze stanem systemu, takich jak cache.
Zdarzyło Ci się kiedyś pogubić w tym, gdzie leży która usługa i skąd się wziął błąd w systemie? Czy nie łatwiej byłoby mieć jedno narzędzie, które utrzyma wszystkie usługi pod kontrolą i zapewni niezawodne zarządzanie stanem aplikacji bez konieczności używania zewnętrznych systemów?
W czasie swojej prelekcji Krzysiek przedstawi, jak sprawdzony w bojach Azure Service Fabric zapewnia stabilną kontrolę nad systemem mikroserwisów oraz pozwala stworzyć aplikację bez użycia zewnętrznej bazy danych i systemu cachingu. Swoje doświadczenie z Azure Service Fabric nabył w codziennej pracy w dużym projekcie dla korporacji finansowej w Future Processing.
Poznaj podstawy tworzenia aplikacji dla telefonów komórkowych
* Zainstaluj środowisko programistyczne
* Napisz własny MIDlet
* Połącz aplikację z internetem
Niemal każdy telefon komórkowy umożliwia uruchamianie aplikacji napisanych w języku Java. Jednak tworzenie takich aplikacji różni się od pisania programów na "duże" komputery. Korzystanie z języka Java dla urządzeń mobilnych (J2ME) wymusza na programiście pewne ograniczenia wynikające z mniejszej ilości pamięci, odmiennych metod komunikacji i wielu innych czynników. Tworzenie aplikacji J2ME, zwanych MIDletami, wymaga poznania tych ograniczeń oraz specyficznych zasad programowania.
Książka "J2ME. Java dla urządzeń mobilnych. Ćwiczenia" to przewodnik po podstawowych zagadnieniach związanych z tworzeniem aplikacji dla urządzeń mobilnych. Wykonując zawarte w niej ćwiczenia, nauczysz się korzystać z tej wersji Javy. Stworzysz proste MIDlety i poznasz zasady tworzenia interfejsów użytkownika. Dowiesz się, jak implementować połączenia internetowe i korzystać z danych zawartych w zewnętrznych plikach.
* Instalacja środowiska J2ME Wireless Toolkit
* Podstawowy szkielet MIDletu
* Importowanie klas
* Komponenty interfejsu użytkownika
* Zapis danych do pamięci telefonu
* Pobieranie zawartości stron internetowych
* Odtwarzanie dźwięków
Odczuwasz brak jakiejś funkcji w telefonie komórkowym? Napisz samodzielnie program, który ją zrealizuje.
Wyobraźmy sobie, że budowanie aplikacji tak proste, jak budowanie domku z klocków, gdzie poszczególne elementy (klocki) są połączone w całość (domek) podczas zabawy (życia domku). Przecież coraz częściej zachodzi potrzeba budowy aplikacji tak, aby składała się ona z luźno związanych komponentów, które ulegają kompozycji dopiero podczas działania aplikacji. Właśnie na takie podejście pozwala MEF, czyli „Managed Extensibility Framework", nowa biblioteka wchodząca w skład .NET Framework 4.0.
Chciałbym wszystkich zainteresowanych zaprosić na moją prezentację "Wprowadzenie do Managed Extensibility Framework w .NET 4.0", którą pokażę na najbliższym spotkaniu Łódzkiej Grupy Profesjonalistów IT & .NET.
Niniejsza sesja ma za zadanie wprowadzić słuchacza w zagadnienia związane z „Managed Extensibility Framework", wskazać potencjalne zastosowania oraz pokazać przykładową aplikację.
Przenieś się do kontenera, czyli korzyści z Docker i Docker ComposeMariusz Bąk
Docker i Docker Compose to popularne wśród deweloperów narzędzia do konteneryzacji i orkiestracji kontenerów, które wypierają wcześniej stosowaną wirtualizację. Dzięki nim możemy opisywać infrastrukturę za pomocą kodu, utrzymywać jej spójność w ramach zespołu deweloperskiego oraz wersjonować ją. Znacznie ułatwia to rozwijanie złożonych z wielu usług aplikacji.
Prezentacja zawiera krótkie wprowadzenie do tych narzędzi oraz pokazuje kilka użytecznych i ułatwiających pracę trików. Prezentuje również stworzone przeze mnie open-source'owe narzędzie Feater, służące do dynamicznego tworzenia izolowanych środowisk testowych i demonstracyjnych. Dzięki wykorzystaniu przez nie konteneryzacji, można je szybko wdrożyć w typowym wykorzystującym Docker Compose projekcie
[JuraSIC! Meetup] Krzysztof Sikora- Jak Service Fabric rozwiąże twoje problem...Future Processing
Tworzenie skalowalnych i wydajnych mikroserwisów w rozproszonym środowisku chmurowym wymaga dużej dyscypliny u programisty oraz zastosowania wielu narzędzi ułatwiających to zadanie. Im większy system, tym większej uwagi wymaga. Rozproszone środowisko dodatkowo wymusza korzystanie z zewnętrznych rozwiązań ułatwiających pracę ze stanem systemu, takich jak cache.
Zdarzyło Ci się kiedyś pogubić w tym, gdzie leży która usługa i skąd się wziął błąd w systemie? Czy nie łatwiej byłoby mieć jedno narzędzie, które utrzyma wszystkie usługi pod kontrolą i zapewni niezawodne zarządzanie stanem aplikacji bez konieczności używania zewnętrznych systemów?
W czasie swojej prelekcji Krzysiek przedstawi, jak sprawdzony w bojach Azure Service Fabric zapewnia stabilną kontrolę nad systemem mikroserwisów oraz pozwala stworzyć aplikację bez użycia zewnętrznej bazy danych i systemu cachingu. Swoje doświadczenie z Azure Service Fabric nabył w codziennej pracy w dużym projekcie dla korporacji finansowej w Future Processing.
Poznaj podstawy tworzenia aplikacji dla telefonów komórkowych
* Zainstaluj środowisko programistyczne
* Napisz własny MIDlet
* Połącz aplikację z internetem
Niemal każdy telefon komórkowy umożliwia uruchamianie aplikacji napisanych w języku Java. Jednak tworzenie takich aplikacji różni się od pisania programów na "duże" komputery. Korzystanie z języka Java dla urządzeń mobilnych (J2ME) wymusza na programiście pewne ograniczenia wynikające z mniejszej ilości pamięci, odmiennych metod komunikacji i wielu innych czynników. Tworzenie aplikacji J2ME, zwanych MIDletami, wymaga poznania tych ograniczeń oraz specyficznych zasad programowania.
Książka "J2ME. Java dla urządzeń mobilnych. Ćwiczenia" to przewodnik po podstawowych zagadnieniach związanych z tworzeniem aplikacji dla urządzeń mobilnych. Wykonując zawarte w niej ćwiczenia, nauczysz się korzystać z tej wersji Javy. Stworzysz proste MIDlety i poznasz zasady tworzenia interfejsów użytkownika. Dowiesz się, jak implementować połączenia internetowe i korzystać z danych zawartych w zewnętrznych plikach.
* Instalacja środowiska J2ME Wireless Toolkit
* Podstawowy szkielet MIDletu
* Importowanie klas
* Komponenty interfejsu użytkownika
* Zapis danych do pamięci telefonu
* Pobieranie zawartości stron internetowych
* Odtwarzanie dźwięków
Odczuwasz brak jakiejś funkcji w telefonie komórkowym? Napisz samodzielnie program, który ją zrealizuje.
Wyobraźmy sobie, że budowanie aplikacji tak proste, jak budowanie domku z klocków, gdzie poszczególne elementy (klocki) są połączone w całość (domek) podczas zabawy (życia domku). Przecież coraz częściej zachodzi potrzeba budowy aplikacji tak, aby składała się ona z luźno związanych komponentów, które ulegają kompozycji dopiero podczas działania aplikacji. Właśnie na takie podejście pozwala MEF, czyli „Managed Extensibility Framework", nowa biblioteka wchodząca w skład .NET Framework 4.0.
Chciałbym wszystkich zainteresowanych zaprosić na moją prezentację "Wprowadzenie do Managed Extensibility Framework w .NET 4.0", którą pokażę na najbliższym spotkaniu Łódzkiej Grupy Profesjonalistów IT & .NET.
Niniejsza sesja ma za zadanie wprowadzić słuchacza w zagadnienia związane z „Managed Extensibility Framework", wskazać potencjalne zastosowania oraz pokazać przykładową aplikację.
7. 2.1. Struktura plików controller – katalog z obiektami command model – katalog z obiektami proxy oraz vo view – katalog z obiektami mediator oraz pliki mxml (w przypadku Flex oraz Air) /24
8.
9. 2.2. Obiekt Fasady /24 /** * Singleton ApplicationFacade */ public static function getInstance() : ApplicationFacade { if ( instance == null ) instance = new ApplicationFacade( ); return instance as ApplicationFacade; } /** * Rejestruje obiekty command */ override protected function initializeController( ) : void { super.initializeController(); registerCommand( STARTUP, ApplicationStartupCommand ); } /** * Start aplikacji **/ public function startup( app:CafeTownsend ):void { sendNotification( STARTUP, app ); }
10.
11. 2.2. Obiekt Fasady /24 /** * Obiekt Fasady **/ public class ApplicationFacade extends Facade { public static const STARTUP:String = "startup"; public static const SHUTDOWN:String = "shutdown"; public static const APP_LOGOUT:String = "appLogout"; public static const APP_LOGIN:String = "appLogin"; public static const VIEW_EMPLOYEE_LOGIN:String= "viewEmployeeLogin"; public static const VIEW_EMPLOYEE_LIST:String= "viewEmployeeList"; public static const ADD_EMPLOYEE:String= "addEmployee"; public static const UPDATE_EMPLOYEE:String= "updateEmployee"; public static const SAVE_EMPLOYEE:String= "saveEmployee"; public static const DELETE_EMPLOYEE:String= "deleteEmployee"; public
12.
13. 2.3. Obiekt Command /24 /** * Rejestracja Proxy **/ override public function execute( note:INotification ) :void { facade.registerProxy( new EmployeeProxy()); facade.registerProxy( new UserProxy()); } /** * Rejestracja Mediatorów i pobranie danych **/ override public function execute( note:INotification ) :void { facade.registerMediator( new ApplicationMediator( note.getBody() ) ); var employeeProxy:EmployeeProxy = facade.retrieveProxy( EmployeeProxy.NAME ) as EmployeeProxy; employeeProxy.loadEmployees(); sendNotification( ApplicationFacade.VIEW_EMPLOYEE_LOGIN ); }
14.
15. 2.4. Obiekt Proxy /24 /** * Funkcja wywołująca obiekt pobierający dane **/ public function loadEmployees():void { var delegate : LoadEmployeesDelegate = new LoadEmployeesDelegate( this ); delegate.loadEmployeesService(); } / ** * Poprawne pobranie danych, wysyła notyfikację do systemu **/ public function result( rpcEvent : Object ) : void { data = rpcEvent.result.employees.employee as ArrayCollection; sendNotification( ApplicationFacade.LOAD_EMPLOYEES_SUCCESS ); } /** * Błąd podczas pobierania danych, wysyła notyfikację do systemu **/ public function fault( rpcEvent : Object ) : void { data = new ArrayCollection(); errorStatus = "Could Not Load Employee List!"; sendNotification( ApplicationFacade.LOAD_EMPLOYEES_FAILED ); }
16.
17. 2.5. Obiekt Mediator /24 override public function listNotificationInterests():Array { return [ ApplicationFacade.VIEW_EMPLOYEE_LOGIN, ApplicationFacade.VIEW_EMPLOYEE_LIST, ApplicationFacade.VIEW_EMPLOYEE_DETAIL, ApplicationFacade.APP_LOGOUT, ApplicationFacade.UPDATE_EMPLOYEE ]; } override public function handleNotification( note:INotification ):void { switch ( note.getName() ) { case ApplicationFacade.VIEW_EMPLOYEE_LOGIN: app.vwStack.selectedIndex = EMPLOYEE_LOGIN; break; case ApplicationFacade.VIEW_EMPLOYEE_LIST: employeeProxy.employee = null; app.vwStack.selectedIndex = EMPLOYEE_LIST; break; } }