Author Archive | filozof

Nginx 1.18.0 duyuruldu

Apache web sunucusuna alternatif olarak yaygın biçimde kullanılan Nginx’in 1.18.0 sürümü duyuruldu. 2002 yılında bir rus mail sunucu sitesi için Rus yazılım mühendisi Igor Sysoev tarafından geliştirilmeye başlanan hafif, stabil, hızlı bir mail istemcisi olarak kodlanan ve 2005 senesinde geliştirilmesi için açık kaynak olarak dağıtımına başlanan yazılım; GNU/Linux, FreeBSD, Windows, MacOS ve Solaris işletim sistemlerinde çalışabilmektedir. Apacheden % 400 daha performanslı olduğu söylenen Nginx; özellikle yüksek trafikli ve yoğun web siteleri için oldukça iyi bir seçenektir. Ayrıca belirtmek gerekirse, Nginx, LiteSpeed ile karşılaştırıldığında çok daha az cpu kullanır. Nginx özellikle static content serve etmek konusunda oldukça başarılıdır ve reverse proxy olarak da yaygın olarak kullanılmaktadır. Nginx 1.18.0 hakkında ayrıntılı bilgi edinmek için değişiklikler sayfasını inceleyebilirsiniz.

Continue Reading →

Nginx 1.18.0 edinmek için aşağıdaki linkten yararlanabilirsiniz.

0

GNU Shepherd 0.8.0 duyuruldu

Eskiden GNU dmd olarak bilinen ve sistem servisleri ile ilgilenen bir servis yöneticisi olan GNU Daemon Shepherd veya GNU Shepherd‘in 0.8.0 sürümü, Ludovic Courtès tarafından duyuruldu. GNU Shepherd 0.8.0’ı duyurmaktan mutluluk duyduklarını söyleyen Courtès; yazılımın, GNU Guix projesiyle ortaklaşa geliştirildiğini hatırlattı. Bilindiği gibi, FSF’nin, gnu.org adresinde yalnızca özgür yazılım kullanan ve öneren GNU/Linux dağıtımları listesinde saydığı dağıtımlardan biri olan; özgür olmayan uygulamaları, programlama platformlarını, sürücüleri veya yazılımları reddeden, varsayılan olarak Xfce masaüstü ortamını tercih eden , tamamen özgür “libre” bir dağıtım olan GNU Guix de Linux-Libre çekirdeğini ve GNU Shepherd init sistemini kullanıyor. GNU Shepherd’in GNU/Hurd üzerinde kullanılmak üzere tasarlandığı belirtiliyor. GNU Shepherd 0.8.0 hakkında ayrıntılı bilgi edinmek için sürüm duyurusunu inceleyebilirsiniz.

Continue Reading →

GNU Shepherd 0.8.0 edinmek için aşağıdaki linklerden yararlanabilirsiniz.

0

5.5 Linux Çekirdeği ömrünün sonuna ulaştı

Linux Çekirdeğinin tanınmış geliştiricisi Greg Kroah-Hartman, geçen hafta Linux 5.5 çekirdeğinin son bakım güncellemesini duyurarak serinin ömrünün sonuna geldiğini, bu nedenle kullanıcıların artık desteklenmeyecek olan bu seriyi bırakarak 5.6 serisine geçmeleri gerektiğini hatırlattı. Bu yılın Ocak ayında kullanıma sunulan Linux 5.5 çekirdek serisi, en yeni Raspberry Pi 4 modelleri için tam destek, daha iyi Wi-Fi bağlantısı, SMB çok kanallı destek ve CIFS’yi kök dosya sistemi olarak kullanma desteği gibi bazı ilginç yeni özellikler sunmuştu. Linux 5.5 çekirdek serisi, Greg Kroah-Hartman’ın Linux çekirdeği 5.5.19‘u duyurmasıyla ömrünün sonuna gelmiş bulunuyor. 

Continue Reading →

Greg Kroah-Hartman’ın Linux 5.5 çekirdeğinin son bakım güncellemesi ile serinin ömrünün sonuna geldiğine ilişkin duyurusunu burada bulabilirsiniz.

0

Clonezilla live 2.6.6-12 duyuruldu

Sabit disk klonlamak ve yedeklemek için tasarlanmış Debian GNU/Linux tabanlı Clonezilla‘nın Live versiyonunun yeni test sürümü 2.6.6-12 duyuruldu. Ancak bu duyuru, her zaman olduğu gibi değişiklikler sayfası üzerinden değil, osdn.net üzerinden yapıldı. Temel GNU/Linux işletim sistemi güncellenen 2.6.6-12 sürümüne ait ISO kalıpları, osdn.net üzerinden yayınlandı, böylelikle de duyurulmuş oldu. Steven Shiau, biraz önce gönderdiği e-postalarla sürümü duyurdu ve aşağıda verdiğimiz linkleri paylaştı. Bu arada,  Clonezilla’nın Türkçe dil desteği olmamasının kalıcı hasarlar yaratabileceğini düşünen Ömer Yıldız tarafından Türkçeye çevrilmeye başlandığını haber vermiştik. Artık yazılımın Türkçe versiyonlarını indirme şansına da sahip olduğunuzu unutmamalısınız. Ömer Yıldız’ın yaptıklarını burada bulabilirsiniz.

Continue Reading →

Clonezilla live 2.6.6-12 edinmek için aşağıdaki linklerden yararlanabilirsiniz.
0

OpenSSL 1.1.1g duyuruldu

OpenSSL‘in çeşitli hataları giderilen ve kimi güvenlik düzeltmeleri gerçekleştirilen 1.1.1g sürümü duyuruldu. Güvenliği geliştirmek için çaba harcayan ticari, geniş özellikli ve açık kaynak kodlu, iletim seviyesi güvenliği (TLS v1) protokollerini uygulayan, çok güçlü genel amaçlı bir şifreleme kütüphanesi olan OpenSSL projesi; dünyada iletişim ve OpenSSL araçlarını geliştirmek için interneti kullanan gönüllüler topluluğu tarafından yönetiliyor. OpenSSL, Eric A. Young ve Tim J. Hudson tarafından geliştirilen mükemmel SSLeay kütüphanesinin temellidir. OpenSSL aracı, sizin alıp ticari ve ticari olmayan özel amaçlarınız için kullanmakta özgür olduğunuz, Apache tarzı lisans ile lisanslanmış bir yazılımdır. Çoğu yazara göre, açık kaynak kodlu yazılımlarla güvenli bir Unix sunucu kurmak için temeldir; mod_ssl, OpenSSH ve şifreli veri işlemeyi sağlayan ürünler gibi bütün ürünler buna ihtiyaç duyarlar. Hatırlanacağı gibi Nisan 2014‘te OpenSSL’de tespit edilen çok ciddi bir güvenlik açığı “Heartbleed Bug” güvenlik şirketi Codenomicun tarafından kamuoyuyla paylaşılmıştı. OpenSSL’in 1.1.1g hakkında ayrıntılı bilgi edinmek için haberler sayfasını inceleyebilirsiniz.

Continue Reading →

OpenSSL’in 1.1.1g edinmek için aşağıdaki linkten yararlanabilirsiniz.

0

20+ examples for flattening lists in Python

20+ examples for flattening lists in Python. Flattening lists means converting a multidimensional or nested list into a one-dimensional list. For example, the process of converting this [[1,2], [3,4]] list to [1,2,3,4] is called flattening. The process of flattening is very easy as we’ll see. You will learn how to flatten different shapes of lists with different techniques. So, let’s jump in. Let’s start with a simple example of converting [[0,1], [2,3]] into [0,1,2,3]. This type of flattening is called shallow flattening as it will only flatten lists of one level depth.

 

Continue Reading →

A list of lists

Let’s start with a simple example of converting [[0,1], [2,3]] into [0,1,2,3]. This type of flattening is called shallow flattening as it will only flatten lists of one level depth.

Using list comprehension

List comprehension is a way to create lists in one line of code. Let’s see how we can use list comprehension for flattening the lists.

flatten_list = [item for subl in l for item in subl]

Let’s break this line of code.

The first loop is “for subl in l” and the second nested loop is “ for item in subl ”.

Deep flattening

When we will try to flatten a list of varying depth like this [ [ 0, 1 ], [ [ 2 ] ][ 3, 4 ] ] list with shallow flattening, the output will be as follows:

But our goal is to convert [ [ 0, 1 ], [ [ 2 ] ], [ 3, 4 ] ] this list to this [ 0, 1, 2, 3, 4 ] list. This problem can be solved with deep flattening. In deep flattening, the process undergoes multiple levels of depths to create a flattened list.

There is a built-in function named deepflatten in the iteration_utilities library. You need to install this library using.

We have successfully achieved our target. Let’s take another example by changing the depth of the list.

Using recursion

To flatten a list recursively, we will call the function inside itself to run until the end:

Check whether the list length is equal to 1. If true, then check whether the type of the first index of the list is a “list”.if true, then call the function that flattens the list else, store the number in the result.

The function will be like this:

When we run this code against this [[0,1], [2], [3,4]] list, the results will be:

Flatten without recursion

To flatten a list without recursion, we will use a while loop until we pop all the elements from it. Take a look at the code, you will have a better understanding:

Flatten nested lists

To flatten a nested list, you can use deep flattening. For deep flattening lists within lists, use the given below code:

Also, you can use the recursive function as we did above.

A list of tuples

Flattening a list of tuples of a single depth is the same as flattening lists within lists. For shallow flattening of tuples, use the following code:

For deep flattening, a list of tuples with varying depth (nested), you can use the code given below:

Flatten 2d array

Let’s take a 2d array of 5×5 dimensions and convert it to a flattened list. Check the following code:

A list of NumPy arrays

There are three built-in functions defined in NumPy library that can convert the NumPy array into flattened lists.

numpy.ravel()

numpy.flatten()

numpy.reshape(-1)

numpy.ravel()

numpy.flatten()

numpy.reshape(-1)

The difference between these three functions is speed. The flatten function returns a copy every time it flattens the array. So, if you have a large data set, don’t use the flatten function; it’s the slower one.

Flatten JSON objects

For flattening JSON objects, there is a built-in function in the flatten_json library named flatten().

You first need to install it using pip:

pip install flatten_json

Then you can use this function in our code:

Flatten a list of objects

You can flatten a list of objects using a built-in function available in the itertools library with function name itertools.chain.from_iterable() Let’s see how to use this function:

The same operation can be achieved using list comprehension too:

Flatten a list of DataFrames

For flattening a list of DataFrames, the pandas library has a built-in function for flattening called df.concat() Let’s take a look at code:

Flatten & remove duplicates

First, we will flatten our list, then we will remove the duplicates.

For flattening the list, we will use our own flatten_without_rec() function, and then we will remove the duplicates.

Let us have a look at the code:

Flatten a dictionary into a list

You can flatten a dictionary to a list using a simple for loop:

Let us have a look at the code:

Using reduce

The reduce() function is defined in the functools library. You first need to import reduce from the functools.

Let’s take a look at the code:

We flattened lists with different shapes & types in different ways. I hope you find the tutorial useful. Keep coming back.

Thank you.

 

 

0

Ubuntu Weekly Newsletter’in 627. sayısı yayımlandı

Ubuntu tarafından yayımlanan haftalık haber bülteni  UbuntuWeeklyNewsletter‘in 627. sayısı duyuruldu. 627. sayının yayımlanmasından duyulan mutluluk ifade edilirken, yeni nüshanın kullanıcıların değişik konularda aydınlanmasına katkıda bulunacağına inanıldığı belirtildi.  Dergi çevresi, dileyenlerin dergi ekibi içinde ya da çeviri gibi diğer alt başlıklar altında iş görmek isteyebileceklerini hatırlatarak, böyle düşünenleri beklediklerini ifade ediyor. Yeni sürümde; Focal Fossa (20.04 LTS) final dondurması, Ubuntu İstatistikleri, sıcak destek, LoCo etkinlikleri, Mir’in yeni 1.8.0 sürümü, Focal Fossa (20.04 LTS) son sürüm takibi, dl-ubuntu-test-iso: En son günlük kalıpları indirmenin kolay bir yolu, Ubuntu ve yeni IBM LinuxONE III LT2, Canonical haberler, basında, Blogosferde, diğer ilgi alanları, öne çıkan ses ve video, toplantı raporları, yaklaşan toplantılar ve etkinlikler, 16.04, 18.04 ve 19.10 için güncellemeler, güvenlik ve dahası gibi konular ele alınıyor.

Continue Reading →

UbuntuWeeklyNewsletter’in 627. sayısına buradan ulaşabilirsiniz. Bültenle iletişim sağlamak isterseniz, bu sayfayı ziyaret edebilirsiniz.
0