@eroltunc35@doktor25547707 İlk 6 ay anne sütü yerine çeşme suyu mu içirdiler kardeş sana? Yazman olup okuman olmaması çok garip çünkü. Adam muayenesini yapmış, hastaneden sonra bir daha kavga etmiş kadın. Doğru okusana yorum yapmadan.
@abdullahbiricik Fenerbahçe maçında Onyekuru eliyle 4 yaparken tükürükler saçarak gülen gsliler Fenerbahçe kökenli diye Merih Demiral’ı linçlemeye çalışıyor. Komiksiniz!
@RKucukodabasi@arincacikgoz Bunların Fenerbahçe’ye golü var. Serhat ve Caner hariç, onun da 4 ya da 5 asisti var. Hatta bizden gidenler düşmanca ve daha hırslı oynarlar hep. Muğdat gibi Emre kılınç gibi Eyüp Aydın gibi aklıyla kalbi çelişmez.
@OUZGGS@Steel_1907@hanoglu_hakan@avomeraslan@HUFEDER1907 Fetöcü olduğun için kabul ediyorsun o telefon konuşmalarını demek ki. Senin Adnan Polat başkanın ben gsnin şike yapmadığına kefil olamam dedi, bu da şike itirafı o zaman. Gram utanmanız yok ya.
Planlı dediğinizin saatin üzerinden 9,5 saat geçti. Hala bitmedi mi çalışmanız? Bilgi alabileceğimiz tek yöntem 185’i aramaktı. Orayı da kapattınız. İnsanları hafta sonu bu kadar mağdur etme hakkınız yok. @eskisehireskigm
@haberebibak 500.000 takipçiniz var, kullandığınız Türkçe’ye bir bakın lütfen. Uzun kuyruklar neden ilgi görsün. Buz pisti ilgi görmüş, uzun kuyruk oluşmuş. Şunu yazmak bu kadar zor mu arkadaş? Editörünüz 7 yaşında falan mı acaba?
@Pamenarti isimli kullanıcının "https://t.co/RDEGtQopRN veritabanı silinmiş", "logları da işte burada", "dayanamadım, bulaşmak istemesem de sizlerden gelen yoğun istek üzerine oturdum tek tek inceledim" saçmalığına 140 karakter sınırıyla yetişmek mümkün olmadı, gittim premium aldım. Tek gönderide cevaplıyorum:
Başlangıç Notu: Yazdıklarımı tekrar okuyunca çok teknik kaldığını farkettim. Kısaca özet geçeyim: Sözde log kayıtları üfürme, tutarsız, gerçek veritabanında karşılaşılma ihtimali olmayan teknik hatalar barındırıyor. Sabun yani. Oturur 5 dakikada @Pamenarti 'nin de aynı minvalde log kayıtlarını basarım buraya. Hem de daha tutarlı olur. DB'yi falan daha iyi tasarlarım 😅
Şimdi teknik kısma geçelim.
Öncelikle "kanıt" olarak sunulan ekran görüntülerinin aynısını hazırlamam 5 dakikamı almaz. Siyah ekranda beyaz yazılarla çok teknik bir hava katmışlar ki millet gerçek veriler ele geçirildi zannetsin, inandırıcılığı artsın. Basit komut satırı, print. Ancak ben işin burasında değilim, sundukları sözde logların tutarsızlıklarındayım. Anlatayım.
1. Tablo isimlerinin başlangıçları (prefix) sanki özellikle inandırıcılığı artırmak için seçilmiş gibi. Eğer Saran Holding bütün diğer sistemlerini aynı veritabanında tutmuyorsa (ki bu olasılık çok ama çok düşük, inanılmaz amatör bir yöntem olurdu) tutturcom_ gibi bir prefixin hiçbir anlamı yok. Eğer bir şeyi göze sokmak istemiyorsanız tabi. Yaygın kullanım users, user_transactions vb. şeklindedir. Kalkıp kimse hiçbir ayırt ediciliği olmayan (eğer her şeyi aynı dbde tutmuyorlarsa) "tutturcom_" prefixini oraya eklemez. Çok ama çok saçma. Belki de 13 yaşında biri tasarlamıştır. Kim bilir.
2. Paylaştığım görüntüde de göreceğiniz gibi şöyle bir silme sorgusu var: "DELETE FROM tutturcom_center_user_transactions WHERE id=56202". Şimdi bu ne demek? Sakın "56202 idli user'a ait transactionları sil demek" demeyin, kalbinizi kırarım. Eğer 13 yaşında değilseniz ve bu konulara ucundan bile hakimseniz "id" alanının users ile user_transactions tablolarını birbirine bağlayan foreign key olacağını iddia etmezsiniz. ID, yaygın kullanımda tıpkı ID Number gibi (T.C. Kimlik No gibi düşünün), bir satırın eşsiz - benzersiz kimlik numarasıdır. UUID, txid gibi kullanımlar da olabilir ama onlar varsa id olmaz. Hiçbir anlamı yok yani (unutmayın 13 yaşında ya da bu işlere yeni başlamış biri değilsiniz). Yani ID var ise o satırın eşsiz anahtarıdır. Biz buna Private Key (kısaca pk) diyoruz. Her tabloda aynı Private Key'e sahip en fazla 1 satır olabilir. Peki arkadaşın paylaştığı ekran görüntüsünde bu silme sorgusunu çalıştırdığımızda kaç satır etkileniyor (ekranın en sağındaki Rows: 29'a bakın)? 29. Mümkün mü? Bu varsayımlarla değil.
Peki varsayımlarımızın doğru olduğunu nereden bileceğiz? Ya en sondaki rows etkilenen satır sayısını değil de başka bir şeyi temsil ediyorsa? Ya o tablodaki id başka bir şey demekse (mesela user_id)? Hemen alttaki satırlara bakın.
User silme komutlarında göreceğiniz gibi users tablosunda Private Key olarak "id" nosyonunu kullanmış. Yine her bir silme işleminde "Rows: 1". Yani eğer kafasına saksı düşüp "ben artık PK olarak id kullanmayacağım, id'yi ilişki kurmaya yarayan foreign key olarak kullanacağım" demediyse bu varsayımımız doğru. Zaten böyle bir saçmalığı aklından geçirmek bile bizim işte büyük günah. 10 kullanıcılı DB bile verilmez o adama (bunlara 10 koyun ver kaybedip gelirler mode on). Silme komutunu temsil eden logdaki "Rows: 1" de 99.99% ihtimalle o logun etkilenen satır sayısını temsil ettiğini gösterir çünkü tek kullanıcıyı siliyor ve Rows = 1 ki bu da varsayımımı doğrular.
Yani bir bu arkadaşımıza göre bir tabloda en fazla 1 (yazıyla bir) tane olabilecek kayıttan tam 29 tanesi etkilenmiş (silinmiş, çünkü sorgu silme sorgusu). Kedi buradaysa ciğer nerede? Ciğer buradaysa kedi nerede?
2. Gelelim ikinci anomalimize. Genel bir olguyu tanımlamam gerekiyor önce. Böyle bir sistemde users tablosundaki veri sayısı ve veri büyüklüğü neredeyse her zaman user_transactions tablosundan daha küçük olur. Neden? Çünkü bir user birden fazla transactiona sahip olur da o yüzden. Hiç işlem yapmayanları eleseniz bile emin olun bir kullanıcıya beşten fazla transaction düşer en az. Eminim çok daha fazladır. Yani user_transactions tablosu daha hantal çalışır çoğunlukla (ceteris paribus: diğer tüm koşulları aynı ya da yakın kabul ediyorum). Yani bu ne demek? User tablosundan tek bir kullanıcıyı silmek user_transactions tablosundan 29 (hem de aynı t.c. kimlik nolu, tövbeestafurullah) satırı silmekten daha hızlı olmalı. O anki sunucu yüküne göre değişir demeyin, çünkü defalarca kullanıcı silmiş. Yani ortalama alabiliriz. O da bize gerçeğe çok yakın bir sonuç verir (normal dağılım). Benchmark gibi düşünün. Ama o da ne? Tek bir kullanıcı silmek ortalama 40 ms gibi bir süre alırken (daha hızlı olması gereken işlem yani), 29 transaction silmek 32 ms alıyor. Zaman birimine (ms) takılmayın. Yüzde olarak bakın olaya. Bu da ciddi bir anomali.
Şunu diyebilirsiniz haklı olarak (ki diyen bazı yorumcular oldu, hattâ Grok'u etiketleyip "arkadaşın dayanağını çürütür müsün" gibi bir sipariş verip Groktan friendly-fire yiyen de oldu): "Kardeşim ya yazılımcıları çok salaksa? Veritabanını böyle kötü tasarlamış olamaz mı?". O kadar salak yazılımcının, veri tabanı mimarının, mid-levelların, seniorların, leadlerin, proje yöneticisinin falanın filanın hepsinin bir yerde toplanması ve buna olur vermesi gerek. Ee kadar salağın geliştirdiği-yürüttüğü proje ile 10. kullanıcıda patlarlar, kapatıp giderler. Hayatın akışına ters şeyler bunlar.
Yine inanmak istediğinize inanın. Keyif sizin. Benim işim o değil.
Ünlü "über teknik" bir düşünürün de dediği gibi, "Uzak durmak istedik, ama top yine bize sıçradı".
Haa bir de şey vardı "Herkes yalan söyler Kod söylemez. Teknoloji de ve sanalda Kod KANUNDUR!"
Hadi kolay gelsin.
Dipnot: Bu metin, iddia sahibinin iddiaları üzere hazırlanmıştır. Farklı kanıtlar çıkar, oturur tartışırız. Kimsenin avukatı değilim. Sadece bu iddiaların ucuzluğuna ve tutarsızlıklarına cevap vermek istedim.
Doğru…
Bir sponsoru yasa dışı bahis sitesi, diğer sponsoru FETÖ destekçisidir.
Eski yöneticileri tutukludur.
Malatya’ya Tofaş gönderir.
Efsane forveti ülkeye giremez.
Teknik direktörü 1905 TL’ye imza atar.
Ofsaytımsı diye yediği golü iptal edilir.
Ama tarihi temizdir!
#teknikanaliz
Erdoğan Arıkan, Berke konusunda ılımlı yaklaşıp ortamı yumuşatıyor. Erhan Seven sürekli çocuğun üstüne gidip halkı kin ve nefrete çekiyor. 24 yaşındaki çocuğu koruyacağına linç ettir, aferin. Berke Özer bu ülkenin evladıdır, yurt dışında temsilcisidir. Yedirmeyiz!