24 Kasım 2020 Salı

Windows'ta Gitea Kurulumu

 



Farklı kaynaklarda Git sunucuları ile ilgili çeşitli karşılaştırmalar mevcut. Gitea hem hafif hem de işlevselliği ile öne çıkıyor. Github'ın klonu gibi olan arayüzü ise pek tabii ki çok hoşuma gitti ama her yerde kurulumu ile ilgili zorluklardan bahsedilmiş. O yüzden windows makineye nasıl Gitea yüklendiğini yazayım istedim.

https://dl.gitea.io/gitea



adresinden "current release" ile etiketli versiyonu indirelim. Ben indirdiğimde 1.12.6 versiyonu latest stable olarak görünüyordu. 


Yukarıdaki görselde sarı ile seçili versiyonu indirdikten sonra exe dosyasını tercihen "c:\gitea\" klasörü altına kopyala ve exe dosyasını çalıştır.

http://localhost:3000 adresi altında gitea sunucusuna ulaşabilirsin.

"Explore" veya "Keşfet" sekmesine tıklayarak veritabanı (host, kullanıcı adı ve şifre) bilgilerini girerek en alttaki kullanıcı oluşturma alanını (kullanıcı adı olarak admin kabul etmiyor, farklı bir şey dene) da doldurarak formu onayla. Tabii ki öncesinde belirttiğin veritabanında(mysql,mssql vb.) belirttiğin ada sahip(tercihen gitea) bir veritabanı oluşturmayı unutma.

Sonrasında bu exe dosyasını bir servis gibi her açılışta otomatik olarak çalıştırmak için  

sc.exe create gitea start= auto binPath= "\"C:\gitea\gitea.exe\" web --config \"C:\gitea\custom\conf\app.ini\""

komutunu CMD'yi yönetici olarak açıp çalıştır.




21 Kasım 2020 Cumartesi

Git Sunucusuna İlk Push

 


Git sunucusuna ilk kez push ederken aşağıdaki adımları takip edebilirsin.

mkdir proje_adi 
cd proje_adi 
touch .gitignore 
git init 
git add . 
git commit -m "Initial commit" 
git remote add origin youruser@yourserver.com:/path/to/proje_adi.git 
git push origin master

.gitignore dosyasında sunucuda barındırmak istemediğin klasörleri ve dosyaları belirtebilirsin.

Mesela:

assets/node_modules 
vendor

Tabii ki bu durumda proje ana dizininde composer update
assets klasörü altında da npm install komutlarını çalıştırmalısın.

22 Temmuz 2020 Çarşamba

MSSQL Servisi Durumu: Change Pending

SQL Server Configuration Manager'da SQL Server servisi "change pending" olarak takılı kalırsa yapacağın şey çok basit.

Yeni bir sorgu ekranı açıp

SHUTDOWN WITH NOWAIT

sorgusunu çalıştır ve servisi tekrar başlat.


26 Eylül 2019 Perşembe

Tabloda Aktif Arama (JQuery)


HTML


<input type="text" class="form-control" id="search" name="search"/>
<table id="table" class="table table-striped table-bordered">
<tr>
  <th>Numara</th>
  <th>Ad Soyad</th>
  <th>Bölüm</th>
  <th>Sınıf</th>
</tr>
<tr>
  <th>123456789</th>
  <th>Ahmet Al</th>
  <th>Bilgisayar Mühendisliği</th>
  <th>2</th>
</tr>
.
.
.
</table>

JS


$("#search").on("keyup",
    function(){
      var value=$(this).val().toLowerCase();
      $("#table tr").filter(function(){
       $(this).toggle($(this).text().toLowerCase().indexOf(value) > -1)
      });
    });

Select Seçimine Göre Bir Input Gizle veya Göster


HTML

<select name="dil" id="dil">
        <option value="ing">İngilizce</option>
        <option value="alm">Almanca</option>
        <option value="isp">İspanyolca</option>
        <option value="fra">Fransızca</option>
        <option value="tr">Turkçe</option>
        <option value="diger">Diğer</option>

  </select>
<div id="div-diger">
        <input type="text" name="diger-dil" id="diger-dil"/>
</div>


JS

$(function(){
    $("#dil").change(function(){
        if($(this).val() == "diger"){
            $("#div-diger").show();
        }
        else{
            $("#div-diger").hide();
        }
    });
    $("#div-diger").hide();
});


JSFiddle Örneği

mysql veritabanına gün ay yıl olarak tarih ekleyemiyorum



Bu sorunu mysql'in

STR_TO_DATE('05/10/2019','%d/%m/%Y')

metodu ile çözebilirsin.

Yani SQL sorgusu şuna benzeyecek:

INSERT INTO [table_name] ([field_one], [field_two], [date_field]) VALUES([value_one],[value_two], STR_TO_DATE('05/10/2019','%d/%m/%Y'));

PDO errorCode() fonksiyonu hata döndürmüyor!


Diyelim ki şöyle bir veritabanı bağlantın var. ($db değişkeni PDO nesnesinin bir örneği)

$sorgu=$db->prepare("SELECT * FROM [table_name] WHERE [field_one]=:[field_one]");
$sorgu->execute(array(
    '[field_one]'=>[value]
));
$sonuc=$sorgu->fetch(PDO::FETCH_ASSOC);
if(!$sonuc){
    print $db->errorCode();
    print_r($db->errorInfo());
}


Bir hata var ama errorCode() sonucu 00000 gibi bir şey dönüyor. Sorun bu ise;

$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

satırını eklediğinde hata mesajını görüntüleyebilirsin.