Skip to content

AÖF online sınava yaparsa

AÖF 2023 de sınavları online yapma kararı almış. bende bir öğrenciyim ve bir tandığımın attığı linkte tıkladım ve sonuç beklediğim gibi… Ülkenin genel durumu burada belli oluyor. Herkes çalışmadan üretmeden en kısa yoldan köşeyi dönme derdinde. üye sayısı sürekli artıyor. şu an 10000 üzerinde kişi sürekli bir birine sınava giren varmı soru varmı diye soru soruyor… işin garip tarafı elle tutulur veride yok. 🙂

python kodlarını çalıştırılabilir (.exe) dosya yapmak

pythonda çalışmanın dezavantajlarından bir tanesi yazdığınız kodları işletim sisteminde çalıştırabilir dosya haline getirme konusudur. çok fazla tercih etmesemde bazen gerekebiliyor.. bu noktada birden fazla seçenek mevcut ancak genel olarak en popüler olanları kullanmak daha fazla kütüphane v.b. konuda soun yaşamamanızı sağlıyor.

pyinstaller seçeneklerin en popüleri diye biliriz. tabiki ilk önce kurmamız gerekiyor.

pip install pyinstaller

kurulumu tamamladıktan sonra kullanımı oldukça kolay. komut yorumluyacısında ihtiyacımız olan parametreleri girerek exe dosyasını oluşturuyoruz.

pyinstaller --onefile dosyaadi.py

komut tamamlandığından python dosyasının bulunduğu klasör içine dist ve build isimli iki yeni klasör oluştuğunu göreceksiniz. dist klasöründen exe dosyanız build klasöründen ise exe oluşturma sürecinde kullanılan dosyalar yer almaktadır.

yukarıdaki komut yapısını kullandığınızda yazdığınız kod ihtiyaç duyulan tüm sistem dosyalarını tek bir dosya içine dahil etmektedir. bu nedenden dolayı dist klasöründeki exe dosyasına incelediğinizde yazdığımız üç beş satır koda karşı oldukça büyük boyutlu olduğunuz göreceksiniz.

eğer gui şeklinde bir uygulama yaptızsanız programı çalıştırdığınız ilave bir console pencesi açılmaması adına noconsole parametresinin eklenmesi gerekmektedir.

pyinstaller --onefile --noconsole dosyaadi.py

oluşturlan dosyanın iconunu değiştirme gibi bir çok seçenek için https://pyinstaller.org/ adresi incelemenizi öneririm.

pythonda dosya içeriği karşılaştırma

iki text dosya içeriği arasındaki farkları bulmak için temel olarak dosyaları satır satır olarak okuyup satıları karşılaştırmak gerekmektedir. bu işlemi kod olarak basitleştirme adına python kullanabilieceğiniz bir çok kütüphane bulunmaktadır. bunlardan en kullanışlarıdan bir tanesi difflib dir.

aşagıdaki örnekte importlardan sonra dosyaların içeriğindeki satırları bir diziye atadıktan sonra difflib de dizi girişlerini ve istediğimiz çıktıyı tanımlarıyoruz..

import difflib
from pathlib import Path

first_file_lines = Path('fileA.txt').read_text().splitlines()
second_file_lines = Path('fileB.txt').read_text().splitlines()

html_out = difflib.HtmlDiff().make_file(first_file_lines, second_file_lines)
Path('diff_output.html').write_text(html_out)
fileA.txtfileB.txt
first_file_lines = Path(‘fileA.txt’)
second_file_lines = Path(‘fileB.txt’)
first_file_lines = Path(‘fileA.txt’)
second_file_lines = Path(‘file2.txt’).read_text()

diff_output.html aşagıdaki şekilde görülecektir.

ngrok – statik ip ye sahip olmayan natlanmış kullanıcılar için

snap destekli bir linux dağıtım kullanıyorsanız

 snap install ngrok 

ile kurulumu yapalım. üyelik gerektiren

https://dashboard.ngrok.com/get-started/setup

adresine girerek tunel oluşumu için kullanılacak authtoken bilgisini ögrenelim ve

ngrok config add-authtoken <token>

ile bağlantıyı gerçekleştirelim. sonrasında bilgisayarımızdaki protokol ve portu tunelliyelim.

ngrok http 80

ekran çıktısında Forwarding satırında dış dünyadan bilgisayarımıza erişebileceğiniz bir ngrok.io adresi yer alacaktır.

Forwarding                    https://xxxx-xx-xxx-xx-xx.eu.ngrok.io -> http://localhost:80      

bundan sonra olası tüm riskler tabiki sizeaittir 🙂

google haritalarda gariplikler

google haritalarda yer alan garip görüntüler bir ara çok popülerdi. istanbulda bir noktaya bakarken aşagıdali google-maps model bir minbüsle karşılaştım.

huawei network ekipmanları kart bilgisi

huawei network ekipmanlarında yazılım güncellemeri sonrası “display elabel” komutu çok daha kullanışlı duruma geldi.

herhangi bir router üzerinde kart hakkında temel bilgileri edinmek istersek aşagıdaki komut işimize yaracakır.

<router_fcicek>display  elabel brief 
Slot      BoardType            BarCode                         Description
================================================================================
LPU 2      CR57L2XEFGB23       211235505210M8123117            LPUI-51-E-2x10GBase LAN/WAN-SFP+ 
                                                               + 24xGE-SFP                       
  PIC 0    CR57L2XFC2          123PMJCNM8123036                2*10GBase LAN/WAN-SFP+           
  PIC 1    CR57EFGFB2          123PMHW0M7123064                24*100/1123Base-X-SFP            
LPU 3      CR57L2XEFGB23       211235505210M7123046            LPUI-51-E-2x10GBase LAN/WAN-SFP+ 
                                                               + 24xGE-SFP                       
  PIC 0    CR57L2XFC2          123PMJCNM1234001                2*10GBase LAN/WAN-SFP+           
  PIC 1    CR57EFGFB2          123PMHW0M1234417                24*100/1123Base-X-SFP            
MPU 4      CR52MPUD0           123KKR10A1234036                                                 
MPU 5      CR52MPUD0           123KKR10A1234010                                                 
PWR 8      
  PEM 0                                                                                         
PWR 9      
  PEM 0                                                                                         
FAN 10                                                                                          
<router_fcicek>

eğer belirli bir slot veya sub slot hakkında daha detaylı bilgi almak istersek brief parametresi yerine slot numarasnı yazmak yeterli olacaktır.

<router_fcicek>display  elabel 2

python örnekleri : hafıza kullanım bilgileri

Python’da kullanılabilir hafıza bilgisini öğrenmek için psutil adlı bir modül kullanabilirsiniz. Bu modül, sistem hafıza bilgisi gibi çeşitli sistem verilerine erişmenize izin verir. Örnek olarak, aşağıdaki kod parçacığı hafıza kullanım bilgisini gösterir:

import psutil

memory = psutil.virtual_memory()

print(f"Hafıza kullanım oranı: {memory.percent}%")

print(f"Kullanılabilir hafıza: {memory.available // (1024 ** 2)} MB")

Bu kod, hafıza kullanım oranını yüzdesini ve kullanabilir hafızayı MB cinsinden ekrana yazdıracaktır. psutil modülünü kullanmadan önce sisteminize yüklemeniz gerekebilir. Bunun için aşağıdaki komutu kullanabilirsiniz:

pip install psutil

python örnekleri : cpu sayısı

Python’da bir sistemdeki CPU sayısını öğrenmek için multiprocessing modülünü kullanabilirsiniz. Örnek kod aşağıdaki gibidir:

import multiprocessing

# Sistemdeki CPU sayısını alın
cpu_count = multiprocessing.cpu_count()

print(f"CPU sayısı: {cpu_count}")

pip 3 de kurulum sırasında –no-warn-script-location uyarısı

linuxde pip ile paket yüklemek istediğinizde aşagıdaki hatayı alırsanız

  WARNING: The script flask is installed in '/home/<username>/.local/bin' which is not on PATH.
  Consider adding this directory to PATH or, if you prefer to suppress this warning, use --no-warn-script-location.

kabuk yorumlayıcı olarak bash kullandığınızı düşünerek

vi ~/.bashrc

ile bash konfigürasyon dosyasını açarak dosya içerisine

export PATH=$PATH:/home/$USER/.local/bin

satırını eklemek çözüm olacaktır.

Back To Top