aria2 – İndirme Aracı

Genelde torrent’ten bir dosya indirdiğimde uTorrent gibi torrent programlarını kullanırdım. Ancak terminal üzerinden otomasyon yazmak istediğimde bunun yeterli olmadığını gördüm, ayrıca yaptığım testlerde uTorrent gibi torrent programlarının aria2 aracına göre daha yavaş indirdiğini fark ettim. O yüzden torrent indirmelerini bu araçla yapıyorum, ayrıca otomatize etmeye çalıştığımda da çok daha kolay oluyor benim için.

Öncelikle kuruluma bir bakalım.

Centos için aria2 Kurulumu

Eğer centos sunucu üzerinde kurulum yapmak isterseniz şu komutları çalıştırmanız yeterli.

yum install epel-release -y
yum install aria2 -y

Mac için aria2 Kurulumu

Eğer brew gibi bir araç kullanıyorsanız kurulum için şu komutu çalıştırmanız yeterli.

brew install aria2

Eğer brew yüklü değilse terminalde şunu çalıştırarak yükleyebilir ve daha sonra yukarıdaki gibi kurulumu yapabilirsiniz.

ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" < /dev/null 2> /dev/null

Windows için aria2 Kurulumu

Eğer sisteminiz 32bit ise şuradan 64bit ise şuradan dosyaları indirin. Dosyayı zip’ten çıkardığınızda içinde aria2c.exe diye bir dosya göreceksiniz, onu terminalde kullanabilirsiniz artık.

Torrent İndirme İşlemleri

Şimdi bir torrent dosyasını indirmeye başlatmak için şu komutu kullanabilirsiniz.

aria2c ornek.torrent

Tabi bu şekilde allocate etmeye çalışacak, bu da torrent’in boyutuna göre belli bir süre alıyor. Bunu önlemek için --file-allocation=none tanımını ekleyebilirsiniz.

aria2c ornek.torrent --file-allocation=none

Ayrıca eğer indirme işlemi bittiğinde bu işlemi sonlandırmak isterseniz --seed-time=0 şeklinde belirleyebilirsiniz.

aria2c ornek.torrent --seed-time=0

Kısaca ideal bir indirme komutu şöyle olabilir

aria2c ornek.torrent --file-allocation=none --seed-time=0

Bir diğer önemli konuda, bazen torrent dosyalarının içindeki bazı dosyaları indirmek isteyebilirsiniz. Öncelikle içinde neler olduğuna bakmak için --show-files komutunu çalıştırın.

aria2c ornek.torrent --show-files

Burada index değerlerini göreceksiniz. Örneğin 10 dosya varsa 1’den 10’a kadar indexi olacak. Siz 2. dosyayı indirmek isterseniz şöyle kullanabilirsiniz

aria2c ornek.torrent --select-file=2

Eğer 1. ile 5. video arasındakileri indirmek isterseniz

aria2c ornek.torrent --select-file=1-5

Bir başka alternatif 1. dosya 3. dosya ve 7-9 arasındakileri indirmek için

aria2c ornek.torrent --select-file=1,3,7-9

Son olarak belki şöyle bir sh örneği verebilirim. Bir dizinde bulunan tüm torrent dosyalarını sırasıyla indirmek isterseniz şöyle bir sh dosyası oluşturabilirsiniz.

for f in *.torrent; do
    aria2c "$f" --file-allocation=none --seed-time=0
done

Bunu torrent.sh adıyla bir dosya oluşturup içine yazın ve terminalden şu komutla ilgili dizinin içindeyken çalıştırın.

sh torrent.sh

Böylece sırasıyla torrrent dosyalarınızı indirecektir. Eğer --seed-time=0 komutunu koymazsanız işlem bitince kendini sonlandırmayıp seed etmeye devam edeceği için sonraki indirmeye geçmiyor bu yüzden o ayar çok önemli 🙂

Sonuç

Yukarıda gösterdiklerim sıkça kullandığım komutlardı. Elbette bu aracın çok daha fazla ayarı var ve bunların tamamına şuradan bakabilirsiniz.

Benim işime çok yaradı, bir gün mutlaka sizin de işinize yarayabilir 🙂

Uzun zamandır neden yokum?

Herkese selam, bloğumu hala takip eden birileri olduğuna eminim ve belki neden uzun zamandır bir şey yazmadığımı merak ediyordur 🙂 Aslında teknik yazı ve anlatımlarımın tamamını artık prototurk.com üzerinden paylaşıyorum yani uzun zamandır yazmadığım ya da bir şey paylaşmadığım yanlış ancak bloğuma yazmadığım doğrudur.

Burayı artık biraz daha kişisel amaçlar, kişisel yazılar, değerlendirmeler vs. için kullanacağım sanırım. Diğer her türlü teknik kısmını prototurk.com’a taşımaya niyetliyim, uzun zamandır zaten yarısını orada yarısını burada paylaşmak bana da hep garip gelmişti 😀 Nihayet böyle bir karar verip oraya yoğunlaşmak beni mutlu ediyor.

Öte yandan bu blogda bazı konular var ki, her yerde linkleri yayılmış vaziyette, o yüzden o bilgiler kaybolmasın diye silmiyorum hiçbirisini. Belki prototurk’e güncel versiyonlarını yazıp yönlendirme yapabilirim bakalım ona bir şey düşüneceğim.

Ancak bloğu derslerden dolayı takip eden arkadaşlar artık prototurk.com’a geçebilirler, eğer kişisel olarak yazacağım yazıları merak edenler varsa da zaman zaman burada birlikte keyifli vakit geçireceğiz 🙂

Logic Pro X “Error: Content relocation could not be completed” Hatası ve Çözümü

Bu hatayı, ses kütüphanemizi başka bir harici diske konumlandırmak istediğimizde alıyoruz. Bunun sebebi de yine mac’in kendi izinleriyle alakalı oluyor. Ben de biraz araştırma yaparak sonuca vardım, belki bir gün birisinin işine yarar diye bloğuma eklemeye karar verdim 🙂

Yapacağımız şey, Sistem Tercihleri > Güvenlik ve Gizlilik > Gizlilik altında sol tarafta bulunan Tam Disk Erişimi kısmına girmek. Daha sonra sağda açılan alanda eğer Logic Pro X’i görüyorsanız onun yanındaki checkbox’ı işaretleyin, eğer görünmüyorsa artı butonuna basarak uygulamardan logic pro’yu seçin ve yine aynı işlemi uygulayın. Eğer logic pro açıksa çıkmanızı isteyecek, çıkış yapıp tekrar açtığınızda ses kütüphanesini değiştirmeyi denerseniz başarılı bir şekilde değiştiğini göreceksiniz.

Güzel müziklerde kullanın 🙂

Film Tavsiyeleri

Merhaba arkadaşlar, film izlemeyi çok seven birisi olarak uzun süredir böyle bir web sayfası açmayı planlıyordum. Hazır vaktim de varken, nihayet basitte olsa bir şeyler yapmaya başladım.

Bu web sayfasına, her gün bir film tavsiyesinde bulunuyorum. Aynı zamanda tavsiye ettiğim filmleri izleme imkanınızda var, burada amaç bana göre en eğlenceli, komik, güzel vakit geçirten filmleri sizi arama zahmetinden kurtararak günlük olarak sizlere sunmak.

Bir bakıp şans vermeye ne dersiniz 🙂 Seviliyorsunuz.

CSS “rebeccapurple” Renginin Hikayesi

Eric meyer ve kızının hikayesini duydunuz mu? Eric Meyer ismini bilmiyorsanız bile eminim onun hazırladığı reset.css’i hepiniz kullanmışsınızdır.

Eric Meyer’in kızına geçtiğimiz yıllarda kanser teşhisi konmuş. Eric’de bu durumu bloğunda paylaşmaya karar vermiş. Ancak kızının durumu git gide kötüleşmiş.

Ve işin kötüsü, Eric kızını kaybetmiş. Web geliştiricileri topluluğumuz ise bu konuda onu onurlandırmak ve desteklerini göstermek için harika bir yol bulmuşlar.

CSS Çalışma Grubuna renk listesine yeni bir renk eklenmesi için sunum yapmışlar. Rebecca’nın en sevdiği renk olan #663399 rengini yeniden adlandırmak ve ismini beccapurple olarak belirlemek istemişler.

Bunun Eric’in ailesi için daha fazla acı ve sıkıntıya neden olmayacağından emin olmak isteyen CSS WG ona ulaşmış ve Eric ise şöyle bir cevap yazmış.

“Ölmeden birkaç hafta önce Rebecca bize altı yaşında büyük bir kız olduğunu ve Becca’nın bir bebek ismi olduğunu söyledi. 6 yaşına geldiğinde herkesin ona Becca diye değilde Rebecca diye seslenmesine istedi.Ve 6 yaşındaydı. En azından 12 saat için altı yaşındaydı. O yüzden Rebecca olmalı.”

Eric Meyer

Sonuç olarak Eric Meyer’in de izniyle 19 Haziran 2014’de #663399 renk kodu rebeccapurple ismiyle adlandırılmaya uygun bulundu.

Bu topluluğun bir parçası olduğum için mutluyum.

Destek olmak ister misin?

Bir süre önce youtube kanalımda KATIL özelliği açıldı. Bugüne kadar bir çok kişi sana destek olmak istiyoruz diyorlardı, ben de bana destek olmak isteyenler olabilir diye youtube kanalımda bu özelliği aktif ettim.

Belli başlı abonelikler belirledim ancak aboneliklerin hangisini seçeceğinizin bir önemi yok, hangisi size uygunsa onu seçip bana destek olabilirsiniz. Abone olan herkes, Udemy gibi platformlarda ücretli olarak yayınladığım eğitimlere youtube üzerinden erişebiliyor. Yani KATIL’ı sadece destek olmak için değil aynı zamanda ücretli kurslarıma erişmek içinde kullanabilirsiniz.

Destek olup olmamak size kalmış, ben yine de hepinizi ayrı ayrı seviyorum ve ders videolarıma, makale yazmaya ve blog tutmaya devam edeceğim. Yavaş yavaş evlilik sürecine gittiğim şu yıllarda, belki bu şekilde daha sağlıklı adımlar atabilirim diyerek sizleri de işin içine kattım. Ben iki türlüde içerik üretmekten keyif alıyorum, en büyük mutluluğum bu. Umarım hiçbir zaman bu heyecanımı ve mutluluğumu kaybetmem.

Bir şekilde destek olmak isterseniz, aşağıdaki bağlantıdan youtube kanalıma giderek KATIL düğmesine basıp gerekli adımları takip edebilirsiniz.

Teşekkür ederim hepinize dostlar.

Web fontlarını yükleme sırasında görünür kılın

Fontlar genellikle yüklenmesi zaman alan büyük dosyalardır. Bazı tarayıcılar ise yazıları font yüklenene kadar gizler. Google Page Insight’da hız testi yaparsanız, bu gibi durumlarda şöyle bir hata verdiğini görebilirsiniz.

Bu problemin çözümünü ise @font-face tanımında font-display: swap ekleyerek önüne geçebileceğimizi söylüyorlar.

@font-face {
  font-family: 'Pacifico';
  font-style: normal;
  font-weight: 400;
  src: local('Pacifico Regular'), local('Pacifico-Regular'), url(https://fonts.gstatic.com/s/pacifico/v12/FwZY7-Qmy14u9lezJ-6H6MmBp0u-.woff2) format('woff2');
  font-display: swap;
}

font-display özelliği font’un nasıl görüneceğini belirlemek için kullanılıyor. swap değeri ise tarayıcıya sistem fontunun anında yüklenmesini ve özel font dosyası yüklendiğinde değiştirilmesini istediğini söylüyor.

Google Fontları

Google fontlarını kullanırken de, url’in sonuna &display=swap şeklinde parametre eklerseniz, aynı işlevi görecektir.

<link href="https://fonts.googleapis.com/css?family=Roboto:400,700&display=swap" rel="stylesheet">

Kaynak: https://web.dev/font-display

HTML5 ile Resimlere Lazy Load Ekleme

Her gün HTML5 ile birlikte yeni deneysel API’ler ekleniyor. Bu eklenen API’ler genelde dediğim gibi deneysel oluyor ve bizler tarafından teste tabi tutuluyor, günün sonunda iyi olan kazanıyor ve yeni versiyonlara eklenme ihtimali artıyor. Deneysel olmasının tek dezavantajı, tüm tarayıcıların desteklemiyor olması. Ancak bu, yeni gelişmelerin bizi heyecanlandırmasının önüne geçemez 🙂

Zira eskiden, resimlere lazy load eklemek için javascript eklentileri kullanmak durumundaydık. Bunun amacıda, resimler sayfanın açılış hızın etkilemesin diyeydi. Ancak şu an sadece Chrome ve Opera‘da çalışan native bir çözüm var.

Okumaya devam et “HTML5 ile Resimlere Lazy Load Ekleme”

Geliştirici Aracını kullanarak sayfanın ekran görüntüsünü almak

Genelde sayfanın ekran görüntünü almak için eklenti kullanılıyor. Ancak geliştirici aracı, bir çok özelliği barındırdığı gibi manuel olarak ekran görüntüsü almayı da destekliyor 🙂 Nasıl yapıyoruz? Geliştirici aracını açıp ⌘ + ⇧ + P tuşu ile komut satırı paneli açılıyor. Ya da aşağıdaki gibi ilgili paneli açın.

Buradan Screenshot diye arattığınızda 4 farklı ekran görüntüsü alma seçeneği var. Bunlardan full size olanı ile baştan aşağı tamamının ekran görüntüsünü alabilirsiniz.

Render işlemi bittikten sonra ekran görüntüsü png formatta iniyor. Eğer bir durumdan ötürü ihtiyacınız olursa aklınızda bulunsun 🙂 Capture area screenshot ilede sizin seçeneğiniz bir alanın ekran görüntüsünü kayıt edebilirsiniz. Kolay gelsin.

Algolia nedir? Nasıl kullanılır?

Arama konusu yazılımda herkesin zorlandığı konulardan bir tanesi. Önemli olan veritabanındaki veriyi alıp göstermek değil, büyük ölçekli filtreleme işlemleri ve işlem sürelerini minimuma indirerek kullanıcıya iyi bir arama deneyimi yaşatmak. Buda büyük ölçekli projelerde çokta kolay olmayan bir durum. Bu gibi durumlarda Algolia diyor ki, gönder bana verini ben sana en hızlı şekilde bu hizmeti vereyim.

Ek olarak autocomplete, instantsearch gibi konularda da hizmet veren Algolia’nın ücretli olduğunu söylememe gerek yok sanırım? Hesap açıp 14 gün boyunca ücretsiz deneyebiliyorsunuz. Eğer hoşunuzda giderse (ki adamlar şu sıralar ciddi yatırımlar alıyorlar, belli ki herkesin hoşuna gidiyor) aylık minimum 29$ ödeyerek bu servisi kullanmaya devam edebilirsiniz.

Baktığınızda bu kadar büyük ölçekli işlerde çokta önemsenmeyecek bir rakam diyebiliriz. Elbette bu 29$’lık paketin bir limiti var ancak dediğim gibi, performans istiyorsanız o zaman biraz paraya kıymanız gerek 🙂

Okumaya devam et “Algolia nedir? Nasıl kullanılır?”