Özgür Özvarış

Bir yazılımcının kırık dökük dünyası

iframe li sayfalara parent'ın javascript variable larına erişme

clock Eylül 21, 2015 12:21 by author OzgurOzvaris

Merhaba Arkadaşlar,

Kaynaklar :

Sharing global javascript variable of a page with an iframe within that page 

Yaptığım projede jquery ui ile tabs menüsü kullandım ve iframeler içinde sayfalarımı açıyorum. Eğer sayfanızın içinden iframe dışında kalan tab menüsü kapatmak isterseniz dış kütüphanedeki javascript variablelarını kullanmanız gerekicektir. Bu durumda aşağıdaki şu kodu kullanmalısınız.

<script>
 var my_var = 'hello world!';
</script>

iframe
<script>
  function some_fn(){
    alert(parent.my_var); //helo world!
  }
</script>

Eğer yukarı kütüphaneden bir jquery elemanın erişmek istersenizde

parent.$object

syntaxını kullanmanız gerekmektedir.

İyi çalışmalar.



Javascript Array

clock Eylül 1, 2015 12:39 by author OzgurOzvaris

Merhaba Arkadaşlar,

Bu gün sizlerle java script arrayların kullanımı syntax ı ile ilgili küçük bir örnek paylaşacağım.

Kaynak : JavaScript Arrays 

Object içeren arraylar da elemanlara erişmek için iki farklı syntax kullanabilirsiniz. Bir tanesi dizi["eleman"] diğeri ise dizi.eleman. Eğer bu diziyi dinamic olarak doldurmanız düzenlemeniz gerekir ise ve eleman değeri parametrik olarak gelecekse elbetteki dizi["eleman"] şeklindeki kullanım çok kullanışlı olacaktır.

Dizilerin nasıl obje olarak tanımlandığı ile ilgili kaynakta geçen şu örnek çok güzel bir örnek

var person = {firstName:"John", lastName:"Doe", age:46};

Burada tek bir objeyi tanımladık. Peki bir obje dizisi yapmak istersek. Bu örnek işinize yarayacaktır. Her iki syntax'ıda kullandım.

<!DOCTYPE html>
<html>
<body>

<p id="demo"></p>

<script>
var person = []
//lastname iki tırnak içinde tanımlandı
person.push( {firstName:"John", "lastName":"Doe", age:46});
person.push( {firstName:"Tom", "lastName":"Kimber", age:50});

//Gender elemanları sonradan eklendi
person[0]["Gender"] = "Male"; 
person[1]["Gender"] = "Male"; 

//firstName elemanına iki tırnak ile erişildi
document.getElementById("demo").innerHTML = person[1]["firstName"] + ";" + person[1].lastName + ";" + person[1].age + ";" + person[0].Gender;

</script>

</body>
</html>

İyi çalışmalar. 



Fidler Reverse Proxy

clock Ağustos 3, 2015 12:57 by author OzgurOzvaris

Merhaba Arkadaşlar,

Kaynak

How do I monitor all incoming http requests?

http://docs.telerik.com/fiddler/configure-fiddler/Tasks/UseFiddlerAsReverseProxy

Telerik'in Fidler ürününü bir çoğunuz duymuştur diye tahmin ediyorum. Duymayanlar için kabaca tarif edersek browser'ı listen eden free bir ürün diyebiliriz. Detaylı bilgi için tıklayınız

Fakat bu gün bahsedeceğim konu fidlerin bir browser listener'ı olarak kullanılması değil reverse proxy olarak kullanılması. Proxy ler içeriden dışarıya çıkarken yönlendirme sağlarken reverse proxler ise dışarıdan içeriye gelen yönlendirmeleri ayarlamak için kullanılıyor.  Örneğin iis üzerine gelen requestleri monitör etmek için kullanabilirsiniz. Bu işlemi yapabilmek için http://docs.telerik.com/fiddler/configure-fiddler/Tasks/UseFiddlerAsReverseProxy linkindeki ayarları harfiyen yapmanız yeterli olacaktır.

Yukarıdaki işlemleri tamamladığınızda 8888 nolu porta gelen çağrılar 80 nolu porttaki iis'iniz tarafından yorumlanacak ve fidler üzerinden alınan request ve responseları takip edebileceksiniz. Örneğin geçenlerde fiddler listener kullanarak soap la ilgili bir sorunu çözdük. 

if (oSession.host.toLowerCase() == "webserver:8888") oSession.host = "webserver:80";

Satırını yazarken eğer local hostta karşılayacaksınız

if (oSession.host.toLowerCase() == "localhost:8888") oSession.host = "localhost:80";

Eğer iç ve ya dış ipniz ile karşılayacaksanızda ikinci bir satır olarak webserver yerine ip değerinizi yazmayı unutumayın...

Dış ip den erişim sağlayacaksanız web server yerine dış ip değerinizi yazın. Epey bir zamanımı aldı bu sorun.

İyi çalışmalar.

 



Vb.Net Region belası

clock Temmuz 1, 2015 12:05 by author OzgurOzvaris

Merhaba,

Kaynak : VS2010 | VB.NET - Automatic Outlining (url hata verirse elle koplayıp tekrar çalıştırın.)

Sizinde bazı projeleriniz vb.net de daha önce yazılmış ve c# bulunan region özelliklerini kullanamadığınız için uzun kod parçalarında zorlanıyorsanız size

https://visualstudiogallery.msdn.microsoft.com/96f0b449-3809-49bf-9af1-a89cd8300ded/ extension'u tavsiye ederim. 

İyi çalışmalar.



Sql Text Formatlama

clock Haziran 26, 2015 11:40 by author OzgurOzvaris

Merhaba,

Bazen sql'e gönderdiğiniz dinamik sorgular uç uca eklenince çirkin bir görüntü oluşturabilir.

Bu durumda 

http://www.dpriver.com/pp/sqlformat.htm

sitesini bir denemenizi tavsiye ederim.

 

İyi çalışmalar.



reg editte hkey_users altındaki kullanıcıları

clock Haziran 4, 2015 11:17 by author OzgurOzvaris

Merhaba Arkadaşlar,

Kaynak : Getting the Username from the HKEY_USERS values 

Registerlar windows'un en gizemli noktalarından birisi. Bilindiği üzere windows ve üzerinde kurulu yazılımlar bir çok bilgiyi registerlardan alıyor ve oraya yazıyor.

Örneğin windows altındaki kullanıcıların listesi regedite girdiğimizde ana dizinde bulunan HKey_Users altında bulunur ancak buradaki klasör isimleri kod değerleridir. Peki bunların sistemdeki user karşılıkları nelerdir derseniz kaynakta paylaşmış olduğum yazıda da bahsedildiği üzere

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\hivelist

"home paths" yada "ProfileImagePath" isimleri altındaki pathlerde anlayabilirsiniz.

Ör : %systemroot%\system32\config\systemprofile Meşur localsystem kullanıcısı, C:\Windows\ServiceProfiles\LocalService buda onun amca oğlu local servis :) C:\Users\Plesk Administrator buda plesk administrator kullanıcısının register hesabı. Buradaki isimlerdin yer aldığı folder'ın isimleri HKey_Users  ile aynıdır.

görebilirsiniz.



Could not load file or assembly ADODB, Version=7.0.3300.0

clock Nisan 23, 2015 14:11 by author OzgurOzvaris

Merhaba Arkadaşlar,

Kaynak Why is it so hard to find the ADODB assembly 

Belki size ekteki hatayı alıyorsunuzdur. Bu durumda çalışan bir adodb.dll bulmanız gerekiyor. Benim makinemde C:\Program Files (x86)\Microsoft.NET\Primary Interop Assemblies klasöründe vardı. Bu adodb.dll dosyasını C:\Windows\assembly dosyasına kopyalamanız yeterli olacaktır.

İyi çalışmalar.



Virtual Box hdd silme problemi

clock Aralık 7, 2014 21:59 by author OzgurOzvaris

Merhaba Arkadaşlar,

Virtual Box ta hdd silmek isterseniz ve aynı isimli hdd başka bir sanal makinaya daha önce tanımlı ise hata alırsınız. Bu durumu engellmek için biraz siya ekrana itiyaç var :)

Kaynak

https://coderwall.com/p/8m--dq/purge-deleted-hard-disks-from-virtual-box 

https://forums.virtualbox.org/viewtopic.php?f=1&t=53102

Virtual box'ın kurulu olduğu golderda öncelikle tanımlı hdd listesini almanız gerekiyor. Bunun için gerekli komut

vboxmanage list hdds

Ardından silmek istediğini hdd nin id'si ile silme işlemini gerçekleştiriyorsunuz.

vboxmanage closemedium disk  <uuid>--delete


Entity Framework Toint64 , Toint32 vs.

clock Eylül 5, 2014 18:33 by author OzgurOzvaris

Merhaba,

Entitiy Frameworkte bir sayıya type cast yapacaksanız convert.ToInt32 gibi metorları kullanmayın runtime da hata alırsınız. Bunun yerine direk olarak (long) diyerek cast edin. Bu durumda sql cast fonksyonu ile sql'e göndericektir.

İyi çalışmalar.



Entity Framework left outer join

clock Eylül 4, 2014 14:03 by author OzgurOzvaris

Merhaba Arkadaşlar,

Kayneklar

Left Outer Joins in LINQ with Entity Framework

LEFT JOIN or RIGHT JOIN using LINQ Entity-Framework

Entity Framework (EF) giriş yazımızda, bazen EF de sql de yapılan basit işlemlerin EF diline göre yapılması gerektiğinden bahsetmiştik. Buna "Left Join " İşlemi güzel bir örnek olabilir. SQL de sadece iki kelime ile yaptığınız left join işlemi iki farlı yöntem var.

Bunlardan birincisi dbSetimizin direk olarak DefaultIfEmpty Metodu ile bağlanması, ikincisi ise dbSetimizin bir variable içine atılıp daha sonra DefaultIfEmpty ile bağlanması.

Standar join işlemi

from o in Orders
join od in OrderDetails on o.OrderID equals od.OrderID
select new {o, od}
SELECT 
    [Extent1].*, [Extent2.*
FROM  [dbo].[Orders] AS [Extent1]
    INNER JOIN [dbo].[OrderDetails] AS [Extent2] ON [Extent1].[OrderID] = [Extent2].[OrderID]

Direk DefaultDefaultIfEmpty

from c in Customers
from o in Orders
    .Where (o => o.CustomerID == c.CustomerID)
    .DefaultIfEmpty()
select new {c, o};
SELECT 
    1 AS [C1], 
    [Extent1].*, [Extent2}.*
    FROM  [dbo].[Customers] AS [Extent1]
    LEFT OUTER JOIN [dbo].[Orders] AS [Extent2] ON ([Extent2].[CustomerID] = [Extent1].[CustomerID])
       AND ([Extent2].[CustomerID] IS NOT NULL)

Değişken içine atarak

var applicantList = (from app in context.APPLICANTs
join a in context.Profiles
on app.Profile_id equals a.PROFILE_ID into output
from j in output.DefaultIfEmpty()
select new { APPLICANT_ID = app.APPLICANT_ID, Applicant_Name = (j == null ? app.Applicant_Name : j.Applicant_Name) }).Take(1000).AsEnumerable();

Complex bir örnek

var x = from i in (DbContext as Krnc_ReSellerEntities).FSYS_LABELS
                    join e in (DbContext as Krnc_ReSellerEntities).FSYS_DICTIONARY
                    //.DefaultIfEmpty()
                       .Where(c => c.FSYS_LANGUAGE.FSLANG_ID == FSLANG_ID)
                        on 
                        new { Table_ID = i.TBL_ID, Field_ID = i.FSLABEL_ID } equals
                        new { Table_ID = e.TBL_ID, Field_ID = e.FIELD_ID }
                        //into output
                        //from k in output.DefaultIfEmpty()
                    join e1 in (DbContext as Krnc_ReSellerEntities).FSYS_DICTIONARY
                        //.DefaultIfEmpty()
                        .Where(c => c.FSYS_LANGUAGE.FSLANG_ID == SecondFSLANG_ID)
                        on
                        new { Table_ID = i.TBL_ID, Field_ID = i.FSLABEL_ID } equals
                        new { Table_ID = e1.TBL_ID, Field_ID = e1.FIELD_ID }
                        into output1
                        from j in output1.DefaultIfEmpty()  
                    //where k.FSYS_LANGUAGE.FSLANG_ID == SecondFSLANG_ID && j.FSYS_LANGUAGE.FSLANG_ID == SecondFSLANG_ID
                    select new LabelDefinitionView {
                        KeyField = i.FSLABEL_ID.ToString() + ";" + e.FSYS_DIC_ID.ToString() + ";" + j.FSYS_DIC_ID.ToString(), 
                        TBL_ID = i.TBL_ID,
                        FSLABEL_ID = i.FSLABEL_ID,
                        LABEL_TYPE = i.LABEL_TYPE,
                        KOD = i.KOD,
                        FSYS_DIC_ID = e.FSYS_DIC_ID, 
                        Description = e.TANIM_ML,
                        Second_FSYS_DIC_ID = j.FSYS_DIC_ID,
                        SecondLang_Description = j.TANIM_ML
                    };
 
SELECT 
    [Extent1].[LABEL_TYPE] AS [LABEL_TYPE], 
     CAST( [Extent1].[FSLABEL_ID] AS nvarchar(max)) + N';' +  CAST( [Extent2].[FSYS_DIC_ID] AS nvarchar(max)) + N';' + CASE WHEN (CASE WHEN ([Extent3].[FSYS_DIC_ID] IS NULL) THEN N'' ELSE  CAST( [Extent3].[FSYS_DIC_ID] AS nvarchar(max)) END IS NULL) THEN N'' WHEN ([Extent3].[FSYS_DIC_ID] IS NULL) THEN N'' ELSE  CAST( [Extent3].[FSYS_DIC_ID] AS nvarchar(max)) END AS [C1], 
    [Extent1].[TBL_ID] AS [TBL_ID], 
    [Extent1].[FSLABEL_ID] AS [FSLABEL_ID], 
    [Extent1].[KOD] AS [KOD], 
    [Extent2].[FSYS_DIC_ID] AS [FSYS_DIC_ID], 
    [Extent2].[TANIM_ML] AS [TANIM_ML], 
    [Extent3].[FSYS_DIC_ID] AS [FSYS_DIC_ID1], 
    [Extent3].[TANIM_ML] AS [TANIM_ML1]
    FROM   [dbo].[FSYS_LABELS] AS [Extent1]
    INNER JOIN [dbo].[FSYS_DICTIONARY] AS [Extent2] ON ([Extent1].[TBL_ID] = [Extent2].[TBL_ID]) AND ([Extent1].[FSLABEL_ID] = [Extent2].[FIELD_ID])
    LEFT OUTER JOIN [dbo].[FSYS_DICTIONARY] AS [Extent3] ON ([Extent3].[FSLANG_ID] = @p__linq__1) AND ([Extent1].[TBL_ID] = [Extent3].[TBL_ID]) AND ([Extent1].[FSLABEL_ID] = [Extent3].[FIELD_ID])
    WHERE [Extent2].[FSLANG_ID] = @p__linq__0',N'@p__linq__1 bigint,@p__linq__0 bigint',@p__linq__1=2,@p__linq__0=1

 



Hakkımızda  AboneOl 

Blog Yayınımıza Hoşgeldiniz.

Month List

RecentPosts

Sign In