<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet type="text/css" href="http://cankavaklioglu.name.tr/kosebasi/"?>
<rss version="2.0" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:admin="http://webns.net/mvcb/" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
<title>Filed under: Mühendislik | Köşebaşı</title>
<atom:link href="http://cankavaklioglu.name.tr/kosebasi/archives/mühendislik/index-rss.xml" rel="self" type="application/rss+xml" />
<link>http://cankavaklioglu.name.tr/kosebasi</link>
<description>linux, bilim, mühendislik, doktora ve hayat hakkında</description>
<dc:language>tr-tr</dc:language>
<dc:creator>Can Kavaklıoğlu</dc:creator>
<dc:date>2012-04-30T14:12:13+03:00</dc:date>
<admin:generatorAgent rdf:resource="http://nanoblogger.sourceforge.net" />
<item>
<link>http://cankavaklioglu.name.tr/kosebasi/archives/2012/04/index.html#e2012-04-30T14_06_29.txt</link>
<guid isPermaLink="true">http://cankavaklioglu.name.tr/kosebasi/archives/2012/04/index.html#e2012-04-30T14_06_29.txt</guid>
<title>Matlab'da komut satırından hata ayıklama</title>
<dc:date>2012-04-30T14:06:29+03:00</dc:date>
<dc:creator>Can Kavaklıoğlu</dc:creator>
<dc:subject>Mühendislik</dc:subject>
<description>
<![CDATA[Sonunda komut satırından gerekli komutların bir kısmını kullanma fırsatı buldum:
<pre>
dbstop if error
</pre>
deyip bir kod çalıştırdığımızda, hata üzerine hata ayıklama kipi açılıyor. Böylece normal yazı düzenleyicdeki gibi hata ayıklamak mümkün oluyor.
<br /><br />
Burada önemli bir nokta, yukarıdaki komutu verdikten sonra Matlab komut satırında çalışsa bile grafik editörü açıyor. Bunu engellemek için Matlab'ı şu şekilde başlatmak gerekiyor:
<pre>
matlab -nodesktop -nosplash -nodisplay
</pre>
Hata ayıklama kipinden çıkmak için gerekli komut:
<pre>
dbquit
</pre>
Diğer hata ayıklama komutları için referans <a href="http://www.mathworks.com/help/techdoc/ref/f16-11063.html#bsc5ynx">burada</a>.]]>
</description>
</item>
<item>
<link>http://cankavaklioglu.name.tr/kosebasi/archives/2012/03/index.html#e2012-03-07T02_50_05.txt</link>
<guid isPermaLink="true">http://cankavaklioglu.name.tr/kosebasi/archives/2012/03/index.html#e2012-03-07T02_50_05.txt</guid>
<title>Güzel işaretçi işaretçisi örneği</title>
<dc:date>2012-03-07T02:50:05+03:00</dc:date>
<dc:creator>Can Kavaklıoğlu</dc:creator>
<dc:subject>Mühendislik</dc:subject>
<description>
<![CDATA[<pre>
#include &lt; iostream &gt;
#include &lt; stdlib.h &gt;
using namespace std;
int main(){
int a[] = {1,2};
int* b = a;
int c[] = { 3 , 4};
int** d = (int**) calloc(3, sizeof(int*));
d[0] = a;
d[1] = b;
d[2] = c;
for (int i=0; i<3; i++)
  for (int j=0; j<2; j++)
    cout << d[i][j] << endl;
}
</pre>]]>
</description>
</item>
<item>
<link>http://cankavaklioglu.name.tr/kosebasi/archives/2012/03/index.html#e2012-03-04T11_28_10.txt</link>
<guid isPermaLink="true">http://cankavaklioglu.name.tr/kosebasi/archives/2012/03/index.html#e2012-03-04T11_28_10.txt</guid>
<title>Matlab'da "`GLIBCXX_3.4.14' not found" hatası</title>
<dc:date>2012-03-04T11:28:10+03:00</dc:date>
<dc:creator>Can Kavaklıoğlu</dc:creator>
<dc:subject>Mühendislik</dc:subject>
<description>
<![CDATA[Bunu sürekli unutuyorum buraya yazayım. Matlab'da MEX dosyaları çalıştırmak isteyince, sanırım Matlab'ın içinde gelen libc çalışmadığı için, şunu yapmak gerekiyor:
<pre>
cd sys/os/glnxa64
mkdir old
mv mv libgcc* libstdc++* old/
</pre>]]>
</description>
</item>
<item>
<link>http://cankavaklioglu.name.tr/kosebasi/archives/2012/02/index.html#e2012-02-27T10_44_15.txt</link>
<guid isPermaLink="true">http://cankavaklioglu.name.tr/kosebasi/archives/2012/02/index.html#e2012-02-27T10_44_15.txt</guid>
<title>g++'nın haksızlığı</title>
<dc:date>2012-02-27T10:44:15+03:00</dc:date>
<dc:creator>Can Kavaklıoğlu</dc:creator>
<dc:subject>Mühendislik</dc:subject>
<description>
<![CDATA[Bir kod parçası düşünün:
<pre>
for i = 1..102660
  for j = 1..102660
    for k = 1..69679430
      ... birşeyler ...
</pre>
Bunu derleyip <code>g++ file.cc</code> çalıştırdığımda j döngüsünün her bir elemanı 1 saniye civarında sürüyordu. Yani işin tamamı 28 * 102660 saat sürecek gibi gözüküyordu.
<br /><br />
Sonra bunu şöyle derledim <code>g++ -O3 file.cc</code>. Birkaç kere denememe rağmen hala inanamıyorum ama kod dosyasına hiç dokunmadan bütün döngü bir saniyeden az bir sürede bitiyor!
<br /><br />
Peki soruyorum sana -O3 eniyileme (optimizasyon) parametresini bilmeyenler ne yapacak g++!
<br /><br />
Düzenleme: tabiki benim algım yanlışmış! Sanırım olan durum derleyicinin döngünün dışına bir sonuç çıkmadığını farkedip, döngünün içindeki kodu hiç çalıştırmaması idi!!! Döngünün içerisinde bir sayaç tutup yazdırmaya kalkınca aynı senaryoya göndük! Vay vay vay... C++'ın puslu yolları breh breh breh...]]>
</description>
</item>
<item>
<link>http://cankavaklioglu.name.tr/kosebasi/archives/2011/08/index.html#e2011-08-04T12_01_11.txt</link>
<guid isPermaLink="true">http://cankavaklioglu.name.tr/kosebasi/archives/2011/08/index.html#e2011-08-04T12_01_11.txt</guid>
<title>Test kodundaki hatayı son ürün koduyla keşfetmek</title>
<dc:date>2011-08-04T12:01:11+03:00</dc:date>
<dc:creator>Can Kavaklıoğlu</dc:creator>
<dc:subject>Mühendislik</dc:subject>
<description>
<![CDATA[Cuda kodunu bitirince Matlab kodunun çıktısıyla karşılaştırdım ve sonuçta test kodunun hatasını keşfettim! Bunun öteki türlü olması gerekiyordu.
<br /><br />
Test süreçleri gerçekten çok ilginç şeyler. Testleri test eden birşey mi lazım acaba? : )]]>
</description>
</item>
<item>
<link>http://cankavaklioglu.name.tr/kosebasi/archives/2011/04/index.html#e2011-04-30T10_04_01.txt</link>
<guid isPermaLink="true">http://cankavaklioglu.name.tr/kosebasi/archives/2011/04/index.html#e2011-04-30T10_04_01.txt</guid>
<title>Python ne muhteşem birşeydir!</title>
<dc:date>2011-04-30T10:04:01+03:00</dc:date>
<dc:creator>Can Kavaklıoğlu</dc:creator>
<dc:subject>Mühendislik</dc:subject>
<description>
<![CDATA[Daha önce de birkaç defa farklı ortamlarda yazmış olduğum aylık takvim uygulamasını Python ile yazmak istersek yapılması gerekeler şöyle:
<pre>
from calendar import *
monthMatrix = monthcalendar(2011,4)
print monthMatrix;
</pre>
Tabi print kısmı isteğe göre daha düzgün olmalı. Ama monthMatrix yapısının kütüphanenin içinden çıkması gerçekten inanılmaz bir durum!]]>
</description>
</item>
<item>
<link>http://cankavaklioglu.name.tr/kosebasi/archives/2011/04/index.html#e2011-04-23T22_42_16.txt</link>
<guid isPermaLink="true">http://cankavaklioglu.name.tr/kosebasi/archives/2011/04/index.html#e2011-04-23T22_42_16.txt</guid>
<title>ManyToMany İlişkisi</title>
<dc:date>2011-04-23T22:42:16+03:00</dc:date>
<dc:creator>Can Kavaklıoğlu</dc:creator>
<dc:subject>Mühendislik</dc:subject>
<description>
<![CDATA[ForeignKey çok bilindik bir veritabanı yapısıdır. Ben kendisini şöyle düşünürüm: Bir tablodaki bir alana bir veri koymak istediğimizde, eğer o alanla ilgili bir foreignkey varsa, o zaman koyacağımız veri sadece hedef tablodaki belirtilen alanda bulunan verilerden birisi olabilir. Bence bu güzel bir tanım. Bazıları buna one-to-many ilişki de diyor.
<br /><br />
Peki o zaman ManyToMany olunca ne farkediyor. Şu farkediyor: bir tablodaki bir veriyi diğer bir tablodaki bir veri ile ilişkilendiriyoruz. Buraya kadar herşey ForeignKey'deki gibi. Ama farklar şunlar. Bi kere bu ilişki çift taraflı. Ayrıca daha önemlisi şu ki: ilişkinin sonlanması, hiçbir verinin kaybolması anlamına gelmiyor. Yani ilişki kalksa da, veriler hayatlarına devam edebilir. Ama sadece bir ForeignKey olsaydı, o zaman ilişkiyi silmek için veriyi silmek gerekecekti. Yaa...]]>
</description>
</item>
<item>
<link>http://cankavaklioglu.name.tr/kosebasi/archives/2011/03/index.html#e2011-03-28T21_41_51.txt</link>
<guid isPermaLink="true">http://cankavaklioglu.name.tr/kosebasi/archives/2011/03/index.html#e2011-03-28T21_41_51.txt</guid>
<title>Gaussian örneklemenin gelişimi</title>
<dc:date>2011-03-28T21:41:51+03:00</dc:date>
<dc:creator>Can Kavaklıoğlu</dc:creator>
<dc:subject>Mühendislik</dc:subject>
<description>
<![CDATA[Aşağıdaki kodu kullanarak Matlab'da Gauassian dağılımdan alınan örneklemelerin histogram alındaki değişimini izleyebilirsiniz:
<pre>
close all
for i=10:10:500
    hist(randn(1,i))
    axis([-5,5,-1,i/3])
    drawnow()
    title(['sample size ' num2str(i)])
    pause(0.5)
end
</pre>
Oldukça ilginç bir görünüm.]]>
</description>
</item>
<item>
<link>http://cankavaklioglu.name.tr/kosebasi/archives/2011/02/index.html#e2011-02-08T12_30_40.txt</link>
<guid isPermaLink="true">http://cankavaklioglu.name.tr/kosebasi/archives/2011/02/index.html#e2011-02-08T12_30_40.txt</guid>
<title>Günün C dersi</title>
<dc:date>2011-02-08T12:30:40+03:00</dc:date>
<dc:creator>Can Kavaklıoğlu</dc:creator>
<dc:subject>Mühendislik</dc:subject>
<description>
<![CDATA[sprintf her daim istense de istenmese de sonunda null karakteri koyuyor. Bu da demek ki ben 4 karakter koycam, 4 karakterli buffer açayım denirse, çok şahane patlamalar yaşanabiliyor. En az istenen karakter sayısı + 1 ile açılması gerekli.]]>
</description>
</item>
<item>
<link>http://cankavaklioglu.name.tr/kosebasi/archives/2010/12/index.html#e2010-12-17T11_57_27.txt</link>
<guid isPermaLink="true">http://cankavaklioglu.name.tr/kosebasi/archives/2010/12/index.html#e2010-12-17T11_57_27.txt</guid>
<title>Matlab formatı</title>
<dc:date>2010-12-17T11:57:27+03:00</dc:date>
<dc:creator>Can Kavaklıoğlu</dc:creator>
<dc:subject>Mühendislik</dc:subject>
<description>
<![CDATA[Sonunda istediğim Matlab çıktı formatını buldum! Hernekadar kötü fikirler uyandırsa da benim istediğim bu kardeşim:<br>
<br>
format bank<br>
format compact<br>
<br>
hem nispeten boşluksuz hem de az kesinlikte çıktı, Örnek, bunun yerine:<br>
<br>
<pre>
>> pi

ans =

    3.1416

>> sonraki komut
</pre>
<br>
bu<br>
<br>
<pre>
>> pi
ans =
          3.14
</pre>
<br>
oh!]]>
</description>
</item>
</channel>
</rss>

