AnaSaife » reactjs

Tag: reactjs

ReactJS Nedir?

Gün geçmiyor ki yeni bir javascript framework ü çıkmasın.

React, Facebook tarafından geliştirilmiş DOM yerine Virtual DOM u manipule eden bir başka JSFW. (NSFW gibi oldu. Panik yok burası NFW)

React’i diğer framework lerden ayıran birkaç özelliğinden bahsedelim,

  • Performans: DOM a yapılan en ufak değişiklikte bile, örneğin bir element e class atadığımızda bile tüm DOM yeniden taranır. React ile Virtual DOM üzerinde ilgili değişiklikler için optimum sayıda işlem yapılacak şekilde aksiyon alınıyor.
  • Performans: Angular daki gibi state inizdeki tüm değişkenleri dinlemiyor. Değişkenler, state objesinde tutulduğu için ve değişkenleri state objesine bildirdiğimiz için tüm sayfayı dinlemesine gerek kalmıyor.
  • Performans: buraya birşeyler yazarım. 🙂

JSX: React yazarken kullanacağımız best practice tir. Oluşturulan komponentlerin tekrar kullanılabilir olması performans olarak da geliştiricileri tarafından desteklenmektedir.

React hakkında detaylı bilgi için önereceğim şu sayfayı okumanızı tavsiye ederim.

Standart geliştiricisinin React Native projesi içine düştüğündeki ilk tepkisi

  • Abi HTML i nereye yazıyoruz?
  • CSS ler aslında JS ler mi?
  • Bu şimdi nece oluyor?
  • Evde React çalışmak istersem HTML mi CSS mi kascam?

2016’da neler yaptım? Neler öğrendim?

Merhaba arkadaşlar, önceki yıllarda da yapmam gereken bu kişisel değerlendirme yazısını yazmadığımı fark ettim. Bu yıldan itibaren bunu gözardı etmemeye çalışacağım.

2016 yılında neler yaptım?

  • Yılın başlarında birkaç ay boyunca neredeyse her hafta sonu bir etkinlik/eğlence/club’a gittim.
  • Yüze yakın yazılım etkinliğine katıldım. Yüze yakın sektörden benimle aynı işi yapan insan ile tanıştım.
  • Bolca deniz – kum – güneş üçlüsünün keyfini çıkardım.
  • Dans kursuna gittim.
  • Fitness’a gittim.
  • Gereğinden fazla mesai yaptım.

Bir dönemimi düzenli olarak etkinliklere katılarak geçirdim. Docker, AngularJS, ReactJS, HTTP, SOLID Prensipleri, CI, CD konularında gerekirse aynı şeyleri tekrar tekrar dinleyerek birçok etkinliğe katıldım. Istanbul Coders ve Istanbul HackerSpace gruplarında, etkinliklerinde sektörden arkadaşlar edindim.

İyi dans edebilmenin pratik ile olduğunu kabul edip Modern Dans Kursuna kayıt oldum. Maslak’ın en populer dans kursunda 2 aylık kısa bir eğitim aldım ve sonra tabiki bıraktım. O dönemde çok meşguldum. Dünyayı kurtarıyordum.

Fitness a vakit ayırdım. Tam ideal fiziğe sahip olacak iken yine Dünyayı kurtarma planları devreye girdi ve ara verdim. 2017 Ocak itibariyle tekrar başladım ancak +2.2kg yağ alıp, -1.5kg kas kaybedip, +700gram toplamda geriye gitmişim. Ne büyük bir kayıp.. Ne acı..!

Çok şey yapmışım. 2017 yılında elle tutulur şeyler yapabilmek umuduyla.

Görüşmek üzere.

Sanırım biraz kısa oldu.

2016 yılında neler öğrendim?

  • Daha sık ve yerinde “Hayır” demeyi öğrendim. Çalışma hayatımın 1. yılında kazanamadığım bu beceriyi 2. senemde kazabildiğime inanıyorum. İletişimde evetler kadar hayırların da bünyemizde yeri olması gerektiğini gördüm. Aksi halde daha çok efor ile zaman kaybeden taraf hep ben oluyordum. En büyük kazanımlarımdan biri oldu.
  • Kötümser insanlardan uzak kalmayı öğrendim. Hayattan zevk almayı hedef edindim. Sürekli ne olacak bu ülkenin hali ci muhabbetlerden uzak kalmayı öğrendim. Bunların bana yada hayatımıza hiçbir şey katmadığını gördüm.
  • Yapmakta zorlandığım yada ilgi alanımda olmayan şeyler için yardım istemeyi öğrendim. Hırs denen şeyin aslında çok kötü ve yerinde kullanılmadığında bizi geriye götüren bir şey olduğunu kabul ettim. Her işi ben yapamam. Her şeyi ben bilemem.
  • Takım çalışmasını öğrendim. Projelerde işlerin takım ile halledildiğini keşfettim. İşlerin küçük harçalar halinde bölünüp ilgi alanlarına göre paylaştırılması sonucu daha hızlı ve güzel sonuçlar çıktığını gördüm.
  • Kahkaha atmayı öğrendim. Yaşamak şakaya gelmez, büyük bir ciddiyet ile yaşayacaksın. Sincap gibi mesela.
  • Beni güldürmeyen şey öldürür düşüncesiyle ciddiyetten arkama bakmadan kaçmayı öğrendim. Şaka. Ha ha.
  • Hayatta kalmayı öğrendim. 2016 senesinde İstanbul il sınırlarında 124124 patlamada yada terör saldırısında 32423423 kişi öldü. Ben onlardan biri olmadım. Bu da bir başarıdır. Dimi?
  • Teşekkür etmeyi öğrendim. İnsanları mutlu ettim.
  • Özür dilemeyi öğrendim. Kendimi mutlu ettim.
  • Öfke ile arama mesafe koymayı öğrendim. Sanırım en büyük kazanımım da bu oldu..

Teşekkürler.

 

Bu ay ne yaptım? 2015 Aralık

Geçen ayın (Kasım) yazısına şuraya tıklayarak ulaşabilirsiniz.

8 Aralık:

Şirketimi diğer şirketlerden ayıran en büyük özelliği sürekli öğrenmeye önem vermesi. Bugün, şirketin daha önce de düzenli olarak yaptığı ancak bir süre ara verilen kendi aramızda “Ekmek Arası Kod” dediğimiz eğitimlerine geri döndü. Tekrar düzenli olarak yapılacağı haberini aldık ve bugün ilk defa yapıldı. Anlatılan konuları ve kimlerin ne anlattığını paylaşıyorum. Hepsinden öğrendiğim şeyleri 1’er cümle ile özetlemeye çalışayım.

Esma : NodeJs, Npm > Java gibi server-side yazılım teknolojilerinde işler thread’ler ile iş-parçacıklarına bölünür. 5 Thread açabilen bir makinede aynı anda en fazla 5 iş yapabilirsiniz, 6. iş geldiğinde thread’lerden biri bitmeden bir sonrakini proses edemezsiniz. NodeJS ile bunun önüne geçiyoruz. Single Thread çalıştığı için aslında tüm işlemleri tek thread üzerinden gerçekleştiriyor. Bunla ilgili garson örneği verildi. Onu burada paylaşmayacağım. 🙂

Murat : MustacheJS, HandlebarsJS > Frontend teknolojilerin niğmetlerinden faydalanıyorsanız kesinlikle en az bir javascript template engine kullanıyor olduğunuzu varsayıyoruz. HandlebarsJS template lerinizi compile edip kullanmanızı sağlıyor. MustacheJS ise bunun eksik yönlerini kapatıp daha geniş kapsamlı framework.

Jasmine> Javascript fonksiyonların testlerini yazmak için kullanılıyor.

describe("A suite", function() {
  it("contains spec with an expectation", function() {
    expect(true).toBe(true);
  });
});

Kerem : Bower > Web ağırlıklı projelerde çalışıyorsanız 1’den fazla javascript framework’ü ve kütüphanesiyle çalıştığınızı varsayıyoruz. Bu kütüphanelerin güncel ve bug sız, bol feature lu kalmasını sağlamak için bower kullanıyoruz. Kısaca paket yönetimi uygulaması deniyor.NodeJS, Grunt, MinJS, xJS, yJS gibi her işiniz için ayrı kütüphane kullandığınızda bunları en kötü ihtimalle senede 2 defa bile güncellemek zorunda olduğunuzu düşünürsek Bower tam size göre. Tek komutla bower.js içerisinde tüm kütüphanelerinizin haritası oluşturulmuş dosya sayesinde tüm içeriğiniz güncel kalıyor.

Batuhan : Grunt, Gulp >

10 Aralık:

Bugün, yine öğlen arasında 12.30-13.30 saatlerinde ekmek arası kod toplantımızı gerçekleştirdik. Geçen gün anlatılmayan, yarım kalan konulara devam ettik. Ancak yine süremiz yetmedi. Browserify ve Webpack öğrendik. Kalan konuları bir sonraki ekmek arasına alacağız.

Onur: Webpack, Browserify >

Reactjs, Flux, Spring Boot > Zamanımız yetmediği için bu konuları bugün işleyemedik.

22 Aralık:

2015-12-22 19.50.57istanbul-coders grubun alt oluşumu olan TestHive grubunun “Security Testing of Web Apps on Continuous Integration” isimli etkinliğine katıldım. Etkinlikte, en populer güvenlik testi uygulamaları tanıtıldı, aralarındaki farklar ve iyi oldukları yanlarından bahsedildi. Hangi amaç için hangi uygulamayı kullanacağımızdan bahsettik. Ancak asıl konu bu kadar basit değildi. Güvenlik otomasyonlarını kendi sistemlerimizde denerken bundan nasıl faydalar sağlayabileceğimizden ve bu işi nasıl otomatize edeceğimizden bahsettik.

Selenium ile testleri nasıl koşuyorsak aynı şekilde olası güvenlik açıkları için sistemimizi aynı otomasyona bağlayıp standart şekilde testlerimizi koşturabileceğimizden bahsettik. Uygulamalı güvenlik testi yazıldı ve bu işlerin nasıl yapıldığını görme fırsatı buldum.

Konuşmacı: Thoughtworks, Yigithan Yilmaz

Etkinlik linki : http://www.meetup.com/TestHive/events/227538884/

 

24 Aralık:

2015-12-24 19.57.21istanbul-coders grubu etkinliği dahilinde “Continuous Delivery and .Net Application Development”

Konusmaci;Onuralp Taner Ciceksepeti.com’da Yazılım Mimarı

Etkinlik linki : http://www.meetup.com/Istanbul-Hackers/events/227212457/

 

 

Bundan sonraki blog yazılarımda her etkinlikte çektiğim en az 1 fotoğrafı paylaşarak geliştirmeyi düşünüyorum. (bknz: continuous improvement)

Yazıma sonra devam edeceğim.