Merhabalar bugünkü yazımızda sıkıştırılmamış videonun boyutunu hesaplayacağız. Aslında internette bunu yapan hazır araçlar var fakat kendi yolumuzdan bu video boyutu nasıl hesaplanır öğrenmek isteyenler buyursunlar. Aslında bir önceki yazımda renk alt örneklemesinden bahsetmiştim. Bu anlatacağım da aslında renk alt örneklemesiyle alakalı. Şimdi bildiğimiz üzere videolar frame'lerden oluşur. Aslında videolar arka arkaya çekilen resimlerden oluşur. FPS yani Frame Per Second kavramı videonun 1 saniyesinde çekilen fotoğraf sayısını göstermektedir. Ayrıca bilmemiz gereken kavramlar Genişlik (Width) : Videonun genişliğini temsil eder. Yükseklik (Height) : Videonun yüksekliğini gösterir. Derinlik (Depth) : Framelerin içindeki her bir pikselin sahip olduğu değer.(Genelde 8 bit ile ifade edilir.) FPS : Ard arda çekilen fotoğraf sayısı Bir videonun boyutunu hesaplarken : Genişlik x Yükseklik x Derinlik x FPS 8 x 1024 buradan elde edeceğimiz sonuç biz
Linux sistemlerde /etc/passwd dosyası içinde kişilerin parolaları ile alakalı bilgiler tutulmaktadır. Kişilerin parolalarının tutulduğu dosya olduğundan iyi korunması ve başkası tarafından erişilmemesi gerekmektedir. cat /etc/passwd komutu ile parolaların tutulduğu dosyayı okuyabiliriz. Burada bilgiler kullaniciAdı:Parola:uid:guid:info:homeDizini:shell formatında tutulur İlk sütunumuz kullanıcı adını(root), ikinci sütun(x) şifresinin varolduğunu ve bununla doğrulama yapıldığını temsil eder. Burada önemli bir noktaya değinmek gerekiyor x yerine bazen başka değerler de gelebilir bunlar: :boşluk: ----> Kullanıcının parolasının olmadığını gösterir. :*: ------------>Hesabın aktif olmadığını gösterir. 3. sütun olan UID kullanıcının benzersiz (unique) adını temsil ederken 4. sütun GUID ise bulunduğu grubun ID'sini temsil eder. 5. sütun yorum ve 6. sütun kullanıcının kullandığı shell 'i gösterir. cat /etc/group komutu ile sistemde bulunan grupl
Merhaba arkadaşlar bugün Swift dilinde protokollerin ne anlama geldiğini ve ne işe yaradıklarını elimden geldiğince örneklerle açıklamaya çalışacağım. Öncelikle Swift object oriented ve protocol oriented bir programlama dilidir. Object oriented mantığı hakkında internette çok güzel yazılar bulabilirsiniz. Kısaca mantığı programda oluşturduğunuz her yapı birer objedir. Yani insan isminde bir sınıfınız olduğunu düşünün bu insan classında Ahmet,Mehmet,Ayşe hepsi ayrı birer objedir. Bu objelerin özellikleri göz rengi,saç rengi,boyu(attributes) ve yetenekleri yürümek,koşmak,yüzmek (functions) vardır. Daha önceden programlamaya uğraştıysanız interface'ler hakkında bilgi sahibisinizdir ama uğraşmadıysanız da açıklaması burada. Interfaceler kullanıcı ile program arasında bir anlaşma gibidir. Siz interface tanımlayıp onu bir classta implement ettiğiniz takdirde interface içinde yer alan tüm metodları boş da olsa tanımlamalısınız. Swiftte ise protokollerin yaptığı iş hemen hemen bu. Aş
Merhaba arkadaşlar bugün yazımda Swift dilinde Generic tipinin ne işe yaradığını ve nerelerde kullanıldığını örneklerle elimden geldiğince anlatmaya çalışacağım. Generic kelimesinin Türkçe karşılığı genel olarak çevirilebilir. Aslında Swift'te oluşturulan mantık da tam olarak bu mesela elimizde sayıyı 1 artıran girdi olarak Integer değer alan bir fonksiyonumuz olsun. Aşağıdaki fonksiyon bize sonuç olarak 16 sayısını döndürür. 1 2 3 4 func intAdder( number : Int ) -> Int { return number +1 } intAdder( number : 15 ) Aynı şekilde bu işlemi bir double ile yapmak istiyorsak aşağıdaki gibi bir fonksiyon oluşturup girdi olarak Double tipinde bir değişken vermeliyiz. Bu fonksiyon ise bize 16.2 yani Double türünde bir sonuç döndürür. 1 2 3 4 func doubleAdder( number : Double ) -> Double { return number +1 } doubleAdder( number : 15.2 ) Fakat bu Genericleri keşfeden abilerimiz demişler ki 'ya aynı işi yapan 2 farklı fonksiyon olmasına gere
Merhaba arkadaşlar bugünkü yazımızda Mac için Hadoop'u nasıl kuracağınız anlatacağım. Şu anda benim kullandığım sürüm macOS Sierra 10.12.3 fakat eski sürümlerde de herhangi bir farkı olacağının zannetmiyorum. Gereksinimler : Bilgisayarınızda Java kurulu olmalıdır. Hadoop'un yüklenmesinde gerekli olan Java sürümlerini buradan kontrol edebilirsiniz. Ayrıca her türlü sorun ve dökümantasyon için Hadoop'un kendi websitesi ni ziyaret edebilirsiniz. Birinci Adım : İlk olarak HomeBrew'i bilgisayarınıza kurun ya da http://brew.sh linkten indirebilirsiniz. $ ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" komutuyla HomeBrew'i bilgisayarınıza kurabilirsiniz. İkinci Adım : Şimdi Hadoop kurulumunu yapacağız. brew search hadoop brew install hadoop Üçüncü Adım : Sıra geldi Hadoop konfigürasyonuna İlk olarak /usr/local/Cellar/hadoop/2.7.3/libexec/etc/hadoop/ dizini altında bulunan hadoop-en
Bu yazımızda ise Linux dizin hakları ile ilgili bilgi vereceğim. Linux'ta her kullanıcının grubun ve diğerlerinin izin alanları birbirlerinden farklıdır. Bu izinleri düzenlemek ve değiştirmek için komutlar bulunur. Yukarıda en başta gördüğümüz d directory ya dizini yani bir klasörü gösterirken - dosya ve l ise sembolik linki nitelendirir. Onun yanındaki rwx yazan bölümleri 3 e bölersek 1. dosya sahibinin 2. grupta kullanıcılarının ve 3. olan diğerlerinin hakları nı belirtir. Bu haklardan bahsedecek olursak: r----> Read yani dosyayı okuma hakkıdır ve 4 değerine sahiptir. w----> Write yani dosya yazma hakkıdır ve 2 değerine sahiptir. x-----> Execute yani dosya çalıştırma hakkıdır ve 1 değerine sahiptir. Yukarıdaki 4,2,1 sayıları önemlidir çünkü hakları belirlerken bu sayıları kullanarak çeşitli izinler verebiliriz. Hakları belirlemek için kullanacağımız komut chmod komutudur. Mesela aşağıdaki örnekte öncelikle -ls -l komutu ile kimin ne yetkiye sahip oldu
Bu yazımızda ise bazı bilinmesi gereken Linux dizinlerini anlatmaya çalışacağım. Bu dizinlerin bilinmesi ileride yapılacak işlerde hemen bulmak açısından önemli olabilir. Şimdi aşağıda gördüğümüz dizinleri tek tek açıklayalım. /bin : Bundan önceki Temel Linux Komutları adlı yazımda anlattığım normal kullanıcı hakkına sahip herkesin çalıştırabileceği kodları içeren dizindir. /boot : Bu dizinin altında Linux sisteminizin açılışında kullanılan dosyaları bulunur. /dev : Uzun hali devices olan bu dizin disk bölümlerinin bulunduğu dizindir USB, CDROM gibi araçların donanım dosyaları buradan görüntülenebilir. /etc : Sistem konfigürasyon dosyalarının bulunduğu temel dizinlerden birisidir. Servisleri başlatabileceğiniz ve sonlandırabileceğiniz komutları da burada bulabilirsiniz. /home : Sistemdeki kullanıcılara ait dizinler bu /home dizini altında bulunur. Örneğin sistemde ali ve veli olmak üzere 2 kullanıcı oluşturmuş olalım /home dizini altında /home/ali ve /home/veli adı
Selam Arkadaşlar bu bölümde güvenlik için temel olan Linux komutlarını örnekleriyle birlikte açıklamaya çalışacağım. Umuyorum ki herkes için yararlı olur. Öncelikle Linux dosya yapısıyla ilgili birkaç bilgi vermek gerekirse; Linux da herşey / (root) dizinine bağlı birer dosyadır. /root ile / dizinleri birbirinden farklıdır. /root dizini sistem yöneticisine aittir ancak / kök dizindir. Şimdi gelelim komutlara; Terminal ekranını açmak için CTRL + ALT + T kombinasyonunu kullanabiliriz. Bu tuşları kullandığımız zaman karşımıza aşağıdaki gibi / dizini gelecektir. cd : Aslında en temel komut olan cd (Change Directory ya da Dizin değiştir) komutumuz dizinler arasında gezinti yapmamızı, istediğimiz dizine gitmemizi sağlayan komuttur. Yandaki örnekte de göreceğiniz üzere / kök dizindeyken cd /home/atalay/ komutuyla kök dizininden çıkıp /home/atalay dizinine geçiş yapmış oldum. Hangi dizine gideceğinizi her zaman bilemeyebilirsiniz bu durumda bilgisayarımızdaki TA
Şimdi diyebilirsiniz ki adı siber güvenlik olan bir sitede chroma subsampling neden var fakat bu sene üniversitede aldığım derslerden birinde bu konuyla ilgili çok araştırma yapmama rağmen Türkçe herhangi bir kaynak bulamadım ve bu konuyla ilgili araştırma yapmak isteyenlere katkım olması amacıyla bu yazıyı yazmaya karar verdim. Sonuç olarak bilgisayarları seviyoruz ve onunla ilgili ayrıntılı bilgi edinmek yararımıza olur diye düşünüyorum. Gelelim bu chroma subsampling veya renk alt örneklemesi nedir konusuna aslında son zamanlarda TV üreticileri de özellikleri arasında 4:4:4 4:2:0 gibi şeylere değiniyorlar. Bu konunun anlaşılması için en başta YUV renk uzayından bahsetmekte fayda var. Aşağıdaki resim YUV renk uzayını açıklar nitelikte. İnsan gözü renklerdense görüntünün parlaklığını daha kolay algılayabilir. 2. resimdeki resmin parlaklığı (luminance) si iken 3 ve 4 numaralı resimler resmin renklerini oluşturan elementler. 3 numaralı resmi YUV renk uzayında mavi renkten parlaklığı (
Yorumlar
Yorum Gönder