Tarık Bağrıyanık’ın TechnoLog’u 6 (Şubat 2006’dan beri) 236 giriş, 0 sözcük, 179 sayfa, 296 resim 13.12.2009
Blender'a Isınma Hareketleri Fireworks CS3'de birşeyler yapmaya başlayınca, tekrar eskiden çalıştığım www.blender.org programı geldi. İndirdiğim videoları tekrar izlemeye ve yeniliklere alışmaya çalışıyorum. Belki ileride basit bir çizgi film veya basit bir oyun yapabiliriz. 2.45'den bu yana çok değişiklik göremedim şimdilik. 2.49.2 var. 2.50 Alpha sürümünde çok değişiklikler olacak, menüleri tekrar keşfetmek gerekecek. Her sürümde yeniden öğrenmek gerekiyor. Bazen çok büyük değişimler yapıyorlar. 11 MB'lık bir program için çok güçlü, 3DMax ve Maya ile karşılaştırılabilir. Örneklerden birkaçı:
Mayın (duplivert)
Piyon (extrude komutu)
Suzan (gradient - colorband renk)
Yine suzan (doku - multires) 1
Zümrüt (spot ışık - buffered shadow)
Ok animasyonu (path takibi) 01.12.2009
Yok yok, sorun bende... Bilgisayar konusunda bazı takıldığım noktalar... Pek de şaşırtıcı gelmeyebilir, ama bana göre tuhaf (gıcık)... Meğerse : • • • • • • • • • • •
CD sürücülerinde kulaklık çıkışı ve ses seviye düğmesi olması... Eski CD sürücülerinde vardı, kimsenin kullanmadığı özellikler artık yok. Linux'da exe dosyalar çalışmazmış... Wine biraz işe yarayabilir, başka bir işletim sisteminin başka bir sistemi desteklemesi iyi bir şey. Windows bunu yapamıyor. Mavi ölüm ekranı çok kötü bir şey, uyarıymış. Aslında PC'nin kilitlenmesi en sinir bozucu olanı. Mavi ekran genelde donanım arızalarında çıkıyor. Kasadaki güç kaynağı elektrik dalgalanmalarına hassasmış. UPS veya özel prizler becerebiliyor, ama güç kaynağı neden düzeltemiyor? CRT monitörlerde degauss ile renk bozulmalarını düzeltebiliyoruz, LCD'de bu otomatik. Ama LCD'deki bölgesel bulanıklık her zaman düzeltilemeyebilir. Her üretici klavyede ortadaki Enter'ı farklı biçimde yapıyor. Başka bilgisayara geçince insanın eli ayağına dolanıyor. Özellikle dizüstündeki klavyelerin çoğu bu konuda kötü. Zıplayan fare imlecine çözüm yok mu? Toplu farelerdeki bu sorun aslında optik/lazer farelerde devam ediyor. Fare altını toz ve tüyden temizlemekten bıktık. Cep telefonlarının genelde 1 hafta pil süresi olmasına rağmen dizüstü bilgisayarların pil süreleri çok kötü. Yıllardır çözülemedi. CD ve DVD sürücüler çok gürültülü çalışıyor. Hatta bazı sürücüler CD'ye zarar veriyor, çizerek çalışamaz hale getiriyor. Dokunmatik (touchscreen) hala hayal, çok pahalı. Cep telefonlarındaki ekranlar küçük olduğu için parmak ile dokununca istenmeyen yerler de tıklanıyor. Üreticiler yavaş yavaş piyasaya sürerek kazanç elde ediyorlar. Mesela 512MB ve 1 GB bellek vardı, sonra 2 ve 4 GB sürüldü, sonra 8 ve 16 GB sürüldü. Acaba hepsi aynı görünümde olduğu halde çok mu zordur, tek parça içine istenen belleği yerleştirmek, teknoloji aynı değil mi? 2
• • • • • • • • • • • • • • • • • • •
Harici disk sürücülerinin bazıları ayrıca elektrik beslemesi istiyor. Bu diskler hem ağır, hem de taşınabilir mantığına ters. Kablo salatası... "Donanım Güvenli Kaldır" ile bellek çıkarılsa bile bozulmaması garanti değil. Buna daha iyi bir çözüm bulunabilir. Kasada güç düğmesi var ama reset düğmesi neden artık yok? Reset ile kilitlenme durumunda açıp kapamak çok daha iyi. Mürekkep püskürtmeli yazıcıların kartuş bitme ve kuruma sorununu halledebilen var mı? Lazer yazıcı mı alalım? (HP ColorSphere 1600, memnunum) MP3 çalarlara neden iPod diyoruz? Ha, selpak mendil demek gibi yani. Bu arada genelde mp3çaların radyo özelliği olsa bile ses kalitesi kötü. Buna da bir çözüm olmalı. iPod neden iPhone ile aynı arayüze sahip, madem aynı kasa olacak birleştirin bari. Dizüstü bilgisayarlarda neden sağlık yönünden de test değerleri söylenmiyor (geri dönüşümlü malzeme), performans değerleri (sadece Vista ve 7 için basit bir puanlama var) gizleniyor? Dizüstü bilgisayarlarda anakart önemli değil mi? Tüm parçalar listelenirken, anakart atlanıyor. Oysa en önemli parça budur. Yasaklı sitelerde girmek DNS ayarı ile kolayca aşılabiliyor. O zaman neden yasaklanıyor? Gerçekten kapatılacaksa başka yol bilmiyorlar mı, ya da kapatmasınlar. Virüs, truva atı veya spam gibi istenmeyen şeyler için kullanıcı mı önlem almalı yoksa işletim sistemi mi daha sağlam olmalı? CSS ve Javascript ile çok güzel şeyler yapılabiliyor, ama neden tüm tarayıcılarda aynı sonuç üretilemiyor? 1998'de Delphi programlama dilinde çok rahat bir IDE ve kodlama varken, hala neden diğer programlama dilleri bu seviyeye gelemedi? mIRC'dan ICQ'ya, Messenger'dan Facebook'a insanlar sadece chat için mi interneti kullanıyor? Çok fazla sanal arkadaş edinmek sosyal olmak mıdır? Neresi zevkli bunun? Dizüstü madem özgürlük sağlıyorsa, neden etrafta çayırda çimende dizüstü kullanan göremiyorum? Demek ki o kadar taşınabilirlik yok. Dizüstü çantaları pratik değil. El ve omuz ağrısına neden oluyor. Birde çantada bir sürü (fare, adaptör, ağ kablosu, ıvır zıvır) taşımak, toplamak, priz aramak, ağ aramak rahat değil. Teknolojiyi takip etmek hep son sürüm/çıkan şeyi alıp kullanmak değil ki. Harcanan paraya boşa. Zaten son olanı alsanız bile hemen ertesinde daha iyisini çıkarıyorlar. Bu hareketliliği seyretmek bile sinir bozucu. Televizyon nasıl çabucak açılıyor ve kapanabiliyor ise, bilgisayarlar da hızlı açılmalı ve kapat denince bekletmemelidir. "Hazırda beklet" geliştirilebilir. Bilgisayarda uzun yazıları okumak nedense zor geliyor. Mesela haber siteleri gibi. Bir de aralara bol reklam ekleyip, okunamaz hale getiriyorlar. İnternet haberciliği daha fazla gelişmeli. (Bu yazı da fazla uzun oldu.) İnternetten birşeyleri "öğrenmek" kolay ise neden bu amaçla kullanım az? İnterneti kendimizi istediğimiz bir konuda geliştirmek için daha fazla kullanalım.
Demek ki teknoloji aslında o kadar da süper bir yerde değil. Bu arada "Teknoloji Kimin Umurunda" kitabını okumanızı tavsiye ederim. 22.11.2009
ikinci vt - 2 http://cid-d0b01df58868413e.skydrive.live.com/self.aspx/Ortak/ikincivt2.rar adresinde PHP ve MySQL ile yaptığımız örnek öğrenci projesi var. Okubeni dosyası içi: Tasarım: Tarık Bağrıyanık Tarih: 22.11.2009 Site: http://yunus.sf.net Teşekkür: Yakup Aras ve Tuzlaatl T12C sınıfı (Fatih Yurdagül, Kadir Kuş, Erdal Hanoğlu, Ali Aslan, Burak Adıyaman) 0) Apache ve MySQL sunucuları çalıştırınız. 1) MySQL içine conf.php'de belirttiğimiz " okul " veritabanı oluşturunuz. 3
2) " conf.php " ayarları giriniz. 3) Daha sonra " http://localhost/ikincivt2 " adresini çalıştırınız. 4) Yönetici adı ve parolası admin:123 . Şu Anki Sürümde: - Öğrenci tablosunda listeleme, sayfalama, sıralama, arama, ekleme, güncelleme ve silme işlemleri yapılabiliyor. - Kullanıcı oturum açma ve yetkilendirme vardır. admin ve 123 olarak ilk kurulumda yönetici vardır. - .htaccess ile güvenlik ile ilgili bazı ayarlar bulunuyor. (404 sayfa bulunamadı gibi) - Öğrenci eklemede jquery ile sayı girişi ve eposta kontrolü vardır. - Adres alanında metin editörü var. (Internet Explorer ile tam uyum var) Yapılabilecekler: - Resim ekleme (veritabanı içine) - Güvenlik önlemleri (SQL/code injection, flood, xss, session, cookie) - Diğer tabloların düzenlenmeleri (Ders ve Notlar, Yonet tablosuna yeni yönetici ekleme gibi) - Açılır kutu, liste kutuları, onay kutuları gibi form nesnelerinin kullanılması - Yerinde Ajax kullanımı Bu projeden gerekli kod kısımları değiştirilerek Haber, Kütüphane, Müzik, Şiir, Tarih, Biyografi, Yemek Tarifleri gibi siteler yapılabilir. Sohbet, yorum ekleme, puan verilmesi, üyelik sistemi gibi eklentiler olabilir.
17.11.2009
PHP ve MySQL Örnek Uygulama http://cid-d0b01df58868413e.skydrive.live.com/self.aspx/Ortak/ikincivt.rar İlk veritabanını PHP ve Access 2003 ile yapmıştık. Şimdiki örneği ise PHP ve MySQL ile yaptık. Kurulumu kolay. MySQL içine okul veritabanını açmanız yeterli. Tabloları ister phpmyadmin isterseniz http://localhost/ikincivt adresinden kurabilirsiniz. 4
Buradaki örnek ile listeleme, sayfalama, ekleme, arama, düzenleme ve silme işlemleri öğrenilebilir. İleride sıralama, resim ekleme, kullanıcı girişi ve güvenlik önlemleri gibi eklentileri yapabiliriz. Ekran Görüntüsü:
10.11.2009
SQL Örnekleri Aşağıdaki örnekleri genel olarak eOgr projemden aldım. Kısa bir göz atma ile ne işe yaradıklarını siz de anlayabilirsiniz: 1 SELECT *, IF(konuAdi LIKE '%a%', 'var','yok') AS varMi FROM eo_4konu //tüm kayıt ve alanlar listelenirken, varMi adında bir sütuna da karşılaştırma sonucu geliyor 2 SHOW TABLES IN $mysql_database LIKE 'eo_%' //veritabanındaki eo_ ile başlayan tabloları getirir 3 SELECT DISTINCT eo_3ders.dersAdi AS dersAdi FROM eo_3ders, eo_4konu WHERE eo_4konu.dersID=eo_3ders.id ORDER BY eo_4konu.id //2 tablo arasında geçici olarak ilişki kurar, derslerdeki konular id’lerine göre sıranarak gelir, ada göre gruplanır 4 SELECT id FROM eo_5sayfa WHERE UPPER(cevap)=UPPER('$cevap') AND id='$id' LIMIT 0,1 //girilen cevap ile veri büyük harfe dönüştürülerek karşılaştırılır, işlemi 1 kayıt ile sınırlandırılır //LIMIT 5 OFFSET 3 denirse 3,4,5,6,7. kayıtlar gelir (OFFSET PostgreSQL uyumluluğu içindir) 5 SELECT COUNT(*) AS Toplam, AVG(value) AS Ortalama FROM eo_rating WHERE konuID=$konuID //belli bir konudaki oy toplamını ve ortalamasını getirir 6 SELECT eo_3ders.dersAdi AS dersAdi, eo_2sinif.sinifAdi AS sinifAdi, eo_1okul.okulAdi AS okulAdi FROM eo_4konu INNER JOIN eo_3ders ON eo_4konu.dersID=eo_3ders.id INNER JOIN eo_2sinif ON eo_2sinif.id=eo_3ders.sinifID INNER JOIN eo_1okul ON eo_1okul.id=eo_2sinif.okulID WHERE eo_4konu.id=$id //belli bir konudan id’ler ile konu; ders, sınıf ve okul tablolarına bağlanır (yetim kayıtlar gelmez), gerekli alanlar gösterilir 7 SELECT DATE_FORMAT(bitisTarihi, '%d-%m-%Y') as bitisTarihi , oncekiKonuID, konuyuKilitle, calismaSuresiDakika, calismaHakSayisi, sadeceKayitlilarGorebilir, sinifaDahilKullaniciGorebilir FROM eo_4konu 5
WHERE id=$id //belli bir konunun kısıtlama bilgilerini getirir, tarih biçimini gün, ay ve yıl olarak dönüştürür 8 SELECT eo_4konu.id AS id, eo_4konu.konuAdi AS konuAdi, COUNT(*) as toplam FROM eo_4konu,eo_userworks WHERE eo_4konu.id = eo_userworks.konuID GROUP BY konuAdi ORDER BY toplam DESC, konuAdi //konuları getirirken konu adı’na göre gruplanır, toplam alanına azalan ve konu adı’na göre artan sıralanır, böylece en fazla çalışılan konular getirilmiş olur 9 SELECT eo_3ders.dersAdi AS dersAdi, eo_4konu.konuAdi AS konuAdi, eo_2sinif.sinifAdi AS sinifAdi, eo_1okul.okulAdi AS okulAdi, SUM (eo_userworks.toplamZaman) AS toplam FROM eo_1okul, eo_2sinif, eo_3ders, eo_4konu, eo_userworks, eo_users WHERE eo_4konu.id = eo_userworks.konuID AND eo_users.id = eo_userworks.userID AND eo_3ders.id = eo_4konu.dersID AND eo_2sinif.id = eo_3ders.sinifID AND eo_1okul.id = eo_2sinif.okulID AND eo_users.id = $userID GROUP BY dersAdi ORDER BY toplam DESC //belli bir kullanıcının çalıştığı derslerin adına göre gruplar, toplam çalışma zamanına göre azalan sıralar, kısaca kullanıcının bitirdiği dersleri listeler 10 SELECT eo_5sayfa.konuID AS idsi, eo_4konu.konuAdi AS kadi, eo_3ders.dersAdi AS dersAdi, MAX (eo_5sayfa.eklenmeTarihi) AS tarih FROM eo_5sayfa, eo_4konu, eo_3ders WHERE eo_5sayfa.konuID=eo_4konu.id AND eo_4konu.dersID=eo_3ders.id GROUP BY kadi ORDER BY tarih DESC,kadi //son güncellenen konular getirilir, MAX ile gruplanan bilgilerdeki alt bilgilerin en büyüğü istenir 11 SELECT eo_4konu.id AS idsi, eo_4konu.konuAdi AS kadi, AVG (eo_rating.value) AS ortalama, COUNT (eo_rating.value) AS toplam FROM eo_rating, eo_4konu WHERE eo_rating.konuID = eo_4konu.id GROUP BY kadi ORDER BY ortalama DESC,kadi //en fazla oy verilen dersler getirilir 12 UPDATE eo_users SET userPassword=SHA1($a) WHERE id=$id //belli bir kullanıcının parolası güncellenir, SHA1 ile dönüştürülür 13 SELECT COUNT(*) AS say FROM eo_5sayfa LEFT OUTER JOIN eo_users ON eo_5sayfa.ekleyenID = eo_users.id WHERE eo_users.userType>0 AND eo_users.id = $id //belli bir kullanıcının eklediği sayfa sayısı bulunur, sayfalarda sonuç NULL dönse bile ilişki kurulur 14 SHOW TABLE STATUS LIKE '$tableN' //bir tablonun durum bilgilerini getirir, kayıt sayısı, dosya boyutu, dili… 15 SELECT eo_3ders.id FROM eo_3ders LEFT OUTER JOIN eo_2sinif ON eo_2sinif.id = eo_3ders.sinifID WHERE eo_2sinif.sinifAdi IS NULL //sınıflar içinde ders ile bağlantısı kopmuş (yetim) kayıtları getirir 06.11.2009
Fireworks CS3 Çalışmalarım 6
Pek grafik ve animasyon çalışmam olmadı daha önce. Eskiden blender (www.blender.org) ile 3D çalışmamız olmasına rağmen 2D'de vektörel çalışmam hiç olmadı. En iyisi 2 boyutlu çalışmalara alıştıktan sonra 3. boyuta geçmektir. http://www.adobe.com/devnet/fireworks/ adresindeki dersler www.fireworkstr.com sitesinden genel ipuçları elde edebiliyoruz. Kendi çalışmalarından örnekler:
Çizgi kahramanlar her zaman popüler!
Parlak bir dosya (klasör)
7
ve
Türkçe
olarak
Düğmeler güzel değil mi? Web 3 düğmeleri nasıl olacak acaba? 05.11.2009
CSS3 Testi http://www.css3.info/selectors-test/test.html edebilirsiniz.
adresinden
tarayıcınızın
CSS3
desteğini
test
Bendeki sonuçlar: •
IE 8.0.6001 : From the 43 selectors 21 have passed, 2 are buggy and 20 are unsupported (Passed 348 out of 578 tests)
•
Diğer Tüm Tarayıcılar (Safari 4.0.3, FireFox 3.5.4, Opera 10.01, Google Chrome 3.0.195): From the 43 selectors 43 have passed, 0 are buggy and 0 are unsupported (Passed 578 out of 578 tests)
Tavsiye Makale: http://www.smashingmagazine.com/2009/11/04/website-maintenance-tips-for-front-enddevelopers/ 04.11.2009
ilkvt PHP örneği http://cid-d0b01df58868413e.skydrive.live.com/self.aspx/Ortak/ilkvt.rar adresinde bugün okulda yaptığım PHP ve Access ile çalışan örnek site uygulaması var. "ilkvt" projesinde "PHP" ile "MS Access" veritabanı kullanarak "kisi" tablosundan veri listeleme, sıralama, arama, ekleme, düzenleme ve silme işlemleri yapmayı öğreniyoruz. Yapım süresi 6 saat, toplam kod satırı 463. "a.mdb" nin parolası 123123 . 1. Güvenlik açıkları (JS/SQL injection, flood, yönetici/kullanıcı/misafir kısıtlamaları ...) kapatılmamıştır. 2. Ayrıca OLE nesnesi türünde olan "Resim" alanı içine resim ekleme ve düzenleme yoktur. 3. Resim/video eklenmesi gereken klasörlerde 777 haklı olan dizinler kullanılması tavsiye edilmez. 4. İleride istenirse Tarih/Saat ve "Arama Sihirbazı" türündeki alanlar eklenebilir. 5. Veritabanı olarak MySQL kullanımı tavsiye edilir. Office 2007 de olsa Access veritabanı zamanla bakım gerektirir, güvenli değildir. 6. Bazı yerlerde de Ajax kullanılabilir (form kontrolleri, jquery, nicEdit, facebox gibi). 8
7. CSS ile arayüz daha fazla iyileştirilebilir, görselleştirilebilir. Ekran Görüntüsü:
30.10.2009
Yeni Yardımcı Programlar Tavsiye ettiğim programlara yenileri ekledim: • • • • • • • • • • • • • • •
Ad Muncher v4.8 : Tüm web tarayıcılarındaki reklam kısımlarını kapatır/göstermez Advanced System Optimizer : Disk, güvenlik, kayıt defteri gibi birçok hatayı gideriyor, donanım sürücülerini de güncelleyebiliyor Artisteer : HTML, ASP ve PHP şablon üretici Calibrize : LCD ekran parlaklık değerini düzenler ve Windows açılışında bu ayarı geri yükler CCleaner : Ücretsiz Windows temizlik programı Free Download Manager : Yeni ücretsiz indirme programım, kolay kullanım, Türkçe arayüz Frontlines - Fuel of War : Kaliteli grafikler, ilginç uzaktan kumandalı helikopter/mini tank benzeri savaşma Pop Peeper v3.5 : Ücretsiz mail okuma/gönderme programı Process Explorer : Ücretsiz gelişmiş görev yöneticisi Red Faction Guerilla : FarCry 2 tarzında güzel bir oyun Revo Uninstaller : Ücretsiz yazılım kaldırma programı, programı kalıntılarını siler Slax : Flash bellek içine dosyaları silmeden kurulabilen Linux sürümü (200 MB) SpyBot S&D : 660 bin üzerinde yaramaz yazılım/kayıt defteri hatası/truva atı bulabiliyor Totoise SVN : Windows Gezgini'ne entegre olan proje kod versiyon yönetim programı WinSCP : FTP ve SFTP destekli, dosya senkronizasyon yazılımı
18.10.2009
eOgr SVN eOgr açık kaynak projemiz http://eogr.googlecode.com adresinde takip edilebilir. Önerdiği için Selman Tunç arkadaşımıza teşekkür ederim. SVN güncellemesini de ilk kez uygulamış oldum. Tortoise SVN ile dosyalarınızı rahatça gönderebilirsiniz. http://tortoisesvn.net/downloads : 19 MB, sayfanın biraz aşağısında Türkçe sürümü var.
9
"Google Code" içinde hem kodlarınızı şıkıştırılmış dosya olarak gönderebilirsiniz (Download sekmesinde), isterseniz de SVN olarak da (Source sekmesinde) gösterebilirsiniz. Viki ve kod takımı (diğer kodlamacıları ekleyerek) oluşturmak kolay. Issue kısmında yapılması gereken işler ve eksikler ile ilgili mesajlar oluşturabilirsiniz. SourceForge içinde de bu imkan var, ama nedense hiç incelemedim. Google ise sanki daha hızlı ve basit gibi geldi bana. Hem belki arama bulmada da yardımcı olur. 14.10.2009
İyi ki Bilgisayar Öğretmeniyim İyi ki Bilgisayar öğretmeniyim. Yoksa teneffüslerde canım sıkılırdı, Şimdi ise bir oraya bir buraya koşuyorum.. Çay mı? Ne çayı içmeye fırsat bulamıyorum.. Hem çay zaten zararlı diyorlar mutlu oluyorum.. İyi ki Bilgisayar öğretmeniyim.. Öğrencilerimi tanımaya fırsatım da olmuyor, Haftada 40 dk görüyorum.. Simaları hafif tanıdık gelse yetiyor.. Öğrenciler dersimi de ciddiye almıyorlar.. Çünkü ben not falan vermiyorum.. Hem ciddiyet notla mı olur ne gereği var diyorlar,susuyorum.. İyi ki Bilgisayar öğretmeniyim.. Bazen beni okuldan eve geldiğimde de çağırdıkları oluyor, Yürüyerek gidersem spor oluyor, Otobüse binersem değişiklik diyorum.. Hem ne yapacağım evde gidip yine sorun çözüyorum.. İnternet bağlantısının yavaşlığının da sorumlusu benim ya, Eyvallah deyip geçiyorum.. İyi ki Bilgisayar öğretmeniyim.. Bu arada 10 parmak klavye kullanıyorum, İdarenin yazılarını yazdıkça klavyem de müthiş hızlandı.. Hee, bir de öyle kendimi geliştirdim ki, Eğitim fakültesinde öğrenmediğim, Projeksiyon sökme takma işlerini de bu sayede öğrendim.. İyi ki Bilgisayar öğretmeniyim.. Çoğu bana selam bile vermeyen öğretmenleri, İşleri düştüğünde tanıma fırsatım oluyor.. Ne olacak canım yapsam işlerini elime mi yapışacak, yapıyorum.. Yaptıklarım için teşekkür almasam da, Yapamadıklarım için aldıkları surat ifadesi hoşuma gidiyor.. İyi ki Bilgisayar öğretmeniyim.. Bazen okuldan saat akşam 5 gibi çıksam da, Çok şükür ek ders almıyorum.. Maaş karşılığını müzik dersi ile dolduruyorum.. Bir de ekders alsam ayın başında gidip bir de, Bankamatik sıralarında beklemekten korkuyorum.. İyi ki Bilgisayar öğretmeniyim.. Hep fotoğrafçılıkla uğraşmak istemişimdir. Törenlerde o iş de bana kalıyor.. En büyük hobim oluyor çektiğim fotoğraflar.. Web sayfasına koymak akşamları vaktimi alıyor ama; Ben koskoca bilgisayar öğretmeniyim.. Çoğu zamanda dersim bölünüyor, Ezik bir ses hocam bir bakar mısınız diye çağıyor.. 10
Ne yapayım bilgisayar öğretmeniyim ya kızamıyorum.. Ya yazıcıya kağıt sıkışmış oluyor, ya kopmuş bir internet bağlantısı.. Bazense durumu abartıp cep telefonum niye çekmiyor diyen de oluyor.. Eee malum koskoca bilgisayar öğretmeniyim ya, Olacak o kadar diyorum kızamıyorum.. Yanlış anlaşılmasın, Bunlar için egzersiz vs. ücret almıyorum. Eee ne olacak canım, Koskoca bilgisayar öğretmeniyim ben… İyi ki Bilgisayar öğretmeniyim.. Sürçi lisan ettiysek ne mutlu.. Hakan YANDIM-BilgisayarBilisim.Net Üyesi 04.10.2009
eOgr %90 bitti Önceki yazımda "kırmızı" olarak belittiğim 3 eksiği de giderdim. Şu anda www.tuzlaatl.k12.tr/eogr ve www.tbagriyanik.xtreemhost.com/eogr adreslerinde son halleri çalışıyor. İndirme adresi: http://cid-d0b01df58868413e.skydrive.live.com/browse.aspx/Ortak/eogr SiPro (Sınav Projesi www.tuzlaatl.k12.tr/sinav ) tamamen tarihe gömüldü. Kurulumu zor ve teknoloji olarak geri kaldı. Tavsiye etmiyorum. eOgr'da Ajax kullanımında iyi hale geldim sayılır. Ama hala OOP ve Flash entegrasyonu ile pek ilgilenmedim. PHP'de prosedürel programlamaya devam ettim. eOgr bir yıllık çalışma süresinde sona yaklaşırken 360 saat ve 15.000 satır oldu. Bu da Yunus projesinin (2 yıllık emek) 600 saat 24.000 satır halinin yarısı gibi. Yunus 1. projem ise eOgr da 2. oldu bu sayede. Delphi ve PHP dışında ileride 3. bir dilde bu kadar çok zaman harcayabileceğimi pek düşünemiyorum. C#, Python veya Java hep heves olarak ilgi bekliyor. ActionScript ve SilverLight da çok iyi yerlere geldi. VRML'den ise umut yok. Ancak www.blender.org ve Google SketchUp ile biraz oyalanılabilir. 1. Delphi 50.000 satırdan fazla toplam kod 2. PHP 35.000 satırdan fazla toplam kod 3. Basic projeleri 15.000 satır tahmini... CMS (Content Management System) veya LMS (Learning Management System) diye yola çıktık, elimden geleni yaptım. Ama gelecek Web3 "yapay zeka - zeki web - semantic web" ağırlıklı olacak. Şu anki mantığa Web2'ye yeni alışmaya başlamıştık. Ekran görüntüsü:
11
15.09.2009
SiPro ve eOgr Durum Karşılaştırması - 2 Özellik Aktif olan üyeleri simge ile belirtme Animasyon ve video dersteği Başlangıç ve bitiş arasındaki zaman Belli bir kursa/sınıfa öğrenci ve öğretmen atama Demo kullanıcı girişi Ders ve konuların gruplanabilmesi
SiPro 137a
eOgr 51
eOgr 97
var
yok
yok olmayacak
yok (swf dersler var)
var (flv, swf...) 8 ay Kasım 2008Haziran 2009
var (flv, swf...) 10 ay Kasım 2008-Eylül 2009
2 yıl, 2004-2006 arası
yok (öğretmen her sınavı yok düzenleyebilir) var yok
var sadece öğrenci için
Dil desteğinin otomatik seçimi yok
var (tarayıcı dili tespit edilerek)
var var (önceki bağımlı konu ve sınıf) var (tarayıcı dili tespit edilerek)
Dipnot ve ders sayfasında yönetilebilir parçalar
yok
var
Dosya gönderimi Favorilere ekle Flood koruması Forum
yok
var
yok
var (resim, ppt, swf sunu yok (imageshack ile ders gönderimi) resim gönderimi) yok yok var (üyelik, parola yok tekrarı önleme) var (sonradan kuruluyor yok Punbb)
Gelişmiş site seçenekleri (süre yok gözardı et, varsayılan değerler)
yok
yok olmayacak var
çok iyi, CSS ve Ajax ile daha modern görünüm gerekmez (777 istenen Güvenli Klasörler yok klasör yok) var (RSS olarak) ve ana Haber desteği yok var (RSS olarak) sayfada listeleme var (FCKEditor ile soru var (nicEdit ile konu var (nicEdit ile konu HTML Düzenleyici düzenleme) düzenleme) düzenleme) İngilizce ve Türkçe Dil desteği var var (%50 İngilizce) var (%85 İngilizce) var (başarı ve ders puan yok (ana sayfada birkaç var (ana sayfa ve giriş İstatistik bilgileri paylaşımı değerleri) sayım var) sayfasında) Kolay kurulum için sihirbaz yok var var Konu bitirme yüzdesi ve yok yok var Görünüm Grafik Desteği
iyi, Frame eski yöntem
12
çok iyi, CSS ve Ajax ile daha modern görünüm gerekmez (777 istenen klasör yok)
yok (imageshack ile resim gönderimi) var var (üyelik, parola tekrarı önleme)
süresini saklama Kullanıcı adının hatırlatılması (Beni Hatırla) Kullanıcı hareketlerini izleme Kullanıcı hesabını pasif hale getirebilme Kullanıcıların birbirine offline mesaj gönderebilmesi Kullanılan programlar Online olarak sınav yapımı Oyun Öğrencinin soru tavsiye edebilmesi Öğretmen kullanıcısını öğrenci yapabilme Parola hatırlatma Programlama Dili ve veritabanı Projenin dosya boyutu Rehberlik sayfası Sınav soruları veya ders kilitleme Sınav sorularını ve cevaplarını karıştırabilme Sınava girme sayısı kısıtlaması Sınavlarda zaman kısıtlaması Sohbet Soruların yazıcı önizlemesi Sunucunun durumunu ping ile görme Tablo ilişki hatalarını ve tablo boyutlarını gösterme Tablolarda sıralama, arama ve sayfalama Tema desteği Toplam kod satırı Toplam tasarım süresi Tüm tarayıcılar ve işletim sistemlerinde çalışabilme Üyeliğin anında başlaması Üyenin kendi bilgilerini gizleyebilmesi Veritabanı ayarlarının dosyası Veritabanı yamalamak için sayfa Veritabanı yedeği alma/geri yükleme Veritabanında parola bilgilerini şifreleme Veritabanını sql olarak kurabilme XSS, SQL enjeksiyon, kod enjeksiyon önlemleri XTML, CSS ve RSS validasyon testleri durumu Yardım sayfası Yeni üyelikte yöneticiye eposta Yönetici sayısı
var
yok
var
yok (sadece girişler kaydoluyor)
var (tüm veritabanı işlemleri)
var (tüm veritabanı işlemleri)
var
var
var
var
yok
CS3, Crimson Editor, PHPTriad, Xampp var
CS4, Notepad++, Artisteer, Xampp yok yok (ders içeriğinde var (satranç, WebChess) olabilir) var (onay gerektirir)
yok
var (yanlış başvurular için) eposta ile gönderim PHP 4 MySQL 4 713 KB var var var (sınav öncesinde iptal edilebilir) yok
var
var
eposta ile yeni parola PHP 5 MySQL 5 385 KB yok
eposta ile yeni parola PHP 5.3 MySQL 5.1 350 KB yok olmayacak
yok
var
yok yok
yok
var, giriş sayfasında eposta gönderimi CS4, Notepad++, Artisteer, Xampp yok yapılacak yok (ders içeriğinde olabilir) yok olmayacak, yorum/anket/oy VAR
yok
yok cevaplar Karıştırılabilir… var yok yapılacak, otomatik süre
var (sonradan kuruluyor var (Wtag, oda destekli) var (Wtag, oda destekli) X7Chat, oda destekli) var yok var yok
yok
var
yok
yok
var
var
var
var
var 7000 satır 200 saat evet (Frame destekli olmalı) var (sadece öğrenci için geçerli) var (kullanıcı adı hariç görüntülenmez) conf.php (içinde fonksiyonlar da var)
yok 7200 satır 205 saat evet (Ajax destekli olmalı) var (sadece öğrenciler için geçerli)
yok
var
var 11550 satır 315 saat evet (Ajax, JS ve Cookie destekli olmalı) var (sadece öğrenciler için geçerli) yok (sadece uye adları gözüküyor) database.php (içinde başka kod yok) yönetim panelinde export/import/repair var
var
var (Geri yükleme yok)
var
yok
var
var
var
yok, install.php ile kurulum var
yok, install.php ile kurulum var
var
var
var
hatalar var
orta
çok az hata/uyarı
yok var 1 adet
yok var birçok sayıda olabilir
var var birçok sayıda olabilir
13
yok database.php (içinde başka kod yok)
Yöneticilerin üyelere eposta atabilmesi
var
var
var
Ziyaretçi sayacı
var (kullanıcı ve üye düzenleme) var
var (çoğu tablo düzenlenebilir) yok
var (çoğu tablo düzenlenebilir) var - iz sayısı
var* yok* diğer toplam
30 20 12 62
21 28 13 62
37 11 14 62
Yönetim Paneli
14.09.2009
xtreemhost, ücretsiz PHP sunucusu www.xtreemhost.com ile http://tbagriyanik.xtreemhost.com/eogr projemi deniyorum. Bu 10 ayda 3. sunucu taşınması oldu. Okul sitemiz (www.tuzlaatl.k12.tr/eogr) ve ilk sunucum (www.tbagriyanik.no-ip.com) çalışmaya ara verince, mecburen başka yere projemi atmak zorunda kaldım. Kısıtlama fazla yok gibi gözüküyor, reklam yok, rar dosya desteği yok, hız orta. İlk kayıt başvurusunda www.co.cc 'den adres alınması zorunlu tutuluyor. Bu adres ile xtreemhost'u ilişkilendirmemiz zorunlu mu bilmiyorum. Sunucu özellikleri: • • • • • • • • • • • •
5.5 GB alan 200 GB bant genişliği (aylık) php mail desteği Nerede ise tüm hazır CMS kurulumları tek tık ile kurulabilir (drupal, joomla, wordpress...) Reklamsız GD destekli PHP5.2 phpMyAdmin 3.1.1 ve dosya yöneticisi FTP desteği vistaPanel kontrol paneli 50 alt alan izni 50 MySQL5 veritabanı (50 MB kapasite) İstatistikler (dosya kullanım ve günlük tıklanma)
02.09.2009
Windows 7 Bugün nihayet Windows 7 kurma fırsatım oldu. 2.3 GB'lik iso DVD'den yaklaşık 20 dakikada kuruldu. Bu arada XPSP3'de açılış menüsünde yerini aldı. XP ve Vista'ya göre kurulum hızlı, açılış hızlı, kapanış hızlı, uykuya geçme hızlı, uykudan açılış hızlı... Genel kullanım sırasında takılmalar yok. Paint, Write ve hesap makinesi değiştirilmiş olsa da Windows Gezgini'ne Vista'da olduğu gibi sevemedim. Arama kısmı da pek hızlı değil. Masaüstüne bağımsız parçalar halinde "Araçlar" eklenebilirken, "yapışkan notlar"ı eklemeyi unutmuşlar. Ayrıca program olarak çalıştırdıktan sonra "yapışkan notlar" görev çubuğunda yer kaplıyor. Sağ alt köşedeki "masaüstünü göster" değişikliği iyi fikir. Yanlışlıkla kısayolu silinebiliyordu. Görev çubuğunun normal yükseklikten 2 kat daha yüksek olması garip. Başlat simgesi de şişince eski sevimliliği kalmamış. Eski klasik menü türü artık yok. Bu da can sıkıcı bir durum. Ben hala Win95 stilinde olan günleri özlüyorum! İlk resimler:
14
Vista RAM'i beğenmeyip 5.4 puan verirken, W7'de Diski beğenmeyip puanımızı 5.9 yaptı! 28.08.2009
Tarayıcılar için Acid1, 2 ve 3 Testleri Mart 2008'de bir test yapmıştım. O zaman 3 tarayıcı Acid3 testinde %50 sonucunu zor buluyordu (IE 7, Opera 9.2, FireFox 2). Tarayıcılar sürünüyordu ama şu anki sonuçlar ise rahatlatıcı. Safari birinci olarak çıkarken iken MS-IE hala düzelememiş. HTML5 için Acid4 testi adresini elde edemedim. Daha yapılmamış. Bekliyoruz. CSS3 hala tasarım aşamasında. Şimdi tekrar test http://acid3.acidtests.org/ adresinde denediğimde şu sonuçlar çıktı: • • • • • •
Safari 4.0.3 : %100 ! (süper hızlı) Opera 10 : %100 (güzel) Google Chrome 2.0.172.43 : %100 ! (Linktest Fail dedi sadece) FireFox 3.5.2 : %93 Opera 9.64 : %85 IE 8.0.6001.18702 : %20 (uzun sürdü, sendeledi)
(Safari'nin Ekran Görüntüsü) Acid 2 Test Sonuçları da şöyle: www.webstandards.org/action/acid2 • • •
Tam: Safari, Opera Yavaş: FireFox ve Chrome (gözlerde biraz takıldı), IE (en yavaş sonuç) Geçemeyen: yok
15
Acid1 adresimiz: http://www.w3.org/Style/CSS/Test/CSS1/current/test5526c.htm Sonuç: Acid1 için %100 CSS1 ve HTML4 uyumu tüm tarayıcılarda var. Hala cep telefonu (mobil browser) için olan tarayıcılar bu standarda erişemedi. 26.08.2009
Yeni Xampp Çok Yetenekli! http://www.apachefriends.org/en/ adresinden Windows, Linux, Solaris ve Mac sürümleri indilebilir. 44MB olan sürümü Basic Package ve 26MB olan Lite sürümü var. 1.7.2 sürümünde PHP'nin yanında Perl (önceden de vardı zaten) ve ASP'de çalışabiliyor. Hatta ASP.NET 2.0'ı küçük bir eklenti ile çalıştırabilirsiniz. Tomcat 6.0 eklentisi ile de "Java Server Pages" çalıştırabilirsiniz. .NET 2.0 desteği için 330KB boyutundaki mod_aspdotnet-2.2.0.2006-setup-r2.msi dosyasını indirmek ve kurmak gerekli. Kurulum için yardımı şu siteden edinebilirsiniz: http://mschat.net/forum/index.php?topic=574.0 Şimdilik MSSQL ile çalışan eski ASP.NET ve ASP projelerimi çalıştıramadım. Hatta ilk kurulumda PHP projem eOgr çalışmadı. Phpmyadmin çalışırken eOgr'a ne olmuştu? Biraz uğraştıktan sonra sorunun yeni PHP 5.3 sürümünde gelen D:\xampp\php\php.ini içindeki bir ayardan kaynaklandığını buldum: short_open_tag = Off php.ini'deki açıklamada; yıllar içinde ?> arasına yanlış kod ve metinlerin girdiğini ve bunun güvenlik açıklarına neden olduğu yazıyor. Bu sebeple şeklinde kod yazımına alışmak gerek. Çoğu yerde zaten böyle yazmış olsam da tekrar tüm projedeki bu sorunu gidermek sinir bozucu oldu. Bu gibi durumlar da herhalde programcılığın amele tarafı... Xampp ile bilgisayarınızdan tek porttan (80 numaralı) HTML, PHP, ASP, ASP.NET, JSP, PL dillerini destekleyen siteler yayımlayabilir, FTP ve mail desteği verebilirsiniz. Neredeyse tüm veritabanı türlerini destekliyor. Kontrol panel programı çok daha iyileştirilmiş. "Setup" düğmesine basarak açılan DOS penceresinde 2. seçenek ile portable (sürücüden bağımsız) ayarlar seçebilirsiniz. IPv6 ve SSL (https) desteği ayarları değiştirilebilir. Resimde görüldüğü gibi "Svc" onay kutularını seçerek Apache ve MySQL'i arkaplanda çalışan servislere dönüştürebilirsiniz. Tavsiye ederim. Türkçe arayüzü olmasa da bundan iyi olan web paketi bilmiyorum!
16
(Exit ile programı kapatmanız çalışan programları kapatmaz.) 23.08.2009
Memik Yanık'tan Bir Alıntı... (Yorumsuz) Programcıların Hayırsever Hocasının Son Fetvasına İtirazımdır(*) Hocam programcılar için elinizden geldiğince hayır işlemeyi adet eylediğinize bütün programcı camiası şahittir. Binlerce programcıya uzaktan algılama teknikleri ile Ankara’nın tepelerinden yaptığınız yardımlar herkesin malumudur. Ama hocam son fetvanızla elimizi kolumuzu bağladınız. Muhterem hocam bir kısmını aşağıda arz ettiğim dertlerimizle ilgilenirseniz bütün programcılar size minnettar kalacaklardır. Dert 1: Hocam bu elin gavurları önce Windows diye bir işletim sistemi çıkardılar. Sonra da insanları sürükle bırak tekniği ile bir şeyleri bir yerlerden başka bir yere sürükleyerek taşımaya alıştırdılar. Yani bu gavurlar insanımızı tembel yaptılar. Eskiden yani Windows yokken DOS veya Unix yüklü bilgisayarlarda ne güzel Copy gibi komutlarla dosya kopyalıyorduk, CD komutuyla klasörlerin yani dizinlerin arasında keyfimizce dolaşıyorduk. Hocam tembelliğe meyilli milletimiz muhasebe gibi programlarda bile her şeyi sürükleyip bırakarak yapmaya başladı. Sizden feyz almış programcılar bu mecburiyetten dolayı sürükle bırak tekniğini her yerde kullanmaya başladılar. Hocam son fetvanızda gavurların drag-drop adını verdikleri sürükle-bırak tekniğini kullanmaktan biz programcıları men etmişsiniz. Hocam ne yapacağımızı şaşırdık. Gavurlar bu işi o kadar kolaylaştırmışlar ki sürükle bırak işlemi için 3 satır kod yazmak kolayımıza geldiği için birçok yerde kullanıyoruz. Hocam son fetvanızda sürükle bırak tekniğinden yararlanma hakkını sadece bir programcıya vermişsiniz. Hocam elinizi ayağınızı öperiz ne olur sürükle bırak tekniği olmasa bile bari yalnızca sürükleme işlemini serbest bıraksanız olmaz mı? Dert 2: Son fetvanızda Selection Sort algoritması ile sıralama yapılırken kullanılan i ve j gibi değişkenleri kullanmanın caiz olmadığını, suç teşkil ettiğini beyan etmişsiniz. Ama hocam Microsoft ürünü Visual Studio’da kod penceresinde iken for yazıp tab tuşuna basıldığında otomatik olarak hazırlanan for kalıbında döngü değişkenin “i” olduğu varsayılmaktadır. Muhterem hocam bu durumda her seferinde i yerine başka bir harfi kullanmak zaman israfı olmaz mı? Hocam bu konuda lütfen bize bir güzellik yapın. En azından Microsoft’taki dostlarınız vasıtası ile for döngüsündeki i yerine başka bir değişkenin yazılmasını sağlayabilirsiniz. Hiç olmazsa geçerli kullanıcının adı döngü değişkeni adı yapılabilir. Hocam Microsoft’a bir mail göndermeniz yeterli olur. Onlar için yama çıkarmak çocuk oyuncağı gibi bir şeydir. Hocam ta FORTRAN IV günlerinden bildiğiniz Selection Sort algoritması ile sıralama yapılırken iç içe 2 for döngüsü kullanılmaktadır. Haydi ilk döngünün kontrol değişkenine “i” dedik ama ikinciye j, üçüncüye k adını verme alışkanlığını insanlara aşılayan sizler değil misiniz? Yoksa bu 17
değişkenleri kullanmak öğrenciler için serbest mi? Hocam hiç olmazsa askerliğini henüz yapmayanlara, 2’den fazla çocuğu olanlara i ve j değişkenlerini kullanmayı serbest bıraksanız. Dert 3: Hocam Microsoft’un başımıza bela ettiği .NET Framework ile gelip ADO.NET adı altında gruplanan OleDbDataadapter ve SqlDataAdapter sınıflarının Fill() adında bir metodu vardır. Bu metot, söz konusu xxxDataAdapter nesnesinin SelectCommand özelliğine adı aktarılan Command nesnesinin SQL kodunu işletip çektiği verileri kendisine parametre olarak verilen Dataset veya Datatable nesnesine aktarmaktadır. Hocam fetvanıza göre Fill() metodunu kullanmak caiz olmadığı için kara kara düşünmeye başladık. Kendim xxxDataAdapter benzeri bir sınıf hazırlamak istedim ama Microsoft’un programcılarının hazırlayıp .NET Framework ile birlikte ücretsiz verdikleri sınıf kadar sağlam olmadı. Bu durumda ne yapmamı önerirsiniz? Bir taraftan fetvanıza uymak istiyorum bir taraftan da veritabanlarından Dataset’lere zahmetsiz veri çekmek istiyorum. Hocam lütfen bu derdimize bir çare. Dert 4: Hocam biliyorsunuz Visual Studio ve Delphi gibi programcıları tembelliğe alıştıran IDE’ler programcıların sık kullandıkları düğmeler, Metin Kutuları ve Liste Kutuları için metot hazırlamayı kolaylaştırmaktadır. Her ne kadar sizler derslerinizde IDE kullanmayın kodunuzu kendiniz yazın diye bizlere akıl vermiş olsanız bile bazılarımız gösterdiğiniz doğru yoldan sapıp Toolbox denilen araçtan yararlanıp Button’ları, Textbox’ları bana mısın demeden formlara, sayfalara yerleştirdik. Keşke program yazmak eskiden Cobol ile Pascal ile kod yazdığımız günlerdeki gibi olsa. Neyse hocam başınızı daha fazla ağrıtmayayım son fetvanızda Microsoft ürünü Visual Studio kullananları kınamışsınız ve demişsiniz ki tembellik edip forma Button nesnesi yerleştiriyorsunuz sonra da bu nesnelere ad seçerken bile tembellik yapıp basit isimler veriyorsunuz. Hocam Button, ListBox gibi nesnelere ad seçmeyi şairane bir faaliyet olarak görme temenninizi bütün programcılar takdir ediyor. Macar notasyonu gibi gavur icadı yerine Hayırsever Hocanın kodlama prensiplerini kendimize rehber etmeliyiz. Ama hocam ne olur fetvanızdaki bu emri hemen uygulamaya koymasanız. Bilakis Button nesnelerine Button1, Button2; TextBox’lara TextBox1, TextBox2 gibi adlar vermeye alışmış biz programcıların nesnelere hemen şairane isimler bulmaları kolay değildir. Dert 5: Hocam malumunuz olduğu üzere SQL Server gibi veritabanlarında SQL kodlarını Stored Procedure olarak saklamak adeti bulunmaktadır. Tabii bu Stored Procedure’lerin çoğu veritabanından veri çekmek amacıyla kullanılıyor olsa bile bazı kendini bilmez programcılar veritabanındaki tablolara kayıt girerken kullandıkları SQL kodu içinde INSERT INTO deyimine yer verip sonra da bu SQL kodunu Stored Procedure olarak veritabanına kaydediyorlar. Hocam fetvanıza göre Stored Procedure’ler sayesinde tablolara kayıt girmeyi yasakladığınız için ne yapacağımızı şaşırdık. Hocam hiç olmazsa bu fetvaya geçici madde koysanız.. Hani sürücüler trafik suçu işlediklerinde ceza puanı alırlar ve puanları 100 olduğunda ehliyetlerine bir süreliğine el konulur ya; fetvanızın Stored Procedure’ler ilgili bendine böyle bir ekleme yapsanız olmaz mı? En azından Stored Procedure kullanıp tablolara kayıt girme illetinden kurtulana kadar arada sırada kullanabilsek daha iyi olmaz mı? Dert 6: Hocam bilirsiniz Microsoft ne yapıp edip neredeyse her bilgisayara Word ve Excel programlarının kurulmasına muvaffak oldu. Bu nedenledir ki kullanıcılar bazen verilerini Excel tablosuna aktarmak, bazen de Excel tablosundaki bilgileri uygulama programları içinde kullanmak istiyorlar. Her ne kadar bu işlemi programcılar ODBC sürücüleri ile yıllardır yapabiliyor olsalar bile Microsoft’a ait Microsoft.Office.Interop.Excel adlı namespace’teki Application sınıfı ile yapmak zahmetsizdir. Ne var ki hocam bu Class programcıları tembelliğe gark eylediği tarafınızdan fark edilmiştir. Hocam programcılara hitabeden verdiğiniz son fetvanızda .NET uyumlu programlar dahilinde Microsoft.Office.Interop.Excel’deki Application sınıfının örneğini alıp Excel’i başlatıp çalışma kitabı hazırlamanın memleketin hayrına olmayacağını düşünerek yasaklamışsınız. Hocam hiç olmazsa fetvanızın bu maddesi daha önce yazılmış programları kapsamasın ve 2009 yılının 3.çeyreğinden itibaren geçerli olsun. Dert 7: Hocam biz programcılarda dert çok. Başınızı fazla ağrıtmamak işin son bir derdimi arz etmek istiyorum. Hocam malumunuz olduğu üzere Japon mali hesap makinelerinde önce 5 sonra bölü(/) devamında 0 tuşuna basıldığında hesap makinesi Casio olsa bile ekranına Error yazıyor. Yani kısa boylu Japonların yaptığı hesap makinesi tek haneli bile olsa bir sayıyı sıfıra bölemiyor. Hocam elin gavurunun yaptığı hesap makinesi bir yana bilgisayar programlarının güçleri sayıları sıfıra bölmeye yetmiyor ve benden bu kadar deyip çalışmasını sona erdiriyorlar. Bu durumda hocam sizin taktiklerinize sarılıp kullanıcının sayıları sıfıra bölmesinin önüne geçmeye çalışıyoruz. Ama hocam son fetvanızda programcıların sıfıra bölme hatasının önüne geçmek için hata yakalama bloğu hazırlamalarına icazet vermemişsiniz. Hocam bu fetvanız elimizi kolumuzu bağladı. Bir süre önce Microsoft ve Intel firmalarına mailler gönderip bu derdimize çare 18
bulmalarını talep ettim ama henüz bir netice alamadım. Elinizi öpüp ayağınıza kapıldığım hayırsever hocam insafa gelip fetvanızı azıcık gevşetseniz de sayıları sıfıra olmasa bile en azından 00’a bölmemize izin verseniz? * Bu metinde geçen herşey hayalidir, gerçek kişi ve kurumlarla bir ilgisi yoktur. Orijinal Adres: http://memikyanik.blogspot.com/2009/07/programclarn-hayrsever-hocasnnson.html 12.08.2009
10 Yıl Önceki Programlar İşte Palm Treo 650 içinde çalıştırabildiğim bazı program ve oyunlar:
dbase 3, ekrana sığmaması dışında sorunsuz...
Windows 98/95 Kur, bu ekranda kaldı...
WarCraft 1, sessiz, yavaş, fare istediğim gibi tıklamıyor (elemanları seçemiyor)
19
Mario, çok yavaş, zaten normalde de oynayamamıştım :)
QBasic, çalışıyor, çalıştırıyor, dosya kaydediyor, dosya açıyor...
Norton Commander, Fonksiyon tuşlarını kullanamadım, bulsam iyi olurdu
C dilinde kendi programım, fare istenen yere tıklatamıyor ama görüntü tam sığmış 11.08.2009
DOSBOX Çalıştı! PalmDOSBOX ile Palm Treo 650 içine sanal bir MS-DOS ortamı ekledim. Adresler: 20
•
• • •
http://palmdosbox.sourceforge.net/ : Biraz eski, güncellemiyorlar, PalmDOSBox.prc dosyasını indirin (ücretsiz) (http://sourceforge.net/projects/palmdosbox/files/palmdosbox/PalmDOSBox %20test/PalmDOSBox.prc/download) http://www.palmpowerups.com/ : UDMH programı bellek yetersizliğini gideriyor (ücretli) http://www.dosbox.com/wiki/Dosbox.conf : SD belleğin kök dizinine "dosbox.conf" yapmamız gerek. Site fazla detaylı. Benim ayarım aşağıdaki site ile aynı. http://theopoon.rinnovative.com/cgi-bin/viewpost.cgi? p=20061018122325;desc=PalmDOSBox_-_dosbox.conf
Telefon özelliğini kapatarak daha fazla RAM ve işlemci desteği alabiliriz. UDMH de aktif edildikten sonra, karta/telefona yüklediğimiz PalmDOSBOX programını çalıştırıyoruz. SD kart üzerinde DOS programlarımızı atabileceğimiz bir CDRIVE gibi bir klasör oluşturuyor ve dosbox.conf dosyasında c sürücüsü olarak buna (mount) bağlanıyoruz. İlk denemelerimde üniversitede staj projem olan PTT Ariza (Pascal dilinde) proje çalıştı. QBasic kendisi ve Basic'te derlenmiş başka bir program exe'si de çalıştı. Şimdilik Windows95, Windos3.1 ve eski DOS oyunları denemedim. Bakalım ne olacak. Klavyede tüm tuşlar olmadığı için : " gibi gerekli tuşları basamıyoruz. Yön tuşları telefonun navigasyon düğmeleri ile çalışıyor, aynı düğmeler joystick ve sığmayan ekranı kaydırmak için de kullanılabiliyor. Klavye ve dokunmatik ekranın sığmaması biraz can sıksa da, zaten amacımız devamlı kullanım değil. Tekrar telefon özelliğine geri dönmek için c:\> komut isteminde exit yazmanız yeterli
07.08.2009
Nihayet Palm Treo 650'de Linux! http://trlinux.org/2007/12/06/palm-treo-650-uzerinde-linux/ adresindeki 30 MB dosyayı indirip, sitede anlatılan adımları takip ederek bir amacımıza daha ulaşıyoruz. DOSBOX ile de Windows 95 kurabilirsem ileride ondan da bahsederim. Ama linux çok daha güzel ve uyumlu. Açılış hızı iyi gibi, daha tam kullanımını karıştırmadım ama çok hoşuma gitti. Masaüstü çok güzel... Türkçe desteğimiz yok ve linux açıkken telefon özelliği kapanıyor.
21
olsun...
31.07.2009
VBS ile Basit Bir Gereç Windows Scripting Host'u kullanarak bir klasör içindeki belli metin dosya türünde dosyalardaki satır sayısını bulan programı yazalım: Const ForReading = 1 dim baslangic dim toplam dim sayisi on error resume next baslangic = Inputbox("Folder Name","Choose","D:\xampp\htdocs\eogr") uzanti = Inputbox("File Extension","Choose","php") tekrarli = Msgbox("Include SubFolders", vbYesNo) 'bir hata meydana gelirse ekrana mesaj çıkmaz function tekrar (ByVal p) dim objFSO dim objFile dim s dim dizin dim altdizin dim dosya Set objFSO = CreateObject("Scripting.FileSystemObject") set dizin = objFSO.GetFolder(p) for each dosya in dizin.Files if ucase(right(dosya.name,3))=ucase(uzanti) and dosya.name<>"" then sayisi = sayisi + 1 Set objTextFile = objFSO.OpenTextFile(dizin & "\" & dosya.name, ForReading) objTextFile.ReadAll toplam = toplam + objTextFile.Line end if next if tekrarli=vbYes then for each altdizin in dizin.subfolders s=s & tekrar (altdizin) next end if tekrar = s end function
'sonuc döner 22
tekrar(baslangic) Wscript.Echo "Number of lines: " & toplam & " in " & sayisi Yapım adımları kısaca şöyle: 1. 2. 3. 4. 5. 6. 7.
Not defteri içine kodları kopyalayınız Kaydederken uzantısını vbs olarak değiştiriniz Kaydettiğiniz dosyaya çift tıklatınız (WSH aktif olması gerekli) Önce hangi dizine bakılacağı sorulur Hangi uzantı incelenecek sorulur Alt klasörlere bakılıp bakılmayacağı sorulur İşlem başlar ve ekrana kaç dosyada toplam kaç satır olduğu bilgisi verilir!
28.07.2009
PHP ile Nesne Türetme 2. OOP (Object Oriented Programming - Nesne Tabanlı Programlama) örneğimizi bir PHP dosyasına yazalım: class canli{ private $_tur; private $_adi; public function __construct($tur, $adi) { $this->_tur = $tur; $this->_adi = $adi; } public function __get($ozellik) { switch ($ozellik) { case "tur": return $this->_tur;break; case "adi": return $this->_adi;break; } } } class insan extends canli { public function bacakSayisi() { return 2; } } $birKisi = new insan("insan","ali veli"); echo $birKisi->adi , " isimli kişinin bacak sayısı: " , $birKisi->bacakSayisi(); echo "
Bu canlının nesne türü: " , $birKisi->tur; ?> EKRAN ÇIKTISI ali veli isimli kişinin bacak sayısı: 2 Bu canlının nesne türü: insan Basit kısa bir örnek ile canli sınıfından insan sınıfını türeterek (extends), yeni sınıfa bacakSayisi metodunu ekledik. private (özel) olan bir değişken (alan - field)'a dışarıdan değer gönderilemez/okunamaz. Ama $this->_adi diyerek sınıf içinde atama yapılabilir. Kendi içinde kısıtlama yoktur. Aynı örnekte kurucu (constructor) fonksiyon ve getter fonksiyonlar da var. C#'ın 4. sürümünde bu setter ve getter daha kısaltılıyor. Bu yazının Ingilizce kaynağı: http://reinholdweber.com/php/php-vs-python-vs-ruby-oop-stylesyntax/ 23.07.2009 23
Alıntı Bir Yazı "BİLİŞİM ÇAĞINDA ASLA YAPILMAYACAKLAR ve DİKKATLE YAPILMASI GEREKENLER Aşağıdaki yazı, bundan yıllar sonra belki de bugün yaptıklarından pişman olabilecek gençlere atfen kaleme alınmıştır. Yazıda geçen birçok düşünce ve uyarı herhangi bir bilimsel kaygı olmadan, sadece şahsıma aittir. Çok uluslu bilişim şirketlerinin çıkarlarına dokunacak ve belki de hukuki sorunlar doğuracak fikirlerimi gençlerin dikkatle okumasını ve Bilişim Çağı yutturtmalarına dikkatle yaklaşmasını dilerim. Ayrıca yazıda gençler için gerçek anlamda Bilişim Çağı gereklerine de değinilmeye çalışılmıştır. İstanbul, 20 Temmuz 2009 3G veya 3N'i boş verin; siz cep telefonunu az kullanın, kanser riskini arttırmayın! Temmuz sonu itibarı ile Türkiye'de düğün dernek başlayacak 3G (3N) yutturmalarına kanmayın. Boş verin; siz hiç meraklanmayın, cep telefonu az kullanın, kanser riskine dikkat edin. Bugünkü sağlık bakanımız bıçak sırtı sigara yasağı konusunda, Çernobil faciasından sonra "Bakın ben de çay içiyorum hiçbir şey olmuyor," diyecek kadar etik dışı söylemler içinde olan seleflerine göre tarihe geçecek kararlılık göstermiştir. Kendisini saygı ile alkışlıyor ve cep telefonları konusunda da benzer duyarlılık göstermesini bekliyoruz. Amerika kıtasında sigaranın zararlarının 40 sene saklanmış olduğunu öğrendiğimizde hepimiz şaşırmıştık. Evet, belki bugünkü teknoloji ve etik kuramlar ile GSM şebekelerinin zararları pek söz edilemiyor. Şunu bilmelisiniz; ne kadar aksi söylense de, tüm elektro manyetik dalga ışınımları vücudunuzun moleküler hücre yapısını değiştirir ve kanser riskini arttırır. Cep telefonlarını sadece birkaç on saniye kullanın, öyle yaya yaya rahat konuşmayın. Yatarken yatak ucunda tutmayın, hatta evde iken tamamen kapatın. Bir elektro manyetik önleyici kafes etkisi yarattığından, cep telefonunun iletişim kurabilmesi için gücünün otomatik olarak yükselteceği otomobil içinde cep telefonu kullanmayın. Özellikle çocukların ve gençlerin (onların kanser etkisini görebilecekleri daha çok yaşanacak yılları var) cep telefonu kullanımını sınırlandırın. http://www.nedendir.com/blog/genel/elektromanyetik-radyasyon.html Wifi, Wi-Max veya Bluetooth Telsiz hiçbir şey kullanmayın, kanser riskine dikkat! Tüm elektromanyetik yayılımlar kanser riski doğurur. Sizlere "Zaten her yerde televizyon, radyo..vs birçok yayın var!" diyecekler. İnanmayın! Kanser riski elektromanyetik yayılım yapan cihazın (verici halindeki radyo dalgası telsiz yayılımı) size yakınlığı ile orantılıdır. Yani kulağınıza götürdüğünüz bir cep telefonunun 5.000 Watt yayın yapan ama belki de 10 km uzaktaki bir televizyon vericisi ile karşılaştırılması ve "sorunsuz" bulunması yutturmacadır. Bu sebeple evinizde, yatak odanızda WiFi, WiMax, telsiz telefon dâhil hiçbir yayın cihazı bulundurmayın. Bluetooth kulaklık ile sürekli takıp dolaşmayın. Kanser etkisi telsiz cihazının beyninize ve diğer organlarınıza yakınlığı ve maruz kaldığınız süre ile de orantılıdır. Bu sebeple gençlerin ve çocukların riski daha fazladır. Bugün 50-55 yaşındakiler, şu ana kadar maksimum 15-20 sene bu yayılımı aldılar ve belki de 80 yaşına kadar yaşadıklarında vücutlarında kansere yakalanacak kadar radyasyona maruz kalmış ve bozulmuş moleküller pek oluşmayacak ama bugün 2-3 yaşından beri radyasyona maruz kalan günümüz çocukları için ben korkuyorum. Bundan 40 sene sonra "Evet biz bunu biliyorduk ama sakladık," dediklerinde "vah, vah.." çekmekten başka yapabilecek hiç bir şey kalmaz. Bilgisayar kullanımını sınırlandırın, "Yeşil" ve markalı ürünleri tercih edin Kore ve uzak doğuda evinden hiç çıkmadan yaşayan gençler gibi olmayın. Bilgisayarı gerçek ihtiyaçlarınız için özellikle eğitim ve araştırma amaçlı kullanın. Anlamsız Chat odaları veya forumlar yerine Wiki veya Google ile zaman geçirin. Günümüzde yüksek okul mezunu olmanın bile meslek sahibi olmak anlamına gelmediğinin bilincinde olun.
24
Kendiniz lise eğitiminden itibaren yetiştirin, meslek sahibi olmak için yüzlerce, binlerce imkânı internet üzerinde bulabilirsiniz. Ancak şunu bilin ki bilgisayar da elektromanyetik yayılım yapar. Bu sebeple en azından geceleri Torrent sitelerine erişmeyi bırakıp bilgisayarınızı kapatın. Bildiğiniz gibi 30 Mayıs tarihinden itibaren elektrikli ve elektronik eşyalarda bazı zararlı maddelerin kullanımının sınırlandırılması (RoHS, kurşunsuz üretim) yönetmeliği yürürlüğe girmiştir. Bilişim sektöründe özellikle Çin'den yapılan ithalatlarda bazı ürünlerin bu yönetmeliğe uymadığını görmekteyiz. Bu sebeple özellikle "Yeşil" ürünleri, üzerinde RoHS damgası bulunan ürünleri tercih edin. Türkiye'ye has övündüğümüz bilişim markaları bulunmaktadır. Bunlardan ayrı olarak Çin'de üretilen ve hiçbir standarda uymayan, elektriksel özellikleri ve güvenlik kriterleri çok kötü Türkiye'de markalanmış ucuz ürünleri tercih etmeyin. Bunlar hem RoHs ve EMI açısından hem de diğer elektriksel özelliklerinden dolayı güvenli olmayabilir. "Ama dedelerimizin kullandığı her donanım kurşun veya bakırdı?" palavralarına kanmayın, dedelerimizin hücreleri bu kadar yoğun radyo dalgası ışınımına maruz kalmıyorlardı. Televizyonunuz da dâhil tüm elektrik ve elektronik cihazlarını kullanmadığınız zaman stand-by değil kapalı tutun. Enerji üretmek için doğayı kirlettiğimizi hiç unutmayın. İngilizce, Almanca, Fransızca hangisini öğrenmeliyim? Bu da, çağımızın ÖSS aldatmacasından sonraki en büyük palavrasıdır. Siz Türkçeyi öğrenin. En önemli dil kendi dilinizdir. Gençlerin fare yerine klavyeyi daha çok kullanabildiği günleri görmek isterdim. Klavye kullanmak üretmektir; tıklamak ise tüketmek. Almanca, Fransızca, Rusça veya Çince hepsi boştur. Artık yabancı dil bilmek diye bir konu kalmadı. Dünya'da sadece iki dil var. Birincisi anadiliniz ve diğeri İngilizce. Bilişim çağında diğer dilleri "öğreniyorum" diye çabalamak anlamsızdır. "Çok büyük Alman şirketlerinde çalışırsın," önermesi tam anlamıyla palavradır. Bu şirketlerde çalışan insanlar aynı zamanda İngilizce de bilirler. Uluslar arası hukuk..vs. Siz sadece Fransızca yazılmış herhangi bir uluslar arası anlaşma biliyor musunuz? İngilizceyi internet üzerinden öğrenebilirsiniz. Yeter ki gayret edin ve çalışın. Öğrenmeyi şiar edinin. İnternette E-Posta ve benzeri iletişimlerinizde özgün bir form geliştirin İnternet üzerindeki tüm yazışmalarınızda kendinize özgü bir form geliştirin. Hiçbir zaman hiçbir ortamda anlamsız avatar veya nick name kullanmayın. İnternet üzerinde kendi imzanızla hiçbir anlamsız resim, bilgi sözcük bırakmayın, yarın bunlar dönüp sizi bulacaktır. İnternet üzerinde düzgün Türkçe ve doğru imla kuralları ile yazışın. Mutlaka mektuplaşma kurallarına uyun. İnternetin gevezelik edilen, ufak tefek çatışmaların yaşandığı, boş lafların, düşüncelerin bol keseden konuşulduğu bir ortam olduğunu sanmayın. FaceBook'a yüklediğiniz her içeriğin bile yarın bir başka ortamda önünüze geleceğini bilin. IP adresleri ve MAC Adresleri (Ethernet kartının fiziksel adresi) ile Dünya'nın neresinde olursa olsun kim olduğunuzun bulunabileceğini bilin. İnternet farklı bir yaşam biçimidir, aynen gerçek hayattaki gibi orada da bir benliğiniz vardır. Yüksek okul mezunu gençlerin yazışmalarda cümle kuramamaları, bazen isim soyadı bile belirtmeden mesaj göndermeleri gerçekten üzücüdür. Bilgisayarın başına oturduğunuz Dünya'nın sizin etrafınızda döndüğü sanısına kapılmayın. Yazışmalarınızda önünüzdeki tuşlar ile sadece bilgisayarla konuştuğunuzu sanmayın. Bu mesajı okuyacak karşınızdaki bir insandır. Üstelik mimiklerinizi, yüzünüzdeki anlamı göremeyeceğinizden sizi anlaması da daha zordur. Öncelikle alçak gönüllü olun, hiçbir şekilde kendinizi abartmayın, mesaj gönderdiğiniz insanın okuyabileceği uzunlukta açık seçik ve net anlatın. İnternette hikâye anlatmanız belki sizi mutlu eder ama gerçekte mesajınızın değerinizi düşürür. Kesinlikle nazik olun ve karşınızdakini küçümsemeyin. Hakaret etmeyin; bir insanın yüzüne doğrudan söyleyemeyeceğiniz hiç bir şeyi yazmayın. İnternet erişimi vazgeçilmezdir, mutlaka e-posta kapasitenizin yüksek olmasını (her mesaj için en az 10MB) sağlayın. E-Posta adreslerinizi sık sık değiştirmeyin ve mutlaka tüm e-postalarınıza bakın. Eğer her gün veya en azından iki günde bir bakamayacağınız adres varsa bunu mutlaka kapatın. Bazen iş ilanlarımıza bir hafta sonra cevap veren gençleri görüyor ve üzülüyorum. İnternet ortamında güven ve itibar; Sosyal Ağlar 25
[email protected] gibi isim ve soyadınızla açık ve net e-posta adreslerinden internet ortamına erişerek öncelikle insanlar üzerinde güven yaratın. İnternet ortamlarında güven ve itibarı biriktirin. Yarın bunlar size lazım olacaktır. Eğer mesleğinizi seçmeye yakınsanız mümkün olduğunca çabuk yaratıcı Alan Adı (Domain Name) bulun ve satın alın. Örneğin www.anneyiz.biz sizce de çok yaratıcı değil mi? Hiç olmadı; www.ahmet-saki.com gibi isminiz ve soyadınız ile alan adı satın alın. Web 2.0 ile internetin artık konservatif kapalı bir kutu olmaktan kurtulduğuna dikkat edin. Bu akım ile daha da yaygınlaşacak sosyal ağların iletişim ve etkileşimi üst düzeye çıkarmasını, inanılmaz bir potansiyel güç teşkil etmesini göz önüne alın. Gelecekte içinde bulunabileceğiniz etkili kurumsal iletişim için sosyal ağların kullanımı ve halkla ilişkilerin yaşadığı değişim sürecini izleyin. Sosyal Ağlarda özgün bir mevki edinmeye çalışın. Bilgi ve becerilerinizi dogmatik fikirlerden arındırarak paylaşın. İnsanlara yol gösterin ve karşılıksız yardımcı olun. Unutmayın teknoloji kendimizden yarattığımız bir doğadır. "Bilmiyorum" kelimesini unutun Çalıştırdığım elemanlara ilk öğrettiğim kuraldır. Onlara "Ben size ameliyat yapacaksınız bile desem, cevap olarak bana "bilmiyorum- diyemezsiniz," şeklinde öğütler veririm. Çağımızda "bilmiyorum" demek bence "Evet ben aptalım, öğrenemem" demek gibi bir cevap. En azından "öğrenmeye çalışırım" cevabını seçin. Günümüzde neyi kimin ve ne kadar bildiğini hayal bile edemezsiniz. Öğrenmeyi öğrenin. Bilişim çağında mutlak bilginin değeri gittikçe düşmekte, ihtisaslaşmış insanların derin bilgi ve tecrübesi bunun yerini almaktadır. Önemli olan mesleğinizde kazandığınız gerçek bilgi ve tecrübedir. "Yüksek okul mezunları iş bulamıyor," gerçek bir yutturmacadır. Doğrusu "Biz o kadar çok yüksek okul açıyoruz ki, seviyeyi tutturamıyoruz. Buradan mezun olanlar iş bulamıyorlar," olmasın? Bu sektörde birçok iş sahibi işletmeci dostum ve arkadaşım var, hemen hepsi bir şekilde eleman bulmanın zorluğundan bahsetmişlerdir ve halen sürekli benden "iyi eleman" talep ederler. Nasıl oluyor? Kendinizi yetiştirmeniz esastır. Donanım ve yazılım için http://www.darkhardware.com veya http://www.hardwaremania.com internet sitelerini http://www.chip.com.tr gibi bilişim dergilerini takip edin. Dünyanın en iyi mühendislik üniversitelerinden Berkley'in 2000 yılından beri tüm gerçek derslerinin videolarına koşulsuz erişilebildiğine inanabiliyor musunuz? Şahsıma ve çalıştığım STK'lara ait internet sitelerinde bile 53.000 sayfa bilgi, 350-400 eğitim videosu, sesli/videolu ders sunumları, simülatörler... vs var. En önemlisi ve bence aslında acıklısı bundan 2 yıl önce günde 12.000 kişinin ziyaret ettiği eğitim sitelerimize bugün artık sadece günde 8.000 kişi giriyor. Okuyun! Kitap okuyun, okuyan insan konuşmasını öğrenir, okuyan insan yazmasını öğrenir, üretmesini öğrenir. En önemlisi okuyan insan düşünmesini öğrenir. Dogmatik düşüncelere karşın analitik düşünme; çağımızın en önemli çelişkisi. Teknolojiye gereksiz yatırım yapmayın 28 senedir bu sektörde aslında genellikle "satıcı" rolünde gözükmeme rağmen insanlara "Hayır bunu satın almayın, bu kadar para harcamayın," demekten dilimde tüy bitti. Hep aynı örneği vermişimdir; bundan 10 sene önce 4.3GB bir hard diskin MB (Mega Byte) başına fiyatı 9 centti. Bugün bundan 232 kez büyük bir Tera Byte hard diskin MB başına fiyatı 180 kez daha azdır. Herkes size 18 ayda bir, yongadaki yarı iletken bileşenlerin sayısının 2 katına çıkacağını öngören şanlı Moore Kanunundan bahseder. İşte bu da benim kanunum; bilişim sektöründe 18 ayda bir teknolojik ürünlerin fiyatı yarıya iner. Siz sadece o gün ihtiyacınız olan kapasitede ve performansta teknolojik ürünler satın alın; paranızı sokağa atmayın, nasıl olsa belki de sadece bir sene sonra yarı fiyatına hem daha hızlısını hem de yenisini alabilirsiniz. BKM'ye inanmayın, siz herkese banka şifrenizi verin! (Güvenlik) Bu yazıyı okuyan gençlerimizin yüzeysel BKM reklamlarına nasıl güldüklerini biliyorum. Gençlerimizden hiçbiri bunu yapacak kadar aptal değildir. Güvenli konusu bu değildir, gençlere hitap etmeyen "güvenlikten" değil, ben size biraz gerçek Bilişim Güvenliğinden bahsedeceğim. 26
Merak etmeyin size virüslerden, kurtçuklardan, Truva atlarından veya arka kapılardan bahsedemem. Bu konuda ihtisas sahibi değilim. Öncelikle Bilişim Güvenliğinin ne olduğunu daha iyi kavrayabilmek için bunların hepsini bu dokümandan öğrenin. http://www.tbd.org.tr/webler/kamubiby/diger/BG2-2006.doc Benim önerilerim daha güncel ve basit. Öncelikle DEL tuşuna basarak bir şeyleri gerçekten sildiğinizi ummayın. Çöp kutusunu boşaltsanız bile birçok bilgi istendiğinde geri kazanılabilir. Bilişim çağında istenmeden elde ettiğimiz spam mesajların siz silseniz bile bazen bilgisayarınızda kalabileceğini bilin. İşletim sistemleri ve hard diskler bilgileri kayıt ederken ve silerken kullandıkları mekanizmalara tüm eski veri byte'larının tek tek sıfırlanması anlamında değildir. Bunu gerçekten böyle yapan, yani her bir hücreyi sıfır veya boşlukla doldurarak gerçekten silen (kazımak da denilebilir) özel programlar vardır. En olmadı; siz sık sık olmasa da arada bir hard diskinizde defragmantasyon (yeniden biçimlendirme) yapın. Bu işlem hard diskinizde rastgele silinen dosyaların oluşturduğu bütünlüğü tamamlayacak (tabii ki atık dosyaları da bir miktar silecek) ve sizi hızlandıracaktır. e-Postaların birçoğu resimleri mesaj ile birlikte göndermemekte, mesaj açılınca bir sunucudan resimlerin yüklenmesi seçeneğini içermektedir. Kurumlarda, sunucu üzerinden erişilen internet ortamlarında, spam e-postaların bile sistem odanızdan sizin anlamsız sitelere girdiğiniz şeklinde bir izlenim yaratabileceğini bilin ve sistemden sorumlu yöneticileri siz uyarın. Spam mesajların size kadar gelmemesini sağlamak onların sorumluluğundadır. STK'ların tüm karşı çıkmalarına rağmen internet ortamında yapılan yayınların düzenlenmesi ve bu yayınlar yoluyla işlenen suçlarla mücadele edilmesi hakkındaki çıkan 5651 http://btstk.org.tr/k5651.html nolu kanunu mutlaka dikkatle okuyun. "Ben amatör bir kullanıcıyım, beni ne ilgilendirir," demeyin. Örneğin bir blog siteniz var ve bir blogcu olarak internette içerik üretiyorsanız bu sizi kanunda bahsedilen şekilde içerik sağlayıcı yapar ve kimliğinizi gizleyemezseniz, gizlerseniz 2.000.- TL'den den 10.000.- TL'ye kadar para cezasına çarptırılabilirsiniz. Madde açık "İçerik, yer ve erişim sağlayıcıları, yönetmelikle belirlenen esas ve usuller çerçevesinde tanıtıcı bilgilerini kendilerine ait internet ortamında kullanıcıların ulaşabileceği şekilde ve güncel olarak bulundurmakla yükümlüdür." Yine 5651 nolu yasaya göre şirketler kullanıcılarının yasaklı sitelere girmesini engelleyecek tedbirleri alması gerekiyor. Meali şudur; küçücük işletmenize bir misafir geldi, Wireless erişimi sağladınız öğünerek, makinesini açtı ve yasaklı bir siteden kendisine spam bir mesaj geldi. Eğer siz kendi iç ağınızda (Wireless erişimini siz sağladınız; unutmayın) her bilgisayarın MAC adresi ile hangi tarih-saat aralığında hangi IP adresine sahip olduğu bilgisini tutmaz iseniz, polis Baykal'ın şoförüne gösterdiği toleransı size göstermeyebilir. 5651 numaralı yasayı ve eleştirileri okuyun. P2P, Peer-to-peer iletişime dikkat edin. Aslında bilgisayarları savunması kılan en kötü durum P2P yazılımlardır. Gençlerin bunun bilince olduklarına eminim. İnternet üzerinde %100 güvenlikten bahsetmek gerçekten zordur. Ancak bir yandan da tehlikelerin büyük bir çoğunluğunu bertaraf etmek de bir o kadar kolaydır. Bilişim Çağında gençlerin banka şifreleri girerken neden tuş takımını kullanmamaları gerektiğini, herhangi bir siteyi gezerken aktiveX süreçlerini, internet üzerinden gördüğü her dosyayı yüklememeleri gerektiğini bildiklerine eminim. Veri korunması ve kişisel bilgilerin gizliliği yanında sizlere telif haklarının korunmasından da bir miktar bahsetmek istiyorum. Her beğeniniz fotoğrafı kendi sitenize almayın. Telif hakkı üzerine odaklanmış ve bunu bir gelir kapısı olarak gören çeşitli "hukuk" büroları şahsen beni bile her sene en az 2-3 kez savcılığa taşımaktadır. Telif hakkı olabilecek her fotoğrafı kendi bilgisayarınızda tekrar işleyin ve fotoğraf içeriği içine gömülen bilgileri mutlaka gözden geçirin. Nasıl mı yapacaksınız? "Bilmiyorum" diyorsanız tüm okuduklarınızı unutun. Niyazi SARAL İstanbul, 20 Temmuz 2009" Üstteki mailde yazanların çoğuna katılıyorum. Okuması biraz zor geldi ise internette http://www.maxicep.com/bilim-ve-teknoloji/bilisim-caginda-asla-yapilmayacaklar-ve-dikkatleyapilmasi-gerekenler-235591.html adresinde daha okunaklı hali var. 16.07.2009 27
PHP'de Sınıf Atlamak Klasik alt program yazarak yapılan bir PHP kodunu OOP (Object Oriented Programming - Nesne Tabanlı Programlama) mantığına göre yeniden yazalım: 3 dosyamız var. index.php, gereklilerKlasik.php ve gereklilerOOP.php ... gereklilerKlasik.php içinde bildiğimiz alt program (function ve global değişkenler) yazarak hazırladığımız kütüphane dosyamız var. Bu dosya require veya include komutları ile index.php'ye dahil edilir. $_host = "localhos"; $_username = "root"; $_password = "";
//bilerek son harf silindi
function temizle($metin) { $metin = str_replace("\'", "`", $metin); $metin = str_replace("\"", "`", $metin); $metin = trim(htmlspecialchars($metin,ENT_QUOTES,'UTF-8')); return $metin; } function baglan() { global $_host; global $_username; global $_password; return @mysql_connect($_host, $_username, $_password); } function newPassw($sonu) { $seed=""; for ($i = 1; $i <= $sonu; $i++) $seed .= substr('0123456789abcdefghijklmnoprstuvyz', rand(1,32), 1); return ($seed); } function emailIsValid ($email) { if (eregi("^[a-z0-9._-]+@[a-z0-9._-]+.[a-z]{2,6}$", $email)) return TRUE; else return FALSE; } ?> gereklilerOOP.php dosyası aynı işlevleri sağlayan 2. sürüm kütüphane dosyamız. Bu dosya da require veya include ile index.php'ye bağlanır. class gerekli { var $_host = "localhos"; var $_username = "root"; var $_password = ""; public function temizle($metin) { $metin = str_replace("\'", "`", $metin); $metin = str_replace("\"", "`", $metin); $metin = trim(htmlspecialchars($metin,ENT_QUOTES,'UTF-8')); return $metin; } public function baglan() { return mysql_connect($this->_host, $this->_username, $this->_password); } public function newPassw($sonu) { $seed=""; for ($i = 1; $i <= $sonu; $i++) $seed .= substr('0123456789abcdefghijklmnoprstuvyz', rand(1,32), 1); 28
return ($seed); } public function emailIsValid ($email) { if (eregi("^[a-z0-9._-]+@[a-z0-9._-]+.[a-z]{2,6}$", $email)) return TRUE; else return FALSE; }
} ?> Ana dosyamız olan index.php'nin kodları:
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-9" />
PHP ile OOP Eski Klasik (Prosedürel) yöntem ile kütüphane kullanımı:
require("gereklilerKlasik.php"); $yol = baglan(); if($yol) echo "Bağlantı var."; else echo "Bağlantı hatası: [", mysql_error(),"]"; echo "
"; $temizlenen = temizle("
Test "); echo "Temiz Bilgi: [".$temizlenen."]"; echo "
"; echo "Bir Parola Üret: ".newPassw(6) ; echo "
"; echo "'
[email protected]' doğru bir eposta adres midir? ". (emailIsValid("
[email protected]")?"Evet":"Hayır"); ?>
Yeni Nesne Tabanlı (Object Oriented) yöntem ile kütüphane kullanımı:
require("gereklilerOOP.php"); $nesnemiz = new gerekli(); $yol2 = $nesnemiz->baglan(); if($yol2==TRUE) echo "Bağlantı var."; else echo "Bağlantı hatası: [". $yol2."]"; echo "
"; $temizlenen = $nesnemiz->temizle(" <script>alert('a'); "); echo "Temiz Bilgi: [".$temizlenen."]"; echo "
"; echo "Bir Parola Üret: ".$nesnemiz->newPassw(10) ; echo "
"; echo "'
[email protected]' doğru bir eposta adres midir? ".($nesnemiz>emailIsValid("
[email protected]")?"Evet":"Hayır"); ?> Class yazarak projenizdeki istediğiniz metod, değişken veya başka sınıfın izinlerini (public, private...) düzenleyebilir, daha portatif daha taşınabilir kod yazımına geçersiniz. Hız bakımından ise bir farkı yok şimdilik. Kod güvenliği artırılıyor. 14.07.2009
POP Mail Okuma http://www.poppeeper.com/ programı ile Mynet, Hotmail, Gmail ve Yahoo email adreslerinizi masaüstü uygulaması olarak kontrol edebilirsiniz. Ücretsiz programımız okunan mailleri sunucudan da silerek, birikmeleri engelliyor. Gönderilen maillerimizi de belgelerim klasörüde saklıyor. Ekleri açabiliyor ve yeni mail'de ek dosya 29
gönderebiliyor. Mail okunurken HTML, zengin metin ve düz metin görünümü arasında geçiş yapılabiliyor. Eklenti desteği var. Türkçe dil desteği var. Mail geldiğinde sesli ve görsel uyarı verebiliyor. Kısayolları Outlook Express ile aynıdır.
07.07.2009
MEGEP Modüler Eğitim İlk görev olarak Ocak 2006'da 1 haftalık bir seminer almıştık. O haftadan itibaren 2007 yılında 10. sınıflarda uygulanacak yeni sistem MEGEP'in temelleri atılmış oldu. (Daha önceki yıllarda pilot uygulamalar da var) Orada bize (40 kişi civarında alan uzmanı) modül bilgi sayfaları ve modül yazımı ile ilgili bilgiler verildi. Biz de eski sistemde yetişen öğretmenler olarak, bu sistemi anlamakta zorlandık ve bocaladık. Uzun konuşma ve tartışmalardan sonra mecburen yavaş yavaş işin içine girdik. Bu önemli süreçte bize yardım edebilen kimse yoktu. Modül yazımında görevli veya başka işler için görevlendirme alan arkadaşlara anladığımız kadarı ile MEGEP'in ne için yapıldığını anlatmaya çalıştık. Maalesef Bilişim alanı olarak görev alan ~100 kişiye tam anlatamadık. Zaten okula geri döndüğümüzde kendi arkadaşlarımız bile bizim ne yaptığımızı anlamamışlardı. Daha önceki yıl ise, 2005'di galiba, "Bilişim Öğretmeni" diye tüm Türkiye'den 30 öğretmen seçilmiş ve Tuzla Meslek Lisesi'nde 3 günlük bir seminer verilmişti. Bu seminer aslına MEGEP ile ilgili değildi, ama BilgeAdam, Cisco gibi piyasada sözü geçen firma temsilcileri gelip sıra ile bize bir şeyler anlattılar. Genel olarak kendi sistemlerini övdüler. (Daha sonra bilindiği gibi 2007'de Pardus ve CCNA/ITE kursları bu öğretmenlere verildi.) Her iki seminerden de kafamız karışmış, amacımızın ne olduğunu tam anlayamadan, bizden ne istendiğini anlamadan çıktık. Ocak 2006'daki seminerde bize birçok şey anlatılsa da o curcunadan aklımda kalan en önemli ve yapımı zor olan şey: modüllerin marka/firmadan bağımsız olmaları gerektiği idi. Mesela bir modül bırakın 100 sayfayı 30 sayfa bile olmamalı idi. Yani modülde ana başlıklar (alan uzmanları tarafından yazılan ve güncellenen bilgi sayfalarından gelen) ve o konunun "uygulamalı" olarak adım adım bölünmüş iş basamakları olacaktı. Bakın, “bilgi ve teori” denilmiyor. Ayrıca mesela "kelime işlemci" programı modülü diyelim, içinde "Microsoft Word" geçmemelidir. Konu adımlaması istenen herhangi bir ofis paket yazım programı ile uygulandığında aynı sonucu verebilmelidir. Ya da "Grafik ve Animasyon" modülünde Fireworks menüleri ve kısayolları anlatılması yerine işlem basamakları olmalı, böylece eskiden de tartışılan Photoshop mu Fireworks mü ortadan kalkıyordu. 30
Biz modüllerin altyapısını elimizden geldiğince sağlam yerlerden alsak da, modül yazımında maalesef modüller istenen seviye ve biçime ulaşamamış, binlerce güncellenmesi zor, modül sayfaları yazılmıştır. O sırada tek dayanağımız "Türkiye"de Türkçe Kaynak çok az olması ve bari öğrenci modülden öğrensin mantığı idi. Çoğu konuda internetteki siteler yetersiz, kitaplar yetersiz. Çoğu modül yazarı da İngilizce bilmiyor, hatta o konuda pek de bilgili bile değildi. Modül yazarlarının uzmanlık artı bunun üstüne yazarlık durumları pek olgun değildi. Bir x konusunda y firması dünyada tek ise modülünde marka adı ve o markanın menüleri/ekran görüntüleri kullanılması normal olabilir. Mesela "sunucu işletim sistemi" Microsoft Server'dan başka yok. Aynı şekilde "eposta sunucu" denilince Exchange Server akla gelir. C# mı olsun VB mi olsun konusunda bol bol tartışma olacağına konular esnek bir alt yapı içinde, ister Delphi, ister C++, ister Java da olabilirdi. Burada akla gelen ‘"Mesleki Yeterlik Sınavı"nda sorulacak soru C# mı olacak VB mi olacak?’ denilebilir. Oluşturulan soru havuzunda soruları hazırlayan kişi, daha iyi düşünülebilir. ÖSS'de bile soru hatası olabiliyor, ama yine de titiz olunursa bu problem aşılabilir. Önemli olan 1 modülde 1 "yeterlik"in öğrenciye kazandırılmasıdır. Piyasada, okuldakinden farklı bir konuda iş yapılması istenirse, ona da uyum sağlayabilir. Yani “ben bundan anlamam” dediğinde, kapı dışarı edilmemesi için öğrencinin yeteneklerini daha bağımsız düşünebilecek şekle sokmak gerektiğidir. Tabi önce öğretmenlerin eğitimi önemlidir. Binlerce meslek lisesinde çalışan öğretmen yeni sisteme daha kolay nasıl adapte olabilir? Her yıl değişirse, tam öğrendim derken, hop artık bu ders yok denilirse, öğretmenin de motivasyonu kalmaz. Bir arkadaşımız “neden Açık Kaynak’ta sadece Pardus var, Macintosh neden yok” demişti. Belki firmadan bağımsız az sayfalı modüller olsaydı, o öğretmen elindeki imkânlar ile daha fazla öğretebilirdi. İnanılması ve yapılması zor (çok emek isteyen) şeyler: 1- Modül sayfalarının bilgi'den kurtarılması, sayfa sayısının çok çok azalması 2- Araştırma, işlem basamakları (modül faaliyetleri)nin göstermelik değil gerçekten işe yaramaları 3- Konuyu sadece bir ürüne bağlı anlatmamak (menü ve kısayol ezberletmemek) 4- Öğrencinin ve öğretmenin zamana (çağa) uygun olarak bilgiler edinmesi (kim uğraşacak?) 5- Dersler sadece mesela AKK haftada 3 saat içinde bitmez, 1 modül için 40 saatlik çalışma gerektiği, şu 16/40, 32/40 mantığı 6- Öğrenci daha önceden yapılmış proje ve konu anlatımları getirerek öğretmenin gözünü boyamaması 7- Uygulamalı eğitime geçiş (zaten teorik diye ders yok, öğrenci hazırlıklı gelecek) 8- Ders saatlerinin 10, 11 ve 12. sınıflara uygun şekilde dağıtımı (her hafta bir sürü modüle hazırlanmak öğrenci için bıktırıcı olabilir) 04.07.2009
pdfcoke Geçen ay www.pdfcoke.com sitesinde CCNA sorularını bulunca bu site ilgimi çekti. Ayrıca google'da arama yaparken kendi kitabımın (Uygulamalı Genel Programlama) eklendiğini görmek bana gurur verdi. Doğan Tuncer arkadaşımıza teşekkür ederim. http://www.pdfcoke.com/doc/16052030/Uygulamal-Genel-Programlama Kendi eklediğim kitaplarım için: http://www.pdfcoke.com/tbagriyanik PDF ve DOC dosya atabiliyoruz. Ayrıca "tam ekran" kitap okuma ve kitap içinde arama özellikleri çok güzel. Üye olduğunuzda dökümanı PDF olarak indirme imkânınız oluyor. 04.07.2009
eÖğrenme ve MEGEP eÖğrenme'ye uyumlu modüller tüm alanlar için geçerli olmalı. Sadece Bilişim için değil. Özellikle Cisco'nın eğitim stratejisi örnek alınabilir. Çevrimiçi öğrenme yöntemleri ile binlerce insan yetiştirilebilir. Kalifiye hale getirilebilir. İçerik ve deneme sınavları çevrimdışı çalışmaya 31
müsait olmalıdır. "eÖğrenme ile öğrenci 135 modül 8000 sayfa okumaktan kurtulacak ve basit çevrimiçi test yöntemi ile sertifika kazanacaklardır" demiyorum. Yine öğrenci okumak araştırmak ve uygulamak zorundadır. Öğretmen de yönlendiricidir. Öğrenciyi denetler. Yani öğretmenin fonksiyonu 10 saat ders anlatmak olmamalıdır. "eÖğrenme ile öğretmensiz eğitim olabilir" de demiyorum. Öğretmen veya usta öğretici sayesinde öğrenci körelmez, başka konulara dalmadan, çizgisini bozmadan yoluna devam etmesi sağlanır. Modüller elden geçirilirken veya yeniden yazılırken tüm modüller için bir stil oluşturulabilir. Modüllerin okunmasını kolaylaştırıcı, anlaşılmasını hızlandırıcı olacak şekilde profesyönel yaklaşılmalıdır. Modüllerin indeks ve fihrist özellikleri yapılmalıdır. Piyasada kitap yazan öğretmenlerimiz, tabii ki destek olabilirler. Ama burada amacımızın, öğrenciyi bilgi veya terimlerle boğmak olmadığı unutulmamalıdır. İngilizce çevrimlere dikkat etmeli, Türkçe karşılığı olmayan terimlere uygun karşılıklar aranmalıdır. Orijinal ismi dipnot olarak verilmelidir. İçerik oluşturulurken sadece öğretmen değil piyasadaki uzmanlardan destek alınmalıdır. İçerik hazırlanması bitince, "eğitim ve öğretime" uygunluk açısından test edilip, düzeltilmesi gereklidir. Türkçe yazım hataları ve grafik, tablo hataları elden geçirilmelidir. Bu işlemler aceleye getirilmeden yapılmalı, disiplinli bir şekilde ince eleyip sık dokuyarak yapılmalıdır. İçerik oluşurma ve onaylama aşamaları birkaç kişiye bırakılmamalı, kalite artması için daha fazla insanın gözden geçirmesine izin verilmelidir. Değişiklik ve iptallerin anında öğrenci ve okula bildirilmesi için bu sisteme uygun bir web uygulaması gereklidir. Bunu da en iyi eÖğrenme araçları sağlayabilir. Etkileşimli ve geri dönüşümlü olan "web" euygulamaları, insanları biraraya getirmek için güzel bir fırsattır. Türkiye'de çok fazla ziyaret edilen sitelere bakılacak olursa (facebook, yonja, blogcu, frmfr, ekşi sözlük, haberler, dosya indirme siteleri...) insanlarımız uzaktan eğitim altyapısını sağlayan siteleri, ders almadan rahatça öğrenip kullanabilir. http://xhami.blogspot.com/2009/06/turkiyenin-en-cokgirdigi-siteler.html eÖğrenme yöntemi: - http://www.infinityteknoloji.com/icerik/e-ogrenme-ne-tur-avantajlar-saglar.html - http://www.bilgiyonetimi.org/cm/pages/mkl_gos.php?nt=686 - http://www.enocta.com/web2/ShowSinglePages.asp?PageName=danismanlik&T=2 http://tr.wikipedia.org/wiki/Uzaktan_eğitim_ile_yüzyüze_öğrenme_arasındaki_farklar,_avantaj,_dez avantajlar Uzaktan eğitim yönteminin 1700'lü yıllara dayandığını, eöğrenme (mobil öğrenme) yönetminin temellerinin de 1970'lı yıllara dayandığını biliyoruz. 1990'lı yıllarda CCNA ve MCSE sertifikaları bu yöntem ile verilmeye başladı. MEGEP temel olarak eski eğitim sisteminin yenilenip, 30 yıl aynı konuların tekrar tekrar anlatılması değil, çağa uygun ileri bir eğitim sistemi amaçlar. Kişisel amaçlarımızdan daha önemli olan çocuklarımızın geleceğinin parlak olmasıdır. Ne kadar fazla dallara ayrılır ve kaliteyi düşürmez isek o kadar fazla işsiz insanımıza gelecek sağlanacaktır. Bilişim sadece LCD TV, cep telefonu ve dizüstü bilgisayar tüketimi değildir. Yazılım ve donanım olarak Türkiye'nin de payı vardır. Borsa'da Bilişim'in işlem hacmine bir bakın. %10 bile değildir. 15.06.2009
"Sinav Projesi" ve "eOgr Projesi" Karşı Karşıya SiPro ve eOgr projelerim için ayırdığım zaman ve kod satırı nerede ise aynı hale geldi. İşte karşılaştırma tablosu: Özellik Aktif olan üyeleri simge ile belirtme Animasyon ve video dersteği Başlangıç ve bitiş arasındaki zaman
SiPro 137a var yok (swf dersler var) 2 yıl, 2004-2006 arası
32
eOgr 51 yok var (flv, swf...) 8 ay Kasım 2008-Haziran 2009
Belli bir kursa öğrenci ve öğretmen atama Demo kullanıcı girişi Ders ve konuların gruplanabilmesi Dil desteğinin otomatik seçimi Dosya gönderimi Flood koruması Forum Görünüm Grafik Desteği Güvenli Klasörler Haber desteği HTML Düzenleyici İngilizce ve Türkçe Dil desteği İstatistik bilgileri paylaşımı Kolay kurulum için sihirbaz Kullanıcı adının hatırlatılması (Beni Hatırla) Kullanıcı hareketlerini izleme Kullanıcı hesabını pasif hale getirebilme Kullanıcıların birbirine offline mesaj gönderebilmesi Kullanılan programlar Online olarak sınav yapımı Oyun Öğrencinin soru tavsiye edebilmesi Öğretmen kullanıcısını öğrenci yapabilme Parola hatırlatma Programlama Dili ve veritabanı Projenin dosya boyutu Rehberlik sayfası Sınav soruları veya ders kilitleme Sınav sorularını ve cevaplarını karıştırabilme Sınava girme sayısı kısıtlaması Sınavlarda zaman kısıtlaması Sohbet Soruların yazıcı önizlemesi Tablolarda sıralama, arama ve sayfalama Tema desteği Toplam kod satırı Toplam tasarım süresi Tüm tarayıcılar ve işletim sistemlerinde çalışabilme Üyeliğin anında başlaması
yok (öğretmen her sınavı düzenleyebilir) var yok yok var (resim, ppt, swf sunu ders gönderimi) yok var (sonradan kuruluyor Punbb)
yok
yok var var (tarayıcı dili tespit edilerek) yok (imageshack ile resim gönderimi) var (üyelik, parola tekrarı önleme) yok çok iyi, CSS ve Ajax ile daha iyi, Frame eski yöntem modern görünüm yok gerekmez (777 istenen klasör yok) yok var (RSS olarak) var (FCKEditor ile soru düzenleme) var (nicEdit ile konu düzenleme) var var (%50 İngilizce) var (başarı ve ders puan değerleri) yok (ana sayfada birkaç sayım var) yok var var
yok
yok (sadece girişler kaydoluyor)
var (tüm veritabanı işlemleri)
var
var
var
yok
CS3, Crimson Editor, PHPTriad, Xampp var var (satranç, WebChess) var (onay gerektirir)
CS4, Notepad++, Artisteer, Xampp yok (şimdilik) yok (ders içeriğinde olabilir) yok
var (yanlış başvurular için)
var
eposta ile PHP 4 MySQL 4 713 KB var var var (sınav öncesinde iptal edilebilir) yok yok (sadece ders kilitleme var) var (sonradan kuruluyor X7Chat, oda destekli) var
eposta ile PHP 5 MySQL 5 385 KB yok yok
var
var
var 7000 satır 200 saat
yok 7200 satır 205 saat
evet (Frame destekli olmalı)
evet (Ajax destekli olmalı)
var (sadece öğrenci için geçerli) var (kullanıcı adı hariç Üyenin kendi bilgilerini gizleyebilmesi görüntülenmez) conf.php (içinde fonksiyonlar da Veritabanı ayarlarının dosyası var) Veritabanı yamalamak için sayfa yok Veritabanı yedeği alma/geri yükleme var Veritabanında bilgileri şifreleme yok Veritabanını sql olarak kurabilme var XSS, SQL enjeksiyon, kod enjeksiyon var önlemleri Yeni üyelikte yöneticiye eposta var Yönetici sayısı 1 adet
33
yok yok yok var (Wtag, oda destekli) yok
var (sadece öğrenciler için geçerli) yok database.php (içinde başka kod yok) var var (Geri yükleme yok) var yok, install.php ile kurulum var var var birçok sayıda olabilir
Yöneticilerin üyelere eposta atabilmesivar Yönetim Paneli var (kullanıcı ve üye düzenleme) Ziyaretçi sayacı var
var var (çoğu tablo düzenlenebilir) yok
Projelerin çalışır hallerini incelemek için http://tbagriyanik.no-ip.com adresini ziyaret edebilirsiniz. SiPro indirme adresi: http://downloads.sourceforge.net/yunus/sinav136c.zip?use_mirror=osdn eOgr indirme adresi: http://cid-d0b01df58868413e.skydrive.live.com/browse.aspx/Ortak/eogr 13.06.2009
Yeniden XP! Geçenlerde PerfectXPSP3'ü görmüştüm. Tek CD'de Office, bir sürü program var. Nihayet dün bilgisayarıma kurdum. Önce sanal makinede denemiştim. Çok beğendim. Kuruluma akşam saat 9'da başladım. 12:30'da hemen hemen bilgisayara işletim sistemi kurulumu ve program kurulumunu bitirdim. Tek sorun; C:'deki Vista üzerine format atmadan kurduğumdan, IE8'nin çalışmaması oldu. IE'nin "program files" klasöründeki eski hali yeni kurulumu reddediyor. Bu nedenle klasörün adını değiştirerek tekrar IExplorer kurdum. Biraz nazlandıktan sonra IE kendine geldi. MSN Messenger da nedense açılmıyordu. Unistall ve reinstall, reset derken çalışmaya başladı. Bu sefer de çok sevdiğim bir özellik olan hotmail'in messenger'dan tıklanarak açılması çalışmadı. http://en.kioskea.net/forum/affich-80053-messenger-2009-won-t-open-email-link adresindeki çözüm ile problemi düzelttim. Ayrıca Eset, Office2003 (Access yok) ve birçok gereksiz programı silip, Avira, Tam sürüm Office, programları kurdum. CD kurulum ekranında PartitionMagic, Acronis ve Ghost seçenekleri de vardı. Acronis ile laptoplardaki kurtarma tuşu gibi isterseniz siz de PC'niz için kurtarma noktası ekleyebiliyorsunuz. 3 program da Teknik servis elemanlarının temel programlarıdır. Performans olarak Vista açılışı yavaş, kapanışı hızlı iken, XP açılışı hızlı, kapanış orta hızda. XP bazı programları rahatça açabilirken, Vista seçici davranıyordu. Uygulamaları şimdi istediğim gibi çalıştırabileceğim. Zaten kurduğum Vista'nın görünümünü aynı XP gibi yapıyordum. Görüntü olarak aslında hala Windows 95/98'u özlediğimi söyleyebilirim. Mesela Windows Gezgini ve Dosya Arama eskisi kadar iyi değil, eskiden daha hızlı çalışıyordu sanki. Tavsiye Programlar: • • • • • • •
Everthing : http://www.voidtools.com/ Avafind'dan daha sade ve hızlı arama programı Internet Download Manager: http://www.internetdownloadmanager.com dosya indirme programı SpyBot S&D ve Avira: Virüs ve truva atı koruma Xp AntiSpy: http://www.xp-antispy.org/ ince ayar programı KMPlayer: http://www.kmplayer.com medya oynatıcı Foxit Reader: Adobe Acrobat Reader yerine geçti Notepad++: http://notepad-plus.sourceforge.net/uk/site.htm yetenekli not defterim
30.05.2009
50 bin ziyaret Genel olarak bazı değişiklikler var. •
• • •
Şu anda günlüğümün ziyaretçi sayısı 50 000'i aştı. Aynı şekilde http://yunus.sf.net 'in de ziyaretçi sayacı 55 bin'den fazla. Toplam dosya download'ı 26 GB. http://sourceforge.net/project/stats/detail.php? group_id=164760&ugn=yunus&type=prdownload&mode=alltime&package_id=0 eOgr yani eöğrenme projem 47. beta sürümüne geldi. http://tbagriyanik.no-ip.com adresinde inceleyebilirsiniz. Cisco'nun 2007 CCNA1 kursundan sonra yine bu ay kursa katıldık. IT Essentials 4.0 ve CCNA Discovery kurslarını alıyoruz. Okul derslerini tamamladık. Web tasarımı ve programlama dersindeki örnekleri göndermek isterdim ama 30 MB. Aradan gereksizleri ayıklamak gibi bir işe de kalkışamadığımdan 34
galiba sizinle paylaşamayacağım. İçinde 16 haftada işlediğimiz yaklaşık 40 örnek ASP.NET çalışması var. 28.05.2009
Viki Vandallığı Aşağıdaki yazı ile tr.wiki'de başıma gelen bir olayı anlatıyorum, buyrun okuyun: Yenilenen wiki sayfa adreslerim: 1. http://apps.sourceforge.net/mediawiki/yunus/index.php?title=SiPro_S%C4%B1nav_Projesi 2. http://apps.sourceforge.net/mediawiki/yunus/index.php?title=Yunus
Viki'deki maddelerimi silen arkadaş ile arada geçen diyalog:
== Yunus Programlama Dili ve Sınav Projesi silinmesi == Yunus programlama dili 2006 yılından beri durduğu halde 25 mayıs 2009'da silindi. SiPro - Sınav Projesi eöğrenme ile ilgili bir açık kaynak projedir. Daha yazımı bitmeden silindi. Silmek yerine uyarı konulabilirdi. Vandalizm yaptığımı zannetmiyorum. Ansiklopedik bilgi olarak yıllardır birçok site buradaki Yunus "Türkçe Görsel programlama dili" bilgisini alarak kullanmışlardı. Faydasız olmasını anlayamadım. Türkçe yazılım projelerinin desteklenmesi gerekli. Bu projelerin dökümantasyonunu Wiki ile yapmak garipsenmemelidir. Bu sayede daha fazla tanınma imkanı vardır. Ticari yazılım olmadıkları için gönüllü yapılan işlerin desteklenmesi gerektiğine inanıyorum ve bu şekilde silinen maddelerin asıl silinme nedeni [vandalizm] olduğuna inanıyorum! En iyisi benim maddelerimi (emeğimi) bana geri verin, ben başka yerde yayınlamak istiyorum. Artık tr.wiki ile işim olmaz. [http://tr.wikipedia.org/wiki/Kullanıcı:Tbagriyanik Tarık Bağrıyanık] Silinen maddelerim: * [http://tr.wikipedia.org/wiki/Yunus_(programlama_dili) Yunus Projesi] * [http://tr.wikipedia.org/wiki/SiPro_-_Sınav_Projesi Sınav Projesi ve eÖğrenme] Arkadaşın cevabı: "Vikipedi sizin deyiminizle "tanıtım" yapabileceğiniz bir yer değildir.Vikipedi bir blog veya forum sitesi de değildir.Vikipedi bir ansiklopedidir.Dolayısıyla sadece belirli ansiklopedik kriterlere sahip bilgiler yer alabilir.Açılan her maddeyi anında kontrol etmemiz imkansız.Sonuç olarak kriterlere uymadığı görüldüğü an madde silindi" * Ben zaten burasının blog veya forum olduğu hiç düşünmemiştim. Ingilizce Wiki'ye saygı duyuyorum. * Zaten buradaki (TR) çoğu makale Ingilizce wiki'nin yanında çok basit ve içeriği faydasız geliyor. * "3 yıldır okumamışız, şimdi gördük sildik" çok basit bir kaçış yöntemi! * Silinmesi gereken makaleler vardır muhakkak. Ama bir uyarı bir süre verip sonra silinse, bilgilerimizi kurtarmamız için fırsat olur! Başka siteler de var yayım yapabileceğimiz. * Aslında çoğu makale tabii ki bir şeyi tanıtmak için yazılır. Ansiklopedi deyince akla salt bilgi olacak, yıllara göre gelişimi yazılacak filan mı zannediliyor? Suya sabuna dokunmayacak... * Yabancı kaynaklı ürünler hemen onaylanırken, Türk yapımı bir ürün olunca, geri adım atılarak, desteklenmiyor. * Yunus ve SiPro ücretsiz ve açık kaynak projelerdir. Ben bu projelerden para 35
kazanmadım. '''Ticari''' olmadıklarını tekrar söyleyeyim. Bu cevaba cevap olarak bazı '''linkler''' vereceğim, ''bu linkler zaten cevap olacaktır'' (Ansiklopedik bilgi değerleri yok, hemen silinsinler !?!, eminim bir tanesine dokunup silmiyecek, hatta ne var ki çok güzel makaleler, çok gerekliler diye onları savunacaksınız...:( ) : * [http://tr.wikipedia.org/wiki/GIMP Gimp Programı] * [http://tr.wikipedia.org/wiki/Windows_Mobile Windows Mobile] * [http://tr.wikipedia.org/wiki/Paint_Shop_Pro PShopPro Programı] * [http://tr.wikipedia.org/wiki/Pascal_programlama_dili Pascal programlama dili] * [http://tr.wikipedia.org/wiki/Google Google sitesi] * [http://tr.wikipedia.org/wiki/Casper_(firma) Casper firma tanıtımı] * [http://tr.wikipedia.org/wiki/Emrehan_Hal%C4%B1c%C4%B1 Emrehan Halıcı Kişisel tanıtım] * [http://tr.wikipedia.org/wiki/Matroska Matroska video sıkıştırma] * [http://tr.wikipedia.org/wiki/%C3%96zg%C3%BCr_yaz%C4%B1l%C4%B1m Özgür Yazılım] * [http://tr.wikipedia.org/wiki/Kadir_Has_%C3%9Cniversitesi Kadir Has Ün. tanıtımı] * [http://tr.wikipedia.org/wiki/Netcad Netcad programı] * [http://tr.wikipedia.org/wiki/Blender Blender programı] * [http://tr.wikipedia.org/wiki/REXX Rexx programlama dili] 16.05.2009
200. Giriş Nihayet Nisan 2006'dan beri devam ettiğim günlüğümün 200. girişine geldik! Şu anda bu site 160 sayfalık bir belge olarak da görülebilir ve 45.000 üzerinde kelimeden oluşuyor. 250 civarında resim paylaşımı var. www.brinkster.com sitesinden edineceğiniz sitede aşağıdaki basit örneği deneyebilir geliştirebilirsiniz. Çalışan hali için http://tbagriyanik3.brinkster.net adresini ziyaret edebilirsiniz. Örnek ASPNET veritabanı deneme dosyası: http://cidd0b01df58868413e.skydrive.live.com/self.aspx/Ortak/aspnetDenemeBrinkster.rar 14.05.2009
2. Kısım Sub veriGetir(ByVal obj As Object, ByVal e As EventArgs) Dim DBConnection As OleDbConnection Dim DBCommand As OleDbCommand Dim dbreader As OleDbDataReader Dim SQLString As String Dim baglantiMetni As String = "provider=Microsoft.jet.OLEDB.4.0;data source=" & Server.MapPath("db\guestbook.mdb") Try DBConnection = New OleDbConnection(baglantiMetni) DBConnection.Open() SQLString = "select * from tablo where kimlik = " + degKim.Text 36
DBCommand = New OleDbCommand(SQLString, DBConnection) dbreader = DBCommand.ExecuteReader dbreader.Read() degAd.Text = dbreader(1).ToString degTel.Text = dbreader(2).ToString dbreader.Close() DBConnection.Close() Catch ex As Exception Response.Write("
" + ex.Message + "") End Try End Sub Sub guncelle(ByVal obj As Object, ByVal e As EventArgs) Dim DBConnection As OleDbConnection Dim DBCommand As OleDbCommand Dim SQLString As String Dim baglantiMetni As String = "provider=Microsoft.jet.OLEDB.4.0;data source=" & Server.MapPath("db\guestbook.mdb") If passw.Text = "PAROLANIZ" Then Try DBConnection = New OleDbConnection(baglantiMetni) DBConnection.Open() SQLString = "update tablo set ad='" + degAd.Text + "' ,tel='" + degTel.Text + "' where kimlik=" + degKim.Text DBCommand = New OleDbCommand(SQLString, DBConnection) If (DBCommand.ExecuteNonQuery() > 0) Then Response.Write("
Islem Tamam, sayfay tazeleyiniz.") Else Response.Write("
Olmadi!" + SQLString) End If DBConnection.Close() Catch ex As Exception Response.Write("
" + ex.Message + "") End Try Else Response.Write("
Parola girilmesi gereklidir veya parola hataldr.") 37
End If End Sub <style type="text/css">
Tarik's ASP.NET Demo Page - ASP.NET 1.1