Araçlar ve Kütüphaneler
Rough.js: Elle çizilmiş görünümü olan grafikler eklemenizi sağlayan küçük bir grafik kütüphanesidir. Çizgiler, eğriler, daireler, elipsler gibi şekiller çizmeniz için temel yapıları bulundurur. Ayrıca SVG grafikler oluşturmanızı destekler.
vscode-browser-preview: Editörde debug yapabileceğiniz bir tarayıcı önizlemesini açmanızı sağlar. Chrome Headless altyapısını kullanmaktadır. Bu sayede VS Code içinde web içeriğini güvenilir bir şekilde kullanabilirsiniz ve Headless altyapısı ile hızlı testler yapabilirsiniz.
Hoppscotch: API isteklerini oluşturabileceğiniz ücretsiz ve hızlı bir araçtır. İstekleri daha hızlı bir şekilde oluşturara geliştirme yaparken zamandan tasarruf etmenizi sağlar.
public-apis: Web geliştirirken kullanabileceğiniz ücretsiz web servislerin listelendiği bir derlemedir.
nw.js: Chromium ve Node.js tabanlı bir uygulama çalışma zamanıdır (runtime). HTML ve JavaScript ile native uygulamalar yazabilirsiniz. Ayrıca Node.js modüllerini DOM’dan direkt olarak çağırmanızı sağlar ve native uygulamaları yazmanız için yeni bir yol sunar.
StoryBook: Storybook, UI bileşenleri için bir geliştirme ortamıdır. Bileşenleri listelemenizi sağlar, her bir bileşeni interaktif bir biçimde geliştirir ve test edebilirsiniz.
realworld: React, Angular, Node, Django ve daha birçok teknolojide yazılmış örnek klon projelerin olduğu bir kaynaktır.
create-react-app: React uygulamasını tek bir komut ile oluşturmanızı sağlar.
Prettier: Prettier, yazdığınız kodu belirlediğiniz standardlara uygun haline getiren bir formatlama aracıdır.
Faker.js: Node.js ve tarayıcıda geçici veriler oluşturmanızı sağlayan bir araçtır.
Fitty: Yazıları boyutlamak için kullanılan bir kütüphanedir.
Size limit: Size Limit, yazdığınız kodun performansını ölçen bir araçtır. Versiyon kontrol sisteminde yaptığınız her bir değişikliği kontrol eder, JavaScript kodunuzun maliyetini kullanıcılar için hesaplar. Eğer maliyet, limiti geçerse uyarı verir.
Date-fns: JavaScript’te tarihleri kullanırken tercih edebileceğiniz detaylı ve kullanımı kolay bir kütüphanedir.
Algoritma ve Veri Yapıları
javascript-algorithms: JavaScript’te uygulanan algoritmalar ve veri yapıları, açıklamalar ve örnekler ile detaylandırılmış halde bulunur.
javascript-datastructures-algorithms: JavaScript ve TypeScript veri yapıları ve algoritmalarından oluşur. (JavaScript algoritmaları ve veri yapıları kitabının kaynak kodu paketini içerir.)
problem-solving-javascript: Unit tests ile en yaygın JS Mülakat sorularından oluşur.
computer-science-in-javascript & javascript-algorithms : Bu repo, JavaScript’te yeniden uygulanan bilgisayar bilimi (çoğunlukla veri yapıları ve sıralama algoritmaları) hakkında detaylı bilgiler içerir.
The Algorithms — JavaScript: Javascript’te uygulanan tüm algoritmalar için bir havuz niteliğindedir. JavaScript standart kitaplığında, performans nedenleriyle çok daha iyi olan birçok uygulama türü vardır.
Data structure in javascript: Bu repoda, algoritmaların ve veri yapılarının JavaScript’e uygulamaları bulunur. Bu materyal, geliştiriciler için bir başvuru kılavuzu olarak mülakatlardan önce belirli konuları tekrar etme amaçlı ya da sorunları daha verimli bir şekilde çözme amaçlı kullanılabilir.
Stil Rehberleri
Stil kılavuzu, kodun nasıl yazılması ve düzenlenmesi gerektiğini ana hatlarıyla belirten standartlardan oluşur.Böyle bir kılavuza ekipteki yazılımcıların benzer şekilde kod yazmasını sağlamak ve projede var olan kodların ekibe yeni dahil olan üyeler tarafından daha kolay anlaşılmasını sağlamak ve projeye daha hızlı katkı yapmasını sağlamak için ihtiyaç duyarız.
Airbnb javascript style guide: Airbnb Javascript Style Guide, internetteki en popüler JavaScript stil kılavuzlarından birine sahiptir. JavaScript’in neredeyse her yönünü kapsar. Aynı zamanda react, css/saas, CSS-in-JS içinde stil kılavuzları bulunmaktadır. ( Airbnb react style guide, Airbnb CSS-in-JS style guide, Airbnb CSS/Sass style guide )
Google javascript style guide: Google tarafından hazırlanmış olan ve kullanılan javascript stil kılavuzu. Bu kılavuz ile birlikte google tarafınadan frontend teknolojileri için hazırlamış olduğu iki farklı HTML/CSS ve typescript kılavuzları da bulunmakta. (Google typescript style guide, Google HTML/CSS style guide)
JS style guide: GitHub, NPM, mongoDB ve ZenDesk gibi birçok teknoloji şirketi tarafından kullanılmaktadır.
Node.js style guide: Node.js ile daha estetik, tutarlı ve düzenli bir kod yazmaya yardımcı olmak için hazırlanmış bir stil rehberi.
Mülakatlar
Cracking the Coding Interview JS çözümleri: Gayle Laakmann McDowell’in “Cracking the Coding Interview” kitabının 6. Basımının Çözümlerini içerir.
Javascript mülakat sorular: ES5 ve ES6'da Javascript’te çözülen yazılım geliştirme mülakat sorularının koleksiyonudur.
Javascript mülakat soruları 2: Bu repoda verilen sorular, çok sayıda şirkette sıkça sorulan soruların özeti niteliğindedir.
React mülakat soruları: React için hazırlanmış 300+ mülakat sorularının ve cevaplarının bulunduğu liste.
Frontend teknolojileri için mülakat soruları: Bir çok farklı mülakat soruları repolarından derlenmiş harika bir listedir.
Frontend teknolojileri için mülakat soruları 2: Bu repo, Front-end developer mülakatlarında potansiyel adaylara yöneltilebilecek bir çok soru içerir.
Frontend teknolojileri için mülakat soruları 3: Bu repo, Frontend teknolojileri için mülakat soruları 2'nin cevaplarını içerir.
Adaylardan şirketlere mülakat soruları: Bu, bir teknoloji işi başvurusunda bulunan bir kişi için görüşme sırasında şirkete sormanız gereken soruların bazılarını içerir.
En İyi Geliştirme Yöntemleri
Yazılım geliştirirken önümüze çıkacak olan problemlerin çözümü için birçok farklı fikir ve bu fikirlerin hayata geçirilmesi için de birden fazla yöntem ile karşılaşırız. Bulduğumuz her yöntem bizi bir şekilde çözüme götürüyor olsa da, bu yöntemlerin her birinin avantajları ve dezavantajları bulunur. Kullanacağımız yöntemi seçerken bu avantajları ve dezavantajları bizim ihtiyaçlarımıza göre değerlendirerek en uygun yönteme ulaşırız. Bununla birlikte bazı problemler sürekli tekrar eder ve herkesin kabul ettiği ortak bir en iyi çözüme ulaşılır. Yazının bu kısmında HTML/CSS, Javascript, React, Node.js gibi populer teknolojilerin kabul görmüş en iyi kullanımlarını barındıran github repolarını bulabilirsiniz.
Clean-code-javascript: Robert C. Martin’in Clean Code kitabından JavaScript için uyarlanmış yazılım mühendisliği ilkelerini içeren bu repo javascript ile okunabilir, yeniden kullanılabilir ve yeniden düzenlenebilir yazılımlar üretmeye yönelik bir kılavuzdur. Kılavuzun Türkçe çevirisi de bulunmaktadır.
es6-cheatsheet: Ecmascript 6 ile birlikte javascriptin en iyi kullanımın yöntemlerini ve ipuçlarını barındıran bir repodur.
Javascript-testing-best-practices: Bu repoda, Javascript ile yazılmış olan kodun test edilmesi sürecinde kullanılan en iyi yöntemleri listelemiş.
Modular Javascript Best Practices: Javascript için hazırlanmış olan mastering modular javascript kitabının github reposu.
React best practices: React ile geliştirme yaparken dikkat edilmesi gereken noktaları ve doğru kullanımları anlatan bir repo.
HTML best practices: HTML’in doğru kullanımlarını detaylı bir şekilde anlatan bir proje.
HTML&CSS best practices: Frontend teknolojilerinin genel olarak doğru kullanımlarını yüzeysel olarak açıklayan bir repo.
Node.js Best practices: Node.js ile yapılacak geliştirmelerde yardımcı olacak 60 bin yıldız almayı başarmış bir repo.
Ekstralar
YouTube channels for frontend developers: Frontend alanında içerik üreten Youtube kanallarının listelendiği bir projedir.
33-js-concepts: Her JavaScript geliştiricisinin bilmesi gereken 33 kavramın anlatıldığı projedir.
modern-js-cheatsheet: Güncel projelerde karşınıza çıkabilecek kavramların anlatıldığı ipucu listesine ulaşabilirsiniz.
awesome cheatsheets: JavaScript library ve frameworkleri için ipuçlarının listelendiği bir projedir.
es6: EcmaScript 6 versiyonunun özelliklerinin anlatıldığı detaylı bir projedir.
ES6-for-humans: ES6 For Humans kitabı, EcmaScript 6 öğrenmek isteyenler için yazılmış kitaplardandır.
ECMAScript proposals: EcmaScript 6'ya yazılımcılar tarafından önerilen değişikliklerin takip edilebildiği bir projedir.
developer-roadmap: Frontend, Backend developer, DevOps alanında ilerleyecekler için izlenecek yolu anlatan popüler bir projedir.
yeni başlayanlar için katkıda bulunulabilecek github projeleri
awesome: Programlama dilleri ve teknolojiler için güzel bir kaynak listesinin olduğu projedir.
vanillawebprojects: Kütüphane ve framework olmadan yapılan HTML/CSS/JavaScript projelerini inceleyebilirsiniz.
You-Dont-Need-jQuery: jQuery frameworkünün komutlarını kullanmadan kod yazmayı anlatmak için hazırlanmış repo.
Functional-Light-JS: Javascript ile fonksiyonel programlamanın temellerini anlatan Functional-Light JavaScript kitabı reposu.