29 entry daha
  • kod yazması son derece zevkli bir dil, anında ufak çözümler üretebiliyorsunuz. naçizane olarak ruby'nin beni bugün kurtardığı bir eziyetten burda bahsetmek istiyorum: düşünün ki babanız yaklaşık 80 arkadaşına kandil kutlaması için sms göndermek istiyor, gsm operatörlerinin toplu mesaj diye bi hizmeti olduğunu duyuyor ve teknolojiden anlayan kişi olarak sizden yardım istiyor. araştırıyorsunuz, gsm operatörünüzün en öküzünden bir mesaj programı hazırladığını ve mesaj göndermek için bunu indirip kurmanız gerektiğini öğreniyorsunuz. telefonların hepsini bir kereye mahsus olmak üzere gsm operatörünün sunucularına program vasıtasıyla elle giriyorsunuz, sonra mesajı yazıp gönderiyorsunuz. başka bir kandilde babanız tekrar aynı hizmeti sizden talep ediyor, fakat programı kullandığınız bilgisayarın internet bağlantısı arızalı, iş yerinizin proxy server'ı da mesaj gönderme programının kullandığı portları bloke etmiş. gsm operatörünüzün web sitesinde mesaj göndermek için bir bölüm olduğunu ve özene bözene girdiğiniz telefon defterini de tanıdığını görüyorsunuz, fakat -mutlaka bi öküzlük yapmalıyım diye düşünmüş olacak ki- sitede bi kerede 10 kişiye mesaj gönderebiliyorsunuz. web sitesi, mesaj gönderme formundaki telefon numarası kutusuna bütün numaraları dolduruyor, sonra da 10'dan fazla kişiye göndermem diye direniyor. ne oluyor, aşağıdakine benzer bir telefon numarası yığınıyla kalakalıyorsunuz:

    05323459827;05329872345;05424569873;05423459823;05323459827;05329872345;05424569873;05423459823;05323459827;05329872345;05424569873;05423459823;

    yapmanız gereken bunu 10'arlık parçalara bölmek. program yazmayı bilmesem, teker teker sayıp onluk parçalara ayırırdım. ama bir coder atasözü'nün dediği gibi "bir iş bir kere bile yapmaya değerse, onu yapan kodu yazmaya da değer". kodu yazdım, telefon numaralarıyla beraber 4 satır sürdü (browser'ınızda daha fazla satıra bölünebilir ama özünde 4 satırdır):

    tels = "05323459827;05329872345;05424569873;05423459823;05323459827;05329872345;05424569873;05423459823;05323459827;05329872345;05424569873;05423459823;05323459827;05329872345;05424569873;05423459823;05323459827;05329872345;05424569873;05423459823;05323459827;05329872345;05424569873;05423459823;".split(";")
    0.step(tels.size, 10) {|i|
    puts tels.slice(i,10).join(";")
    }
160 entry daha
hesabın var mı? giriş yap