20 Aralık 2016 Salı
19 Ekim 2016 Çarşamba
Asp Webform'da dosyayı sayfaya basmak
string filePath ="c:\\falan\\filan.jpg"
byte[] buffer = File.ReadAllBytes(filePath);
Response.ContentType = "image/jpeg";
Response.OutputStream.Write(buffer, 0, buffer.Length);
Response.AddHeader("Content-Disposition", "filename=filan.jpg");
filename yanına ";attachment" eklersek sayfa açılırken dosyayı indirmeye başlayacaktır
ContentType : application/pdf, image/jpeg , image/png, image/bmp
gibi
byte[] buffer = File.ReadAllBytes(filePath);
Response.ContentType = "image/jpeg";
Response.OutputStream.Write(buffer, 0, buffer.Length);
Response.AddHeader("Content-Disposition", "filename=filan.jpg");
filename yanına ";attachment" eklersek sayfa açılırken dosyayı indirmeye başlayacaktır
ContentType : application/pdf, image/jpeg , image/png, image/bmp
gibi
18 Ekim 2016 Salı
1 Ekim 2016 Cumartesi
Intent Kullanımı , Yeni activity çağırma
Intent intent = new Intent(this, NewActivity.class);
startActivity(intent);
Android ile SharedPreferences kullanımı
SharedPreferences, android platformunda ayar ve basit veri saklayabileceğimiz bir yapıdır
SharedPreferences’a bir veri yazmak için Editor objesini oluşturmamız gerekiyor. Bu editor’ü kullanarak SharedPreferences içine bir primitif veri yazıp okuyabiliriz. Bunu yaparken bir anahtar kelime vermemiz gerekiyor.
Değişikliklerinizin kaydedilmesi için commit() metodunu çalıştırmayı unutmayın.
Keydettiğmiz verilere ihtiyacımız olduğunda aşağıdaki gibi erişebiliriz. İkinci parametre varsayılan değerler. Eğer daha önce böyle bir ayar dosyası kaydedilmemiş ise ikinci parametrede gönderdiğimiz değer döndürülür.
Son olark kaydedilmiş bir veriyi silmek istediğimizde aşağıdaki gibi remove metodunu çalıştırıp sonrasında commit etmemiz gerekiyor.
SharedPreferences’a bir veri yazmak için Editor objesini oluşturmamız gerekiyor. Bu editor’ü kullanarak SharedPreferences içine bir primitif veri yazıp okuyabiliriz. Bunu yaparken bir anahtar kelime vermemiz gerekiyor.
Değişikliklerinizin kaydedilmesi için commit() metodunu çalıştırmayı unutmayın.
Keydettiğmiz verilere ihtiyacımız olduğunda aşağıdaki gibi erişebiliriz. İkinci parametre varsayılan değerler. Eğer daha önce böyle bir ayar dosyası kaydedilmemiş ise ikinci parametrede gönderdiğimiz değer döndürülür.
Son olark kaydedilmiş bir veriyi silmek istediğimizde aşağıdaki gibi remove metodunu çalıştırıp sonrasında commit etmemiz gerekiyor.
28 Eylül 2016 Çarşamba
Android Context çağırma yolları
You can get context a few ways:
By the Activity, using
By the application, using
By the View, using
By the Activity, using
Your_Activity_Name.this
By the application, using
getApplicationContext()
By the View, using
Your_View.getContext()
25 Eylül 2016 Pazar
Android Studio Kısayollar
Yönlendirme Kısayolları
CTRL + N -> Proje içinde herhangi bir class ı arayabilir ve direk olarak açabilmemizi sağlar.
CTRL + SHIFT + N -> Proje içinde herhangi bir dosyayı aramamızı ve direk olarak dosyayı açmamızı sağlar.
CTRL + E -> Son kullanılan dosyaların listesini çıkartır ve direk olarak ulaşmamızı sağlar.
CTRL + G -> Satır numarası aratır. Yada seçili olan satırın satır numarasını gösterir.
CTRL + SHIFT + BACKSPACE -> Son yaptığımız değişikliğin konumuna gider. Yaptığımız değişikliği geri almak için CTRL + Z kombinasyonunu kullanıyoruz. Bunun farklı ise değişikliği geri almadan o noktaya fokuslanması.
F4 -> Herhangi bir metodun yada fonksiyonun üzerine gelip basıldığında o metodun konumunu açar.
CTRL + B -> kodun tanımlandığı yere gider üst üste 2 kere basıldığında kodun nerelerede kullanıldığının listesini çıkartır.
CTRL + ALT + B -> kodun uygulandığı yere gider.
Kodlama Kısayol tuşları
CTRL + ENTER -> İşimize en çok yarayacak kısayollardan birtanesi. Mutlaka hızlı kullanımına alışmamız gerekiyor. Koddaki problemleri çözmemiz için ip ucu veriyor.
CTRL + SPACE -> kod yazarken cümle tamamlamıza yarıyor.
CTRL + D -> Bulunduğu satırı kopyalayıp alt satıra yapıştırıyor.
CTRL + Y -> Bulunduğumuz satırı direk olarak siliyor.
CTRL + ALT + L -> Sayfadaki tüm kodları düzenliyor. Satırları parantezlere göre hizalıyor.
CTRL + / -> Kodu yorum satırına alır yada tekrar aktif eder.
CTRL + SHITF + / -> Satırları yorum bloğuna alır yada tekrar aktif eder.
ALT + Aşağı Ok -> Metodları aşağı doğru gezmemizi sağlar.
ALT + Yukarı Ok -> Metodları yukarı doğru gezmemizi sağlar.
SHIFT + F6 -> metod ismini değiştirmemize yarar.
CTRL + F4 -> aktif olan tabı kapatır.
SHIFT + F10 -> Uygulamayı derler ve çalıştırır.
CTRL + F9 -> Uygulamayı sadece build eder.
Daha hızlı ve kolay kullanım için bu kısa yolları öğrenmeniz ve projelerini yaparken uygulamanız sizin yararınıza olacaktır. Şimdilik bu kadar.
CTRL + N -> Proje içinde herhangi bir class ı arayabilir ve direk olarak açabilmemizi sağlar.
CTRL + SHIFT + N -> Proje içinde herhangi bir dosyayı aramamızı ve direk olarak dosyayı açmamızı sağlar.
CTRL + E -> Son kullanılan dosyaların listesini çıkartır ve direk olarak ulaşmamızı sağlar.
CTRL + G -> Satır numarası aratır. Yada seçili olan satırın satır numarasını gösterir.
CTRL + SHIFT + BACKSPACE -> Son yaptığımız değişikliğin konumuna gider. Yaptığımız değişikliği geri almak için CTRL + Z kombinasyonunu kullanıyoruz. Bunun farklı ise değişikliği geri almadan o noktaya fokuslanması.
F4 -> Herhangi bir metodun yada fonksiyonun üzerine gelip basıldığında o metodun konumunu açar.
CTRL + B -> kodun tanımlandığı yere gider üst üste 2 kere basıldığında kodun nerelerede kullanıldığının listesini çıkartır.
CTRL + ALT + B -> kodun uygulandığı yere gider.
Kodlama Kısayol tuşları
CTRL + ENTER -> İşimize en çok yarayacak kısayollardan birtanesi. Mutlaka hızlı kullanımına alışmamız gerekiyor. Koddaki problemleri çözmemiz için ip ucu veriyor.
CTRL + SPACE -> kod yazarken cümle tamamlamıza yarıyor.
CTRL + D -> Bulunduğu satırı kopyalayıp alt satıra yapıştırıyor.
CTRL + Y -> Bulunduğumuz satırı direk olarak siliyor.
CTRL + ALT + L -> Sayfadaki tüm kodları düzenliyor. Satırları parantezlere göre hizalıyor.
CTRL + / -> Kodu yorum satırına alır yada tekrar aktif eder.
CTRL + SHITF + / -> Satırları yorum bloğuna alır yada tekrar aktif eder.
ALT + Aşağı Ok -> Metodları aşağı doğru gezmemizi sağlar.
ALT + Yukarı Ok -> Metodları yukarı doğru gezmemizi sağlar.
SHIFT + F6 -> metod ismini değiştirmemize yarar.
CTRL + F4 -> aktif olan tabı kapatır.
SHIFT + F10 -> Uygulamayı derler ve çalıştırır.
CTRL + F9 -> Uygulamayı sadece build eder.
Daha hızlı ve kolay kullanım için bu kısa yolları öğrenmeniz ve projelerini yaparken uygulamanız sizin yararınıza olacaktır. Şimdilik bu kadar.
13 Eylül 2016 Salı
IIS 7 Yedek Alma ve Geri Yükleme (Backup & Restore)
Başka bir servera taşındığınızda, eski serverınızdaki IIS’de kurulu
olan sitelerinizi, web servislerinizi, aplication pool’larınızı teker
teker eklemek doğal olarak zor olacaktır. IIS ayarlarınızın yedeğini
alıp yenisine yüklemek işinizi kolaylaştırır. Bunun için yapmanız
gerekenler, çok kolay ve sorunsuz çalışan iki komuttan oluşuyor.
1- Komut penceresini açın.
Yukarıda “IISBackup” isimli yedek klasörümüzü oluşturduk. Bu klasöre Windows Server 2008’de “C:\Windows\System32\inetsrv\backup” içinde ulaşabilirsiniz.
3 – Restore komutu (Geri Yükleme) : >%windir%\system32\inetsrv\appcmd.exe restore backup “IISBackup”
IISBackup klasörünü yeni serverda “C:\Windows\System32\inetsrv\backup” dizinine atın. Ardından yukarıdaki kodu komut satırında çalıştırın.
Bu işlemden sonra IIS’i açın. Tüm domain – sub domainleri, web
servisleri, application pool’ları ile IIS yedeğinin yeni serverınıza
yüklendiğini göreceksiniz.
1- Komut penceresini açın.
– Windows Server 2008 için: Başlat -> Arama kutusu + Cmd + Enter
– XP ve Windows Server 2003 için : Başlat ->Çalıştır
2- Backup komutu: > %windir%\system32\inetsrv\appcmd.exe add backup “IISBackup” Yukarıda “IISBackup” isimli yedek klasörümüzü oluşturduk. Bu klasöre Windows Server 2008’de “C:\Windows\System32\inetsrv\backup” içinde ulaşabilirsiniz.
3 – Restore komutu (Geri Yükleme) : >%windir%\system32\inetsrv\appcmd.exe restore backup “IISBackup”
IISBackup klasörünü yeni serverda “C:\Windows\System32\inetsrv\backup” dizinine atın. Ardından yukarıdaki kodu komut satırında çalıştırın.
11 Eylül 2016 Pazar
How to call a Controller method which is accepting two models?
I would say that instead of justifying this lack of support of multiple models
with documentation, you should find an argument in terms of software
architecture perspective: ASP.NET Web API is built on top of MVC paradigm, where a view is bound to a model and handled by a controller.
In other words: 1 Model, 1 View, 1 Controller.
Your use case shouldn't be solved with 2 models, but using a DTO. Instead of binding 2 parameter to 2 models, design a DTO which includes both models as associations of the whole DTO:
In other words: 1 Model, 1 View, 1 Controller.
Your use case shouldn't be solved with 2 models, but using a DTO. Instead of binding 2 parameter to 2 models, design a DTO which includes both models as associations of the whole DTO:
// You don't need [FromBody] since complex types are already taken
// from the request body
public IHttpActionResult DoStuff(SomeDto dto)
http://stackoverflow.com/questions/25889205/how-to-call-a-controller-method-which-is-accepting-two-models
31 Ağustos 2016 Çarşamba
MSSQL Backup
RESTORE FILELISTONLY FROM DISK='C:\Db\Backup.bak'
RESTORE DATABASE Db_Name
FROM DISK = N'C:\Db\Backup.bak'
WITH
MOVE 'backup_dbname' TO 'C:\MSSQL\DATA\Db_Name.mdf',
MOVE 'backup_dbname_log' TO 'C:\MSSQL\DATA\Db_Name_log.ldf'
Go
RESTORE DATABASE Db_Name
FROM DISK = N'C:\Db\Backup.bak'
WITH
MOVE 'backup_dbname' TO 'C:\MSSQL\DATA\Db_Name.mdf',
MOVE 'backup_dbname_log' TO 'C:\MSSQL\DATA\Db_Name_log.ldf'
Go
30 Ağustos 2016 Salı
MSSQL Ortalama veri ekleme hızı
DECLARE @count int;
SET @count=(select count(0) from Table_Name)
DECLARE @start datetime;
DECLARE @end datetime;
DECLARE @datediff int;
Set @end=(select top 1 CreatedDate from Table_Name order by CreatedDate desc)
SET @start=(select top 1 CreatedDate from Table_Name order by CreatedDate )
SET @datediff=( select DATEDIFF(second,@start,@end) AS DIFFDATE)
print ltrim(str(@datediff))+' saniyede toplam '+ltrim(str(@count))+' veri eklendi.';
print 'Ortalama '+ltrim(str(@count/@datediff))+' veri/saniye';
SET @count=(select count(0) from Table_Name)
DECLARE @start datetime;
DECLARE @end datetime;
DECLARE @datediff int;
Set @end=(select top 1 CreatedDate from Table_Name order by CreatedDate desc)
SET @start=(select top 1 CreatedDate from Table_Name order by CreatedDate )
SET @datediff=( select DATEDIFF(second,@start,@end) AS DIFFDATE)
print ltrim(str(@datediff))+' saniyede toplam '+ltrim(str(@count))+' veri eklendi.';
print 'Ortalama '+ltrim(str(@count/@datediff))+' veri/saniye';
28 Ağustos 2016 Pazar
SQL Shell (PSQL) Dump
click on the SQL Shell and log into the database and use import
Server [localhost]:
Database [postgres]:
Port [5432]:
Username [postgres]:
Password for user postgres:
psql (9.2.4)
WARNING: Console code page (437) differs from Windows code page (1252)
8-bit characters might not work correctly. See psql reference
page "Notes for Windows users" for details.
Type "help" for help.
postgres=# \i c:/data/data01.sql
20 Ağustos 2016 Cumartesi
Tarihe göe günlük kayıt sayısı
SELECT
Convert(char(8), LogDate, 112),
count(distinct RefundId)
FROM RefundProcessing
GROUP BY Convert(char(8), LogDate, 112)
15 Ağustos 2016 Pazartesi
Çalışma zamanı metot üretip çalıştırma
Type type = Type.GetType("Namespace.ClassName");
MethodInfo method = type.GetMethod("MethodName");
object targetClass = Activator.CreateInstance(type);
object[] paramters= new object[] { paramter1,..., parameterN };
method.Invoke(targetClass, paramters);
MethodInfo method = type.GetMethod("MethodName");
object targetClass = Activator.CreateInstance(type);
object[] paramters= new object[] { paramter1,..., parameterN };
method.Invoke(targetClass, paramters);
10 Ağustos 2016 Çarşamba
Mssql Function'dan dönen tablonun kolon sayısını alma
SELECT COUNT(*)
FROM INFORMATION_SCHEMA.ROUTINE_COLUMNS
WHERE TABLE_NAME = 'Function_Name'
14 Haziran 2016 Salı
20 Nisan 2016 Çarşamba
XAMPP version history: Apache, MySQL, and PHP
XAMPP | Apache | MySQL | PHP 5 | PHP 4 |
---|---|---|---|---|
1.8.3 | 2.4.9 | 5.6.16 | 5.5.11 | |
1.8.2 | 2.4.9 | 5.5.36 | 5.4.27 | |
1.8.1 | 2.4.3 | 5.5.27 | 5.4.7 | |
1.8.0 | 2.4.2 | 5.5.25a | 5.4.4 | |
1.7.7 | 2.2.21 | 5.5.16 | 5.3.8 | |
1.7.5 | 2.2.21 | 5.5.15 | 5.3.8 | |
1.7.4 | 2.2.17 | 5.5.8 | 5.3.5 | |
1.7.3 | 2.2.14 | 5.1.41 | 5.3.1 | |
1.7.2 | 2.2.12 | 5.1.37 | 5.3.0 | |
1.7.1 | 2.2.11 | 5.1.33 | 5.2.9 | |
1.7.0 | 2.2.11 | 5.1.30 | 5.2.8 | |
1.6.8 | 2.2.9 | 5.0.67 | 5.2.6 | 4.4.9 |
1.6.7 | 2.2.9 | 5.0.51b | 5.2.6 | 4.4.8 |
1.6.6a | 2.2.8 | 5.0.51a | 5.2.5 | 4.4.8 |
1.6.6 | 2.2.8 | 5.0.51 | 5.2.5 | 4.4.8 (RC2) |
1.6.5 | 2.2.6 | 5.0.51 | 5.2.5 | 4.4.7 |
1.6.4 | 2.2.6 | 5.0.45 | 5.2.4 | 4.4.7 |
1.6.3a | 2.2.4 | 5.0.45 | 5.2.3 | 4.4.7 |
1.6.3 | 2.2.4 | 5.0.54 | 5.2.3 | 4.4.7 |
1.6.2 | 2.2.4 | 5.0.41 | 5.2.2 | 4.4.7 |
1.6.1 | 2.2.4 | 5.0.37 | 5.2.1 | 4.4.6 |
1.6.0a | 2.2.4 | 5.0.33 | 5.2.1 | 4.4.5 |
1.6.0 | 2.2.3 | 5.0.33 | 5.2.1 | 4.4.5 |
14 Nisan 2016 Perşembe
php site taşıma
php site taşınırken mysql veritabanı yediğinin (.sql dosyası) en üstteki versiyon numaralarına dikkat etmek gerekiyor. eğer php sürümü eskiyse çalışmayabilir. örneğin php 5.4.3 de bulunan mysql kütüphanesi 5.5.xden itirabaren çalışmıyor. Ayrıca mysql veritabanı mariadb ile sorunsuz çalıştığı için mysql veritabanını maridbye yüklebilirsin, ilerde mariadb ve mysql birbirine desteği kestiğinde sorun olabilir.
11 Nisan 2016 Pazartesi
mysql migration sorunları
guid alanı long'a çevirdim
mysql ilk migration'da guid alan için trigger oluşturmuş bu trigger silmek gerekiyordu
DROP TRIGGER IF EXISTS Trigger_Adı komutu ile trigger sildim
daha sonra ayno tabloya atılan bir kaç kayıt vardı, id'si guid olan onları da sildim düzeldi.
DROP TRIGGER IF EXISTS Trigger_Adı komutu ile trigger sildim
daha sonra ayno tabloya atılan bir kaç kayıt vardı, id'si guid olan onları da sildim düzeldi.
7 Nisan 2016 Perşembe
Linux’te LAMP (Linux + Apache + Mysql + Php) Server Kurulumu
Başka bir anlatımımızdan merhabalar
Bu dersimizde size linüx işletim sisteminde Apache, Mysql ve Php kurulumunu anlatacağım. Web tasarım üzerinde çalışıyorsanız web sitenizi yayınlamadan önce kendi bilgisayarınızda denemeler yaparak sisteminizi geliştirebilirsiniz.
öncelikle uç birim terminalini açıyor, daha sonra da root yetkisini alıyoruz.
sqlcmd komutlar
Sqlcmd [-U login id] [-P password] [-S server] [-H hostname] [-E trusted connection] [-d use database name] [-l login timeout] [-N encrypt connection] [-C trust the server certificate] [-t query timeout] [-h headers] [-s colseparator] [-w screen width] [-a packetsize] [-e echo input] [-I Enable Quoted Identifiers] [-c cmdend] [-L[c] list servers[clean output]] [-q "cmdline query"] [-Q "cmdline query" and exit] [-m errorlevel] [-V severitylevel] [-W remove trailing spaces] [-u unicode output] [-r[0|1] msgs to stderr] [-i inputfile] [-o outputfile] [-f <codepage> | i:<codepage>[,o:<codepage>]] [-k[1|2] remove[replace] control characters] [-y variable length type display width] [-Y fixed length type display width] [-p[1] print statistics[colon format]] [-R use client regional setting] [-b On error batch abort] [-v var = "value"...] [-X[1] disable commands[and exit with warning]] [-? show syntax summary]
https://technet.microsoft.com/tr-tr/library/ms165702(v=sql.105).aspx
17 Mart 2016 Perşembe
Gestalt psikolojisi
Gestalt psikolojisi (Geştalt psikolojisi okunur), bilişsel süreçler içerisinde özellikle "algı" ve "algısal örgütlenme" konularında yoğunlaşmış psikoloji teorisi. 20.yy'ın ilk yarısında, Almanya'da ortaya çıkmıştır.
Gestalt Kuramı, öğrenmeyi sadece uyarı-tepki (U-T)ilişkisi içerisinde değerlendiren "davranışçı kuram"a bir tepki olarak ortaya çıkmıştır. Her U-T ikilisinin birbirlerinden bağımsız olarak incelendiği davranışçı kuramın aksine, zihnin uyarıcılar arasında bir bağlantı (örüntü) kurduğunu savunur. Bu nedenle inceleme konusu davranışlar değil, "bilişsel süreçler"dir. Aynı zamanda davranışçı kuramın redüksiyonist çalışma şeklini de reddeder; Gestalt'a göre bütün onu oluşturan parçaların toplamı değil, daha fazlasıdır.
Gestalt Kuramı bilişsel süreçler içerisinde "algı"ya çok önem verir ve algısal örgütlenmeye yön veren yasaları tanımlar. Bütün bu yasalar "Pragnanz" adı verilen bir üst yasanın türevleridir. Pragnanz kısaca şunu ifade eder ;
"Bütün psikolojik olaylar, koşulların elverdiği ölçüde tam ve basit olma eğilimindedir"
Algısal örgütlenmenin çalışma şeklini belirleyen yasalar şunlardır,
1) Şekil-Zemin İlişkisi: "Algıda seçicilik" kuramına göre,
dikkatin yoğunlaştığı obje şekil, diğer yüzeyler zemindir. Şekil ve
zemin mutlak kavramlar değildir, dikkatin yoğunlaştığı noktaya göre
şekil ve zemin değişir.
2) Yakınlık İlkesi : Duyusal anlamda birbirlerine yakın olan
uyarıcılar (vurmalı bir çalgıdan gelen ses, bitişik noktalar) bir küme
olarak algılanır. Buradaki yakınlık daha çok "zaman ve mekan"
anlamındadır.
3) Tamamlama İlkesi : Duyusal anlamda eksik girdi içeren uyarıcılar (yarım bir fotoğraf, bozuk bir plakta çalan şarkı) tam olarak algılanır. Bu nedenle bir resimdeki kişiyi tanımamız için, resmin yarısını görmemiz de yeterli olur.
"Benzerlik"; Koyu ve açık renkli noktalar farklı gruplar olarak algılanır.
https://tr.wikipedia.org/wiki/Gestalt_psikolojisi
Gestalt Kuramı, öğrenmeyi sadece uyarı-tepki (U-T)ilişkisi içerisinde değerlendiren "davranışçı kuram"a bir tepki olarak ortaya çıkmıştır. Her U-T ikilisinin birbirlerinden bağımsız olarak incelendiği davranışçı kuramın aksine, zihnin uyarıcılar arasında bir bağlantı (örüntü) kurduğunu savunur. Bu nedenle inceleme konusu davranışlar değil, "bilişsel süreçler"dir. Aynı zamanda davranışçı kuramın redüksiyonist çalışma şeklini de reddeder; Gestalt'a göre bütün onu oluşturan parçaların toplamı değil, daha fazlasıdır.
Gestalt Kuramı bilişsel süreçler içerisinde "algı"ya çok önem verir ve algısal örgütlenmeye yön veren yasaları tanımlar. Bütün bu yasalar "Pragnanz" adı verilen bir üst yasanın türevleridir. Pragnanz kısaca şunu ifade eder ;
"Bütün psikolojik olaylar, koşulların elverdiği ölçüde tam ve basit olma eğilimindedir"
Algısal örgütlenmenin çalışma şeklini belirleyen yasalar şunlardır,
3) Tamamlama İlkesi : Duyusal anlamda eksik girdi içeren uyarıcılar (yarım bir fotoğraf, bozuk bir plakta çalan şarkı) tam olarak algılanır. Bu nedenle bir resimdeki kişiyi tanımamız için, resmin yarısını görmemiz de yeterli olur.
"Benzerlik"; Koyu ve açık renkli noktalar farklı gruplar olarak algılanır.
https://tr.wikipedia.org/wiki/Gestalt_psikolojisi
16 Mart 2016 Çarşamba
Pratik Eclipse kısayolları
Muhtemelen çoğunu biliyorsunuzdur ama ben yine de aralarından bilmedikleriniz çıkabilir diye çok sık kullandığım Eclipse kısayollarını paylaşayım dedim. Kısayollarla aranız henüz iyi değilse kısayolları öğrenmenizi ve kullanmaya çalışmanızı şiddetle tavsiye ederim zira işlerinizi çok kolaylaştırıyorlar.
CTRL + 1
Quick Fix. Bunu öğrendikten sonra bana göre en mübarek Eclipse Kısayolu.
CTRL + SHIFT + R
Open Resource: İsmini yazacağınız kaynak dosyasını açar.
CTRL + SHIFT + T
Open Type: İsmini yazacağınız türü açar.
CTRL + D
Üzerinizde bulunduğunuz satırı siler. Tek tuşla ov şit.
CTRL + E
Açık olan editörleri listeler. Onlarca sınıfa aynı anda göz atıyorsanız sınıflar arasında hızlıca geçiş yapabilirsiniz.
CTRL + I
Girintilemeyi düzeltir.
CTRL + M
Maximize / Unmaximize. Bulunduğunuz alanı genişletir, genişletilmiş halde ise küçültür.
CTRL + Delete / Ctrl + Backspace
İmlecin sağındaki / solundaki kelimeyi siler. Otomatik tamamlayıcıyı fazla kullanıyorsanız yararlı olabiliyor.
CTRL + L
Numarasını vereceğiniz satıra atlar.
SHIFT + CTRL + UP / SHIFT + CTRL + DOWN
Sonraki / önceki sınıf üyesine sıçrar. Az sayıda metodunuz falan varsa bir metoddan diğer metoda hızlıca geçmek için kullanabilirsiniz. Ben kullanıyorum zira.
ALT + UP / ALT + DOWN
İmlecin o anda bulunduğu satırı ya da seçtiğiniz satırları aşağı yukarı kaydırır. Kod bloklarının yerini kolayca değiştirebilirsiniz. Lazım olduğu zaman çok kullanışlı oluyor.
F3
Tanıma git. İmlecin üzerinde bulunduğu öğenin tanımına gider. Bir niteliğin adının üstünde iseniz niteliğe, bir sınıf adının üstünde iseniz sınıfın kaynak koduna gider.
SHIFT + ALT + J
Sınıf / Metod başlarına Javadoc yorumları ekler.
SHIFT + CTRL + C
Seçili kod bloğunu yorum satırı haline getirir. Daha önce yorum satırı yapılmış kod bloğunu normal hale getirir.
SHIFT + CTRL + O
Import'ları düzenler. Gereksiz import'ları kaldırır. Eklenmesi gereken import'ları ekler. Bazen kullandığınız bir sınıf adı birden fazla paketin altında bulunabilir. Böyle bir durumda SHIFT + CTRL + O dediğinizde size hangisini ekleyeceğinizi de sorar.
SHIFT + CTRL + F
Yazdığınız kodun stilini düzeltir. Yani girintileri, boşlukları, noktanın virgülün vesairenin konumlarını ayarlar (Girinti şu kadar olsun, noktadan sonra boşluk olsun gibi ayarları Preferences'ten yapabilirsiniz).
SHIFT + CTRL + B
İmlecin olduğu satıra breakpoint koyar. Koyulmuş bir breakpointi kaldırır.
CTRL + N
Files > New yoluyla gelen pencereyi açar.
SHIFT + ALT + M
Seçili kod bloğunu yeni bir metod tanımlayıp içerisine yerleştirir.
Bilmemenin değil öğrenmemenin ayıp olduğu Debug kısayolları:
F11
Debug'ı başlatır.
F5 (Step into)
Debug yaparken bir metod tanımında iseniz işletime o çağrının içinden devam eder ve bazı durumlarda metodun içinde neler olup bittiğine bakmanız gerekiyorsa çok yararlı olur.
F6 (Step Over)
Bir sonraki komutu işletir.
F8 (Resume)
Bir sonraki breakpoint'e kadar olan komutları tek seferde işletir.
Ayrıca Windows > Preferences > General > Keys yoluna giderek kısayolları düzenleyebilirsiniz. Örneğin ben ekstradan şu kısayolları da kullanıyorum:
CTRL + SHIFT + N
Yeni sınıf tanımlama penceresi açar (Keys bölümünde New Class seçeneğiyle ayarlanıyor).
CTRL + SHIFT + I
Yeni interface tanımlama penceresi açar (Keys bölümünde New Interface seçeneğiyle ayarlanıyor).
7 Mart 2016 Pazartesi
OS X'e Win10 kurma
rEFInd çözülmüştür.
El Capitan + Windows 10 ile birlikte çok güzel çalışmaktadır.
Yapmanız gereken Recovey'e girip Terminali çalıştırın ve şu kodu girin.
csrutil disable
Sonra yeniden başlatın ve rEFInd kurun.
Tekrar Recovery'e dönüp Terminali açın ve
csrutil enable
kodunu girip yeniden başlatın.
El Capitan + Windows 10 ile birlikte çok güzel çalışmaktadır.
Yapmanız gereken Recovey'e girip Terminali çalıştırın ve şu kodu girin.
csrutil disable
Sonra yeniden başlatın ve rEFInd kurun.
Tekrar Recovery'e dönüp Terminali açın ve
csrutil enable
kodunu girip yeniden başlatın.
6 Mart 2016 Pazar
MS SQL - While Döngüsü
DECLARE @cnt INT = 0; WHILE @cnt < cnt_total BEGIN {...statements...} SET @cnt = @cnt + 1; END;
---------
DECLARE @cnt INT = 11;
WHILE @cnt < 10000
BEGIN
INSERT INTO [dbo].[Chat]
([Name]
,[Content]
,[Lock]
,[CreatedDate]
,[ModifiedDate]
,[State]
,[Archive]
,[CreatedBy]
,[ModifiedBy]
,[Summary])
VALUES
('Sohbet '+STR(@cnt)
,'İçerik'+STR(@cnt)
,0
,Getdate()
,Getdate()
,1
,0
,'admin'
,'admin'
,'Özet' +STR(@cnt))
SET @cnt = @cnt + 1;
END;
GO
25 Şubat 2016 Perşembe
visualstudio conflict merge sorunu
Tools->Options->Text Editor->Html->Advanced->Extension Management->Identify Helpful Extension => false yap
22 Şubat 2016 Pazartesi
15 Şubat 2016 Pazartesi
Windows servis yükleme, başlatma, durdurma kaldırma/silme
Komut ekranına aşagıdaki komutları yazarak windows service işlemlerini gerçekleştirebiliriz.
Not : Komut ekranı (Başlat -> Çalıştır -> CMD) yolunu izleyerek açabilirsiniz.
serviceInstaller 'ın ServiceName'i ile exe adı aynı olması gerekiyor
Command Prompt'u administrator açmak gerekiyor
Yüklemek için;
Not : Komut ekranı (Başlat -> Çalıştır -> CMD) yolunu izleyerek açabilirsiniz.
serviceInstaller 'ın ServiceName'i ile exe adı aynı olması gerekiyor
Command Prompt'u administrator açmak gerekiyor
Yüklemek için;
Komut : "%SystemRoot%\Microsoft.NET\Framework\v4.0.30319\installutil DosyaYolu/Exe Adı.exe" Örneğin : C:\Windows\Microsoft.NET\Framework\v4.0.30319\installutil.exe C:\Service\myservice.exeBaşlatmak için;
Komut : net start ServisAdı Örneğin : net start myserviceDurdurmak için;
Komut : net stop ServisAdı Örneğin : net stop myserviceKaldırmak/Silmek için:
Komut : sc delete ServisAdı Örneğin : sc delete myservice
11 Şubat 2016 Perşembe
The operation could not be completed
cshtml dosyaları açılmıyor ve "The operation could not be completed" hatası veriyorsa
"Users\<CurrentUser>\AppData\Local\Microsoft\VisualStudio\<version>\" adresinden versiyon numarası neyse onu siliyoruz. Düzeliyor
ayrıca webpages versiyonundan da sorun olabiliyor
"Users\<CurrentUser>\AppData\Local\Microsoft\VisualStudio\<version>\" adresinden versiyon numarası neyse onu siliyoruz. Düzeliyor
ayrıca webpages versiyonundan da sorun olabiliyor
<appSettings>
<add key="webpages:Version" value="2.0.?.?" />
</appSettings>
versiyon numarası "
3.0.0.0" yapınca da düzeliyor.
10 Şubat 2016 Çarşamba
Projelerde Dosyalama
Bir "solution" içine güncellenme ihtimali düşük olan projeleri farklı "solution" içinde açmalıyız. örneğin "A" solution için "A.Blog" projesini başka projede açmalıyız. Bilgisayar çok iyi değilse "get latest" veya "fetch" işlemlerinde makine donuyor. Ayrıca geliştireme yapılmayacak "class library"leri derleyip dll olarak projeye eklemeliyiz böylece "build" derleme süresi kısalır.
Eğer proejeye tema ekleyeceksek sadece lazım olan dosyaları tek tek projeye eklemeliyiz, yoksa csporj dosyasında her dosya için yol tutulduğu için derlemede yavaşlık olacaktır.
Eğer proejeye tema ekleyeceksek sadece lazım olan dosyaları tek tek projeye eklemeliyiz, yoksa csporj dosyasında her dosya için yol tutulduğu için derlemede yavaşlık olacaktır.
9 Şubat 2016 Salı
Entity framework tablo var mı
bool exists = context.Database
.SqlQuery<int?>(@"
SELECT 1 FROM sys.tables AS T
INNER JOIN sys.schemas AS S ON T.schema_id = S.schema_id
WHERE S.Name = 'SchemaName' AND T.Name = 'Table_Name' ")
.SingleOrDefault() != null;
.SqlQuery<int?>(@"
SELECT 1 FROM sys.tables AS T
INNER JOIN sys.schemas AS S ON T.schema_id = S.schema_id
WHERE S.Name = 'SchemaName' AND T.Name = 'Table_Name' ")
.SingleOrDefault() != null;
19 Ocak 2016 Salı
Windows Üzerinde DISKPART Kullanarak HardDisk Sıfırlamak
Bu yazımda DISKPART hakkında elimden geldiğince bilgiler vermek
istiyorum. Windows ile birlikte gelen bu bütünleşik component ile Disk
Sürücülerimize rahatlıkla format atabileceğiz hatta silinmeyen
partitionları bile rahatlıkla silebileceğiz. Öncelikle Command Prompt’u
Administrator modunda açalım ve açılan komut satırımıza DISKPART yazıp enter tuşuna basalım.
Böylelikle DISKPART yazılımımızın command interface’ine ulaşmış oluyoruz. Bunun ardından LIST DISK diyoruz ve bilgisayarımızdaki mevcut bütün diskleri rahatlıkla görebiliyoruz. Tamamen sıfırlamak istediğimiz diskimizi görüp sürücü numarasını not ediyoruz. Örneğin bizim sürücümüzün numarası 5 olsun. SELECT DISK 5 komutunu veriyoruz ve diskimizi seçmiş oluyoruz. Ardından CLEAN komutunu çalıştırıp diskimizi tamemen temizlemiş oluuyoruz. Temizliğin ardından partitionlarımızı oluşturup ve assign işlemlerimizi yapmamız gerekiyor. Bunun için CREATE PARTITION PRIMARY satırını giriyoruz ve birinci bölümümüz oluşturulmuş oluyor. Hemen ardından SELECT PARTITION 1 komutunu giriyoruz ve parition’unumuzu seçmiş oluyoruz. Hemen ardından bölümü aktif etmek ve formatlamak için
ACTIVE
FORMAT FS=NTFS
komutlarını sırasıyla giriyoruz. İşlemler bittikten sonra ASSIGN komutuyla bölümümüzü Windows’a tanıtmış oluyoruz. Hemen ardından EXIT ile çıkış yapabilirsiniz. Herşey bu kadar
Kolay Gelsin.
Böylelikle DISKPART yazılımımızın command interface’ine ulaşmış oluyoruz. Bunun ardından LIST DISK diyoruz ve bilgisayarımızdaki mevcut bütün diskleri rahatlıkla görebiliyoruz. Tamamen sıfırlamak istediğimiz diskimizi görüp sürücü numarasını not ediyoruz. Örneğin bizim sürücümüzün numarası 5 olsun. SELECT DISK 5 komutunu veriyoruz ve diskimizi seçmiş oluyoruz. Ardından CLEAN komutunu çalıştırıp diskimizi tamemen temizlemiş oluuyoruz. Temizliğin ardından partitionlarımızı oluşturup ve assign işlemlerimizi yapmamız gerekiyor. Bunun için CREATE PARTITION PRIMARY satırını giriyoruz ve birinci bölümümüz oluşturulmuş oluyor. Hemen ardından SELECT PARTITION 1 komutunu giriyoruz ve parition’unumuzu seçmiş oluyoruz. Hemen ardından bölümü aktif etmek ve formatlamak için
ACTIVE
FORMAT FS=NTFS
komutlarını sırasıyla giriyoruz. İşlemler bittikten sonra ASSIGN komutuyla bölümümüzü Windows’a tanıtmış oluyoruz. Hemen ardından EXIT ile çıkış yapabilirsiniz. Herşey bu kadar
Kolay Gelsin.
Html.Partial, Html.RenderPartial, Html.Action, Html.RenderAction aralarındaki farklar nelerdir?
Html.Partial metodu
Html.Partial metodu, partial view'i Html-encoded string olarak çözümler. Html.Partial metodunun çıktısı string türünde değer döndürdüğü için değişkende saklanabilir.
Kullanımı kolaydır ve Action oluşturmaya gerek yoktur.
Html.Partial metodu, sayfada görüntülemek istediğiniz veriler metodun çağırıldığı view ile birlikte geliyorsa kullanışlıdır. Örneğin, bir blog yazısında yorumları göstermek için Html.Partial metodu kullanılmalıdır çünkü blog yazısının yorumları, yazıyla birlikte ViewModel'in içerisinde gelmiş olacaktır.
Kullanım örneği:
Html.RenderPartial metodu
Html.RenderPartial metodu, çağırıldığı sayfanın TextWriter'ını kullanır. Yani doğrudan Http response stream'e yazılır. Bu yüzden Html.Partial metodundan daha hızlıdır.
Html.RenderPartial metodu void döndürür. Kullanımı kolaydır ve Action oluşturmaya gerek yoktur.
Html.RenderPartial metodu, sayfada görüntülemek istediğiniz veriler metodu çağırdığınız View ile birlikte geliyorsa kullanışlıdır. Örneğin, bir blog yazısında yorumları göstermek için Html.RenderPartial metodu kullanılmalıdır çünkü blog yazısının yorumları, yazıyla birlikte ViewModel'in içerisinde gelmiş olacaktır.
Kullanım örneği:
Html.Action metodu
Html.Action metodu, partial view'i Html-encoded string olarak çözümler.
Html.Action metodunda, partial view'i yorumlamak için "child action" oluşturmamız gerekir. Html.Action metodunun çıktısı string türünde değer döndürdüğü için değişkende saklanabilir.
Html.Action metodu, sayfada görüntülemek istediğiniz veriler metodun çağırıldığı view'dan bağımsız ise kullanışlıdır. Örneğin, bir blog yazısında her sayfada kategori listesini göstermek istiyorsak Html.Action metodu kullanılmalıdır çünkü kategori listesinin modeli diğerlerinden farklı olacaktır.
Kullanım örneği:
Html.RenderAction metodu
Html.RenderAction metodu, çağırıldığı sayfanın TextWriter'ını kullanır. Yani doğrudan Http response stream'e yazılır. Bu yüzden Html.Action metodundan daha hızlıdır.
Html.RenderAction metodunda, partial view'i yorumlamak için "child action" oluşturmamız gerekir.
Html.RenderAction metodu, sayfada görüntülemek istediğiniz veriler metodun çağırıldığı view'dan bağımsız ise kullanışlıdır. Örneğin, bir blog yazısında her sayfada kategori listesini göstermek istiyorsak Html.RenderAction metodu kullanılmalıdır çünkü kategori listesinin modeli diğerlerinden farklı olacaktır.
Kullanım örneği:
Html.Partial metodu, partial view'i Html-encoded string olarak çözümler. Html.Partial metodunun çıktısı string türünde değer döndürdüğü için değişkende saklanabilir.
Kullanımı kolaydır ve Action oluşturmaya gerek yoktur.
Html.Partial metodu, sayfada görüntülemek istediğiniz veriler metodun çağırıldığı view ile birlikte geliyorsa kullanışlıdır. Örneğin, bir blog yazısında yorumları göstermek için Html.Partial metodu kullanılmalıdır çünkü blog yazısının yorumları, yazıyla birlikte ViewModel'in içerisinde gelmiş olacaktır.
Kullanım örneği:
@Html.Partial("_Yorumlar")
Html.RenderPartial metodu
Html.RenderPartial metodu, çağırıldığı sayfanın TextWriter'ını kullanır. Yani doğrudan Http response stream'e yazılır. Bu yüzden Html.Partial metodundan daha hızlıdır.
Html.RenderPartial metodu void döndürür. Kullanımı kolaydır ve Action oluşturmaya gerek yoktur.
Html.RenderPartial metodu, sayfada görüntülemek istediğiniz veriler metodu çağırdığınız View ile birlikte geliyorsa kullanışlıdır. Örneğin, bir blog yazısında yorumları göstermek için Html.RenderPartial metodu kullanılmalıdır çünkü blog yazısının yorumları, yazıyla birlikte ViewModel'in içerisinde gelmiş olacaktır.
Kullanım örneği:
@{Html.RenderPartial("_Yorumlar");}
Html.Action metodu
Html.Action metodu, partial view'i Html-encoded string olarak çözümler.
Html.Action metodunda, partial view'i yorumlamak için "child action" oluşturmamız gerekir. Html.Action metodunun çıktısı string türünde değer döndürdüğü için değişkende saklanabilir.
Html.Action metodu, sayfada görüntülemek istediğiniz veriler metodun çağırıldığı view'dan bağımsız ise kullanışlıdır. Örneğin, bir blog yazısında her sayfada kategori listesini göstermek istiyorsak Html.Action metodu kullanılmalıdır çünkü kategori listesinin modeli diğerlerinden farklı olacaktır.
Kullanım örneği:
@{Html.Action("Kategori","Home");}Ayrıca partial view'i önbellekte tutmak istiyorsanız Html.Action metodu en iyi çözüm olacaktır.
Html.RenderAction metodu
Html.RenderAction metodu, çağırıldığı sayfanın TextWriter'ını kullanır. Yani doğrudan Http response stream'e yazılır. Bu yüzden Html.Action metodundan daha hızlıdır.
Html.RenderAction metodunda, partial view'i yorumlamak için "child action" oluşturmamız gerekir.
Html.RenderAction metodu, sayfada görüntülemek istediğiniz veriler metodun çağırıldığı view'dan bağımsız ise kullanışlıdır. Örneğin, bir blog yazısında her sayfada kategori listesini göstermek istiyorsak Html.RenderAction metodu kullanılmalıdır çünkü kategori listesinin modeli diğerlerinden farklı olacaktır.
Kullanım örneği:
@{Html.RenderAction("Kategori", "Home");}Partial view'i önbellekte tutmak istiyorsanız Html.RenderAction metodu en iyi çözüm olacaktır.
SQL server database diagram hatası
SQL server database diagram hatası
TITLE: Microsoft SQL Server Management Studio
------------------------------
Database diagram support objects cannot be installed because this database does not have a valid owner. To continue, first use the Files page of the Database Properties dialog box or the ALTER AUTHORIZATION statement to set the database owner to a valid login, then add the database diagram support objects.
------------------------------
Çözüm olarak şu sorguyu çalıştırabilirsiniz
ALTER AUTHORIZATION ON DATABASE::databasename TO sa
17 Ocak 2016 Pazar
Mapping AjaxOptions to attributes
Mapping AjaxOptions to attributes
The following table lists the mapping from AjaxOptions members to the HTML 5 data attributes:AjaxOptions | HTML attribute |
---|---|
Confirm | data-ajax-confirm |
HttpMethod | data-ajax-method |
InsertionMode | data-ajax-mode * |
LoadingElementDuration | data-ajax-loading-duration ** |
LoadingElementId | data-ajax-loading |
OnBegin | data-ajax-begin |
OnComplete | data-ajax-complete |
OnFailure | data-ajax-failure |
OnSuccess | data-ajax-success |
UpdateTargetId | data-ajax-update |
Url | data-ajax-url |
* = data-ajax-mode will only be present if UpdateTargetId is set.
** = data-ajax-loading-duration will only be present if LoadingElementId is set.
<form action="/Controller/Action" data-ajax="true" data-ajax-failure="" data-ajax-mode="before" data-ajax-success="" data-ajax-update="#elementId" id="formId" method="post"></form>
<a data-ajax="true" data-ajax-complete="" data-ajax-method="Post" data-ajax-mode="replace" data-ajax-update="#elementId" data-ajax-success="" data-ajax-failure=""> </a>
16 Ocak 2016 Cumartesi
action ve controller listesi
Assembly asm = Assembly.GetAssembly(typeof(Project.Web.MvcApplication));
var controlleractionlist = asm.GetTypes()
.Where(type => typeof(System.Web.Mvc.Controller).IsAssignableFrom(type))
.SelectMany(type => type.GetMethods(BindingFlags.Instance | BindingFlags.DeclaredOnly | BindingFlags.Public))
.Where(m => !m.GetCustomAttributes(typeof(System.Runtime.CompilerServices.CompilerGeneratedAttribute), true).Any())
.Select(x => new { Controller = x.DeclaringType.Name, Action = x.Name, ReturnType = x.ReturnType.Name, Attributes = System.String.Join(",", x.GetCustomAttributes().Select(a => a.GetType().Name.Replace("Attribute", ""))) })
.OrderBy(x => x.Controller).ThenBy(x => x.Action).ToList();
var controlleractionlist = asm.GetTypes()
.Where(type => typeof(System.Web.Mvc.Controller).IsAssignableFrom(type))
.SelectMany(type => type.GetMethods(BindingFlags.Instance | BindingFlags.DeclaredOnly | BindingFlags.Public))
.Where(m => !m.GetCustomAttributes(typeof(System.Runtime.CompilerServices.CompilerGeneratedAttribute), true).Any())
.Select(x => new { Controller = x.DeclaringType.Name, Action = x.Name, ReturnType = x.ReturnType.Name, Attributes = System.String.Join(",", x.GetCustomAttributes().Select(a => a.GetType().Name.Replace("Attribute", ""))) })
.OrderBy(x => x.Controller).ThenBy(x => x.Action).ToList();
Kaydol:
Kayıtlar (Atom)
.net 6 mapget kullanımı
app.UseEndpoints(endpoints => { endpoints.MapGet("/", async context => { var response = JsonConvert.Seriali...
-
Komut ekranına aşagıdaki komutları yazarak windows service işlemlerini gerçekleştirebiliriz. Not : Komut ekranı (Başlat -> Çalıştır -&g...
-
COMMAND PROMPT TEMEL VE İLERİ DÜZEY ANLATIM Command Prompt komutlarını anlatmaya başlamadan önce, MS-DOS komut türlerine değinelim. Komut...
-
(3)BİN (6)MİLYON (9)MİLYAR (12)TRİLYON (15)KATRİLYON (18)KENTİLYON (21)SEKSİLYON (24)SEPTİLYON (27)OKTİLYON (30)NONİLYON (33)DESİL...