-Ìóçûêà

 -Ïîäïèñêà ïî e-mail

 

 -Ïîèñê ïî äíåâíèêó

Ïîèñê ñîîáùåíèé â Flashr

 -Ñòàòèñòèêà

Ñòàòèñòèêà LiveInternet.ru: ïîêàçàíî êîëè÷åñòâî õèòîâ è ïîñåòèòåëåé
Ñîçäàí: 26.02.2007
Çàïèñåé:
Êîììåíòàðèåâ:
Íàïèñàíî: 6574

WCF Proxy tunnel

Äíåâíèê

Ñðåäà, 15 Èþíÿ 2011 ã. 16:37 + â öèòàòíèê
Íèæå ðàññêàæó î ðåàëèçàöèè ïðîáðîñà WCF çàïðîñîâ îò îäíîãî ñåðâåðà ÷åðåç íåñêîëüêî ïðîìåæóòî÷íûõ, òàê íàçûâàåìûé wcf tunneling, âîïðîñ î ðåàëèçàöèè êîòîðîãî óæå ïîäíèìàëñÿ íà gotdotnet.ru. Òàì àâòîð ïðåäëàãàë èñïîëüçîâàòü Castle.DynamicProxy äëÿ äèíàìè÷åñêîé ãåíåðàöèè ïðîêñè-êëàññîâ äëÿ ñîçäàíèÿ êàíàëà. Îäíàêî êîììåíòàòîðû îòìåòèëè, ÷òî ïîëó÷åííûé ôóíêöèîíàë äóáëèðóåò ëèøü ñòàíäàðòíûå âîçìîæíîñòè ïðè ïðÿìîì âçàèìîäåéñòâèè òî÷êà-òî÷êà.
Àêòóàëüíîñòü ïðèîáðåòàåòñÿ, êîãäà äîáàâëÿåòñÿ íàáîð ïðîìåæóòî÷íûõ òî÷åê. Ïðè ýòîì íà êëèåíòå èäåò ïåðåõâàò âûçîâà ïðîèçâîëüíîé óäàëåííîé ôóíêöèè FuncName íà âûçîâ àáñòðàêòíîé ôóíêöèè object _DataTransfer(HeaderAuthen auth, object ServiceLink, object FuncName, object[] param); Äàëåå îáðàùåíèå òðàíñëèðóåòñÿ ÷åðåç ñåðèþ ïðîìåæóòî÷íûõ ìàøèí è â èòîãå îáðàùåíèå ïåðåäàåòñÿ íà ServiceLink, ãäå îáðàáàòûâàåòñÿ. Òàêæå âîçâðàùàåòñÿ ðåçóëüòàò. Ãðóáî ãîâîðÿ ïðèìèòèâíûé ôóíêöèîíàë Biztalk ñâîèìè ðóêàìè ïî ïåðåäà÷è soap ñîîáùåíèé â ìíîãîñâÿçíîé ñåòè. Êðîìå òîãî ìû áåç âåäîìà ïîëüçîâàòåëÿ íàêëàäûâàåì íà êàíàë çàùèòó ÷åðåç HeaderAuthen auth.
Îòäåëüíî âûêëàäûâàþ ðåàëèçàöèþ êëàññ DynamicServiceProxy è ServiceChannelManagerInterceptor, ïîäìåíÿþùèå âûçîâ, à òàêæå ñàì âûçîâ â ServiceChannelManager. Ñîîòâåòñòâåííî âñå çàêëàäûâàåòñÿ â áèáëèîòåêó, êîòîðàÿ äîëæíà áûòü íà âñåõ òî÷êàõ, à íà òóííåëüíûõ-ïðîìåæóòî÷íûõ òî÷êàõ åùå è ðåàëèçóåòñÿ Êîíòðàíêò, â êîòîðîì âàæíî îïèñàòü ïåðåäàòî÷íóþ ôóíêöèþ _DataTransfer, âñå ôóíêöèè íà êîíå÷íûõ òî÷êàõ, à òàêæå âñå êëàññû è òèïû ÷åðåç KnownTypeContainer. Òàêæå âàæíî âêëþ÷èòü ñåðèàëèçàòîð XmlSerializerFormat, òàê êàê ïî óìîë÷àíèþ â WCF èñïîëüçóåòñÿ DataContractSerializer, êîòîðûõ íå ïîçâîëÿåò ïåðåäàâàòü object. Òî åñòü âûçîâû ïðîõîäèòü áóäóò, à äàííûå - íåò. Êðîìå òîãî ó XmlSerializerFormat òîæå åñòü îñîáåííîñòü, êòî íåëüçÿ ïåðåäàòü íåêîòîðûå ñòàíäàðòíûå òèïû, íàïðèìåð, DataSet êàê ïàðàìåòð, òàê êàê â íèõ èñïîëüçóåòñÿ íåòèïèçèðîâàííûé ArrayList. Âîò ïîæàëóé è âñå, ÷òî íóæíî çíàòü.

Ìåòêè:  

Ïðîãðàììèñòû...

Äíåâíèê

Ñðåäà, 12 ßíâàðÿ 2011 ã. 16:22 + â öèòàòíèê
...íåãðû íàøåãî âðåìåíè. Çà ïðîøëûé 2010 ãîä èìåë íåïðèÿòíîñòü ïåðåðàáîòàòü ñ ðàçëè÷íûìè òèïàìè ïðîãðàììèñòîâ .Net, òàê êàê ñàì ïðîãðàììèðóþ íà Chsarp. Íèæå ñâîåîáðàçíûé îáçîð î ïå÷àëüíîé êàðòèíå ïîäðàñòàþùåãî ïîêîëåíèÿ, âûâîäû è ìîæåò â ñëåäóþùåì ïîñòå ïðèâåäó ïåðåâîä îäíîé èíòåðåñíîé êíèãè î òîì, êàê èñêàòü õîðîøèõ ïðîãðàììèñòîâ.
Èòàê, çàäà÷ó ÿ ñòàâèë äîñòàòî÷íî ñëîæíî è îáùíî, îïèñûâàÿ ÷òî äîëæíî ðàáîòàòü ãëàçàìè ïîëüçîâàòåëÿ è ðàçðåøàÿ çàäàâàòü ìíå âîïðîñû ïî õîæó è îãðàíè÷èâàÿ â çàðïëàòå ðàìêàìè ðàçóìíîãî. ×òî ïîëó÷èëîñü èëè âõîäíûå äàííûå:
  • Ïåðâûé òèï. Æåíàò. Ìîñêâà.  ñîö-ñåòÿõ âðåìÿ íå òðàòèò. Âåäóùèé ðàçðàáîò÷èê ìåëêîãî êîììåð÷åñêîãî ïðåäïðèÿòèÿ. Èìåë õîðîøèå ïðàêòè÷åñêèå íàâûêè è òðåáîâàòåëüíî îòíîñèëñÿ ê êîäó ïî ÷àñòè ðåàëèçàöèè, äëÿ ðàáîòû ñ äàííûìè ïåðåâàðèâàë òîëüêî Linq. Íå ñïðàâèëñÿ, íåõâàòêà âðåìåíè.
  • Âòîðîé. Æåíàò. Ìîñêâà. Ñèäèò âêîíòàêòå. Âåäóùèé ðàçðàáîò÷èê â îêîëî-ãîñóäàðñòâåííîé ñòðóêòóðå. Èìåë ïëîõèå ïðàêòè÷åñêèå íàâûêè, ïî îáðàçîâàíèþ - ïðîãðàììèñò. Íå ñïðàâèëñÿ, ïî êà÷åñòâó ðåàëèçàöèè.
  • Òðåòèé. Õîëîñò. Ïðèåõàë â Ìîñêâó íà ó÷åáó-çàðàáîòêè. Ñèäèò â Òâèòòåðå, ïèøåò ñòàòüè íà õàáð. Èìåë ñðåäíèå ïðàêòè÷åñêèå íàâûêè, ïî îáðàçîâàíèþ - ïðîãðàììèñò. Íå ñïðàâèëñÿ, íåõâàòêà âðåìåíè.
  • ×åòâåðòûé. Æåíàò. Ìîñêâà. Ñèäèò â Æèâîì Æóðíàëå. Èìåë îáøèðíûå ïðàêòè÷åñêèå íàâûêè, ïî îáðàçîâàíèþ - ïðîãðàììèñò. Ðåàëèçîâûâàë âñå ïî òåîðèè - îò àáñòðàêòíîé ìîäåëè. Íå ñïðàâèëñÿ, ïî êà÷åñòâó ðåàëèçàöèè.
  • Ïÿòûé. Õîëîñò. Íå Ìîñêâà. Íå ñèäèò â ñîö.ñåòÿõ. Èìåë ïëîõèå ïðàêòè÷åñêèå íàâûêè.  öåëîì ñïðàâëÿåòñÿ, äåëàåò íå ñîâñåì òî, êàê íàäî, íî íà çàìå÷àíèÿ, ÷òî ýòî íóæíî ïåðåäåëàòü ïîòîìó-òî, ðåàãèðóåò íîðìàëüíî, ïîòîìó ÷òî åñëè íå ñïðàâèòñÿ, òî åìó â Çàìêàäüå áóäåò íå÷åãî êóøàòü.

È âîò åñëè ó ìåíÿ ñ ïðîãðàììèñòàìè òàêèå ïðîáëåìû âîçíèêàþò, òî êàêèå æå ïðîáëåìû âîçíèêàþò ó ðàçëè÷íûõ ãóìàíèòàðèåâ, êîòîðûå äàëåêè îò ïðîãðàììèðîâàíèÿ. Ïîýòîìó íèæå íåáîëüøîé ñïèñîê õîðîøèõ ÷åðò äëÿ íàåìíîãî ïðîãðàììèñòà, êîòîðûé áóäåò íà âàñ âêàëûâàòü êàê íåãð è ñäåëàåò òî, ÷òî íàäî:
  • Õîëîñò. Ãîâîðèò î òîì, ÷òî ó íåãî åñòü âðåìÿ ðàáîòàòü.
  • Íå ñèäèò â ñîö.ñåòÿõ è íå ïèøåò ñòàòüè î òîì êàê íàäî ïðîãðàììèðîâàòü. Èáî îäíî äåëî ó÷èòü, à äðóãîå äåëî ðåàëèçîâûâàòü.
  • Ïî îáðàçîâàíèþ òåõíàðü, íî íå ñïåöèàëèçèðîâàëñÿ íà ïðîãðàììèðîâàíèè â âóçå. Åìó äîëæíî áûòü íàïëåâàòü íà òåîðåòè÷åñêóþ áàçó, à âîëíîâàòü òîëüêî òî, ÷òî íàïèñàíî â äîêóìåíòàöèè è êàê ýòî ñäåëàòü ïîáûñòðåå, äà ÷òîáû ðàáîòàëî.
  • Íå æèâåò â Ìîñêâå.
  • Óæå äåëàë íåñêîëüêî äðóãèõ ïðîåêòîâ â òîì ÷èñëå è äëÿ ñåáÿ. Òî åñòü ñàìî-îáó÷àåì!

Òî åñòü ñàìîå ãëàâíîå - ýòî íàâûêè ñàìîîáó÷åíèÿ ïî äîêóìåíòàöèè, âåäü ïðîãðàììèñòû, êàê íèêòî äðóãîé äîëæíû óìåòü ó÷èòüñÿ íà ñîáñòâåííûõ îøèáêàõ è ïðåîäîëåâàòü èõ.

Ìåòêè:  

json for .net

Äíåâíèê

×åòâåðã, 16 Ñåíòÿáðÿ 2010 ã. 23:50 + â öèòàòíèê
Âñåãäà íå ëþáèë âûäà÷ó JSON çà òî, ÷òî îíà ïîäðàçóìåâàåò îáðàáîòêó â JS íà ñòîðîíå êëèåíòà, à çíà÷èò ìíîãî ãåìîðà äëÿ ïðîãðàììèñòà. Íî îêàçûâàåòñÿ ñóùåñòâóåò óæå è ïîëíîöåííîå ðåøåíèå äåëàþùåå JSON íå ñëîæíåå îáû÷íîé XML ñåðèàëèçàöèè. Ðå÷ü ïðî newtonjson.dll, íàïèñàííóþ íà .Net è íåïëîõî äîêóìåíòèðîâàííóþ. Îòäåëüíî ïîðàäîâàëà âîçìîæíîñòü êîíâåðòàöèè êîíå÷íîãî ëèñòà äåðåâà â ïðîèçâîëüíûé òèï ïóòåì ïðîñòîãî âûçîâà òèïà cursor["leafname"].Value();. Âîò áû âñå çíà÷åíèÿ ÿ÷ååê äëÿ äàòàãðèäîâ òîæå èìåëè òàêîé øàáëîíèçàòîð, ÷òîáû íå ïðîïèñûâàòü êàæäûé ðàç ïðèâåäåíèå òèïà.

Ïðèìåð JSON ñåðèàëèçàòîðà â .Net äëÿ ðåçóëüòàòîâ âûäàâàåìûõ ãóãëîì ïðè ïîèñêîâûõ çàïðîñàõ ÷åðåç AJAX API - ìîæíî íàéòè â ïîñëåäíèõ èçìåíåíèÿõ blogsapi

PS: îòäåëüíî îòìå÷ó, ÷òî ãîòîâ âçÿòü ïðîãðàììèñòà íà ÷àñòè÷íóþ çàíÿòîñòü äëÿ ïîääåðæàíèÿ ìîèõ õîááè ïðîåêòîâ è ðàçâèòèÿ íåêîòîðûõ èäåé.

Ìåòêè:  

How to RSS your data

Äíåâíèê

Âòîðíèê, 30 Èþíÿ 2009 ã. 00:24 + â öèòàòíèê
×òî òàêîå RSS áîëüøèíñòâî äîëæíî çíàòü - ýòî ôîðìà ýêñïîðòà òåêñòîâûõ äàííûõ ñ ñàéòà. Ëè÷íî ìåíÿ â RSS íå óñòðàèâàåò òî, ÷òî íåëüçÿ çàäàòü èäåíòèôèêàòîð ñîîáùåíèÿ óíèêàëüíûé äëÿ ìîåãî ïîñòà â ðàìêàõ ñåãîäíÿøíåãî äíÿ, à íå â ðàìêàõ ðåñóðñà, çà ÷òî îòâå÷àåò ïîëå guid. Ýòî íóæíî äëÿ òîãî, ÷òîáû RSS àãðåãàòîð, òèïà reader.google.com, ìîã ïîíÿòü, ÷òî ýòè 3 íîâîñòè ïåðåêîïèðîâàííûå íà ðàçíûå ñàéòû - åñòü îäíî è òîæå. Íàïðèìåð íîâîñòè ßíäåêñà êîïèðóþòñÿ íà õàáð è íà ÿðó, à ó ìåíÿ èç-çà ýòîãî â 3 ðàçà áîëüøå ñîîáùåíèé. Ââåäåíèå òàêîãî õýø-èäåíòèôèêàòîðà "íà äåíü" âïîëíå îïðàâäàíî. È ñîãëàñóåòñÿ ñ òåì, êàê ðàáîòàþò ñåðâèñû ñîêðàùåíèÿ ññûëîê, çàìåùàÿ ñòàðûå êîðîòêèå ññûëêè, íîâûìè çíà÷åíèÿìè, ÷òî ïîçâîëÿåò êîðîòêîé ññûëêå îñòàâàòüñÿ êîðîòêîé.

Äðóãàÿ èíòåðåñíàÿ íåñîãëàñîâàííîñòü ïðîÿâëÿåòñÿ ïðè ïîïûòêå ñîçäàíèÿ RSS âûäà÷è ïðè ïîìîùè ñåðèàëèçàöèè îáúåêòà êëàññà (ðåêîìåíäóþ áèáëèîòåêó RssToolKit 2.0 äëÿ ýòîãî). Êàê ìû çíàåì âñå ñòðîêè â CSharp õðàíÿòüñÿ â âèäå UTF-16, ïîýòîìó ïðè ñåðèàëèçàöèè ìû ïîëó÷àåì XML â ýòîé êîäèðîâêå, æåñòêî óêàçàííîé â çàãîëîâêå. Íî, êàê îêàçàëîñü, íåêîòîðûå áðàóçåðû - FireFox, IE8 (â Opera âñå âïîðÿäêå) - íàîòðåç îòêàçûâàþòñÿ âîñïðèíèìàòü òàêîé XML, òðåáóÿ UTF-8 è æåñòêîãî çàäàíèÿ âåðñèè RSS, ïîýòîìó ïðèøëîñü äîïèñàòü RssToolKit, äîáàâèâ ïðåîáðàçîâàíèå êîäèðîâîê ñëåäóþùèì îáðàçîì:
×èòàòü äàëåå...

Ìåòêè:  

Ñêðèíøîòû ñàéòîâ íà .Net

Äíåâíèê

Ïîíåäåëüíèê, 13 Àïðåëÿ 2009 ã. 17:17 + â öèòàòíèê
Êàê îêàçàëîñü äåëàòü ñêðèíøîòû ñàéòîâ íå òàêàÿ óæ è ïðîñòàÿ çàäà÷à. Íî âûõîä èç íåå ìîæíî íàéòè ñîçäàâàÿ îòäåëüíûì ïîòîêîì ñêðûòóþ ôîðìó ñ îáúåêòîì WebBrowser è èñïîëüçóÿ íåêîòîðûå êîìïîíåíòû MS IE7 .
Íèæå èäåò ìàëîêîììåíòèðîâàííûé êîä, êîòîðûé ïîäñêàæåò Âàì, êàê ýòî ïðàâèëüíåå âñåãî ñäåëàòü. Åñëè åñòü âîïðîñû, òî ãóãëèòå è ðàçáèðàéòåñü â äîêóìåíòàöèè:
Copy

Ìåòêè:  

PDF / DOC to TXT

Äíåâíèê

×åòâåðã, 26 Ôåâðàëÿ 2009 ã. 02:38 + â öèòàòíèê
Ïðè èíäåêñèðîâàíèè àðõèâà îôèñíûõ ôàéëîâ ìíå ïîíàäîáèëîñü èçâëåêàòü òåêñòîâóþ èíôîðìàöèþ èç ðàçëè÷íûõ ôàéëîâ òàêèõ êàê DOC èëè PDF. Ðåøåíèå íåñëîæíîå, äîñòàòî÷íî âîñïîëüçîâàòüñÿ íåñêîëüêèìè áèáëèîòåêàìè. Äëÿ PDF - ýòî PDFBox, ïîðòèðîâàííûé ñ Java íà CSharp. Äëÿ DOC - ýòî Microsoft.Office.Interop.Word.dll èç íàáîðà OfficeAPI. Äëÿ óäîáñòâà, íåîáõîäèìûå áèáëèîòåêè ìîæíî ñêà÷àòü îäíèì àðõèâîâ ïî ññûëêå

Ïîä êàòîì ÿ ïðèâåäó êîä, ïîêàçûâàþùåãî êàê ñ íèìè ðàáîòàòü.
×èòàòü äàëåå...

Ìåòêè:  

 Ñòðàíèöû: [1]