İçeriğe geç
Muhammet Şafak
en
academia.sh: teori ile sahadan gelen problem aynı derste durabilir mi?
Eğitim ve Araştırma Geliştiriliyor Beta

academia.sh: teori ile sahadan gelen problem aynı derste durabilir mi?

Ücretsiz ve herkese açık, metin merkezli öğrenme platformu; ders kitabı teorisiyle sektörde karşılaşılan problemleri tek ders akışında tutuyor.

Şu an ne yapıyor

Ücretsiz ve kayıt duvarı olmayan bir öğrenme platformu olarak yayında: alan-müfredat-kurs-ünite-ders hiyerarşisi, tam metin arama, ilerleme takibi ve doğrulanabilir sertifika çalışıyor. Bilgisayar bilimleri müfredatını okumak isteyen herkes bugün kullanabilir.

Başlangıç
Ağustos 2026 — Devam ediyor

Tür

Web uygulaması

Teknolojiler

Laravel PHP Livewire Blade Tailwind PostgreSQL Redis Filament Pest

Video kurs platformlarının aksine birincil ortam yazı: okunabilir, aranabilir, alıntılanabilir, tarayıcıda kalıcı. academia.sh bilgiyi bir ders kitabı gibi sunuyor — alan, müfredat, kurs, ünite, ders — ve tamamı ücretsiz. İlk içerik bilgisayar bilimleri, ama model baştan çok disiplinli: matematik ya da dil bilim eklemek şema değişikliği değil, ders yazmak.

Asıl mesele burada değil. Asıl mesele şu: bir ders yalnız teoriyi taşırsa ders notu olur, yalnız sahadan gelen problemi taşırsa blog yazısı. İkisini aynı akışta tutmak — tanımın hemen ardından o tanımın sahada nerede kırıldığını yazmak — neye mal olur?

Teori ile problemi tek derste tutmak

Sahadan gelen problem ayrı bir “alıştırma” varlığı değil; dersin kendi metninde, teorinin devamı olarak duruyor. Problemler uydurulmuş örnekler de değil: sektörde gerçekten karşılaşılmış olanlar. Bu tercih ders varlığını tek tutuyor.

Ayırsaydım iki ürün çıkardı — bir tarafta okunacak metin, diğer tarafta çözülecek alıştırma listesi — ve bölünme anında ilerleme, arama, ölçme de ikiye bölünürdü. Tek varlıkta kalmanın karşılığı iki yerde görülüyor:

İlerleme. Yüzde ders bazında tutuluyor, payda “yayınlanmış aktif dersler”. Bir dersin teorisini okuyup problemini atlamak diye bir durum yok; ikisi aynı ders. Ölçme de aynı ilkeyi izliyor: quiz teoriyi değil dersin bütününü soruyor.

Arama. Metin merkezli bir platformda arama süs değil omurga — video platformunda arayamadığın şey burada birincil erişim yolu. Postgres tam metin araması: ağırlıklar başlık A, giriş B, gövde C; sıralama ts_rank_cd, parçacık ts_headline. search_vector bir generated column değil, olamıyor da — ama gerekçe to_tsvector değil: iki argümanlı biçimi immutable. Sorun sözlüğün satırda text olarak durması; regconfig’e cast edilmesi gerekiyor ve o cast immutable sayılmıyor, Postgres de ifadeyi generated column’da kabul etmiyor. Vektörü bu yüzden bir trigger üretiyor.

Ücretsiz, kayıtsız, metin merkezli

Çıkan şey açık, ücretsiz ve yalnızca işini yapan bir eğitim platformu: ödeme duvarı yok, reklam yok, dikkati içerikten çeken bir katman yok. İçerikler de uygulamanın veritabanında doğmuyor — markdown olarak ayrı bir GitHub reposunda duruyor, platform oradan besleniyor. Bu ayrım ileriyi de belirliyor: müfredat, katkıya gerçekten açılabilecek tek biçimde, düz metin olarak tutuluyor. Bugün yazan tek kişiyim; yarın olmak zorunda değil.

Yığın sade: Laravel 13, Blade + Livewire, Tailwind, PostgreSQL 16, Redis; yönetim Filament’te. Markdown sunucuda render ediliyor (league/commonmark + tempest/highlight), çalışma zamanında Node yok.

Sertifika tarafında bir karar özellikle dişe dokunur: holder_name ve course_title düzenleme anında donduruluyor. Sonradan değişen bir isim basılmış belgeyi değiştirmiyor, bir ders işareti geri alınsa bile belge geçerli kalıyor — geri alma bir hata düzeltmesidir, kazanılmış belgeyi iptal etmez. Doğrulama sayfası herkese açık ama noindex, nofollow: bir kişinin adı arama sonuçlarında çıkmamalı.

Repository katmanı yok. Eloquent zaten o rolü üstleniyor; iş akışı barındıran her şey Action, durumsuz yetenekler Service. Kalite kapıları Pest + Pint + Larastan level 6.

Model gerçekten disiplin-bağımsız mı

Devam etmesinin sebebi kalan iş listesi değil. Bilginin herkese açık, ücretsiz ve erişilebilir olması gerektiğini düşünüyorum: öğrenmenin önündeki engel bilginin kendi zorluğu olmalı — ödeme ekranı, kayıt duvarı ya da bir şirketin kapatma kararı değil. Metin merkezli olması da, içeriğin ayrı bir repoda durması da bu vizyonun sonucu: okunabilir, kopyalanabilir, birileri devam ettirmek isterse devam ettirilebilir.

Asıl açık soru içerik tarafında ve teknik değil. Şema çok disiplinli, ama bu modelin şartı her dersin sahadan gelen problemi de taşıması. Bilgisayar bilimlerinde bunu yazabiliyorum çünkü o sahada yıllardır çalışıyorum. İkinci bir bilim dalı eklemek migration istemiyor — yazar istiyor. Modelin gerçekten disiplin-bağımsız olup olmadığı ancak o yazar bulununca belli olacak.

Bu işin arkasındaki araştırmalar

Tüm araştırmalar

Laravel'in preload eğrisi: 123 dosya, 1.912 dosyadan sekiz kat fazla kazandırıyor

Laravel için elle seçilmiş bir preload nereye kadar iner, ve her dilim ne kadar açılış bedeline mal olur?

Bulgu

Eğri hacimle orantılı değil. İlk 1.592 dosya (Laravel çekirdeği) 30 ms kazandırıyor ve açılışa 1,2 saniye ekliyor. Sonraki 1.094 Symfony dosyası 9,5 ms kazandırıyor, bedava. Ondan sonraki **123 dosya** (psr, carbon) 15,7 ms kazandırıyor — kendinden önceki 1.094 dosyadan fazla. Ve son 1.912 dosya yalnız 1,8 ms kazandırıp açılışa 1,2 saniye daha yazıyor. Yani önceki kaydın tavan olarak ölçtüğü "hepsini derle", eğrinin başlangıç noktası dışındaki en kötü fiyat/performans bölgesi: 2.809 dosyada durmak 12,77 ms ve 1.514 ms açılış verirken, 4.721 dosya 10,96 ms için 2.691 ms istiyor.

15 gün önce ölçüldü

Yüksek güven

opcache preload deploy faturasını on dört kata kadar siliyor — ama yedi framework'ün beşi onu size vermiyor

`opcache.preload` açıkken yedi PHP framework'ünün deploy sonrası ilk isteği ne kadar sürüyor, bu kazanç neye mal oluyor, ve kimler ona erişebiliyor?

Bulgu

Preload, soğuk ilk isteği 3,5 ile 14,2 kat arasında kısaltıyor: Symfony 35,58 ms'den 2,50 ms'ye, yani Phalcon'un çıplak seviyesine iniyor. Ama yedi adayın yalnız ikisi (Symfony, CodeIgniter) resmî bir preload dosyası yayınlıyor; kalan beşinde kazanç masada duruyor ve kullanıcının kendi yazmasını bekliyor. Yazmak da göründüğü kadar kolay değil: classmap'ten körlemesine üretilen preload Symfony'yi hiç ayağa kaldırmıyor, CodeIgniter'da ise elle seçilmiş resmî dosyadan (3,13 ms) daha kötü sonuç veriyor (5,29 ms). Ve bedel kaybolmuyor: Laravel'in classmap preload'ı ziyaretçiden aldığı 62 ms'yi php-fpm'in ayağa kalkışına 2.340 ms olarak yazıyor.

15 gün önce ölçüldü

Yüksek güven
Etiketler: #egitim#icerik-platformu#acik-erisim
Paylaş:
Uzmanlık: PHP Geliştirici

Diğer Kayıtlar

Tüm kayıtlar

Kur'an okumak, anlamak ve öğrenmek isteyenler için açık ve ücretsiz bir kaynak; Kur'an ve hadis merkezli araştırmayı tek çatı altında topluyor.

Şu an ne yapıyor

Kur'an ve hadis metinlerini birlikte okumaya ve aramaya açık, ücretsiz bir kaynak olarak yayında; harf düzeyinde parmak izi eşlemesi hadis koleksiyonlarında %91–99 kapsam veriyor. Kaynağa doğrudan bakmak isteyen okuyucu ve araştırmacı bugün kullanabilir.

Web uygulaması Laravel PHP Livewire +7 daha
Ağustos 2026 — Devam ediyor

Kaydırmalı doğru/yanlış bilgi yarışması; asıl mesele oyun değil, istemcinin ürettiği skoru imzayla doğrulanabilir kılmak.

Şu an ne yapıyor

Kaydırmalı doğru/yanlış bilgi yarışması bir mobil uygulama olarak çekirdek döngüsüyle uçtan uca çalışıyor; skoru istemci üretse de server_nonce ve HMAC imzasıyla sunucu tarafında doğrulanıyor. swipenor.com uygulamanın tanıtım sayfasıdır, oyunun kendisi değil.

Mobil uygulama Laravel PHP PostgreSQL +6 daha
Temmuz 2026 — Devam ediyor

Çok hesaplı gelir-gider takibini tek modelde toplayan finans çekirdeği; web + iOS + Android'de çalışan Parantaj'a dönüştü.

Şu an ne yapıyor

Tek hesap/işlem modeli çoklu hesap yönetimini, bütçeyi, hedefleri ve raporlamayı aynı çekirdekte taşıyor; web, iOS ve Android istemcileri yayında. Kişisel ve kurumsal finansını tek yerden takip etmek isteyen kullanabilir.

Açık kaynak Web uygulaması Mobil uygulama PHP Laravel Go +4 daha
Mart 2024 — Ekim 2024

Sitede Ara

Yazı, proje ve sayfalarda arama yapmak için yazmaya başlayın.

Esc ile kapat Pagefind ile güçlendirildi