tag:blogger.com,1999:blog-38882190011724259442024-03-18T20:42:56.242+01:00Programowanie i Technologie(czyli C#, .NET, integracja, OPC, OPC UA i inne)Maciekhttp://www.blogger.com/profile/06107164682267258418noreply@blogger.comBlogger326125tag:blogger.com,1999:blog-3888219001172425944.post-41993022258375280002014-11-26T23:44:00.001+01:002014-11-26T23:49:50.927+01:00Prezentacja: Programowanie reaktywne na platformie Windows (ITAD) [PL]Dzisiaj na IT Academic Days na Politechnice Łódzkiej prowadziłem prezentację p.t. "Programowanie reaktywne na platformie Windows".<br>
<br>
<a href="http://maciej-progtech.blogspot.com/2014/11/prezentacja-programowanie-reaktywne-na.html#more">dalej / more >></a>Maciekhttp://www.blogger.com/profile/06107164682267258418noreply@blogger.com22tag:blogger.com,1999:blog-3888219001172425944.post-7568585961966179792013-08-26T21:38:00.000+02:002013-08-26T21:52:31.380+02:00Konferencje 2013 [PL]<div align="JUSTIFY" style="background: transparent; margin-bottom: 0.3cm; margin-top: 0.3cm;">
Nadchodząca jesień obfituje w konferencje:</div>
<ul>
<li><div align="JUSTIFY" style="background: transparent; margin-bottom: 0.3cm; margin-top: 0.3cm;">
DevDay 2013: <a href="http://www.devday.pl/">http://www.devday.pl/</a>
(20 września 2013 - Kraków)</div>
</li>
<li><div align="JUSTIFY" style="background: transparent; margin-bottom: 0.3cm; margin-top: 0.3cm;">
Microsoft Technology Summit 2013: <a href="http://www.mtskonferencja.pl/">http://www.mtskonferencja.pl/</a>
(22-23 października 2013 - Warszawa)</div>
</li>
<li><div align="JUSTIFY" style="background: transparent; margin-bottom: 0.3cm; margin-top: 0.3cm;">
Microsoft Innovation Summit 2013: <a href="http://www.innovationsummit.pl/">http://www.innovationsummit.pl/</a>
(13 listopada 2013 - Lublin)</div>
</li>
<li><div align="JUSTIFY" style="background: transparent; margin-bottom: 0.3cm; margin-top: 0.3cm;">
Mobilization 2013: <a href="http://2013.mobilization.pl/">http://2013.mobilization.pl</a>/ (26 padziernika 2013 - Probably the best city in the world – Łódź, Poland)</div>
</li>
</ul>
<div style="margin-bottom: 0cm;">
<br /></div>
Maciekhttp://www.blogger.com/profile/06107164682267258418noreply@blogger.com13tag:blogger.com,1999:blog-3888219001172425944.post-79472302056871642282013-01-16T23:36:00.000+01:002013-01-17T08:48:40.559+01:00Nowe ścieżki certyfikacyjne Microsoft'u [PL]<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgj-hsOUx4-amM2pQioecN8MZETpjGO2ojJSUQvQm6lSRTg43LpyFZeuqqXM_Lzc03sL02ev-cTGdi-qGlX8_oXo4yl2PsTwZto11k44uxRC2JDUiY05mtExH15G03n_TU0i7iH5QY-TZJY/s1600/MCSD.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgj-hsOUx4-amM2pQioecN8MZETpjGO2ojJSUQvQm6lSRTg43LpyFZeuqqXM_Lzc03sL02ev-cTGdi-qGlX8_oXo4yl2PsTwZto11k44uxRC2JDUiY05mtExH15G03n_TU0i7iH5QY-TZJY/s1600/MCSD.jpg"></a></div>
<div align="JUSTIFY" style="background: transparent; margin-bottom: 0.3cm; margin-top: 0.3cm;">
"New year. New certifications. New you." - przeczytałem
wczoraj w emailu. Dlaczego ? Ano w zeszłym roku zostało wydane
Visual Studio 2012 (a z nim .NET 4.5), Windows 8 z nowym App Store'm,
pojawił się więc idealny moment na zmiany w dotychczasowych
ścieżkach Microsoft'u. Przyjrzyjmy się więc, co się zmieniło...</div>
<a href="http://maciej-progtech.blogspot.com/2013/01/nowe-sciezki-certyfikacyjne-microsoftu.html#more">dalej / more >></a>Maciekhttp://www.blogger.com/profile/06107164682267258418noreply@blogger.com28tag:blogger.com,1999:blog-3888219001172425944.post-33434520433446937552013-01-05T15:57:00.000+01:002013-01-05T15:57:28.857+01:00Rok 2012 dla bloga "Programowanie i Technologie" – podsumowanie [PL]
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiJSK8R3YxGxZw_q4iJmeERsxGWYF4ycwJ0JWLCyGWmkkI4gB4d3EpLyaHETz58sEJvJSElDZZf5atXsM5BS4wbxBZrT8DJJ2aZIkM2l4feHIYJCdubo5SHdxhGsNjORwlRTJWqIAxMilbA/s1600/2012-stats.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiJSK8R3YxGxZw_q4iJmeERsxGWYF4ycwJ0JWLCyGWmkkI4gB4d3EpLyaHETz58sEJvJSElDZZf5atXsM5BS4wbxBZrT8DJJ2aZIkM2l4feHIYJCdubo5SHdxhGsNjORwlRTJWqIAxMilbA/s1600/2012-stats.jpg"></a></div>
<div align="JUSTIFY" style="background: transparent; margin-bottom: 0.3cm; margin-top: 0.3cm;">
Koniec roku i początek nowego roku to zawsze okres podsumowań.
Chciałbym spojrzeć na pewne dane, fakty zdarzenia związane z
rokiem 2012 w kontekście bloga „Programowanie i Technologie”.</div>
<a href="http://maciej-progtech.blogspot.com/2013/01/rok-2012-dla-bloga-programowanie-i.html#more">dalej / more >></a>Maciekhttp://www.blogger.com/profile/06107164682267258418noreply@blogger.com10tag:blogger.com,1999:blog-3888219001172425944.post-37296339173303611242012-09-23T22:29:00.000+02:002012-09-23T22:31:18.782+02:00NDepend na straży jakości kodu źródłowego [PL]<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiSEvxz-KUSafpBpL-z_YwSMNjb1WLc87XHyn0P7htVweCoGVcj0bGpqr4KQDZZGlsx_mQLM0I5c-kf92s9PaUGEALIm0wZj8AzWIrjva1raHuP22pjItUpCSqeQvw8nXBz1cRZC_JX32RF/s1600/maciej-progtech-ndepend-visual-baner.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" height="58" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiSEvxz-KUSafpBpL-z_YwSMNjb1WLc87XHyn0P7htVweCoGVcj0bGpqr4KQDZZGlsx_mQLM0I5c-kf92s9PaUGEALIm0wZj8AzWIrjva1raHuP22pjItUpCSqeQvw8nXBz1cRZC_JX32RF/s320/maciej-progtech-ndepend-visual-baner.jpg" width="320"></a></div>
<div align="JUSTIFY" style="background: transparent; margin-bottom: 0.3cm; margin-top: 0.3cm;">W ostatnim czasie zapoznawałem się trochę bliżej z narzędziem o nazwie <a href="http://www.ndepend.com/">NDepend</a>. Przez ten czas na pewno nie stałem się ekspertem w korzystaniu z NDepend, chciałbym jednak podzielić się moimi subiektywnymi odczuciami na jego temat. Nie będę tutaj wymieniał jego funkcji (można to znaleźć na <a href="http://www.ndepend.com/">stronie producenta</a> lub w wielu innych wpisach), nie będę pisał jak zainstalować (bo to proste, choć mi się nie podobało - lubię instalować a nie rozpakowywać :) ), nie będę się zastanawiać czy warto tego narzędzia używać (niech każdy wyrobi sobie własne zdanie, <a href="http://www.ndepend.com/Purchase.aspx">licencja jest
odpłatna</a>). Skupię się natomiast na elementach, które ja bym wykorzystał, które mi się spodobały lub które nie wywarły najlepszego wrażenia. Zapraszam do lektury.</div><a href="http://maciej-progtech.blogspot.com/2012/09/ndepend-na-strazy-jakosci-kodu.html#more">dalej / more >></a>Maciekhttp://www.blogger.com/profile/06107164682267258418noreply@blogger.com5tag:blogger.com,1999:blog-3888219001172425944.post-30690728175289973952012-07-20T23:45:00.000+02:002012-07-20T23:45:37.563+02:00OPC dla Androida? [PL]<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhzQB7cwoZ9xOod2MwLhn0iGP5RiPu1bPxpekP2aYizGnOmlwgMWRcdCOwp2EOQRz2NaLdXXHoWSFOF9vLbPmAEV0Jsw0YW5Wf0Jybb4YNfGslTDQA_UcIDvBKj1VlBSWqZevapGu3XuEC0/s1600/opc-questions.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhzQB7cwoZ9xOod2MwLhn0iGP5RiPu1bPxpekP2aYizGnOmlwgMWRcdCOwp2EOQRz2NaLdXXHoWSFOF9vLbPmAEV0Jsw0YW5Wf0Jybb4YNfGslTDQA_UcIDvBKj1VlBSWqZevapGu3XuEC0/s1600/opc-questions.jpg"></a></div>
Ostatnio otrzymałem maila o treści zbliżonej do: <i>"Jestem
studentem i mam teraz praktyki w firmie związanej z przemysłem.
Moim zadaniem jest nawiązanie komunikacji z serwerem OPC, czyli
muszę zrobić klienta OPC. Aplikacja ma być na Androida. Mam duży
problem z nawiązaniem łączności, nie wiem jakich bibliotek
używać, niekoniecznie muszą być darmowe. Byłbym bardzo wdzięczny
za pomoc za jakieś informacje jak mógłbym to zrealizować."</i>
Postanowiłem zamiast bezpośredniej odpowiedzi, opublikować
krótkiego posta na blogu (a może się jeszcze komuś przyda??).<br>
<a href="http://maciej-progtech.blogspot.com/2012/07/opc-dla-androida-pl.html#more">dalej / more >></a>Maciekhttp://www.blogger.com/profile/06107164682267258418noreply@blogger.com8tag:blogger.com,1999:blog-3888219001172425944.post-63931894001705683372012-03-25T23:55:00.000+02:002012-03-26T19:46:50.678+02:00Wprowadzenie do Managed Add-in Framework (MAF, System.Addin) (spis treści) [PL]<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiSeDo6_Jv-FCYWKzYhhbt6QBNaMbW2UKRwBzDBVGo5vUIeHABt8mV9rbaTzqIgFSRr3dUQaxv8oGo_K7WvehrTNR2HCJvANhIDJi1DwtnnmM2wfJj-cgHffTP63k46KXci6XmC4qRLdmWv/s1600/maciej-progtech-maf-logo.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiSeDo6_Jv-FCYWKzYhhbt6QBNaMbW2UKRwBzDBVGo5vUIeHABt8mV9rbaTzqIgFSRr3dUQaxv8oGo_K7WvehrTNR2HCJvANhIDJi1DwtnnmM2wfJj-cgHffTP63k46KXci6XmC4qRLdmWv/s1600/maciej-progtech-maf-logo.jpg"></a></div>
<div align="JUSTIFY" style="background: transparent; margin-bottom: 0.3cm; margin-top: 0.3cm;">W ramach zakończenia cyklu poświęconego Managed Add-in Framework (MAF, System.Addin) i aby ułatwić czytanie, przygotowałem spis artykułów związanych z tym tematem. Zapraszam do przeczytania całego cyklu:</div> <br><a href="http://maciej-progtech.blogspot.com/2012/03/wprowadzenie-do-managed-add-in.html#more">dalej / more >></a>Maciekhttp://www.blogger.com/profile/06107164682267258418noreply@blogger.com2tag:blogger.com,1999:blog-3888219001172425944.post-18282622865264816832012-03-23T07:44:00.000+01:002012-03-23T23:49:08.765+01:00[MAF 06] MAF podsumowanie, czyli wady i zalety [PL]<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEixt1sY4fs48sH8b_gG7tm_NG3lWcdiJbmZ8XNoUyHC7mHuMYGJy_t-nqiTuXfH0bahL-2oKBBVrty3OZitT2EaA7kIpYT9Xliu-mMmVOYFAq2lwZm4OKAMgCR_033CjUmFGuaK2gBzpQTq/s1600/maciej-progtech-maf-system-addin-plus-minus-logo.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEixt1sY4fs48sH8b_gG7tm_NG3lWcdiJbmZ8XNoUyHC7mHuMYGJy_t-nqiTuXfH0bahL-2oKBBVrty3OZitT2EaA7kIpYT9Xliu-mMmVOYFAq2lwZm4OKAMgCR_033CjUmFGuaK2gBzpQTq/s1600/maciej-progtech-maf-system-addin-plus-minus-logo.jpg"></a></div><div align="JUSTIFY" style="background: transparent; margin-bottom: 0.3cm; margin-top: 0.3cm;"><a href="" name="__DdeLink__2972_90477193"></a>
W ramach zakończenia serii wpisów związanych Managed Add-in Framework (MAF / System.AddIn) (<a href="http://maciej-progtech.blogspot.com/2012/03/maf-01-rzut-okiem-na-managed-aadd-in.html">[1]</a>, <a href="http://maciej-progtech.blogspot.com/2012/03/maf-02-przykad-prostej-aplikacji-z.html">[2]</a>, <a href="http://maciej-progtech.blogspot.com/2012/03/maf-03-managed-add-in-framework.html">[3]</a>, <a href="http://maciej-progtech.blogspot.com/2012/03/maf-04-managed-add-in-framework.html">[4]</a>, <a href="http://maciej-progtech.blogspot.com/2012/03/maf-05-managed-add-in-framework.html">[5]</a>) chciałbym dodać jeszcze kilka słów w ramach podsumowania. </div> <a href="http://maciej-progtech.blogspot.com/2012/03/maf-06-maf-podsumowanie-czyli-wady-i.html#more">dalej / more >></a>Maciekhttp://www.blogger.com/profile/06107164682267258418noreply@blogger.com1tag:blogger.com,1999:blog-3888219001172425944.post-68574092421251110282012-03-19T23:23:00.000+01:002012-03-21T06:41:46.058+01:00Reactive Extensions (Rx) v2.0 Beta już dostępna [PL]<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiogJbB23WwvhsUHS725OlWVsmgQwBZC0I5aZVagpTdeajMq2A82jxsc1nEyCoConUccosgswFseDE7qFSokVjb-XreHKnsfqtse9TMmd1vr3s6UnZIJZrNmROxZh7Nd0MaJcBEupCn-YLI/s1600/Rx_Logo_biale_tlo_120.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiogJbB23WwvhsUHS725OlWVsmgQwBZC0I5aZVagpTdeajMq2A82jxsc1nEyCoConUccosgswFseDE7qFSokVjb-XreHKnsfqtse9TMmd1vr3s6UnZIJZrNmROxZh7Nd0MaJcBEupCn-YLI/s1600/Rx_Logo_biale_tlo_120.jpg"></a></div><div align="JUSTIFY" style="background: transparent; margin-bottom: 0.3cm; margin-top: 0.3cm;">Na tym blogu pojawiło się już trochę informacji na temat <a href="http://maciej-progtech.blogspot.com/search/label/RX">Reactive Extensions (Rx)</a>, dlatego dla zainteresowanych mam informację, że niedawno udostępniona została wersja beta kolejnej odsłony
Reactive Extensions. </div> <a href="http://maciej-progtech.blogspot.com/2012/03/reactive-extensions-rx-v20-beta-juz.html#more">dalej / more >></a>Maciekhttp://www.blogger.com/profile/06107164682267258418noreply@blogger.com1tag:blogger.com,1999:blog-3888219001172425944.post-15090808538992122332012-03-12T07:00:00.000+01:002012-03-13T23:28:22.746+01:00[MAF 05] Managed Add-in Framework (System.AddIn), a bezpieczeństwo wywołania obcego assembly [PL]<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiSeDo6_Jv-FCYWKzYhhbt6QBNaMbW2UKRwBzDBVGo5vUIeHABt8mV9rbaTzqIgFSRr3dUQaxv8oGo_K7WvehrTNR2HCJvANhIDJi1DwtnnmM2wfJj-cgHffTP63k46KXci6XmC4qRLdmWv/s1600/maciej-progtech-maf-logo.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiSeDo6_Jv-FCYWKzYhhbt6QBNaMbW2UKRwBzDBVGo5vUIeHABt8mV9rbaTzqIgFSRr3dUQaxv8oGo_K7WvehrTNR2HCJvANhIDJi1DwtnnmM2wfJj-cgHffTP63k46KXci6XmC4qRLdmWv/s1600/maciej-progtech-maf-logo.jpg"></a></div><div align="JUSTIFY" style="background: transparent; margin-bottom: 0.3cm; margin-top: 0.3cm;">W ramach kontynuacji serii wpisów związanych Managed Add-in Framework (MAF / System.AddIn) (<a href="http://maciej-progtech.blogspot.com/2012/03/maf-01-rzut-okiem-na-managed-aadd-in.html">[1]</a>, <a href="http://maciej-progtech.blogspot.com/2012/03/maf-02-przykad-prostej-aplikacji-z.html">[2]</a>, <a href="http://maciej-progtech.blogspot.com/2012/03/maf-03-managed-add-in-framework.html">[3]</a>, <a href="http://maciej-progtech.blogspot.com/2012/03/maf-04-managed-add-in-framework.html">[4]</a>) chciałbym pokazać przykład pokazujący, w jaki sposób MAF rozwiązuje problem z izolacją ładowanych wtyczek, tak by nie pozwolić na uruchomienie niebezpiecznego kodu. </div><a href="http://maciej-progtech.blogspot.com/2012/03/maf-05-managed-add-in-framework.html#more">dalej / more >></a>Maciekhttp://www.blogger.com/profile/06107164682267258418noreply@blogger.com2tag:blogger.com,1999:blog-3888219001172425944.post-55338369316479063812012-03-10T07:15:00.000+01:002012-03-11T21:27:01.214+01:00Prezentacja: „Rozszerzalne aplikacje w .NET (czyli MAF i MEF)” [PL]<div class="separator" style="clear: both; text-align: center;"> <a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiWAdV2yQs_d52_JJGliMt-fr72oT9TlVXr_INFYu0L7jqIDiLYCzPPN_qrEDnDD1OyY0QVUrS_dXn9NVdTGjwJN0Je3bVkVQY5_758DIZAyfOfX_xsVWHNJWe0XY89cIJZ_aiKAh0P8PaG/s1600/liftarn_Plug_and_outlet.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiWAdV2yQs_d52_JJGliMt-fr72oT9TlVXr_INFYu0L7jqIDiLYCzPPN_qrEDnDD1OyY0QVUrS_dXn9NVdTGjwJN0Je3bVkVQY5_758DIZAyfOfX_xsVWHNJWe0XY89cIJZ_aiKAh0P8PaG/s1600/liftarn_Plug_and_outlet.png"></a></div> Niedawno uczestniczyłem w Study Group poświęconej architekturze aplikacji organizowanym przez Łódzką grupę profesjonalistów IT & .NET, gdzie przedstawiałem prezentację p.t. "Rozszerzalne aplikacje w .NET (czyli MAF i MEF)". Tych, którzy chcieliby się zapoznać z prezentacją lub kodem źródłowym, który powstał podczas prezentacji, zapraszam do obejrzenia mojej prezentacji umieszczonej na portalu SlideShare.<br> <a href="http://maciej-progtech.blogspot.com/2012/03/prezentacja-rozszerzalne-aplikacje-w.html#more">dalej / more >></a>Maciekhttp://www.blogger.com/profile/06107164682267258418noreply@blogger.com1tag:blogger.com,1999:blog-3888219001172425944.post-45849518527864602072012-03-09T07:03:00.000+01:002012-03-09T23:53:17.750+01:00[MAF 04] Managed Add-in Framework (System.AddIn) – przykład z kompatybilnością [PL]<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiSeDo6_Jv-FCYWKzYhhbt6QBNaMbW2UKRwBzDBVGo5vUIeHABt8mV9rbaTzqIgFSRr3dUQaxv8oGo_K7WvehrTNR2HCJvANhIDJi1DwtnnmM2wfJj-cgHffTP63k46KXci6XmC4qRLdmWv/s1600/maciej-progtech-maf-logo.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiSeDo6_Jv-FCYWKzYhhbt6QBNaMbW2UKRwBzDBVGo5vUIeHABt8mV9rbaTzqIgFSRr3dUQaxv8oGo_K7WvehrTNR2HCJvANhIDJi1DwtnnmM2wfJj-cgHffTP63k46KXci6XmC4qRLdmWv/s1600/maciej-progtech-maf-logo.jpg"></a></div><div align="JUSTIFY" style="background: transparent; margin-bottom: 0.3cm; margin-top: 0.3cm;">W ramach kontynuacji serii wpisów związanych Managed Add-in Framework (MAF / System.AddIn) (<a href="http://maciej-progtech.blogspot.com/2012/03/maf-01-rzut-okiem-na-managed-aadd-in.html">[1]</a>, <a href="http://maciej-progtech.blogspot.com/2012/03/maf-02-przykad-prostej-aplikacji-z.html">[2]</a>, <a href="http://maciej-progtech.blogspot.com/2012/03/maf-03-managed-add-in-framework.html">[3]</a>) chciałbym pokazać przykład pokazujący, w jaki sposób MAF rozwiązuje problem z kompatybilnością wtyczek po zmianie kontraktu. </div> <a href="http://maciej-progtech.blogspot.com/2012/03/maf-04-managed-add-in-framework.html#more">dalej / more >></a>Maciekhttp://www.blogger.com/profile/06107164682267258418noreply@blogger.com0tag:blogger.com,1999:blog-3888219001172425944.post-76257456912145042082012-03-07T21:51:00.000+01:002012-03-08T23:49:20.235+01:00[MAF 03] Managed Add-in Framework (System.AddIn) w pigułce (MAF in a nutshell) [PL]<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiSeDo6_Jv-FCYWKzYhhbt6QBNaMbW2UKRwBzDBVGo5vUIeHABt8mV9rbaTzqIgFSRr3dUQaxv8oGo_K7WvehrTNR2HCJvANhIDJi1DwtnnmM2wfJj-cgHffTP63k46KXci6XmC4qRLdmWv/s1600/maciej-progtech-maf-logo.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiSeDo6_Jv-FCYWKzYhhbt6QBNaMbW2UKRwBzDBVGo5vUIeHABt8mV9rbaTzqIgFSRr3dUQaxv8oGo_K7WvehrTNR2HCJvANhIDJi1DwtnnmM2wfJj-cgHffTP63k46KXci6XmC4qRLdmWv/s1600/maciej-progtech-maf-logo.jpg"></a></div><div style="margin-bottom: 0cm;">Na podstawie dwóch ostatnich wpisów ("<a href="http://maciej-progtech.blogspot.com/2012/03/maf-01-rzut-okiem-na-managed-aadd-in.html">[MAF
01] Rzut okiem na Managed Aadd-in Framework (System.AddIn)</a>" , "<a href="http://maciej-progtech.blogspot.com/2012/03/maf-02-przykad-prostej-aplikacji-z.html">[MAF 02] Przykład prostej aplikacji z obsługą wtyczek z wykorzystaniem Managed Aadd-in Framework (System.AddIn)</a>") oraz MSDN, postanowiłem skompresować przedstawione informacje, by zebrać je wszystkie na jednej kartce papieru.</div><a href="http://maciej-progtech.blogspot.com/2012/03/maf-03-managed-add-in-framework.html#more">dalej / more >></a>Maciekhttp://www.blogger.com/profile/06107164682267258418noreply@blogger.com0tag:blogger.com,1999:blog-3888219001172425944.post-82226726156689616822012-03-04T00:07:00.000+01:002012-03-05T19:16:49.516+01:00[MAF 02] Przykład prostej aplikacji z obsługą wtyczek z wykorzystaniem Managed Add-in Framework (System.AddIn) [PL]<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhhDgPFDX9kPXiJVNZdfZcXahixUeEjT7G5BlD9wt9Vfr7H5z7AsmIntSVqNE71AVptkZnSqIaYt4Odh1mJm88owMylG-3tv9Pi9Xk2Z2-eEHcrDICZmuqNmfeYZekTxAXTcfhfZC4SVWI0/s1600/MAF-sample1-logo.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhhDgPFDX9kPXiJVNZdfZcXahixUeEjT7G5BlD9wt9Vfr7H5z7AsmIntSVqNE71AVptkZnSqIaYt4Odh1mJm88owMylG-3tv9Pi9Xk2Z2-eEHcrDICZmuqNmfeYZekTxAXTcfhfZC4SVWI0/s1600/MAF-sample1-logo.jpg"></a></div>
<div align="JUSTIFY" style="background: transparent; margin-bottom: 0.3cm; margin-top: 0.3cm;">W poprzednim wpisie przybliżyłem czytelnikom teorię związaną z MAF-em (patrz: "<a href="http://maciej-progtech.blogspot.com/2012/03/maf-01-rzut-okiem-na-managed-aadd-in.html">[MAF 01] Rzut okiem na Managed Aadd-in Framework (System.AddIn)</a>"), w tym wpisie chciałbym przedstawić prosty przykład aplikacji z obsługą wtyczek z wykorzystaniem Managed Aadd-in Framework (System.AddIn).</div><a href="http://maciej-progtech.blogspot.com/2012/03/maf-02-przykad-prostej-aplikacji-z.html#more">dalej / more >></a>Maciekhttp://www.blogger.com/profile/06107164682267258418noreply@blogger.com0tag:blogger.com,1999:blog-3888219001172425944.post-51261335559946799932012-03-02T00:07:00.000+01:002012-03-04T12:00:27.877+01:00[MAF 01] Rzut okiem na Managed Add-in Framework (System.AddIn) [PL]<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiSeDo6_Jv-FCYWKzYhhbt6QBNaMbW2UKRwBzDBVGo5vUIeHABt8mV9rbaTzqIgFSRr3dUQaxv8oGo_K7WvehrTNR2HCJvANhIDJi1DwtnnmM2wfJj-cgHffTP63k46KXci6XmC4qRLdmWv/s1600/maciej-progtech-maf-logo.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiSeDo6_Jv-FCYWKzYhhbt6QBNaMbW2UKRwBzDBVGo5vUIeHABt8mV9rbaTzqIgFSRr3dUQaxv8oGo_K7WvehrTNR2HCJvANhIDJi1DwtnnmM2wfJj-cgHffTP63k46KXci6XmC4qRLdmWv/s1600/maciej-progtech-maf-logo.jpg"></a></div>
<div align="JUSTIFY" style="background: transparent; margin-bottom: 0.3cm; margin-top: 0.3cm;">Nie dawno (patrz wpis: „<a href="http://maciej-progtech.blogspot.com/2012/02/rozszerzanie-aplikacji-net-czyli.html">Rozszerzanie aplikacji .NET (czyli plugin'y, add-in'y, MAF, MEF, itp. ...)</a>”) wspomniałem na tym blogu o Managed Aadd-in Framework (zwanego
również System.AddIn lub MAF), przyjrzyjmy się bliżej temu rozwiązaniu.</div> <a href="http://maciej-progtech.blogspot.com/2012/03/maf-01-rzut-okiem-na-managed-aadd-in.html#more">dalej / more >></a>Maciekhttp://www.blogger.com/profile/06107164682267258418noreply@blogger.com0tag:blogger.com,1999:blog-3888219001172425944.post-5164571196445190572012-02-22T23:42:00.000+01:002012-02-23T21:32:40.056+01:00Metody rozszerzające, Atrybuty i Refleksje w .NET [PL]<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjwPYh2-yfFYaHGB3p5KWF46kNdErqjjzo_k00lp11Sm70V1EeeLClgNyRm_nq8dsRtu7z6e-ezKBqCIdYW-3cWGIq1qtAKnzaBrDog9aT1nWjukpjoFb2n4VQ_wBVBNZkXiLsuvJwIlvQg/s1600/drobiazgi-czyli-male-a-cieszy.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjwPYh2-yfFYaHGB3p5KWF46kNdErqjjzo_k00lp11Sm70V1EeeLClgNyRm_nq8dsRtu7z6e-ezKBqCIdYW-3cWGIq1qtAKnzaBrDog9aT1nWjukpjoFb2n4VQ_wBVBNZkXiLsuvJwIlvQg/s1600/drobiazgi-czyli-male-a-cieszy.jpg"></a></div>
<div align="JUSTIFY" style="background: transparent; margin-bottom: 0.3cm; margin-top: 0.3cm;">Czy korzystacie z refleksji w .NET? Czy zdarzyło wam się przeglądać/ustawiać właściwości klas poprzez refleksje? Czy korzystacie z atrybutów? Mnie często i równie często zdarzało mi się ponownie szukać kodu, który rozwiązałby mój problem, dlatego dla wygody poniżej zamieszczam różne funkcje rozszerzające, które realizują wspomniane wyżej zadania. (być może komuś jeszcze się one przydadzą).</div> <a href="http://maciej-progtech.blogspot.com/2012/02/metody-rozszerzajace-atrybuty-i.html#more">dalej / more >></a>Maciekhttp://www.blogger.com/profile/06107164682267258418noreply@blogger.com0tag:blogger.com,1999:blog-3888219001172425944.post-33583072356323772302012-02-21T23:33:00.000+01:002012-03-04T12:01:30.311+01:00Rozszerzanie aplikacji .NET (czyli plugin'y, add-in'y, MAF, MEF, itp. ...) [PL]<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiWAdV2yQs_d52_JJGliMt-fr72oT9TlVXr_INFYu0L7jqIDiLYCzPPN_qrEDnDD1OyY0QVUrS_dXn9NVdTGjwJN0Je3bVkVQY5_758DIZAyfOfX_xsVWHNJWe0XY89cIJZ_aiKAh0P8PaG/s1600/liftarn_Plug_and_outlet.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiWAdV2yQs_d52_JJGliMt-fr72oT9TlVXr_INFYu0L7jqIDiLYCzPPN_qrEDnDD1OyY0QVUrS_dXn9NVdTGjwJN0Je3bVkVQY5_758DIZAyfOfX_xsVWHNJWe0XY89cIJZ_aiKAh0P8PaG/s1600/liftarn_Plug_and_outlet.png"></a></div>
<br><div align="JUSTIFY" style="background: transparent; margin-bottom: 0.3cm; margin-top: 0.3cm;">Zostałem ostatnio zapytany jak można zaimplementować aplikację, bazującej na .NET, która miałaby być rozszerzana za pomocą wtyczek (czasem nazywanych też: Add-In, Add-On, Rozszerzenie, Extension, Plug-In, Snap-In, ...), z których każda uruchamiana by
była w bezpiecznym środowisku (np. odrębnej domenie aplikacyjnej). Przyjrzyjmy się więc jakie są możliwości tworzenia rozszerzeń dla aplikacji (.NET) i jak można przy ich pomocy zapewnić wspomniane bezpieczeństwo.</div><a href="http://maciej-progtech.blogspot.com/2012/02/rozszerzanie-aplikacji-net-czyli.html#more">dalej / more >></a>Maciekhttp://www.blogger.com/profile/06107164682267258418noreply@blogger.com1tag:blogger.com,1999:blog-3888219001172425944.post-84893627840665110742012-02-15T07:27:00.000+01:002012-02-15T19:32:59.500+01:00[RX 12] Reactive Extensions, przykład kompozycji zdarzeń [PL]<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhY6wSF0BW7tIquVONRvoSfezCy4dl6rzq0vM6-_teRVXOu5WvTCIdB5xjddw0VPB1N7z2jAcWANdKGaT1R1ZKawjauooVD5GiGFWEFGf-nYodDGXjy_jzgcpw4T-lOuvP51HeZ1J-qew3l/s1600/maciej-progtech-reactive-extensions-rx-code-small.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhY6wSF0BW7tIquVONRvoSfezCy4dl6rzq0vM6-_teRVXOu5WvTCIdB5xjddw0VPB1N7z2jAcWANdKGaT1R1ZKawjauooVD5GiGFWEFGf-nYodDGXjy_jzgcpw4T-lOuvP51HeZ1J-qew3l/s1600/maciej-progtech-reactive-extensions-rx-code-small.jpg"></a></div><div align="JUSTIFY" style="background: transparent; margin-bottom: 0.3cm; margin-top: 0.3cm;"><span lang="pl-PL">Niniejszy post jest kontynuacją cyklu o Reactive Extensions dla .NET (</span><a href="http://maciej-progtech.blogspot.com/2011/11/rx-1-wprowadzenie-do-reactive.html">[RX 1]</a><span lang="pl-PL">, </span><a href="http://maciej-progtech.blogspot.com/2011/11/rx-2-kolekcje-to-podstawa-czyli.html">[RX 2]</a><span lang="pl-PL">, </span><a href="http://maciej-progtech.blogspot.com/2011/12/rx-3-reactive-extensions-pierwszy.html">[RX 3]</a><span lang="pl-PL">, </span><a href="http://maciej-progtech.blogspot.com/2011/12/rx-4-reactiveconcurrency-i-planisci.html">[RX 4]</a><span lang="pl-PL">, </span><a href="http://maciej-progtech.blogspot.com/2011/12/rx-5-tworzymy-obserwowalne-kolekcje-w.html">[RX 5]</a><span lang="pl-PL">, </span><a href="http://maciej-progtech.blogspot.com/2011/12/rx-6-przykady-dot-obserwowalnych.html">[RX 6]</a><span lang="pl-PL">, </span><a href="http://maciej-progtech.blogspot.com/2012/01/rx-7-zabawa-w-ciepo-zimno-czyli-zimne-i.html">[RX 7]</a><span lang="pl-PL">, </span><a href="http://maciej-progtech.blogspot.com/2012/01/rx-8-zdarzenia-w-net-niby-pozyteczne.html">[RX 8]</a><span lang="pl-PL">, </span><a href="http://maciej-progtech.blogspot.com/2012/01/rx-9-operacje-linq-na-obserwowalnych.html">[RX9]</a><span lang="pl-PL">, </span><a href="http://maciej-progtech.blogspot.com/2012/01/rx-10-komponowanie-strumieni-w-reactive.html">[RX10]</a><span lang="pl-PL">, </span><a href="http://maciej-progtech.blogspot.com/2012/02/rx-11-reactive-extensions-wiecej-o.html">[RX11]</a><span lang="pl-PL">) stanowi on kontynuację przykładu z poprzedniego wpisu i skupia się na kompozycji zdarzeń.</span></div> <a href="http://maciej-progtech.blogspot.com/2012/02/rx-12-reactive-extensions-przykad.html#more">dalej / more >></a>Maciekhttp://www.blogger.com/profile/06107164682267258418noreply@blogger.com0tag:blogger.com,1999:blog-3888219001172425944.post-2198825775239801882012-02-02T21:54:00.001+01:002012-02-03T20:45:01.654+01:00[RX 11] Reactive Extensions, więcej o zdarzeniach, czyli przykłady z myszką [PL]<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhY6wSF0BW7tIquVONRvoSfezCy4dl6rzq0vM6-_teRVXOu5WvTCIdB5xjddw0VPB1N7z2jAcWANdKGaT1R1ZKawjauooVD5GiGFWEFGf-nYodDGXjy_jzgcpw4T-lOuvP51HeZ1J-qew3l/s1600/maciej-progtech-reactive-extensions-rx-code-small.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhY6wSF0BW7tIquVONRvoSfezCy4dl6rzq0vM6-_teRVXOu5WvTCIdB5xjddw0VPB1N7z2jAcWANdKGaT1R1ZKawjauooVD5GiGFWEFGf-nYodDGXjy_jzgcpw4T-lOuvP51HeZ1J-qew3l/s1600/maciej-progtech-reactive-extensions-rx-code-small.jpg"></a></div> <p align="JUSTIFY" style="margin-top: 0.3cm; margin-bottom: 0.3cm; background: transparent"> Niniejszy post jest kontynuacją cyklu o Reactive Extensions dla .NET (<a href="http://maciej-progtech.blogspot.com/2011/11/rx-1-wprowadzenie-do-reactive.html">[RX 1]</a>, <a href="http://maciej-progtech.blogspot.com/2011/11/rx-2-kolekcje-to-podstawa-czyli.html">[RX 2]</a>, <a href="http://maciej-progtech.blogspot.com/2011/12/rx-3-reactive-extensions-pierwszy.html">[RX 3]</a>, <a href="http://maciej-progtech.blogspot.com/2011/12/rx-4-reactiveconcurrency-i-planisci.html">[RX 4]</a>, <a href="http://maciej-progtech.blogspot.com/2011/12/rx-5-tworzymy-obserwowalne-kolekcje-w.html">[RX 5]</a>, <a href="http://maciej-progtech.blogspot.com/2011/12/rx-6-przykady-dot-obserwowalnych.html">[RX 6]</a>, <a href="http://maciej-progtech.blogspot.com/2012/01/rx-7-zabawa-w-ciepo-zimno-czyli-zimne-i.html">[RX 7]</a>, <a href="http://maciej-progtech.blogspot.com/2012/01/rx-8-zdarzenia-w-net-niby-pozyteczne.html">[RX 8]</a>, <a href="http://maciej-progtech.blogspot.com/2012/01/rx-9-operacje-linq-na-obserwowalnych.html">[RX9]</a>, <a href="http://maciej-progtech.blogspot.com/2012/01/rx-10-komponowanie-strumieni-w-reactive.html">[RX10]</a>) i pojawią się w nim przykłady wykorzystania Reactive Extensions.</p><p align="JUSTIFY" style="margin-top: 0.3cm; margin-bottom: 0.3cm; background: transparent">W ramach przykładu pokazane zostanie okno aplikacji, która w pasku statusu będzie wyświetlać, położenie kursora myszki w oknie aplikacji oraz informacja, czy kursor znajduje się w lewej, czy prawej części okna. Niniejszy przykład zostanie wykonany z wykorzystaniem WPF, należy więc pamiętać, że oprócz standardowej biblioteki Reactive Extensions (<i>System.Reactive.dll</i>) należy również dodać do projektu bibliotekę dedykowaną dla WPF (<i>System.Reactive.Windows.Threading.dll</i>).</p><a href="http://maciej-progtech.blogspot.com/2012/02/rx-11-reactive-extensions-wiecej-o.html#more">dalej / more >></a>Maciekhttp://www.blogger.com/profile/06107164682267258418noreply@blogger.com0tag:blogger.com,1999:blog-3888219001172425944.post-60615685044755521302012-01-22T20:36:00.001+01:002012-01-23T07:48:05.075+01:00[RX 10] Komponowanie strumieni w Reactive Extensions [PL]<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhqzdHeYy_jx6PKfp0sM_WzCgooNpli1jj2eZkfcHAHFoqb-yoadoLy7K68h082eCJmBf4r-6YQx71nSHfAx_AYl9KWRo9qw6S2_gVNro1kZuzIrdmSbfnBnORkS7i9woWfOtWM_Rit1WBj/s1600/maciej-progtech-reactive-extensions-rx-zip-icon.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhqzdHeYy_jx6PKfp0sM_WzCgooNpli1jj2eZkfcHAHFoqb-yoadoLy7K68h082eCJmBf4r-6YQx71nSHfAx_AYl9KWRo9qw6S2_gVNro1kZuzIrdmSbfnBnORkS7i9woWfOtWM_Rit1WBj/s1600/maciej-progtech-reactive-extensions-rx-zip-icon.jpg"></a></div>
<p align="JUSTIFY" style="margin-top: 0.3cm; margin-bottom: 0.3cm; background: transparent">Niniejszy post jest kontynuacją cyklu o Reactive Extensions dla .NET (<a href="http://maciej-progtech.blogspot.com/2011/11/rx-1-wprowadzenie-do-reactive.html">[RX 1]</a>, <a href="http://maciej-progtech.blogspot.com/2011/11/rx-2-kolekcje-to-podstawa-czyli.html">[RX 2]</a>, <a href="http://maciej-progtech.blogspot.com/2011/12/rx-3-reactive-extensions-pierwszy.html">[RX 3]</a>, <a href="http://maciej-progtech.blogspot.com/2011/12/rx-4-reactiveconcurrency-i-planisci.html">[RX 4]</a>, <a href="http://maciej-progtech.blogspot.com/2011/12/rx-5-tworzymy-obserwowalne-kolekcje-w.html">[RX 5]</a>, <a href="http://maciej-progtech.blogspot.com/2011/12/rx-6-przykady-dot-obserwowalnych.html">[RX 6]</a>, <a href="http://maciej-progtech.blogspot.com/2012/01/rx-7-zabawa-w-ciepo-zimno-czyli-zimne-i.html">[RX 7]</a>, <a href="http://maciej-progtech.blogspot.com/2012/01/rx-8-zdarzenia-w-net-niby-pozyteczne.html">[RX 8]</a>, <a href="http://maciej-progtech.blogspot.com/2012/01/rx-9-operacje-linq-na-obserwowalnych.html">[RX9]</a>), dotyczyć on będzie możliwości metod rozszerzających służących wykonywaniu połączenia dwóch lub więcej strumieni.</p>
<p align="JUSTIFY" style="margin-top: 0.3cm; margin-bottom: 0.3cm; background: transparent">
<a name="result_box"></a>Jedną z interesujących cech Reactive Extensions jest kompozycja obserwowalnych kolekcji, czyli strumieni danych. Istnieje wiele metod rozszerzających służących wykonywaniu połączenia dwóch lub więcej strumieni; <i>Amb</i>, <i>Concat</i>, <i>SelectMany</i>, <i>Merge</i>, <i>Zip</i>, <i>CombineLatest</i><span style="font-style: normal">,</span><i> ForkJoin</i>. Tworzą one nowy strumień, korzystając z pewnych ustalonych konstrukcji.</p><a href="http://maciej-progtech.blogspot.com/2012/01/rx-10-komponowanie-strumieni-w-reactive.html#more">dalej / more >></a>Maciekhttp://www.blogger.com/profile/06107164682267258418noreply@blogger.com0tag:blogger.com,1999:blog-3888219001172425944.post-27373780360489332712012-01-18T00:10:00.001+01:002012-01-19T23:23:07.435+01:00WPF: o zasobach (resources) coś więcej [PL]<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiZf8aE8zIq0Eda1zK6i9x-e1nScy-Y3DAiEpg-IKjN881WFjKUWupgd_oR7ythJCRbE7Xpbqm4ysLdINDDJCmsjvDKSPmSiquV3UMx-nH4wCTMD4k6feqE1Dl6Cw-4injsy80x88Y8AvRL/s1600/WPF.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiZf8aE8zIq0Eda1zK6i9x-e1nScy-Y3DAiEpg-IKjN881WFjKUWupgd_oR7ythJCRbE7Xpbqm4ysLdINDDJCmsjvDKSPmSiquV3UMx-nH4wCTMD4k6feqE1Dl6Cw-4injsy80x88Y8AvRL/s1600/WPF.jpg"></a></div>
<div align="JUSTIFY" style="background: transparent; margin-bottom: 0.1cm; margin-top: 0.1cm;">
<a href="http://maciej-progtech.blogspot.com/2012/01/wpf-lepiej-umiescic-obrazek-w-resources.html">W poprzednim wpisie pisałem</a> o tym, że zamiast wyznaczać ścieżki do obrazków, lepiej umieścić je w zasobach. Temat wydawał mi się prosty, ale w komentarzach pojawiła się odrobinę odmienna opinia:
</div>
<blockquote>
<i>"Nie, obrazków nie trzyma się w zasobach. Ikony, czasem, jak potrzeba, jeden, dwa obrazki, ale nie więcej. One są za duże - EXE-k puchnie, robi się bałagan, trzeba rekompilować, by zmienić obrazek, a i krótsze nie jest. Tą linijkę równie dobrze można zapisać jako:
</i></blockquote>
<blockquote>
<i>ImageBrush brush = new ImageBrush(new BitmapImage(new Uri("Images/test.png", UriKind.Relative)));</i></blockquote>
<blockquote>
<i>Można to wpakować w jakąś statyczną klasę helpera, by nie pisać nie wiadomo ile razy."</i><br>
</blockquote><a href="http://maciej-progtech.blogspot.com/2012/01/wpf-o-zasobach-resources-cos-wiecej-pl.html#more">dalej / more >></a>Maciekhttp://www.blogger.com/profile/06107164682267258418noreply@blogger.com2tag:blogger.com,1999:blog-3888219001172425944.post-90944350314317310062012-01-11T22:30:00.000+01:002012-01-15T21:10:34.375+01:00WPF: Lepiej umieścić obrazek w resources niż bawić się ścieżkami. [PL]<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjwPYh2-yfFYaHGB3p5KWF46kNdErqjjzo_k00lp11Sm70V1EeeLClgNyRm_nq8dsRtu7z6e-ezKBqCIdYW-3cWGIq1qtAKnzaBrDog9aT1nWjukpjoFb2n4VQ_wBVBNZkXiLsuvJwIlvQg/s1600/drobiazgi-czyli-male-a-cieszy.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjwPYh2-yfFYaHGB3p5KWF46kNdErqjjzo_k00lp11Sm70V1EeeLClgNyRm_nq8dsRtu7z6e-ezKBqCIdYW-3cWGIq1qtAKnzaBrDog9aT1nWjukpjoFb2n4VQ_wBVBNZkXiLsuvJwIlvQg/s1600/drobiazgi-czyli-male-a-cieszy.jpg"></a></div>
<div align="JUSTIFY" style="background: transparent; margin-bottom: 0.3cm; margin-top: 0.3cm;">
Ostatnio pod wpisem: "<a href="http://maciej-progtech.blogspot.com/2010/09/wpf-3d-malujemy-scene-3d-pedzlem-pl.html">[WPF 3D] Malujemy scenę 3D pędzlem</a>" dostałem w ramach komentarza pytanie związane z obrazkami w WPF i ścieżkami w nich. Nie jest to wielki problem, ale postaram się odpowiedzieć.</div><br><br><br><br>
<a href="http://maciej-progtech.blogspot.com/2012/01/wpf-lepiej-umiescic-obrazek-w-resources.html#more">dalej / more >></a>Maciekhttp://www.blogger.com/profile/06107164682267258418noreply@blogger.com2tag:blogger.com,1999:blog-3888219001172425944.post-33540365172406484792012-01-09T19:51:00.001+01:002012-01-09T20:01:48.267+01:00"Programowanie i Technologie" blogiem roku 2011? [PL]Początek roku, to nie tylko czas <a href="http://maciej-progtech.blogspot.com/2011/12/rok-2011-podsumowanie-pl.html">podsumowań</a>, to również czas wyborów ...<br />
Jak w zeszłym roku, tak i w tym, <a href="http://www.blogroku.pl/kategorie/programowanie-i-technologie,gwme6,blog.html">zgłosiłem blog "Programowanie i Technologie" do konkursu na blog roku 2011.</a><br />
<div class="separator" style="clear: both; text-align: center;"><a href="http://www.blogroku.pl/kategorie/programowanie-i-technologie,gwme6,blog.html"><img border="0" height="337" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhVsJuswhEijIgOiN4nyOCzOAxFG0HZZ_oDiA1biz3n-1QvsV3JJvqUIFEofGrq1wJBoaSUsLH0JwuQaAAOWsfZyvBj4U-qYr0ZWtiVDovCBl5mQKE-WLtxUWc_ELAbgY2y0m9Sd3_Dr4xE/s640/macie-progtech-blog-roku-2011.jpg" width="640" /></div></a><br/>
Kto wie, może w tym roku się uda i blog: "Programowanie i Technologie" zostanie blogiem roku 2011!<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiMHOjb8zACw_86h2kNZIawuFTl3s8yHj9BvhdeY_QXpe2Sf7mIwdUWYQjkUDeZprTL3AmIc0hFPF72bGouytKnzcoqeqZZkr-f_bhadnSc8NKctCE5U7Gv4skulGhU_iaw3ki-O6Yp203r/s1600/Profesjonalne.gif" imageanchor="1" style="margin-left:1em; margin-right:1em"><img border="0" height="100" width="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiMHOjb8zACw_86h2kNZIawuFTl3s8yHj9BvhdeY_QXpe2Sf7mIwdUWYQjkUDeZprTL3AmIc0hFPF72bGouytKnzcoqeqZZkr-f_bhadnSc8NKctCE5U7Gv4skulGhU_iaw3ki-O6Yp203r/s400/Profesjonalne.gif" /></a></div>Maciekhttp://www.blogger.com/profile/06107164682267258418noreply@blogger.com1tag:blogger.com,1999:blog-3888219001172425944.post-79689586778734715022012-01-07T23:58:00.001+01:002012-01-07T23:58:31.971+01:00Dostęp do danych procesowych [PL]<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj5OvNSOTvb6nBOs994pf5iXDb0JPZ2RY6VCDpaVeHpeVc15nAtMH7HzFpByE6UFzCHsRO-JgDAZqAF3UaRGvAXNvzHfUI2wCa3KU3D3rVTVcLRNVsrbaJAzFWxDLLBpRKjNvB_mBbczVB5/s1600/maciej-progtech-dostep-do-danych-procesowych.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" height="141" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj5OvNSOTvb6nBOs994pf5iXDb0JPZ2RY6VCDpaVeHpeVc15nAtMH7HzFpByE6UFzCHsRO-JgDAZqAF3UaRGvAXNvzHfUI2wCa3KU3D3rVTVcLRNVsrbaJAzFWxDLLBpRKjNvB_mBbczVB5/s200/maciej-progtech-dostep-do-danych-procesowych.jpg" width="200"></a></div> <p> Ostatnio byłem zapytany i kilka rozwiązań związanych z dostępem do danych procesowych oraz z przekazywaniem danych z różnego rodzaju aplikacji do sterowników przemysłowych. Przyjrzyjmy się, jakie są możliwe podejścia, do wspomnianych problemów.</p> <a href="http://maciej-progtech.blogspot.com/2012/01/dostep-do-danych-procesowych-pl.html#more">dalej / more >></a>Maciekhttp://www.blogger.com/profile/06107164682267258418noreply@blogger.com1tag:blogger.com,1999:blog-3888219001172425944.post-25519718697918179252012-01-05T12:19:00.002+01:002012-01-07T22:42:49.193+01:00[RX 9] Operacje LINQ na obserwowalnych kolekcjach w Reactive Extension [PL]<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjPFXIFnMt5SO90k78jHQ3xVllbe1Phz78qve19GeQAAJNXOEZrjTzg-kT5QtMeqpApKYbFxb_Pp00G8SqKZvSu70qlKRhHhgn-zPsneDVToublLiZCpIfRDdL1urG5bUTEjdgMc0zE8qfj/s1600/maciej-progtech-reactive-extensions-rx-linq-to-rx-icon.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjPFXIFnMt5SO90k78jHQ3xVllbe1Phz78qve19GeQAAJNXOEZrjTzg-kT5QtMeqpApKYbFxb_Pp00G8SqKZvSu70qlKRhHhgn-zPsneDVToublLiZCpIfRDdL1urG5bUTEjdgMc0zE8qfj/s1600/maciej-progtech-reactive-extensions-rx-linq-to-rx-icon.jpg"></a></div> <p align="JUSTIFY" style="margin-top: 0.3cm; margin-bottom: 0.3cm; background: transparent">Niniejszy post jest kontynuacją cyklu o Reactive Extensions dla .NET (<a href="http://maciej-progtech.blogspot.com/2011/11/rx-1-wprowadzenie-do-reactive.html">[RX 1]</a>, <a href="http://maciej-progtech.blogspot.com/2011/11/rx-2-kolekcje-to-podstawa-czyli.html">[RX 2]</a>, <a href="http://maciej-progtech.blogspot.com/2011/12/rx-3-reactive-extensions-pierwszy.html">[RX 3]</a>, <a href="http://maciej-progtech.blogspot.com/2011/12/rx-4-reactiveconcurrency-i-planisci.html">[RX 4]</a>, <a href="http://maciej-progtech.blogspot.com/2011/12/rx-5-tworzymy-obserwowalne-kolekcje-w.html">[RX 5]</a>, <a href="http://maciej-progtech.blogspot.com/2011/12/rx-6-przykady-dot-obserwowalnych.html">[RX 6]</a>, <a href="http://maciej-progtech.blogspot.com/2012/01/rx-7-zabawa-w-ciepo-zimno-czyli-zimne-i.html">[RX 7]</a>, <a href="http://maciej-progtech.blogspot.com/2012/01/rx-8-zdarzenia-w-net-niby-pozyteczne.html">[RX 8]</a>), dotyczyć on będzie możliwości wykorzystania LINQ na obserwowalnych kolekcjach i w RX.</p><a href="http://maciej-progtech.blogspot.com/2012/01/rx-9-operacje-linq-na-obserwowalnych.html#more">dalej / more >></a>Maciekhttp://www.blogger.com/profile/06107164682267258418noreply@blogger.com0