VSCode Server'ı Kapalı Ağdaki Uzak Bilgisayarda Kurma

VSCode'la uzak ağdaki bilgisayarda kod yazmak için 'Remote - SSH' eklentisini kullanabiliriz. Fakat Remote SSH eklentisi, eğer 2 bilgisayar da private network üzerinde ise bu problem yaratacaktır. 

 

Hatanın nedeni Vscode'un hedef klasör / destination folder'a yüklemeye çalıştığı vscode-server dosyasını  internete bağlı olmaması nedeniyle aktaraması. Bu sorunun çözümü için internete bağlı olan 3.bir cihaza ihtiyaç var.

Vscode'da hata mesajı geldiği zaman alttan "Output/Çıktı" sekmesini açın. O sekmedeki "destFolder" değerini bulun.


destFolder değerinin en sonunda bulunan commit ID'si, vscode-server'ı hedef cihaza yüklemeye çalışırkenki indirmeye çalıştığı vscode-server'a ait. 

Bunu indirmek için internete bağlı olan 3.cihazda aşağıdaki linki girin. {COMMIT_ID} yazan kısmı hata mesajındaki commit ID'si ile değiştirin. 

https://update.code.visualstudio.com/commit:{COMMIT_ID}/server-linux-x64/stable

Örneğin;

"https://update.code.visualstudio.com/commit:b8a2f34jd575ef708fb88b6/server-linux-x64/stable" gibi.

İnternetli bilgisayarda indirilen dosyayı internetsiz uzak bilgisayardaki ~/.vscode-server/bin/ klasörüne taşıyın. 

Bunu yapmak için remote/uzak cihazda boş bir terminal ekranı açıp şu 2 komutu yazabilirsiniz; cd ~/.vscode-server/bin/{COMMIT_IDniz} tar -xvzf ~/vscode-server-linux-x64.tar.gz --strip-components 1

Bu sayede vscode-server hedef cihazda yüklenmiş olduğu için Remote SSH eklentisi istediğimiz gibi çalışacaktır. 

Paylaş:

Ubuntu Flash Bellekteki Dosyalar Kısmi Görünüyor Çözümü


 Ubuntu'nun bazı sürümlerinde USB flash diske kopyalama işlemi yapınca bir cihazda görünen kopyalanmış dosyalar, flashı başka cihaza takınca görünmeyebiliyor. Dosyaların kısmi olarak görünmesinin çözümü aslında çok basit.

Hatanın nedeni Ubuntu'daki dosya görüntüleyicisi Nautilus'un dosyaları görüntülerken erişim problemi yaşıyor olması.

Çözümü için ise, Ctrl Alt T ile boş bir terminal ekranı açın.

Oraya şu komutu yazın. 

sudo -H nautilus 

Size sorulan kullanıcı parolasını girin. Sonrasında Nautilus yönetici yetkileriyle açıldığı için dosyaları görebileceksiniz.

Paylaş:

Quartus Verilog Kodunu Modelsim ile Çalıştırma

 Merhaba,

Quartus ile yazılan Verilog Kodunun Modelsim üzerinde nasıl simüle edileceğini göstereceğim.

1- İlk olarak Sentez ve Analiz butonuna basın. 


Eğer ana modülü bulamazsa "Top Level Design Entity"'i ayarladığınızdan emin olun. 


2- Modelsim'i açın. 

3- Compile menüsünden projedeki tüm verilog kodlarını ekleyin ve derleyin.

Sonrasında aşağıdaki adımları uygulayarak sonuçlara ulaşabilirsiniz.


Paylaş:

wsl2 E: Failed to fetch Hatası Çözümü

Merhaba, 

bu yazıda 'sudo apt-get update' yaparken karşımıza çıkan "Wsl 2 E: Failed to fetch " ve  "connection timed out; no servers could be reached" hatalarının çözümünü göstereceğim.




Terminalde aşağıdaki komutlarla wsl.conf dosyasını oluşturun ve wsl.conf dosyasını açın. 

sudo touch /etc/wsl.conf && sudo nano /etc/wsl.conf
Bu 2 satırı wsl.conf'un içine yapıştırın.

[network]
generateResolvConf = false
 Ctrl X ile çıkın. Y ve Enter tuşlarına basıp kaydedin. Sonrasında cmd'yi açıp aşağıdaki komutla wsl'i   kapatın.

wsl --shutdown

 Wsl'i bir daha açın ve 

sudo touch /etc/resolv.conf

 komutu ile resolv.conf dosyasını oluşturun. Eğer dosya zaten mevcutsa eskisini 

sudo rm resolv.conf/

 komutuyla silip yenisini aşağıdaki komutla ile oluşturun.

sudo touch /etc/resolv.conf
Dosyanın içine aşağıdaki DNS adresini bu şekilde yazın.

nameserver 8.8.8.8
Sonrasında cmd'yi açıp aşağıdaki komutla wsl'i kapatın.
wsl --shutdown

Wsl'i bir daha açıp 'sudo apt-get update' komutunu çalıştırınca sorun düzelmiş olacaktır.


Paylaş:

The Repository No Longer Has a Release File Hatası Çözümü

Ubuntu 22.04 sürümünde 'sudo apt-get update'  /  'sudo apt update' yazınca karşımıza çıkan;

E: The Repository 'http://archive.ubuntu.com/ubuntu impish Release' no longer has a Release file.
E: The repository 'http://security.ubuntu.com/ubuntu focal-security Release' does not have a Release file.
N: Updating from such a repository can't be done securely, and is therefore disabled by default.
N: See apt-secure(8) manpage for repository creation and user configuration details.

hatalarının çözümünü göstereceğim.


Bu hatanın karşımıza çıkmasının sebebi Ubuntu'nun güncelleme serverları arasında eski repoların da bulunması. 

Eğer amacınız Ubuntu'nun sadece alt sürümlerde bulunan bir repodan yüklemekse:

Aşağıdaki 3 komutu terminal üzerinde çalıştırın.

cp /etc/apt/sources.list /etc/apt/sources.list.bak
sudo sed -i -re 's/([a-z]{2}\.)?archive.ubuntu.com|security.ubuntu.com/old-releases.ubuntu.com/g' /etc/apt/sources.list
sudo apt-get update && sudo apt-get dist-upgrade

Eğer bu hatayı güncel Ubuntu reposu için ekrandan kaldırmayı amaçlıyorsanız: 

1.Yöntem

Aşağıdaki komutu terminalde yazın.

sudo sed -i -e 's|X|$(lsb_release -cs)|g' /etc/apt/sources.list


2.Yöntem

Yukarıdaki komut işe yaramazsa menüden Software & Updates'i açın, 


İndirme konumu Türkiye seçiliyse değiştirip Ana Sunucu (Main Server) olarak ayarlayın.


Sonrasında "Other Software" kısmına girin. 


Old-releases içeren tüm repoları remove ile kaldırın. Close'a basıp çıkın.

3.Yöntem

2. yöntem de işe yaramazsa 

sudo rm -r /etc/apt/sources.list.d

komutuyla sources.list.d klasörünü silin. 

sudo nano /etc/apt/sources.list

komutuyla sources.list dosyasını açın. Aşağıdaki komutlardan ekli olmayanları dosyada en alta ekleyin. Ctrl X ile çıkın ve Enter'a basıp kaydedin.

deb http://security.ubuntu.com/ubuntu jammy-security main restricted
deb http://security.ubuntu.com/ubuntu jammy-security universe
deb http://security.ubuntu.com/ubuntu jammy-security multiverse
deb http://archive.ubuntu.com/ubuntu jammy main restricted 
deb http://archive.ubuntu.com/ubuntu jammy-updates main restricted universe multiverse

Tekrardan  'sudo apt-get update' komutunu çalıştırdığınızda hata mesajı gitmiş olacaktır.


Paylaş:

FileZilla FTP Connection Timed Out Hatası Çözümü

FileZilla FTP Connection Timed Out Hatası Çözümü için FileZilla'yı açın.

Öncelikle Dosya seçeneğinin altındaki site manager'da host/port/kullanıcı adı veya şifreyi doğru yazdığınızdan emin olun. Sorun bu değilse;


Düzenle -> Ayarlar kısmından Bağlantı'yı seçin.


Zaman aşımı / Timeout bölümünden saniyeyi 0 yapıp Ok'a basın. Böylece pasifleştirecektir. 

Dosya/File seçeneğinin altındaki Site Manager bölümünü alın. Şifreleme olarak Plain FTP'yi seçin. Giriş tipini de Normal yapıp kaydedin.


Bu sayede Bağlantı Zaman aşımına uğradı problemi kalkmış olacak.

Paylaş:

Ubuntu Pencereyi Her Zaman Üstte Tut Kısayol Tuşu Ayarlama (Always On Top)

 Bu yazıda GNU/Linux işletim sistemlerinde pencereyi her zaman üstte tutmak için kısayol tuşunu nasıl ekleyebileceğinizi göstereceğim.

Öncelikle aşağıdaki komutu terminalde yazıp Dconf Editor'ü yükleyin.

sudo apt install dconf-editor 

Aşağıdaki komutu yazıp uygulamanın always-on-top sayfasına giriş yapın.

dconf-editor /org/gnome/desktop/wm/keybindings/always-on-top

Use default value seçeneğini devre dışı bırakıp Custom Value bölümünde Ctrl F11 veya istediğiniz bir kısayolu girip aktifleştirebilirsiniz.

Paylaş:

Windows 11 Detaylı Sağ Tık Menüsünü Geri Getirme

 Windows'un önceki sürümlerindeki gibi detaylı sağ tık menüsünü geri getirip varsayılan yapmak için öncelikle Başlat Menüsüne sağl tıklayarak Powershell'i Windows Terminal ile Yönetici olarak başlatın.


Sonrasında açılan Powerhsell ekranına şu kodu yapıştırıp Enter'a basın.



İşlem başarıyla tamamlandı yazısını görünce bilgisayarı yeniden başlatın. Detaylı başlat menüsü varsayılan olacaktır. 
Paylaş:

Instagram Takibi Bırakanlar Nasıl Bulunur? (Güvenli Yöntem)

 Instagram'da takipten çıkanları 3.parti instagram'a bağlanan uygulama kullanmadan ve güvenli bir şekilde bulmayı göstereceğim.

Bu yöntem için Instagram uygulamasını değil, masaüstü ortamı kullanmak gerekmektedir.

Öncelikle https://www.instagram.com/accounts/privacy_and_security/ adresine (Instagram Web->Profil->3 Çizgi ->Ayarlar->Gizlilik ve Güvenlik bölümüne) girin.


Veri İndirme bölümünden "İndirme Talep Et"e tıklayın. Sizden verilerin gönderileceği mail adresinizi isteyecek. Mail adresinizi girip HTML formatını seçip verileri talep edin. (15 dk ile 2 gün arasında mailinize zip halinde iletilecek.)

Zip dosyasını açın ve followers_and_following (takipçiler ve takip edilenler) klasörünü açın.


Klasörün içindeki "following.html" ve "followers.html"i tarayıcınızla açın. 


Follower sayfasında ilk kullanıcıdan başlayarak en sona kadar sürükleyerek seçin. (Veya ilk yazıyı seçtikten sonra en aşağı inin. Shift tuşuna basılı iken son kişiyi de seçin. Böylece herkes seçilmiş olacaktır.)

Sonrasında www.listdiff.com/ 'a girip kopyaladıklarınızı A Listesine yapıştırın. 

Aynı işlemi following.html'deki kişiler için de yapın. Tüm kişileri seçip kopyalayın ve listdiff sitesindeki B Listesine yapıştırın. 



Sonrasında compare list'e tıklayın. Size yeni listeler gösterecek.

B Only yazan listedeki kişiler sizin takip etmenize rağmen sizi takip etmeyen kişilerdir.

Böylece instagram şifrenizi başka bir uygulamaya vermeden sizi takip etmeyenleri görebilirsiniz. 

Paylaş:

Github Kodunu Web Sitesine Ekleme

Web sitenize github kodunu nasıl ekleyeceğinizi göstereceğim. 

Web sitemize, Github'da bulunan embedding(gömme) kodunu eklemek için şu adrese girin.

https://gist.github.com

Gist sayfasında, sitenizde paylaşmak istediğiniz kodunuza açıklama ve dosya ismi ekleyin. (Dosya adının sonuna uzantısını eklemeyi unutmayın.)



Kodu ekleyip kaydettikten sonra sağ üstten 'Embed' seçeneğini seçerseniz size embedding kodunun script'ini verecektir.


Paylaş:

Powershell'i Bulunduğumuz Klasör Konumunda Yönetici Olarak Açma (Windows 11)

Windows 11'de; Powershell'i / Cmd'yi Bulunduğumuz Klasör/Dizin Konumundan Yönetici/Adminstrator Olarak Başlatmak için Windows Terminal ayarlarını değiştirmek gerekiyor.

Boş bir yere sağ tıklayıp, "Windows Terminal ile Aç"ı seçin. 


Aşağı yön işaretine tıklayıp Settings'i (Ayarlar) açın. 


Profiller kısmından PowerShell'i seçin ve "Yönetici Olarak Açın" seçeneğini aktifleştirin. Sonrasında kaydedin.

Artık bulunduğunuz klasörde sağ tıklayıp Terminal ile Aç'ı seçince yönetici olarak başlatılacaktır.

Paylaş:

Unity JDK directory is not set or invalid / Android SDK Not Found Hatası Çözümü

Unity'de Apk oluşturmaya çalışırken JDK directory is not set or invalid , Android SDK Not Found, Gradle Build Failed, Selected SDK Directory doesn't exist gibi hataların çözümünü göstereceğim. 

İlk olarak Projenizin adında ve path'inde türkçe karakter kullanmadığınızdan emin olun. Örneğin C:\Users\fırat\Downloads\EğlenceProjem pathindeki projeye 'ı' ve 'ğ' yüzünden izin verilmez.  Projenin konumunu ve proje ismini değiştirmeniz gerekir.


Bu sorunu çözmezse Unity Hub'ı açın. Oradan Installs sekmesine gelip ayar simgesine tıklayın ve "Add Modules"u seçin. 

        

Android Build Support'un içindeki Android SDK & NDK Tools'u ve OpenJDK'yi seçin ve Continue'ya tıklayıp yükleyin.


Downloads sekmesinde Android'le alakalı tüm component'ların yüklendiğinden emin olun.

Unity'de Build Settings'teki Android sekmesini açıp Development Build'ın tikini kaldırın. 

Sonrasında Edit->Preferences'ta External Tools sekmesini açın ve JDK, SDK, NDK Path'lerine tik atın.


Unity'ı yeniden başlattıktan sonra Apk sorunu çözülmüş olacaktır.

Paylaş:

VSCode "The .NET Core SDK cannot be located" Hatası Nasıl Çözülür?

"The .NET Core SDK cannot be located. .NET Core debugging will not be enabled. Make sure the .NET Core SDK is installed and is on the path" hatasının çözümünü göstereceğim.


Öncelikle aşağıdaki linklerden .NET ve .NET Framework Developer Pack'in son sürümlerini indirin. Vscode'un kapalı olduğundan emin olduktan sonra kurulumu yapın. 

https://dotnet.microsoft.com/en-us/download/dotnet

https://dotnet.microsoft.com/en-us/download/dotnet-framework/

Bu işlemden sonra sistem/ortam değikenlerine girip Path'e dotnet konumunu ekleyin.

Bunun için ilk olarak Başlat Menüsünü açıp sistem değişkenlerini aratın ve ilk çıkan eşleşmeye girin.

Sonrasında "Ortam Değişkenleri"ne tıklayın. Ordan Path'i seçin ve Düzenle'ye tıklayın.


Sonrasında Yeni'ye ve Gözat'a tıklayıp .NET'in kurulduğu klasörü seçip Tamam'a tıklayın. Benim için bu klasör C:\Program Files\dotnet klasörü.


Bilgisayarı yeniden başlatıp Vscode'u bir daha açınca hata ortadan kalkacaktır.

Paylaş:

Commit Geçmişini Koruyarak 2 Git Repo'sunu Birleştirmek

 Merhaba,

 Yazıda size Ubuntu terminal veya git bash kullanarak farklı git repolarını tek bir repoda birleştirmeyi göstereceğim. Bunun sonucunda commit geçmişi korunacak.

Öncelikle, eğer ana dizinde Git repository'si oluşturmamışsanız, yeni bir klasörde git init ile oluşturun. Henüz hiçbir commit olmadığı için master branch'i oluşturulmamış olacak. Master branchine ihtiyacımız var bu yüzden eğer commit'iniz yoksa, readme dosyası yaratan aşağıdaki örnek komutu kullanabilirsiniz.


touch README.md && git add . && git commit -am "Adding readme file"

İlk commit edildi.

Varsayalım ki git repolarınız "final" ve "midterm". Ve git init/git clone.. ile oluşturduğunuz yeni repo ise "CSE-344" klasörü.
Ana repoyu yani CSE-344 klasörünü açın.



git remote add <repo_alias> <link>

Yukarıdaki komutla repoları remote olarak ekleyin. Burada repo_alias reponuz için verdiğiniz ismi, link ise repoya olan relative path'i (göreceli yolu) gösteriyor. 
Sonrasında "git remote -v" ile eklenen repoları listeyebilirsiniz.


"git fetch repo_alias_adı" ile remote'daki repo kodlarının kopyasını local e oluştururun. 


"git branch -a" ile remote'taki branchleri görebiliyoruz.


Şu an amaç bu repolar için localde branch oluşturmak. (Alttaki kısımlar her bir alt repo için uygulanacak.)

Aşağıdaki komutla alt repo için branch oluşturun. Alt repo branch adı oluşturduğunuz yeni repo branch adları oluyor. 

git branch yeniRepoİçinBranchAdı eskiRepodakiBranchAdı


Sonrasında o branch'e geçiş yapın. Branchte repo için klasör adı koyup tüm repoyu oraya taşıyın ve commit edin.

git checkout altRepoİçinBranchAdi
mkdir altRepoİçinKlasörAdı/ 
git ls-tree -z --name-only HEAD | xargs -0 -I {} git mv {} altRepoİçinKlasörAdı/
git commit -m "Commit mesajı"



Sonrasında checkout ile master branche geçiş yapıp merge ile birleştirin. Merge ederken sizden merge mesajı yazmanız istenirse Ctrl X ile çıkın. 

git checkout master && git merge --allow-unrelated-histories branchAdı



Bu işlemleri tüm alt repolar için yapın. 


İşlemler sonucunda "git log" komutu ile repo commitlerinin korunduğunu görebilirsiniz.


Paylaş:

Ubuntu Dosya/Klasörü Kısayol Yapıştırma (Symlink Oluşturma)

 Windows'ta bildiğiniz gibi bir dosyayı başka bir yere kısayol olarak yapıştırabiliyorsunuz. Ubuntu'da da Symlink (Sembolik link) adı altında bu özellik mevcut. Fakat problem şu ki, internette bu konu hakkında yazılanların çoğu bunu terminal açıp, hem kopyalamak hem de yapıştırmak istediğimiz yerin dosya dizinlerini kopyalayıp ln komutu ile kullanmayı içeriyor ve bu çoğu kişiye karışık gelebilir.

Oysa ki çözümü basit. 

Gnome dosya yöneticisini (Nautilus) açıp, sağ üstteki 3 çizgiden Preferences(Seçenekler)'e tıklayın.

Çıkan menüden 

Create Link (Bağlantı oluştur) seçeneğini aktif hale getirin. Bu hiçbir terminal komutuna gerek kalmadan yeterli olacaktır.

Paylaş:

Ara