"Sandbox dla PowerShell'a - zrób to sam!" - Dawid PachowskiPROIDEA
W świecie malware'ów i dropper'ów umiejętność deobfuskacji skryptów PowerShell'a jest istotnym elementem analizy, pozwalającym na dokładne zgłębienie działania często skomplikowanych skryptów. Zaprezentuję dotychczas znane metody deobfuskacji tych skryptów oraz zaproponuję nową, która prowadzi nawet do zbudowania własnego, automatycznego sandbox'a.
CONFidence 2018: "Small money, a lot of bugs" - Large scale bughunting dla ty...PROIDEA
W prezentacji zostanie przedstawione podejście do problemu automatycznego wyszukiwania podatności bez posiadania znacznej mocy obliczeniowej (własnej farmy serwerów) które pomogło w ujawnieniu prawie 400 różnych błędów w oprogramowaniu open-source (w tym ~110 podatności z CVE) w okresie jednego roku. Pokazane zostaną procesy zwiększające efektywność fuzzingu w chmurze oraz autorski system (codename: Cloudfuzz) wspomagający deduplikację crashy, analizę błędów, zarządzanie korpusem oraz serwerami. Omówię także najpoważniejsze błędy odkryte za pomocą systemu, a także widoki na rozwój projektu.
Franciszek Krasowski: Zastanawialiście się kiedyś nad tym, czym jest PHP-PM? Jak działa? Jak wypada w porównaniu do innych popularnych rozwiązań? Czy jest wystarczająco stabilny? Franciszek Krasowski odpowie na wszystkie te pytania (a także na te, których jeszcze nie zadaliście).
Presentation from 3Camp Tech meeting I took at 2016/11/15.
Asciinema from presentation:
* bower: https://asciinema.org/a/92748
* npm: https://asciinema.org/a/92752
* yarn: https://asciinema.org/a/92771
O tworzeniu rozwiązań mobilnych z punktu widzenia front-end dewelopera. Omówienie istniejących rozwiązań oraz głębsza analiza biblioteki NativeScript wraz z demem.
Demo #1: https://github.com/pawelkondraciuk/nativescript-hello-world-demo-1
Demo #2: https://github.com/pawelkondraciuk/sample-groceries-demo-2
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.
"Sandbox dla PowerShell'a - zrób to sam!" - Dawid PachowskiPROIDEA
W świecie malware'ów i dropper'ów umiejętność deobfuskacji skryptów PowerShell'a jest istotnym elementem analizy, pozwalającym na dokładne zgłębienie działania często skomplikowanych skryptów. Zaprezentuję dotychczas znane metody deobfuskacji tych skryptów oraz zaproponuję nową, która prowadzi nawet do zbudowania własnego, automatycznego sandbox'a.
CONFidence 2018: "Small money, a lot of bugs" - Large scale bughunting dla ty...PROIDEA
W prezentacji zostanie przedstawione podejście do problemu automatycznego wyszukiwania podatności bez posiadania znacznej mocy obliczeniowej (własnej farmy serwerów) które pomogło w ujawnieniu prawie 400 różnych błędów w oprogramowaniu open-source (w tym ~110 podatności z CVE) w okresie jednego roku. Pokazane zostaną procesy zwiększające efektywność fuzzingu w chmurze oraz autorski system (codename: Cloudfuzz) wspomagający deduplikację crashy, analizę błędów, zarządzanie korpusem oraz serwerami. Omówię także najpoważniejsze błędy odkryte za pomocą systemu, a także widoki na rozwój projektu.
Franciszek Krasowski: Zastanawialiście się kiedyś nad tym, czym jest PHP-PM? Jak działa? Jak wypada w porównaniu do innych popularnych rozwiązań? Czy jest wystarczająco stabilny? Franciszek Krasowski odpowie na wszystkie te pytania (a także na te, których jeszcze nie zadaliście).
Presentation from 3Camp Tech meeting I took at 2016/11/15.
Asciinema from presentation:
* bower: https://asciinema.org/a/92748
* npm: https://asciinema.org/a/92752
* yarn: https://asciinema.org/a/92771
O tworzeniu rozwiązań mobilnych z punktu widzenia front-end dewelopera. Omówienie istniejących rozwiązań oraz głębsza analiza biblioteki NativeScript wraz z demem.
Demo #1: https://github.com/pawelkondraciuk/nativescript-hello-world-demo-1
Demo #2: https://github.com/pawelkondraciuk/sample-groceries-demo-2
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.
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.
Doskonałe źródło wiedzy dla wszystkich programistów C#
* Szczegółowe omówienie C# i .NET w wersji 2.0
* Techniki tworzenia i zabezpieczania aplikacji oraz zarządzania kodem źródłowym i wersjami
* Dziesiątki przykładów i kodów źródłowych
Platforma .NET i język C# spowodowały prawdziwą rewolucję na rynku narzędzi programistycznych. Wersja 2.0 przyniosła kilka interesujących rozwiązań, w tym nowe typy danych, komponenty i klasy. Dodatkowe funkcje języka C# pozwalają na przyspieszenie i usprawnienie procesu tworzenia aplikacji oraz jej wdrażania i rozwijania. Dzięki platformie .NET przygotowanie wydajnej, bezpiecznej i łatwej do rozbudowy aplikacji stało się znacznie prostsze i szybsze.
Książka "C# i .NET" przedstawia możliwości platformy .NET i napisanego specjalnie dla niej języka C#. Opisuje elementy platformy, składnię i możliwości języka C# oraz zagadnienia związane z tworzeniem programów za pomocą tych narzędzi. Omawia zasady pisania aplikacji Window Forms i efektywne techniki stosowania klas graficznych z biblioteki GDI+. Charakteryzuje także technologię ADO.NET, metody korzystania z plików XML, przetwarzanie wielowątkowe oraz techniki tworzenia wydajnych aplikacji internetowych w technologii ASP.NET. Szczególną uwagę poświęcono bezpieczeństwu programów i danych oraz skalowaniu i lokalizacji oprogramowania.
* Elementy platformy .NET
* Podstawy języka C#
* Praca z klasami i obiektami w C#
* Przetwarzanie tekstu oraz operacje wejścia i wyjścia
* Tworzenie aplikacji Window Forms
* Korzystanie z biblioteki GDI+
* Połączenia z bazami danych za pomocą ADO.NET
* Aplikacje wielowątkowe oraz rozproszone
* Tworzenie aplikacji internetowych
Jeśli chcesz napisać w C# aplikację dobrej jakości, sięgnij po tę książkę.
Platforma .NET staje się coraz bardziej popularna. Powstaje coraz więcej aplikacji realizowanych właśnie pod jej kątem. Udostępniane przez platformę .NET mechanizmy pozwalają na szybkie tworzenie aplikacji, co przysparza jej wielu zwolenników. Do stworzenia aplikacji nie wystarczą jednak tylko mechanizmy, nawet najlepsze. Niezbędne jest wygodne i uniwersalne środowisko programowania, jakim niewątpliwie jest Delphi. Jego najnowsza wersja umożliwia pełne wykorzystanie potencjału platformy .NET.
"Delphi dla .NET. Vademecum profesjonalisty" to podręcznik przedstawiający możliwości tworzenia aplikacji .NET za pomocą narzędzia programistycznego firmy Borland. W książce zamieszczono praktyczne przykłady, omówienie ciekawych technik oraz przydatne wskazówki na temat efektywnego korzystania z potencjału platformy .NET Framework. Książka zawiera dokładne omówienie języka programowania Delphi, zaawansowanych zagadnień związanych z programowaniem dla platformy .NET (w tym z zarządzaniem pamięcią), mechanizmów COM-Interop i Reflection, biblioteki GDI+, wytwarzania komponentów typu Windows Forms oraz Web Forms i wiele innych. Znajdziesz tu także solidną analizę kluczowych technologii platformy .NET, takich jak ADO.NET i ASP.NET, włącznie z mnóstwem przykładów demonstrujących ich możliwości.
* Podstawowe wiadomości o platformie .NET i rodzaje aplikacji .NET
* Przegląd elementów platformy .NET
* Delphi for .NET -- środowisko i język programowania
* Biblioteka klas platformy .NET
* Korzystanie z biblioteki GDI+
* Środowisko Mono
* Programowanie wielowątkowe
* Usługi COM Interop i Platform Invocation Service
* Programowanie aplikacji bazodanowych
* Tworzenie stron WWW w technologii ASP.NET
Jeśli szukasz książki poświęconej technologii .NET i programowaniu w języku Delphi aplikacji zgodnych z tą technologią, trafiłeś najlepiej, jak tylko mogłeś.
O autorze:
Xavier Pacheco jest autorem bestsellerowych książek o środowisku Delphi, jest znanym na całym świecie programistą, autorem, konsultantem i wykładowcą.
[więcej...]
Stwórz aplikacje internetowe w technologii ASP.NET 3.5
* Poznaj i skonfiguruj środowisko programistyczne
* Zaprojektuj strukturę aplikacji
* Połącz aplikację z bazą danych
* Wyświetl dane na stronach
Technologie PHP i ASP.NET mają kilka cech wspólnych — obie służą do tworzenia aplikacji internetowych, uruchamianych za pośrednictwem przeglądarki internetowej, i generują wynik swojego działania w postaci dokumentów XHTML. Jednak istnieje między nimi jedna istotna różnica — PHP wykorzystuje rozwiązania open source, a ASP.NET rozwiązania komercyjne, rozwijane przez firmę Microsoft. ASP.NET opiera się na platformie .NET — uniwersalnym frameworku, pozwalającym na korzystanie z różnych języków programowania w celu tworzenia skalowalnych, szybkich i łatwych do rozwijania aplikacji sieciowych. Nie bez znaczenia jest także środowisko programistyczne — Visual Studio to doskonałe narzędzie, znacznie przyspieszające i usprawniające proces tworzenia oprogramowania.
„ASP.NET 3.5 dla programistów PHP” to wprowadzenie do technologii ASP dla wszystkich twórców aplikacji internetowych, którzy dotychczas korzystali z PHP. Czytając tę książkę, zrozumiesz główne zasady korzystania z platformy .NET i techniki budowania aplikacji sieciowych. Dowiesz się, jak skonfigurować środowisko pracy i zaprojektować strukturę aplikacji. Nauczysz się korzystać z najważniejszych elementów platformy .NET — kontrolek będących gotowymi „cegiełkami” do budowy stron internetowych ASP. Poznasz podstawowe kontrolki, tworzące interfejs użytkownika i zarządzające sesją, połączysz aplikację z bazą danych i zastosujesz kontrolki do wyświetlenia danych na stronie. Przeczytasz o sprawdzaniu poprawności danych wprowadzanych do formularzy i przypisywaniu ról użytkownikom aplikacji. Znajdziesz tu także informacje o tym, w jaki sposób wykorzystać technologię AJAX do budowy interfejsów użytkownika aplikacji ASP.NET.
* Porównanie technologii służących do tworzenia aplikacji sieciowych
* Konfiguracja bazy MS SQL i instalacja narzędzi programistycznych
* Kontrolki interfejsu użytkownika
* Zarządzanie sesją i plikami cookie
* Komunikacja z bazami danych za pomocą ADO.NET
* Wyświetlanie danych na stronach
* Weryfikacja poprawności danych z formularzy
* Obsługa kont użytkowników
* AJAX w aplikacjach ASP.NET
Spróbuj czegoś nowego. Może w ASP.NET 3.5 odnajdziesz to, czego brakowało Ci w PHP?
Developing native-like Windows application using JavaScript, SSE, eZ Platform...Piotr Nalepa
The presentation is in Polish, but you can get the most important pieces of information form the code in the slides.
W prezentacji omówiłem sposób tworzenia aplikacji Windows z wykorzystaniem języka JavaScript, systemu CMS eZ Platform oraz narzędzia Electron udostępnionego przez Githuba. Aplikacja korzysta z powiadomień typu push i do tego celu wykorzystuję SSE - Server Sent Events.
Konrad Kokosa - Pamięć w .NET - od ogólu do szczegółu- 4developers2016PROIDEA
.NET ma zarządzaną pamięć, to wie każdy. Ale jak to wszystko naprawdę działa? Czy mamy się w ogóle czym przejmować? Czy znajomość szczegółów implementacyjnych Garbage Collectora jest nam do czegoś potrzebna i co z tego wynika dla codziennego życia .NET deva? Przyglądając się temu jak CLR zarządza pamięcią z tej i owej strony poznamy przy okazji kilka smaczków, ciekawostek ale i zagrożeń.
“Dziesięć serwerów poproszę!“, czyli co może Ci zaoferować definiowanie infra...The Software House
Niezależnie od tego, czy jesteście developerami, sysadminami, czy też DevOps Engineers – prawie na pewno mieliście doświadczenie z webowymi panelami dostawców usług infrastrukturalnych takich jak AWS, GCP czy też OVH. Z poziomu tych paneli da się “wyklikać” wszystko, czego potrzeba, ale… czy aby na pewno tędy droga? Środowiskiem bardziej naturalnym dla każdego inżyniera jest wszakże edytor tekstu (czy też IDE) oraz różnorakie polecenia wydawane komputerowi w formie skryptów. Czemu by więc z tego nie skorzystać? Jeśli od klikania bez możliwości pomyłki boli Was ręka, zainwestuj w podkładkę pod mysz… ale przede wszystkim wpadnij na prelekcję Piotra, na której to opowie o założeniach podejścia IaC, jego zaletach oraz przedstawi najpopularniejsze narzędzia.
Odkryj nowe możliwości platformy .NET 2005
Visual C# 2005 to najnowsza wersja języka programowania uważanego przez wielu programistów za najlepszy język służący do tworzenia aplikacji dla platformy .NET. W połączeniu z nową biblioteką klas .NET i nowymi możliwościami środowiska Visual Studio 2005 druga edycja języka C# stała się jeszcze doskonalsza. Pisanie programów wymaga znacznie mniejszych nakładów pracy, a nowe elementy umożliwiają realizację większej ilości zadań programistycznych.
Aby poznać nowe możliwości języka C#, sięgnij po książkę "Visual C# 2005. Zapiski programisty". W tej wzorowanej na zeszytach laboratoryjnych publikacji znajdziesz notatki programistów, którzy jako pierwsi zetknęli się z tą technologią. Nie ma w niej teoretycznych wywodów, diagramów i niepotrzebnych informacji. Wykonując 50 ćwiczeń demonstrujących poszczególne aspekty tworzenia aplikacji, poznasz prostotę stosowania nowych elementów i mechanizmów i przekonasz się, jak wiele udogodnień wnosi do pracy programisty Visual C# 2005.
* Stosowanie klas generycznych
* Korzystanie z metod anonimowych
* Refaktoryzacja kodu źródłowego
* Tworzenie interfejsów użytkownika i formularzy
* Mechanizmy szybkiej instalacji aplikacji
* Zabezpieczanie aplikacji WWW
* Personalizacja stron WWW z użyciem motywów i szablonów
* Połączenia z bazą danych
JDD2014: JAVA.util.concurrent czyli wielowątkowość z różnych perspektyw, tych...PROIDEA
Wielowątkowość to temat przewijający się często w aplikacjach. Czasem tworzona ręcznie, czasem przykryta przez frameworki. Omówione zostaną niektóre elementy pakietu java.util.concurrent, które można wykorzystać zarówno do implementacji wielowątkowości w swoich aplikacjach jak i bezpiecznego wykorzystywania jej w gotowych projektach opartych na gotowych frameworkach. Przyglądniemy się również sposobom wykorzystania wielowątkowości w JavaEE np w komponentach EJB.
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.
Doskonałe źródło wiedzy dla wszystkich programistów C#
* Szczegółowe omówienie C# i .NET w wersji 2.0
* Techniki tworzenia i zabezpieczania aplikacji oraz zarządzania kodem źródłowym i wersjami
* Dziesiątki przykładów i kodów źródłowych
Platforma .NET i język C# spowodowały prawdziwą rewolucję na rynku narzędzi programistycznych. Wersja 2.0 przyniosła kilka interesujących rozwiązań, w tym nowe typy danych, komponenty i klasy. Dodatkowe funkcje języka C# pozwalają na przyspieszenie i usprawnienie procesu tworzenia aplikacji oraz jej wdrażania i rozwijania. Dzięki platformie .NET przygotowanie wydajnej, bezpiecznej i łatwej do rozbudowy aplikacji stało się znacznie prostsze i szybsze.
Książka "C# i .NET" przedstawia możliwości platformy .NET i napisanego specjalnie dla niej języka C#. Opisuje elementy platformy, składnię i możliwości języka C# oraz zagadnienia związane z tworzeniem programów za pomocą tych narzędzi. Omawia zasady pisania aplikacji Window Forms i efektywne techniki stosowania klas graficznych z biblioteki GDI+. Charakteryzuje także technologię ADO.NET, metody korzystania z plików XML, przetwarzanie wielowątkowe oraz techniki tworzenia wydajnych aplikacji internetowych w technologii ASP.NET. Szczególną uwagę poświęcono bezpieczeństwu programów i danych oraz skalowaniu i lokalizacji oprogramowania.
* Elementy platformy .NET
* Podstawy języka C#
* Praca z klasami i obiektami w C#
* Przetwarzanie tekstu oraz operacje wejścia i wyjścia
* Tworzenie aplikacji Window Forms
* Korzystanie z biblioteki GDI+
* Połączenia z bazami danych za pomocą ADO.NET
* Aplikacje wielowątkowe oraz rozproszone
* Tworzenie aplikacji internetowych
Jeśli chcesz napisać w C# aplikację dobrej jakości, sięgnij po tę książkę.
Platforma .NET staje się coraz bardziej popularna. Powstaje coraz więcej aplikacji realizowanych właśnie pod jej kątem. Udostępniane przez platformę .NET mechanizmy pozwalają na szybkie tworzenie aplikacji, co przysparza jej wielu zwolenników. Do stworzenia aplikacji nie wystarczą jednak tylko mechanizmy, nawet najlepsze. Niezbędne jest wygodne i uniwersalne środowisko programowania, jakim niewątpliwie jest Delphi. Jego najnowsza wersja umożliwia pełne wykorzystanie potencjału platformy .NET.
"Delphi dla .NET. Vademecum profesjonalisty" to podręcznik przedstawiający możliwości tworzenia aplikacji .NET za pomocą narzędzia programistycznego firmy Borland. W książce zamieszczono praktyczne przykłady, omówienie ciekawych technik oraz przydatne wskazówki na temat efektywnego korzystania z potencjału platformy .NET Framework. Książka zawiera dokładne omówienie języka programowania Delphi, zaawansowanych zagadnień związanych z programowaniem dla platformy .NET (w tym z zarządzaniem pamięcią), mechanizmów COM-Interop i Reflection, biblioteki GDI+, wytwarzania komponentów typu Windows Forms oraz Web Forms i wiele innych. Znajdziesz tu także solidną analizę kluczowych technologii platformy .NET, takich jak ADO.NET i ASP.NET, włącznie z mnóstwem przykładów demonstrujących ich możliwości.
* Podstawowe wiadomości o platformie .NET i rodzaje aplikacji .NET
* Przegląd elementów platformy .NET
* Delphi for .NET -- środowisko i język programowania
* Biblioteka klas platformy .NET
* Korzystanie z biblioteki GDI+
* Środowisko Mono
* Programowanie wielowątkowe
* Usługi COM Interop i Platform Invocation Service
* Programowanie aplikacji bazodanowych
* Tworzenie stron WWW w technologii ASP.NET
Jeśli szukasz książki poświęconej technologii .NET i programowaniu w języku Delphi aplikacji zgodnych z tą technologią, trafiłeś najlepiej, jak tylko mogłeś.
O autorze:
Xavier Pacheco jest autorem bestsellerowych książek o środowisku Delphi, jest znanym na całym świecie programistą, autorem, konsultantem i wykładowcą.
[więcej...]
Stwórz aplikacje internetowe w technologii ASP.NET 3.5
* Poznaj i skonfiguruj środowisko programistyczne
* Zaprojektuj strukturę aplikacji
* Połącz aplikację z bazą danych
* Wyświetl dane na stronach
Technologie PHP i ASP.NET mają kilka cech wspólnych — obie służą do tworzenia aplikacji internetowych, uruchamianych za pośrednictwem przeglądarki internetowej, i generują wynik swojego działania w postaci dokumentów XHTML. Jednak istnieje między nimi jedna istotna różnica — PHP wykorzystuje rozwiązania open source, a ASP.NET rozwiązania komercyjne, rozwijane przez firmę Microsoft. ASP.NET opiera się na platformie .NET — uniwersalnym frameworku, pozwalającym na korzystanie z różnych języków programowania w celu tworzenia skalowalnych, szybkich i łatwych do rozwijania aplikacji sieciowych. Nie bez znaczenia jest także środowisko programistyczne — Visual Studio to doskonałe narzędzie, znacznie przyspieszające i usprawniające proces tworzenia oprogramowania.
„ASP.NET 3.5 dla programistów PHP” to wprowadzenie do technologii ASP dla wszystkich twórców aplikacji internetowych, którzy dotychczas korzystali z PHP. Czytając tę książkę, zrozumiesz główne zasady korzystania z platformy .NET i techniki budowania aplikacji sieciowych. Dowiesz się, jak skonfigurować środowisko pracy i zaprojektować strukturę aplikacji. Nauczysz się korzystać z najważniejszych elementów platformy .NET — kontrolek będących gotowymi „cegiełkami” do budowy stron internetowych ASP. Poznasz podstawowe kontrolki, tworzące interfejs użytkownika i zarządzające sesją, połączysz aplikację z bazą danych i zastosujesz kontrolki do wyświetlenia danych na stronie. Przeczytasz o sprawdzaniu poprawności danych wprowadzanych do formularzy i przypisywaniu ról użytkownikom aplikacji. Znajdziesz tu także informacje o tym, w jaki sposób wykorzystać technologię AJAX do budowy interfejsów użytkownika aplikacji ASP.NET.
* Porównanie technologii służących do tworzenia aplikacji sieciowych
* Konfiguracja bazy MS SQL i instalacja narzędzi programistycznych
* Kontrolki interfejsu użytkownika
* Zarządzanie sesją i plikami cookie
* Komunikacja z bazami danych za pomocą ADO.NET
* Wyświetlanie danych na stronach
* Weryfikacja poprawności danych z formularzy
* Obsługa kont użytkowników
* AJAX w aplikacjach ASP.NET
Spróbuj czegoś nowego. Może w ASP.NET 3.5 odnajdziesz to, czego brakowało Ci w PHP?
Developing native-like Windows application using JavaScript, SSE, eZ Platform...Piotr Nalepa
The presentation is in Polish, but you can get the most important pieces of information form the code in the slides.
W prezentacji omówiłem sposób tworzenia aplikacji Windows z wykorzystaniem języka JavaScript, systemu CMS eZ Platform oraz narzędzia Electron udostępnionego przez Githuba. Aplikacja korzysta z powiadomień typu push i do tego celu wykorzystuję SSE - Server Sent Events.
Konrad Kokosa - Pamięć w .NET - od ogólu do szczegółu- 4developers2016PROIDEA
.NET ma zarządzaną pamięć, to wie każdy. Ale jak to wszystko naprawdę działa? Czy mamy się w ogóle czym przejmować? Czy znajomość szczegółów implementacyjnych Garbage Collectora jest nam do czegoś potrzebna i co z tego wynika dla codziennego życia .NET deva? Przyglądając się temu jak CLR zarządza pamięcią z tej i owej strony poznamy przy okazji kilka smaczków, ciekawostek ale i zagrożeń.
“Dziesięć serwerów poproszę!“, czyli co może Ci zaoferować definiowanie infra...The Software House
Niezależnie od tego, czy jesteście developerami, sysadminami, czy też DevOps Engineers – prawie na pewno mieliście doświadczenie z webowymi panelami dostawców usług infrastrukturalnych takich jak AWS, GCP czy też OVH. Z poziomu tych paneli da się “wyklikać” wszystko, czego potrzeba, ale… czy aby na pewno tędy droga? Środowiskiem bardziej naturalnym dla każdego inżyniera jest wszakże edytor tekstu (czy też IDE) oraz różnorakie polecenia wydawane komputerowi w formie skryptów. Czemu by więc z tego nie skorzystać? Jeśli od klikania bez możliwości pomyłki boli Was ręka, zainwestuj w podkładkę pod mysz… ale przede wszystkim wpadnij na prelekcję Piotra, na której to opowie o założeniach podejścia IaC, jego zaletach oraz przedstawi najpopularniejsze narzędzia.
Odkryj nowe możliwości platformy .NET 2005
Visual C# 2005 to najnowsza wersja języka programowania uważanego przez wielu programistów za najlepszy język służący do tworzenia aplikacji dla platformy .NET. W połączeniu z nową biblioteką klas .NET i nowymi możliwościami środowiska Visual Studio 2005 druga edycja języka C# stała się jeszcze doskonalsza. Pisanie programów wymaga znacznie mniejszych nakładów pracy, a nowe elementy umożliwiają realizację większej ilości zadań programistycznych.
Aby poznać nowe możliwości języka C#, sięgnij po książkę "Visual C# 2005. Zapiski programisty". W tej wzorowanej na zeszytach laboratoryjnych publikacji znajdziesz notatki programistów, którzy jako pierwsi zetknęli się z tą technologią. Nie ma w niej teoretycznych wywodów, diagramów i niepotrzebnych informacji. Wykonując 50 ćwiczeń demonstrujących poszczególne aspekty tworzenia aplikacji, poznasz prostotę stosowania nowych elementów i mechanizmów i przekonasz się, jak wiele udogodnień wnosi do pracy programisty Visual C# 2005.
* Stosowanie klas generycznych
* Korzystanie z metod anonimowych
* Refaktoryzacja kodu źródłowego
* Tworzenie interfejsów użytkownika i formularzy
* Mechanizmy szybkiej instalacji aplikacji
* Zabezpieczanie aplikacji WWW
* Personalizacja stron WWW z użyciem motywów i szablonów
* Połączenia z bazą danych
JDD2014: JAVA.util.concurrent czyli wielowątkowość z różnych perspektyw, tych...PROIDEA
Wielowątkowość to temat przewijający się często w aplikacjach. Czasem tworzona ręcznie, czasem przykryta przez frameworki. Omówione zostaną niektóre elementy pakietu java.util.concurrent, które można wykorzystać zarówno do implementacji wielowątkowości w swoich aplikacjach jak i bezpiecznego wykorzystywania jej w gotowych projektach opartych na gotowych frameworkach. Przyglądniemy się również sposobom wykorzystania wielowątkowości w JavaEE np w komponentach EJB.
4. Zdaniem przeciwników
• Wolny
• Skryptowy
• Dynamiczny (czyli gdzie są moje typy !?)
• Egzotyczny (jak sama nazwa wskazuje pewnie
trudno go znaleźd pod naszą szerokością
geograficzną)
• … no i te wcięcia…
5. Fakty
• Blisko 20-letnia historia
• Dojrzały proces rozwoju języka, mocno
angażujący społecznośd
• Elastycznośd, prostota, przenośnośd
• Zen-compliant (patrz: import this)
6. Klucz do sukcesu - zwięzłość
Programista to nie dziennikarz, nie
dostaje pieniędzy za „wierszówkę”
7. Klucz do sukcesu - czytelność
public static class Math
{
public static decimal Abs(decimal value); „Duck typing” - Metafora
public static double Abs(double value); kaczki sprawdza się
public static float Abs(float value); zaskakująco skutecznie
public static int Abs(int value);
public static long Abs(long value);
public static sbyte Abs(sbyte value);
public static short Abs(short value);
...
}
•Uważasz, że twój kolega to
idiota?
Zabezpieczaj się
Stosuj testy jednostkowe
Porozmawiaj z szefem
11. Python na świecie
• Kto korzysta: Google, Yahoo, YouTube, Pixar,
Sony…
• Główne zastosowania: serwisy WWW,
skryptowanie, badania, projekty integracyjne
• Sztandarowe projekty:
– Django (patrz grono.net)
– Pylons (patrz webhosting.pl)
12. Implementacje
• CPython – najpopularniejsza, uznawana za referencyjną
– Obecnie dostępna w wersjach 2.6.x oraz 3.0.x
– http://www.python.org
• Jython – 100% Java
– Łatwa integracja z bibliotekami JDK
– Trudny do przewidzenia rozwój (oficjalna stabilna wersja to
2.2)
– http://www.jython.org
• PyPy
(http://codespeak.net/pypy/dist/pypy/doc/home.html)
• IronPython – 100% .NET
– http://www.codeplex.com/IronPython
13. Python a Microsoft
• Python for Windows Extensions
– PythonWin – prosty edytor (kolorowanie
składni, podpowiedzi) + interaktywna konsola
– Zbiór modułów pozwalających na integrację z
Windows
(odbc, gui, process, pipe, net, clipboard, shell…)
– Integracja z komponentami COM (klient lub
serwer)
15. Dlaczego IronPython?
• Autorem jest Jim Hugunin, inicjator
implementacji Jythona (Jpythona)
• Subiektywne benchmarki (pystone) – IP 1.7x
szybszy od CPythona
• Wersja 2.0 – 2x szybsza
• GIL-free (nareszcie!)
16. IP – założenia projektowe
• Pełna implementacja języka
– Gotowa do użycia przez doświadczonych programistów
– Kompatybilna (testy regresyjne, biblioteki)
– Brak efektu gonienia króliczka
• Stabilna Wersja 2.0 (kompatybilna z CPython 2.5)
• rozwijana wersja 2.6 (kompatybilna z numeracją CPythona )
• Dostęp do dobrodziejstw .NET
– Współpraca z innymi językami dostępnymi na platformie
– Konsumpcja bibliotek standardowych
– … oraz gotowych narzędzi (VS, debugger, profiler…)
• Warto zajrzed do VS 2008 SDK
– Przykład wykorzystania DLR
20. Integracja z .NET – osadzanie 1/3
• Cel: rozszerzanie funkcjonalności (istniejących)
aplikacji .NET poprzez skrypty tworzone w IP
• Scenariusze:
– Konsola dla zaawansowanych użytkowników
– Zastępca/następca VBA
– Otwarta architektura pozwalająca na tworzenia
własnych rozszerzeo
21. Integracja z .NET-osadzanie 2/3
Krok 1:
Dodaj referencje do:
– Microsoft.Scripting.dll
Dynamic Language Runtime
– Microsoft.Scripting.Core.dll
– IronPython.dll
IronPython
– IronPython.Modules.dll
– Microsoft.Scripting.ExtensionAttribute.dll
Jeśli ma działać z .NET 2.0
22. Integracja z .NET – osadzanie 3/3
Krok 2:
Określ zakres
widoczności dla Wykonaj Skrypt
•CreateEngine() skryptu •CreateScriptSourceFrom
File()
•CreateScope() •CreateScriptSourceFrom •Execute()
String()
Zainicjuj silnik
Wskaż źródło skryptu
skryptowy
24. IP a WWW
• Prace dotyczą zarówno ASP.NET i ASP.NET MVC
• Za:
– Działa
– (Szczególnie w przypadku MVC) ułatwia kodowanie
(potencjalnie łatwiejsze TDD)
– Spark – silnik widoków wykorzystujący m.in. IP
• Przeciw:
– Brak sensownej integracji z VS (projekty, intellisense
itd.)
28. Ku chwale platformy
• Języki dynamiczne pokazują w praktyce
elastycznośd i uniwersalnośd .NET
• Języki statyczne coraz częściej inspirują się
konkurencją:
– Patrz: wyrażenia lambda, typy anonimowe, typy
domniemane (var)
– Wpływ jeszcze bardziej widoczny w VS 2010 (C#
4.0, F#)
29. Ku chwale platformy 2/2
Calculator calc = GetCalculator();
int sum = calc.Add(10, 20);
C# 3.0
object calc = GetCalculator();
Type calcType = calc.GetType();
object res =
calcType.InvokeMember(quot;Addquot;, BindingFlags.Inv
okeMethod, null, new object[] { 10, 20 });
int sum = Convert.ToInt32(res);
C# 4.0
dynamic calc = GetCalculator();
int sum = calc.Add(10, 20);
30. Podsumowanie
• Języki dynamiczne stanowią istotny element
rozwoju platformy .NET
• Warto znad ich rolę i wykorzystad potencjał
• IronPython to ciekawa propozycja zarówno dla
środowiska MS, jak i open source
31. Zasoby
• Strona główna projektu
http://www.codeplex.com/IronPython
• ASP.NET i języki dynamiczne
http://aspnet.codeplex.com/Wiki/View.aspx?title=Dynamic%20Langua
ge%20Support
• DLR w Silverlight
http://www.codeplex.com/sdlsdk
• Ciekawostki
http://www.voidspace.org.uk/ironpython/index.shtml
http://www.voidspace.org.uk/ironpython/planet/
http://www.resolversystems.com/
http://blogs.msdn.com/michalz
34. BizSpark - oferta
Pakiet narzędzi Wymagania:
• Expression Studio
• Kryteria:
• VS TS w/MSDN Premium
• Team Foundation Server (TFS)
– Organizacja zajmuje się tworzeniem
oprogramowania (produktu lub usługi)
– Mniej niż 3 lata na rynku
Licencje produkcyjne dla aplikacji – Roczny przychód poniżej 0,5 mln USD
hostowanych – Działalnośd prywatna
• Windows Server
• SQL Server
• Licencje produkcyjne dotyczą wyłącznie
• SharePoint Portal Server
• Systems Center rozwiązao typu Software as a
• BizTalk Server Service, dostępnych publicznie poprzez
• Azure (w miarę dostępności) internet.
• Program trwa 3 lata:
– Wymagane jest coroczne przedłużanie
Narzędzia do użytku wewnętrznego członkostwa (weryfikacja statusu
• Live Workspace (w miarę prawnego przedsiębiorstwa)
dostępności) – Opłata członkowska wynosi 100 USD
(płatne po zakooczeniu uczestnictwa)
35. BizSpark - jak zacząć?
Wejdź na stronę www.microsoft.com/BizSpark
Wybierz i skontaktuj się z jednym z lokalnych partnerów programu
(network partners).
Po przejściu weryfikacji otrzymasz e-mailem unikalny identyfikator.
Wypełnij formularz rejestracyjny.
Witamy w BizSpark!