Bilmek istediğin her şeye ulaş
Kasım 2016

Necmettin Begiter bu yanıtı beğendi:

Yazılım geliştirme süreçlerinde iyi bir iş analizi nasıl olur?

Analiz öncesi ve sürecinde yapılması gerekenleri şu şekilde sıralayabiliriz.
  • Ana ihtiyaçların belirlenmesi
  • Bu ihtiyaçların altlarının piramit yapısında yazılarak doldurulması
  • İhtiyaçlar baz alınarak kullanıcı türleri için senaryolar oluşturulması (sistemi kullanacak her kullanıcı türü için)
  • Kullanım senaryoları; her tür kullanıcının yapabileceği işlemleri ve hikayelerini içermeli
  • Bu senaryoların iş paketi karşılıkları çıkarılmalı
  • Müşteri ile bu senaryo ve iş paketleri bazında karşılıklı olarak el sıkışılmalı
  • Bu yapıda hangi kısımda hangi teknolojinin kullanılacağına karar verilmeli
  • İş paketlerinin süreleri ve bu süreyi üstlenecek geliştiricinin yetkinlikleri ile iş planı belirlenmeli
  • İş paketlerinin tasarımla ilişkilendirilmesi yapılarak öncelik sıralaması yapılmalı (tasarım öncesi kodlama yapılacak kısımlar öncelikli olarak başlamalı)
  • İş analizi dökümanının son haline bakıldığında tüm sürecin herkesin kafasında net olarak oluşmuş olması gereklidir. Herkes yazılımın neyi nasıl yapacağını artık biliyor olmalıdır.
Sistem mimarisi bu aşamadan sonra çok daha sağlıklı olarak tasarlanabilir.

En çok yapılan hatalar konusunda genel karşılaşılan durumlar ve yanlışlar da şu şekildedir:
  • Müşteri ana hatlarda istediğini bilmektedir ancak ayrıntılara odaklanmadığı için (işi bu da değildir zaten) çıkabilecek sürprizleri öngöremez
  • Yazılım şirketi ayrıntılarla birlikte tüm iş detaylarını gün yüzüne çıkarmaz ya da bunu erteler (oysa bu onun işidir iyi yapması gerekir)
  • İşin genel hatları ile analiz sonrası hatları arasında çok fazla farklılık çıkar, bu aslında ayrıntılardaki küçük iş paketlerinin birleşerek bütüne yansımasıdır
  • Farklı takımlar arasında koordinasyonun sağlanamaması (tasarım, back-end, mobil ayrı takımlar kodluyorsa)
  • Süreçte mutlaka gol yenir, önemli olan bariz gollerin önceden belirlenerek önlenebilir hale getirilmesidir ancak bu hep ertelenir
  • İş analizine gereken zaman ayrılmadan kervan yolda dizilmeye çalışılır
Ağustos 2016

Necmettin Begiter bir yanıta alt yorum yaptı

Hastayı görmeden birşey söylemem mümkün değil. "Başım ağrıyor" cümlesinden kimse teşhis koyamaz :)
Umarım sorunu çözmüşsünüzdür. Çözemediyseniz yardımcı olmaya çalışayım.
İmagecreatefromjpeg, imagejpeg ve imagewebp ile yapabilirsin. Biraz taklalı bir çözüm ama mantığı oldukça basit. Resmi hafızaya okuyorsun, sonra da webp olarak kaydediyorsun.

$dosya ='abc.jpg';
$orjinal =  imagecreatefromjpeg($dosya);
ob_start();
imagejpeg($orjinal,NULL,100);
$resim =  ob_get_contents();
ob_end_clean();
imagedestroy($orjinal);
$webp = imagecreatefromstring($resim);
imagewebp($webp,'abc.webp');
imagedestroy($webp); 


Yalnız önemli bir detay var. Bu formatı sadece Chrome ve Opera dışında destekleyen yok.
Ağustos 2016

Necmettin Begiter bir yanıt verdi.

40 yaşındayım ve 18 yaşında sevgilim var. Çevre tarafından eleştiriliyorum, aslında bana çok normal geliyor. Sizce anormal bir durum mu?

Arkadaşınızı tanımadığım için sadece 18 yaşında biri nasıl olur diye düşünerek yanıtlayacağım. Soruyu soran erkek mi yoksa bayan mı göremiyorum, ama benim söyleyeceklerimi pek de değiştirmiyor.

Bence hayattan beklentileri iyice netleşmiş birinin henüz müteşekkir olmayı, hayranlığı, sevgiyi, aşkı, ihtiyacı ve cinselliği birbirinden ayıramayacak kadar genç biriyle birlikte olması, o kişiye haksızlıktır. Bu ilişkinin tarafları, bu ilişkiye dışarıdan bakamadıkları sürece, terazinin iki tarafının eşit olmadığını anlamakta çok büyük sıkıntı çekeceklerdir.
Ağustos 2016

Necmettin Begiter bir yanıt verdi.

Php ile jpg, png, gif formatlı resimleri webp formatına çevirmek.

İmagecreatefromjpeg, imagejpeg ve imagewebp ile yapabilirsin. Biraz taklalı bir çözüm ama mantığı oldukça basit. Resmi hafızaya okuyorsun, sonra da webp olarak kaydediyorsun.

$dosya ='abc.jpg';
$orjinal =  imagecreatefromjpeg($dosya);
ob_start();
imagejpeg($orjinal,NULL,100);
$resim =  ob_get_contents();
ob_end_clean();
imagedestroy($orjinal);
$webp = imagecreatefromstring($resim);
imagewebp($webp,'abc.webp');
imagedestroy($webp); 


Yalnız önemli bir detay var. Bu formatı sadece Chrome ve Opera dışında destekleyen yok.
Temmuz 2016

Necmettin Begiter bir yanıt verdi.

Firefox'ta javascript ile drag drop yaparken ondrop'da dragstart'ta setdata yaptım. Veriyi adres olarak kullanıp açmaya çalışıyorum. Diğer tarayıcılarda düzgün çalışıyor. Sorunu nasıl çözebilirim?

Kod görmeden tam neden bahsettiğinizi anlamadım, ama anlayabildiğim kadarıyla, bir dosya içeriğini istemci tarafında okumaya çalışıyorsunuz. Eğer doğruysa, ihtiyaç duyduğunuz teknoloji FileReader olarak geçer.

forums.asp.net/post/5276451.aspx adresinde bir örnek,
developer.mozilla.org/en-us/docs/web/apı... adresinde de belgelendirme mevcut.
Temmuz 2016

Necmettin Begiter bir yanıt verdi.

Firefox ile çalışırken input file element'inin click fonksiyonu çalışmıyor ancak aynı kod Chrome ve IE'de çalışıyor. Neden olabilir?

Mevzuya hakim değilim, ama araştırıp öğrendiğime göre, dosya türü form elemanlarında Firefox için bir alt öğeye inmek gerekiyor. Aynı kod Safari'de de çalıştı. Şu adresler işime yaradı:

github.com/fat/bean/issues/82
jsfiddle.net/NkycS/3/
Mayıs 2016

Necmettin Begiter bir yanıt verdi.

Daha çok programlama için kullanacağım bir dizüstü bilgisayar alacağım. Macbook alacak olursam avantaj ve dezavantajları nelerdir?

Programlama derken ASP.net, C#, Windows masaüstü kastediyorsan Windows bir makina al derim. Ama PHP, Python, RoR vb programlamadan bahsediyorsan Mac'den şaşma derim.

Bir web yazılımcı için Mac kullanmanın avantajı, sunucu ortamının çok kolay bir kopyasını lokalinde oluşturabilmektir. Kod yazarken hafif, güçlü (ama pahalı) bir Macbook gibisi yoktur. Bunu Sublime Text gibi bir editörle birleştirirsen gayet verimli olur.

Yalnız Macbook kullanmayı öğrenmen zaman alacaktır. Macbook'u alır almaz tuş kısayollarına falan da çalışmaya başlamalısın. Windows alışkanlıklarına dönmek isteyeceksin. Windows'u bırakıp Mac'e geçmek sigarayı bırakmak gibidir. Uzunca süre sigarayı unutamazsın ama dayanır ve direnirsen eskisinden daha iyi bir insana dönüşürsün.

Sürücü derdi yok, virüs derdi yok (yanlış işler yapmadığın sürece) :) , kapağı kaldırıyorsun açılıyor, iPhone telefonunla beraber süper çalışıyor, makina Retina ise görüntü harika oluyor. Zayıf bir Mac'i güçlü bir Windows makinaya tercih ederim. Her zaman.
Nisan 2016

Necmettin Begiter bir yanıt verdi.

4chan gibi bir imageboard yapmak için en uygun yazılım dili hangisidir? PHP bu konuda yeterli olur mu?

Yazılım tarafında hangi teknolojileri kullandığın sandığın kadar kısıtlayıcı değil. 4chan gibi bir siteyi PHP ile da yapabilirsin, NodeJS ile de yapabilirsin, C# ile de.

Belli bir kullanıcı kitlesine ulaştıktan sonra donanım yazılımdan daha önemlidir. Örneğin tek sunucuyla anlık 100 kişiden sonra sunucu zorlanmaya başladı diyelim. Bu durumda donanım desteği eklemen gerekir.
PHP yeterli mi? Örneğin Facebook ve Instagram PHP ile yazılmıştır.
Şubat 2016

Necmettin Begiter bir yanıt verdi.

Bir yazılımı oluşturanlar ne zaman yeni versiyonu üzerinde çalışma kararı alırlar?

Yeni versiyon derken neyi kastediyorsun? Kodu yeniden yazmayı mı, yoksa sadece yeni sürüm çıkmayı mı?

Eğer kodu yeniden yazmaktan bahsediyorsan, teknik borç çok birikince yapılır.

Kodu yazarken, "burayı sonra elden geçirmek lazım" diye düşünerek yazdığınız ama o fırsatı hiç bulamadığınız her kod parçası teknik borçtur. Bu borçlar çok artınca, artık o kodu yeniden yazma ya da parça parça iyileştirme vakti gelmiş demektir.

Yok sadece yeni sürüm çıkmaktan bahsediyorsan, semantik sürüm numaralandırması mantığına göre mi numaralandırıyorsun, yoksa "kafana göre" mi? Eğer semantik numaralandırma yapıyorsan, yazılımda köklü bir değişiklik olması gerekir. Kafana göre yapıyorsan, (bence) görsel olarak köklü bir güzelleştirme yapmak yeni sürüm çıkmak için yeterlidir.

Kasım 2015

Necmettin Begiter bir yanıt verdi.

Javascript yazarken Firefox'daki uyum sorunlarından yoruldum. Acaba dikkate almaz isem ne kadar çok şey kaybetmiş olurum?

Firefox'un kullanımı birkaç yıl öncesine nazaran çok çok azaldı, ama hala azımsanamayacak kadar yüksek.

Uyum sorunlarından kurtulmak için jQuery veya benzeri bir kütüphane kullanmanı tavsiye ederim. JQuery'nin varoluş amacı bu uyumsuzlukları bertaraf etmek.


Bir zamanlar 'bize platform bağımsız kod yazma imkanı verecek' dedikleri Javascript bizi platform bağımsız ama tarayıcı bağımlı hale getirdi ne yazık ki.
Ekim 2015

Necmettin Begiter bir yanıta alt yorum yaptı

Bu bir güvenlik önlemi değil. Aksine tecrübe eksikliği gösteren bir yaklaşım.
- Kod doğrudan VTye konmaz bu bir. Beynini buzdolabında saklamak gibi birşey.
- Kodu Ajax ile sonradan çekmek kodu erişilmez kılmaz bu da iki. Basit bir ⎇U (veya F12, herneyse) ile JS koda erişmek her şekilde mümkün.
Ajax ile js fonksiyonlarını bir vt alanından data olarak kaydedip sonra çekebilir ve çalıştırabilirsin. Geriye vt güvenliğini sağlamak kalır. İlla kaynak dosya içinde bulunması gerekmez tüm kodun.
Ekim 2015

Necmettin Begiter bir yanıta alt yorum yaptı

@Hakan
Gerekli durumlarda kodun baştan yazılması çok normaldir. BaseCamp, sürüm 3'te tüm kodu baştan yazdı. Daha bir haftalık olay.
Sürekli yamalanan bir yazılımın biriktirdiği teknik borç bir süre sonra yazılımın yenilenmesini gerektirir.
Bir yazılımın uzun ömürlü olabilmesi için zaman zaman elden geçmesi, yenilenmesi gerekir.
Eger kodu bastan yaziyorsan o yazilim projesi degildir.
Ekim 2015

Necmettin Begiter bu yanıtı beğendi:

Bir yazılım projesinde; karşılaşılan hata üzerine gitmek mi yoksa kodu baştan yazmak mı daha faydalıdır?

Tabi ki karşılaşılan hata üzerine gitmek. Hataların sebebini buldukça o hatayı bir daha yapmazsın, bu bakımdan da kendini geliştirirsin. Kodu baştan yazdın yine hata aldın yine mi baştan yazacaksın. Her yazdığında hata alıyorsun hep en başa sarıp baştan mı yazacaksın, peki proje ne zaman bitecek?
Her yanlış bir doğru öğretir. Daima hatalarının üstüne git bu şekilde hata yapmamayı öğrenirsin. Bu aşamadan sonra profesyonel olarak kod yazan birisi olursun zaten.
Ekim 2015

Necmettin Begiter bir yanıt verdi.

Teknik bilişim son sınıf öğrencisiyim. Kod yazmayı seviyorum hatta şu anda Android'e merak saldım. Meslek olarak Bilgisayar Programcılığı istiyorum fakat hocalar "iyi bir bölüm değil gitme" diyor. Sizin fikriniz bu bölümle ilgili nedir?

- Hangi bölüme gidersen git, okulda verilenlerle yetinmeksizin, kendini geliştirmeye devam etmelisin. Ortalamanın üstüne çıkmak için bu şart.
- Hangi üniversitenin hangi bölümünde okuyacağın önemli. Örneğin Çanakkale 18 Mart'ta Necdet Yücel Hoca sayesinde açık kaynak yazılımla yakın ilişki kurarsın. Ama X üniversitede sana Microsoft teknolojileri dışında birşey öğretmezler. Ben birinciyi tercih ederdim.
- Her mesleğin zorlukları vardır. Bizim meslek de farklı değil. Zihin yoğun bir meslektir, zorlukları da ona göredir.
- Bilgisayar programcısı olmak için bölümünü okuman şart değil, ama avantajdır. Kod yazmayı çalışırken öğrenip bölümünü okuyandan üstün olmak da mümkündür, bölümünü okuyup çok donanımlı başlamak da. Bu iş biraz tecrübe, biraz da çaba meselesi.

Yani bir, olay sende bitiyor; iki, tercihlerinde dikkatli olmalısın.
Ekim 2015

Necmettin Begiter bu yanıtı beğendi:

Wordpress bloğumda reklam yayınlayarak para kazanabilir miyim?

Google adsens ten tutun özel reklam verenlere kadar birçok firmanın reklamlarını blogunuzda yayınlayarak gelir elde edebilirsiniz, ama önce somut derecede reklam verebilecek bir içeriğe sahip olan bloga sahip olabilmek.
Ekim 2015

Necmettin Begiter bir yanıt verdi.

Javascript ile yazılmış bir uygulamanın kaynak kodlarını korumak mümkün müdür?

Obfuscation (şaşırtmaca, kandırmaca) denen bir işlem vardır. Kodları kolay kolay çözülemeyecek derecede gizler. Ancak hiçbir servis yüzde 100 garanti veremez.

Obfuscation ve minification (küçültme diyelim) birleştirilerek mümkün olan en yüksek korumayı sağlayabilirsiniz ama dediğim gibi garantili birşey yoktur.

Eğer istemci tarafı kodu korumaya çalışıyorsanız, boşuna uğraşmayın derim. Minify edip ağ bağlantısından kazanın yeter.

Sunucu tarafı koddan bahsediyorsak, sektörün SAAS'a (Software As A Service) kaymasının sebebi en güçlü obfuscation servisinin bile eninde sonunda kırılabilmesi.

Ayrı bir detay, kodunuzu (dosyalarınızı) çeşitli servislere kaydederek kanuni koruma sağlayabilirsiniz.
Eylül 2015

Necmettin Begiter bir yanıt verdi.

Uzun süreli bilgisayar kullanımı için göz, koltuk, bel, boyun ile ilgili tavsiyeleriniz nelerdir?

  1. Ekrana arkadan ışık gelmesin, ekranın geneli aynı ışığı alsın.
  2. Işık mümkünse bilgisayar ekranının üstünde olsun.
  3. Işık çok güçlü olmasın. Ama çok zayıf da olmasın. Ekranını çok parlak kullanan çok fazla insan görüyorum. Yazık o gözlere.
  4. Oda güneş görmeyen bir yer olursa daha iyi ama güneş görüyorsa ekran kendi ışığını ayarlayabilen birşey olsun.
  5. Mümkünse retina. Detayları görmeyi kolaylaştıracağı için gözü daha az yorar.
  6. Çok yüksek çözünürlük kullanıp gözünüzü gereksiz kullanmayın. İdeal ekran çözünürlükleri ekranın PPI değerine göre değişir. Mesela retina olmayan 15.4 inç bir ekranda 1366x768 küfür gibi geliyor bana; oturup noktaları sayabiliyorsunuz.
  7. Mümkünse DPI değeri yüksek bir ekran.
  8. Ekranın büyüklüğüne ve çözünürlüğüne göre ekrana mesafenizi ayarlayın. 13 inç bir ekrana yakın, 27 inç ekrana uzak olmak lazım.
  9. Koltuk belinizi destekleyen ama şeklini zorlamayan bir koltuk olsun. Bazı koltuklar görüyorum, bel kısmı içeri doğru bükülmüş oluyor, bele destek olmak için. Ama o kadar sert oluyor ki sırtınıza destek değil köstek oluyor.
  10. Koltuğun ne oturduğunuz kısmı, ne de sırt kısmı çok sert ya da çok yumuşak olmasın.
  11. Kolçaklar ince olmasın, dirseklerinizi desteklesin. Sert olmasın, dirseklerinizi incitmesin.
  12. Kolçaklar yüksek ya da alçak olmasın, dirseklerinizi tam desteklesin.
  13. İşlerinizi 20-25 dakikalık bloklara bölün, aralara da minimum birer dakika koyun. Bu aralarda kalkın, gerinin, omuzlarınızı hareket ettirin, az biraz yürüyün, eğilip kalkın, sağa-sola, aşağı-yukarı bakın, "ofis egzersizleri" denen şeyi yapın yani. Bloklar uzadıkça molalar da uzasın.
  14. Koltuğunuzun, klavye-farenizin ve monitörünüzün birbirlerine açılarını arasıra değiştirin. Mesela monitörü klavyenin/koltuğun/masanın sağ tarafına koyduysanız haftaya sol tarafına koyun. Düz olması daha iyidir ama onu bile arasıra değiştirmek gerekir.
  15. Koltuk dönebilen, tekerlekli, yüksekliği ayarlanabilen birşey olsun. Kendinize/masaya göre ayarlayın.
  16. Ellerinizi masaya koyduğunuzda koltuğunuzun kolçakları dirseklerinizi desteklesin.
  17. Oturduğunuzda ayaklarınız havada kalmasın, diz-ayak arası (baldır denen bölge) yere dikey dursun.
  18. Diz-kalça arası yere paralel olsun.
  19. Soruda yok ama fareden mümkün olduğunca uzak durun. Klavye kısayolları kullanın. Hem sağlık, hem verimlilik için iyidir.
  20. Yüksekliği ayarlanabilen bir masa kullanın ve kendi boyunuza göre ayarlayın.
  21. Sırtınızı sürekli koltuktan desteklemeyin, günde birkaç dakika da olsa dik ve sırt desteksiz oturun.


Şimdilik aklıma gelenler bu kadar. Başka şeyler gelirse umarım burayı güncellemeyi hatırlayabilirim.

Yazdıklarımın bir kısmı "herkesin bildiği şeyler" gibi gelebilir ama bazen dikkat etmiyoruz, o yüzden belirtmekte fayda gördüm.
Ağustos 2015

Necmettin Begiter bir yanıt verdi.

Wifi üzerinden internet depolanabilir mi?

Wifi üzerinden internet depolamak nedir?
Ağustos 2015

Necmettin Begiter bir yanıt verdi.

Web servis yayınından sorgu yaptığımda, 3-4 sorguda bir bu hatayı alıyorum. Neden kaynaklı olduğu hakkında bir bilginiz var mı (hata açıklamada)?

Servisten XML yerine HTML içerik döndüğünü söylüyor.

Web servisten gelen yanıtın ayrıştırılabilmesi için belli kurallara uyan bir XML dönmesi gerekirken, HTML bir yanıt döndüğü anlamına geliyor. Çok büyük ihtimalle 500 ya da benzeri bir hata sayfası dönüyordur. Servisten gelen yanıtın tam içeriğine bak, orada sana tam olarak sorunun ne olduğunu söyleyecektir.
Ağustos 2015

Necmettin Begiter bir yanıt verdi.

Web sitem hakkında yazılımcıların düşünceleri nedir?

Proje hakkinda bir yorumda bulunmadan yanitlayayim.

henuz varolmayan ozelliklerin butonlarini koymayin derim.
bir de favicon denen ikonunuz olsun.
Daha Fazla