wireguard: kendimize özel vpn kurulumu

VPN Kuralım Bugün sizlere kendinize ait VPN sistemi nasıl kurulur, onu anlatmak istiyorum, daha önce İngilizce olarak, yayınladım fakat Türkçe bir kaynağın da faydalı olabileceğini düşündüm. Burada anlatılanlar, ubuntu ailesine (16.04,18.04) ait sunucular üzerinde test edilmiştir. İlk olarak bulut hizmeti sağlayan bir şirketten bu DigitalOcean, Google Cloud, Microsoft Azure veya Amazon olabilir, sunucu kiralıyorsunuz, en ucuzu ve makul olanı DigitalOcean tarafından sunulan aylık 5 dolar olan sunucu diyebilirim. Sunucuyu kiraladıktan ve ssh bağlantısını sağladıktan sonra VPN kurulumuna geçebiliriz. ...

July 1, 2020 · 5 min · mrturkmen

go: concurrency notes

Concurrency in Go Concurrency in Go, makes Go programming language very unique and attractive compared to other languages, in this section I am going to share the notes which I took when I was watching coursera video series. If you did not already check previous post on Go, it could be helpful to check it out first. Go Notes (OOP) Specialization serie is Programming with Google Go ...

June 13, 2020 · 11 min · mrturkmen

go: object oriented programming notes

In this post, I would like to share the notes that I took when I was completing following Go series education on Coursera. I can recommend it for anyone who would like to get rapid introduction to Go programming. Programming with Google Go I should admit that although it looks fancy, nothing can be compared to actual development and contribution to open source projects. The course itself is quite interesting and contains very handy exercises regarding to Go development mentality. I would recommend it for anyone who has some interest in Go development and do not know where to start. ...

June 8, 2020 · 8 min · mrturkmen

wireguard: set it up in few steps

Why VPN? It is crucial to do not expose your personal details or not being attacked by someone when you are connected to public endpoints such as coffee, airport, hotel and guest WIFI points. Furthermore, sometimes, people require to have organizatinal VPN access if organization itself does not provide one. For instance when students in universities have taken into consideration, it is quite important to reach resources that university is providing, it could be IEEE library access or enclosed resource which is only exclusive to internal network of the organization. ...

June 6, 2020 · 8 min · mrturkmen

error: no space left on this device

Summary In this post, one of the well known (-open to discuss :)-) error of “No space left on device” which is caused due to Docker will be solved with different approaches. Note: “No space left on device” error can be caused due to any other reason than docker itself. Hence, it would be nice to make sure that the error is caused due to docker volumes. You can check whether it is caused due to docker volumes or not by following steps over here ...

May 18, 2020 · 6 min · mrturkmen

elasticsearch: performans artırımı

Giriş Elasticsearch üzerinde büyük boyuttaki verileri hızlı bir şekilde işlemek çaba gerektiren işlerden biridir. Bu yazıda bir çalışma esnasında yapılan elasticsearch performans iyileştirmelerini ve nasıl yapıldığını anlatmaya çalışacağım. Bu iyileştirme işlemlerinin nasıl yapıldığına geçmeden once elasticsearch mimarisinde bulunan bazı bileşenlerden bahsetmekte yarar var. Cluster : Elasticsearch bir veya birden fazla bilgisayarda entegre şekilde çalışabilir ve bu elasticsearch ün çalıştığı makinelere NODE denir. Cluster (Küme) ise bu node’ların oluşturduğu gruba verilen yapıya denir. Index : Elasticsearch üzerinde veriler indexlerde tutulur, index basit olarak dökümanların toplandığı ve tutulduğu yapıdır. Shard: Elasticsearch ü birden fazla makine üzerinde (sanal veya fiziksel makine) tutabildiğimizden dolayı, indekslerde tutulan veriler bu cluster adı verdiğimiz ortamlarda dağıtık (distributed) şekilde tutulur. Bu işlemin yönetim kısmını elasticsearch otomatik olarak halleder. Replica: Elasticsearch normalde (default) her indeks için 5 ana shard ve 1 replica oluşturur, yani her bir indeks 5 adet shard’a sahip ve her shard bir replica içermektedir. Aşağıda bu durumu gösteren bir ekran görüntüsü verilmiştir. http://<elk-ip>:9200/_cat/shards ...

February 17, 2019 · 6 min · mrturkmen

vim

Özet Terminal üzerinden kullanılan en meşhur yazı düzenleme programı VIM hakkında komutlar ve bazı kullanışlı linux komutları Script nasıl yazılır. Dosya oluşturulur ve dosyanın başına terminalin yolu eklenir #!/bin/bash terminal komutlarını bu yolun altına yazınız. daha sonra dosyanın iznini ayarlayınız. chmod +x dosya_ismi terminal scriptini şu şekilde çalıştırılabilirsiniz. ./dosya_ismi örnek bash scripti !/bin/bash echo "Adınzı giriniz: " read isim echo "Sifrenizi giriniz" read sifre if [[ ( $isim == "admin" && $sifre == "random" ) ]]; then echo "Başarılı" else echo "Başarısız" fi VIM Birden fazla dosya üzerinde çalışmak $ vim *.txt # birden fazla txt ile dosyasını aynı anda açmanızı sağlar (eğer birden fazla dosya mevcut ise) $ :wall veya :qall # bütün açık dosyalardan yaz veya çık komutudur. $ vim -o *.txt # birden fazle txt dosyasını açar ve yatay düzlemde gösterir, dikey düzlem için -O parametresi kullanılara $ :args *.txt # txt ile biten bütün dosyaları argument listesine aktarır. $ :all # bütün dosyaları yatay düzlemde ayırır $ CTRL-w # birden fazla pencere arasında gezmenizi sağlar $ :split # aynı dosyayı iki farklı pencerede gösterir. $ :split <acılacak_dosya> # dosyayı yeni bir pencerede açar $ :vsplit # brden fazla pencereyi dikey komunda ayırır, tablolar için çok kullanışlıdır. ":set scrollbind " komutu ile açık dosyalar da aynı anda yukarı aşağı yapabilirsiniz. $ :close # bulunduğunuz pencereyi kapatır $ :only # bulunduğunuz pencere hariç diğerlerinin tamamını kapatır. Hece Kontrolü & Sözlük $ aspell -c <dosya> # verilen dosyada heceleri kontrol eder, terminal komutudur $ aspell -l <dosya> # terminal komutu $ :! dict <cumle> # cümlenin anlamını kontrol etmenizi sağlar $ :! wn 'cumle' -over # cümlenin eş anlamlılarını gösterir Dosyayı yazdırma $ :ha # bütün dosyayı yazdırır $ :#,#ha # (#,#) ile belirtilen alandaki metini yazdırır Birleştime / Ekleme Komutu $ :r <dosya_ismi> # açık olan dosya içerisine, # aynı dizinde olan başka bir dosyayı eklemek için bu komut kullanılabilir, # imlecin hizasından sonra ekleme yapar Geri Alma / Yeniden Alma $ u # en son yaptığınız değişikliği geri alır $ U # yaptığınız bütün değişiklikleri geri alır $ CTRL-R # geri alınmış bir kısmı yeniden getirmenizi sağlar. Kopyalama & Yapıştırma $ yy # imlecin bulunduğu satırı kopyalar, 2 satır kopyalamak için 2yy kullanılabilir. $ p # kesilen/kopyalanan içeriği imleçten başlayacak şekilde yapıştırır Silme/Kesme (NORMAL modda uygulanır. Yani Vim komut satırında değil. EXE modunda değil. ) $ x # imlecin üzerinde bulunduğu karakteri siler. $ dw # imlecin bulunduğu kelimeyi sonuna kadar siler (Boşluklar dahil ) $ de # imlecin bulunduğu kelimeyi sonuna kadar siler (Boşluklar hariç ) $ cw # kelimenin geriye kalan kısmını siler ve sizi ekleme moduna alır, ekleme modundan ESC ile çıkabilirsiniz. $ c$ # bulunduğu satırı tamamen siler ve sizi ekleme moduna alır ekleme modundan ESC ile çıkabilirsiniz. $ d$ # imlecten itibaren satırı siler e $ dd # satırı tamamen siler, imlecin nerede olduğunun önemi yoktur $ 2dd # ileriki 2 satırı siler, benzer sekilde 3dd : uc satır siler, 4dd: dort satır siler, (imlecten bagımsız) Koyma $ p # kesilen/kopyalanan içeriği imleçten başlayacak şekilde yapıştırır Dosya içerisinde arama (Vim) (bu kısımda genelde düzenli ifadeler kullanılır ) $ /aramak_istediğiniz_düzen # yazdığınız ifadeyi açık olan belge içerisinde arar ve hepsini işaretler $ ?aramak_istediğiniz_düzen # yazdığınız ifadeyi açık olan belge içerisinde arar ama işaretlemez, n ile ileriki kelimeyi görebilirsiniz. $ :set ic # kelimelerin büyük/küçük harf ayrımını ortadan kaldırır $ :set hls # aranan ve bulunan kelimeleri vurgulu şekilde gösterir. Düzenli ifadeler ile metin yönetimi $ :s/harf1/harf2/ # harf1, harf2 ile değiştirilir fakat sadece ilk karşılaşmada yapılır $ :s/harf1/harf2/g # bütün dosya içerisindeki harf1, harf2 ile değiştirilir. $ :s/harf1/harf2/gc # yukarıdaki işlemin aynısını onay alarak yapmak için "c" eklenir $ :#,#s/harf1/harf2/g # (#,#) arasındaki satırlarda bulunan harf1, harf2 ile değiştirilir. $ :%s/harf1/harf2/g # tüm dosyadaki harf1 ifadesi harf2 ile değiştirilir. $ :%s/\(harf1\)\(.*\)/\1/g # harf1 sonrakisindeki bütün satırları siler. $ :%s/\(SL\dm\d\d\d\d\d\.\d\)\(.*\)/\1\t\2/g # SL1m12345.1 ve tanımı arasına TAB boşluğu ekler $ :%s/\n/ifade/g #Satır verilen ifade ile değiştirilir. $ :%s/\(^SL\dm\d\d\d\d\d.\d\t.\{-}\t.\{-}\t.\{-}\t.\{-}\t\).\{-}\t/\1/g # 5 ve 6.ncı TAB taki (5. Kolondaki), içeriği "{-}" ile degiştirir. $ :#,#s/\( \{-} \|\.\|\n\)/\1/g # (#,#) verilen aralıkta ne kadar cümle olduğunu hesaplar $ :%s/\(E\{6,\}\)/<font color="green">\1<\/font>/g # 6 dan fazla E geçen kısımları, HTML renkleri ile vurgular. $ :%s/\([A-Z]\)/\l\1/g # Büyük harfleri, küçük harfler ile değiştirir, '%s/\([A-Z]\)/\u\1/g' , bu ise küçük harfleri büyük harfler ile değiştirir. $ :g/ifade/ s/\([A-Z]\)/\l\1/g | copy $ # ifade yeni oluşturulan ifade ile değiştirilir eşdeğer olanlar copy $ ile yazdırılır. HTML Düzenleme -metini HTML formatına cevirme $ :runtime! syntax/2html.vim # vim içerisinde bu komutu çalıştırınız. Vim içerisinden terminal komutu çalıştırma $ :!<terminal_komutu> <ENTER> # terminal komutunu vim içerisinden çalıştırır $ :sh terminal ile vim arasında gezmenizi sağlar Tablo düzenleyicisi olarak Vim’ i kullanmak $ v # karakterleri seçmek için görsel mod başlatılır. $ V # satırları seçmek için görsel mod başlatılır. $ CTRL-V # blok görsel seçim yapmanızı sağlar. $ :set scrollbind # aynı ayna ayrılan iki ayrı dosyada gezinti yapmanızı sağlar. Vim ayarlarını değiştirmek - .vimrc dosyası içerisindeki parametreler isteğinize göre değiştirilebilir. ...

January 11, 2019 · 7 min · mrturkmen

debian: terminal/komut

Özet: Bu yazıda linux ortamına biraz daha giriş yaparak, linux ortamında bulunan komutlar hakkında kısa bilgilendirme yapılması planlanmaktadır. Giriş Neden Linux ? Birden fazla işlemi aynı anda kolay şekilde yapmanızı sağlar Uzaktan işlemlerinizi halletmede büyük kolaylık sağlar Birden fazla kullanıcı aynı sunucuya erişebilir Terminale, bir sistem üzerinde olan kaynaklara birden fazla erişim mümkündür Arayüz olan sistemlere göre daha performanslı, Bedava , Güncel Temeller Bu bilgilendirme dosyası için not Bütün komutlar büyük ve küçük harfe duyarlıdır. ...

January 10, 2019 · 8 min · mrturkmen

debian: cp/reboot komuları

Özet: Bu kısa yazımızda linux bilgisayarlarının terminali üzerinden yapabileceğiniz basit işlemlere dair bilgiler verilecektir. Linux tabanlı sunucularda/bilgisayarda terminal üzerinden kopyalama Kopyalama işlemi “cp” komutu ile yapılmaktadır, bu komuta ait format aşağıdaki gibi özetlenebilir. cp [parametreler] [kopyalanacak-dosya] [kopyalanmasi-hedeflenen-yer] Bu komutun kullanımına örnek verelim, kopyalanacak dizin ve kopyalanması gereken dosya ; Kopyalanacak dizin : /home/geek/Masaustu/ Kopyalanacak dosya : /home/geek/Dokumanlar/resim.png Bu durumda komut : (* Dizinlere ve dosyalara erişim hakkına sahip olduğunuzdan emin olunuz) cp /home/geek/Dokumanlar/resim.png /home/geek/Masaustu/ Eğer bir dizin içerisindeki bütün dosyalar kopyalanması planlanıyor ise -R parametresi kullanılması gerekmektedir. Diyelim ki bir dizin içerisinde 1.png, 2.png, 3.png … 12.png gibi dosyalar var ise ve bu dizinin adı “resimler” ise, resimler dizisi istenilen diziye aşağıdaki komut yardımı ile kopyalanabilir. ...

January 9, 2019 · 2 min · mrturkmen