Böyle siteleri çok kullanmasamda bu site kullanışlılık bakımından paylaşmaya değer bence.
http://uicolor.xyz/#/hex-to-ui
Bu sitede rgb veya hex kodunu UIColor un yazım şeklinde hem objectiveC ye göre hemde swift e göre kod üretip veriyor .
Böyle siteleri çok kullanmasamda bu site kullanışlılık bakımından paylaşmaya değer bence.
http://uicolor.xyz/#/hex-to-ui
Bu sitede rgb veya hex kodunu UIColor un yazım şeklinde hem objectiveC ye göre hemde swift e göre kod üretip veriyor .
App delegate içine
didFinishLaunchingWithOptions fonksiyonu içine
UINavigationBar.appearance().tintColor = UIColor.white UINavigationBar.appearance().barTintColor = UIColor(red: 0.0, green: 155.0/255.0, blue: 1.0, alpha: 1.0) UINavigationBar.appearance().titleTextAttributes = [NSAttributedStringKey.foregroundColor : UIColor.white]
kodunu iliştiriyorsunuz.
service nginx restart
hangi portlar dinlemede kontrol etmek için
sudo netstat -plnt
Cannot find module bcrypt diyordu da başka birşey demiyordu.
express i kurduğumuz gibi hemen
npm install bcrypt --save
dediysem de yemedi. Sonra bir kaç yöntem denediysem de yiyen yöntem :
sudo npm install node-gyp -g sudo apt-get install python sudo apt-get install make sudo apt-get install g++
sonra bi daha dene yiyecektir.
npm install bcrypt --save
Başlık biraz anlamsız oldu ama daha anlamlısını bulamadım, bulursanız ve bana yazarsanız sevinirim. Go programı çalışsın ama siz istemediğiniz sürece kapanmasın istiyorsunuz. Normal şartlarda program main fonksiyonundaki işini bitirince sonlanır veya siz oraya bir timer koyarsanız bekler. Ama timer‘da bi yerde sonlanacak. Hele birde goroutine kullanmışsanız sadece…
Programlarda gerekli olan işlemlerden biri de süreyi hesaplamaktır. Hangi aşamada ne kadar zaman geçmektedir ve o zamana bağlı olarak gerekirse algoritmanızı değiştirmeniz gerekebilmektedir. Continue reading
Bugüne kadar hep değişkenler oluşturduk ve onların değerlerini değiştirerek programlar yazdık. Yani yazdığımız kod belleğe hunharca yüklendi.
Her oluşturduğumuz değişken bellekte yeni bir birimi işgal etti ve biz o işgal sonucunda değişkenimizi istediğimiz zaman kullandık.
Go da sabah akşam haşır neşir olduğunuz struct ları json ile çözümlemeniz gerektiğinde buradaki kodlar yaranıza derman olur.
JSON‘lar artık çok yaygın olarak kullanılan bir yapı. XML ve benzeri bütün yapıların yerine geçmek üzere. Özellikle de MongoDB gibi döküman tabanlı database’lerinde JSON formatı yapıları kullanması aynı zamanda artık programlama dillerininde struct yapılarını classlara oranla öncelikli tercih etmeleri bu fitili ateşledi.
İşte elimizde Json bir verimiz var ve biz bunu çözüp değerlerine erişmek istiyoruz diyelim;
Map i yazdımak istediğimizde
https://play.golang.org/p/eKGfZMPZ-V
package main import "fmt" func main() { a := map[string]int{"alierbey":80,"sadık":82} fmt.Println(a) }
Çıktısı ;
map[sadık:82 alierbey:80]
bu şekilde olacaktır.
Bu map den json formatında çıktı almak istediğimizde ;
ilk önce encoding/json library sini import ediyoruz.
package main import "fmt" import "encoding/json" func main() { a := map[string]int{"alierbey":80,"sadık":82} jSonYaz , _ := json.Marshal(a) fmt.Println(string(jSonYaz)) }
Ve bu kodun çıktısı da;
{"alierbey":80,"sadık":82}
https://play.golang.org/p/tNC0N8hz1x
package main import "fmt" import "strings" func main() { k := []string{"ali","erbey"} a := strings.Join(k , "-") fmt.Println(a) }
Join fonksiyonu karakter eklemek için kullanılır. “ali” ve “erbey” den oluşan bir k dizisi elemanları arasına – işareti koymak istersek join fonksiyonunu kullanıyoruz.
Çıktısı ;
ali-erbey
package main import "fmt" import "strings" func main() { a := strings.Repeat("alierbey", 5) fmt.Println(a) }
Repeat fonksiyonu tekrar için kullanılır. Bu fonksiyon bugüne kadar işime yaramadı, ama ne olur olmaz lazım olur.
Çıktısı;
alierbeyalierbeyalierbeyalierbeyalierbey
package main import "fmt" import "strings" func main() { a := strings.ToUpper("alierbey") fmt.Println(a) b := strings.ToLower("ALİERBEY") fmt.Println(b) }
Çok söze gerek var mı ? ToUpper Karakterleri büyültür ToLower küçültür. Çıktısı da;
ALIERBEY alierbey
package main import "fmt" import "strings" func main() { k := strings.HasSuffix("alierbey", "bey") fmt.Println(k) a := strings.HasSuffix("alierbey", "er") fmt.Println(a) }
Suffix son ek demek ve bu fonksiyonumuzda string in sonunu bizim verdiğimiz string ile karşılaştırır ve true ya da false olarak döner.
Bu kod da ilk karşılaştırmada string bey ile bittiği için true dönecek ve ikinci kod da er ile bitmediği için false dönecektir.
true false
package main import "fmt" import "strings" func main() { k := strings.HasPrefix("alierbey", "ali") fmt.Println(k) a := strings.HasPrefix("alierbey", "bey") fmt.Println(a) }
Biliyorsunu ki prefix ön ek demek. HasPrefix fonksiyonu da bizim string imiz belirttiğimiz karakterlerle başlıyor mu ona bakıyor.
Bu kodda alierbey’i ilk kontrol ettiğimizde ali karakteri ile başladığı için true dönecek
Sonraki kodda bey ile başlamadığı için false dönecektir.
true false
package main import "fmt" import "strings" func main() { k := strings.Index("alierbey", "e") fmt.Println(k) a := strings.Index("alierbey", "a") fmt.Println(a) }
Index fonksiyonu aradığımız karakterin index numarasını verir. Bu kodun çıktısını ilk önce yazayım ;
3 0
Gördüğünüz gibi e karakterinin index numarası 3 ve a karakterinin index numarası 0 dır. Programlama da her zaman index ler 0 dan başlar. Bu dizilerde böyledir.
0 1 2 3 4 5 6 7
a l i e r b e y
package main import "fmt" import "strings" func main() { k := strings.Replace("alierbey", "e","o",1) fmt.Println(k) a := strings.Replace("alierbey", "e","o",-1) fmt.Println(a) }
Replace fonskiyonu adından da anlaşılacağı üzerine yer değiştirme işlemi yapar. Burada “alierbey” string i içinde “e” karakterini “o” ile değiştireceğimizi belirtiyoruz.
En sondaki 1 ve -1 ise şu anlama geliyor.
Eğer 1 yazarsanız ilk karakteri değiştirir ve bırakır. Yani ilk çıktı;
aliorbey
olacaktır.
Eğer -1 yazarsanız bulduğu bütün karakterleri istediğiniz e karakteri ile değiştirir. Bunun çıktısı;
aliorboy
olacaktır.
package main import "fmt" import "strings" func main() { k := strings.Count("alierbey", "a") fmt.Println(k) a := strings.Count("alierbey", "e") fmt.Println(a) }
Strings Count fonksiyonu aradığımız karakterin kaç tane olduğunu döner. Yukarıda alierbey string inin içinde a karakteri arıyoruz ve bize 1 tane olduğu için 1 dönüyor, e karakterini aradığımızda 2 tane olduğunu dönüyor.
1 2
package main import "fmt" import "strings" func main() { k := strings.Contains("alierbey", "bey") fmt.Println(k) a := strings.Contains("alierbey", "usak") fmt.Println(a) }
Şimdi contains fonksiyonu, elimizdeki bir string, aradığımız bir string i içeriyor mu içermiyor mu bunu boolean olarak döner. Yukardaki kod da string imizi alierbey ve bu string sizde görüyorsunuz ki “bey” string ini içerdiği için k bize true olarak döner.
Ama usak ifadesini içermediği için false olarak döner.
true false
bu kodun çıktısı da aynen bu şekildedir.
Aşağıdaki linkten çalıştırabilirsiniz.
https://play.golang.org/p/8Pci5wB_z4
package main import "fmt" import "strings" func main() { deneme := "ali erbey usak universitesi" k := strings.Split(deneme, " ") fmt.Println(k) fmt.Println(k[0]) }
Go da elimizdeki bir text i ayırmak split etmek istiyorsak öncelikle import “strings ” diyerek o library i projemize dahil ediyoruz.
daha sonra text imiz hangi karakterlerden ayıracaksak onu belirtiyoruz. Bu kod da text imizi boşluk karakterlerinden ayırdım ve bana Split fonksiyonu bir dizi döndü.
[ali erbey usak universitesi] ali
daha dizi elemanlarını nasıl kullanıyorsam text i o şekilde kullanabilirim. Bu kod un nasıl çalıştığının aşağıdaki linkten çalıştırabilirsiniz.
Veritabanları ile çalışmazsak olmaz dimi. Zaten ülkemizde yazılımcıların çoğu zaman yaptığı iş veri kaydedip okumak değil mi ? 🙂 Deli gibi program yazdığını düşünen arkadaşların bundan ötesini yapmadığını biliyoruz.
Neyse konumuz o değil…
Burada Sqlite gibi lightweight bir veritabanında standart CRUD işlemlerini yapıyoruz.
Programınızın çalıştığı klasörde bir dosya ile çalışmak istiyorsanız programınızın çalıştığı yol çoğu zaman gerekli olmuştur döyle durumlar için aşağıdaki kod çalıştığınız klasörü verir.
func GetAppPath() string { dir, err := filepath.Abs(filepath.Dir(os.Args[0])) if err != nil { log.Fatal(err) } fmt.Println(dir) return dir }
bu fonksiyonu çalıştırdığınız zaman return olarak çalıştığınız dizini alırsınız.
Go için değişken türleri ve alabilecek değerleri aşağıdadır. Aslında dillerin destekleri genelde aynıdır. Burada görebileceğimiz farklılardan ilk dikkatinizi çekmesi gereken şey double değişken tanımla keyword’ü yoktur.
Standart olarak programlama yaparken çokça başvurduğumuz karakter Go da bu listede belirtilmiştir.
Program yazmaya başladıktan bir süre sonra bir bakarsınız integer bir değeri ekrana basmak için string’e dönüştürmek yada json’dan aldığınız string bir değeri integer’a dönüştürmek zorunda kalabilirsiniz.
Bu ve benzeri convert işlemleri bir dil’e hakimiyet’in başlangıcıdır diyebiliriz.
Tek kelime edip gidebilirim, totalitarizm.
Bu kelimeyi neredeyse çoğu yazısında kullanan ve kullanmaktan hiç çekinmeyen Gündüz Vassaf bu kelimeyi herkese öğretmeyi misyon edinmiş sanırsam.
Resmen herşeye karşı muhalif bir adam. Yatmaya, kalkmaya, ritüellere ve oluşturduğumuz saçma sapan olgulara…
Bu film o kadar detaylı incelenebilir ki, yazmaya ne benim gücüm yeter ne bilgim yeter ne de siz okumaya dayanabilirsiniz. Çünkü kadınların hor gürüldüğü bir toplumda her ne olursa olsun herkesi karşına alıp hiç kimseyi dinlemeden onları yüceltebilmek her babayiğidin harcı değildir.
Bu açıdan bakıldığında oldukça iyi bir iş başarmış olan bir kişiye aynı zamanda kendi hayallerini çocuklara dayatması açısından bakılınca, başardığı şey bir anda anlamsızlaşıyor.
Velhasıl çok güzel psikolojik sosyolojik değerlendirmelere tabi olabilecek bir film var karşınızda.