Javascript ile include edilen javascript dosyasını kullanma

    Tüm browserlarda javascript ile javascript dosyası include edilebiliyor. Ama tüm browserlarda include edilen dosyadaki değişkenlere, include eden dosya erişemiyor. Sadece testini yaptığım firefox, opera, safari ve chrome değişkenlere erişebiliyor. IE erişemiyor.

Ama tüm browserlarda include edilen dosya, kendini include eden dosyada tanımlanmış metoda erişebiliyor.


Doğru

request yapan sayfadaki script:


<script type="text/javascript">
    (function i() {
        window.a = function (p) {
            alert(p);
        }
        var head = document.getElementsByTagName('head')[0];
        var script = document.createElement('script');
        script.setAttribute('type', 'text/javascript');
        script.setAttribute('src', 'js_test/include.js');

        head.appendChild(script);
    })();
</script>

include etme alternatifi.  Tüm örnekler için doğrudur.

         var s = 'script';
         var t = ' type="text/javascript"';
         var sr = ' src="js_test/include.js"';
         var t0 = '<' + s +  t + sr + '>' + '</' + s + '>';
         document.write(t0);


include.js

window.a('param');


Yanlış


request yapan sayfadaki script:



<script type="text/javascript">
    (function i() {
        var a = function (param) {
            alert(param);
        }
        var head = document.getElementsByTagName('head')[0];
        var script = document.createElement('script');
        script.setAttribute('type', 'text/javascript');
        script.setAttribute('src', 'js_test/include.js');

        head.appendChild(script);
    })();
</script>


include.js

a('param');


Yanlış

request yapan sayfadaki script:

Not: Bu örnek IE hariç tüm tarayıcılarda çalışıyor.



<script type="text/javascript">
    (function i() {
        var head = document.getElementsByTagName('head')[0];
        var script = document.createElement('script');
        script.setAttribute('type', 'text/javascript');
        script.setAttribute('src', 'js_test/include.js');

        head.appendChild(script);

        var t1 = '<' + s + t + '>alert(window.a)' + '</' + s + '>';burda
 <script type="java/javascript">alert(window.a)</script>

şeklinde çağırsaydık IE haricindeki browserlardada kod çalışmayacaktı.

        document.write(t1);
    })();
</script>


include.js

window.a = 'param';

Xmind ve Mind Map

Düşüncelerinizi birbirine bağlamak ve bunları bir anahtar kelime veya düşünce etrafında toplamak için bir diyagram mı çizmeniz gerekti? Xmind tam size göre.



Xmind ile aklınızdakileri görselleştirerek ve tasarlayarak problem çözümlerinize daha hızlı varabilirsiniz.  Düşünceleriniz arasındaki anlamsal ya da diğer bağlantıları gösteren resimli ve sözcüklerden oluşan diyagramlar çizmek için xmind birebir.








Parallel Programming

As much as I personally dislike the use of threads for user
code, multi-cores systems are here to stay. They are becoming
increasingly popular (most laptops now ship with dual core
systems, home computers ship with 3 cpus and gaming consoles
ship with multiple general purpose cpus as well).

Developers will need new frameworks for developing software
that is ready to take advantage of multiple CPUs. But most
importantly they will need to learn the traps and pitfalls of
writing parallel/threaded code.


Here are two fantastic articles on MSDN that cover these topics:


UML

The Unified Modeling Language - UML - is OMG's most-used specification,
and the way the world models not only application structure, behavior, and
architecture, but also business process and data structure.


"UML ile yalnız uygulama yapısı (sınıflar vs) değil aynı zamanda iş
süreçleri ve veri yapısı modellenirken de kullanılır." diyor uml.org'daki arkadaşlar.

Kıssadan hisse; uml nesnel tabanlı büyük yazılım projelerinde, işin sistematik bir şekilde ilerleyebilmesi için, kodlama aşamasına geçmeden yapılacakların şemalarla gösterilme işine yarayan standart diagram çizme aracıdır. UML bir programlama dili değildir. Çoğu yerde buna benzer açıklamaları bulabilirsiniz.

Asıl iş ciddiye binince şuna anladım; UML herşeyi sistematiğe bağlamaya çalışan, programcıyı kod yazarken belli kalıplara sokmaya çalışan, kod yazmadaki tüm artistiği alıp götüren, yazılım sürecini araba montajına çevirerek, kod yazma sanatını kütükleri doğru bir şekilde dizmekten öteye getirmeyen, ancak belli kalıplarda standartlaşmış (database configuration vb) veri analizlerinde ve tasarımlarında kolaylık sağlıyabileceğini inandığım düşünce yapısı.

Yaratıcı zekamızı kullanmaktan çekinmeyelim. Projelerimizde elimize pisliğe bulaştırmadan, tecrübe edinmeden, projenin ihtiyaçlarını bulmamamızda en yardımcı olan araç olan deneme-yanılma sürecine gitmeden tam anlamıyla düzgün çalışan projelere imza atamayız.

P.S: Yazılım bir maratona benzer bir 100 metre koşusuna değil...