18 Şubat 2022 Cuma

Renk Uzayı - CMYK - Baskı İşlerinde Kullanılır

Giriş
CMYK renk uzayı aslında çok eskiden beri biliniyor. Açıklaması şöyle.
In 1906, the Eagle Printing Ink Company incorporated the four-colour wet process inks for the first time. These four colours were cyan, magenta, yellow, and black (also known as key), hence the name CMYK. It was discovered that these four colours can be combined to produce an almost unlimited number of richer, darker tones.
CMYK baskı işlerinde kullanılır. Günümüz teknolojisiyle bile ekranda görülen tüm renkleri baskıda görmek mümkün değildir. RGB ve CMYK arasındaki çevrimden dolayı oluşabilecek renk kayıplarından kaçınmak için CMYK ile çalışmak gerekir.

Beyaz Renk
Açıklaması şöyle. Beyaz rengi basmaya gerek yok.
Everything that is white in a CMYK image is non-printing, because white ink is not used in that printing process.
Soru şöyle. Bu soruda CMYK subtractive model, RGB ise additive model olarak anılıyor
Why is CMYK more efficient/beneficial than RGB for performing printing on paper?
Bence en anlamlı açıklama şöyle. Yani ekranda farklı renkleri elde etmek için farklı renkleri eklemek gerekiyor. Her şeyi eklersek beyaz elde ederiz. Kağıtta ise beyazdan başlıyoruz. Bir rengi elde etmek için diğer renkleri çıkarmak gerekiyor.
CMY vs. RGB is basically a question of how printing on paper works compared to how (for example) a monitor works.

Something like a monitor uses an additive model. You start with three tiny light sources next to each other, each emitting some amount of a component color. These are then basically added together to produce a result of a single apparent color.

When you're looking at something on paper, however, you start with the ambient light falling on the paper. Thanks to how our eyes adjust to ambient light, we usually see this is pretty much "white" regardless of its color1.

The ink we deposit on the paper then subtracts the colors we don't want. To see something as a particular color, we filter out the appropriate amounts to get from white to that color. To get Red, we have to filter out Green and Blue. To get Blue, we filter out Green and Red. And to get red, we have to filter out green and blue.


Git Örneklerim

Giriş
Git'i komut satırından kullanması bence oldukça zor. Bazı kullanımlarını not almak istedim
git push yazılarına bakabilirsiniz

Örnek - Push To Remote Repository
GitHub üzerinden yeni bir repository yarattım. Yeni repository'de main isimli bir branch yaratıldı.
Sonra şöyle yaptım
> git remote set-url origin https://github.com/hazelcast/hazelcast-cloud-postgre-sample
> git push origin master 
Sonra yeni repostory'de iki tane branch olduğunu fark ettim. Bunlar main ve master. Aslında ben yerel repository'imi main ismiyle gönderecektim yani şöyle yapacaktım ama dikkat etmemişim
> git push origin master:main
main branch'i sileyim dedim. Şöyle yaptım ama hata verdi
> git push origin --delete main
To https://github.com/hazelcast/hazelcast-cloud-postgre-sample
 ! [remote rejected] main (refusing to delete the current branch: refs/heads/main)
error: failed to push some refs to 'https://github.com/hazelcast/hazelcast-cloud-postgre-sample'
Çünkü main branch default branch olduğu için GitHub silmeye izin vermiyor. Önce default branch'i master yapmak gerekti. Settings sayfasından default branch'i değiştirdim. Sonra şöyle yaptım. main branch silindi
> git push origin --delete main
To https://github.com/hazelcast/hazelcast-cloud-postgre-sample
 - [deleted]         main

Örnek - Feature Brach İle Çalışma
Feature branch yarat, push'la ve feature branch'i sil
#Feature için yeni branch yarat
git checkout -b feature/rw-2028 rw_22.1 #Değişiklikleri commitle git commit -a -m "rw-2028 : ..." #Değişiklikleri pushla git push #Development branch'e geç git checkout rw_22.1 #Feature branch'i sil git branch -D feature/RLWY-2028
Örnek - Commitlenmiş Dosyayı Geri Alma
Dosyayı 2 defa commitledim ama daha push etmedim. Geri almak için şöyle yaparız
git checkout 6d4b20f81f4d17bd2a93bbcbd4eab39457e600e7 Foo.java
Örnek
Commit'lenmemiş dosya isimlerini gör
git diff --name-only
Eğer her şeyi geri sarmak istersek şöyle yaparız. Undo seçenekleri burada
git reset --hard
Örnek - Rename Remote Branch
Şöyle yaparız
git checkout railway_22.1

# change a branch name
git branch -m release/22.1.0

# delete the branch with the old name on the remote repository
git push origin --delete railway_22.1

# push the branch with the correct name
git push origin -u release/22.1.0
Örnek - tag
Yerelde tag yaratıp bir şeyi denedikten sonra silmek için şöyle yaparız
# Create new tag at local
git tag release-22.0.1
...
# Delete tag
git tag -d release-22.0.1
Örnek - tag
Yerelde tag yaratıp pushlamak için şöyle yaparız
# Delete local and push
git tag release-22.0.1
git push --tags
Örnek - yeni tag
Tag silip pushlamak için şöyle yaparız
# Delete local and push
git tag -d release-22.1.0
git push --tags
Örnek - tag move
Şöyle yaparız
# delete from remote
git push origin :refs/tags/release-22.1.0

# delete from local
git tag -d release-22.1.0

# recreate at local
git tag release-22.1.0

# push to remote
git push --tags



3 Şubat 2022 Perşembe

GraphQL Subscriptions

Giriş
Açıklaması şöyle
Subscription enables the client to fetch real-time updates from the server. You can think of subscriptions as analogous to continuous polling mechanisms. It makes it possible for the server to stream data to all the clients that are listening or 'subscribed' to it. Just like queries, subscriptions allow you to read data. Unlike queries, subscriptions maintain an active connection to your GraphQL server, most commonly via WebSocket. This enables your server to push updates to the client over time. Executing a subscription creates a persistent function on the server that maps an underlying Source Stream to a returned Response Stream. You can define available subscriptions in your GraphQL schema as fields of the Subscription type.
Örnek
Şöyle yaparız
subscription {
  newAuthor {
    name
    country
  }
}
Eğer yeni bir yazar yaratılırsa sunucu bize şunu gönderir.
{
  "newAuthor": {
    "name": "Robert Jordan",
    "country": "USA"
  }
}