<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:blogger='http://schemas.google.com/blogger/2008' xmlns:georss='http://www.georss.org/georss' xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-8114551873867612455</id><updated>2024-12-23T01:26:37.281+03:00</updated><category term="android"/><category term="augmented reality"/><category term="arttırılmış gerçeklik"/><category term="linux"/><category term="T-SQL"/><category term="apache"/><category term="devexpress"/><category term="iphone"/><category term="sql"/><category term="unity"/><category term=".Net"/><category term="Android 4.2"/><category term="Baştürk"/><category term="Bu öğe cihazınızın bulunduğu ülkede yüklenemez"/><category term="C#"/><category term="Desire Z"/><category term="Firefox 13"/><category term="G2"/><category term="GPT"/><category term="HTC"/><category term="Hürriyet"/><category term="InTouch"/><category term="Jelly Baby"/><category term="Jelly Bean"/><category term="Kelebek"/><category term="LogMeIn Hamatchi"/><category term="MBR"/><category term="Market Access"/><category term="Mint"/><category term="Onur"/><category term="SOAP"/><category term="SQL-Server"/><category term="SVN"/><category term="Saydam"/><category term="Selahattin"/><category term="Sevdiğim sözler"/><category term="Subversion"/><category term="Tortoise SVN Client"/><category term="Ubuntu"/><category term="Veritabanı"/><category term="Vision"/><category term="VisualSVN Server"/><category term="WCF"/><category term="Windows 7"/><category term="Windows Communication Foundation"/><category term="Wonderware"/><category term="about:config"/><category term="android ics"/><category term="ar"/><category term="artırılmış gerçeklik"/><category term="aurasma"/><category term="açık kaynak"/><category term="bilgisayara uyarı yönlendirme"/><category term="data"/><category term="davet"/><category term="deleted"/><category term="deprem"/><category term="disk bölümleme"/><category term="eclipse"/><category term="eposta"/><category term="fixparts"/><category term="google"/><category term="google glass"/><category term="google ile ara"/><category term="grid"/><category term="haftalık planlama"/><category term="hazırlanması"/><category term="iOS"/><category term="iPad"/><category term="inceleme"/><category term="java"/><category term="jboss"/><category term="jxd"/><category term="kamera"/><category term="kumaş"/><category term="kurtar"/><category term="lamp"/><category term="macos"/><category term="microsoft"/><category term="muhasebe"/><category term="mysql"/><category term="netbeans"/><category term="onay bilisim"/><category term="onay bilişim"/><category term="opengl"/><category term="outlook"/><category term="pardus"/><category term="php"/><category term="planlama şablonu"/><category term="play store"/><category term="procedure"/><category term="radgrid"/><category term="rage"/><category term="rapor"/><category term="recover"/><category term="reporting"/><category term="rogadis"/><category term="sahne"/><category term="search google for"/><category term="silinen"/><category term="sinandede ufukspor"/><category term="sorgu"/><category term="started"/><category term="steve jobs"/><category term="stok"/><category term="sunucu istemci iletişimi"/><category term="supraar"/><category term="suse"/><category term="tekstil"/><category term="telerik"/><category term="textile"/><category term="unity android plugin"/><category term="unity eclipse integration"/><category term="unity java plugin android"/><category term="unity3d"/><category term="vtiger"/><category term="vuforia"/><category term="wamp"/><category term="web servisi"/><category term="word şablon"/><category term="www"/><category term="www directory"/><category term="xtragrid"/><category term="yinlips"/><category term="ücretsiz"/><category term="İtalya"/><title type='text'>Türker Tunalı</title><subtitle type='html'>İdeallerin peşindeki yazılımcının bulduğu aperatif çözümler...</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://turkertunali.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8114551873867612455/posts/default?redirect=false'/><link rel='alternate' type='text/html' href='http://turkertunali.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/8114551873867612455/posts/default?start-index=26&amp;max-results=25&amp;redirect=false'/><author><name>Türker TUNALI</name><uri>http://www.blogger.com/profile/07176021645942032235</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiLuxkHlLdx5-rP3XYVWoh3J4sHL1PRx-IcaSleipZmS4fihrm2iUsgBNtB5RXeVNNv95lNc2YCmkwzi-m4j7jka_x7OwxvYLeuRtI2gfw6iRak44DJPXF7PScS3J5d1sg/s1600/1d097e2201de377962aa4f95c105bd01%3Fs%3D480'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>74</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-8114551873867612455.post-369798367255259315</id><published>2023-12-01T01:31:00.005+03:00</published><updated>2023-12-01T01:46:23.612+03:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="macos"/><title type='text'>Install Remmina on macOS for easy connection to your servers via SSH, RDP, VNC.</title><content type='html'>When you need to connect to multiple servers time to time via ssh, &lt;a href=&quot;https://remmina.org&quot; target=&quot;_blank&quot;&gt;Remmina&lt;/a&gt; is by far the easiest solution. You can RDP, SSH, VNC to your server with just one click.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Although Remmina is super easy way to connect your servers, installing it on Mac OS requires a little bit effort. Here is my solution to install Remmina on MacOS Sonoma.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;- Download &quot;remmina.rb&quot; from &lt;a href=&quot;https://github.com/mvzlb/homebrew-core/blob/1c7f85cc33110256f5287aabda7448e0d817b6f4/Formula/remmina.rb&quot; target=&quot;_blank&quot;&gt;Homebrew Core, Github project.&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEiv97DwjxrMpjWw9WTK_Wq4LOxSrHUe-q42wBlb6WDpHamG2xUCRc3GDRW_Tgx6Hyq0mT4rvIDv8hasc5zOvkoCJy367Sgk4Gh1RUznsY0ibKH7WJgi3bMjc5Td1Ppd_k17hkKKxOqIDpHX8HR6uFxg6I8vRSPlcCuoZzSgI4KpeQul-1umIn5MKYYsrIwg&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img alt=&quot;&quot; data-original-height=&quot;840&quot; data-original-width=&quot;1946&quot; height=&quot;306&quot; src=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEiv97DwjxrMpjWw9WTK_Wq4LOxSrHUe-q42wBlb6WDpHamG2xUCRc3GDRW_Tgx6Hyq0mT4rvIDv8hasc5zOvkoCJy367Sgk4Gh1RUznsY0ibKH7WJgi3bMjc5Td1Ppd_k17hkKKxOqIDpHX8HR6uFxg6I8vRSPlcCuoZzSgI4KpeQul-1umIn5MKYYsrIwg=w710-h306&quot; width=&quot;710&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;- Open the &quot;terminal&quot; app and in the &quot;Downloads&quot; folder install it by&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-family: courier;&quot;&gt;brew install remmina.rb&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;PS: It may throw some exceptions at first try, but you can install required packages via same command.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;To start the Remmina application on your MacOS, you can type &quot;&lt;span style=&quot;font-family: courier;&quot;&gt;remmina&lt;/span&gt;&quot; in the terminal.&lt;/div&gt;&lt;div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEget8zNW_8M_iC0w75vIAhsE58ABjBKDVpdkPValGpWwsgp-qgY_41WnBYPmapz0QDqjljai57pOTvMMzp_hzuaXLegJhcWkll8wCll0DwbpD2fsPJzHmsrt__6GekFc9xJX1t-NjNhyjkM9IsKWLfS6ycy1crAX11d_GxHu4TuWwoVq0UeXH0_DF8NWDf2&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img alt=&quot;&quot; data-original-height=&quot;447&quot; data-original-width=&quot;604&quot; height=&quot;331&quot; src=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEget8zNW_8M_iC0w75vIAhsE58ABjBKDVpdkPValGpWwsgp-qgY_41WnBYPmapz0QDqjljai57pOTvMMzp_hzuaXLegJhcWkll8wCll0DwbpD2fsPJzHmsrt__6GekFc9xJX1t-NjNhyjkM9IsKWLfS6ycy1crAX11d_GxHu4TuWwoVq0UeXH0_DF8NWDf2=w447-h331&quot; width=&quot;447&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;Click the plus icon on the left upper side to setup SSH (Or VNC, RDP) connection to your server on your MacOS.&amp;nbsp;&lt;/div&gt;&lt;div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEgYxH2Lhu9YtS09PSWti6Re6NPtxBa9bjtxxowkHs_HBrnx_xQqV8OPDSH-jtVcWGqIsAlDPoLV1PA19POEUbWPAKkDoN7uGDiaj-R5u3Ivu6amexLLYcJhrXYitNBzyIJ_IaoIb6QBft-_kmHhTRoQm-VAwtz8UA9YlMrA3exwPtWNMQRvO8kkUauFPCQ2&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img alt=&quot;&quot; data-original-height=&quot;1480&quot; data-original-width=&quot;1824&quot; height=&quot;420&quot; src=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEgYxH2Lhu9YtS09PSWti6Re6NPtxBa9bjtxxowkHs_HBrnx_xQqV8OPDSH-jtVcWGqIsAlDPoLV1PA19POEUbWPAKkDoN7uGDiaj-R5u3Ivu6amexLLYcJhrXYitNBzyIJ_IaoIb6QBft-_kmHhTRoQm-VAwtz8UA9YlMrA3exwPtWNMQRvO8kkUauFPCQ2=w519-h420&quot; width=&quot;519&quot; /&gt;&lt;/a&gt;&lt;/div&gt;Then in the main screen you can connect to your server via SSH with just one click on your MacOS.&lt;/div&gt;&lt;div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEhgm-HFe-FBf4xBRn1dHS3nM1fWY-CqH38uNo6wHm2pF8Z8Qig6JU-f2rZooAb3hrp85123dM4m6YzjE3aDCVNRxB867cvYl8QSeddsG2lMArgfnltGJOPboV_uIIRjL34iqbsb4yVw15kvMUC2snq9St_exs23bTtNHunZGLLbcF_jAlgQ4tE9CR-e5VBx&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img alt=&quot;&quot; data-original-height=&quot;270&quot; data-original-width=&quot;1512&quot; height=&quot;88&quot; src=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEhgm-HFe-FBf4xBRn1dHS3nM1fWY-CqH38uNo6wHm2pF8Z8Qig6JU-f2rZooAb3hrp85123dM4m6YzjE3aDCVNRxB867cvYl8QSeddsG2lMArgfnltGJOPboV_uIIRjL34iqbsb4yVw15kvMUC2snq9St_exs23bTtNHunZGLLbcF_jAlgQ4tE9CR-e5VBx=w499-h88&quot; width=&quot;499&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;PS: This method installs Remmina 1.4.30. If you want to install the latest version follow this guide.&lt;/div&gt;&lt;div&gt;- Open &quot;remmina.rb&quot; file and make 2 changes.&lt;/div&gt;&lt;div&gt;- &quot;url&quot; part should be:&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-family: courier;&quot;&gt;url &quot;https://gitlab.com/Remmina/Remmina/-/archive/v.1.4.33/Remmina-v.1.4.33.tar.bz2&quot;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;- &quot;sha256&quot; part should be:&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-family: courier;&quot;&gt;sha256 &quot;129d73dcfd597aa7ba3bd23c7f15d6174718ca981983cfe2c565cfcf150b1c22&quot;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;ddf&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;This will update your current remmina installation 🎊&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://turkertunali.blogspot.com/feeds/369798367255259315/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/8114551873867612455/369798367255259315' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8114551873867612455/posts/default/369798367255259315'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8114551873867612455/posts/default/369798367255259315'/><link rel='alternate' type='text/html' href='http://turkertunali.blogspot.com/2023/12/install-remmina-on-macos-for-easy.html' title='Install Remmina on macOS for easy connection to your servers via SSH, RDP, VNC.'/><author><name>Türker TUNALI</name><uri>http://www.blogger.com/profile/07176021645942032235</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiLuxkHlLdx5-rP3XYVWoh3J4sHL1PRx-IcaSleipZmS4fihrm2iUsgBNtB5RXeVNNv95lNc2YCmkwzi-m4j7jka_x7OwxvYLeuRtI2gfw6iRak44DJPXF7PScS3J5d1sg/s1600/1d097e2201de377962aa4f95c105bd01%3Fs%3D480'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/a/AVvXsEiv97DwjxrMpjWw9WTK_Wq4LOxSrHUe-q42wBlb6WDpHamG2xUCRc3GDRW_Tgx6Hyq0mT4rvIDv8hasc5zOvkoCJy367Sgk4Gh1RUznsY0ibKH7WJgi3bMjc5Td1Ppd_k17hkKKxOqIDpHX8HR6uFxg6I8vRSPlcCuoZzSgI4KpeQul-1umIn5MKYYsrIwg=s72-w710-h306-c" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8114551873867612455.post-2270263858462354300</id><published>2023-03-08T19:32:00.007+03:00</published><updated>2023-03-09T12:38:55.759+03:00</updated><title type='text'>A Farewell</title><content type='html'>&lt;p&gt;I will remember the impacts of the earhquake in Turkey with two images.&lt;br /&gt;&lt;br /&gt;A month ago, we lost 50.000 people in fraction of time. Lives of 10 million changed suddenly. Without any warning or anything. &lt;br /&gt;&lt;br /&gt;It&#39;s realy hard to keep going. But life goes on. From now on, I will try to feel normal. These are the two images which I will remember forever. &lt;br /&gt;&lt;br /&gt;First one is not from warzone or anything like that. This one taken in the 10th days of aftermath. Antakya is a city which has streets that are illumanated since the Paleolithic Age. And it is like night in the day time.&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;iframe allowfullscreen=&#39;allowfullscreen&#39; webkitallowfullscreen=&#39;webkitallowfullscreen&#39; mozallowfullscreen=&#39;mozallowfullscreen&#39; width=&#39;646&#39; height=&#39;464&#39; src=&#39;https://www.blogger.com/video.g?token=AD6v5dw5jqiF0HVEf2SoU0C81owHb6cACwzGyXIThhMZjrQ3HTMzIxAxBZDB4fyR7SrJ3JwvXxICkDOxYQ9R6nkMnw&#39; class=&#39;b-hbp-video b-uploaded&#39; frameborder=&#39;0&#39;&gt;&lt;/iframe&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Second image is about what we have tried to get anyone alive. Rescue teams, doctors, nurses, soldiers, the government, Greeks, Japans, Germans, Mexicans, software developers, engineers, dogs, you name it. It was like the whole planet was trying to get a voice, a click, a sound, anything.&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;iframe allowfullscreen=&#39;allowfullscreen&#39; webkitallowfullscreen=&#39;webkitallowfullscreen&#39; mozallowfullscreen=&#39;mozallowfullscreen&#39; width=&#39;556&#39; height=&#39;800&#39; src=&#39;https://www.blogger.com/video.g?token=AD6v5dyizGhdeEZ5xqkQc4iUXypwd51LUkD7WTM1NidnLS1ajttGIGBIHYxG0sqpPg7pxfwd9AZ1hmqNySrk5KBbWw&#39; class=&#39;b-hbp-video b-uploaded&#39; frameborder=&#39;0&#39;&gt;&lt;/iframe&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;One last thing. This one is pure horror. The entire saga of the horrific seconds. If you have courage, try to listen with earphones on and try to imagine what is going on.&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;iframe allowfullscreen=&#39;allowfullscreen&#39; webkitallowfullscreen=&#39;webkitallowfullscreen&#39; mozallowfullscreen=&#39;mozallowfullscreen&#39; width=&#39;626&#39; height=&#39;521&#39; src=&#39;https://www.blogger.com/video.g?token=AD6v5dwrsrYuIV-utpPePT9UNXlh9VIZ0ojU2Sfe8w3-5OBUh1_p7EqgRYqJDahfLSE59Uj_s93OhSAikN0X19D5Zg&#39; class=&#39;b-hbp-video b-uploaded&#39; frameborder=&#39;0&#39;&gt;&lt;/iframe&gt;&lt;/div&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='http://turkertunali.blogspot.com/feeds/2270263858462354300/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/8114551873867612455/2270263858462354300' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8114551873867612455/posts/default/2270263858462354300'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8114551873867612455/posts/default/2270263858462354300'/><link rel='alternate' type='text/html' href='http://turkertunali.blogspot.com/2023/03/a-farewell.html' title='A Farewell'/><author><name>Türker TUNALI</name><uri>http://www.blogger.com/profile/07176021645942032235</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiLuxkHlLdx5-rP3XYVWoh3J4sHL1PRx-IcaSleipZmS4fihrm2iUsgBNtB5RXeVNNv95lNc2YCmkwzi-m4j7jka_x7OwxvYLeuRtI2gfw6iRak44DJPXF7PScS3J5d1sg/s1600/1d097e2201de377962aa4f95c105bd01%3Fs%3D480'/></author><thr:total>0</thr:total><georss:featurename>Bursa, Türkiye</georss:featurename><georss:point>40.1885281 29.0609636</georss:point><georss:box>11.878294263821154 -6.0952863999999991 68.498761936178852 64.217213600000008</georss:box></entry><entry><id>tag:blogger.com,1999:blog-8114551873867612455.post-5564386222716255976</id><published>2022-11-11T16:35:00.004+03:00</published><updated>2023-03-08T20:20:16.528+03:00</updated><title type='text'>İlk zamanlar her şey basitti</title><content type='html'>&lt;p&gt;2018 Yılında işimde henüz tek başımaydım. Önce satışa odaklandım.&lt;/p&gt;&lt;p&gt;1-2 İş alınca iş bitirmeye odaklandım. Ve bir süre işler böyle devam etti.&lt;/p&gt;&lt;p&gt;Ama şimdi durum şöyle:&lt;br /&gt;Satış aktivitelerimi azaltırsan iş alamıyorum. Satış aktivitelerime odaklanırsam elimde ki işleri teslim edemediğim için mevcut iş ortaklarım ile sorun yaşıyorum.&lt;br /&gt;&lt;br /&gt;Bazen işi teslim ediyorum, muhasebe işlerine odaklanamadığım için fatura kesmeyi atlıyorum. Faturayı kesersem ödeme istemeyi unutuyorum. Ödeme alamayınca satış aktivitelerine odaklanmam gerekiyor. Bu durumda mevcut işlerde ki sorunlar tekrar ediyor.&lt;br /&gt;&lt;br /&gt;Yani;&lt;br /&gt;Pazarlama aktivitelerine odaklanırsam satışa zaman kalmıyor.&lt;br /&gt;Satışa odaklanırsam iş bitirmeye zaman kalmıyor.&lt;br /&gt;Elimde ki işleri bitirmeye odaklanırsam, pazarlama, satış, muhasebe, tahsilat, personel eğitimleri aksıyor.&lt;br /&gt;&lt;br /&gt;Arıtk bu problemleri yeni personellerle aştım. Ben, şahsım, kendim ve benliğim iyi bir ekip olduğumuzu düşünüyorum.&lt;/p&gt;&lt;p&gt;Öğrendiğim her şeyi bu kitaba borçluyum. Sizde edinmelisiniz.&lt;/p&gt;&lt;p&gt;&lt;img alt=&quot;Basak Bice on Twitter: &amp;quot;@nihatsirdar 10 adımda 12 adım ...&quot; class=&quot;n3VNCb KAlRDb&quot; data-noaft=&quot;1&quot; src=&quot;https://pbs.twimg.com/media/DfjDFR-WAAU-vt7.jpg&quot; style=&quot;height: 474.826px; margin: 0px; width: 569px;&quot; /&gt;&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='http://turkertunali.blogspot.com/feeds/5564386222716255976/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/8114551873867612455/5564386222716255976' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8114551873867612455/posts/default/5564386222716255976'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8114551873867612455/posts/default/5564386222716255976'/><link rel='alternate' type='text/html' href='http://turkertunali.blogspot.com/2022/11/ilk-zamanlar-her-sey-basitti.html' title='İlk zamanlar her şey basitti'/><author><name>Türker TUNALI</name><uri>http://www.blogger.com/profile/07176021645942032235</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiLuxkHlLdx5-rP3XYVWoh3J4sHL1PRx-IcaSleipZmS4fihrm2iUsgBNtB5RXeVNNv95lNc2YCmkwzi-m4j7jka_x7OwxvYLeuRtI2gfw6iRak44DJPXF7PScS3J5d1sg/s1600/1d097e2201de377962aa4f95c105bd01%3Fs%3D480'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8114551873867612455.post-6161359702089740598</id><published>2020-05-28T01:24:00.002+03:00</published><updated>2020-07-15T21:14:48.838+03:00</updated><title type='text'>ERPNext ile fatura yazılarının Türkçeleştirilmesi</title><content type='html'>&lt;span style=&quot;font-family: verdana, sans-serif;&quot;&gt;ERPNext rakamların yazıya çevrilmesi için &lt;a href=&quot;https://pypi.org/project/num2words/&quot; target=&quot;_blank&quot;&gt;num2words&lt;/a&gt; kütüphanesini kullanıyor. Bunu güncellemek için Frappe tarafında ki gerekli kütüphaneler dosyasında güncelleme yapmamız gerekli. &quot;apps/frappe/requirements.txt&quot; Dosyasını açıp &quot;num2words&quot; satırını buluyoruz. Burada bugün için 0.5.5 versiyonu yazıyor. Bu kütüphaneye Türkçe özelliği 0.5.6&#39;da geldi. Şuan için kütüphanenin son versiyonu ise 0.5.10.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: verdana, sans-serif;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;helvetica neue&amp;quot;, arial, helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: &amp;quot;helvetica neue&amp;quot;, arial, helvetica, sans-serif;&quot;&gt;Dolayısıyla bu dosyada&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot;, courier, monospace;&quot;&gt;num2words==0.5.5&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: verdana, sans-serif;&quot;&gt;yazan yere&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot;, courier, monospace;&quot;&gt;num2words==0.5.10&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: verdana, sans-serif;&quot;&gt;yaparsak Frappe&#39;ye gerekli kütüphane versiyonunu söylemiş oluyoruz.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: verdana, sans-serif;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;helvetica neue&amp;quot;, arial, helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: &amp;quot;helvetica neue&amp;quot;, arial, helvetica, sans-serif;&quot;&gt;Bundan sonra güncelleme için sırasıyla şu komutları çalıştırabiliriz.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;helvetica neue&amp;quot;, arial, helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot;, courier, monospace;&quot;&gt;bench setup requirements&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot;, courier, monospace;&quot;&gt;bench build&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot;, courier, monospace;&quot;&gt;bench clear-cache&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot;, courier, monospace;&quot;&gt;bench restart&lt;/span&gt;</content><link rel='replies' type='application/atom+xml' href='http://turkertunali.blogspot.com/feeds/6161359702089740598/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/8114551873867612455/6161359702089740598' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8114551873867612455/posts/default/6161359702089740598'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8114551873867612455/posts/default/6161359702089740598'/><link rel='alternate' type='text/html' href='http://turkertunali.blogspot.com/2020/05/erpnext-ile-fatura-yazlarnn.html' title='ERPNext ile fatura yazılarının Türkçeleştirilmesi'/><author><name>Türker TUNALI</name><uri>http://www.blogger.com/profile/07176021645942032235</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiLuxkHlLdx5-rP3XYVWoh3J4sHL1PRx-IcaSleipZmS4fihrm2iUsgBNtB5RXeVNNv95lNc2YCmkwzi-m4j7jka_x7OwxvYLeuRtI2gfw6iRak44DJPXF7PScS3J5d1sg/s1600/1d097e2201de377962aa4f95c105bd01%3Fs%3D480'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8114551873867612455.post-6525396771233271294</id><published>2016-03-11T11:30:00.001+02:00</published><updated>2016-03-11T11:38:57.666+02:00</updated><title type='text'>Logo Apps Eğitim Notları</title><content type='html'>&lt;span style=&quot;font-family: &amp;quot;verdana&amp;quot; , sans-serif;&quot;&gt;&lt;b&gt;Logo App Nedir? &lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;verdana&amp;quot; , sans-serif;&quot;&gt;Logo App, &lt;a href=&quot;http://logo.com.tr/&quot; target=&quot;_blank&quot;&gt;LOGO&lt;/a&gt; firmasının 3ncü nesil uygulamalarında kullanılmak üzere geliştirilen küçük uygulama parçalarıdır.&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;verdana&amp;quot; , sans-serif;&quot;&gt;Tavsiye edilen kullanımı, basit ve tek bir işi kusursuz yapması. Örnek olarak sevkiyat esnasında barkod okutularak bipleyen, malzeme uygunsuz ise uyarı sesi çıkaran uygulama gösterildi. Uygulamanın tek işi uygun sesi çıkarması. Şuan için &lt;a href=&quot;http://store.logo.com.tr/logo-apps&quot; target=&quot;_blank&quot;&gt;Logo Store&lt;/a&gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;verdana&amp;quot; , sans-serif;&quot;&gt; mağazasında hava durumu gösteren uygulama, yılan oyunu uygulaması, yapılacak işler listesi uygulamaları mevcut.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;verdana&amp;quot; , sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;b&gt;&lt;span style=&quot;font-family: &amp;quot;verdana&amp;quot; , sans-serif;&quot;&gt;Logo App Uygulaması Nasıl Geliştirilir?&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;verdana&amp;quot; , sans-serif;&quot;&gt;Geliştirici açısından bakıldığında birçok iyi özellik ve birkaç uğraştırıcı prosedürümüz var.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;verdana&amp;quot; , sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: &amp;quot;verdana&amp;quot; , sans-serif;&quot;&gt;Öncelikle geliştirme ortamımız Visual Studio. Ayrıca &quot;Logo App Project&quot; eklentisi ile birkaç dakika içinde test edilmeye hazır uygulama derlenebiliyor. (Şuan için Visual Studio 2015 ile daha sağlık çalışıyor ama geliştirilmesi devam ediyor) Yani &lt;a href=&quot;http://wikidocs.logo.com.tr/display/WUA/Logo+Object+Designer&quot; target=&quot;_blank&quot;&gt;Logo Object Designer&lt;/a&gt; tarzı bir editör ile uğraşmak zorunda değiliz. Bu bence en iyi özelliklerinden biri.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;verdana&amp;quot; , sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: &amp;quot;verdana&amp;quot; , sans-serif;&quot;&gt;Logo App uygulaması lisans kontrolü yapmadan Logo Rest servisini kullanabiliyor. Rest servisi yetenekleri arasında yetkilendirilebilir sorgulama, Logo Objects veri nesneleri (Malzeme kartı, sipariş vs...) okuma/oluşturma/güncelleme/silme, Logo Objects metodları (İrsaliye faturalaştırma) kullanımı ve bazı üretim metodlarının çağrılabilmesi var.&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;verdana&amp;quot; , sans-serif;&quot;&gt;Logo App kullanarak KOBİ ürünlerine de kayıt atılması mümkün ancak orada da belirli bir kısıtlama var. &lt;a href=&quot;http://wikidocs.logo.com.tr/pages/viewpage.action?pageId=12419224&quot; target=&quot;_blank&quot;&gt;GO3 - Tiger3 - Tiger Enterprise 3 Rest Api veri işleme farkları&lt;/a&gt; sayfasından atılabilecek kayıt türleri arasında ki farklara bakılabilir. &lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;verdana&amp;quot; , sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: &amp;quot;verdana&amp;quot; , sans-serif;&quot;&gt;Gelelim bizi biraz uğraştırabilecek konulara. Geliştirme için Çözüm Ortağı veya Logo App Geliştirici seti olmalı. Bu setler ile sınırsız yükleme ve test yapabiliyoruz. Ancak son kullanıcının bu uygulamayı kullanabilmesi için Logo Store üstünden yüklemesi gerekli. Yani butik çözümler, kişiye özel çözümler geliştirmemiz önlenmiş. Bu bence iyi bir özellik, bizi daha genel daha paket çözümler geliştirmeye zorlar.&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;verdana&amp;quot; , sans-serif;&quot;&gt;Logo Store mağazasına yüklenecek uygulamayı daha geliştirmeye başlamadan önce LOGO&#39;dan izin almamız gerekiyor. Çünkü LOGO geliştirdiğimiz uygulamayı marketine koymama hakkına sahip. İzin alım sürecinde kaynak kodu verme zorunluluğumuz yok, çözüm ortağı olma zorunluluğumuz yok. Herkes küçük bir sertifikasyon döneminden sonra Logo App geliştirmeye başlayabiliyor.&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;verdana&amp;quot; , sans-serif;&quot;&gt;Linker:&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;verdana&amp;quot; , sans-serif;&quot;&gt;&lt;a href=&quot;http://wikidocs.logo.com.tr/display/WUA/Logo+App&quot; target=&quot;_blank&quot;&gt;Logo App&lt;/a&gt; &lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;verdana&amp;quot; , sans-serif;&quot;&gt;&lt;a href=&quot;http://wikidocs.logo.com.tr/pages/viewpage.action?pageId=11960343&quot; target=&quot;_blank&quot;&gt;Logo App Geliştirici Kılavuzu&lt;/a&gt;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;verdana&amp;quot; , sans-serif;&quot;&gt;&lt;a href=&quot;http://wikidocs.logo.com.tr/pages/viewpage.action?pageId=11960377&quot; target=&quot;_blank&quot;&gt;Logo App Sık Sorulan Sorular&lt;/a&gt; (Umarım yakında sorular artar)&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;verdana&amp;quot; , sans-serif;&quot;&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=goEFEGmsUVU&quot; target=&quot;_blank&quot;&gt;Döviz Çevirici uygulamasının geliştirme süreci&lt;/a&gt; &lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;verdana&amp;quot; , sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: &amp;quot;verdana&amp;quot; , sans-serif;&quot;&gt;Kullanılabilecek Kaynaklar:&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;verdana&amp;quot; , sans-serif;&quot;&gt;&lt;a href=&quot;http://wikidocs.logo.com.tr/&quot;&gt;wikidocs.logo.com.tr&lt;/a&gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;verdana&amp;quot; , sans-serif;&quot;&gt; (Kayıt istemiyor)&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;verdana&amp;quot; , sans-serif;&quot;&gt;&lt;a href=&quot;http://forum.logo.com.tr/&quot;&gt;forum.logo.com.tr&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;verdana&amp;quot; , sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: &amp;quot;verdana&amp;quot; , sans-serif;&quot;&gt;&lt;b&gt;LOGO&#39;nun Logo App ile Hedefleri Neler?&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;verdana&amp;quot; , sans-serif;&quot;&gt;Burada verilen örnekler arasında &quot;Çaycı&quot; uygulaması örneği var. Toplantı odasına çay talebini verebileceğimiz basit uygulama. Özellikle altı çizilen konu basit, tek bir amacı olan bir sürü uygulama geliştirmek. Günde 2-3 uygulama geliştirmek.&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;verdana&amp;quot; , sans-serif;&quot;&gt;Ayrıca mobil uygulamalarda izlenilen yollarla ilgili de bilgi verildi. Mobil uygulamalarda kullanıcıya eğitimin verilmediği, basit arayüzlerin kullanıldığı, ana menu ile uğraşılmadan direk konuya girdiği, 2-3 renk kullanıldığı bilgileri verildi. Bizim de bunlara uymamız istendi.&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;verdana&amp;quot; , sans-serif;&quot;&gt;Sonuç olarak &lt;span style=&quot;font-family: &amp;quot;verdana&amp;quot; , sans-serif;&quot;&gt;LOGO ir&lt;span style=&quot;font-family: &amp;quot;verdana&amp;quot; , sans-serif;&quot;&gt;ili ufaklı bir sürü uyg&lt;span style=&quot;font-family: &amp;quot;verdana&amp;quot; , sans-serif;&quot;&gt;ulama &lt;span style=&quot;font-family: &amp;quot;verdana&amp;quot; , sans-serif;&quot;&gt;geliştirilmesinin önünü aç&lt;span style=&quot;font-family: &amp;quot;verdana&amp;quot; , sans-serif;&quot;&gt;mı&lt;span style=&quot;font-family: &amp;quot;verdana&amp;quot; , sans-serif;&quot;&gt;ş, bunların oldukça kolay geliştirilmesini hedeflemiş ve kendi ekosistemini yaratmaya çalışmış.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt; &lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;&lt;span style=&quot;font-family: &amp;quot;verdana&amp;quot; , sans-serif;&quot;&gt;Düşüncelerim&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;verdana&amp;quot; , sans-serif;&quot;&gt;Günümüz standartlarına uygun ortamlarda kod geliştirilmesi, kısa sürelerde sonuç alınabilecek çözümler sunulabilmesi oldukça iyi. Ancak devamlı örneklenen Apple ve Android marketlerinin başarısının yakalanması kısa vadede zor. Mobil uygulamarda, geliştirici uygulama açıldığı anda kullanıcı bilgilerine, cinsiyetine, lokasyonuna ve daha birçok ek bilgiye sahip veya 2 satır ile bunlara ulaşabilecek konumda. Logo App ile sahip olduğumuz bilgiler kullanıcının 16 nolu firmaya giriş yaptığının bilinmesi ve kullanıcı adının &quot;sevkiyat2&quot; olduğunun bilinmesi. Burada diğer marketler sahip oldukları ekosistem ile bir sürü ek kütüphane ile yapılan uygulamaların geliştirilmesine katkı sunuyorlar. Henüz Logo App tarafında bu yok ancak bu sadece LOGO için bir handikap. LOGO hedeflerine bunları sunarsa daha kolay ulaşabilir.&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;verdana&amp;quot; , sans-serif;&quot;&gt;Konuyu geliştirici açısından değerlendirirsek artık kısa sürelerde çok verimli uygulamalar geliştirebileceğimiz ek bir güce daha sahibiz. Sadece düşünce şeklimizi butik çözümlerden genel çözümler üstüne yoğunlaştırmalıyız&lt;span style=&quot;font-family: &amp;quot;verdana&amp;quot; , sans-serif;&quot;&gt;.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;verdana&amp;quot; , sans-serif;&quot;&gt;&lt;b&gt;Not:&lt;/b&gt; 3 serisi LOGO ürünleri önyüzde çok fazla değişiklik yapmış ancak bu değişiklikleri yaparken bütün prosedürler elden geçirilmiş gibi duruyor. Uygulama performansından gözle görülür bir artış var. Kullanımı ise çok farklı alışılması zaman isteyen bir konu ancak ünlü bir tasarımcı ile çalışılmış olması beni umutlandırıyor. 2nci günün sonunda kendimi daha çok evimde hissettim diyemem ama sokağa yaklaşmış gibiyim. &lt;/span&gt;</content><link rel='replies' type='application/atom+xml' href='http://turkertunali.blogspot.com/feeds/6525396771233271294/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/8114551873867612455/6525396771233271294' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8114551873867612455/posts/default/6525396771233271294'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8114551873867612455/posts/default/6525396771233271294'/><link rel='alternate' type='text/html' href='http://turkertunali.blogspot.com/2016/03/logo-apps-egitim-notlari.html' title='Logo Apps Eğitim Notları'/><author><name>Türker TUNALI</name><uri>http://www.blogger.com/profile/07176021645942032235</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiLuxkHlLdx5-rP3XYVWoh3J4sHL1PRx-IcaSleipZmS4fihrm2iUsgBNtB5RXeVNNv95lNc2YCmkwzi-m4j7jka_x7OwxvYLeuRtI2gfw6iRak44DJPXF7PScS3J5d1sg/s1600/1d097e2201de377962aa4f95c105bd01%3Fs%3D480'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8114551873867612455.post-6146465062127237599</id><published>2015-10-02T12:30:00.000+03:00</published><updated>2015-10-02T12:51:32.707+03:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="data"/><category scheme="http://www.blogger.com/atom/ns#" term="deleted"/><category scheme="http://www.blogger.com/atom/ns#" term="procedure"/><category scheme="http://www.blogger.com/atom/ns#" term="recover"/><category scheme="http://www.blogger.com/atom/ns#" term="sql"/><category scheme="http://www.blogger.com/atom/ns#" term="SQL-Server"/><category scheme="http://www.blogger.com/atom/ns#" term="T-SQL"/><title type='text'>SQL Server ile silinen kayıtların geri getirilmesi</title><content type='html'>&lt;span style=&quot;font-family: inherit;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; SQL Server ile iş yaparken, kod geliştirirken bazı istenmeyen durumlarla karşılaşılması elbette olağandır. Bu yüzden geliştirme ortamını kurarken, müşteri tarafında ki asıl kullanım alanlarını kurarken düzgün bir yedek alma stratejisi belirlenmesi ve yetkilendirme şeması yapılması şarttır.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; Bütün önlemlere rağmen çeşitli şekiller de bazı kayıtlar silinebilir. Böyle durumlarda tabi ki ilk çözüm yedekleme tarafında ki çözümdür. Ancak uygun koşullarda &quot;Transaction Log&quot; üstünden de veri kurtarabiliriz. Aşağıda bu işlemi bizim için yapan ve kurtardığı kayıtları gösteren örnek bir kod görebilirsiniz. Kurtardığı kayıtları tablosuna geri yazmıyor sadece gösteriyor, bu şekilde dikkatli bir şekilde elle geri dönüş işlemi yapılabiliyor.&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;Kullanımı eğer tarih aralığı verilmeyecekse aşağıdaki gibidir. &lt;/span&gt;&lt;br /&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace; font-size: small;&quot;&gt;&amp;nbsp;EXEC Recover_Deleted_Data_Proc &#39;VT_ADI&#39;,&#39;DBO.TABLO_ADI&#39;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;/div&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;Eğer tarih aralığı verilecekse:&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace; font-size: small;&quot;&gt;&amp;nbsp;EXEC Recover_Deleted_Data_Proc &#39;VT_ADI&#39;,&#39;DBO.TABLO_ADI&#39; ,&#39;2011/12/01&#39;,&#39;2012/01/30&#39;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;Ben araştırma yaparken kaynak olarak &lt;a href=&quot;http://raresql.com/2011/10/22/how-to-recover-deleted-data-from-sql-sever/&quot; target=&quot;_blank&quot;&gt;RareSQL&lt;/a&gt; sitesini kullandım. Sitede ki prosedür üstünde bazı düzeltmeler yapmam gerekti ama sonuçta düzgün bir şekilde kayıtların büyük kısmını kurtarabildik. Sitesinde adım adım açıklamalar ile her aşamada neyi neden yaptığını düzgün bir şekilde anlatıyor. Detaylı bilgi isteyenler inceleyebilir.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace; font-size: small;&quot;&gt;&lt;span style=&quot;font-family: Verdana,sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace; font-size: small;&quot;&gt;&lt;span style=&quot;font-family: Verdana,sans-serif;&quot;&gt;Prosedürün düzelttiğim hali aşağıdaki gibidir. Görüşmek üzere.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace; font-size: small;&quot;&gt;&lt;span style=&quot;font-family: Verdana,sans-serif;&quot;&gt;Kaynak: RareSQL &lt;a href=&quot;http://raresql.com/2011/10/22/how-to-recover-deleted-data-from-sql-sever/&quot;&gt;http://raresql.com/2011/10/22/how-to-recover-deleted-data-from-sql-sever/&lt;/a&gt; &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;&lt;span style=&quot;font-family: Verdana,sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;&lt;span style=&quot;font-family: Verdana,sans-serif;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;&quot;&gt;-- Script Name: Recover_Deleted_Data_Proc&lt;br /&gt;-- Script Type : Recovery Procedure &lt;br /&gt;-- Develop By: Muhammad Imran&lt;br /&gt;-- Date Created: 15 Oct 2011&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;&lt;span style=&quot;font-family: Verdana,sans-serif;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;&quot;&gt;-- Modified By: Turker TUNALI&lt;br /&gt;-- Modify Date: 02 Oct 2015&lt;br /&gt;-- Version&amp;nbsp;&amp;nbsp;&amp;nbsp; : 3.2&lt;br /&gt;-- Notes : Included BLOB data types for recovery.&amp;amp; Compatibile with Default , CS collation , Arabic_CI_AS.&lt;br /&gt;&lt;br /&gt;--DROP PROCEDURE Recover_Deleted_Data_Proc&lt;br /&gt;--GO&lt;br /&gt;Create PROCEDURE Recover_Deleted_Data_Proc&lt;br /&gt;@Database_Name NVARCHAR(MAX),&lt;br /&gt;@SchemaName_n_TableName NVARCHAR(Max),&lt;br /&gt;@Date_From DATETIME=&#39;1900/01/01&#39;,&lt;br /&gt;@Date_To DATETIME =&#39;9999/12/31&#39;&lt;br /&gt;AS&lt;br /&gt;&lt;br /&gt;DECLARE @RowLogContents VARBINARY(8000)&lt;br /&gt;DECLARE @TransactionID NVARCHAR(Max)&lt;br /&gt;DECLARE @AllocUnitID BIGINT&lt;br /&gt;DECLARE @AllocUnitName NVARCHAR(Max)&lt;br /&gt;DECLARE @SQL NVARCHAR(Max)&lt;br /&gt;DECLARE @Compatibility_Level INT&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;SELECT @Compatibility_Level=dtb.compatibility_level&lt;br /&gt;FROM&lt;br /&gt;master.sys.databases AS dtb WHERE dtb.name=@Database_Name&lt;br /&gt;&lt;br /&gt;IF ISNULL(@Compatibility_Level,0)&amp;lt;=80&lt;br /&gt;BEGIN&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; RAISERROR(&#39;The compatibility level should be equal to or greater SQL SERVER 2005 (90)&#39;,16,1)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; RETURN&lt;br /&gt;END&lt;br /&gt;&lt;br /&gt;IF (SELECT COUNT(*) FROM INFORMATION_SCHEMA.TABLES WHERE [TABLE_SCHEMA]+&#39;.&#39;+[TABLE_NAME]=@SchemaName_n_TableName)=0&lt;br /&gt;BEGIN&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; RAISERROR(&#39;Could not found the table in the defined database&#39;,16,1)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; RETURN&lt;br /&gt;END&lt;br /&gt;&lt;br /&gt;DECLARE @bitTable TABLE&lt;br /&gt;(&lt;br /&gt;&amp;nbsp; [ID] INT,&lt;br /&gt;&amp;nbsp; [Bitvalue] INT&lt;br /&gt;)&lt;br /&gt;--Create table to set the bit position of one byte.&lt;br /&gt;&lt;br /&gt;INSERT INTO @bitTable&lt;br /&gt;SELECT 0,2 UNION ALL&lt;br /&gt;SELECT 1,2 UNION ALL&lt;br /&gt;SELECT 2,4 UNION ALL&lt;br /&gt;SELECT 3,8 UNION ALL&lt;br /&gt;SELECT 4,16 UNION ALL&lt;br /&gt;SELECT 5,32 UNION ALL&lt;br /&gt;SELECT 6,64 UNION ALL&lt;br /&gt;SELECT 7,128&lt;br /&gt;&lt;br /&gt;--Create table to collect the row data.&lt;br /&gt;DECLARE @DeletedRecords TABLE&lt;br /&gt;(&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; [Row ID]&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; INT IDENTITY(1,1),&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; [RowLogContents]&amp;nbsp;&amp;nbsp;&amp;nbsp; VARBINARY(8000),&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; [AllocUnitID]&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; BIGINT,&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; [Transaction ID]&amp;nbsp;&amp;nbsp;&amp;nbsp; NVARCHAR(Max),&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; [FixedLengthData]&amp;nbsp;&amp;nbsp; SMALLINT,&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; [TotalNoOfCols]&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SMALLINT,&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; [NullBitMapLength]&amp;nbsp; SMALLINT,&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; [NullBytes]&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; VARBINARY(8000),&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; [TotalNoofVarCols]&amp;nbsp; SMALLINT,&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; [ColumnOffsetArray] VARBINARY(8000),&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; [VarColumnStart]&amp;nbsp;&amp;nbsp;&amp;nbsp; SMALLINT,&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; [Slot ID]&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; INT,&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; [NullBitMap]&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; VARCHAR(MAX)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;)&lt;br /&gt;--Create a common table expression to get all the row data plus how many bytes we have for each row.&lt;br /&gt;;WITH RowData AS (&lt;br /&gt;SELECT&lt;br /&gt;&lt;br /&gt;[RowLog Contents 0] AS [RowLogContents] &lt;br /&gt;&lt;br /&gt;,[AllocUnitID] AS [AllocUnitID] &lt;br /&gt;&lt;br /&gt;,[Transaction ID] AS [Transaction ID]&amp;nbsp; &lt;br /&gt;&lt;br /&gt;--[Fixed Length Data] = Substring (RowLog content 0, Status Bit A+ Status Bit B + 1,2 bytes)&lt;br /&gt;,CONVERT(SMALLINT, CONVERT(BINARY(2), REVERSE(SUBSTRING([RowLog Contents 0], 2 + 1, 2)))) AS [FixedLengthData]&amp;nbsp; --@FixedLengthData&lt;br /&gt;&lt;br /&gt;-- [TotalnoOfCols] =&amp;nbsp; Substring (RowLog content 0, [Fixed Length Data] + 1,2 bytes)&lt;br /&gt;,CONVERT(INT, CONVERT(BINARY(2), REVERSE(SUBSTRING([RowLog Contents 0], CONVERT(SMALLINT, CONVERT(BINARY(2)&lt;br /&gt;,REVERSE(SUBSTRING([RowLog Contents 0], 2 + 1, 2)))) + 1, 2)))) as&amp;nbsp; [TotalNoOfCols]&lt;br /&gt;&lt;br /&gt;--[NullBitMapLength]=ceiling([Total No of Columns] /8.0)&lt;br /&gt;,CONVERT(INT, ceiling(CONVERT(INT, CONVERT(BINARY(2), REVERSE(SUBSTRING([RowLog Contents 0], CONVERT(SMALLINT, CONVERT(BINARY(2)&lt;br /&gt;,REVERSE(SUBSTRING([RowLog Contents 0], 2 + 1, 2)))) + 1, 2))))/8.0)) as [NullBitMapLength] &lt;br /&gt;&lt;br /&gt;--[Null Bytes] = Substring (RowLog content 0, Status Bit A+ Status Bit B + [Fixed Length Data] +1, [NullBitMapLength] )&lt;br /&gt;,SUBSTRING([RowLog Contents 0], CONVERT(SMALLINT, CONVERT(BINARY(2), REVERSE(SUBSTRING([RowLog Contents 0], 2 + 1, 2)))) + 3,&lt;br /&gt;CONVERT(INT, ceiling(CONVERT(INT, CONVERT(BINARY(2), REVERSE(SUBSTRING([RowLog Contents 0], CONVERT(SMALLINT, CONVERT(BINARY(2)&lt;br /&gt;,REVERSE(SUBSTRING([RowLog Contents 0], 2 + 1, 2)))) + 1, 2))))/8.0))) as [NullBytes]&lt;br /&gt;&lt;br /&gt;--[TotalNoofVarCols] = Substring (RowLog content 0, Status Bit A+ Status Bit B + [Fixed Length Data] +1, [Null Bitmap length] + 2 )&lt;br /&gt;,(CASE WHEN SUBSTRING([RowLog Contents 0], 1, 1) In (0x10,0x30,0x70) THEN&lt;br /&gt;CONVERT(INT, CONVERT(BINARY(2), REVERSE(SUBSTRING([RowLog Contents 0],&lt;br /&gt;CONVERT(SMALLINT, CONVERT(BINARY(2), REVERSE(SUBSTRING([RowLog Contents 0], 2 + 1, 2)))) + 3&lt;br /&gt;+ CONVERT(INT, ceiling(CONVERT(INT, CONVERT(BINARY(2), REVERSE(SUBSTRING([RowLog Contents 0], CONVERT(SMALLINT, CONVERT(BINARY(2)&lt;br /&gt;,REVERSE(SUBSTRING([RowLog Contents 0], 2 + 1, 2)))) + 1, 2))))/8.0)), 2))))&amp;nbsp; ELSE null&amp;nbsp; END) AS [TotalNoofVarCols] &lt;br /&gt;&lt;br /&gt;--[ColumnOffsetArray]= Substring (RowLog content 0, Status Bit A+ Status Bit B + [Fixed Length Data] +1, [Null Bitmap length] + 2 , [TotalNoofVarCols]*2 )&lt;br /&gt;,(CASE WHEN SUBSTRING([RowLog Contents 0], 1, 1) In (0x10,0x30,0x70) THEN&lt;br /&gt;SUBSTRING([RowLog Contents 0]&lt;br /&gt;, CONVERT(SMALLINT, CONVERT(BINARY(2), REVERSE(SUBSTRING([RowLog Contents 0], 2 + 1, 2)))) + 3&lt;br /&gt;+ CONVERT(INT, ceiling(CONVERT(INT, CONVERT(BINARY(2), REVERSE(SUBSTRING([RowLog Contents 0], CONVERT(SMALLINT, CONVERT(BINARY(2)&lt;br /&gt;,REVERSE(SUBSTRING([RowLog Contents 0], 2 + 1, 2)))) + 1, 2))))/8.0)) + 2&lt;br /&gt;, (CASE WHEN SUBSTRING([RowLog Contents 0], 1, 1) In (0x10,0x30,0x70) THEN&lt;br /&gt;CONVERT(INT, CONVERT(BINARY(2), REVERSE(SUBSTRING([RowLog Contents 0],&lt;br /&gt;CONVERT(SMALLINT, CONVERT(BINARY(2), REVERSE(SUBSTRING([RowLog Contents 0], 2 + 1, 2)))) + 3&lt;br /&gt;+ CONVERT(INT, ceiling(CONVERT(INT, CONVERT(BINARY(2), REVERSE(SUBSTRING([RowLog Contents 0], CONVERT(SMALLINT, CONVERT(BINARY(2)&lt;br /&gt;,REVERSE(SUBSTRING([RowLog Contents 0], 2 + 1, 2)))) + 1, 2))))/8.0)), 2))))&amp;nbsp; ELSE null&amp;nbsp; END)&lt;br /&gt;* 2)&amp;nbsp; ELSE null&amp;nbsp; END) AS [ColumnOffsetArray] &lt;br /&gt;&lt;br /&gt;--&amp;nbsp; Variable column Start = Status Bit A+ Status Bit B + [Fixed Length Data] + [Null Bitmap length] + 2+([TotalNoofVarCols]*2)&lt;br /&gt;,CASE WHEN SUBSTRING([RowLog Contents 0], 1, 1)In (0x10,0x30,0x70)&lt;br /&gt;THEN&amp;nbsp; (&lt;br /&gt;CONVERT(SMALLINT, CONVERT(BINARY(2), REVERSE(SUBSTRING([RowLog Contents 0], 2 + 1, 2)))) + 4 &lt;br /&gt;&lt;br /&gt;+ CONVERT(INT, ceiling(CONVERT(INT, CONVERT(BINARY(2), REVERSE(SUBSTRING([RowLog Contents 0], CONVERT(SMALLINT, CONVERT(BINARY(2)&lt;br /&gt;,REVERSE(SUBSTRING([RowLog Contents 0], 2 + 1, 2)))) + 1, 2))))/8.0)) &lt;br /&gt;&lt;br /&gt;+ ((CASE WHEN SUBSTRING([RowLog Contents 0], 1, 1) In (0x10,0x30,0x70) THEN&lt;br /&gt;CONVERT(INT, CONVERT(BINARY(2), REVERSE(SUBSTRING([RowLog Contents 0],&lt;br /&gt;CONVERT(SMALLINT, CONVERT(BINARY(2), REVERSE(SUBSTRING([RowLog Contents 0], 2 + 1, 2)))) + 3&lt;br /&gt;+ CONVERT(INT, ceiling(CONVERT(INT, CONVERT(BINARY(2), REVERSE(SUBSTRING([RowLog Contents 0], CONVERT(SMALLINT, CONVERT(BINARY(2)&lt;br /&gt;,REVERSE(SUBSTRING([RowLog Contents 0], 2 + 1, 2)))) + 1, 2))))/8.0)), 2))))&amp;nbsp; ELSE null&amp;nbsp; END) * 2)) &lt;br /&gt;&lt;br /&gt;ELSE null End AS [VarColumnStart]&lt;br /&gt;,[Slot ID]&lt;br /&gt;FROM sys.fn_dblog(NULL, NULL)&lt;br /&gt;WHERE&lt;br /&gt;AllocUnitId IN&lt;br /&gt;(SELECT [Allocation_unit_id] FROM sys.allocation_units allocunits&lt;br /&gt;INNER JOIN sys.partitions partitions ON (allocunits.type IN (1, 3)&amp;nbsp; &lt;br /&gt;AND partitions.hobt_id = allocunits.container_id) OR (allocunits.type = 2 &lt;br /&gt;AND partitions.partition_id = allocunits.container_id)&amp;nbsp; &lt;br /&gt;WHERE object_id=object_ID(&#39;&#39; + @SchemaName_n_TableName + &#39;&#39;))&lt;br /&gt;&lt;br /&gt;AND Context IN (&#39;LCX_MARK_AS_GHOST&#39;, &#39;LCX_HEAP&#39;) AND Operation in (&#39;LOP_DELETE_ROWS&#39;) &lt;br /&gt;And SUBSTRING([RowLog Contents 0], 1, 1)In (0x10,0x30,0x70)&lt;br /&gt;&lt;br /&gt;/*Use this subquery to filter the date*/&lt;br /&gt;AND [TRANSACTION ID] IN (SELECT DISTINCT [TRANSACTION ID] FROM&amp;nbsp;&amp;nbsp;&amp;nbsp; sys.fn_dblog(NULL, NULL) &lt;br /&gt;WHERE Context IN (&#39;LCX_NULL&#39;) AND Operation in (&#39;LOP_BEGIN_XACT&#39;)&amp;nbsp; &lt;br /&gt;And [Transaction Name] In (&#39;DELETE&#39;,&#39;user_transaction&#39;)&lt;br /&gt;And&amp;nbsp; CONVERT(NVARCHAR(11),[Begin Time]) BETWEEN @Date_From AND @Date_To)),&lt;br /&gt;&lt;br /&gt;--Use this technique to repeate the row till the no of bytes of the row.&lt;br /&gt;N1 (n) AS (SELECT 1 UNION ALL SELECT 1),&lt;br /&gt;N2 (n) AS (SELECT 1 FROM N1 AS X, N1 AS Y),&lt;br /&gt;N3 (n) AS (SELECT 1 FROM N2 AS X, N2 AS Y),&lt;br /&gt;N4 (n) AS (SELECT ROW_NUMBER() OVER(ORDER BY X.n)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; FROM N3 AS X, N3 AS Y)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;INSERT INTO @DeletedRecords&lt;br /&gt;SELECT&amp;nbsp; RowLogContents&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ,[AllocUnitID]&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ,[Transaction ID]&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ,[FixedLengthData]&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ,[TotalNoOfCols]&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ,[NullBitMapLength]&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ,[NullBytes]&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ,[TotalNoofVarCols]&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ,[ColumnOffsetArray]&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ,[VarColumnStart]&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ,[Slot ID]&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ---Get the Null value against each column (1 means null zero means not null)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ,[NullBitMap]=(REPLACE(STUFF((SELECT &#39;,&#39; +&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (CASE WHEN [ID]=0 THEN CONVERT(NVARCHAR(1),(SUBSTRING(NullBytes, n, 1) % 2))&amp;nbsp; ELSE CONVERT(NVARCHAR(1),((SUBSTRING(NullBytes, n, 1) / [Bitvalue]) % 2)) END) --as [nullBitMap]&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;FROM&lt;br /&gt;N4 AS Nums&lt;br /&gt;Join RowData AS C ON n&amp;lt;=NullBitMapLength&lt;br /&gt;Cross Join @bitTable WHERE C.[RowLogContents]=D.[RowLogContents] ORDER BY [RowLogContents],n ASC FOR XML PATH(&#39;&#39;)),1,1,&#39;&#39;),&#39;,&#39;,&#39;&#39;))&lt;br /&gt;FROM RowData D&lt;br /&gt;&lt;br /&gt;IF (SELECT COUNT(*) FROM @DeletedRecords)=0&lt;br /&gt;BEGIN&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; RAISERROR(&#39;There is no data in the log as per the search criteria&#39;,16,1)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; RETURN&lt;br /&gt;END&lt;br /&gt;&lt;br /&gt;DECLARE @ColumnNameAndData TABLE&lt;br /&gt;(&lt;br /&gt;&amp;nbsp;[Row ID]&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; int,&lt;br /&gt;&amp;nbsp;[Rowlogcontents]&amp;nbsp;&amp;nbsp; varbinary(Max),&lt;br /&gt;&amp;nbsp;[NAME]&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; sysname,&lt;br /&gt;&amp;nbsp;[nullbit]&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; smallint,&lt;br /&gt;&amp;nbsp;[leaf_offset]&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; smallint,&lt;br /&gt;&amp;nbsp;[length]&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; smallint,&lt;br /&gt;&amp;nbsp;[System_Type_Id]&amp;nbsp;&amp;nbsp; tinyint,&lt;br /&gt;&amp;nbsp;[bitpos]&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; tinyint,&lt;br /&gt;&amp;nbsp;[xprec]&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; tinyint,&lt;br /&gt;&amp;nbsp;[xscale]&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; tinyint,&lt;br /&gt;&amp;nbsp;[is_null]&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; int,&lt;br /&gt;&amp;nbsp;[Column value Size]int,&lt;br /&gt;&amp;nbsp;[Column Length]&amp;nbsp;&amp;nbsp;&amp;nbsp; int,&lt;br /&gt;&amp;nbsp;[hex_Value]&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; varbinary(max),&lt;br /&gt;&amp;nbsp;[Slot ID]&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; int,&lt;br /&gt;&amp;nbsp;[Update]&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; int&lt;br /&gt;)&lt;br /&gt;&lt;br /&gt;--Create common table expression and join it with the rowdata table&lt;br /&gt;-- to get each column details&lt;br /&gt;/*This part is for variable data columns*/&lt;br /&gt;--@RowLogContents, &lt;br /&gt;--(col.columnOffValue - col.columnLength) + 1,&lt;br /&gt;--col.columnLength&lt;br /&gt;--)&lt;br /&gt;INSERT INTO @ColumnNameAndData&lt;br /&gt;SELECT&lt;br /&gt;[Row ID],&lt;br /&gt;Rowlogcontents,&lt;br /&gt;NAME ,&lt;br /&gt;cols.leaf_null_bit AS nullbit,&lt;br /&gt;leaf_offset,&lt;br /&gt;ISNULL(syscolumns.length, cols.max_length) AS [length],&lt;br /&gt;cols.System_Type_Id,&lt;br /&gt;cols.leaf_bit_position AS bitpos,&lt;br /&gt;ISNULL(syscolumns.xprec, cols.precision) AS xprec,&lt;br /&gt;ISNULL(syscolumns.xscale, cols.scale) AS xscale,&lt;br /&gt;SUBSTRING([nullBitMap], cols.leaf_null_bit, 1) AS is_null,&lt;br /&gt;(CASE WHEN leaf_offset&amp;lt;1 and SUBSTRING([nullBitMap], cols.leaf_null_bit, 1)=0 &lt;br /&gt;THEN&lt;br /&gt;(Case When CONVERT(INT, CONVERT(BINARY(2), REVERSE (SUBSTRING ([ColumnOffsetArray], (2 * leaf_offset*-1) - 1, 2)))) &amp;gt;30000&lt;br /&gt;THEN&lt;br /&gt;CONVERT(INT, CONVERT(BINARY(2), REVERSE (SUBSTRING ([ColumnOffsetArray], (2 * leaf_offset*-1) - 1, 2)))) - POWER(2, 15)&lt;br /&gt;ELSE&lt;br /&gt;CONVERT(INT, CONVERT(BINARY(2), REVERSE (SUBSTRING ([ColumnOffsetArray], (2 * leaf_offset*-1) - 1, 2))))&lt;br /&gt;END)&lt;br /&gt;END)&amp;nbsp; AS [Column value Size],&lt;br /&gt;&lt;br /&gt;(CASE WHEN leaf_offset&amp;lt;1 and SUBSTRING([nullBitMap], cols.leaf_null_bit, 1)=0&amp;nbsp; THEN&lt;br /&gt;(Case&lt;br /&gt;&lt;br /&gt;When CONVERT(INT, CONVERT(BINARY(2), REVERSE (SUBSTRING ([ColumnOffsetArray], (2 * leaf_offset*-1) - 1, 2)))) &amp;gt;30000 And&lt;br /&gt;ISNULL(NULLIF(CONVERT(INT, CONVERT(BINARY(2), REVERSE (SUBSTRING ([ColumnOffsetArray], (2 * ((leaf_offset*-1) - 1)) - 1, 2)))), 0), [varColumnStart])&amp;lt;30000&lt;br /&gt;THEN&amp;nbsp; (Case When [System_Type_Id]In (35,34,99) Then 16 else 24&amp;nbsp; end)&lt;br /&gt;&lt;br /&gt;When CONVERT(INT, CONVERT(BINARY(2), REVERSE (SUBSTRING ([ColumnOffsetArray], (2 * leaf_offset*-1) - 1, 2)))) &amp;gt;30000 And&lt;br /&gt;ISNULL(NULLIF(CONVERT(INT, CONVERT(BINARY(2), REVERSE (SUBSTRING ([ColumnOffsetArray], (2 * ((leaf_offset*-1) - 1)) - 1, 2)))), 0), [varColumnStart])&amp;gt;30000&lt;br /&gt;THEN&amp;nbsp; (Case When [System_Type_Id]In (35,34,99) Then 16 else 24&amp;nbsp; end) --24 &lt;br /&gt;&lt;br /&gt;When CONVERT(INT, CONVERT(BINARY(2), REVERSE (SUBSTRING ([ColumnOffsetArray], (2 * leaf_offset*-1) - 1, 2)))) &amp;lt;30000 And&lt;br /&gt;ISNULL(NULLIF(CONVERT(INT, CONVERT(BINARY(2), REVERSE (SUBSTRING ([ColumnOffsetArray], (2 * ((leaf_offset*-1) - 1)) - 1, 2)))), 0), [varColumnStart])&amp;lt;30000&lt;br /&gt;THEN (CONVERT(INT, CONVERT(BINARY(2), REVERSE (SUBSTRING ([ColumnOffsetArray], (2 * leaf_offset*-1) - 1, 2))))&lt;br /&gt;- ISNULL(NULLIF(CONVERT(INT, CONVERT(BINARY(2), REVERSE (SUBSTRING ([ColumnOffsetArray], (2 * ((leaf_offset*-1) - 1)) - 1, 2)))), 0), [varColumnStart]))&lt;br /&gt;&lt;br /&gt;When CONVERT(INT, CONVERT(BINARY(2), REVERSE (SUBSTRING ([ColumnOffsetArray], (2 * leaf_offset*-1) - 1, 2)))) &amp;lt;30000 And&lt;br /&gt;ISNULL(NULLIF(CONVERT(INT, CONVERT(BINARY(2), REVERSE (SUBSTRING ([ColumnOffsetArray], (2 * ((leaf_offset*-1) - 1)) - 1, 2)))), 0), [varColumnStart])&amp;gt;30000&lt;br /&gt;&lt;br /&gt;THEN POWER(2, 15) +CONVERT(INT, CONVERT(BINARY(2), REVERSE (SUBSTRING ([ColumnOffsetArray], (2 * leaf_offset*-1) - 1, 2))))&lt;br /&gt;- ISNULL(NULLIF(CONVERT(INT, CONVERT(BINARY(2), REVERSE (SUBSTRING ([ColumnOffsetArray], (2 * ((leaf_offset*-1) - 1)) - 1, 2)))), 0), [varColumnStart])&lt;br /&gt;&lt;br /&gt;END)&lt;br /&gt;&lt;br /&gt;END) AS [Column Length]&lt;br /&gt;&lt;br /&gt;,(CASE WHEN SUBSTRING([nullBitMap], cols.leaf_null_bit, 1)=1 THEN&amp;nbsp; NULL ELSE&lt;br /&gt;&amp;nbsp;SUBSTRING&lt;br /&gt;&amp;nbsp;(&lt;br /&gt;&amp;nbsp;Rowlogcontents, &lt;br /&gt;&amp;nbsp;(&lt;br /&gt;&lt;br /&gt;(Case When CONVERT(INT, CONVERT(BINARY(2), REVERSE (SUBSTRING ([ColumnOffsetArray], (2 * leaf_offset*-1) - 1, 2)))) &amp;gt;30000&lt;br /&gt;THEN&lt;br /&gt;CONVERT(INT, CONVERT(BINARY(2), REVERSE (SUBSTRING ([ColumnOffsetArray], (2 * leaf_offset*-1) - 1, 2)))) - POWER(2, 15)&lt;br /&gt;ELSE&lt;br /&gt;CONVERT(INT, CONVERT(BINARY(2), REVERSE (SUBSTRING ([ColumnOffsetArray], (2 * leaf_offset*-1) - 1, 2))))&lt;br /&gt;END)&lt;br /&gt;&lt;br /&gt;&amp;nbsp;- &lt;br /&gt;(Case When CONVERT(INT, CONVERT(BINARY(2), REVERSE (SUBSTRING ([ColumnOffsetArray], (2 * leaf_offset*-1) - 1, 2)))) &amp;gt;30000 And&lt;br /&gt;ISNULL(NULLIF(CONVERT(INT, CONVERT(BINARY(2), REVERSE (SUBSTRING ([ColumnOffsetArray], (2 * ((leaf_offset*-1) - 1)) - 1, 2)))), 0), [varColumnStart])&amp;lt;30000&lt;br /&gt;&lt;br /&gt;THEN&amp;nbsp; (Case When [System_Type_Id]In (35,34,99) Then 16 else 24&amp;nbsp; end) --24 &lt;br /&gt;When CONVERT(INT, CONVERT(BINARY(2), REVERSE (SUBSTRING ([ColumnOffsetArray], (2 * leaf_offset*-1) - 1, 2)))) &amp;gt;30000 And&lt;br /&gt;ISNULL(NULLIF(CONVERT(INT, CONVERT(BINARY(2), REVERSE (SUBSTRING ([ColumnOffsetArray], (2 * ((leaf_offset*-1) - 1)) - 1, 2)))), 0), [varColumnStart])&amp;gt;30000&lt;br /&gt;&lt;br /&gt;THEN&amp;nbsp; (Case When [System_Type_Id]In (35,34,99) Then 16 else 24&amp;nbsp; end) --24 &lt;br /&gt;When CONVERT(INT, CONVERT(BINARY(2), REVERSE (SUBSTRING ([ColumnOffsetArray], (2 * leaf_offset*-1) - 1, 2)))) &amp;lt;30000 And&lt;br /&gt;ISNULL(NULLIF(CONVERT(INT, CONVERT(BINARY(2), REVERSE (SUBSTRING ([ColumnOffsetArray], (2 * ((leaf_offset*-1) - 1)) - 1, 2)))), 0), [varColumnStart])&amp;lt;30000&lt;br /&gt;&lt;br /&gt;THEN CONVERT(INT, CONVERT(BINARY(2), REVERSE (SUBSTRING ([ColumnOffsetArray], (2 * leaf_offset*-1) - 1, 2))))&lt;br /&gt;- ISNULL(NULLIF(CONVERT(INT, CONVERT(BINARY(2), REVERSE (SUBSTRING ([ColumnOffsetArray], (2 * ((leaf_offset*-1) - 1)) - 1, 2)))), 0), [varColumnStart])&lt;br /&gt;&lt;br /&gt;When CONVERT(INT, CONVERT(BINARY(2), REVERSE (SUBSTRING ([ColumnOffsetArray], (2 * leaf_offset*-1) - 1, 2)))) &amp;lt;30000 And&lt;br /&gt;ISNULL(NULLIF(CONVERT(INT, CONVERT(BINARY(2), REVERSE (SUBSTRING ([ColumnOffsetArray], (2 * ((leaf_offset*-1) - 1)) - 1, 2)))), 0), [varColumnStart])&amp;gt;30000&lt;br /&gt;&lt;br /&gt;THEN POWER(2, 15) +CONVERT(INT, CONVERT(BINARY(2), REVERSE (SUBSTRING ([ColumnOffsetArray], (2 * leaf_offset*-1) - 1, 2))))&lt;br /&gt;- ISNULL(NULLIF(CONVERT(INT, CONVERT(BINARY(2), REVERSE (SUBSTRING ([ColumnOffsetArray], (2 * ((leaf_offset*-1) - 1)) - 1, 2)))), 0), [varColumnStart])&lt;br /&gt;&lt;br /&gt;END)&lt;br /&gt;&lt;br /&gt;) + 1,&lt;br /&gt;(Case When CONVERT(INT, CONVERT(BINARY(2), REVERSE (SUBSTRING ([ColumnOffsetArray], (2 * leaf_offset*-1) - 1, 2)))) &amp;gt;30000 And&lt;br /&gt;ISNULL(NULLIF(CONVERT(INT, CONVERT(BINARY(2), REVERSE (SUBSTRING ([ColumnOffsetArray], (2 * ((leaf_offset*-1) - 1)) - 1, 2)))), 0), [varColumnStart])&amp;lt;30000&lt;br /&gt;&lt;br /&gt;THEN&amp;nbsp; (Case When [System_Type_Id] In (35,34,99) Then 16 else 24&amp;nbsp; end) --24 &lt;br /&gt;When CONVERT(INT, CONVERT(BINARY(2), REVERSE (SUBSTRING ([ColumnOffsetArray], (2 * leaf_offset*-1) - 1, 2)))) &amp;gt;30000 And&lt;br /&gt;ISNULL(NULLIF(CONVERT(INT, CONVERT(BINARY(2), REVERSE (SUBSTRING ([ColumnOffsetArray], (2 * ((leaf_offset*-1) - 1)) - 1, 2)))), 0), [varColumnStart])&amp;gt;30000&lt;br /&gt;&lt;br /&gt;THEN&amp;nbsp; (Case When [System_Type_Id] In (35,34,99) Then 16 else 24&amp;nbsp; end) --24 &lt;br /&gt;When CONVERT(INT, CONVERT(BINARY(2), REVERSE (SUBSTRING ([ColumnOffsetArray], (2 * leaf_offset*-1) - 1, 2)))) &amp;lt;30000 And&lt;br /&gt;ISNULL(NULLIF(CONVERT(INT, CONVERT(BINARY(2), REVERSE (SUBSTRING ([ColumnOffsetArray], (2 * ((leaf_offset*-1) - 1)) - 1, 2)))), 0), [varColumnStart])&amp;lt;30000&lt;br /&gt;&lt;br /&gt;THEN ABS(CONVERT(INT, CONVERT(BINARY(2), REVERSE (SUBSTRING ([ColumnOffsetArray], (2 * leaf_offset*-1) - 1, 2))))&lt;br /&gt;- ISNULL(NULLIF(CONVERT(INT, CONVERT(BINARY(2), REVERSE (SUBSTRING ([ColumnOffsetArray], (2 * ((leaf_offset*-1) - 1)) - 1, 2)))), 0), [varColumnStart]))&lt;br /&gt;&lt;br /&gt;When CONVERT(INT, CONVERT(BINARY(2), REVERSE (SUBSTRING ([ColumnOffsetArray], (2 * leaf_offset*-1) - 1, 2)))) &amp;lt;30000 And&lt;br /&gt;ISNULL(NULLIF(CONVERT(INT, CONVERT(BINARY(2), REVERSE (SUBSTRING ([ColumnOffsetArray], (2 * ((leaf_offset*-1) - 1)) - 1, 2)))), 0), [varColumnStart])&amp;gt;30000&lt;br /&gt;&lt;br /&gt;THEN POWER(2, 15) +CONVERT(INT, CONVERT(BINARY(2), REVERSE (SUBSTRING ([ColumnOffsetArray], (2 * leaf_offset*-1) - 1, 2))))&lt;br /&gt;- ISNULL(NULLIF(CONVERT(INT, CONVERT(BINARY(2), REVERSE (SUBSTRING ([ColumnOffsetArray], (2 * ((leaf_offset*-1) - 1)) - 1, 2)))), 0), [varColumnStart])&lt;br /&gt;&lt;br /&gt;END)&lt;br /&gt;)&lt;br /&gt;&lt;br /&gt;END) AS hex_Value&lt;br /&gt;,[Slot ID]&lt;br /&gt;,0&lt;br /&gt;FROM @DeletedRecords A&lt;br /&gt;Inner Join sys.allocation_units allocunits On A.[AllocUnitId]=allocunits.[Allocation_Unit_Id]&lt;br /&gt;INNER JOIN sys.partitions partitions ON (allocunits.type IN (1, 3)&lt;br /&gt;AND partitions.hobt_id = allocunits.container_id) OR (allocunits.type = 2 AND partitions.partition_id = allocunits.container_id)&lt;br /&gt;INNER JOIN sys.system_internals_partition_columns cols ON cols.partition_id = partitions.partition_id&lt;br /&gt;LEFT OUTER JOIN syscolumns ON syscolumns.id = partitions.object_id AND syscolumns.colid = cols.partition_column_id&lt;br /&gt;WHERE leaf_offset&amp;lt;0&lt;br /&gt;UNION&lt;br /&gt;/*This part is for fixed data columns*/&lt;br /&gt;SELECT &lt;br /&gt;[Row ID],&lt;br /&gt;Rowlogcontents,&lt;br /&gt;NAME ,&lt;br /&gt;cols.leaf_null_bit AS nullbit,&lt;br /&gt;leaf_offset,&lt;br /&gt;ISNULL(syscolumns.length, cols.max_length) AS [length],&lt;br /&gt;cols.System_Type_Id,&lt;br /&gt;cols.leaf_bit_position AS bitpos,&lt;br /&gt;ISNULL(syscolumns.xprec, cols.precision) AS xprec,&lt;br /&gt;ISNULL(syscolumns.xscale, cols.scale) AS xscale,&lt;br /&gt;SUBSTRING([nullBitMap], cols.leaf_null_bit, 1) AS is_null,&lt;br /&gt;(SELECT TOP 1 ISNULL(SUM(CASE WHEN C.leaf_offset &amp;gt;1 THEN max_length ELSE 0 END),0) FROM&lt;br /&gt;sys.system_internals_partition_columns C WHERE cols.partition_id =C.partition_id And C.leaf_null_bit&amp;lt;cols.leaf_null_bit)+5 AS [Column value Size],&lt;br /&gt;syscolumns.length AS [Column Length]&lt;br /&gt;&lt;br /&gt;,CASE WHEN SUBSTRING([nullBitMap], cols.leaf_null_bit, 1)=1 THEN NULL ELSE&lt;br /&gt;SUBSTRING&lt;br /&gt;(&lt;br /&gt;Rowlogcontents,(SELECT TOP 1 ISNULL(SUM(CASE WHEN C.leaf_offset &amp;gt;1 And C.leaf_bit_position=0 THEN max_length ELSE 0 END),0) FROM&lt;br /&gt;sys.system_internals_partition_columns C where cols.partition_id =C.partition_id And C.leaf_null_bit&amp;lt;cols.leaf_null_bit)+5&lt;br /&gt;,syscolumns.length) END AS hex_Value&lt;br /&gt;,[Slot ID]&lt;br /&gt;,0&lt;br /&gt;FROM @DeletedRecords A&lt;br /&gt;Inner Join sys.allocation_units allocunits ON A.[AllocUnitId]=allocunits.[Allocation_Unit_Id]&lt;br /&gt;INNER JOIN sys.partitions partitions ON (allocunits.type IN (1, 3)&lt;br /&gt;AND partitions.hobt_id = allocunits.container_id) OR (allocunits.type = 2 AND partitions.partition_id = allocunits.container_id)&lt;br /&gt;INNER JOIN sys.system_internals_partition_columns cols ON cols.partition_id = partitions.partition_id&lt;br /&gt;LEFT OUTER JOIN syscolumns ON syscolumns.id = partitions.object_id AND syscolumns.colid = cols.partition_column_id&lt;br /&gt;WHERE leaf_offset&amp;gt;0&lt;br /&gt;Order By nullbit&lt;br /&gt;&lt;br /&gt;Declare @BitColumnByte as int&lt;br /&gt;Select @BitColumnByte=CONVERT(INT, ceiling( Count(*)/8.0)) from @ColumnNameAndData Where [System_Type_Id]=104&lt;br /&gt;&lt;br /&gt;;With N1 (n) AS (SELECT 1 UNION ALL SELECT 1),&lt;br /&gt;N2 (n) AS (SELECT 1 FROM N1 AS X, N1 AS Y),&lt;br /&gt;N3 (n) AS (SELECT 1 FROM N2 AS X, N2 AS Y),&lt;br /&gt;N4 (n) AS (SELECT ROW_NUMBER() OVER(ORDER BY X.n)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; FROM N3 AS X, N3 AS Y),&lt;br /&gt;CTE As(&lt;br /&gt;Select RowLogContents,[nullbit]&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ,[BitMap]=Convert(varbinary(1),Convert(int,Substring((REPLACE(STUFF((SELECT &#39;,&#39; +&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (CASE WHEN [ID]=0 THEN CONVERT(NVARCHAR(1),(SUBSTRING(hex_Value, n, 1) % 2))&amp;nbsp; ELSE CONVERT(NVARCHAR(1),((SUBSTRING(hex_Value, n, 1) / [Bitvalue]) % 2)) END) --as [nullBitMap]&lt;br /&gt;&lt;br /&gt;from N4 AS Nums&lt;br /&gt;Join @ColumnNameAndData AS C ON n&amp;lt;=@BitColumnByte And [System_Type_Id]=104 And bitpos=0&lt;br /&gt;Cross Join @bitTable WHERE C.[RowLogContents]=D.[RowLogContents] ORDER BY [RowLogContents],n ASC FOR XML PATH(&#39;&#39;)),1,1,&#39;&#39;),&#39;,&#39;,&#39;&#39;)),bitpos+1,1)))&lt;br /&gt;FROM @ColumnNameAndData D Where&amp;nbsp; [System_Type_Id]=104)&lt;br /&gt;&lt;br /&gt;Update A Set [hex_Value]=[BitMap]&lt;br /&gt;from @ColumnNameAndData&amp;nbsp; A&lt;br /&gt;Inner Join CTE B On A.[RowLogContents]=B.[RowLogContents]&lt;br /&gt;And A.[nullbit]=B.[nullbit]&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;/**************Check for BLOB DATA TYPES******************************/&lt;br /&gt;DECLARE @Fileid INT&lt;br /&gt;DECLARE @Pageid INT&lt;br /&gt;DECLARE @Slotid INT&lt;br /&gt;DECLARE @CurrentLSN INT&lt;br /&gt;DECLARE @LinkID INT&lt;br /&gt;DECLARE @Context VARCHAR(50)&lt;br /&gt;DECLARE @ConsolidatedPageID VARCHAR(MAX)&lt;br /&gt;DECLARE @LCX_TEXT_MIX VARBINARY(MAX)&lt;br /&gt;&lt;br /&gt;declare @temppagedata table&lt;br /&gt;(&lt;br /&gt;[ParentObject] sysname,&lt;br /&gt;[Object] sysname,&lt;br /&gt;[Field] sysname,&lt;br /&gt;[Value] sysname)&lt;br /&gt;&lt;br /&gt;declare @pagedata table&lt;br /&gt;(&lt;br /&gt;[Page ID] sysname,&lt;br /&gt;[FILE IDS] int,&lt;br /&gt;[Page IDS] int,&lt;br /&gt;[AllocUnitId] bigint,&lt;br /&gt;[ParentObject] sysname,&lt;br /&gt;[Object] sysname,&lt;br /&gt;[Field] sysname,&lt;br /&gt;[Value] sysname)&lt;br /&gt;&lt;br /&gt;DECLARE @ModifiedRawData TABLE&lt;br /&gt;(&lt;br /&gt;&amp;nbsp; [ID] INT IDENTITY(1,1),&lt;br /&gt;&amp;nbsp; [PAGE ID] VARCHAR(MAX),&lt;br /&gt;&amp;nbsp; [FILE IDS] INT,&lt;br /&gt;&amp;nbsp; [PAGE IDS] INT,&lt;br /&gt;&amp;nbsp; [Slot ID]&amp;nbsp; INT,&lt;br /&gt;&amp;nbsp; [AllocUnitId] BIGINT,&lt;br /&gt;&amp;nbsp; [RowLog Contents 0_var] VARCHAR(Max),&lt;br /&gt;&amp;nbsp; [RowLog Length] VARCHAR(50),&lt;br /&gt;&amp;nbsp; [RowLog Len] INT,&lt;br /&gt;&amp;nbsp; [RowLog Contents 0] VARBINARY(Max),&lt;br /&gt;&amp;nbsp; [Link ID] INT default (0),&lt;br /&gt;&amp;nbsp; [Update] INT&lt;br /&gt;)&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DECLARE Page_Data_Cursor CURSOR FOR&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /*We need to filter LOP_MODIFY_ROW,LOP_MODIFY_COLUMNS from log for deleted records of BLOB data type&amp;amp; Get its Slot No, Page ID &amp;amp; AllocUnit ID*/&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SELECT LTRIM(RTRIM(Replace([Description],&#39;Deallocated&#39;,&#39;&#39;))) AS [PAGE ID]&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ,[Slot ID],[AllocUnitId],NULL AS [RowLog Contents 0],NULL AS [RowLog Contents 0],Context&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; FROM&amp;nbsp;&amp;nbsp;&amp;nbsp; sys.fn_dblog(NULL, NULL)&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; WHERE&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; AllocUnitId IN&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (SELECT [Allocation_unit_id] FROM sys.allocation_units allocunits&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; INNER JOIN sys.partitions partitions ON (allocunits.type IN (1, 3)&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; AND partitions.hobt_id = allocunits.container_id) OR (allocunits.type = 2 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; AND partitions.partition_id = allocunits.container_id)&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; WHERE object_id=object_ID(&#39;&#39; + @SchemaName_n_TableName + &#39;&#39;))&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; AND Operation IN (&#39;LOP_MODIFY_ROW&#39;) AND [Context] IN (&#39;LCX_PFS&#39;) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; AND Description Like &#39;%Deallocated%&#39;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /*Use this subquery to filter the date*/&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; AND [TRANSACTION ID] IN (SELECT DISTINCT [TRANSACTION ID] FROM&amp;nbsp;&amp;nbsp;&amp;nbsp; sys.fn_dblog(NULL, NULL) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; WHERE Context IN (&#39;LCX_NULL&#39;) AND Operation in (&#39;LOP_BEGIN_XACT&#39;)&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; AND [Transaction Name]=&#39;DELETE&#39;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; AND&amp;nbsp; CONVERT(NVARCHAR(11),[Begin Time]) BETWEEN @Date_From AND @Date_To)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; GROUP BY [Description],[Slot ID],[AllocUnitId],Context&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; UNION&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SELECT [PAGE ID],[Slot ID],[AllocUnitId]&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ,Substring([RowLog Contents 0],15,LEN([RowLog Contents 0])) AS [RowLog Contents 0]&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ,CONVERT(INT,Substring([RowLog Contents 0],7,2)),Context --,CAST(RIGHT([Current LSN],4) AS INT) AS [Current LSN]&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; FROM&amp;nbsp;&amp;nbsp;&amp;nbsp; sys.fn_dblog(NULL, NULL)&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; WHERE&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; AllocUnitId IN&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (SELECT [Allocation_unit_id] FROM sys.allocation_units allocunits&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; INNER JOIN sys.partitions partitions ON (allocunits.type IN (1, 3)&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; AND partitions.hobt_id = allocunits.container_id) OR (allocunits.type = 2 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; AND partitions.partition_id = allocunits.container_id)&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; WHERE object_id=object_ID(&#39;&#39; + @SchemaName_n_TableName + &#39;&#39;))&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; AND Context IN (&#39;LCX_TEXT_MIX&#39;) AND Operation in (&#39;LOP_DELETE_ROWS&#39;) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /*Use this subquery to filter the date*/&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; AND [TRANSACTION ID] IN (SELECT DISTINCT [TRANSACTION ID] FROM&amp;nbsp;&amp;nbsp;&amp;nbsp; sys.fn_dblog(NULL, NULL) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; WHERE Context IN (&#39;LCX_NULL&#39;) AND Operation in (&#39;LOP_BEGIN_XACT&#39;)&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; And [Transaction Name]=&#39;DELETE&#39;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; And&amp;nbsp; CONVERT(NVARCHAR(11),[Begin Time]) BETWEEN @Date_From AND @Date_To)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /****************************************/&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; OPEN Page_Data_Cursor&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; FETCH NEXT FROM Page_Data_Cursor INTO @ConsolidatedPageID, @Slotid,@AllocUnitID,@LCX_TEXT_MIX,@LinkID,@Context&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; WHILE @@FETCH_STATUS = 0&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; BEGIN&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DECLARE @hex_pageid AS VARCHAR(Max)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /*Page ID contains File Number and page number It looks like 0001:00000130.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; In this example 0001 is file Number &amp;amp;&amp;nbsp; 00000130 is Page Number &amp;amp; These numbers are in Hex format*/&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SET @Fileid=SUBSTRING(@ConsolidatedPageID,0,CHARINDEX(&#39;:&#39;,@ConsolidatedPageID)) -- Seperate File ID from Page ID&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SET @hex_pageid =&#39;0x&#39;+ SUBSTRING(@ConsolidatedPageID,CHARINDEX(&#39;:&#39;,@ConsolidatedPageID)+1,Len(@ConsolidatedPageID))&amp;nbsp; ---Seperate the page ID&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SELECT @Pageid=Convert(INT,cast(&#39;&#39; AS XML).value(&#39;xs:hexBinary(substring(sql:variable(&quot;@hex_pageid&quot;),sql:column(&quot;t.pos&quot;)) )&#39;, &#39;varbinary(max)&#39;)) -- Convert Page ID from hex to integer&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; FROM (SELECT CASE substring(@hex_pageid, 1, 2) WHEN &#39;0x&#39; THEN 3 ELSE 0 END) AS t(pos) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; IF @Context=&#39;LCX_PFS&#39;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; BEGIN&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DELETE @temppagedata&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; INSERT INTO @temppagedata EXEC( &#39;DBCC PAGE(&#39; + @DataBase_Name + &#39;, &#39; + @fileid + &#39;, &#39; + @pageid + &#39;, 1) with tableresults,no_infomsgs;&#39;); &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; INSERT INTO @pagedata SELECT @ConsolidatedPageID,@fileid,@pageid,@AllocUnitID,[ParentObject],[Object],[Field] ,[Value] FROM @temppagedata&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; END&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ELSE IF @Context=&#39;LCX_TEXT_MIX&#39;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; BEGIN&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; INSERT INTO&amp;nbsp; @ModifiedRawData SELECT @ConsolidatedPageID,@fileid,@pageid,@Slotid,@AllocUnitID,NULL,0,CONVERT(INT,CONVERT(VARBINARY,REVERSE(SUBSTRING(@LCX_TEXT_MIX,11,2)))),@LCX_TEXT_MIX,@LinkID,0&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; END&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; FETCH NEXT FROM Page_Data_Cursor INTO&amp;nbsp; @ConsolidatedPageID, @Slotid,@AllocUnitID,@LCX_TEXT_MIX,@LinkID,@Context&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; END&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; CLOSE Page_Data_Cursor&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; DEALLOCATE Page_Data_Cursor&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; DECLARE @Newhexstring VARCHAR(MAX);&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; --The data is in multiple rows in the page, so we need to convert it into one row as a single hex value.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; --This hex value is in string format&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; INSERT INTO @ModifiedRawData ([PAGE ID],[FILE IDS],[PAGE IDS],[Slot ID],[AllocUnitId]&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ,[RowLog Contents 0_var]&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; , [RowLog Length])&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; SELECT [Page ID],[FILE IDS],[PAGE IDS],Substring([ParentObject],CHARINDEX(&#39;Slot&#39;, [ParentObject])+4, (CHARINDEX(&#39;Offset&#39;, [ParentObject])-(CHARINDEX(&#39;Slot&#39;, [ParentObject])+4))-2 ) as [Slot ID]&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ,[AllocUnitId]&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ,Substring((&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; SELECT&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; REPLACE(STUFF((SELECT REPLACE(SUBSTRING([Value],CHARINDEX(&#39;:&#39;,[Value])+1,CHARINDEX(&#39;†&#39;,[Value])-CHARINDEX(&#39;:&#39;,[Value])),&#39;†&#39;,&#39;&#39;)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; FROM @pagedata C&amp;nbsp; WHERE B.[Page ID]= C.[Page ID] And Substring(B.[ParentObject],CHARINDEX(&#39;Slot&#39;, B.[ParentObject])+4, (CHARINDEX(&#39;Offset&#39;, B.[ParentObject])-(CHARINDEX(&#39;Slot&#39;, B.[ParentObject])+4)) )=Substring(C.[ParentObject],CHARINDEX(&#39;Slot&#39;, C.[ParentObject])+4, (CHARINDEX(&#39;Offset&#39;, C.[ParentObject])-(CHARINDEX(&#39;Slot&#39;, C.[ParentObject])+4)) ) And&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; [Object] Like &#39;%Memory Dump%&#39;&amp;nbsp; Order By &#39;0x&#39;+ LEFT([Value],CHARINDEX(&#39;:&#39;,[Value])-1)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; FOR XML PATH(&#39;&#39;) ),1,1,&#39;&#39;) ,&#39; &#39;,&#39;&#39;)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ),1,20000) AS [Value]&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ,&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Substring((&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; SELECT &#39;0x&#39; +REPLACE(STUFF((SELECT REPLACE(SUBSTRING([Value],CHARINDEX(&#39;:&#39;,[Value])+1,CHARINDEX(&#39;†&#39;,[Value])-CHARINDEX(&#39;:&#39;,[Value])),&#39;†&#39;,&#39;&#39;)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; FROM @pagedata C&amp;nbsp; WHERE B.[Page ID]= C.[Page ID] And Substring(B.[ParentObject],CHARINDEX(&#39;Slot&#39;, B.[ParentObject])+4, (CHARINDEX(&#39;Offset&#39;, B.[ParentObject])-(CHARINDEX(&#39;Slot&#39;, B.[ParentObject])+4)) )=Substring(C.[ParentObject],CHARINDEX(&#39;Slot&#39;, C.[ParentObject])+4, (CHARINDEX(&#39;Offset&#39;, C.[ParentObject])-(CHARINDEX(&#39;Slot&#39;, C.[ParentObject])+4)) ) And&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; [Object] Like &#39;%Memory Dump%&#39;&amp;nbsp; Order By &#39;0x&#39;+ LEFT([Value],CHARINDEX(&#39;:&#39;,[Value])-1)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; FOR XML PATH(&#39;&#39;) ),1,1,&#39;&#39;) ,&#39; &#39;,&#39;&#39;)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ),7,4) AS [Length]&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; From @pagedata B&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Where [Object] Like &#39;%Memory Dump%&#39;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Group By [Page ID],[FILE IDS],[PAGE IDS],[ParentObject],[AllocUnitId]--,[Current LSN]&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Order By [Slot ID]&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; UPDATE @ModifiedRawData&amp;nbsp; SET [RowLog Len] = CONVERT(VARBINARY(8000),REVERSE(cast(&#39;&#39; AS XML).value(&#39;xs:hexBinary(substring(sql:column(&quot;[RowLog Length]&quot;),0))&#39;, &#39;varbinary(Max)&#39;)))&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; FROM @ModifiedRawData Where [Link ID]=0&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; UPDATE @ModifiedRawData&amp;nbsp; SET [RowLog Contents 0] =cast(&#39;&#39; AS XML).value(&#39;xs:hexBinary(substring(sql:column(&quot;[RowLog Contents 0_var]&quot;),0))&#39;, &#39;varbinary(Max)&#39;)&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; FROM @ModifiedRawData Where [Link ID]=0&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Update B Set B.[RowLog Contents 0] =&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; (CASE WHEN A.[RowLog Contents 0] IS NOT NULL AND C.[RowLog Contents 0] IS NOT NULL THEN&amp;nbsp; A.[RowLog Contents 0]+C.[RowLog Contents 0] &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; WHEN A.[RowLog Contents 0] IS NULL AND C.[RowLog Contents 0] IS NOT NULL THEN&amp;nbsp; C.[RowLog Contents 0]&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; WHEN A.[RowLog Contents 0] IS NOT NULL AND C.[RowLog Contents 0] IS NULL THEN&amp;nbsp; A.[RowLog Contents 0]&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; END)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ,B.[Update]=ISNULL(B.[Update],0)+1&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; from @ModifiedRawData B&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; LEFT Join @ModifiedRawData A On A.[Page IDS]=Convert(int,Convert(Varbinary(Max),Reverse(Substring(B.[RowLog Contents 0],15+14,2))))&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; And A.[FILE IDS]=Convert(int,Convert(Varbinary(Max),Reverse(Substring(B.[RowLog Contents 0],19+14,2)))) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; And A.[Link ID]=B.[Link ID]&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; LEFT Join @ModifiedRawData C On C.[Page IDS]=Convert(int,Convert(Varbinary(Max),Reverse(Substring(B.[RowLog Contents 0],27+14,2))))&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; And C.[FILE IDS]=Convert(int,Convert(Varbinary(Max),Reverse(Substring(B.[RowLog Contents 0],31+14,2))))&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; And C.[Link ID]=B.[Link ID]&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Where&amp;nbsp; (A.[RowLog Contents 0] IS NOT NULL OR C.[RowLog Contents 0] IS NOT NULL)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Update B Set B.[RowLog Contents 0] =&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; (CASE WHEN A.[RowLog Contents 0] IS NOT NULL AND C.[RowLog Contents 0] IS NOT NULL THEN&amp;nbsp; A.[RowLog Contents 0]+C.[RowLog Contents 0] &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; WHEN A.[RowLog Contents 0] IS NULL AND C.[RowLog Contents 0] IS NOT NULL THEN&amp;nbsp; C.[RowLog Contents 0]&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; WHEN A.[RowLog Contents 0] IS NOT NULL AND C.[RowLog Contents 0] IS NULL THEN&amp;nbsp; A.[RowLog Contents 0]&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; END)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; --,B.[Update]=ISNULL(B.[Update],0)+1&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; from @ModifiedRawData B&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; LEFT Join @ModifiedRawData A On A.[Page IDS]=Convert(int,Convert(Varbinary(Max),Reverse(Substring(B.[RowLog Contents 0],15+14,2))))&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; And A.[FILE IDS]=Convert(int,Convert(Varbinary(Max),Reverse(Substring(B.[RowLog Contents 0],19+14,2)))) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; And A.[Link ID]&amp;lt;&amp;gt;B.[Link ID] And B.[Update]=0&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; LEFT Join @ModifiedRawData C On C.[Page IDS]=Convert(int,Convert(Varbinary(Max),Reverse(Substring(B.[RowLog Contents 0],27+14,2))))&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; And C.[FILE IDS]=Convert(int,Convert(Varbinary(Max),Reverse(Substring(B.[RowLog Contents 0],31+14,2))))&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; And C.[Link ID]&amp;lt;&amp;gt;B.[Link ID] And B.[Update]=0&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Where&amp;nbsp; (A.[RowLog Contents 0] IS NOT NULL OR C.[RowLog Contents 0] IS NOT NULL)&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; UPDATE @ModifiedRawData&amp;nbsp; SET [RowLog Contents 0] =&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; (Case When [RowLog Len]&amp;gt;=8000 Then&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Substring([RowLog Contents 0] ,15,[RowLog Len]) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; When [RowLog Len]&amp;lt;8000 Then&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; SUBSTRING([RowLog Contents 0],15+6,Convert(int,Convert(varbinary(max),REVERSE(Substring([RowLog Contents 0],15,6)))))&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; End)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; FROM @ModifiedRawData Where [Link ID]=0&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; UPDATE @ColumnNameAndData SET [hex_Value]=[RowLog Contents 0] &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; --,A.[Update]=A.[Update]+1&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; FROM @ColumnNameAndData A&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; INNER JOIN @ModifiedRawData B ON&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Convert(int,Convert(Varbinary(Max),Reverse(Substring([hex_value],17,4))))=[PAGE IDS]&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; AND&amp;nbsp; Convert(int,Substring([hex_value],9,2)) =B.[Link ID] &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Where [System_Type_Id] In (99,167,175,231,239,241,165,98) And [Link ID] &amp;lt;&amp;gt;0 &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; UPDATE @ColumnNameAndData SET [hex_Value]=&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; (CASE WHEN B.[RowLog Contents 0] IS NOT NULL AND C.[RowLog Contents 0] IS NOT NULL THEN&amp;nbsp; B.[RowLog Contents 0]+C.[RowLog Contents 0] &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; WHEN B.[RowLog Contents 0] IS NULL AND C.[RowLog Contents 0] IS NOT NULL THEN&amp;nbsp; C.[RowLog Contents 0]&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; WHEN B.[RowLog Contents 0] IS NOT NULL AND C.[RowLog Contents 0] IS NULL THEN&amp;nbsp; B.[RowLog Contents 0]&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; END)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; --,A.[Update]=A.[Update]+1&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; FROM @ColumnNameAndData A&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; LEFT JOIN @ModifiedRawData B ON&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Convert(int,Convert(Varbinary(Max),Reverse(Substring([hex_value],5,4))))=B.[PAGE IDS]&amp;nbsp; And B.[Link ID] =0 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; LEFT JOIN @ModifiedRawData C ON&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Convert(int,Convert(Varbinary(Max),Reverse(Substring([hex_value],17,4))))=C.[PAGE IDS]&amp;nbsp; And C.[Link ID] =0 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Where [System_Type_Id] In (99,167,175,231,239,241,165,98)&amp;nbsp; And (B.[RowLog Contents 0] IS NOT NULL OR C.[RowLog Contents 0] IS NOT NULL)&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; UPDATE @ColumnNameAndData SET [hex_Value]=[RowLog Contents 0] &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; --,A.[Update]=A.[Update]+1&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; FROM @ColumnNameAndData A&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; INNER JOIN @ModifiedRawData B ON&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Convert(int,Convert(Varbinary(Max),Reverse(Substring([hex_value],9,4))))=[PAGE IDS]&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; And Convert(int,Substring([hex_value],3,2))=[Link ID]&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Where [System_Type_Id] In (35,34,99) And [Link ID] &amp;lt;&amp;gt;0 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; UPDATE @ColumnNameAndData SET [hex_Value]=[RowLog Contents 0]&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; --,A.[Update]=A.[Update]+10&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; FROM @ColumnNameAndData A&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; INNER JOIN @ModifiedRawData B ON&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Convert(int,Convert(Varbinary(Max),Reverse(Substring([hex_value],9,4))))=[PAGE IDS]&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Where [System_Type_Id] In (35,34,99) And [Link ID] =0&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; UPDATE @ColumnNameAndData SET [hex_Value]=[RowLog Contents 0] &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; --,A.[Update]=A.[Update]+1&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; FROM @ColumnNameAndData A&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; INNER JOIN @ModifiedRawData B ON&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Convert(int,Convert(Varbinary(Max),Reverse(Substring([hex_value],15,4))))=[PAGE IDS]&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Where [System_Type_Id] In (35,34,99) And [Link ID] =0&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Update @ColumnNameAndData set [hex_value]= 0xFFFE + Substring([hex_value],9,LEN([hex_value]))&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; --,[Update]=[Update]+1&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Where [System_Type_Id]=241&lt;br /&gt;&lt;br /&gt;CREATE TABLE [#temp_Data]&lt;br /&gt;(&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; [FieldName]&amp;nbsp; VARCHAR(MAX),&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; [FieldValue] NVARCHAR(MAX),&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; [Rowlogcontents] VARBINARY(8000),&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; [Row ID] int&lt;br /&gt;)&lt;br /&gt;&lt;br /&gt;INSERT INTO #temp_Data&lt;br /&gt;SELECT NAME,&lt;br /&gt;CASE&lt;br /&gt;&amp;nbsp;WHEN System_Type_Id IN (231, 239) THEN&amp;nbsp; LTRIM(RTRIM(CONVERT(NVARCHAR(max),hex_Value)))&amp;nbsp; --NVARCHAR ,NCHAR&lt;br /&gt;&amp;nbsp;WHEN System_Type_Id IN (167,175) THEN&amp;nbsp; LTRIM(RTRIM(CONVERT(VARCHAR(max),hex_Value)))&amp;nbsp; --VARCHAR,CHAR&lt;br /&gt;&amp;nbsp;WHEN System_Type_Id IN (35) THEN&amp;nbsp; LTRIM(RTRIM(CONVERT(VARCHAR(max),hex_Value))) --Text&lt;br /&gt;&amp;nbsp;WHEN System_Type_Id IN (99) THEN&amp;nbsp; LTRIM(RTRIM(CONVERT(NVARCHAR(max),hex_Value))) --nText &lt;br /&gt;&amp;nbsp;WHEN System_Type_Id = 48 THEN CONVERT(VARCHAR(MAX), CONVERT(TINYINT, CONVERT(BINARY(1), REVERSE (hex_Value)))) --TINY INTEGER&lt;br /&gt;&amp;nbsp;WHEN System_Type_Id = 52 THEN CONVERT(VARCHAR(MAX), CONVERT(SMALLINT, CONVERT(BINARY(2), REVERSE (hex_Value)))) --SMALL INTEGER&lt;br /&gt;&amp;nbsp;WHEN System_Type_Id = 56 THEN CONVERT(VARCHAR(MAX), CONVERT(INT, CONVERT(BINARY(4), REVERSE(hex_Value)))) -- INTEGER&lt;br /&gt;&amp;nbsp;WHEN System_Type_Id = 127 THEN CONVERT(VARCHAR(MAX), CONVERT(BIGINT, CONVERT(BINARY(8), REVERSE(hex_Value))))-- BIG INTEGER&lt;br /&gt;&amp;nbsp;WHEN System_Type_Id = 61 Then CONVERT(VARCHAR(MAX),CONVERT(DATETIME,CONVERT(VARBINARY(8000),REVERSE (hex_Value))),100) --DATETIME&lt;br /&gt;&amp;nbsp;WHEN System_Type_Id =58 Then CONVERT(VARCHAR(MAX),CONVERT(SMALLDATETIME,CONVERT(VARBINARY(8000),REVERSE(hex_Value))),100) --SMALL DATETIME&lt;br /&gt;&amp;nbsp;WHEN System_Type_Id = 108 THEN CONVERT(VARCHAR(MAX),CONVERT(NUMERIC(38,20), CONVERT(VARBINARY,CONVERT(VARBINARY(1),xprec)+CONVERT(VARBINARY(1),xscale))+CONVERT(VARBINARY(1),0) + hex_Value)) --- NUMERIC&lt;br /&gt;&amp;nbsp;WHEN System_Type_Id =106 THEN CONVERT(VARCHAR(MAX), CONVERT(DECIMAL(38,20), CONVERT(VARBINARY,Convert(VARBINARY(1),xprec)+CONVERT(VARBINARY(1),xscale))+CONVERT(VARBINARY(1),0) + hex_Value)) --- DECIMAL&lt;br /&gt;&amp;nbsp;WHEN System_Type_Id In(60,122) THEN CONVERT(VARCHAR(MAX),Convert(MONEY,Convert(VARBINARY(8000),Reverse(hex_Value))),2) --MONEY,SMALLMONEY&lt;br /&gt;&amp;nbsp;WHEN System_Type_Id = 104 THEN CONVERT(VARCHAR(MAX),CONVERT (BIT,CONVERT(BINARY(1), hex_Value)%2))&amp;nbsp; -- BIT&lt;br /&gt;&amp;nbsp;WHEN System_Type_Id =62 THEN&amp;nbsp; RTRIM(LTRIM(STR(CONVERT(FLOAT,SIGN(CAST(CONVERT(VARBINARY(8000),Reverse(hex_Value)) AS BIGINT)) * (1.0 + (CAST(CONVERT(VARBINARY(8000),Reverse(hex_Value)) AS BIGINT) &amp;amp; 0x000FFFFFFFFFFFFF) * POWER(CAST(2 AS FLOAT), -52)) * POWER(CAST(2 AS FLOAT),((CAST(CONVERT(VARBINARY(8000),Reverse(hex_Value)) AS BIGINT) &amp;amp; 0x7ff0000000000000) / EXP(52 * LOG(2))-1023))),53,LEN(hex_Value)))) --- FLOAT&lt;br /&gt;&amp;nbsp;When System_Type_Id =59 THEN&amp;nbsp; Left(LTRIM(STR(CAST(SIGN(CAST(Convert(VARBINARY(8000),REVERSE(hex_Value)) AS BIGINT))* (1.0 + (CAST(CONVERT(VARBINARY(8000),Reverse(hex_Value)) AS BIGINT) &amp;amp; 0x007FFFFF) * POWER(CAST(2 AS Real), -23)) * POWER(CAST(2 AS Real),(((CAST(CONVERT(VARBINARY(8000),Reverse(hex_Value)) AS INT) )&amp;amp; 0x7f800000)/ EXP(23 * LOG(2))-127))AS REAL),23,23)),8) --Real&lt;br /&gt;&amp;nbsp;WHEN System_Type_Id In (165,173) THEN (CASE WHEN CHARINDEX(0x,cast(&#39;&#39; AS XML).value(&#39;xs:hexBinary(sql:column(&quot;hex_Value&quot;))&#39;, &#39;VARBINARY(8000)&#39;)) = 0 THEN &#39;0x&#39; ELSE &#39;&#39; END) +cast(&#39;&#39; AS XML).value(&#39;xs:hexBinary(sql:column(&quot;hex_Value&quot;))&#39;, &#39;varchar(max)&#39;) -- BINARY,VARBINARY&lt;br /&gt;&amp;nbsp;WHEN System_Type_Id =34 THEN (CASE WHEN CHARINDEX(0x,cast(&#39;&#39; AS XML).value(&#39;xs:hexBinary(sql:column(&quot;hex_Value&quot;))&#39;, &#39;VARBINARY(8000)&#39;)) = 0 THEN &#39;0x&#39; ELSE &#39;&#39; END) +cast(&#39;&#39; AS XML).value(&#39;xs:hexBinary(sql:column(&quot;hex_Value&quot;))&#39;, &#39;varchar(max)&#39;)&amp;nbsp; --IMAGE&lt;br /&gt;&amp;nbsp;WHEN System_Type_Id =36 THEN CONVERT(VARCHAR(MAX),CONVERT(UNIQUEIDENTIFIER,hex_Value)) --UNIQUEIDENTIFIER&lt;br /&gt;&amp;nbsp;WHEN System_Type_Id =231 THEN CONVERT(VARCHAR(MAX),CONVERT(sysname,hex_Value)) --SYSNAME&lt;br /&gt;&amp;nbsp;WHEN System_Type_Id =241 THEN CONVERT(VARCHAR(MAX),CONVERT(xml,hex_Value)) --XML&lt;br /&gt;&lt;br /&gt;&amp;nbsp;WHEN System_Type_Id =189 THEN (CASE WHEN CHARINDEX(0x,cast(&#39;&#39; AS XML).value(&#39;xs:hexBinary(sql:column(&quot;hex_Value&quot;))&#39;, &#39;VARBINARY(8000)&#39;)) = 0 THEN &#39;0x&#39; ELSE &#39;&#39; END) +cast(&#39;&#39; AS XML).value(&#39;xs:hexBinary(sql:column(&quot;hex_Value&quot;))&#39;, &#39;varchar(max)&#39;) --TIMESTAMP&lt;br /&gt;&amp;nbsp;WHEN System_Type_Id=98 THEN (CASE&lt;br /&gt;&amp;nbsp;WHEN CONVERT(INT,SUBSTRING(hex_Value,1,1))=56 THEN CONVERT(VARCHAR(MAX), CONVERT(INT, CONVERT(BINARY(4), REVERSE(Substring(hex_Value,3,Len(hex_Value))))))&amp;nbsp; -- INTEGER&lt;br /&gt;&amp;nbsp;WHEN CONVERT(INT,SUBSTRING(hex_Value,1,1))=108 THEN CONVERT(VARCHAR(MAX),CONVERT(numeric(38,20),CONVERT(VARBINARY(1),Substring(hex_Value,3,1)) +CONVERT(VARBINARY(1),Substring(hex_Value,4,1))+CONVERT(VARBINARY(1),0) + Substring(hex_Value,5,Len(hex_Value)))) --- NUMERIC&lt;br /&gt;&amp;nbsp;WHEN CONVERT(INT,SUBSTRING(hex_Value,1,1))=167 THEN LTRIM(RTRIM(CONVERT(VARCHAR(max),Substring(hex_Value,9,Len(hex_Value))))) --VARCHAR,CHAR&lt;br /&gt;&amp;nbsp;WHEN CONVERT(INT,SUBSTRING(hex_Value,1,1))=36 THEN CONVERT(VARCHAR(MAX),CONVERT(UNIQUEIDENTIFIER,Substring((hex_Value),3,20))) --UNIQUEIDENTIFIER&lt;br /&gt;&amp;nbsp;WHEN CONVERT(INT,SUBSTRING(hex_Value,1,1))=61 THEN CONVERT(VARCHAR(MAX),CONVERT(DATETIME,CONVERT(VARBINARY(8000),REVERSE (Substring(hex_Value,3,LEN(hex_Value)) ))),100) --DATETIME&lt;br /&gt;&amp;nbsp;WHEN CONVERT(INT,SUBSTRING(hex_Value,1,1))=165 THEN &#39;0x&#39;+ SUBSTRING((CASE WHEN CHARINDEX(0x,cast(&#39;&#39; AS XML).value(&#39;xs:hexBinary(sql:column(&quot;hex_Value&quot;))&#39;, &#39;VARBINARY(8000)&#39;)) = 0 THEN &#39;0x&#39; ELSE &#39;&#39; END) +cast(&#39;&#39; AS XML).value(&#39;xs:hexBinary(sql:column(&quot;hex_Value&quot;))&#39;, &#39;varchar(max)&#39;),11,LEN(hex_Value)) -- BINARY,VARBINARY&lt;br /&gt;&amp;nbsp;END)&lt;br /&gt;&amp;nbsp; &lt;br /&gt;END AS FieldValue&lt;br /&gt;,[Rowlogcontents]&lt;br /&gt;,[Row ID]&lt;br /&gt;FROM @ColumnNameAndData ORDER BY nullbit&lt;br /&gt;&lt;br /&gt;--Create the column name in the same order to do pivot table.&lt;br /&gt;&lt;br /&gt;DECLARE @FieldName VARCHAR(max)&lt;br /&gt;SET @FieldName = STUFF(&lt;br /&gt;(&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; SELECT &#39;,&#39; + CAST(QUOTENAME([Name]) AS VARCHAR(MAX)) FROM syscolumns WHERE id=object_id(&#39;&#39; + @SchemaName_n_TableName + &#39;&#39;)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; FOR XML PATH(&#39;&#39;)), 1, 1, &#39;&#39;)&lt;br /&gt;&lt;br /&gt;--Finally did pivot table and get the data back in the same format.&lt;br /&gt;&lt;br /&gt;SET @sql = &#39;SELECT &#39; + @FieldName&amp;nbsp; + &#39; FROM #temp_Data PIVOT (Min([FieldValue]) FOR FieldName IN (&#39; + @FieldName&amp;nbsp; + &#39;)) AS pvt&#39;&lt;br /&gt;EXEC sp_executesql @sql&lt;br /&gt;&lt;br /&gt;GO&lt;br /&gt;--Execute the procedure like&lt;br /&gt;--Recover_Deleted_Data_Proc &#39;Database Name&#39;,&#39;Schema.table name&#39;&lt;br /&gt;--EXAMPLE #1 : FOR ALL DELETED RECORDS&lt;br /&gt;--EXEC Recover_Deleted_Data_Proc &#39;VT_ADI&#39;,&#39;DBO.TABLO_ADI&#39;&lt;br /&gt;GO&lt;br /&gt;--EXAMPLE #2 : FOR ANY SPECIFIC DATE RANGE&lt;br /&gt;--EXEC Recover_Deleted_Data_Proc &#39;VT_ADI&#39;,&#39;DBO.TABLO_ADI&#39; ,&#39;2011/12/01&#39;,&#39;2012/01/30&#39;&lt;br /&gt;--It will give you the result of all deleted records.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;</content><link rel='replies' type='application/atom+xml' href='http://turkertunali.blogspot.com/feeds/6146465062127237599/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/8114551873867612455/6146465062127237599' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8114551873867612455/posts/default/6146465062127237599'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8114551873867612455/posts/default/6146465062127237599'/><link rel='alternate' type='text/html' href='http://turkertunali.blogspot.com/2015/10/sql-server-ile-silinen-kaytlarn-geri.html' title='SQL Server ile silinen kayıtların geri getirilmesi'/><author><name>Türker TUNALI</name><uri>http://www.blogger.com/profile/07176021645942032235</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiLuxkHlLdx5-rP3XYVWoh3J4sHL1PRx-IcaSleipZmS4fihrm2iUsgBNtB5RXeVNNv95lNc2YCmkwzi-m4j7jka_x7OwxvYLeuRtI2gfw6iRak44DJPXF7PScS3J5d1sg/s1600/1d097e2201de377962aa4f95c105bd01%3Fs%3D480'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8114551873867612455.post-2087936847614348559</id><published>2014-07-30T23:09:00.002+03:00</published><updated>2014-07-30T23:33:29.955+03:00</updated><title type='text'>ZBrush - Mudbox Karşılaştırması</title><content type='html'>&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;a data-mce-href=&quot;http://blog.digitaltutors.com/zbrush-mudbox-sculpting-showdown/&quot; href=&quot;http://blog.digitaltutors.com/zbrush-mudbox-sculpting-showdown/&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot; title=&quot;Digital Tutors&quot;&gt;http://blog.digitaltutors.com/zbrush-mudbox-sculpting-showdown/&lt;/a&gt; adresindeki yazıyı ilgilenen arkadaşlar için &lt;a href=&quot;http://www.tr3d.com/forum/oku/zbrush/zbrush-mudbox-karsilastirmasi/&quot; target=&quot;_blank&quot;&gt;TR3D formunda&lt;/a&gt; yayınlanması için çevirdim.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;b&gt;Mesh Oluşturma (Mesh Creation)&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;b&gt;&lt;img alt=&quot;&quot; data-mce-src=&quot;http://i0.wp.com/blog.digitaltutors.com/wp-content/uploads/2014/06/meshCreation_zbrush.jpg&quot; src=&quot;http://i0.wp.com/blog.digitaltutors.com/wp-content/uploads/2014/06/meshCreation_zbrush.jpg&quot; height=&quot;450&quot; width=&quot;800&quot; /&gt;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;&amp;nbsp;&amp;nbsp; İşleme
 başlamadan önce elimizde üstünde çalışabileceğimiz temel bir model 
olmalı. Bu model diğer uygulamalardan aktarılabileceği gibi uygulamanın 
içinde de yaratılabilir.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;&amp;nbsp;&amp;nbsp; &lt;a href=&quot;http://pixologic.com/&quot; target=&quot;_blank&quot;&gt;ZBrush&lt;/a&gt;
 içinde bir sürü mesh oluşturma seçeneği sunar. ZSpheres ile karakter 
gövdeleri oluşturulabilir, sanal armatürler yaratılarak kompleks yaratık
 şekilleri oluşturulabilir. ShadowBox ile kompleks sert yüzey parçaları, 
oluşturulan maskelerin kesişimleri kullanılarak kolaylıkla yaratılabilir. DynaMesh ile mesh parçalarının kesimi ve tekrar 
birleştirilmesi oldukça kolaydır. Ayrıca her türlü temel obje diğer 
uygulamalardan aktarılabilir.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;&amp;nbsp;&amp;nbsp; &lt;a data-mce-href=&quot;http://www.autodesk.com/products/mudbox/overview&quot; href=&quot;http://www.autodesk.com/products/mudbox/overview&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot; title=&quot;Mudbox&quot;&gt;Mudbox&lt;/a&gt;
 mesh yaratma anlamında biraz daha sınırlıdır. Mudbox kullanırken 
gereken temel objeleri genelde Maya veya 3ds Max gibi uygulamalardan 
alırız. Bunu kolaylaştırmak için Mudbox diğer Autodesk araçları ile 
entegredir. Ayrıca Retopologize işlemi ile temel şekillerde objeler 
yaratılabilir.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;&amp;nbsp;&amp;nbsp; Sonuç olarak daha fazla opsiyonu ve esnekliği ile mesh yaratma bakımından ZBrush daha başarılıdır.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;&amp;nbsp; &lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;b&gt;Şekil Verme (Sculpting)&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;img alt=&quot;Şekillendirme&quot; data-mce-src=&quot;http://i1.wp.com/blog.digitaltutors.com/wp-content/uploads/2014/06/sculpting_ZBrush.jpg&quot; src=&quot;http://i1.wp.com/blog.digitaltutors.com/wp-content/uploads/2014/06/sculpting_ZBrush.jpg&quot; height=&quot;450&quot; width=&quot;800&quot; /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;&amp;nbsp;&amp;nbsp; ZBrush
 çok fazla sayıda fırça sunar. Çok daha fazlasını da LightBox gezgini 
ile sunar. Bazı fırçalar şeklin genel görüntüsünü çekmek (Move) ve 
yüzeyinde materyal (ClayBuildup) oluşturmak içindir. Ayrıca keskin 
kırışıklar ve kenarlar DamStandart ile oluşturulabilir. Fırça (Brush) 
parametreleri ve vuruş türleri için geniş yelpazede seçenekler sunar. 
Vuruşları (strokes) kavisli modifiye etme yeteneği vardır. 2.5 Boyutlu 
görünümü klasik 3 boyutlu görünüme göre biraz farklı da olsa 
şekillendirme işlemleri hızlı ve dinamiktir.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;&amp;nbsp;&amp;nbsp; Mudbox, ZBrush ile 
aynı temel fırçaları sunar. Geometryi Grub fırçasını kullanarak 
değiştirebilir (Move) veya Wax ile materyal oluşturulabilir. Fırça 
(Brush) parametreleri biraz daha az olsa da çok sıklıkla kullanılanlara 
odaklanılmıştır.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;&amp;nbsp;&amp;nbsp; Mudbox uygulamasının şekil vermede öne çıktığı 
ve parladığı özellik vektörel değişim haritalarının (vectorel 
displacement maps) damga olarak kullanılabilmesidir. İçerdiği haritalar 
ile hızlıca, detaylı, alt alta/üst üste gelen kırışıklıklar 
yaratılabilir. Ayrıca kendi başımıza da bu haritaları yaratabiliriz. VDM
 (vectorel displacement maps) kesinlikle muhteşemdir ama fırça 
seçeneklerinin biraz daha fazla olması sebebiyle ZBrush şekillendirme 
özelliklerinde de Mudbox uygulamasına göre çok az farkla daha iyidir.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;b&gt;Kaplama Boyama (Texture Painting)&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;img alt=&quot;Kaplama Boyama&quot; data-mce-src=&quot;http://i1.wp.com/blog.digitaltutors.com/wp-content/uploads/2014/06/mud_texture.jpg&quot; src=&quot;http://i1.wp.com/blog.digitaltutors.com/wp-content/uploads/2014/06/mud_texture.jpg&quot; height=&quot;450&quot; width=&quot;800&quot; /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;&amp;nbsp;&amp;nbsp; Şuana
 kadar ZBrush oldukça önde gözüküyor. Ama hemen karar vermeyin. Kaplama 
boyama günlük iş süreçlerinizde olmayabilir ama bu tip uygulamalar için 
oldukça önemlidir.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;&amp;nbsp; &amp;nbsp; ZBrush &quot;Polypainting&quot; tekniği ile kaplamalar 
oluşturur. Temel olarak modelin çözünürlüğüne göre renklendirir. Yani 
yüksek detaylı kaplama o kadar yüksek çözünürlükte şekil (Sculpt) ister.
 Ek olarak, boyama detayı, model dışarı aktarılana kadar (Export) henüz 
ortada yoktur. Pozitif tarafından bakarsak UV detayları hakkında 
düşünmemize henüz gerek yoktur, şekil verme ve boyama işlemine aynı anda
 devam edebiliriz.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;&amp;nbsp;&amp;nbsp; Mudbox tam özellikli, katman tabanlı kaplama 
boyama iş akışı sunar. Her harita bir materyal kanalına atanmıştır ve 
her bir kanal bir sürü katmanla harmanlanabilir. Bu daha tutarlı 
(geleneksel - traditional) iş akışı sunar ve öğrenmesi kullanması çok 
daha kolaydır. Ayrıca modelin çözünürlüğü ile hiçbir bağlantısı yoktur.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;&amp;nbsp;&amp;nbsp; Mudbox
 uygulamasının bir diğer iyi özelliği ise haritalarınız üstündeki 
değişikliklerin model üstünde anında görünmesidir. Hatta &quot;Specularity&quot; 
veya &quot;Incandescence&quot; haritalarındaki değişiklikler bile anında görünür. 
Ek olarak UV detaylarını tamamen unutup, &lt;a data-mce-href=&quot;http://ptex.us/&quot; href=&quot;http://ptex.us/&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot; title=&quot;Ptex&quot;&gt;Ptex&lt;/a&gt; ile kaplamaları boyayabiliriz. Bu özellikleri sebebiyle Mudbox burada oldukça farkla daha iyidir.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;b&gt;Retopoloji (Retopology)&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;img alt=&quot;Retopology&quot; data-mce-src=&quot;http://i0.wp.com/blog.digitaltutors.com/wp-content/uploads/2014/06/topology_zbrush.jpg&quot; src=&quot;http://i0.wp.com/blog.digitaltutors.com/wp-content/uploads/2014/06/topology_zbrush.jpg&quot; height=&quot;450&quot; width=&quot;800&quot; /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;&amp;nbsp;&amp;nbsp; Şekillendirme
 (Sculpting) iş hattının hayati önemdeki parçası yeni, optimize topoloji
 oluşturmaktır. Bu yeni topoloji nihai sonuç olarak kullanılacak modeli 
(mesh) şekillendirilmiş (Sculpted) detayı ve atamaları tamamlanmış 
boyanmış kaplamaları (applied as maps) içerir. ZBrush ve Mudbox 
oluşturduğumuz kendi şekillerimiz üstünden yeni topoloji oluşturmak için
 metodlar barındırır.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;&amp;nbsp;&amp;nbsp; Kılavuzları (Guides) ve poligon sayısı 
parametrelerini kullanan, hızlı, yeni model (mesh) oluşturabileceğimiz 
otomatik bazı metodlar vardır. ZBrush, kendi araçlarına ZRemesher, 
Mudbox ise Retopologize ismini vermiştir. Ayrıca kendi poligonlarımızı 
çizebileceğimiz yollarda vardır. ZBrush uygulamasının retopoloji 
araçları biraz daha uzun süredir kullanımda olduğu için burada küçük 
farkla öndedir.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;b&gt;Harita Oluşturma (Map Baking)&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;b&gt;&lt;img alt=&quot;Map Baking&quot; data-mce-src=&quot;http://i0.wp.com/blog.digitaltutors.com/wp-content/uploads/2014/06/baking_mud.jpg&quot; src=&quot;http://i0.wp.com/blog.digitaltutors.com/wp-content/uploads/2014/06/baking_mud.jpg&quot; height=&quot;450&quot; width=&quot;800&quot; /&gt;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;&amp;nbsp;&amp;nbsp; Şekillendirme
 işleminin son aşaması normal ve displacement haritalarının yüksek 
çözünürlükteki modele bağlı kalarak oluşturmaktır. Bu haritalar yüksek 
detaylı modeller ile düşük detaydaki, retopoloji işleminden geçmiş 
modellerin karşılaştırılması ile oluşturulur.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;&amp;nbsp;&amp;nbsp; ZBrush burada 
sıradışı bir yol izler. Yeni modelin (Mesh) Subdivide işleminden 
geçirilmesi ve detayın bu bölümlenmiş geometriye projekte edilmesi 
gereklidir. Bundan sonra normal ve displacement haritaları 
hesaplanabilir. Bu iş akışı Mudbox ve harita kaplama özellikleri sunan 
diğer 3D uygulamalardan biraz farklıdır.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;&amp;nbsp;&amp;nbsp; Mudbox ise harita 
oluşturmada çok daha esnektir. Aynı modelin (mesh) farklı katmanlarını 
(levels) hatta tamamen farklı bir geometri kullanabiliriz. Mudbox bu 
işlemler için bir sürü seçenek sunar ve bunları tekrar kullanım için 
kaydeder. Mudbox bu konuda kesinlikle öndedir.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;b&gt;Kazanan&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;&amp;nbsp;&amp;nbsp; Kazanan
 kesinlikle sizsiniz. Model tasarımcısı olarak bu kadar özellikli 
araçların olması faydanızadır. ZBrush kullanmanız, Mudbox kullanmanız 
veya ikisini de kullanmanız modelleme cephanenize oldukça önemli katkı 
yapar. Projelerinizin özelliklerine ve sizin çalışma şeklinize göre 
büyük ihtimalle birisine daha çok yakınlaşacaksınız.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;&amp;nbsp;&amp;nbsp; Hangi 
programı tercih edeceksiniz? Projenizin hangi parçası Mudbox ile veya 
ZBrush ile yapılması daha kolay olur? Hangi iş akışındaki sıkıntı sizi 
delirtir?&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;&amp;nbsp;&amp;nbsp; Bu arada ZBrush ve Mudbox bu konudaki tek seçenekler değildir. &lt;a data-mce-href=&quot;http://www.thefoundry.co.uk/products/modo/&quot; href=&quot;http://www.thefoundry.co.uk/products/modo/&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot; title=&quot;MODO&quot;&gt;MODO&lt;/a&gt;, &lt;a data-mce-href=&quot;http://www.maxon.net/products.html&quot; href=&quot;http://www.maxon.net/products.html&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot; title=&quot;CINEMA 4D&quot;&gt;CINEMA 4D&lt;/a&gt; ve &lt;a data-mce-href=&quot;http://www.blender.org/&quot; href=&quot;http://www.blender.org/&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot; title=&quot;Blender&quot;&gt;Blender&lt;/a&gt; uygulamaları birden fazla çözünürlükte şekil çizilmesine imkan veren özellikler barındırır. Üstelik &lt;a data-mce-href=&quot;http://3d-coat.com/&quot; href=&quot;http://3d-coat.com/&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot; title=&quot;3D Coat&quot;&gt;3D Coat&lt;/a&gt;, &lt;a data-mce-href=&quot;http://pixologic.com/sculptris/&quot; href=&quot;http://pixologic.com/sculptris/&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot; title=&quot;Sculptris&quot;&gt;Sculptris&lt;/a&gt; veya daha küçük uygulamalardan &lt;a data-mce-href=&quot;http://www.123dapp.com/sculpt&quot; href=&quot;http://www.123dapp.com/sculpt&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot; title=&quot;123D Sculpt&quot;&gt;123D Sculpt&lt;/a&gt; gibi uygulamları da seçebilirsiniz. Aslında web tabanlı çizim imkanı veren &lt;a data-mce-href=&quot;http://stephaneginier.com/sculptgl/&quot; href=&quot;http://stephaneginier.com/sculptgl/&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot; title=&quot;SculptGL&quot;&gt;SculptGL&lt;/a&gt; uygulamasını hemen şimdi kullanmaya başlayabilirsiniz.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;Notlar:&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;- 2 uygulamayı da hiç kullanmadım.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;- Bence kullanıcının hangi uygulamanın arayüzünü kendisine daha yakın gördüğü de önemlidir.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;- Hatam elbet vardır. Bilgi verirseniz düzeltilebilecek yerleri düzeltebilirim.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;- Yazı 2014 Haziran ayında yayınlanmış, ona uygun versiyonları karşılaştırdıklarını düşünüyorum.&lt;/span&gt;</content><link rel='replies' type='application/atom+xml' href='http://turkertunali.blogspot.com/feeds/2087936847614348559/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/8114551873867612455/2087936847614348559' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8114551873867612455/posts/default/2087936847614348559'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8114551873867612455/posts/default/2087936847614348559'/><link rel='alternate' type='text/html' href='http://turkertunali.blogspot.com/2014/07/zbrush-mudbox-karslastrmas.html' title='ZBrush - Mudbox Karşılaştırması'/><author><name>Türker TUNALI</name><uri>http://www.blogger.com/profile/07176021645942032235</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiLuxkHlLdx5-rP3XYVWoh3J4sHL1PRx-IcaSleipZmS4fihrm2iUsgBNtB5RXeVNNv95lNc2YCmkwzi-m4j7jka_x7OwxvYLeuRtI2gfw6iRak44DJPXF7PScS3J5d1sg/s1600/1d097e2201de377962aa4f95c105bd01%3Fs%3D480'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8114551873867612455.post-6399399457829424897</id><published>2013-12-07T17:47:00.002+02:00</published><updated>2013-12-07T17:48:40.558+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="C#"/><category scheme="http://www.blogger.com/atom/ns#" term="sunucu istemci iletişimi"/><category scheme="http://www.blogger.com/atom/ns#" term="WCF"/><category scheme="http://www.blogger.com/atom/ns#" term="Windows Communication Foundation"/><title type='text'>WCF ile İstemci - Sunucu İletişimi (C#)</title><content type='html'>&amp;nbsp;&amp;nbsp; Windows Communication Foundation (WCF) ile sunucu ve istemci arasında iletişim kuran, sunucuya belirli parametrelerle istek gönderen, sunucuda istek sonucu alabilen bir sınıf geliştirdik. Örnek uygulamaya &lt;a href=&quot;https://drive.google.com/file/d/0B6Q9JEaDruv3QkJOeUFiWmFkQlU/edit?usp=sharing&quot; target=&quot;_blank&quot;&gt;buradan&lt;/a&gt; ulaşabilirsiniz. Örnek uygulama verilen metnin tersini döndürüyor. Aşağıda sınıfın kodu var. Eğer daha iyi bir çözümünüz ya da kullanımında probleminiz varsa yorum bırakabilirsiniz.&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp; Örnek kullamı sunucu için bu şekilde:&lt;br /&gt;
&lt;span style=&quot;font-size: small;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;clsWCFLib cloWCFServer = new clsWCFLib();&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: small;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;cloWCFServer.StartServer(&quot;http://localhost:8000/Reverse&quot;);&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp; İstemci için kullanımı:&lt;br /&gt;
&lt;span style=&quot;font-size: small;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;clsWCFLib cloWCFClient = new clsWCFLib();&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: small;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;cloWCFClient.Connect(&quot;http://localhost:8000/Reverse&quot;);&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: small;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;string strSonuc = cloWCFClient.SendMessage(&quot;Merhaba Dünya&quot;);&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp; Şuana kadar 3 farklı işletim sistemi ve domain bağımlı ve bağımsız ortamlarda kullandık. Daha geliştirilebilecek çok yönü var ama başlangıç olarak fena değil.&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;class clsWCFLib&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; #region Interface&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; [ServiceContract]&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public interface IProcessor&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; [OperationContract]&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; string Process(string value);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public class Processor : IProcessor&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public string Process(string value)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; char[] retVal = value.ToCharArray();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; int idx = 0;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for (int i = value.Length - 1; i &amp;gt;= 0; i--)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; retVal[idx++] = value[i];&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return new string(retVal);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; #endregion&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; #region Client&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; private IProcessor httpProxy;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public void Connect(string strURI = &quot;http://localhost:8000/Reverse&quot;)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ChannelFactory&amp;lt;IProcessor&amp;gt; httpFactory =&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; new ChannelFactory&amp;lt;IProcessor&amp;gt;(&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; new BasicHttpBinding(),&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; new EndpointAddress(&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; strURI));&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; httpProxy =&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; httpFactory.CreateChannel();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public string SendMessage(string strMsg)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; string strResult;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; strResult = httpProxy.Process(strMsg);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return strResult;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; #endregion&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; #region Server&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ServiceHost host;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public void StartServer(string strURI = &quot;http://localhost:8000/Reverse&quot;)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; host = new ServiceHost(&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; typeof(Processor),&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; new Uri[]{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; new Uri(strURI)});&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; host.AddServiceEndpoint(typeof(IProcessor),&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; new BasicHttpBinding(), strURI);&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; host.Open();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public void StopServer()&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; host.Close();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; #endregion&lt;br /&gt;}&lt;/span&gt;</content><link rel='replies' type='application/atom+xml' href='http://turkertunali.blogspot.com/feeds/6399399457829424897/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/8114551873867612455/6399399457829424897' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8114551873867612455/posts/default/6399399457829424897'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8114551873867612455/posts/default/6399399457829424897'/><link rel='alternate' type='text/html' href='http://turkertunali.blogspot.com/2013/12/wcf-ile-istemci-sunucu-iletisimi-c.html' title='WCF ile İstemci - Sunucu İletişimi (C#)'/><author><name>Türker TUNALI</name><uri>http://www.blogger.com/profile/07176021645942032235</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiLuxkHlLdx5-rP3XYVWoh3J4sHL1PRx-IcaSleipZmS4fihrm2iUsgBNtB5RXeVNNv95lNc2YCmkwzi-m4j7jka_x7OwxvYLeuRtI2gfw6iRak44DJPXF7PScS3J5d1sg/s1600/1d097e2201de377962aa4f95c105bd01%3Fs%3D480'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8114551873867612455.post-7715238462019794924</id><published>2013-11-29T10:29:00.000+02:00</published><updated>2013-12-08T18:57:04.701+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term=".Net"/><category scheme="http://www.blogger.com/atom/ns#" term="InTouch"/><category scheme="http://www.blogger.com/atom/ns#" term="SOAP"/><category scheme="http://www.blogger.com/atom/ns#" term="web servisi"/><category scheme="http://www.blogger.com/atom/ns#" term="Wonderware"/><title type='text'>Invensys Wonderware System Platform altında SOAP web servislerinin çağrılması</title><content type='html'>&amp;nbsp;&amp;nbsp; System Platform altında script ile web servislerini çağıran kod örneğidir. Bir symbol altında kullanarak InTouch tarafında kullanıyoruz. Çalışması için standart .Net kütüphanelerinin import edilmesi gereklidir.&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace; font-size: small;&quot;&gt;System.Windows.Forms.MessageBox.Show(&quot;Started&quot;, &quot;Debug&quot;);&lt;br /&gt;&lt;br /&gt;dim strWsUrl as string;&lt;br /&gt;strWsUrl = &quot;http://SERVER_ADDRESS:PORT/WEBSERVICE/services/WebService&quot;;&lt;br /&gt;&lt;br /&gt;dim webRequest as System.Net.HttpWebRequest;&lt;br /&gt;webRequest&amp;nbsp; = System.Net.WebRequest.Create(strWsUrl);&lt;br /&gt;&lt;br /&gt;System.Windows.Forms.MessageBox.Show(&quot;1&quot;, &quot;Debug&quot;);&lt;br /&gt;webRequest.Headers.Add(&quot;SOAPAction&quot;, &quot;login&quot;);&lt;br /&gt;webRequest.ContentType = &quot;text/xml;charset=&quot;&quot;utf-8&quot;&quot;&quot;;&lt;br /&gt;webRequest.Accept = &quot;text/xml&quot;;&lt;br /&gt;webRequest.Method = &quot;POST&quot;;&lt;br /&gt;webRequest.UseDefaultCredentials = True;&lt;br /&gt;&lt;br /&gt;System.Windows.Forms.MessageBox.Show(&quot;2&quot;, &quot;Debug&quot;);&lt;br /&gt;Dim body As String;&lt;br /&gt;body = &quot;&amp;lt;soapenv:Envelope xmlns:xsi=&quot;&quot;http://www.w3.org/2001/XMLSchema-instance&quot;&quot; xmlns:xsd=&quot;&quot;http://www.w3.org/2001/XMLSchema&quot;&quot; xmlns:soapenv=&quot;&quot;http://schemas.xmlsoap.org/soap/envelope/&quot;&quot; xmlns:web=&quot;&quot;http://web.ias.com&quot;&quot;&amp;gt; &quot; +&lt;br /&gt;&amp;nbsp;&amp;nbsp; &quot;&amp;lt;soapenv:Header/&amp;gt;&quot; +&lt;br /&gt;&amp;nbsp;&amp;nbsp; &quot;&amp;lt;soapenv:Body&amp;gt; &quot; +&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &quot;&amp;lt;web:login soapenv:encodingStyle=&quot;&quot;http://schemas.xmlsoap.org/soap/encoding/&quot;&quot;&amp;gt;&quot; +&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &quot;&amp;lt;p_strClient xsi:type=&quot;&quot;xsd:string&quot;&quot;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace; font-size: small;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace; font-size: small;&quot;&gt;PARAMETER_1&lt;/span&gt;&amp;lt;/p_strClient&amp;gt;&quot; +&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &quot;&amp;lt;p_strLanguage xsi:type=&quot;&quot;xsd:string&quot;&quot;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace; font-size: small;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace; font-size: small;&quot;&gt;PARAMETER_2&lt;/span&gt;&amp;lt;/p_strLanguage&amp;gt;&quot; +&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &quot;&amp;lt;p_strDBName xsi:type=&quot;&quot;xsd:string&quot;&quot;&amp;gt;PARAMETER_3&amp;lt;/p_strDBName&amp;gt;&quot; +&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &quot;&amp;lt;p_strDBServer xsi:type=&quot;&quot;xsd:string&quot;&quot;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace; font-size: small;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace; font-size: small;&quot;&gt;PARAMETER_4&lt;/span&gt;&amp;lt;/p_strDBServer&amp;gt;&quot; +&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &quot;&amp;lt;p_strAppServer xsi:type=&quot;&quot;xsd:string&quot;&quot;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace; font-size: small;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace; font-size: small;&quot;&gt;PARAMETER_5&lt;/span&gt;&amp;lt;/p_strAppServer&amp;gt;&quot; +&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &quot;&amp;lt;p_strUserName xsi:type=&quot;&quot;xsd:string&quot;&quot;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace; font-size: small;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace; font-size: small;&quot;&gt;PARAMETER_6&lt;/span&gt;&amp;lt;/p_strUserName&amp;gt;&quot; +&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &quot;&amp;lt;p_strPassword xsi:type=&quot;&quot;xsd:string&quot;&quot;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace; font-size: small;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace; font-size: small;&quot;&gt;PARAMETER_7&lt;/span&gt;&amp;lt;/p_strPassword&amp;gt;&quot; +&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &quot;&amp;lt;/web:login&amp;gt;&quot; +&lt;br /&gt;&amp;nbsp;&amp;nbsp; &quot;&amp;lt;/soapenv:Body&amp;gt;&quot; +&lt;br /&gt;&quot;&amp;lt;/soapenv:Envelope&amp;gt;&quot;;&lt;br /&gt;&lt;br /&gt;System.Windows.Forms.MessageBox.Show(&quot;3&quot;, &quot;Debug&quot;);&lt;br /&gt;Dim sw As System.IO.StreamWriter;&lt;br /&gt;sw = System.IO.StreamWriter(webRequest.GetRequestStream());&lt;br /&gt;sw.Write(body);&lt;br /&gt;sw.Dispose();&lt;br /&gt;&lt;br /&gt;System.Windows.Forms.MessageBox.Show(&quot;4&quot;, &quot;Debug&quot;);&lt;br /&gt;Dim webResponse As System.Net.WebResponse;&lt;br /&gt;webResponse = webRequest.GetResponse();&lt;br /&gt;System.Windows.Forms.MessageBox.Show(&quot;5&quot;, &quot;Debug&quot;);&lt;br /&gt;Dim rd As System.IO.StreamReader;&lt;br /&gt;rd = new System.IO.StreamReader(webResponse.GetResponseStream());&lt;br /&gt;System.Windows.Forms.MessageBox.Show(rd.ReadToEnd());&lt;br /&gt;webResponse.Close();&lt;br /&gt;&lt;br /&gt;System.Windows.Forms.MessageBox.Show(&quot;OK&quot;, &quot;Debug&quot;);&lt;/span&gt;</content><link rel='replies' type='application/atom+xml' href='http://turkertunali.blogspot.com/feeds/7715238462019794924/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/8114551873867612455/7715238462019794924' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8114551873867612455/posts/default/7715238462019794924'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8114551873867612455/posts/default/7715238462019794924'/><link rel='alternate' type='text/html' href='http://turkertunali.blogspot.com/2013/11/invensys-wonderware-intouch-ile-web.html' title='Invensys Wonderware System Platform altında SOAP web servislerinin çağrılması'/><author><name>Türker TUNALI</name><uri>http://www.blogger.com/profile/07176021645942032235</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiLuxkHlLdx5-rP3XYVWoh3J4sHL1PRx-IcaSleipZmS4fihrm2iUsgBNtB5RXeVNNv95lNc2YCmkwzi-m4j7jka_x7OwxvYLeuRtI2gfw6iRak44DJPXF7PScS3J5d1sg/s1600/1d097e2201de377962aa4f95c105bd01%3Fs%3D480'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8114551873867612455.post-2994467076666091278</id><published>2013-07-17T05:12:00.000+03:00</published><updated>2013-11-29T10:18:02.670+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="haftalık planlama"/><category scheme="http://www.blogger.com/atom/ns#" term="planlama şablonu"/><category scheme="http://www.blogger.com/atom/ns#" term="word şablon"/><title type='text'>Haftalık Görev Şablonu (Word)</title><content type='html'>&lt;span id=&quot;goog_1768258509&quot;&gt;&lt;/span&gt;&lt;span id=&quot;goog_1768258510&quot;&gt;&lt;/span&gt;&amp;nbsp;&amp;nbsp; Haftalık iş takiplerini daha uygun şekilde takip edebilmek için bir şablon hazırladım. Genel özellikleri:&lt;br /&gt;
&amp;nbsp;&amp;nbsp; - Günlük bölümleri ile günlük plan yapma imkanı sağlıyor. Bu şekilde haftalık plan yapılamayacak durumlarda da kullanılabilir. Tabi ki sağlıklı iş süreçleri için haftalık, aylık, yıllık planlar yapmak daha doğru olacaktır.&lt;br /&gt;
&amp;nbsp;&amp;nbsp; - Acil işler için, telefon ile aranacak ya da e-posta atılacak kişiler için ve takip edilecek iş süreçleri ile ilgili ayrı bölümleri mevcut. Bu şekilde tek bir plan ile daha az detay isteyen süreçleri de takip edebiliyoruz.&lt;br /&gt;
&lt;br /&gt;
İndirme Linkleri: &lt;a href=&quot;https://dl.dropboxusercontent.com/u/20537618/PlanTR.docx&quot; target=&quot;_blank&quot;&gt;Türkçe&lt;/a&gt; &lt;a href=&quot;https://dl.dropboxusercontent.com/u/20537618/Plan.docx&quot; target=&quot;_blank&quot;&gt;İngilizce&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhzbt6Lldoxz8IH22zSV9xOKHsDKccjN4_CqUFLz5LmTPvzZhf8riiGefEAvyhXhGuJrFDrLLiB7e-Rx_Ecteo1gRX8K6C0VnmOB4kLezShrhtcSJ65qmFMqiQQSRTBY1wNfEOYDCp0sc7n/s1600/1.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;372&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhzbt6Lldoxz8IH22zSV9xOKHsDKccjN4_CqUFLz5LmTPvzZhf8riiGefEAvyhXhGuJrFDrLLiB7e-Rx_Ecteo1gRX8K6C0VnmOB4kLezShrhtcSJ65qmFMqiQQSRTBY1wNfEOYDCp0sc7n/s640/1.png&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
Sizin kullandığınız başka bir şablonuz var mı?</content><link rel='replies' type='application/atom+xml' href='http://turkertunali.blogspot.com/feeds/2994467076666091278/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/8114551873867612455/2994467076666091278' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8114551873867612455/posts/default/2994467076666091278'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8114551873867612455/posts/default/2994467076666091278'/><link rel='alternate' type='text/html' href='http://turkertunali.blogspot.com/2013/07/yeni-haftalk-gorev-sablonu-word.html' title='Haftalık Görev Şablonu (Word)'/><author><name>Türker TUNALI</name><uri>http://www.blogger.com/profile/07176021645942032235</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiLuxkHlLdx5-rP3XYVWoh3J4sHL1PRx-IcaSleipZmS4fihrm2iUsgBNtB5RXeVNNv95lNc2YCmkwzi-m4j7jka_x7OwxvYLeuRtI2gfw6iRak44DJPXF7PScS3J5d1sg/s1600/1d097e2201de377962aa4f95c105bd01%3Fs%3D480'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhzbt6Lldoxz8IH22zSV9xOKHsDKccjN4_CqUFLz5LmTPvzZhf8riiGefEAvyhXhGuJrFDrLLiB7e-Rx_Ecteo1gRX8K6C0VnmOB4kLezShrhtcSJ65qmFMqiQQSRTBY1wNfEOYDCp0sc7n/s72-c/1.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8114551873867612455.post-914866405311782130</id><published>2013-07-15T19:02:00.000+03:00</published><updated>2013-07-15T19:54:18.783+03:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="android"/><category scheme="http://www.blogger.com/atom/ns#" term="bilgisayara uyarı yönlendirme"/><title type='text'>Android uyarılarını bilgisayarda görmek</title><content type='html'>&amp;nbsp; &amp;nbsp;Bilgisayar başında çalışırken android cihazımızın uyarısına kulak vermek genelde çok sorun olmaz. &amp;nbsp;Ama belirli durumlarda gün boyu devamlı bölünmek çalışma performansımızı etkileyebilir. &lt;a href=&quot;https://play.google.com/store/apps/details?id=org.hcilab.projects.notification&quot; target=&quot;_blank&quot;&gt;Desktop&lt;/a&gt;&lt;a href=&quot;https://play.google.com/store/apps/details?id=org.hcilab.projects.notification&quot; target=&quot;_blank&quot;&gt; Notifications&lt;/a&gt; ile bütün uyarıları hiçbir kurulum yapmadan büyük ekranda görebiliyoruz.&lt;br /&gt;
&amp;nbsp; &amp;nbsp;Uygulamayı Google Play aracılığı ile yükledikten sonra Chrome veya Firefox (Beta) eklenti yükleme sayfasına yönlendiriliyoruz. Yükleme tamamlanıp eşleşme kodunu girdikten sonra artık uyarıları bilgisayarımızdan izleyebiliyoruz. &amp;nbsp;Tabi ki tarayıcımız açıksa.&lt;br /&gt;
&amp;nbsp; &amp;nbsp;Uygulama bilgisayar ile android cihaz aynı ağda olmasa bile çalışıyor. &amp;nbsp;Bluetooth eşleşme gerektirmiyor. Cihazın şirket ağlarına dahil olamasa bile uyarıların yinede gelmeye devam etmesi uygulamayı oldukça kullanışlı kılıyor.&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;http://www.ghacks.net/wp-content/uploads/2013/07/desktop-notifications.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;320&quot; src=&quot;http://www.ghacks.net/wp-content/uploads/2013/07/desktop-notifications.png&quot; width=&quot;179&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;</content><link rel='replies' type='application/atom+xml' href='http://turkertunali.blogspot.com/feeds/914866405311782130/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/8114551873867612455/914866405311782130' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8114551873867612455/posts/default/914866405311782130'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8114551873867612455/posts/default/914866405311782130'/><link rel='alternate' type='text/html' href='http://turkertunali.blogspot.com/2013/07/android-uyarlarn-bilgisayarda-gormek.html' title='Android uyarılarını bilgisayarda görmek'/><author><name>Türker TUNALI</name><uri>http://www.blogger.com/profile/07176021645942032235</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiLuxkHlLdx5-rP3XYVWoh3J4sHL1PRx-IcaSleipZmS4fihrm2iUsgBNtB5RXeVNNv95lNc2YCmkwzi-m4j7jka_x7OwxvYLeuRtI2gfw6iRak44DJPXF7PScS3J5d1sg/s1600/1d097e2201de377962aa4f95c105bd01%3Fs%3D480'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8114551873867612455.post-7382903752890707877</id><published>2013-04-23T11:59:00.000+03:00</published><updated>2013-04-23T12:06:19.015+03:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Android 4.2"/><category scheme="http://www.blogger.com/atom/ns#" term="Desire Z"/><category scheme="http://www.blogger.com/atom/ns#" term="G2"/><category scheme="http://www.blogger.com/atom/ns#" term="HTC"/><category scheme="http://www.blogger.com/atom/ns#" term="inceleme"/><category scheme="http://www.blogger.com/atom/ns#" term="Jelly Baby"/><category scheme="http://www.blogger.com/atom/ns#" term="Jelly Bean"/><category scheme="http://www.blogger.com/atom/ns#" term="Vision"/><title type='text'>Android 4.2 Jelly Bean İzlenimleri</title><content type='html'>&amp;nbsp;&amp;nbsp;&amp;nbsp; Yaklaşık 3 haftadır Android 4.2 Jelly Bean kullanıyorum. Cihazım HTC Desire Z (Yurtdışında T-Mobile G2 Vision ismiyle de biliniyor) Cihazım 2-3 yıl önce çıktığında bile orta seviye olduğu için yıllanmış pili ve oldukça eskiyen işlemcisi yüzünden yeni ve eski versiyonlar arasındaki farkları çok rahat hissedebiliyorum.&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp; Öncelikle batarya kullanımından bahsetmek istiyorum. Android 4.1 kullanırken batarya 1 günü zor&amp;nbsp; çıkartıyordu. Android 4.2 Jelly Bean ile batarya süresi 2 güne yaklaştı. Burada sanırım arka plan işlemlerindeki optimizasyonlar oldukça önemli rol oynamış. Mesela eskiden telefonu kullanmadığım zamanlarda da batarya seviyesinde ciddi düşüşler görürken artık bunları yaşamıyorum. Yani telefonu kullanmadığım zamanlarda ekranı kapalıyken bataryada çok küçük azalmalar oluyor. S3 kullanan arkadaşların bile bahsettiği kablosuz açıkken çok batarya kullanımı artık yok. Telefon o esnada kullanılmıyorsa batarya da kullanılmıyor ya da çok az kullanılıyor.&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &quot;Lockscreen Widget&quot; özelliği ile eskiden masaüstüne koyabildiğimiz her türlü küçük uygulamayı kilit ekranına da koyabiliyoruz. Telefonu açmadan takvime, haberlere, okunmamış e-posta sayısına ve başka bir çok olay ile ilgili ön bilgi alabiliyoruz. Ben &lt;a href=&quot;https://play.google.com/store/apps/details?id=net.nurik.roman.dashclock&amp;amp;hl=en&quot; target=&quot;_blank&quot;&gt;DashClock&lt;/a&gt; kullandım ama &lt;a href=&quot;https://play.google.com/store/apps/details?id=com.roymam.android.notificationswidget&quot; target=&quot;_blank&quot;&gt;daha&lt;/a&gt; &lt;a href=&quot;https://play.google.com/store/apps/details?id=com.jiubang.goscreenlock&amp;amp;feature=search_result&quot; target=&quot;_blank&quot;&gt;bir çok&lt;/a&gt; &lt;a href=&quot;https://play.google.com/store/search?q=lockscreen&amp;amp;c=apps&quot; target=&quot;_blank&quot;&gt;uygulama&lt;/a&gt; mevcut. Ben şuan kilit ekranında takvim notlarına bakıp, ekranı sağa kaydırarak fotoğraf çekmeye başlayabiliyorum. Bu arada &quot;Galeri&quot; uygulamasında da büyük kolaylıklar mevcut. Mesela daha önceden çekilmiş resimlere bakarken en sola giderek direk fotoğraf çekimine geçebiliyoruz. Fotoğraf çekim esnasında da ekranı sağa kaydırarak &quot;Galeri&quot; ye direk geçiş yapabiliyoruz.&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; Daha önce bir türlü kullanamadığım &quot;Sesli Komut&quot; işlevlerini hala kullanamıyorum ama artık klavyede yazmak yerine istediğimi söylerek direk yazıya dökebiliyorum. Jelly Bean, Whatsapp yada benzeri uygulamalarda eğer internetiniz varsa &quot;Akşama geç geleceğim&quot;, &quot;Bugün erken buluşalım&quot;, &quot;Maç saat kaçta?&quot; gibi cümleleri çok rahat yazıya dökebiliyor. Yazı yazabildiğiniz her ekranda Türkçe konuşarak istediğinizi yazdırabilirsiniz. Yaptığım testlerde oldukça efektif çalıştığını söyleyebilirim. Artık ortam uygunsa mutlaka söylüyorum, yazmıyorum.&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp; Genel olarak yaptığınız işlemlere Jelly Bean daha hızlı tepki veriyor. Tepki süresi oldukça düşmüş. Uygulamalar açılırken, kapatılırken, ekranlar arası geçişler gerçekten hızlanmış. Her zaman aynı hızda değil ama iOS işletim sistemine 1 adım daha yaklaştığını söyleyebilirim. &lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp; Ben bu incelemeri &lt;a href=&quot;http://forum.xda-developers.com/showthread.php?t=2163579&quot; target=&quot;_blank&quot;&gt;Android 4.2.2 Jelly Baby 1.5.0&lt;/a&gt; kullanarak yaptım. Başka versiyonlarda başka izlenimler elde edilebilir. Batarya süresini uzatmak için eskiden kullandığım uygulamardan 
(Twitter, Foursquare, Google+) feragat ettim. Ama bunların etkisinin çok
 minor olduğunu düşünüyorum. Hala Evernote, Astrid, Whatsapp, TuneIn gibi uygulamalar kullanıyorum.</content><link rel='replies' type='application/atom+xml' href='http://turkertunali.blogspot.com/feeds/7382903752890707877/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/8114551873867612455/7382903752890707877' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8114551873867612455/posts/default/7382903752890707877'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8114551873867612455/posts/default/7382903752890707877'/><link rel='alternate' type='text/html' href='http://turkertunali.blogspot.com/2013/04/android-42-jelly-bean-izlenimleri.html' title='Android 4.2 Jelly Bean İzlenimleri'/><author><name>Türker TUNALI</name><uri>http://www.blogger.com/profile/07176021645942032235</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiLuxkHlLdx5-rP3XYVWoh3J4sHL1PRx-IcaSleipZmS4fihrm2iUsgBNtB5RXeVNNv95lNc2YCmkwzi-m4j7jka_x7OwxvYLeuRtI2gfw6iRak44DJPXF7PScS3J5d1sg/s1600/1d097e2201de377962aa4f95c105bd01%3Fs%3D480'/></author><thr:total>0</thr:total><georss:featurename>Osmangazi, Bursa Province, Turkey</georss:featurename><georss:point>40.269571948652924 29.059524536132812</georss:point><georss:box>40.221088948652927 28.978843536132814 40.318054948652922 29.140205536132811</georss:box></entry><entry><id>tag:blogger.com,1999:blog-8114551873867612455.post-6618820183187671202</id><published>2013-04-09T15:52:00.002+03:00</published><updated>2013-04-09T17:09:34.911+03:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="apache"/><category scheme="http://www.blogger.com/atom/ns#" term="wamp"/><category scheme="http://www.blogger.com/atom/ns#" term="www"/><category scheme="http://www.blogger.com/atom/ns#" term="www directory"/><title type='text'>WAMP Server kurduktan sonra www klasörünü değiştirmek</title><content type='html'>&lt;span style=&quot;font-family: inherit;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; WAMP Server &lt;/span&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;(Şu an 2.2 ile çalışıyorum) &lt;/span&gt;kurduktan sonra genelde ilk yaptığımız işlerden birisi www klasörünün yerini değiştirmektir. Çünkü genelde projelerimizi &quot;C:/wamp/www&quot; klasörü yerine devamlı yedeklediğimiz başka bir ortamda tutarız. Ben şahsen bütün projelerimi &quot;D:/Projects&quot; altında tutuyorum. &quot;D:/Projects/Android&quot;, &quot;&quot;D:/Projects/www&quot; gibi.&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; WAMP kurulumundan sonra Apache için &quot;httpd.conf&quot; dosyasında gerekli ayarlamaları yapmamız gerekli. Bu dosyada 2 yerde (DocumentRoot &quot;c:/wamp/www/&quot;, &amp;lt;Directory &quot;c:/wamp/www/&quot;&amp;gt; satırları) düzeltme yaptıktan sonra Apache sunucumuzu kapatıp açarak değişikliklerin çalıştığını test edebiliriz.&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; Eğer bir adım daha öteye giderek sol tuş menüsündeki &quot;www directory&quot; seçeneğinin de güncel klasörü göstermesini istersek biraz daha uğraşmamız gerekecek. Bu seçenek wamp kurulumundaki &quot;wampmanager.ini&quot; dosyasından gerekli ayarlamaları alıyor. Ancak bu dosyayı güncelleyip wamp sunucumuzu kapatıp açarsak dosyanın tekrar eski haline döndüğünü görüyoruz. Bunun için asıl değiştirmemiz gereken yer &quot;C:\wamp\scripts\&quot; altındaki &quot;config.inc.php&quot; dosyası. Buradaki&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;i&gt;$wwwDir = $c_installDir.&#39;/www&#39;;&lt;/i&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;&amp;nbsp;satırını&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;i&gt;$wwwDir = &#39;d:/projects/www&#39;;&lt;/i&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;&amp;nbsp;gibi bir hale getirerek &quot;www directory&quot; seçeneği ile istediğimiz klasörün açılmasını sağlayabiliriz.&lt;/span&gt;</content><link rel='replies' type='application/atom+xml' href='http://turkertunali.blogspot.com/feeds/6618820183187671202/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/8114551873867612455/6618820183187671202' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8114551873867612455/posts/default/6618820183187671202'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8114551873867612455/posts/default/6618820183187671202'/><link rel='alternate' type='text/html' href='http://turkertunali.blogspot.com/2013/04/wamp-server-ile-www-klasorunu.html' title='WAMP Server kurduktan sonra www klasörünü değiştirmek'/><author><name>Türker TUNALI</name><uri>http://www.blogger.com/profile/07176021645942032235</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiLuxkHlLdx5-rP3XYVWoh3J4sHL1PRx-IcaSleipZmS4fihrm2iUsgBNtB5RXeVNNv95lNc2YCmkwzi-m4j7jka_x7OwxvYLeuRtI2gfw6iRak44DJPXF7PScS3J5d1sg/s1600/1d097e2201de377962aa4f95c105bd01%3Fs%3D480'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8114551873867612455.post-6844392597184170260</id><published>2013-04-04T18:18:00.000+03:00</published><updated>2013-04-04T18:23:13.912+03:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="disk bölümleme"/><category scheme="http://www.blogger.com/atom/ns#" term="fixparts"/><category scheme="http://www.blogger.com/atom/ns#" term="GPT"/><category scheme="http://www.blogger.com/atom/ns#" term="linux"/><category scheme="http://www.blogger.com/atom/ns#" term="MBR"/><category scheme="http://www.blogger.com/atom/ns#" term="Mint"/><category scheme="http://www.blogger.com/atom/ns#" term="Ubuntu"/><category scheme="http://www.blogger.com/atom/ns#" term="Windows 7"/><title type='text'>Ubuntu, Mint türevi işletim sistemlerini Windows 7 yanına kurmak</title><content type='html'>&amp;nbsp;&amp;nbsp;&amp;nbsp; Ubuntu, Mint ve bazı diğer işletim sistemi kurumlarında gelen &quot;.... dağıtımını Windows 7 işletim sisteminin yanına kur&quot; seçeneği bazı hallerde gözükmemektedir. Bu seçenek bilgisayarımızda daha önceden kurmuş ve hala kullanmakta olduğumuz işletim sistemi ile yeni dağıtımın yan yana çalışabilmesi için gereklidir. Ben yeni Windows 7 kurup hemen yanına Linux Mint kurmak istediğimde bile bu seçenek aktif değildi. Sanırım Windows 7 kurulumunda diski bölerken yaptığımız işlemler diskin MBR kayıtlarında biraz karışıklığa yol açıyor.&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; İnternette bir çok kişinin aynı sorunla karşılaştığını görünce kendi çözümümü yazmak istedim. Ben &lt;a href=&quot;http://www.rodsbooks.com/&quot; target=&quot;_blank&quot;&gt;Rod Smith&lt;/a&gt; adlı gurunun yazdığı &lt;a href=&quot;http://www.rodsbooks.com/fixparts/&quot; target=&quot;_blank&quot;&gt;Fixparts&lt;/a&gt; uygulamasını kullandım.Bu uygulama diskin bölümlerinde oluşmuş hataları giderebiliyor ve bizim örneğimizde olduğu gibi Ubuntu, Mint tarafında okunamayan disk bölümlerini tekrar görünür kılıyor.&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; Uygulamayı uygun bir yere açtıktan sonra yönetici yetkisi ile &quot;fixparts 0:&quot; ile çalıştırdım. (İlk diskte çalıştırdım).&lt;br /&gt;
&lt;i&gt;MBR command (? for help):&amp;nbsp;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&amp;nbsp;&lt;/i&gt;kısmında&lt;br /&gt;
&lt;i&gt;MBR command (? for help): &lt;b&gt;p&lt;/b&gt;&lt;/i&gt; &lt;br /&gt;
ile diskin bölümlerini gördüm. Bir problem olmadığını görüp&lt;br /&gt;
&lt;i&gt;MBR command (? for help): &lt;b&gt;w&lt;/b&gt;&lt;/i&gt;&lt;br /&gt;
ile yazma işlemine başladım.&lt;br /&gt;
&lt;i&gt;Do you want to proceed? (Y/N): &lt;b&gt;y&lt;/b&gt;&lt;/i&gt;&lt;br /&gt;
ile onayladım. Bilgisayarı tekrar çalıştırarak Windows tarafının sağlam olduğundan emin oldum.&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; Bu işlemden sonra artık Mint kurulumuna devam ettiğimde hem &quot;GParted&quot; diskimi tanıdı, hem de &quot;... dağıtımını Windows 7 işletim sisteminin yanına kur&quot; seçeneği aktif hale geldi :)&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; Tabi hala bazı problemlerim var.&lt;br /&gt;
- Ben önce Windows işletim sistemine ait boot seçenekleri gelsin istiyorum.(bcdedit) Burada eğer Linux tarafını seçersem sonra da Linux boot seçenekleri gelsin istiyorum. Ama şuan sadece GRUB geliyor. Oradan Windows 7 ya da Linux Mint seçiyorum. Burada şöyle bir problem olabilir. Windows işletim sistemini güncellerken (Mesela Windows 8 yüklerken) burası bozulabilir. Muhtemelen sadece Windows boot seçeneği gelecek ve Linux tarafını kurtarmam gerekecek.&lt;br /&gt;
- İkinci problemim ise ikinci işletim sistemimi hem sanal hemde normal açabilmeyi hala sağlayamamış olmam. Yani bilgisayar açılışta Linux ile açılacak. Visual Studio, SQL Server ile işim olduğunda sanal makinayı açarak işlem yapacağım. 3ds Max gibi uygulamalar ise güçlü sistemler istediği için sanalda düzgün çalışamaz. Bu durumda bilgisayarı kapatıp Windows işletim sistemini açacağım ama bu işletim sistemi az önce Linux tarafında açtığım sanal bilgisayar olmalı. Yani aynı işletim sistemini hem sanal bilgisayar ile hemde gerçek donanım ile açabilmem gerekli. Windows 7 ile artık &quot;Disk Yönetimi&quot; kısmında sanal disk yaratıp bununla sanallaştırma yapabildiğimiz gibi bilgisayarın bu diskten açılmasını da sağlayabiliyoruz. Ancak Linux ile entegre bir şekilde henüz bunu çalıştıramadım.Windows 7 altında yarattığımız sanal diskimiz sadece Windows 7 ve Windows Server 2008 R2 işletim sistemlerini boot edebiliyor.&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; Yorumlarınızı ve önerilerinizi bekliyorum, görüşmek üzere.</content><link rel='replies' type='application/atom+xml' href='http://turkertunali.blogspot.com/feeds/6844392597184170260/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/8114551873867612455/6844392597184170260' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8114551873867612455/posts/default/6844392597184170260'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8114551873867612455/posts/default/6844392597184170260'/><link rel='alternate' type='text/html' href='http://turkertunali.blogspot.com/2013/04/ubuntu-mint-turevi-isletim-sistemlerini.html' title='Ubuntu, Mint türevi işletim sistemlerini Windows 7 yanına kurmak'/><author><name>Türker TUNALI</name><uri>http://www.blogger.com/profile/07176021645942032235</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiLuxkHlLdx5-rP3XYVWoh3J4sHL1PRx-IcaSleipZmS4fihrm2iUsgBNtB5RXeVNNv95lNc2YCmkwzi-m4j7jka_x7OwxvYLeuRtI2gfw6iRak44DJPXF7PScS3J5d1sg/s1600/1d097e2201de377962aa4f95c105bd01%3Fs%3D480'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8114551873867612455.post-5472918610331523331</id><published>2012-12-01T00:35:00.000+02:00</published><updated>2013-04-09T15:56:03.416+03:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="unity java plugin android"/><title type='text'>Unity içinde Java sınıflarının kullanılması</title><content type='html'>&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;Aşağıdaki gibi bir Eclipse projesi oluşturalım ve &quot;src&quot; klasörü altındaki sınıfı &quot;JAR&quot; olarak export edelim.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;i&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;package com.OnayBilisim.UnityJavaPlugin;&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;
&lt;i&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;import android.util.Log;&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;
&lt;i&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;public class MyFirstPlugin {&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;
&lt;i&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;private static MyFirstPlugin m_instance;&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;public static MyFirstPlugin instance() {&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;if (m_instance == null)&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;{&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;   &lt;/span&gt;m_instance = new MyFirstPlugin();&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;return m_instance;&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;private MyFirstPlugin() {&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;  &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;public void btnTestClicked() {&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;Log.d(&quot;btnTest&quot;, &quot;Clicked&quot;);&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;div&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;Burada vermiş olduğumuz paket adını Unity tarafında &quot;Bundle Identifier&quot; kısmında kullanmamız gerekli. Ayrıca &quot;JAR&quot; dosyamızın adı sınıf adı ile aynı olmalı. Unity tarafındaki &quot;Android API Level&quot; ile Eclipse tarafındaki aynı olmalı. Eclipse kodu &quot;instance()&quot; metodu ile java sınıfının kendisini döndürüyor. Test metodu olarakta basit bir buton tıklanma fonksiyonu tanıtılmış durumda.&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;Unity projemizde &quot;Assests\Plugins\Android\&quot; altına JAR dosyamızı ekleyelim. Bu klasörler henüz oluşmadıysa oluşturalım. Aşağıdaki gibi &quot;CallJava&quot; sınıfı oluşturalım ve bunu &quot;Main Camera&quot; nesnesine bağlayalım.&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;i&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;using UnityEngine;&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/div&gt;
&lt;div&gt;
&lt;i&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;using System.Collections;&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/div&gt;
&lt;div&gt;
&lt;i&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/div&gt;
&lt;div&gt;
&lt;i&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;public class CallJava : MonoBehaviour {&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/div&gt;
&lt;div&gt;
&lt;i&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/div&gt;
&lt;div&gt;
&lt;i&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;private static AndroidJavaObject joMain;&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/div&gt;
&lt;div&gt;
&lt;i&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/div&gt;
&lt;div&gt;
&lt;i&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;static CallJava() {&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/div&gt;
&lt;div&gt;
&lt;i&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;if (Application.platform != RuntimePlatform.Android)&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/div&gt;
&lt;div&gt;
&lt;i&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;   &lt;/span&gt;return;&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/div&gt;
&lt;div&gt;
&lt;i&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/div&gt;
&lt;div&gt;
&lt;i&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/div&gt;
&lt;div&gt;
&lt;i&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;// Use this for initialization&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/div&gt;
&lt;div&gt;
&lt;i&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;void Start () {&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/div&gt;
&lt;div&gt;
&lt;i&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/div&gt;
&lt;div&gt;
&lt;i&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/div&gt;
&lt;div&gt;
&lt;i&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/div&gt;
&lt;div&gt;
&lt;i&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;void OnGUI() {&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/div&gt;
&lt;div&gt;
&lt;i&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;if (GUI.Button(new Rect(Screen.width/2, 100, 100, 100),&quot;Call Java&quot;)) {&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/div&gt;
&lt;div&gt;
&lt;i&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;   &lt;/span&gt;using (var pluginClass = new AndroidJavaClass(&quot;com.OnayBilisim.UnityJavaPlugin.MyFirstPlugin&quot;))&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/div&gt;
&lt;div&gt;
&lt;i&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;   &lt;/span&gt;joMain = pluginClass.CallStatic&amp;lt;AndroidJavaObject&amp;gt;(&quot;instance&quot;);&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/div&gt;
&lt;div&gt;
&lt;i&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;   &lt;/span&gt;joMain.Call (&quot;&lt;/span&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;btnTestClicked&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;font-size: x-small;&quot;&gt;&quot;);&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/div&gt;
&lt;div&gt;
&lt;i&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/div&gt;
&lt;div&gt;
&lt;i&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/div&gt;
&lt;div&gt;
&lt;i&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/div&gt;
&lt;div&gt;
&lt;i&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;// Update is called once per frame&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/div&gt;
&lt;div&gt;
&lt;i&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;void Update () {&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/div&gt;
&lt;div&gt;
&lt;i&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/div&gt;
&lt;div&gt;
&lt;i&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/div&gt;
&lt;div&gt;
&lt;i&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;Burada öncelikle bu sınıfın sadece Android tabanlı cihazlarda çalışması sağlanıyor. &quot;OnGUI()&quot; prosedürü içinde buton yaratılarak Java tarafında oluşturduğumuz sınıfın kullanılması örneklenmiş durumda. Java nesnemizi bir &quot;Android Java Object&quot; içine atıp &quot;Call&quot; metodu ile test prosedürümüzü çağırıyoruz.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;Bu hali ile Unity içinde hata alabiliriz ancak Android cihaz üstünde çalışması gerekli. Sizin karşılaştığınız hatalar olursa yorum kısmında belirtmeniz halinde birlikte inceleyebiliriz.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;Not: Eğer Java tarafındaki metodumuz parametre alsaydı Unity tarafında aşağıdaki gibi çağırmamız gerekirdi.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;joMain.Call (&quot;
btnTestClicked&amp;nbsp;&amp;nbsp;&quot;, new object[]{&quot;Test Parametresi&quot;});&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://turkertunali.blogspot.com/feeds/5472918610331523331/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/8114551873867612455/5472918610331523331' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8114551873867612455/posts/default/5472918610331523331'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8114551873867612455/posts/default/5472918610331523331'/><link rel='alternate' type='text/html' href='http://turkertunali.blogspot.com/2012/12/unity-icinde-java-snflarnn-kullanlmas.html' title='Unity içinde Java sınıflarının kullanılması'/><author><name>Türker TUNALI</name><uri>http://www.blogger.com/profile/07176021645942032235</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiLuxkHlLdx5-rP3XYVWoh3J4sHL1PRx-IcaSleipZmS4fihrm2iUsgBNtB5RXeVNNv95lNc2YCmkwzi-m4j7jka_x7OwxvYLeuRtI2gfw6iRak44DJPXF7PScS3J5d1sg/s1600/1d097e2201de377962aa4f95c105bd01%3Fs%3D480'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8114551873867612455.post-1303957563755492587</id><published>2012-09-24T23:44:00.001+03:00</published><updated>2013-03-25T17:36:25.586+02:00</updated><title type='text'>Youtube Kanalı</title><content type='html'>&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;iframe allowfullscreen=&#39;allowfullscreen&#39; webkitallowfullscreen=&#39;webkitallowfullscreen&#39; mozallowfullscreen=&#39;mozallowfullscreen&#39; width=&#39;320&#39; height=&#39;266&#39; src=&#39;https://www.youtube.com/embed/KakzqK7eo6k?feature=player_embedded&#39; frameborder=&#39;0&#39;&gt;&lt;/iframe&gt;&lt;/div&gt;
Biraz uğraştırdı ama Onay Bilişim adına bir Youtube kanalı açmayı başardık. Burdaki asıl sıkıntı tabiki filmlerin çekilmesi ve hazırlanması. Daha da yapılacak çok iş var. Decor8r filminin sonuna bazı ekran görüntüleri eklenecek. Supra Home için uygulama tanıtım kısmı hazırlanacak. Youtube kanal &lt;a href=&quot;https://www.youtube.com/user/onaybilisim&quot; target=&quot;_blank&quot;&gt;linkimiz&lt;/a&gt;.</content><link rel='replies' type='application/atom+xml' href='http://turkertunali.blogspot.com/feeds/1303957563755492587/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/8114551873867612455/1303957563755492587' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8114551873867612455/posts/default/1303957563755492587'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8114551873867612455/posts/default/1303957563755492587'/><link rel='alternate' type='text/html' href='http://turkertunali.blogspot.com/2012/09/youtube-kanali.html' title='Youtube Kanalı'/><author><name>Türker TUNALI</name><uri>http://www.blogger.com/profile/07176021645942032235</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiLuxkHlLdx5-rP3XYVWoh3J4sHL1PRx-IcaSleipZmS4fihrm2iUsgBNtB5RXeVNNv95lNc2YCmkwzi-m4j7jka_x7OwxvYLeuRtI2gfw6iRak44DJPXF7PScS3J5d1sg/s1600/1d097e2201de377962aa4f95c105bd01%3Fs%3D480'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8114551873867612455.post-7831623242200885495</id><published>2012-09-15T13:46:00.001+03:00</published><updated>2012-09-24T23:40:14.350+03:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="android"/><category scheme="http://www.blogger.com/atom/ns#" term="eclipse"/><category scheme="http://www.blogger.com/atom/ns#" term="unity"/><category scheme="http://www.blogger.com/atom/ns#" term="unity android plugin"/><category scheme="http://www.blogger.com/atom/ns#" term="unity eclipse integration"/><category scheme="http://www.blogger.com/atom/ns#" term="unity3d"/><title type='text'>Unity ve Eclipse Entegrasyonu</title><content type='html'>Merhabalar,&lt;br /&gt;
&lt;br /&gt;
Bugün &lt;a href=&quot;http://unity3d.com/&quot; target=&quot;_blank&quot;&gt;Unity&lt;/a&gt; 3.5.3f ve Android 2.3.3 versiyonlarını kullanarak Unity&#39;nin geçici klasörlerinde oluşturduğu projeyi Eclipse içinde nasıl kullanacağımızı örnekleyeceğim.&lt;br /&gt;
&lt;br /&gt;
Unity her ne kadar şu sıralar bu işlemleri çok daha kolaylaştıracak bir çözüm üstünde çalışıyor olsada, resmi çözüm Eclipse tarafında &quot;&lt;a href=&quot;http://docs.unity3d.com/Documentation/Manual/Plugins.html&quot; target=&quot;_blank&quot;&gt;Android Plugin&lt;/a&gt;&quot; yazmak ve bunu &lt;a href=&quot;http://www.platoevolved.com/blog/programming/android/creating-an-android-plugin-for-unity/&quot; target=&quot;_blank&quot;&gt;Unity&lt;/a&gt; tarafında çağırmak. Biz ise Unity projesini Eclipse tarafında çağıracağız.&lt;br /&gt;
&lt;br /&gt;
Temel olarak işlem 2 adımdan oluşuyor. Önce Unity tarafında hazırlanan projeyi kütüphane olarak hazırlıyoruz. Sonra da başka bir proje daha yaratarak bu kütüphaneyi çağırıyoruz. Eğer Eclipse tarafında uygulamamız hazır ise ve buna sadece bazı 3 boyutlu görseller yada Unity ile oluşturulabilecek başka özellikler katmak istiyorsak oldukça ideal bir çözüm.&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;Öncelikle sadece küp gösteren bir Unity projesi oluşturalım ve çalıştığına emin olalım. Dikkat etmemiz gereken hususlar &quot;Build Settings&quot; kısmında &quot;Bundle Identifier&quot; (bunu Eclipse tarafında proje ayarlarımıza gireceğiz), &quot;Minimum API Level&quot; (bunu da Eclipse tarafında aynen seçeceğiz), Device Filter (&quot;ARM v6 with VFP&quot; olmalı).&amp;nbsp;&lt;/li&gt;
&lt;li&gt;Herşey hazırsa &quot;Build&quot; yapalım ve sonuçtan emin olalım. Unity tarafında işimiz bu kadar.&lt;/li&gt;
&lt;li&gt;Unity projesi altındaki &quot;Temp\StagingArea&quot; klasörünü başka bir yere taşıyalım. &quot;Eclipse Workspace&quot; altında olmayan ayrı bir yere kopyalayalım. Bu klasörü direk kullanamıyoruz çünkü Unity tarafında birşey değiştirirsek bu klasörde hemen değişiyor ve Eclipse tarafında bazı problemlere yol açıyor.&lt;/li&gt;
&lt;li&gt;Eclipse tarafında yeni bir proje açalım. &quot;Create from existing source&quot; seçeneğini seçerek az önce oluşturduğumuz &quot;StagingArea&quot; klasörünü gösterelim. Bu proje diğer uygulamamız için kütüphane olacağından ismine &quot;UnityLibrary&quot; koyabiliriz. Android versiyonunu&amp;nbsp;(API Level)&amp;nbsp;ve &quot;Bundle Identifier&quot; kısımlarını da Unity projesi ile aynı olacak şekilde girelim.&lt;/li&gt;
&lt;li&gt;Eclipse tarafında uygulamamız olacak yeni bir proje daha oluşturalım. İsmi &quot;UnityApplication&quot; olabilir. Android versiyonu (API Level) ve &quot;Bundle Identifier&quot; kısımlarını yine aynı şekilde belirtelim.&lt;/li&gt;
&lt;li&gt;&quot;UnityLibrary&quot; projemize sağ tıklayarak &quot;Properties-Android&quot; sayfasına gelelim. &quot;Is Library&quot; seçeneğini işaretleyelim ve kaydedelim.&lt;/li&gt;
&lt;li&gt;&quot;UnityApplication&quot; projesinde &quot;Properties-Android&quot; kısmında &quot;Add&quot; ile gelecek olan &quot;UnityLibrary&quot; projesini seçelim. &quot;Java Build Path&quot; sayfasında &quot;Libraries&quot; sekmesinde &quot;Add External Jars&quot; ile bende&amp;nbsp;C:\Program Files (x86)\Unity\Editor\Data\PlaybackEngines\androidplayer\bin&quot; klasöründe olan &quot;classes.jar&quot; dosyasını ekleyelim. &lt;u&gt;&quot;Order and Export&quot; kısmında &quot;classes.jar&quot; satırının sol tarafındaki kutuyu işaretleyelim.&lt;/u&gt;&lt;/li&gt;
&lt;li&gt;&quot;UnityLibrary&quot; projesi altındaki &quot;assets&quot; klasörü içindeki klasörleri &quot;UnityApplication&quot; projesi altındaki &quot;assets&quot; klasörüne &lt;u&gt;taşıyalım&lt;/u&gt;.&lt;/li&gt;
&lt;li&gt;&quot;UnityLibrary&quot; altındaki &quot;AndroidManifest.xml&quot; dosyasını &quot;UnityApplication&quot; altına taşıyalım.&lt;/li&gt;
&lt;/ul&gt;
&lt;div&gt;
Şu an için &quot;UnityApplication&quot; projesini çalıştırmak istersek &quot;The container &#39;Library Projects&#39; references non existing library &#39;D:\Projects\Android\UnityLibrary\bin\unitylibrary.jar&#39;&quot; gibi bir hata alırız. &quot;UnityLibrary&quot; projesini &quot;Build&quot; etmek istersek &quot;AndroidManifest.xml file is missing&quot; hatası almamız gerekli.&amp;nbsp;&lt;/div&gt;
&lt;div&gt;
&lt;ul&gt;
&lt;li&gt;&quot;StagingArea&quot; altındaki &quot;AndroidManifest.xml&quot; dosyasını &quot;UnityLibrary&quot; altına taşıyalım.&lt;/li&gt;
&lt;li&gt;Bu seferde bu dosyada &quot;android:configChanges&quot; kısmıda çeşitli hatalar alıyoruz. Bunun nedeni Unity tarafından aldığımız dosyada bir şekilde Android 4&#39;e özel ayarların olması ve Android 2.3.3&#39;ün bunları desteklememesi. &quot;android:configChanges&quot; satırlarını aşağıdaki gibi kısaltalım.&amp;nbsp;&lt;/li&gt;
&lt;/ul&gt;
&lt;div&gt;
&lt;span style=&quot;background-color: #f2f6f8; color: #222222; font-family: &#39;Courier New&#39;, Courier, monospace; font-size: 12px; line-height: 12px; white-space: pre;&quot;&gt;android:configChanges=&lt;/span&gt;&lt;span style=&quot;background-color: #f2f6f8; color: #a31515; font-family: &#39;Courier New&#39;, Courier, monospace; font-size: 12px; line-height: 12px; white-space: pre;&quot;&gt;&quot;fontScale|keyboard|keyboardHidden|locale|mnc|mcc|navigation|orientation|screenLayout&quot;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;ul&gt;
&lt;li&gt;Artık &quot;UnityLibrary&quot; kısmı düzgün bir şekilde &quot;Build&quot; edilebilmeli.&amp;nbsp;&lt;/li&gt;
&lt;li&gt;&quot;UnityApplication&quot; projesindeki ana sınıf &quot;Android Activity&quot; yerine &quot;UnityPlayerActivity&quot; sınıfından türetilmeli. Bunun için &quot;UnityApplicationActivity&quot; sınıfını&amp;nbsp;
&quot;UnityPlayerActivity&quot; sınıfından türeyecek şekilde aşağıdaki gibi ayarlayalım.&lt;/li&gt;
&lt;/ul&gt;
&lt;div&gt;
&lt;span style=&quot;background-color: #f2f6f8; color: #a31515; font-family: &#39;Courier New&#39;, Courier, monospace; font-size: 12px; line-height: 12px; white-space: pre;&quot;&gt;public class UnityApplicationActivity extends UnityPlayerActivity &amp;nbsp;{&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;ul&gt;
&lt;li&gt;&quot;CTRL-Shift-O&quot; kısayolu ile bağımlılık sorunlarını giderelim.&lt;/li&gt;
&lt;li&gt;&quot;setContentView(R.layout.main);&quot; satırını tamamen silelim.&lt;/li&gt;
&lt;/ul&gt;
&lt;div&gt;
Şu an için kod kısmında bir hata olmaması gerekli ancak uygulamayı çalıştırdığımızda&amp;nbsp;cihaz üstünde uygulamanın hata vererek kapandığını görürüz. LogCat ile incelersek&amp;nbsp;&quot;Couldn&#39;t load mono: findLibrary returned null&quot; hatasını görebiliriz. Bunun çözümü için &quot;StagingArea\libs&quot; klasörünü &quot;UnityApplication\libs&quot; altına kopyalamamız gerekli.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Tekrar çalıştırırsak&amp;nbsp;&quot;.UnityEclipse.UnityApplicationActivity (server)&#39; ~ Consumer closed input channel or an error occurred. events=0x8&quot; hatası alırız. Bunun çözümü için &quot;UnityAplication&quot; altındaki &quot;AndroidManifest.xml&quot; dosyasında &quot;android:name=&quot;.UnityApplicationActivity&quot; satırına&amp;nbsp;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
android:configChanges=&quot;orientation&quot;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
bilgisini eklememiz gerekli. Artık çalıştırdığımızda uygulamanın düzgün bir şekilde başladığını görmeliyiz.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Ek Dosyalar:&lt;/div&gt;
&lt;div&gt;
- &quot;UnityApplication&quot; projesinin &quot;AndroidManifest.xml&quot; &lt;a href=&quot;http://pastebin.com/W3R75Mup&quot; target=&quot;_blank&quot;&gt;dosyası&lt;/a&gt;.&lt;/div&gt;
&lt;div&gt;
- &quot;UnityLibrary&quot;&amp;nbsp;projesinin &quot;AndroidManifest.xml&quot; &lt;a href=&quot;http://pastebin.com/WFQWyYZ8&quot; target=&quot;_blank&quot;&gt;dosyası&lt;/a&gt;.&lt;/div&gt;
&lt;div&gt;
- Unity projesi, Eclipse UnityLibrary projesi ve Eclipse UnityApplication projelerinin &lt;a href=&quot;https://docs.google.com/open?id=0B6Q9JEaDruv3aWMyU1JORTBIdXc&quot; target=&quot;_blank&quot;&gt;dosyası&lt;/a&gt;.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Referanslar&lt;/div&gt;
&lt;div&gt;
- &lt;a href=&quot;http://forum.unity3d.com/threads/98315-Using-Unity-Android-In-a-Sub-View&quot; target=&quot;_blank&quot;&gt;RoflHarris&#39;in yazısı.&lt;/a&gt;&amp;nbsp;(Bazı başka konulara da değiniyor)&lt;/div&gt;
&lt;div&gt;
- Unity tarafında bu konu ile ilgili bazı geliştirmeler yapıldığı için resmi dokümantasyon sayfasından bu konu kaldırıldı. Eski sayfalara &lt;a href=&quot;http://www.rbcafe.com/Softwares/Unity/Documentation/Manual/Android-Integrating%20Unity%20With%20Eclipse.html&quot; target=&quot;_blank&quot;&gt;buradan&lt;/a&gt; bakabilirsiniz.&lt;/div&gt;
&lt;div&gt;
- Bazıları problemleri &quot;UnityApplication&quot; projesinden oluşan apk dosyasını &quot;&lt;span style=&quot;background-color: #fefefe; color: #111111; font-family: Helvetica, Arial, sans-serif; font-size: 13px; line-height: 15px;&quot;&gt;zipalign -v 4 UnityApplication.apk YeniUygulama.apk&quot;&amp;nbsp;&lt;/span&gt;komutunu çalıştırarak gidermiş. Bende gerek kalmadı ama sizin çözülemeyen bir probleminiz olursa deneyebilirsiniz. Cihazda uygulamayı kaldırıp &quot;&lt;span style=&quot;background-color: #fefefe; color: #111111; font-family: Helvetica, Arial, sans-serif; font-size: 13px; line-height: 15px;&quot;&gt;adb install&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;background-color: #fefefe; color: #111111; font-family: Helvetica, Arial, sans-serif; font-size: 13px; line-height: 15px;&quot;&gt;YeniUygulama.apk&quot; &lt;/span&gt;komutunu çalıştırarak tekrar yükleyin.&lt;br /&gt;
&lt;br /&gt;
Not: Burada en basit Unity projesinin nasıl Eclipse tarafında çağırabileceğimizi anlattım. Daha kompleks projelerde daha farklı hatalar alınabilir. Bu tip durumlarda &quot;Android Plugin&quot; seçeneğini öneririm.&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://turkertunali.blogspot.com/feeds/7831623242200885495/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/8114551873867612455/7831623242200885495' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8114551873867612455/posts/default/7831623242200885495'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8114551873867612455/posts/default/7831623242200885495'/><link rel='alternate' type='text/html' href='http://turkertunali.blogspot.com/2012/09/unity-ve-eclipse-entegrasyonu.html' title='Unity ve Eclipse Entegrasyonu'/><author><name>Türker TUNALI</name><uri>http://www.blogger.com/profile/07176021645942032235</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiLuxkHlLdx5-rP3XYVWoh3J4sHL1PRx-IcaSleipZmS4fihrm2iUsgBNtB5RXeVNNv95lNc2YCmkwzi-m4j7jka_x7OwxvYLeuRtI2gfw6iRak44DJPXF7PScS3J5d1sg/s1600/1d097e2201de377962aa4f95c105bd01%3Fs%3D480'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8114551873867612455.post-6073911893730927089</id><published>2012-09-05T12:12:00.001+03:00</published><updated>2012-09-06T20:01:03.940+03:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="ar"/><category scheme="http://www.blogger.com/atom/ns#" term="arttırılmış gerçeklik"/><category scheme="http://www.blogger.com/atom/ns#" term="augmented reality"/><category scheme="http://www.blogger.com/atom/ns#" term="aurasma"/><title type='text'>Zaman Gazetesi Arttırılmış Gerçeklik Uygulaması</title><content type='html'>Zaman gazetesinin Arttırılmış Gerçeklik (Augmented Reality) uygulaması aslen &lt;a href=&quot;http://%20www.aurasma.com/&quot;&gt;Aurasma&lt;/a&gt; kütüphanesini kullanıyor. Bu kütüphane ile Arttırılmış Gerçeklik uygulamalarına tanımlayıcı (marker) resim ekleme (Aurasma platformunda &#39;Auras&#39; deniyor), cihaz ile resme bakıldığında gösterilecek film ya da 3 boyutlu görüntünün eklenmesi çok kolay. Çünkü herşey Aurasma sunucularında tutuluyor ve bütün ayarlar buradan tanımlanabiliyor.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Artıları&lt;/b&gt;&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;Kolay resim ve video eklenebilmesi&lt;/li&gt;
&lt;/ul&gt;
&lt;div&gt;
&lt;b&gt;Eksileri&lt;/b&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;ul&gt;
&lt;li&gt;Yavaş ve işlemciye çok yük bindiriyor&lt;/li&gt;
&lt;li&gt;Resmin (Aura) tanımlanma süresi uzun&lt;/li&gt;
&lt;li&gt;Çalışma esnasında internet bağlantısı gerektiriyor&lt;/li&gt;
&lt;li&gt;Video ekrandan kolay yok oluyor (Çift tıklama ile sabitlenebiliyor)&lt;/li&gt;
&lt;li&gt;İnteraktif bir çözüm sunmuyor.&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;br /&gt;
&lt;b&gt;Onay Bilişim Arttırılmış Gerçeklik Uygulaması (SupraAR)&lt;/b&gt;&lt;br /&gt;
&lt;a href=&quot;http://www.onaybilisim.com/&quot; target=&quot;_blank&quot;&gt;Onay Bilişim&lt;/a&gt;&#39;in hazırlamış olduğu &lt;a href=&quot;http://www.onaybilisim.com/?page_id=256&quot; target=&quot;_blank&quot;&gt;Arttırılmış Gerçeklik&lt;/a&gt; uygulamasında tanımlayıcı resimler uygulamanın içine gömülür. Resme bakıldığında yapılacak işlemlerde uygulamanın içinde tanımlanır. Bu şekilde daha hızlı resim tanımlama, performans artışı ve buna bağlı olarakta interaktif çözümlerin (Restaurant masasında servis resmine bakarak sipariş verilmesi, Mercedes-Benz firmasının yaptığı gibi &lt;a href=&quot;http://www.mercedes-benz-accessories.com/content/mba/mpc/mpc_mba_website/en/mpc_home/mba/home/news_information/news/augmented_reality.html&quot; target=&quot;_blank&quot;&gt;tanıtıcı uygulamalar&lt;/a&gt;&amp;nbsp;da kullanılması gibi) yapılması sağlanır.&lt;br /&gt;
&lt;b&gt;&lt;br /&gt;
Artıları&lt;/b&gt;&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;Hızlı&lt;/li&gt;
&lt;li&gt;Daha görsel ve interaktif seçenekler sunar&lt;/li&gt;
&lt;li&gt;Sadece kurulumdan sonraki ilk çalıştırma esnasında internet bağlantısı gerektirir.&lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;
&lt;b&gt;
Eksiler&lt;/b&gt;&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;Sonradan yeni resim, video, 3 boyutlu görsel eklemek için uygulama güncellemesi gerekli. (Sonraki versiyonlarda düzeltilebilir)&lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;
&lt;b&gt;Sonuç&lt;/b&gt;: Statik içerikli ama daha görsel çözümler için SupraAR daha iyi bir çözüm. Bir marka için katalog broşür gazete reklamı gibi görsellerde etkileyici sonuçlar verir.&lt;br /&gt;
Aurasma platformu genel olarak hantal olsada devamlı değişen içeriklerde günlük resim ve video eklenebilen ortamlar için daha uygun.</content><link rel='replies' type='application/atom+xml' href='http://turkertunali.blogspot.com/feeds/6073911893730927089/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/8114551873867612455/6073911893730927089' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8114551873867612455/posts/default/6073911893730927089'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8114551873867612455/posts/default/6073911893730927089'/><link rel='alternate' type='text/html' href='http://turkertunali.blogspot.com/2012/09/zaman-gazetesi-arttrlms-gerceklik.html' title='Zaman Gazetesi Arttırılmış Gerçeklik Uygulaması'/><author><name>Türker TUNALI</name><uri>http://www.blogger.com/profile/07176021645942032235</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiLuxkHlLdx5-rP3XYVWoh3J4sHL1PRx-IcaSleipZmS4fihrm2iUsgBNtB5RXeVNNv95lNc2YCmkwzi-m4j7jka_x7OwxvYLeuRtI2gfw6iRak44DJPXF7PScS3J5d1sg/s1600/1d097e2201de377962aa4f95c105bd01%3Fs%3D480'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8114551873867612455.post-2264680050582856185</id><published>2012-06-16T12:56:00.002+03:00</published><updated>2012-06-18T13:18:43.396+03:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="android"/><category scheme="http://www.blogger.com/atom/ns#" term="android ics"/><category scheme="http://www.blogger.com/atom/ns#" term="arttırılmış gerçeklik"/><category scheme="http://www.blogger.com/atom/ns#" term="augmented reality"/><category scheme="http://www.blogger.com/atom/ns#" term="google glass"/><category scheme="http://www.blogger.com/atom/ns#" term="jxd"/><category scheme="http://www.blogger.com/atom/ns#" term="rogadis"/><category scheme="http://www.blogger.com/atom/ns#" term="steve jobs"/><category scheme="http://www.blogger.com/atom/ns#" term="yinlips"/><title type='text'>Android&#39;in hayatımıza kattıkları</title><content type='html'>&lt;div&gt;
&lt;div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;http://www.dzineblog360.com/wp-content/uploads/2011/05/Cute-Android.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: right; float: right; margin-bottom: 1em; margin-left: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;199&quot; src=&quot;http://www.dzineblog360.com/wp-content/uploads/2011/05/Cute-Android.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
Bu küçük sevimli yeşil droid ile tanıştıktan sonra hayatımızda pek çok şey değişti. Önce telefonlarımız birçok yeni özellik ile tanıştı. Mesela iOS kullanan arkadaşlarıma &quot;Bilgisayarımdan Play Store sayfasını açıp istediğim uygulamayı telefonuma buradan yükleyebiliyorum&quot; dediğimde hepsinin ağzı açık kalıyor. iTunes gibi gereksiz yazılımların yüklenmesine ihtiyacımız olmadan, cihazımızı uzaktan birçok özelliği ile yönetebiliyoruz. Google Contacts ile arkadaşlarımızın anlık iletişim bilgilerine hemen ulaşabiliyoruz. Haritalar, navigasyon, kamera, kablosuz iletişim ve bir sürü uygulama. Yıllardır patlayacak denilen &lt;a href=&quot;http://www.onaybilisim.com/?page_id=256&quot; target=&quot;_blank&quot;&gt;Arttırılmış Gerçeklik&lt;/a&gt; teknolojisinin artık iyice ısınma sebeplerinden birisi sanırım bu minik devler oldu.&lt;br /&gt;
&lt;br /&gt;
Üstelik artık her yerdeler. &lt;a href=&quot;http://www.google.com.tr/url?sa=t&amp;amp;rct=j&amp;amp;q=google%20glass&amp;amp;source=web&amp;amp;cd=7&amp;amp;ved=0CGYQtwIwBg&amp;amp;url=http%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3D9c6W4CCU9M4&amp;amp;ei=rkncT8KQJPGQ4gSQ5OiQCg&amp;amp;usg=AFQjCNFtCNRClmgzBSCOro86diCQd9kp3w&amp;amp;cad=rja&quot; target=&quot;_blank&quot;&gt;Google Glass&lt;/a&gt; projesi ile gözlüklere, &lt;a href=&quot;http://www.google.com/tv/&quot; target=&quot;_blank&quot;&gt;Google TV&lt;/a&gt; ile televizyonlara, navigasyon cihazlarına, &lt;a href=&quot;http://www.alibaba.com/showroom/satellite-receiver-android.html&quot; target=&quot;_blank&quot;&gt;uydu alıcılarına&lt;/a&gt;, &lt;a href=&quot;http://www.imturkiye.com/&quot; target=&quot;_blank&quot;&gt;kol saatlerine&lt;/a&gt;, araç içi eğlence sistemlerine uygulandı. &lt;a href=&quot;http://www.onaybilisim.com/&quot; target=&quot;_blank&quot;&gt;Onay Bilişim&lt;/a&gt; olarak geliştirmekte olduğumuz projeler ile yakında giyim dükkanlarınızdaki aynalarda. (Kabinlerde giysi denemeye son :)&lt;br /&gt;
&lt;br /&gt;
iOS ve Android kapışması yapmak istemiyorum çünkü ikisininde iyi ve kötü özellikleri var. Sanırım asıl konu hepimizin yanında devamlı internetten bilgi alıp gönderebilen, sizin yerinizi bilerek ona uygun işlemler yapabilen, grafik kapasitesi yüksek, ekranı kaliteli cihazlar taşımamız.&lt;br /&gt;
&lt;br /&gt;
Peki Android ile bu sektörde neler değişti? Diyelim ki yeni bir telefon markası yaratacağız. Hangi oyunları içermeli, iletişim bilgileri, arama fonksiyonları nasıl çalışmalı? Hangi ofis işlemlerini yapabilmeli? Eskiden bu iş için önümüzde bir sürü engel vardı.Şimdi ise Android işletim sistemli her cihaz bütün bu özellikleri zaten kapsıyor. Yani üreticiler sadece donanım problemlerine odaklanabiliyor. Yazılım kısmı ise çok daha az bütçe ile çok daha fazla iş yapıyor.&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
Durum böyle olunca özellikle Çin&#39;de oldukca farklı özelliklerde, çesitli ekranlarda tabletler, portatif oyun konsolları, kol saatleri çıkmış durumda. Portatif oyun konsolu olarak benim favorilerimden bir &lt;a href=&quot;http://jxd.hk/products.asp?id=604&amp;amp;selectclassid=009006&quot; target=&quot;_blank&quot;&gt;JXD S7100&lt;/a&gt;. Bunun dışında &lt;a href=&quot;http://www.yinlips.com/en/&quot; target=&quot;_blank&quot;&gt;Yinlips&lt;/a&gt; ve &lt;a href=&quot;http://www.willgoo.com/&quot; target=&quot;_blank&quot;&gt;diğerleri&lt;/a&gt; de bu konuda söz sahibi. Tablet olarak ise çeşit gerçekten çok. Tabi bunların donanım özellikleri ne kadar iyi, dokunmatik ekranları ne kadar kaliteli kontrol etmek gerekli. Çünkü bazen özelliklerinde belirtilen donanımlar yerine başka entegreler kullanılabiliyor.&lt;br /&gt;
&lt;br /&gt;
İlginizi çekebilecek diğer cihazlar arasında ise &lt;a href=&quot;http://arstechnica.com/gadgets/2012/06/3-3-hdmi-dongle-android-pocket-tv-funded-within-1-week-on-kickstarter/&quot; target=&quot;_blank&quot;&gt;3.3&quot; büyüklüğünde HDMI dongle&lt;/a&gt; olarak kullanabilen bir çeşit &lt;a href=&quot;http://www.kickstarter.com/projects/484889112/the-pocket-tv-makes-any-tv-a-smart-tv&quot; target=&quot;_blank&quot;&gt;paket tv cihazı&lt;/a&gt; da var. Android 4 yüklü cihaz güçlü işlemcisi ile her televizyonu akıllı yapmak ile kalmıyor, eğlenceli oyunları salonumuza kadar getiriyor. Küçük olduğu için yanımızda taşıyıp projeksiyon cihazlarında sunum yapmamızı bile kolaylaştırıyor. G-Sensor destekli klavyesi ise oldukça kullanışlı gözüküyor. Bu ve benzeri birçok irili ufaklı çözüm görmek (bence) Android sayesinde artık mümkün. &lt;br /&gt;
&lt;br /&gt;
Android, &lt;a href=&quot;http://www.androidauthority.com/arduino-releases-android-compatible-board-19446/&quot; target=&quot;_blank&quot;&gt;yurtdışında&lt;/a&gt; &lt;a href=&quot;http://store.arduino.cc/eu/index.php?main_page=product_info&amp;amp;cPath=11_12&amp;amp;products_id=144&quot; target=&quot;_blank&quot;&gt;uygun fiyatlı&lt;/a&gt; &lt;a href=&quot;http://beagleboard.org/&quot; target=&quot;_blank&quot;&gt;board&lt;/a&gt; &lt;a href=&quot;http://www.ti.com/tool/tmdxevm3358&quot; target=&quot;_blank&quot;&gt;bulabilmemiz&lt;/a&gt;, istediğimiz modülü (Wi-Fi, 
bluetooth, g-sensor vs) entegre edebilmemiz sebebiyle aslında donanım tarafını da 
oldukça hareketlendirdi. &lt;a href=&quot;http://www.raspberrypi.org/&quot; target=&quot;_blank&quot;&gt;Raberry Pi &lt;/a&gt;sadece 25$ ve Linux işletim sistemi kurulabiliyor. VIA ise &lt;a href=&quot;http://apc.io/product/&quot; target=&quot;_blank&quot;&gt;49$ HDMI çıkış veren 512MB hafızalı Android cihaz&lt;/a&gt;ını &lt;a href=&quot;http://www.geek.com/articles/chips/via-launch-a-49-android-pc-20120522/&quot; target=&quot;_blank&quot;&gt;tanıttı&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
Türkiye&#39;de ise birçok forumda bu konular tartışılırken &lt;a href=&quot;http://www.sahibinden.com/search.php?b[search_text]=jxd&quot; target=&quot;_blank&quot;&gt;bazı&lt;/a&gt; &lt;a href=&quot;http://www.sahibinden.com/ilan/alisveris-bilgisayar-tablet-pc-jxd-s7100-kapasitif-7-inc-ekran-oyun-tableti-84793889/detay&quot; target=&quot;_blank&quot;&gt;satış sitelerinden&lt;/a&gt; &lt;a href=&quot;http://arama.gittigidiyor.com/?aramakelime=jxd&quot; target=&quot;_blank&quot;&gt;sipariş bile&lt;/a&gt; verebiliyoruz. Hatta Ensar Kuyumculuk gibi firmalar &lt;a href=&quot;http://www.rogadis.com.tr/saat/&quot; target=&quot;_blank&quot;&gt;Rogadis Saat&lt;/a&gt; markalarının yanına &lt;a href=&quot;http://www.rogadis.com.tr/elektronik/category/tuketici-elektronigi/oyun-konsollari&quot; target=&quot;_blank&quot;&gt;Rogadis Oyun Konsolu&lt;/a&gt; bile eklemiş durumda. Tabi bunları dikkatli incelersek Yinlips markası olduğunu görebiliyoruz.&lt;br /&gt;
&lt;br /&gt;
Sonuç olarak Android hem yazılım üreticileri için geliştirme ve satış anlamında yeni bir kanal 
oluşturdu, hemde donanım üreticilerinin çok daha standart cihazlar 
üretebilmelerini sağladı. iOS tarafında ise bu kadar çeşitli cihazları ancak 
rahmetli &lt;a href=&quot;http://www.apple.com/stevejobs/&quot; target=&quot;_blank&quot;&gt;Steve Jobs&lt;/a&gt; mezarından kalkıp işin başına geçerse görebileceğiz.&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://turkertunali.blogspot.com/feeds/2264680050582856185/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/8114551873867612455/2264680050582856185' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8114551873867612455/posts/default/2264680050582856185'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8114551873867612455/posts/default/2264680050582856185'/><link rel='alternate' type='text/html' href='http://turkertunali.blogspot.com/2012/06/androidin-hayatmza-kattklar.html' title='Android&#39;in hayatımıza kattıkları'/><author><name>Türker TUNALI</name><uri>http://www.blogger.com/profile/07176021645942032235</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiLuxkHlLdx5-rP3XYVWoh3J4sHL1PRx-IcaSleipZmS4fihrm2iUsgBNtB5RXeVNNv95lNc2YCmkwzi-m4j7jka_x7OwxvYLeuRtI2gfw6iRak44DJPXF7PScS3J5d1sg/s1600/1d097e2201de377962aa4f95c105bd01%3Fs%3D480'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8114551873867612455.post-6925546243722923911</id><published>2012-06-15T16:13:00.001+03:00</published><updated>2012-06-15T16:13:29.360+03:00</updated><title type='text'>SQL Server 2012 FileTable Özelliği</title><content type='html'>SQL Server 2012 de böyle bir özellik olduğunu bilmiyordum ama kullanışlı geldi. Artık projelerimizde kullanmamız gereken resim, film, müzik dosyalarını veritabanına kaydetmek zorunda olmadan ama yine veritabanı sunucusu denetiminde kullanabileceğiz.&lt;br /&gt;
&lt;a href=&quot;http://blogs.microsoft.co.il/blogs/bnaya/image_1EA35F86.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: right; float: right; margin-bottom: 1em; margin-left: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;287&quot; src=&quot;http://blogs.microsoft.co.il/blogs/bnaya/image_1EA35F86.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
Örnek bir anlatım Yazılım Uzmanları&#39;nda: &lt;a href=&quot;http://www.yazilimuzmanlari.com/Makale/338/SQL-Server-2012-FileTable.html&quot;&gt;http://www.yazilimuzmanlari.com/Makale/338/SQL-Server-2012-FileTable.html&lt;/a&gt;</content><link rel='replies' type='application/atom+xml' href='http://turkertunali.blogspot.com/feeds/6925546243722923911/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/8114551873867612455/6925546243722923911' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8114551873867612455/posts/default/6925546243722923911'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8114551873867612455/posts/default/6925546243722923911'/><link rel='alternate' type='text/html' href='http://turkertunali.blogspot.com/2012/06/sql-server-2012-filetable-ozelligi.html' title='SQL Server 2012 FileTable Özelliği'/><author><name>Türker TUNALI</name><uri>http://www.blogger.com/profile/07176021645942032235</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiLuxkHlLdx5-rP3XYVWoh3J4sHL1PRx-IcaSleipZmS4fihrm2iUsgBNtB5RXeVNNv95lNc2YCmkwzi-m4j7jka_x7OwxvYLeuRtI2gfw6iRak44DJPXF7PScS3J5d1sg/s1600/1d097e2201de377962aa4f95c105bd01%3Fs%3D480'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8114551873867612455.post-4839932179475453066</id><published>2012-06-15T10:23:00.000+03:00</published><updated>2012-06-15T16:13:49.465+03:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="android"/><category scheme="http://www.blogger.com/atom/ns#" term="devexpress"/><category scheme="http://www.blogger.com/atom/ns#" term="iOS"/><category scheme="http://www.blogger.com/atom/ns#" term="iPad"/><category scheme="http://www.blogger.com/atom/ns#" term="iphone"/><title type='text'>Kurumsal Uygulamalara Mobil Çözümler</title><content type='html'>Kurumsal Uygulamalar için bildiğim en iyi platformlardan olan DevExpress iPad, iPhone ve Android platformları içinde geliştirmelerine devam ediyor.&lt;br /&gt;
&lt;br /&gt;
Artık kurumsal uygulamalarımız için ayırdığımız bütçeyi kullanarak direk olarak bu platformları hazırdaki sistemimize entegre edebiliyoruz. DevExpress Android kısmı ile ilgili &quot;Resmi olarak desteklemiyoruz&quot; dese de yapılan birçok çalışma bu platformu da kapsıyor.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;center&gt;
&lt;iframe allowfullscreen=&quot;&quot; frameborder=&quot;0&quot; height=&quot;315&quot; src=&quot;http://www.youtube.com/embed/bbVw6XhnyjI&quot; width=&quot;560&quot;&gt;&lt;/iframe&gt;&amp;nbsp;&lt;/center&gt;&lt;center&gt;&amp;nbsp;&lt;/center&gt;&lt;center&gt;2011&#39;den başka bir sunum:&lt;/center&gt;&lt;center&gt;&lt;a href=&quot;http://tv.devexpress.com/#ASPiPadSupport&quot;&gt;http://tv.devexpress.com/#ASPiPadSupport&lt;/a&gt;&amp;nbsp; &lt;/center&gt;</content><link rel='replies' type='application/atom+xml' href='http://turkertunali.blogspot.com/feeds/4839932179475453066/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/8114551873867612455/4839932179475453066' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8114551873867612455/posts/default/4839932179475453066'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8114551873867612455/posts/default/4839932179475453066'/><link rel='alternate' type='text/html' href='http://turkertunali.blogspot.com/2012/06/kurumsal-uygulamalara-mobil-cozumler.html' title='Kurumsal Uygulamalara Mobil Çözümler'/><author><name>Türker TUNALI</name><uri>http://www.blogger.com/profile/07176021645942032235</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiLuxkHlLdx5-rP3XYVWoh3J4sHL1PRx-IcaSleipZmS4fihrm2iUsgBNtB5RXeVNNv95lNc2YCmkwzi-m4j7jka_x7OwxvYLeuRtI2gfw6iRak44DJPXF7PScS3J5d1sg/s1600/1d097e2201de377962aa4f95c105bd01%3Fs%3D480'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://img.youtube.com/vi/bbVw6XhnyjI/default.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8114551873867612455.post-2644078738519628670</id><published>2012-06-13T20:29:00.002+03:00</published><updated>2012-06-15T16:14:05.978+03:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="arttırılmış gerçeklik"/><category scheme="http://www.blogger.com/atom/ns#" term="augmented reality"/><category scheme="http://www.blogger.com/atom/ns#" term="unity"/><category scheme="http://www.blogger.com/atom/ns#" term="vuforia"/><title type='text'>Arttırılmış Gerçeklik Uygulamalarında Film Gösterimi</title><content type='html'>&lt;div&gt;
Benim için oldukça enteresan bir gün daha geride kaldı. Aslında haftanın tamamı çok enteresan geçti ama bugün hayret edici geliştirmeler tavan yaptı. &lt;br /&gt;
&lt;br /&gt;
Bütün hafta alyans üreticileri ile yapacağımız görüşme için demo hazırlamayla geçti. Daha küçük bir resmi çok daha iyi düzeyde tanıtıp kaliteli render sunmam gerekti. Yaklaşık 7 farklı resim denedim hepsi küçültülünce çok zor tanınmaya başladı. Bende Frame Marker metoduna yöneldim. Bu metod ile daha iyi tanımlama yapabildik ancak doğru boyutta çıktıyı almak çok zamanımızı aldı.&lt;br /&gt;
&lt;br /&gt;
Geçen gün EKA Mimarlık ile görüşerek ellerindeki bazı 3 boyutlu mimari projeleri ve projeler için hazırlanmış katalogları aldım. Yani artık gerçek bir katalog üstünde gerçek bir model sunumunun çalışmalarına başladık. Tabi halletmemiz gereken birkaç küçük detay yok değil. Mesela model yaklaşık 17 milyon üçgenden oluşuyor ama Android ve iPhone cihazları sahnede yaklaşık 1000 üçgen gösterebiliyor. Unity&#39;nin ücretsiz versiyonunu kullandığımız için ciddi bir performans ayarıda yapamıyoruz. Birde model yaklaşık 3GB, Unity&#39;e modeli 3 dakikada atamazsak hata alıyoruz. Bakalım daha ne sorunlar çıkacak.&lt;br /&gt;
&lt;br /&gt;
Gelelim bugünün ilginç olayına. Ben işlemci yetersizliğinden dolayı kaliteli bir şekilde olamaz diyordum ama Vuforia (QCAR) ile resim ya da frame tanımlayıp onun üstünde video oynatabildim. (Hala sıfır bütçe, tamamen ücretsiz araçlarla) Örnek bir uygulama filmi aşağıda. Ben kendim için akşama başka bir video hazırlamayı düşünüyorum :)&lt;br /&gt;
&amp;nbsp; &lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;object class=&quot;BLOGGER-youtube-video&quot; classid=&quot;clsid:D27CDB6E-AE6D-11cf-96B8-444553540000&quot; codebase=&quot;http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0&quot; data-thumbnail-src=&quot;http://1.gvt0.com/vi/XCoRVcMNj_E/0.jpg&quot; height=&quot;266&quot; width=&quot;320&quot;&gt;&lt;param name=&quot;movie&quot; value=&quot;http://www.youtube.com/v/XCoRVcMNj_E&amp;fs=1&amp;source=uds&quot; /&gt;




&lt;param name=&quot;bgcolor&quot; value=&quot;#FFFFFF&quot; /&gt;




&lt;param name=&quot;allowFullScreen&quot; value=&quot;true&quot; /&gt;




&lt;embed width=&quot;320&quot; height=&quot;266&quot;  src=&quot;http://www.youtube.com/v/XCoRVcMNj_E&amp;fs=1&amp;source=uds&quot; type=&quot;application/x-shockwave-flash&quot; allowfullscreen=&quot;true&quot;&gt;&lt;/embed&gt;&lt;/object&gt;&lt;/div&gt;
&lt;br /&gt;
Ege ile yaptığımız deneme çekimi:&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;iframe allowfullscreen=&#39;allowfullscreen&#39; webkitallowfullscreen=&#39;webkitallowfullscreen&#39; mozallowfullscreen=&#39;mozallowfullscreen&#39; width=&#39;320&#39; height=&#39;266&#39; src=&#39;https://www.youtube.com/embed/56hUIN0Iels?feature=player_embedded&#39; frameborder=&#39;0&#39;&gt;&lt;/iframe&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
(What we have done so far [still] beyond your imagination :)&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://turkertunali.blogspot.com/feeds/2644078738519628670/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/8114551873867612455/2644078738519628670' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8114551873867612455/posts/default/2644078738519628670'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8114551873867612455/posts/default/2644078738519628670'/><link rel='alternate' type='text/html' href='http://turkertunali.blogspot.com/2012/06/arttrlms-gerceklik-uygulamalarnda-film.html' title='Arttırılmış Gerçeklik Uygulamalarında Film Gösterimi'/><author><name>Türker TUNALI</name><uri>http://www.blogger.com/profile/07176021645942032235</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiLuxkHlLdx5-rP3XYVWoh3J4sHL1PRx-IcaSleipZmS4fihrm2iUsgBNtB5RXeVNNv95lNc2YCmkwzi-m4j7jka_x7OwxvYLeuRtI2gfw6iRak44DJPXF7PScS3J5d1sg/s1600/1d097e2201de377962aa4f95c105bd01%3Fs%3D480'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8114551873867612455.post-1094036659752670821</id><published>2012-06-12T11:19:00.001+03:00</published><updated>2012-09-11T13:08:41.847+03:00</updated><title type='text'>PES 2013 ve FIFA 2013</title><content type='html'>PES ve FIFA oyunlarının yeni sürümleri E3 2012&#39;de tanıtıldı. Yanlış hatırlamıyorsam daha önce E3 fuarlarına bu kadar hazırlanmazlardı ama bu yıl ikiside işi sıkı tutmuş anlaşılan. Oyunların sıkıntısı ise bence oyun kolu. Yeni jenerasyon ekran kartı, yeni jenerasyon oyun konsolu, yeni jenerasyon ekran kartı ama hala 80&#39;lerin sonlarından kalma oyun kolu.O kadar çeşitli hareketliliği bu kollar ile sağlamak çok zor. PS Move ve Kinect ile bu sorun çözümlenemedi.&lt;br /&gt;
&lt;a href=&quot;http://www.ce-co.net/layout/mat_disponibile/quickshot_maverick1.jpg&quot; imageanchor=&quot;1&quot; style=&quot;clear: right; float: right; margin-bottom: 1em; margin-left: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;142&quot; src=&quot;http://www.ce-co.net/layout/mat_disponibile/quickshot_maverick1.jpg&quot; width=&quot;200&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Sanırım bu konu ancak kontrol yapısının daha gerçekçi olarak tekrar modellenmesi ile olabilir. Bence tek bir topa vuruş tuşu olmalı. Bu tuş ile yaptığım diğer kombinasyonların bunun kavisli bir orta veya sert bir şut olduğunu belirlemeli. Tabi bu çözüm çalım hareketlerini ve diğer top sürme özelliklerini kapsamıyor ama şuan geldiğimiz noktada da &quot;hızlıca sağ-sol, L2 basılı iken, X, O, X&quot; ile yaptığımız hareketlerinde çok bir espirisi yok.&lt;br /&gt;
&lt;br /&gt;
Sonuç olarak yazılımlar gelişti, donanımlar gelişti ama bu tip spor similasyonları için düzgün bir oyun kolu geliştirilemedi.</content><link rel='replies' type='application/atom+xml' href='http://turkertunali.blogspot.com/feeds/1094036659752670821/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/8114551873867612455/1094036659752670821' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8114551873867612455/posts/default/1094036659752670821'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8114551873867612455/posts/default/1094036659752670821'/><link rel='alternate' type='text/html' href='http://turkertunali.blogspot.com/2012/06/pes-13.html' title='PES 2013 ve FIFA 2013'/><author><name>Türker TUNALI</name><uri>http://www.blogger.com/profile/07176021645942032235</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiLuxkHlLdx5-rP3XYVWoh3J4sHL1PRx-IcaSleipZmS4fihrm2iUsgBNtB5RXeVNNv95lNc2YCmkwzi-m4j7jka_x7OwxvYLeuRtI2gfw6iRak44DJPXF7PScS3J5d1sg/s1600/1d097e2201de377962aa4f95c105bd01%3Fs%3D480'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8114551873867612455.post-4574179550873627818</id><published>2012-06-08T12:20:00.000+03:00</published><updated>2012-06-12T15:03:19.723+03:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="about:config"/><category scheme="http://www.blogger.com/atom/ns#" term="Firefox 13"/><category scheme="http://www.blogger.com/atom/ns#" term="google ile ara"/><category scheme="http://www.blogger.com/atom/ns#" term="search google for"/><title type='text'>Firefox 13 sağ tuş ile yapılan aramalar</title><content type='html'>&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiraVUDR6_PpVG0vOwdt2lCa0OVKrj3h465zJGGurAuchXt4laupMuz1EiqaYGMVqO9XmhHhxBNwkk23lxWWHKyUfEX7Us3rHsmaxjSZIchShTh9rF8KzDOzuD0jbTNDG-OYgNDQ-78N0qW/s1600/firefox_13.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;200&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiraVUDR6_PpVG0vOwdt2lCa0OVKrj3h465zJGGurAuchXt4laupMuz1EiqaYGMVqO9XmhHhxBNwkk23lxWWHKyUfEX7Us3rHsmaxjSZIchShTh9rF8KzDOzuD0jbTNDG-OYgNDQ-78N0qW/s200/firefox_13.jpg&quot; width=&quot;170&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
Firefox 13 ile bir yazı seçip sağ tuş menusunden &quot;Google ile ara&quot; veya &quot;Search Google for&quot; yaparsak yeni açılan sekme öne geliyor. Eğer arama başka sekmede devam ederken bulunduğunuz sekmenin kapanmamasını istiyorsanız eski dostumuz &quot;about:config&quot; sayfasını açıp &quot;browser.search.context.loadInBackground&quot; değerini &quot;true&quot; yapabilirsiniz. Bu şekilde arama yeni açılan sekmede yapılır ancak siz okumakta olduğunuz sekmeden ayrılmak zorunda kalmazsınız.&lt;br /&gt;</content><link rel='replies' type='application/atom+xml' href='http://turkertunali.blogspot.com/feeds/4574179550873627818/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/8114551873867612455/4574179550873627818' title='5 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8114551873867612455/posts/default/4574179550873627818'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8114551873867612455/posts/default/4574179550873627818'/><link rel='alternate' type='text/html' href='http://turkertunali.blogspot.com/2012/06/firefox-13-ile-sag-tus-ile-yaplan.html' title='Firefox 13 sağ tuş ile yapılan aramalar'/><author><name>Türker TUNALI</name><uri>http://www.blogger.com/profile/07176021645942032235</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiLuxkHlLdx5-rP3XYVWoh3J4sHL1PRx-IcaSleipZmS4fihrm2iUsgBNtB5RXeVNNv95lNc2YCmkwzi-m4j7jka_x7OwxvYLeuRtI2gfw6iRak44DJPXF7PScS3J5d1sg/s1600/1d097e2201de377962aa4f95c105bd01%3Fs%3D480'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiraVUDR6_PpVG0vOwdt2lCa0OVKrj3h465zJGGurAuchXt4laupMuz1EiqaYGMVqO9XmhHhxBNwkk23lxWWHKyUfEX7Us3rHsmaxjSZIchShTh9rF8KzDOzuD0jbTNDG-OYgNDQ-78N0qW/s72-c/firefox_13.jpg" height="72" width="72"/><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8114551873867612455.post-775611831081082631</id><published>2012-06-08T11:44:00.000+03:00</published><updated>2012-06-08T11:46:17.177+03:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="android"/><category scheme="http://www.blogger.com/atom/ns#" term="Bu öğe cihazınızın bulunduğu ülkede yüklenemez"/><category scheme="http://www.blogger.com/atom/ns#" term="google"/><category scheme="http://www.blogger.com/atom/ns#" term="Market Access"/><category scheme="http://www.blogger.com/atom/ns#" term="play store"/><title type='text'>&quot;Bu öğe cihazınızın bulunduğu ülkede yüklenemez&quot; mi?</title><content type='html'>Google Play ile bazı uygulamaları yüklemek istediğimizde &quot;Bu öğe cihazınızın bulunduğu ülkede yüklenemez.&quot; uyarısı alabiliyoruz. Bu can sıkıcı durumu aşmak için &lt;a href=&quot;http://amip.tools-for.net/ds/dl.php?f=/files/MarketAccess.apk&quot;&gt;bu dosyayı&lt;/a&gt; (alt tarafta telefonunuzdan barkodu okutabilirsiniz) telefonunuza yükleyerek ve &quot;Providers&quot; sekmesinden &quot;&lt;b style=&quot;font-weight: normal;&quot;&gt;T-Mobile (US)&quot; seçerek giderebilirsiniz. Gayet başarılı çalışıyor.&lt;/b&gt;&lt;br /&gt;
&lt;img alt=&quot;&quot; class=&quot;alignright size-thumbnail wp-image-10165&quot; height=&quot;150&quot; src=&quot;http://www.androidturkiye.net/wp-content/uploads/2012/03/qrcode_marketaccess-150x150.png&quot; title=&quot;qrcode_marketaccess&quot; width=&quot;150&quot; /&gt;&lt;br /&gt;
Kaynaklar: &lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;http://www.androidturkiye.net/2012/03/11/turkiyeden-android-marketteki-ucretli-uygulamalar-nasil-gorulur-ve-satin-alinir/&quot;&gt;http://www.androidturkiye.net/2012/03/11/turkiyeden-android-marketteki-ucretli-uygulamalar-nasil-gorulur-ve-satin-alinir/&amp;nbsp;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://amip.tools-for.net/wiki/android/marketaccess&quot;&gt;http://amip.tools-for.net/wiki/android/marketaccess&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;</content><link rel='replies' type='application/atom+xml' href='http://turkertunali.blogspot.com/feeds/775611831081082631/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/8114551873867612455/775611831081082631' title='5 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8114551873867612455/posts/default/775611831081082631'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8114551873867612455/posts/default/775611831081082631'/><link rel='alternate' type='text/html' href='http://turkertunali.blogspot.com/2012/06/bu-oge-cihaznzn-bulundugu-ulkede.html' title='&quot;Bu öğe cihazınızın bulunduğu ülkede yüklenemez&quot; mi?'/><author><name>Türker TUNALI</name><uri>http://www.blogger.com/profile/07176021645942032235</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiLuxkHlLdx5-rP3XYVWoh3J4sHL1PRx-IcaSleipZmS4fihrm2iUsgBNtB5RXeVNNv95lNc2YCmkwzi-m4j7jka_x7OwxvYLeuRtI2gfw6iRak44DJPXF7PScS3J5d1sg/s1600/1d097e2201de377962aa4f95c105bd01%3Fs%3D480'/></author><thr:total>5</thr:total></entry></feed>