Call Dynamically Overloaded Function in Java

Bir atadan oluşan farklı nesneleriniz olsun.  Bu nesneler için overload edilmiş private fonksiyonlarınız var. Fakat dışarıdan çağıran, sadece super class’ın tipini biliyor. Size bunu verdiğinde objenin kendi sınıfı ile ilişkili fonksiyona gönderilmek isteniyor. Bu en dinamik şekilde nasıl yapılır?

Eğer böyle bir probleminiz varsa cevabı aşağıda bulabilirsiniz :

Call Dynamically Overloaded Function in Java
———————————————————————————
public interface IMessage{}
public class Message1 implements IMessage{}
public class Message2 implements IMessage{}

public void onMessage(IMessage msg) {
// call onMessage related with its own class
//  onMessage((msgClass) msg);
Class<?> msgClass = msg.getClass();
Method onMessageMethod = this.getClass().getMethod(“onMessage”, msgClass);
onMessageMethod.invoke(this, msg);
}

private void onMessage(Message1 message) {}
private void onMessage(Message2 message) {}

Matlab drag&drop mat file doesn’t work

Verify UAC is turned off

To verify if UAC is disabled, here are the steps:
  1. Search for Registry Editor
  2. Navigate to HKEY_LOCAL_MACHINE > Software > Microsoft > Windows > Current Version > Policies > System
  3. Double click on EnableLUA, verify if value is 0; if not, change it to 0.
  4. Restart computer.

Registry Key Values:

  • UAC Disabled: 0
  • UAC Enabled: 1

HTML5 üzerinden kendi server’ımdaki uzak masaüstüne rdp yapacak bir altyapıyı kurmak istiyorum. Hangi alternatifleri kullanabilirim?

HTML5 tabanlı uzak masaüstü erişimi sağlamak için birkaç alternatifiniz var. İşte birkaç seçenek:
  1. Apache Guacamole: Bu, web tarayıcısı üzerinden RDP, VNC ve SSH bağlantılarını sağlayan bir açık kaynaklı yazılımdır. Guacamole, bir sunucuda çalışan bir Java uygulaması olarak kurulur ve istemci tarafı için bir HTML5 istemcisine sahiptir.
  2. Thinfinity Remote Desktop: Thinfinity Remote Desktop, HTML5 tabanlı uzak masaüstü erişimi sağlayan bir yazılımdır. Windows, Mac, Linux ve mobil cihazlar gibi farklı platformlarda çalışabilen istemci tarafı için bir HTML5 istemcisine sahiptir.
  3. AnyDesk: AnyDesk, HTML5 tabanlı bir uzak masaüstü yazılımıdır. Bu yazılım, farklı platformlar arasında hızlı ve güvenli bir şekilde uzak masaüstü bağlantıları sağlar. AnyDesk, istemci tarafı için bir HTML5 istemcisine sahiptir.

 

komutlar

Solaris’te milisaniye cinsinden TCP buffer timeout belirlenmesi:

Kabloda kopma yaşandığında ne kadar süre paketlerin gönderilememesi sonucunda bağlantının koptuğuna karar verecek TCP parametresi.

 

 

/usr/sbin/ndd -set /dev/tcp tcp_ip_abort_interval 1200000

diğerleri:

tcp_fin_timeout
tcp_frto
tcp_keepalive_intvl
tcp_keepalive_probes

tcp_retries1
tcp_retries2

/proc/sys/net/ipv4/
/etc/sysctl.conf

sysctl -w net.ipv4.tcp_keepalive_time=60 net.ipv4.tcp_keepalive_probes=3 net.ipv4.tcp_keepalive_intvl=10

https://www.gnugk.org/keepalive.html
https://qsli.github.io/2021/03/29/keepalive/

solaris
bcme.conf

Bozulan BCD Sonrası Aşırı Yavaşlayan Bilgisayarın Eski Haline Getirilmesi

Bir gün bilgisayarınızı açtığınızda açılmadığını ve Boot Configuration Data(BCD)‘nın bozulduğunu gördünüz.

bir şekilde komut satırına düştünüz ve aşağıdaki komutu  yazarak oluşturmak istediniz yazdınız

bootrec /rebuildbcd

Fakat aşağıdaki uyarıyı aldınız.

Total identified Windows installations: 0

Daha sonra varolanı temizleyip yenisini oluşturdunuz

bcdedit /export c:\bcdbackup
attrib c:\boot\bcd -h -r -s
ren c:\boot\bcd bcd.old
bootrec /rebuildbcd

Artık windows’unuz açılıyor. Büyük bir onur duydunuz. Fakat farkettiniz ki bilgisayarınız aşırı aşrı yavaşlamış! İşlemciniz hep 100% de.

Sonra görüyorsunuz ki svchost.exe’nin yönettiği bir grup servis bilgisayarın işlem kaynağını sömürüyor. Durdurduğunuzda ise windows’un işlevleri kayboluyor. Windowsu bile yükseltiyorsunuz belki çözülür diye.

Çok saatler sonra anlıyorsunuz ki bu duruma neden olan şey ise RAM’ler.  8G+8G ramlerden tekini söktüğünüzde Windows jet hızıyla çalışmaya başlıyor. Sonra da aşağıdaki adımları izleyerek 2. ram’i takıyorsunuz ve sisteminiz eski haline döndü!

Sadece ram’lerden biri takılı iken windowsu açın:

1) keyboard shortcut "win + r"
2) run "msconfig"
3) open "Boot" tab
4) check "Make all boot settings permanent"
5) push "Advanced options" 
6) check "Maximum memory" (8G)
7) OK -> Yes -> Not Restart -> shutdown
8) set up 2nd 8G ram
8) after restart, repeat 3, 5, 6, 7 steps with 16Gigabyte ram configuration.

 

 

RICOH SP150 chip resetleme

İnternetten kampanyadan ucuza aldığım yazıcının toneri geçenlerde bitti. Fakat en son çıktının renkleri mükemmeldi. İçindeki toner bitmiş olamazdı. Üzerinde demo toneri ile geldiğinden az sayıda bir baskı yapmıştık. Sonra tonerin üzerine baktığımda bir chip vardı. Fakat bu çip tonerin üzerine sabitlenmiş standalone bir chip’ti. Tonerin bittiğini sensörlerle ölçemezdi. Kesin üzerinde bir sayaç vardır. Chip’i söktüm ve üzerindeki devreyi analiz ettim. Ve evet  Continue reading

dalgalar ve boyutlar

Section 1 – Giriş

Boyut, bir niceliği ifade etmek için kullanılan değişken sayısıdır.

3 boyutlu evren x, y, z
1 boyutlu zaman t
2 boyutlu çizim w, h
5 boyutlu dizi a[i][j][k][l][m]

“boyutlu xxx” ifadesi yerine elma-armut denirse neden birbirleri arasında toplanamayacağı daha anlamlı olur, Continue reading

Renk Kümeleri

0 frekans algılayıcı ile 1 renk kümesi (siyah)

1 frekans algılayıcı ile 2 renk kümesi (siyah + beyaz)

2 frekans algılayıcı ile 4 renk kümesi (siyah + renk1 + renk1&2 + renk 2 + beyaz)

3 frekans algılayıcı ile 8 renk kümesi (siyah + kırmızı + sarı + yeşil + cyan + mavi + magenta + beyaz)

n frekans algılayıcı ile 2^n renk kümesi algılanabilir.

 

FSR

fsr(l, d)

fsr : d mesafede l uzunluğundaki cisim kaç sr’lık açıya sığar
l : objectif çapı
d : obje uzaklığı
Watt = A * R * fsr(l, d)

1 sr’nın alanı = Aküre/4pi

 

 

Asr = r*r

Aşapka = 2*pi*r*h

fsr = (2*pi*r*h)/(r*r)  = 2*pi*h/r

z = atan((2r-l)/(2d))

A = pi * (l/2 + d*tan(z))

JDiv

https://github.com/yuempek/JDiv

Açıklama

  • JDiv kütüphanesi, Java’da basit bir şekilde dinamik layout’a sahip ekran tasarımı yapabilmek için oluşturulmuştur.
  • Kodu yazarken parent-child ilişkisi kurma yöntemi, kod üzerinde takibi kolaylaştırmaktadır.
  • Kopyalanabilir bloklar kod üzerinde yeni bir blok oluşturmayı kolaylaştırmaktadır.
  • Tasarım sürecinde HTML de bulunan div blokları referans alınmıştır.

Continue reading

Gelir Vergilendirmesindeki Adaletsizlik

Son zamanlarda vergi borcu olarak gönderilen “birden fazla iş yerinde çalışmış olanların kümülatif vergi matrahının sıfırlanmasından doğan vergi farkı” konulu tebligatlara istinaden bu yazımı yazıyor ve adaletsiz olduğunu düşündüğüm bir durumdan bahsetmek istiyorum.

Eksik alınmış olan verginin, “kesinlikle alınması gerektiği” konusunda hemfikirim. Fakat net ve brüt çalışan 2 farklı işçiden, aynı şekilde vergi talep etmenin adaletsiz olduğunu matematiksel olarak göstermek istiyorum.

Continue reading

Bigmac Endeksine Göre Ülkeler Arası Maaş Karşılaştırması

BMF = Bigmac Fiyatı $
OM = Ortalama Maaş $
BMS = Tüm maaş ile yenebilecek Bigmac Sayısı
BMSN = Türkiye’ye göre Bigmac Sayısı Normalizasyonu
MD = Aynı Sayıda Bigmac Yemek İçin Maaş Denkliği $
MDN = Türkiye’ye göre Maaş Normalizasyonu
OMK = Ortalama Maaşın Türkiyedeki karşılığı
DK = Dolar Kuru

BMS = OM / BMF
BMSN = BMS / BMS(Türkiye)
MD = OM / BMSN
MDN = MD / MD(Türkiye)
OMK = DK * OM / MDN

Continue reading

Havadan Elmas Yapmak

Elmas, çok değerli sert bir taş. En yüksek sertlik seviyesi(mohs) değerine sahip. Işık kırıcılığı mükemmel olduğundan şahane gözükür. Çok pahalı ve nadir. Çağlar boyunca zenginlik göstergesi bundandır ki kadınların ilgi odağı. En pahalı soygun filmlerinin temel malzemesi.  Bu kadar özellikli bir taşın, bu kadar nadir olması da tabi ki şaşırtıcı değil.

Continue reading

Evrim

Evrimsel Süreç

Tartışma konusu Evrim! Yok mu? Tabi ki var!
Hemen açıklayalım!

Öncelikle evrimden önce evreni azıcık incelemek gerek. Burada önemli olan resmin küçük bir noktasına takılıp kalmamak. “Canlılık nasıl meydana geldi?” sorusundan evvel “Canlılık neden var?”, “Nereye gidiyor?” süreçlerini inceleyip aynı doğrultuda geriye giderek, canlılığın nasıl olduğu sorusuna ve ne olacağı sorusuna cevap arayabiliriz.

Continue reading