Otomatik Mühendis

Windows’da Sertifikalar

Yazılımlarımızı veya verilerimizi koruma altına alabilmek için sertifikalara ihtiyaç duyarız. Yazılım geliştiriciler olarak, üreticilerin bizlere sunduğu SDK’larla ürettiğimiz uygulamaları yayınlamak için yine bu sertifikalardan faydalanırız. Bunlar kapalı kutular olduğu için yükleme sırasında tatsız anlar yaşanabilir. Ben iki farklı hata ile karşılaştım ve bunların çözümü aşağıdaki şekildedir;

Eğer Keyset does not exist. hatası veriyorsa ve gerekli bilgileri yazdığınızdan eminseniz, yetkilerle ilgili bir sorun yaşıyor olabilirsiniz. O sertifikayı kullanan uygulamanızı çalıştırdığınız kullanıcının yetkilerini kontrol ediniz. Yetkilerin sebep olup olmadığını test etmek isterseniz IIS üzerinde Application Pool’da uygulamanıza Local System kullanıcısı ile giriş yetkisi verin. Eğer sorun yetkilerde ise bu şekilde çalışması gerekecektir.

Diğer hata ise Certificate could not be found. Please ensure the thumbprint and cert location values are correct. şeklindedir. Bu hata kullandığınız kütüphaneye göre farklılık gösterebilir. Sonuç olarak ulaşılamayan bir sertifika söz konusudur. Eğer sertifikaları doğru şekilde yüklediyseniz ve bu hatayı alıyorsanız o zaman yanlış yere yüklemişsinizdir. Doğru konuma taşımak için aşağıdaki adımları takip edebilirsiniz;

Okumaya devam »


ASP.NET MVC ile Dosya Yükleme

Dosya yükleme bir çok uygulamada gerekmektedir. Aşağıdaki kodlar ASP.NET MVC ortamı için hazırlanmış en basit yöntemi göstermektedir. Ayrıca yüklediğiniz dizindeki tüm dosyaları gösteren bir kod parçası da mevcuttur.

Boş bir ASP.NET MVC projesi oluşturduktan sonra Views klasörü altına Home klasörünü ekliyoruz. Home içerisine de Index.cshtml adında bir sayfa oluşturduktan sonra şu kodları yazıyoruz;

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<h2>FileUpper</h2>

<form action="/Home/Index" method="post" enctype="multipart/form-data">
 <label for="desc">Description:</label>
 <input type="text" name="desc" id="desc" />
 <br />
 <label for="file1">Filename:</label>
 <input type="file" name="files" id="file1" />
 <br />
 <input type="submit"  />
</form>

@if (TempData["files"] != null)
{
 <ul>
  @foreach (string file in (string[])TempData["files"])
  {
   <li>@file</li>
  }
 </ul>
}
Okumaya devam »


iOS Web App Oluşturmak

Çalışmalarımızda çeşitlilik hız kesmeden devam ediyor. Şimdi de oluşturduğumuz HTML5 web sitesini, bir kaç ufak değişiklikle iOS Web App haline çeviriyoruz. Görüntüde native app’e çok yakın bir sonuç elde ediyoruz. Bunu sağlayabilmek için sitenin meta tagları arasına şu bilgileri girmemiz gerekiyor:

Öncelikle görüntü alanımızı ayarlayalım. Aşağıdaki viewport metasında ekran genişliği ve yakınlaştırma oranı sabitlenir. Bu şekilde siteniz iOS uygulaması gibi daha sabit bir görüntü elde edecektir. Diğer metalarda ise sitenin web app olduğunu yani site içerisinde dolaşmak için Safari’nin işlevlerine ihtiyaç kalmadığını gösterir. Son satırda ise tepedeki durum çubuğunun olabilecek en dar halde kalması sağlanır.

1
2
3
<meta name="viewport" content="width=device-width; initial-scale=1.0; maximum-scale=1.0; user-scalable=0;" />
<meta name="apple-mobile-web-app-capable" content="yes" />
<meta name="apple-mobile-web-app-status-bar-style" content="black" />
Okumaya devam »


SQL Server Login Oluşturulması

SQL Server Management Studio’da yapılan en sıkıcı işlerden biridir Login oluşturulması.
Asla düzgün ve hızlı bir şekilde yapamazsınız çünkü ayda yılda bir lazım olur ve her ne kadar daha önce yapmış olsanız da unutursunuz.
Microsoft SQL Server 2005 sertifikasına sahip hatta bu sınavda 1000 üzerinden 1000 yapmış biri olarak bu sorunun sanal sunucuda sorulduğunu hatırlıyorum.
Bu da konunun ne kadar önemli olduğunu gösterir. Ayrıca asla Studio ortamına güvenmeyin. Daima SQL yazacak şekilde hazırlıklı olun.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
--Login oluşturulur. Şifre için kurallar ve zaman aşımı iptal edilmiştir.

CREATE LOGIN [kulllaniciAdi] 
	WITH PASSWORD=N'Sifre1234', 
	DEFAULT_DATABASE=[VERITABANIADI], 
	CHECK_EXPIRATION=OFF,
	CHECK_POLICY=OFF
	
--Veritabanınızda ilşkili User oluşturulur

USE [VERITABANIADI]
GO
CREATE USER [kulllaniciAdi] FOR LOGIN [kulllaniciAdi]
GO

--User'a db_owner rolü atanır. Artık veritabanında istediğini yapma hakkı vardır.

USE [VERITABANIADI]
GO
EXEC sp_addrolemember N'db_owner', N'kulllaniciAdi'
GO

--Sunucunuz sadece Windows login ile kurulmuş olabilir.

--Bunu da makinedeki sunucu ayarını değiştirerek düzeltiyoruz.


USE [master]
GO
EXEC xp_instance_regwrite N'HKEY_LOCAL_MACHINE', N'Software\Microsoft\MSSQLServer\MSSQLServer', N'LoginMode', REG_DWORD, 2
GO

Başka sıkıntılarla karşılaşanlar veya sıkıntılarla karşılaşıp çözüm bulanlar yorum olarak yazabilirler.

Okumaya devam »


PHP ile E-posta Göndermek

Bu konu gerek yazılımcılar gerekse tasarımcılar tarafından sıklıkla aranmaktadır çünkü basit bir web sitesi yapmak istediğinizde en azından bir iletişim sayfası olması beklenir.
Bu iletişim sayfasının işlevselliğini ise HTML sayfasının ardındaki PHP kodları ile sağlayabiliriz. PHP olmasının sebebi; daha ucuz sunucuların genelde PHP koşan linux sunucuları olmasıdır.

İletişim sayfanızda gerekli formu oluşturduktan sonra aşağıdaki PHP sayfasına post edecek şekilde ayarlarsanız sayfanız işlevsel olacaktır.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
$to = "webmaster@siteniz.net"; /*E-posta adresiniz*/
$subject = "Sitenizden Mail Var"; /*Konu*/
$date = date ("l, F jS, Y"); 
$time = date ("h:i A");
$Email=$_REQUEST['Email'];

$msg="
Name: $_REQUEST[Name]
Email: $_REQUEST[Email]
Phone: $_REQUEST[Phone]

Mesaj  $date, hour: $time tarihinde gönderildi.\n

Mesaj:
$_REQUEST[message]";

if ($Email=="") {
	echo "Lütfen mail adresi giriniz.";
}
else{
	mail($to, $subject, $msg, "From: $_REQUEST[Email]");
	echo "Mesajınızı için teşekkürler.";
}
Okumaya devam »