Add translation for quiz on introduction section

pull/926/head
Atakan Zengin 3 years ago
parent 77392c2960
commit 7a3342e155

@ -5,8 +5,8 @@ Bu ders programlama dillerinin temellerini kapsıyor. Bahsi geçilen konular gü
![Programlamaya Giriş](../../sketchnotes/webdev101-programming.png)
> Grafik Çizeri: [Tomomi Imura](https://twitter.com/girlie_mac)
## Ders Öncesi Ara Sınav
[Ara Sınav](https://ashy-river-0debb7803.1.azurestaticapps.net/quiz/1)
## Ders Öncesi Testi
[Ara Sınav](https://ashy-river-0debb7803.1.azurestaticapps.net/quiz/1?loc=tr)
## Giriş
@ -79,3 +79,120 @@ back add r0,r1
✅ Bir [Fibonacci dizisi](https://en.wikipedia.org/wiki/Fibonacci_number), 0 ve 1'den başlayarak her sayı kendinden önceki iki sayının toplamı olacak şekilde bir sayı kümesi olarak tanımlanır.
## Programın Bileşenleri
Bir programdaki tek bir talimat *ifade* (expression) olarak adlandırılır ve genellikle komutun nerede bittiğini veya *sonlandığını* (terminate) gösteren bir karaktere veya satır aralığına sahip olur. Bir programın nasıl sonlandırılacağı her programlama diline göre değişir.
Bir program içindeki ifadeler, talimatları yerine getirmek için kullanıcı tarafından veya başka bir yerden sağlanan verilere dayanabilir. Veriler bir programın nasıl davranacağını değiştirebilir, bu nedenle programlama dilleri verileri daha sonra kullanılmak üzere geçici olarak saklamak için bir yol sunar. Bunlara *değişkenler* denir. Değişkenler, bir cihaza verileri hafızasına kaydetmesi talimatını veren ifadelerdir. Programlardaki değişkenler cebirdeki değişkenlere benzer, kendine özgün bir adları vardır ve değerleri zaman içinde değişebilir.
Bazı ifadelerin bir cihaz tarafından yürütülmeme ihtimali vardır. Bu genellikle geliştirici tarafından yazıldığında tasarım gereği veya beklenmedik bir hata oluştuğunda kazara olur. Bir program üzerindeki bu tür bir kontrol, onu daha sağlam ve sürdürülebilir hale getirir. Tipik olarak, kontroldeki bu değişiklikler belirli koşullar karşılandığında gerçekleşir. Modern programlamada bir programın nasıl çalıştığını kontrol etmek için kullanılan yaygın bir deyim `if..else` deyimidir.
✅ Sonraki derslerde bu tür ifadeler hakkında daha fazla bilgi edineceksiniz.
## Programlama Araçları
[![Programlama Araçları](https://img.youtube.com/vi/69WJeXGBdxg/0.jpg)](https://youtube.com/watch?v=69WJeXGBdxg "Programlama Araçları")
> 🎥 Programlama Araçları hakkında bir video için yukarıdaki resme tıklayın (İngilizce)
Bu bölümde, profesyonel geliştirici yolculuğunuza başlarken çok faydalı bulabileceğiniz bazı yazılımlar hakkında bilgi edineceksiniz.
Bir **geliştirme ortamı**, bir geliştiricinin yazılım yazarken sıklıkla kullandığı benzersiz araçlar ve özellikler kümesidir.Bu araçlardan bazıları bir geliştiricinin özel ihtiyaçlarına, geliştiricinin işteki önceliklerine, kişisel projelerini değiştirmesi veya farklı bir programlama dili kullanması durumuna göre zaman içinde değişebilir. Geliştirme ortamları, onları kullanan geliştiriciler kadar benzersizdir.
## Metin Editörler
Yazılım geliştirme için en önemli araçlardan biri metin editörüdür. Editörler kodunuzu yazdığınız ve bazen de kodunuzu çalıştırdığınız yerdir.
Geliştiricilerin editörlere güveni ek olarak bu nedenlere de dayanır:
- *Hata ayıklama* (Debugging), kod üzerinde satır satır gezinerek hataların ortaya çıkarılmasına yardımcı olur. Bazı editörlerin hata ayıklama özellikleri vardır; bunlar belirli programlama dilleri için özelleştirilebilir ve eklenebilir.
- *Sözdizimi vurgulama* (Syntax highlighting) koda renkler ve metin biçimlendirmesi ekleyerek okunmasını kolaylaştırır. Çoğu editör özelleştirilmiş sözdizimi vurgulamasına izin verir.
- *Uzantılar ve Entegrasyonlar* geliştiriciler için geliştiriciler tarafından geliştirilen özel araçlardır. Bu araçlar temel editörlerde yerleşik olarak bulunmaz. Örneğin, birçok geliştirici kodlarının nasıl çalıştığınııklamak için yorum olarak dökümantasyon blokları yazarlar. Bunun için, belgelerindeki yazım hatalarını bulmaya yardımcı olması için bir yazım denetimi uzantısı yükleyebilirler. Çoğu uzantı belirli bir editörde kullanılmak üzere tasarlanmıştır ve çoğu editör mevcut uzantıları aramak ve indirmek için bir özellikle birlikte gelir.
- *Özelleştirme*, geliştiricilerin kendi ihtiyaçlarına uygun benzersiz bir geliştirme ortamı oluşturmalarını sağlar. Çoğu editör son derece özelleştirilebilir ve geliştiricilerin özel uzantılar oluşturmasına da izin verebilir.
#### Popüler Metin Editörleri ve Web Geliştirme Uzantıları
- [Visual Studio Code](https://code.visualstudio.com/)
- [Code Spell Checker](https://marketplace.visualstudio.com/items?itemName=streetsidesoftware.code-spell-checker)
- [Live Share](https://marketplace.visualstudio.com/items?itemName=MS-vsliveshare.vsliveshare-pack)
- [Prettier - Code formatter](https://marketplace.visualstudio.com/items?itemName=esbenp.prettier-vscode)
- [Atom](https://atom.io/)
- [spell-check](https://atom.io/packages/spell-check)
- [teletype](https://atom.io/packages/teletype)
- [atom-beautify](https://atom.io/packages/atom-beautify)
### Tarayıcılar
Bir diğer önemli araç ise tarayıcıdır. Web geliştiricileri, kodlarının web üzerinde nasıl çalıştığını görmek için tarayıcıya güvenirler. Ayrıca HTML gibi, editörde yazılan bir web sayfasının görsel öğelerini görüntülemek için de kullanılır.
Birçok tarayıcı, geliştiricilerin uygulamaları hakkında önemli bilgileri toplamalarına ve yakalamalarına yardımcı olacak bir dizi yararlı özellik ve bilgi içeren *geliştirici araçları* (DevTools) ile birlikte gelir. Örneğin: Bir web sayfasında hatalar varsa, bunların ne zaman oluştuğunu bilmek bazen yararlı olabilir. Bir tarayıcıdaki geliştiri araçları bu bilgileri yakalamak için yapılandırılabilir.
#### Popüler Tarayıcılar ve Geliştirici Araçları
- [Edge](https://docs.microsoft.com/microsoft-edge/devtools-guide-chromium?WT.mc_id=academic-13441-cxa)
- [Chrome](https://developers.google.com/web/tools/chrome-devtools/)
- [Firefox](https://developer.mozilla.org/docs/Tools)
### Komut Satırı Araçları
Bazı geliştiriciler günlük görevleri için daha az grafiksel bir görünümü tercih eder ve bunu başarmak için komut satırına güvenir. Kod yazmak önemli miktarda yazı yazmayı gerektirir ve bazı geliştiriciler klavyedeki akışlarını bozmamayı tercih eder. Masaüstü pencereleri arasında geçiş yapmak, farklı dosyalar üzerinde çalışmak ve araçları kullanmak için klavye kısayollarını kullanırlar. Çoğu görev fare ile tamamlanabilir, ancak komut satırını kullanmanın bir avantajı, fare ve klavye arasında geçiş yapmaya gerek kalmadan komut satırı araçlarıyla çok şey yapılabilmesidir. Komut satırının bir diğer faydası da yapılandırılabilir olmalarıdır. Buna ek olarak özel bir yapılandırmayı kaydedebilir, daha sonra değiştirebilir ve diğer geliştirme makinelerine de aktarabilirsiniz. Geliştirme ortamları her geliştirici için çok özel olduğundan, bazıları komut satırını kullanmaktan kaçınır, bazıları tamamen ona güvenir ve bazıları da ikisinin karışımını tercih eder.
### Popüler Komut Satırı Seçenekleri
Komut satırı için seçenekler kullandığınız işletim sistemine göre farklılık gösterecektir.
*💻 = işletim sistemine önceden yüklenmiş olarak geliyor anlamında.*
#### Windows
- [Powershell](https://docs.microsoft.com/powershell/scripting/overview?view=powershell-7?WT.mc_id=academic-13441-cxa) 💻
- [Command Line](https://docs.microsoft.com/windows-server/administration/windows-commands/windows-commands?WT.mc_id=academic-13441-cxa) (CMD olarak da bilinir) 💻
- [Windows Terminal](https://docs.microsoft.com/windows/terminal/?WT.mc_id=academic-13441-cxa)
- [mintty](https://mintty.github.io/)
#### MacOS
- [Terminal](https://support.apple.com/guide/terminal/open-or-quit-terminal-apd5265185d-f365-44cb-8b09-71a064a42125/mac) 💻
- [iTerm](https://iterm2.com/)
- [Powershell](https://docs.microsoft.com/powershell/scripting/install/installing-powershell-core-on-macos?view=powershell-7?WT.mc_id=academic-13441-cxa)
#### Linux
- [Bash](https://www.gnu.org/software/bash/manual/html_node/index.html) 💻
- [KDE Konsole](https://docs.kde.org/trunk5/en/konsole/konsole/index.html)
- [Powershell](https://docs.microsoft.com/powershell/scripting/install/installing-powershell-core-on-linux?view=powershell-7?WT.mc_id=academic-13441-cxa)
#### Popüler Komut Satırı Araçları
- [Git](https://git-scm.com/) (💻 çoğu işletim sisteminde)
- [NPM](https://www.npmjs.com/)
- [Yarn](https://classic.yarnpkg.com/en/docs/cli/)
### Dökümantasyon
Bir geliştirici yeni bir şey öğrenmek istediğinde, nasıl kullanılacağını öğrenmek için büyük olasılıkla dökümantasyona başvuracaktır. Geliştiriciler genellikle araçları ve dilleri doğru şekilde nasıl kullanacakları konusunda kendilerine rehberlik etmesi ve ayrıca nasıl çalıştığı hakkında daha derin bilgi edinmek için dökümantasyonlara güvenirler.
#### Popüler Web Geliştirimi Dökümantasyonları
- [Mozilla Developer Network (MDN)](https://developer.mozilla.org/docs/Web), [Firefox](https://www.mozilla.org/firefox/) tarayıcısının kurucusu Mozilla tarafından
- [Frontend Masters](https://frontendmasters.com/learn/)
- [Web.dev](https://web.dev), [Chrome](https://www.google.com/chrome/) tarayıcısının kurucusu Google tarafından
- [Microsoft's own developer docs](https://docs.microsoft.com/microsoft-edge/#microsoft-edge-for-developers), [Microsoft Edge](https://www.microsoft.com/edge) için
✅ Araştırma Zamanı: Artık bir web geliştiricisi ortamının temellerini bildiğinize göre, bunu bir web tasarımcısının ortamı ile karşılaştırın.
---
## 🚀 Meydan Okuma
Bazı programlama dillerini karşılaştırın. Java'ya kıyasla JavaScript'in bazı benzersiz özellikleri nelerdir? Peki ya COBOL ve Go?
## Ders Sonrası Quiz
[Ders sonrası quiz](https://ashy-river-0debb7803.1.azurestaticapps.net/quiz/2?loc=tr)
## Ders Tekrarı ve Bireysel Çalışma
Programcıların kullanabileceği farklı diller üzerine biraz çalışın. Bir dilde bir satır yazmaya çalışın ve daha sonra bunu diğer iki dilde yeniden yazın. Ne öğrendiniz?
## Ödev
[Dökümantasyon Okumak](assignment.md)

@ -0,0 +1,11 @@
# Dökümantasyon Okumak
## Talimatlar
Bir web geliştiricisinin ihtiyaç duyabileceği birçok araç [istemci araçları için olan MDN dökümantasyonunda](https://developer.mozilla.org/docs/Learn/Tools_and_testing/Understanding_client-side_tools/Overview) vardır. Buradan derste ele alınmayan 3 araç seçin. Bir web geliştiricisinin bunları neden kullanacağınııklayın ve bu kategoriye giren başka bir araç arayın ve belgelerini paylaşın. MDN dokümanları üzerinde aynı araç örneğini kullanmayın.
## Kılavuz
Örnek Niteliğinde | Yeterli | İyileştirme Gerekiyor
--- | --- | -- |
|Web geliştiricisinin aracı neden kullanacağınııkladı| Nasıl kullanacağınııkladı ancak neden kullanacağınııklamadı| Bir geliştiricinin aracı nasıl veya neden kullanacağından bahsetmedi

@ -13,6 +13,7 @@ import zh_cn from "./zh_cn.json";
import zh_tw from "./zh_tw.json";
import fr from "./fr.json";
import ta from "./ta.json";
import tr from "./tr.json";
//export const defaultLocale = 'en';
const messages = {
@ -30,6 +31,7 @@ const messages = {
zh_tw: zh_tw[0],
fr: fr[0],
ta: ta[0],
tr: tr[0],
};
export default messages;

@ -0,0 +1,115 @@
[
{
"title": "Yeni Başlayanlar İçin Web Geliştirimi: Testler",
"complete": "Tebrikler, testi tamamladınız!",
"error": "Üzgünüz, tekrar deneyin",
"quizzes": [
{
"id": 1,
"title": "Ders 1 - Programlama Dillerine Giriş: Ders Öncesi Testi",
"quiz": [
{
"questionText": "Bir program, yaratıcısı herhangi bir kod yazmadan oluşturulabilir",
"answerOptions": [
{
"answerText": "doğru",
"isCorrect": "true"
},
{
"answerText": "yanlış",
"isCorrect": "false"
}
]
},
{
"questionText": "Düşük seviyeli diller aşağıdakilerden hangisi için popüler bir seçimdir",
"answerOptions": [
{
"answerText": "Web siteleri",
"isCorrect": "false"
},
{
"answerText": "Donanım",
"isCorrect": "true"
},
{
"answerText": "Video oyunu yazılımı",
"isCorrect": "false"
}
]
},
{
"questionText": "Bu araçlardan hangisinin bir web geliştiricisinin ortamında bulunması en olasıdır?",
"answerOptions": [
{
"answerText": "Raspberry Pi gibi bir donanım",
"isCorrect": "false"
},
{
"answerText": "Tarayıcı Geliştirici Araçları (DevTools)",
"isCorrect": "true"
},
{
"answerText": "İşletim sistemi dökümantasyonu",
"isCorrect": "false"
}
]
}
]
},
{
"id": 2,
"title": "Ders 1 - Programlama Dillerine Giriş: Ders Sonrası Testi",
"quiz": [
{
"questionText": "Bir web sitesi oluşturmak için büyük olasılıkla hangi dili kullanırdınız?",
"answerOptions": [
{
"answerText": "Makine Kodu",
"isCorrect": "false"
},
{
"answerText": "JavaScript",
"isCorrect": "true"
},
{
"answerText": "Bash",
"isCorrect": "false"
}
]
},
{
"questionText": "Geliştirme ortamları her geliştirici için benzersizdir",
"answerOptions": [
{
"answerText": "doğru",
"isCorrect": "true"
},
{
"answerText": "yanlış",
"isCorrect": "false"
}
]
},
{
"questionText": "Bir geliştirici hatalı kodu düzeltmek için ne yapar?",
"answerOptions": [
{
"answerText": "Sözdizimi vurgulama",
"isCorrect": "false"
},
{
"answerText": "Hata ayıklama",
"isCorrect": "true"
},
{
"answerText": "Kod formatlama",
"isCorrect": "false"
}
]
}
]
}
]
}
]
Loading…
Cancel
Save