3720
Python yazılım grubu. Burada amaç birbirimize destek olmak ve kendimizi geliştirmektir. Hepiniz davetlisiniz. Kurallar ve diğer gruplar: @programlama Python Kaynak Kanalı: t.me/joinchat/RUhg4mlnThDP_3yZ
Chargpt ile de bir yandan eğitim alabilirsin ben öyle yapıyorum
Читать полностью…
YouTube de Fehmi Uyar udemy de Atıl Samancıoglu
Читать полностью…
... dedigim olduguna cok eminim. yillardir windows kullanmasam da hic denemediginizi dusunuyorum.
Читать полностью…
windows'ta .py dosyalarini nasil acacagiyla ilgili ayarlari kurcalayabilirsiniz.
ama muhtemelen bu tur bir ayar ile ugrasmamaniz simdilik sizin icin daha iyi. yeri gelince pycharm acmak zorunda kalmadan yazdiginiz kodu calistirmak istiyorsaniz bence cogu durum icin komut satiri kullanmalisiniz.
Temel anlamda yeni yeni python öğrenmeye başladım, yazdığım kodları kaydedip tıklayınca bir program exe gibi çalışsın istiyorum ne yapmam lazım
Читать полностью…
Yeni federasyon engellemesi
Federasyon:@programlama
Federasyon yöneticisi:Sezer Bozkır
Kullanıcı:Shockman
Kullanıcı Numarası:1943872206
Sebep:reklamcı bot.
eğer en iyisini istiyorsanız Play storedan https://play.google.com/store/apps/details?id=com.mk.pyprivate indirin tüm kodlar ramde açılır çıkınca geçici dosyalar silinir her şey elf binary içine gömülür Tabikide koddan bir kaç parça alınabilir ama tamamen decode edilmesi imkansız çünkü Python yorumlayici bir dil
Читать полностью…
cython ve sha kullanılarak yazdım Cython encoder makine koduna .so donusturuyoruz oncelikle kaynak kodun logic yapisi makine diline gomulur ardindan olusan binary veri Xor algoritmasiyla byte seviyesinde sifrelenip Ascii85 formatinda gomulur ana koda HMAC SHA3 512 imzasi sayesinde dosya uzerinde tek bir byte degisikligi yapilirsa sistem kendini kilitler calisma aninda sys gettrace ve tracerpid kontrolleriyle debugger veya analiz araclari tespit edildiginde program aninda sonlanir ayrica kodun calisma hizi olculur eger bir yavaslama analiz yapildigini anlarsa yine cikis yapar islem bitince gecici veriler secrets ile rastgele byte yazilarak diskten tamamen temizlenir boylece kodun hem calisma aninda hem de dosya formunda decode yapilmasi imkansiz hale getirilir Tabikide su an elimdeki en guclu encoder bu degil daha iyisi var ama yinede imkansiz seviyesinde ortalama bir reverse eng cozebilir
Читать полностью…
pyinstaller kodların decode eden bir sürü tool var bu biraz riskli olur.(bu yöntemle kaynak kodunu cıkarabilirler)
nuitka ile makine diline kadar indirirsin kaynak kodu görünmese bile önemli bir değişken bilgileri görebilirler
https://www.youtube.com/watch?v=qIzQtjBW5kw
o zaman uygulamanizi web uygulaması haline getirip, django/fastapi gibi bir altyapıya aktarabilirsiniz, boylelikle mantıksal kısmını korumuş olursunuz
Читать полностью…
Yeni federasyon engellemesi
Federasyon:@programlama
Federasyon yöneticisi:NXiss7
Kullanıcı:.
Kullanıcı Numarası:8375948286
Sebep:Troll
., 2/3 kere uyarıldı; dikkatli ol lütfen!
Sebep:
Troll
her bilgisayarda exe gibi davranmasini kast ediyorsaniz da exe uretip onu calistirmalisiniz.
Читать полностью…
Exe gibi çalışsın istiyorum, dediğiniz değil istediğim
Читать полностью…
Örneğin hesap makinesi kodları yazdım ama bunu pycharmı açıp çalıştırmak istemiyorum kaydedip tıklayınca direkt çalışsın istiyorum nasıl yaparım
Читать полностью…
Lütfen aşağıdakilerine benzer meta sorulardan kaçınalım:"X konusu hakkında bilgisi olan var mı?"
"Herhangi birisi X teknolojisini kullandı mı?"
"XYZ konusu hakkında yardıma ihtiyacım var?"
Sadece direkt ve detaylı olarak sorunu sorman daha verimli olacak. Burada belirli bir topluluk var, eğer bilen birisi varsa zaten cevap söyleme olasığı yüksektir.
Gerekirse kodu ve hata kodunu bir paste sitesine ekleyip paylaşman sana yardım etmek isteyenlere yardımcı olacaktır.
Ayrıca burayı okumanız tavsiye edilir: Smart Questions (güncel olmayan Türkçe tercümesi).
Merhaba, Python'a yeni başlıyorsan bizim tavsiyemiz Python-İstihza belgelerini (Türkçe) okuman ve oradaki örnekleri direkt olarak uygulaman.
Bunun haricinde resmi dokümanları da (İngilizce) okuyabilirsin.
Sadece okumak ve video izlemek asla yeterli olmayacak. Öğrenmek için uygulamak ve pratik yapmak gereklidir.
Başarılar!
Evet, flood yapmanı sevmiyorum. kahin 🌙 5 dakika süresince geçici olarak susturuldu oldu.
Читать полностью…
şu an kullanacaginiz en mantıklı kod obs etme araçları cython xor lazy lambda
Читать полностью…
#become whateverЧитать полностью…
import os, shutil, base64, zipfile, subprocess, hmac, hashlib, secrets, time; exec('p_k = secrets.token_bytes(32)\ndef paketle():\n f = input("Dosya: ").strip()\n if not os.path.isfile(f): exit("yok")\n n = os.path.splitext(os.path.basename(f))[0]\n b = ".tmp_" + secrets.token_hex(2)\n os.makedirs(b, exist_ok=True)\n with open(f, "r", encoding="utf-8") as s: src = s.read().replace("selfay.console.print", "self.ui.console.print")\n with open(os.path.join(b, n + ".py"), "w", encoding="utf-8") as s: s.write(src)\n with open(os.path.join(b, "setup.py"), "w") as s: s.write(f"from setuptools import setup\\nfrom Cython.Build import cythonize\\nsetup(ext_modules=cythonize(\'{n}.py\', language_level=3))")\n old = os.getcwd(); os.chdir(b)\n try: subprocess.run(["python3", "setup.py", "build_ext", "--inplace"], check=True, capture_output=True)\n except: exit("fail")\n os.chdir(old); so = next((i for i in os.listdir(b) if i.startswith(n) and i.endswith(".so")), None)\n if not so: exit("so_yok")\n z = "z.zip"\n with zipfile.ZipFile(z, "w") as zf: zf.write(os.path.join(b, so), arcname=so)\n with open(z, "rb") as d: raw = d.read()\n sig = hmac.new(p_k, raw, hashlib.sha3_512).hexdigest(); x_k = secrets.token_bytes(16); xor_r = bytes([raw[i] ^ x_k[i % len(x_k)] for i in range(len(raw))]); enc = base64.a85encode(xor_r).decode(); k_h = "".join([f"\\\\x{x:02x}" for x in p_k]); x_h = "".join([f"\\\\x{x:02x}" for x in x_k])\n with open(f"{n}_locked.py", "w") as out: out.write(f\'import base64, zipfile, tempfile, os, sys, importlib.util, shutil, random, string, hmac, hashlib, time, secrets\\nKahinX = r"""{enc}"""\\n_i = "{sig}"\\n_k = b"{k_h}"\\n_x = b"{x_h}"\\ndef _savunma():\\n if sys.gettrace() is not None: sys.exit(1)\\n if hasattr(sys, \\\'settrace\\\') and type(sys.settrace).__name__ != \\\'builtin_function_or_method\\\': sys.exit(1)\\n try:\\n with open(\\\'/proc/self/status\\\') as f:\\n for l in f:\\n if l.startswith(\\\'TracerPid:\\\') and int(l.split(\\\':\\\')[1].strip()) != 0: sys.exit(1)\\n except: pass\\n if any(x in os.environ for x in [\\\'PYTHONDEBUG\\\',\\\'PYTHONINSPECT\\\',\\\'PYTHONBREAKPOINT\\\',\\\'PYCHARM_HOSTED\\\',\\\'VSCODE_PID\\\',\\\'DEBUGPY_RUNNING\\\']): sys.exit(1)\\n t = time.perf_counter(); sum(i*i for i in range(10000))\\n if time.perf_counter() - t > 0.1: sys.exit(1)\\ndef _temizle(p):\\n try:\\n if os.path.isfile(p):\\n s = os.path.getsize(p)\\n with open(p, \\\'r+b\\\') as f:\\n for _ in range(2): f.seek(0); f.write(secrets.token_bytes(s)); f.flush(); os.fsync(f.fileno())\\n os.remove(p)\\n except: pass\\ndef _baslat():\\n _savunma()\\n try:\\n d_xor = base64.a85decode(KahinX); d = bytes([d_xor[i] ^ _x[i % len(_x)] for i in range(len(d_xor))])\\n if hmac.new(_k, d, hashlib.sha3_512).hexdigest() != _i: sys.exit("kurcalama_pic")\\n tmp_dir = os.path.join(tempfile.gettempdir(), \\\'\\\'.join(random.choices(string.ascii_lowercase, k=8)))\\n os.makedirs(tmp_dir, exist_ok=True); p = os.path.join(tmp_dir, "blob")\\n with open(p, "wb") as f: f.write(d)\\n with zipfile.ZipFile(p) as zf: zf.extractall(tmp_dir)\\n s_file = next(i for i in os.listdir(tmp_dir) if i.endswith(".so"))\\n m_n = s_file.split(".cpython")[0]; sys.path.insert(0, tmp_dir)\\n spec = importlib.util.spec_from_file_location(m_n, os.path.join(tmp_dir, s_file))\\n m = importlib.util.module_from_spec(spec); spec.loader.exec_module(m)\\n getattr(m, "main", getattr(m, "run", lambda: None))(); _temizle(p); shutil.rmtree(tmp_dir, ignore_errors=True)\\n except: sys.exit(1)\\nif __name__ == "__main__": _baslat()\')\n shutil.rmtree(b); os.remove(z); print(f"{n}_locked.py")\npaketle()')
O zaman en önemli kısımları ayırıp ayrı bir backend'de tutarak hizmet olarak vereceksiniz, müşterilerinize de ince bir shim client verirsiniz, sadece o api'yi pratik şekilde kullanmalarını sağlar. Gerisi business requirements çapında ele alınıp detaylandırılır, sağlam bir sistem kurulabilir. Backend ve altyapınız sağlam olduğu müddetçe de bir kaçak ya da sızıntı vs olmaz.
Читать полностью…
Evet biliyorum. Yazdığım dosyayı ticari amaçla kullanacağım için elimden geldiğince kodları erişilmez, çalma olaylarının önüne geçmeye çalışıyorum.
Читать полностью…
Uyarı hakkı durumu 3/3; . 3 gün süresince geçici olarak susturuldu!
Sebep:
1: Troll.
2: Troll
3: Troll
selamınaleyküm bi array içinde her sayı için kendisinden sonra gelen kendisinden büyük ilk sayıdan sonra gelen kendisinden küçük ilk sayının indexini tutan listeyi return eden kod soruluyor diyelim yani nums[i] için nums[i] nin nextgreaterı nums[j] olsun biz nums[j] den sonra gelen nums[i] den de küçük olan ilk sayının indexini arıyoruz (zaten nums[i] den küçükse nums[j] den de küçük olur) ve bunu nums içindeki tüm sayılara yapacagız her sayı için kendinden büyük ilk sayıdan sonraki kendinden küçük ilk sayının indexi bulacağız yoksa -1 tutacak o indexte şimdi kafamdan teorik çözümü anlatıyorum mantıgım dogru mu değil mi yorum yapar mısınız çözüm nlogn zaman karmaşıklığında olmalıdır temperatures = [73,74,75,71,69,72,76,73]
önce daily temperature mantıgı ile next greaterları buluruz ardından buralar biraz karısık dikkatli anlatacagım bi tane list1 açarız her index için hangi elemanların nextgreaterı oldugunu tutar list içinde list içinde tuple şeklinde en iç tuple ise value,index tutar mesela verdiğin örnek [[], [(0, 73)], [(1, 74)], [], [], [(3, 71), (4, 69)], [(2, 75), (5, 72)], []] böyle oluyor ardından esas kritik nokta burası önce sortednums diye bi array olustururuz numsun sorted halini tutar sonra dict içine bütün elemanların başlangıç indexlerini array halinde tutarız aynı elemandan birden çok varsa ardısık sayılar olur array içinde yani defaultdict(list) gibi düşün ve bi tane de segment tree açarız aralık minimum sorgusu için segmenttree uzunlugu numsa eşit olacak baslangıcta bütün elemanları float(inf) ardından for ile n-1 den 0 a kadar yani sağdan sola nums indexi döneriz her i indexi için yapmamız gereken ilk önce list1[i] ye bakıyoruz hangi elemanların nextgreaterı bu diye sonra o elemanların tek tek defaultdict içinden sortednumstaki indexini buluyoruz ardından segmenttreede o indexle 0 index arasındaki en küçük sayı yani min sorgusu list1[i][j] si için cevap oluyor bunu bütün list1[i] ler için yapıyoruz yani i indexi hangi sayıların nextgreateri ise ardından ne yapıyoruz sayıyı segmenttreeye eklememiz lazım sayının kendisinin sortednums indexini buluyoruz ve segmenttreedeki o indexi i ye eşitliyoruz yani segmenttree[sayınınsortedindexi] = sayınınnumsindexi oluyor şimdi burda ufak bir sorunumuz var duplicateler varsa o zaman biraz sıkıntı oluyor gibi ona bi bakacagım o konuda yardımcı olma eğer listede hiç duplicate yoksa çözüm dogru mudur