Skip to content

Instantly share code, notes, and snippets.

@alpgul
alpgul / window_proxy_override.js
Last active April 27, 2025 10:28
Advanced Window Proxy with Recursive Proxying
(() => {
const proxyCache = new WeakMap();
const get = Reflect.get;
const set = Reflect.get;
const log = console.log;
const windowProxyHandler = {
get(target, property) {
log(`Getting property: ${String(property)}`);
const value = get(target, property);
@alpgul
alpgul / window_proxy.js
Last active April 27, 2025 07:43
JavaScript Window Proxy with Eval-Based Access and Modification
let temp;
const tempWindow={}
const log=console.log;
const error=console.error;
// Geçerli JavaScript tanımlayıcı kontrolü (güvenlik için)
function isValidIdentifier(str) {
return /^[a-zA-Z_$][a-zA-Z0-9_$]*$/.test(str);
}
// Native fonksiyon kontrolü
@alpgul
alpgul / proposal-duplicate-named-capturing-groups.md
Created April 25, 2025 09:00
JavaScript'te Yinelenen Adlandırılmış Yakalama Grupları Önerisi

JavaScript'te Yinelenen Adlandırılmış Yakalama Grupları Önerisi

Kısa Açıklama

Bu öneri, JavaScript'in düzenli ifadelerinde (regex) aynı adı taşıyan yakalama gruplarının farklı alternatifler içinde kullanılmasına izin veren bir TC39 önerisidir. Mevcut JavaScript uygulamalarında, her yakalama grubunun benzersiz bir ada sahip olması gerekiyorken, bu öneri farklı alternatifler için aynı group adını kullanmaya olanak sağlamaktadır.

Örnekler

Örnek 1: Tarih Formatları

/(?<year>[0-9]{4})-[0-9]{2}|[0-9]{2}-(?<year>[0-9]{4})/
@alpgul
alpgul / proposal-set-methods.md
Created April 25, 2025 08:34
JavaScript'te Gelişmiş Küme İşlemleri: Set Metodları Rehberi

JavaScript'te Gelişmiş Küme İşlemleri: Set Metodları Rehberi

Kısa Açıklama

JavaScript'in yeni Set metodları, matematiksel küme işlemlerini doğrudan dilde uygulamaya olanak sağlayan güçlü bir özelliktir. Bu metodlar, geliştiricilere küme operasyonlarını daha net, performanslı ve okunabilir bir şekilde yapma imkanı sunar.

Set Metodlarının Küme Teorisi Gösterimleri

Küme Teorisi Notasyonları

  1. Kesişim (Intersection): [A ∩ B]
  • Ortak elemanları gösteren küme
@alpgul
alpgul / proposal-regexp-modifiers.md
Created April 25, 2025 08:19
ECMAScript için Düzenli İfade Desen Değiştiricileri (RegExp Modifiers)

ECMAScript için Düzenli İfade Desen Değiştiricileri (RegExp Modifiers)

Kısa Açıklama

Bu öneri, JavaScript'in düzenli ifadeler (regular expressions) için dinamik bayrak (flag) değiştirme yeteneğini genişletmeyi amaçlamaktadır. Geliştiricilere, düzenli ifade desenlerinin alt bölümlerinde farklı arama ve eşleştirme davranışları tanımlama imkanı sağlar.

Örnek Kullanımlar

Örnek 1: Büyük/Küçük Harf Duyarlılığını Kontrol Etme

const re1 = /^[a-z](?-i:[a-z])$/i;
@alpgul
alpgul / proposal-import-attributes.md
Created April 25, 2025 08:05
JavaScript Import Attributes Proposal: Modül İçe Aktarma Yeteneklerini Genişletme

JavaScript Import Attributes Proposal: Modül İçe Aktarma Yeteneklerini Genişletme

Kısa Açıklama

Import Attributes, JavaScript modül sistemi için gelişmiş bir özelliktir. Geliştiricilere modül içe aktarma işlemlerinde ek bilgi ve özellik geçirme imkanı sağlar. Özellikle JSON, WebAssembly gibi farklı modül türlerinin güvenli ve standart bir şekilde içe aktarılmasına olanak tanır.

Örnek Kullanımlar

1. JSON Modül İçe Aktarma

// JSON dosyasını özel bir nitelikle içe aktarma
@alpgul
alpgul / json-modules-proposal.md
Created March 14, 2025 18:41
JSON Modules proposal'ı, JavaScript modül sistemine JSON dosyalarını doğrudan içe aktarma (import) desteği ekler. Bu, JSON verilerinin modül olarak kullanılmasını sağlar ve geliştiricilerin JSON dosyalarını daha kolay ve doğrudan bir şekilde kullanmalarına olanak tanır.

JSON Modules Proposal'ı: JSON Dosyalarını Modül Olarak İçe Aktarma


Makale Detaylı Anlatımı ve Örnek Kullanımı

JSON Modules Nedir?

JSON Modules, JavaScript modül sistemine JSON dosyalarını doğrudan içe aktarma (import) desteği ekler. Bu sayede, JSON dosyaları bir modül olarak kullanılabilir ve içerdikleri verilere doğrudan erişilebilir. Bu özellik, özellikle yapılandırma dosyaları, statik veri setleri veya API yanıtları gibi JSON verilerini kullanırken büyük kolaylık sağlar.

Örnek Kullanım

@alpgul
alpgul / sync-iterator-helpers-proposal.md
Created March 14, 2025 18:32
Sync Iterator Helpers proposal'ı, senkron iteratörler için yeni yardımcı metodlar ekleyerek, iterasyon işlemlerini daha kolay ve okunabilir hale getirmeyi amaçlar. Bu metodlar, diziler ve diğer iterable nesneler üzerinde daha fonksiyonel bir programlama stili sağlar.

Sync Iterator Helpers Proposal'ı: Senkron Iteratörler için Yardımcı Metodlar


Makale Detaylı Anlatımı ve Örnek Kullanımı

Sync Iterator Helpers Nedir?

Sync Iterator Helpers, senkron iteratörlere yeni metodlar ekleyerek, iterasyon işlemlerini daha kolay ve okunabilir hale getirir. Bu metodlar, map, filter, reduce, take, drop gibi işlemleri iteratörler üzerinde uygulama imkanı sunar. Bu sayede, iterasyon işlemleri daha fonksiyonel bir şekilde gerçekleştirilebilir.

Örnek Kullanım

@alpgul
alpgul / promise-try.md
Created March 14, 2025 18:23
Promise.try proposal'ı, bir fonksiyonu hemen bir Promise olarak çalıştırmak için kullanışlı bir yöntem sunar. Bu, özellikle senkron ve asenkron kodlar arasında tutarlılık sağlamak ve hata yönetimini kolaylaştırmak için faydalıdır.

Promise.try Proposal'ı: Senkron ve Asenkron Hata Yönetimi


Makale Detaylı Anlatımı ve Örnek Kullanımı

Promise.try Nedir?

Promise.try, bir fonksiyonu hemen bir Promise olarak çalıştırmak için kullanılan bir yöntemdir. Bu, özellikle senkron ve asenkron kodlar arasında tutarlı hata yönetimi sağlamak için kullanışlıdır. Geleneksel olarak, bir fonksiyonun senkron veya asenkron olup olmadığını bilmiyorsanız, hata yönetimi karmaşık hale gelebilir. Promise.try, bu sorunu ortadan kaldırır.

@alpgul
alpgul / float16-on-typedarrays.md
Created March 14, 2025 17:51
Bu öneri, JavaScript'te 16-bit kayan nokta sayılarını (Float16) desteklemek için Float16Array, DataView ve Math.f16round gibi yeni özellikler eklemeyi amaçlar. Bu, özellikle yüksek performans gerektiren uygulamalarda (örneğin, grafik işleme veya makine öğrenimi) bellek kullanımını optimize etmek için kullanışlıdır.

Float16 on TypedArrays, DataView, Math.f16round: Detaylı Anlatım ve Örnek Kullanım

Makale Detaylı Anlatımı ve Örnek Kullanımı:
Bu öneri, JavaScript'te 16-bit kayan nokta sayılarını (Float16) desteklemek için yeni bir Float16Array türü, DataView üzerinde Float16 desteği ve Math.f16round metodu ekler. Bu özellikler, özellikle bellek kullanımının kritik olduğu uygulamalarda büyük avantajlar sağlar.

Float16Array

Float16Array, 16-bit kayan nokta sayılarını depolamak için kullanılan yeni bir türdür. Bu, Float32Array ve Float64Array gibi mevcut türlere benzer, ancak daha az bellek kullanır.

const float16Array = new Float16Array([1.5, 2.3, 3.7]);