From 7fc495a048565111108f9e36e8ef49f1827318f8 Mon Sep 17 00:00:00 2001 From: canerbaran <42636054+canerbaran@users.noreply.github.com> Date: Fri, 30 Nov 2018 00:55:10 +0300 Subject: [PATCH 01/12] Update and rename README.md to README-tr.md --- README.md => README-tr.md | 23 +++++++++++------------ 1 file changed, 11 insertions(+), 12 deletions(-) rename README.md => README-tr.md (99%) diff --git a/README.md b/README-tr.md similarity index 99% rename from README.md rename to README-tr.md index dca795543ec..220c9b123f7 100644 --- a/README.md +++ b/README-tr.md @@ -7,27 +7,26 @@

-## Motivation +## Motivasyon -> Learn how to design large-scale systems. -> -> Prep for the system design interview. +> Büyük ölçekli sistemlerin nasıl dizayn edileceğini öğrenmek -### Learn how to design large-scale systems +> Sistem tasarım mülakatlarına hazırlanmak Prep for the system design interview. -Learning how to design scalable systems will help you become a better engineer. +### Büyük ölçekli sistemlerin nasıl dizayn edileceğini öğrenmek -System design is a broad topic. There is a **vast amount of resources scattered throughout the web** on system design principles. +Büyük ölçekli sistemlerin nasıl dizayn edileceğini öğrenmek daha iyi bir mühendis olmanıza yardımcı olacaktır. +Sistem tasarımı çok geniş bir konudur. Sistem tasarım prensipleri ile ilgili **internet üzerine dağılmış çok miktarda kaynak** bulunmaktadır. -This repo is an **organized collection** of resources to help you learn how to build systems at scale. +Bu repo, ölçekli sistemlerin nasıl inşaa edileceği konusunda, size yardımı olacak kaynaklar içeren **organize koleksiyondur**. -### Learn from the open source community +### Açık kaynak topluluğundan öğrenin -This is a continually updated, open source project. +Bu, sürekli olarak güncellenen açık kaynaklı bir projedir. -[Contributions](#contributing) are welcome! +[Katkınızı](#katkıdabulunanlar) bekliyoruz! -### Prep for the system design interview +### Sistem tasarım mülakatına hazırlık In addition to coding interviews, system design is a **required component** of the **technical interview process** at many tech companies. From 18bdedbca4e754c0d3d4ca11517a49647133fbba Mon Sep 17 00:00:00 2001 From: canerbaran <42636054+canerbaran@users.noreply.github.com> Date: Fri, 30 Nov 2018 01:14:01 +0300 Subject: [PATCH 02/12] Update README-tr.md --- README-tr.md | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/README-tr.md b/README-tr.md index 220c9b123f7..eb9a5ea8988 100644 --- a/README-tr.md +++ b/README-tr.md @@ -28,19 +28,19 @@ Bu, sürekli olarak güncellenen açık kaynaklı bir projedir. ### Sistem tasarım mülakatına hazırlık -In addition to coding interviews, system design is a **required component** of the **technical interview process** at many tech companies. +Kodlama mülakatlarına ek olarak sistem tasarımı, bir çok teknoloji şirketince, **teknik mülakat sürecinin zorunlu bir parçası** olarak görülmektedir. -**Practice common system design interview questions** and **compare** your results with **sample solutions**: discussions, code, and diagrams. +**Sık sorulan sistem tasarım mülakat soruları ile pratik yapın** ve kendi sonuçlarınızı **örnek çözümler**; tartışmalar, kod ve diyagramlar ile **karşılaştırın**. -Additional topics for interview prep: +Mülakat hazırlığı için ek başlıklar: -* [Study guide](#study-guide) -* [How to approach a system design interview question](#how-to-approach-a-system-design-interview-question) -* [System design interview questions, **with solutions**](#system-design-interview-questions-with-solutions) -* [Object-oriented design interview questions, **with solutions**](#object-oriented-design-interview-questions-with-solutions) -* [Additional system design interview questions](#additional-system-design-interview-questions) +* [Çalışma kılavuzu](#study-guide) +* [Sistem tasarım mülakatı sorularına nasıl yaklaşmalı](#how-to-approach-a-system-design-interview-question) +* [Sistem tasarım mülakat soruları, **çözümleri ile**](#system-design-interview-questions-with-solutions) +* [Nesne yönelimli tasarım mülakat soruları, **çözümleri ile**](#object-oriented-design-interview-questions-with-solutions) +* [Sistem tasarım mülakatı ek soruları](#additional-system-design-interview-questions) -## Anki flashcards +## Anki bilgi kartları

From 4e61e711e06b4f34894557a1cc4232f3e20c825f Mon Sep 17 00:00:00 2001 From: Caner Baran <42636054+canerbaran@users.noreply.github.com> Date: Fri, 30 Nov 2018 01:27:13 +0300 Subject: [PATCH 03/12] Update README-tr.md --- README-tr.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README-tr.md b/README-tr.md index eb9a5ea8988..617c5e1c131 100644 --- a/README-tr.md +++ b/README-tr.md @@ -1,4 +1,4 @@ -*[English](README.md) ∙ [日本語](README-ja.md) ∙ [简体中文](README-zh-Hans.md) ∙ [繁體中文](README-zh-TW.md) | [Arabic](https://github.com/donnemartin/system-design-primer/issues/170) ∙ [Brazilian Portuguese](https://github.com/donnemartin/system-design-primer/issues/40) ∙ [German](https://github.com/donnemartin/system-design-primer/issues/186) ∙ [Greek](https://github.com/donnemartin/system-design-primer/issues/130) ∙ [Italian](https://github.com/donnemartin/system-design-primer/issues/104) ∙ [Korean](https://github.com/donnemartin/system-design-primer/issues/102) ∙ [Persian](https://github.com/donnemartin/system-design-primer/issues/110) ∙ [Polish](https://github.com/donnemartin/system-design-primer/issues/68) ∙ [Russian](https://github.com/donnemartin/system-design-primer/issues/87) ∙ [Spanish](https://github.com/donnemartin/system-design-primer/issues/136) ∙ [Thai](https://github.com/donnemartin/system-design-primer/issues/187) ∙ [Turkish](https://github.com/donnemartin/system-design-primer/issues/39) ∙ [Vietnamese](https://github.com/donnemartin/system-design-primer/issues/127) | [Add Translation](https://github.com/donnemartin/system-design-primer/issues/28)* +*[English](README.md) ∙ [日本語](README-ja.md) ∙ [简体中文](README-zh-Hans.md) ∙ [繁體中文](README-zh-TW.md) | [Arabic](https://github.com/donnemartin/system-design-primer/issues/170) ∙ [Brazilian Portuguese](https://github.com/donnemartin/system-design-primer/issues/40) ∙ [German](https://github.com/donnemartin/system-design-primer/issues/186) ∙ [Greek](https://github.com/donnemartin/system-design-primer/issues/130) ∙ [Italian](https://github.com/donnemartin/system-design-primer/issues/104) ∙ [Korean](https://github.com/donnemartin/system-design-primer/issues/102) ∙ [Persian](https://github.com/donnemartin/system-design-primer/issues/110) ∙ [Polish](https://github.com/donnemartin/system-design-primer/issues/68) ∙ [Russian](https://github.com/donnemartin/system-design-primer/issues/87) ∙ [Spanish](https://github.com/donnemartin/system-design-primer/issues/136) ∙ [Thai](https://github.com/donnemartin/system-design-primer/issues/187) ∙ [Türkçe](https://github.com/donnemartin/system-design-primer/issues/39) ∙ [Vietnamese](https://github.com/donnemartin/system-design-primer/issues/127) | [Add Translation](https://github.com/donnemartin/system-design-primer/issues/28)* # The System Design Primer From cc88bde6fb556940960519b95ef07cb5c759abc4 Mon Sep 17 00:00:00 2001 From: Caner Baran <42636054+canerbaran@users.noreply.github.com> Date: Fri, 30 Nov 2018 02:24:21 +0300 Subject: [PATCH 04/12] Update README-tr.md --- README-tr.md | 126 +++++++++++++++++++++++++-------------------------- 1 file changed, 63 insertions(+), 63 deletions(-) diff --git a/README-tr.md b/README-tr.md index 617c5e1c131..3e0aebedad9 100644 --- a/README-tr.md +++ b/README-tr.md @@ -47,71 +47,71 @@ Mülakat hazırlığı için ek başlıklar:

-The provided [Anki flashcard decks](https://apps.ankiweb.net/) use spaced repetition to help you retain key system design concepts. +[Anki bilgi kartı destesi'ni](https://apps.ankiweb.net/) anahtar sistem tasarım konseptlerini kavramanıza yardımcı olması için aralıklı olarak tekrarlama amaçlı kullanın. -* [System design deck](https://github.com/donnemartin/system-design-primer/tree/master/resources/flash_cards/System%20Design.apkg) -* [System design exercises deck](https://github.com/donnemartin/system-design-primer/tree/master/resources/flash_cards/System%20Design%20Exercises.apkg) -* [Object oriented design exercises deck](https://github.com/donnemartin/system-design-primer/tree/master/resources/flash_cards/OO%20Design.apkg) +* [Sistem tasarım destesi](https://github.com/donnemartin/system-design-primer/tree/master/resources/flash_cards/System%20Design.apkg) +* [Sistem tasarım alıştırma destesi](https://github.com/donnemartin/system-design-primer/tree/master/resources/flash_cards/System%20Design%20Exercises.apkg) +* [Nesne yönelimli tasarım alıştırma destesi](https://github.com/donnemartin/system-design-primer/tree/master/resources/flash_cards/OO%20Design.apkg) -Great for use while on-the-go. +Hareket halindeyken kullanıma uygun -### Coding Resource: Interactive Coding Challenges +### Kodlama Kaynağı: Etkileşimli Kodlama Davetleri -Looking for resources to help you prep for the [**Coding Interview**](https://github.com/donnemartin/interactive-coding-challenges)? +**Kodlama mülakatı** hazırlığı için kaynak mı arıyorsunuz(https://github.com/donnemartin/interactive-coding-challenges)?


-Check out the sister repo [**Interactive Coding Challenges**](https://github.com/donnemartin/interactive-coding-challenges), which contains an additional Anki deck: +Ek Anki destesi içeren kardeş repoyu inceleyin [**Etkileşimli Kodlama Davetleris**](https://github.com/donnemartin/interactive-coding-challenges) : -* [Coding deck](https://github.com/donnemartin/interactive-coding-challenges/tree/master/anki_cards/Coding.apkg) +* [Kodlama Destesi](https://github.com/donnemartin/interactive-coding-challenges/tree/master/anki_cards/Coding.apkg) -## Contributing +## Katkı -> Learn from the community. +> Topluluktan öğrenin. -Feel free to submit pull requests to help: +Yardım etmek için Pull request'leriniz gönderin: -* Fix errors -* Improve sections -* Add new sections -* [Translate](https://github.com/donnemartin/system-design-primer/issues/28) +* Hataları düzeltme +* Bölümleri geliştirme +* Yeni bölümler ekleme +* [Çeviri](https://github.com/donnemartin/system-design-primer/issues/28) -Content that needs some polishing is placed [under development](#under-development). +Geliştirme gereken içerik [geliştirme aşamasında](#under-development) bölümüne yerleştirildi. -Review the [Contributing Guidelines](CONTRIBUTING.md). +[Katkı Kılavuzlarını](CONTRIBUTING.md) inceleyin. -## Index of system design topics +## Sistem tasarım başlıkları indeksi -> Summaries of various system design topics, including pros and cons. **Everything is a trade-off**. +> Artı ve eksileri içeren çeşitli sistem tasarım başlıklarının özetleri. **Herşey bir ticaret**. > -> Each section contains links to more in-depth resources. +> Her bölüm daha derinlemesine kaynakları içeren linkler barındırıyor.


-* [System design topics: start here](#system-design-topics-start-here) - * [Step 1: Review the scalability video lecture](#step-1-review-the-scalability-video-lecture) - * [Step 2: Review the scalability article](#step-2-review-the-scalability-article) - * [Next steps](#next-steps) -* [Performance vs scalability](#performance-vs-scalability) -* [Latency vs throughput](#latency-vs-throughput) -* [Availability vs consistency](#availability-vs-consistency) - * [CAP theorem](#cap-theorem) - * [CP - consistency and partition tolerance](#cp---consistency-and-partition-tolerance) - * [AP - availability and partition tolerance](#ap---availability-and-partition-tolerance) -* [Consistency patterns](#consistency-patterns) - * [Weak consistency](#weak-consistency) - * [Eventual consistency](#eventual-consistency) - * [Strong consistency](#strong-consistency) -* [Availability patterns](#availability-patterns) +* [Sistem tasarım başlığı: Başlangıç](#system-design-topics-start-here) + * [Adım 1: Ölçeklenebilirlik video konferansı incelemesi](#step-1-review-the-scalability-video-lecture) + * [Step 2: Ölçeklenebilirlik makale incelemesi](#step-2-review-the-scalability-article) + * [Diğer Adımlar](#next-steps) +* [Performas vs ölçeklenebilirlik](#performance-vs-scalability) +* [Bekleme vs çıktı](#latency-vs-throughput) +* [Uygunluk vs Süreklilik](#availability-vs-consistency) + * [CAP teoremi](#cap-theorem) + * [CP - tutarlılık ve bölümleme toleransı](#cp---consistency-and-partition-tolerance) + * [AP - uygunluk ve bölümleme toleransı](#ap---availability-and-partition-tolerance) +* [Tutarlılık paternleri](#consistency-patterns) + * [Zayıf tutarlılık](#weak-consistency) + * [Muhtemel tutarlılık](#eventual-consistency) + * [Güçlü tutarlılık](#strong-consistency) +* [Uygunluk paternleri](#availability-patterns) * [Fail-over](#fail-over) * [Replication](#replication) -* [Domain name system](#domain-name-system) +* [Domain name sistemleri](#domain-name-system) * [Content delivery network](#content-delivery-network) * [Push CDNs](#push-cdns) * [Pull CDNs](#pull-cdns) @@ -121,13 +121,13 @@ Review the [Contributing Guidelines](CONTRIBUTING.md). * [Layer 4 load balancing](#layer-4-load-balancing) * [Layer 7 load balancing](#layer-7-load-balancing) * [Horizontal scaling](#horizontal-scaling) -* [Reverse proxy (web server)](#reverse-proxy-web-server) +* [Ters proxy (web server)](#reverse-proxy-web-server) * [Load balancer vs reverse proxy](#load-balancer-vs-reverse-proxy) -* [Application layer](#application-layer) +* [Aplikasyon katmanı](#application-layer) * [Microservices](#microservices) * [Service discovery](#service-discovery) -* [Database](#database) - * [Relational database management system (RDBMS)](#relational-database-management-system-rdbms) +* [Veritabanı](#database) + * [İlişkisel database yönetim sistemi (RDBMS)](#relational-database-management-system-rdbms) * [Master-slave replication](#master-slave-replication) * [Master-master replication](#master-master-replication) * [Federation](#federation) @@ -144,38 +144,38 @@ Review the [Contributing Guidelines](CONTRIBUTING.md). * [Client caching](#client-caching) * [CDN caching](#cdn-caching) * [Web server caching](#web-server-caching) - * [Database caching](#database-caching) - * [Application caching](#application-caching) - * [Caching at the database query level](#caching-at-the-database-query-level) - * [Caching at the object level](#caching-at-the-object-level) - * [When to update the cache](#when-to-update-the-cache) + * [Veritabanı caching](#database-caching) + * [Uygulama caching](#application-caching) + * [Veritabanı sorgu seviyesinde caching](#caching-at-the-database-query-level) + * [Nesne seviyesinde caching](#caching-at-the-object-level) + * [Cache güncellendiğinde](#when-to-update-the-cache) * [Cache-aside](#cache-aside) * [Write-through](#write-through) * [Write-behind (write-back)](#write-behind-write-back) * [Refresh-ahead](#refresh-ahead) * [Asynchronism](#asynchronism) - * [Message queues](#message-queues) - * [Task queues](#task-queues) + * [Mesaj dizileri](#message-queues) + * [Görev dizileri](#task-queues) * [Back pressure](#back-pressure) -* [Communication](#communication) +* [İletişim](#communication) * [Transmission control protocol (TCP)](#transmission-control-protocol-tcp) * [User datagram protocol (UDP)](#user-datagram-protocol-udp) * [Remote procedure call (RPC)](#remote-procedure-call-rpc) * [Representational state transfer (REST)](#representational-state-transfer-rest) -* [Security](#security) -* [Appendix](#appendix) - * [Powers of two table](#powers-of-two-table) - * [Latency numbers every programmer should know](#latency-numbers-every-programmer-should-know) - * [Additional system design interview questions](#additional-system-design-interview-questions) - * [Real world architectures](#real-world-architectures) - * [Company architectures](#company-architectures) - * [Company engineering blogs](#company-engineering-blogs) -* [Under development](#under-development) -* [Credits](#credits) -* [Contact info](#contact-info) -* [License](#license) - -## Study guide +* [Güvenlik](#security) +* [Ekler](#appendix) + * [İki tablonun gücü](#powers-of-two-table) + * [Her programcının bilmesi gereken gizli varolan sayılar](#latency-numbers-every-programmer-should-know) + * [Sistem tasarımı ek soruları](#additional-system-design-interview-questions) + * [Gerçek dünya mimarisi](#real-world-architectures) + * [Şirket mimarisi](#company-architectures) + * [Şirket mühendislik blogları](#company-engineering-blogs) +* [Geliştirme aşamasında](#under-development) +* [Katkılar](#credits) +* [İrtibat bilgisi](#contact-info) +* [Lisas](#license) + +## Çalışma Kılavuzu > Suggested topics to review based on your interview timeline (short, medium, long). From df379a5791e145851a5cb0d33df766993a12f83d Mon Sep 17 00:00:00 2001 From: Caner Baran <42636054+canerbaran@users.noreply.github.com> Date: Fri, 30 Nov 2018 02:31:57 +0300 Subject: [PATCH 05/12] Update README-tr.md --- README-tr.md | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/README-tr.md b/README-tr.md index 3e0aebedad9..5f76488e651 100644 --- a/README-tr.md +++ b/README-tr.md @@ -177,23 +177,23 @@ Geliştirme gereken içerik [geliştirme aşamasında](#under-development) böl ## Çalışma Kılavuzu -> Suggested topics to review based on your interview timeline (short, medium, long). +> Mülakata olan süreye (kısa, orta, uzun vade) tavsiye edilen başlıklar. ![Imgur](http://i.imgur.com/OfVllex.png) -**Q: For interviews, do I need to know everything here?** +**Soru: Mülakatlar için, buradaki herşeyi bilmeli miyim?** -**A: No, you don't need to know everything here to prepare for the interview**. +**Cevap: Hayır, mülakata hazırlanmak için buradaki herşeyi bilmenize gerek yok**. -What you are asked in an interview depends on variables such as: +Mülakat sırasında sorulabilecek soruları etkileyen değişkenler: -* How much experience you have -* What your technical background is -* What positions you are interviewing for -* Which companies you are interviewing with -* Luck +* Sahip olduğunuz tecrübe +* Teknik geçmişiniz +* Hangi pozisyon için mülakata katıldığınız +* Hangi şirketler ile görüştüğünüz +* ŞANS -More experienced candidates are generally expected to know more about system design. Architects or team leads might be expected to know more than individual contributors. Top tech companies are likely to have one or more design interview rounds. +Yüksek tecrübeye sahip adayların, sistem tasarımı hakkında daha çok bilgiye sahip olmaları beklenir. Mimarlar ya da takım liderlerinin, bireysel katılımcılara göre daha bilgili olması beklenebilir. Üst düzey teknoloji şirketleri birdne fazla tasarım mülakatı yapmaya eğilimlidir. Start broad and go deeper in a few areas. It helps to know a little about various key system design topics. Adjust the following guide based on your timeline, experience, what positions you are interviewing for, and which companies you are interviewing with. From 862e771e1d4b657510411c778cbf36a225a572b1 Mon Sep 17 00:00:00 2001 From: Caner Baran <42636054+canerbaran@users.noreply.github.com> Date: Fri, 30 Nov 2018 02:37:15 +0300 Subject: [PATCH 06/12] Update README-tr.md --- README-tr.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/README-tr.md b/README-tr.md index 5f76488e651..6095c63b009 100644 --- a/README-tr.md +++ b/README-tr.md @@ -195,13 +195,13 @@ Mülakat sırasında sorulabilecek soruları etkileyen değişkenler: Yüksek tecrübeye sahip adayların, sistem tasarımı hakkında daha çok bilgiye sahip olmaları beklenir. Mimarlar ya da takım liderlerinin, bireysel katılımcılara göre daha bilgili olması beklenebilir. Üst düzey teknoloji şirketleri birdne fazla tasarım mülakatı yapmaya eğilimlidir. -Start broad and go deeper in a few areas. It helps to know a little about various key system design topics. Adjust the following guide based on your timeline, experience, what positions you are interviewing for, and which companies you are interviewing with. +Genelden başlayarak, bir kaç konuda derinlemesine inin. Çeşitli anahtar sistem tasarım başlıkları hakkında az da olsa bilgi sahibi olmaya yardımcı olacaktır. Zaman çizelgenize, tecrübenize, hangi pozisyon için mülakata katıldığınıza, ve hangi şirketin mülakatına katıldığınıza göre aşağıdaki kılavuzu kendinize göre ayarlayın. -* **Short timeline** - Aim for **breadth** with system design topics. Practice by solving **some** interview questions. -* **Medium timeline** - Aim for **breadth** and **some depth** with system design topics. Practice by solving **many** interview questions. -* **Long timeline** - Aim for **breadth** and **more depth** with system design topics. Practice by solving **most** interview questions. +* **Kısa vade** - Aim for **breadth** with system design topics. Practice by solving **some** interview questions. +* **Orta Vade** - Aim for **breadth** and **some depth** with system design topics. Practice by solving **many** interview questions. +* **Uzun vade** - Aim for **breadth** and **more depth** with system design topics. Practice by solving **most** interview questions. -| | Short | Medium | Long | +| | Kısa | Orta | Uzun | |---|---|---|---| | Read through the [System design topics](#index-of-system-design-topics) to get a broad understanding of how systems work | :+1: | :+1: | :+1: | | Read through a few articles in the [Company engineering blogs](#company-engineering-blogs) for the companies you are interviewing with | :+1: | :+1: | :+1: | From 1ef9b65898596fd9a925d3f9854315f48a75b81b Mon Sep 17 00:00:00 2001 From: Caner Baran <42636054+canerbaran@users.noreply.github.com> Date: Sat, 1 Dec 2018 10:06:39 +0300 Subject: [PATCH 07/12] Update README-tr.md --- README-tr.md | 21 ++++++++++----------- 1 file changed, 10 insertions(+), 11 deletions(-) diff --git a/README-tr.md b/README-tr.md index 6095c63b009..6825a4e5c6c 100644 --- a/README-tr.md +++ b/README-tr.md @@ -197,19 +197,18 @@ Yüksek tecrübeye sahip adayların, sistem tasarımı hakkında daha çok bilgi Genelden başlayarak, bir kaç konuda derinlemesine inin. Çeşitli anahtar sistem tasarım başlıkları hakkında az da olsa bilgi sahibi olmaya yardımcı olacaktır. Zaman çizelgenize, tecrübenize, hangi pozisyon için mülakata katıldığınıza, ve hangi şirketin mülakatına katıldığınıza göre aşağıdaki kılavuzu kendinize göre ayarlayın. -* **Kısa vade** - Aim for **breadth** with system design topics. Practice by solving **some** interview questions. -* **Orta Vade** - Aim for **breadth** and **some depth** with system design topics. Practice by solving **many** interview questions. -* **Uzun vade** - Aim for **breadth** and **more depth** with system design topics. Practice by solving **most** interview questions. - +* **Kısa vade** - **Geniş açıdan** sistem tasarım başlıklarını incelemek. **Bazı** mülakat sorularını çözerek pratik yapmak. +* **Orta Vade** - **Geniş açıdan** sistem tasarım başlıkların incelemek ve bazı alanlarda **derinlemesine** çalışmak. **Birçok** mülakat sorusunu çözerek pratik yapmak. +* **Uzun vade** -**Geniş açıdan** sistem tasarım başlıkların incelemek ve **derinlemesine** çalışmak. **Tamamına yakın** mülakat sorusunu çözerek pratik yapmak. | | Kısa | Orta | Uzun | |---|---|---|---| -| Read through the [System design topics](#index-of-system-design-topics) to get a broad understanding of how systems work | :+1: | :+1: | :+1: | -| Read through a few articles in the [Company engineering blogs](#company-engineering-blogs) for the companies you are interviewing with | :+1: | :+1: | :+1: | -| Read through a few [Real world architectures](#real-world-architectures) | :+1: | :+1: | :+1: | -| Review [How to approach a system design interview question](#how-to-approach-a-system-design-interview-question) | :+1: | :+1: | :+1: | -| Work through [System design interview questions with solutions](#system-design-interview-questions-with-solutions) | Some | Many | Most | -| Work through [Object-oriented design interview questions with solutions](#object-oriented-design-interview-questions-with-solutions) | Some | Many | Most | -| Review [Additional system design interview questions](#additional-system-design-interview-questions) | Some | Many | Most | +| Sistemlerin nasıl çalıştığını anlamak için [Sistem tasarım başlıkları](#index-of-system-design-topics) okuyunuz | :+1: | :+1: | :+1: | +| Şirketlerin nasıl mülakat yaptıklarını anlamak için [Şirket mühendislik blogları](#company-engineering-blogs) dan birkaç makale okuyunuz. | :+1: | :+1: | :+1: | +| Biraz [Gerçek dünya mimarileri](#real-world-architectures) okuyunuz.| :+1: | :+1: | :+1: | +| Review [Sistem tasarım mülakat sorularına nasıl yaklaşılmalı](#how-to-approach-a-system-design-interview-question) inceleyiniz| :+1: | :+1: | :+1: | +|[Sistem tasarım mülakat soruları ve cevaplarına](#system-design-interview-questions-with-solutions) çalışınız | Az | Orta | Çok | +| [Nesne yönelimli tasarım mülakatı soru ve cevaplarına](#object-oriented-design-interview-questions-with-solutions) çalışınız | Az | Orta | Çok | +| [Ek sistem tasarım mülakat soruları](#additional-system-design-interview-questions) inceleyiniz | Az | Orta | Çok | ## How to approach a system design interview question From 511b20f4a1493c566e3d645e6e9d4138e96054a2 Mon Sep 17 00:00:00 2001 From: Caner Baran <42636054+canerbaran@users.noreply.github.com> Date: Sat, 1 Dec 2018 10:10:09 +0300 Subject: [PATCH 08/12] Update README-tr.md --- README-tr.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/README-tr.md b/README-tr.md index 6825a4e5c6c..5a68ee8e294 100644 --- a/README-tr.md +++ b/README-tr.md @@ -210,11 +210,11 @@ Genelden başlayarak, bir kaç konuda derinlemesine inin. Çeşitli anahtar sist | [Nesne yönelimli tasarım mülakatı soru ve cevaplarına](#object-oriented-design-interview-questions-with-solutions) çalışınız | Az | Orta | Çok | | [Ek sistem tasarım mülakat soruları](#additional-system-design-interview-questions) inceleyiniz | Az | Orta | Çok | -## How to approach a system design interview question +## Sistem tasarım mülakatı sorularına nasıl yaklaşmak gerekir? -> How to tackle a system design interview question. +> Sistem tasarım mülakat sorularını nasıl ele almak gerekir. -The system design interview is an **open-ended conversation**. You are expected to lead it. +Sistem tasarım mülakatı, **açık uçlu bir görüşmedir**. Bu görüşmeye sizin öncülük etmeniz beklenir. You can use the following steps to guide the discussion. To help solidify this process, work through the [System design interview questions with solutions](#system-design-interview-questions-with-solutions) section using the following steps. From cf2c407ecf8b892a58c5aea0e8b0de08be5104d5 Mon Sep 17 00:00:00 2001 From: canerbaran Date: Sun, 9 Dec 2018 12:33:22 +0300 Subject: [PATCH 09/12] Update README-tr.md --- README-tr.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README-tr.md b/README-tr.md index 5a68ee8e294..b7996075418 100644 --- a/README-tr.md +++ b/README-tr.md @@ -216,7 +216,7 @@ Genelden başlayarak, bir kaç konuda derinlemesine inin. Çeşitli anahtar sist Sistem tasarım mülakatı, **açık uçlu bir görüşmedir**. Bu görüşmeye sizin öncülük etmeniz beklenir. -You can use the following steps to guide the discussion. To help solidify this process, work through the [System design interview questions with solutions](#system-design-interview-questions-with-solutions) section using the following steps. +Tartışmaya yön vermeniz için aşağıdaki adımları takip edebilirsiniz. To help solidify this process, work through the [System design interview questions with solutions](#system-design-interview-questions-with-solutions) section using the following steps. ### Step 1: Outline use cases, constraints, and assumptions @@ -1773,7 +1773,7 @@ Feel free to contact me to discuss any issues, questions, or comments. My contact info can be found on my [GitHub page](https://github.com/donnemartin). -## License +## Lisans *I am providing code and resources in this repository to you under an open source license. Because this is my personal repository, the license you receive to my code and resources is from me and not my employer (Facebook).* From 9be301f6027a301edc32187082526786c922d694 Mon Sep 17 00:00:00 2001 From: canerbaran Date: Sun, 9 Dec 2018 14:59:39 +0300 Subject: [PATCH 10/12] Update README-tr.md --- README-tr.md | 52 ++++++++++++++++++++++++++-------------------------- 1 file changed, 26 insertions(+), 26 deletions(-) diff --git a/README-tr.md b/README-tr.md index b7996075418..4104c6e9533 100644 --- a/README-tr.md +++ b/README-tr.md @@ -216,42 +216,42 @@ Genelden başlayarak, bir kaç konuda derinlemesine inin. Çeşitli anahtar sist Sistem tasarım mülakatı, **açık uçlu bir görüşmedir**. Bu görüşmeye sizin öncülük etmeniz beklenir. -Tartışmaya yön vermeniz için aşağıdaki adımları takip edebilirsiniz. To help solidify this process, work through the [System design interview questions with solutions](#system-design-interview-questions-with-solutions) section using the following steps. +Tartışmaya yön vermeniz için aşağıdaki adımları takip edebilirsiniz. Bu süreci pekiştirmeye yardımcı olması için, [Sistem tasarım mülakatı soru ve cevapları](#system-design-interview-questions-with-solutions) üzerinden aşağıdaki adımları izleyerek çalışın. -### Step 1: Outline use cases, constraints, and assumptions +### Adım 1: Kullanım alanı belirleme, sınırlamalar, ve varsayımlar -Gather requirements and scope the problem. Ask questions to clarify use cases and constraints. Discuss assumptions. +Gereklilikleri öğrenin ve probleme odaklanın. Kullanım alanlarını ve sınırlamaları belirlemek için sorular sorun. Varsayımları tartışın. -* Who is going to use it? -* How are they going to use it? -* How many users are there? -* What does the system do? -* What are the inputs and outputs of the system? -* How much data do we expect to handle? -* How many requests per second do we expect? -* What is the expected read to write ratio? +* Kim kullanacak? +* Nasıl kullanacak? +* Kaç kullanıcı olacak? +* Sistem tam olarak ne yapacak? +* Sistem girdi ve çıktıları neler? +* Üzerinde çalışılacak datanın büyüklüğü yaklaşık ne kadar? +* Saniyede kaç sorgu bekliyoruz? +* Beklenen okumadan yazma oranı ne? -### Step 2: Create a high level design +### Step 2: Üst düzey tasarım oluşturun -Outline a high level design with all important components. +Tüm önemli bileşenleri ile birlikte üst düzey tasarım şablonunu taslağını hazırlayın. -* Sketch the main components and connections -* Justify your ideas +* Ana bileşen ve bağlantıları kabataslak çiziniz. +* Fikirlerinizi tartın -### Step 3: Design core components +### Step 3: Temel tasarım bileşenleri -Dive into details for each core component. For example, if you were asked to [design a url shortening service](solutions/system_design/pastebin/README.md), discuss: +Her temel tasarım bileşenini detaylandırın. Mesela; For example, [url kısaltma servisi tasarımı](solutions/system_design/pastebin/README.md), ile ilgili soru ile karşılaştıysanız, tartışmanız gerekenler: -* Generating and storing a hash of the full url - * [MD5](solutions/system_design/pastebin/README.md) and [Base62](solutions/system_design/pastebin/README.md) - * Hash collisions - * SQL or NoSQL - * Database schema -* Translating a hashed url to the full url - * Database lookup -* API and object-oriented design +* Tam url için bir hash üretme ve depolama + * [MD5](solutions/system_design/pastebin/README.md) ve [Base62](solutions/system_design/pastebin/README.md) + * Hash çatışmaları + * SQL ya da NoSQL + * Veritabanı şeması +* Hash'lenmiş urlnin tam url'ye çevrilmesi + * Veritabanı kontrolü +* API ve nesne yönelimli tasarım -### Step 4: Scale the design +### Step 4: Tasarımı ölçeklendirmek Identify and address bottlenecks, given the constraints. For example, do you need the following to address scalability issues? From e0981747b93969c269ccb7c04c7b9a338874c9ea Mon Sep 17 00:00:00 2001 From: canerbaran Date: Sun, 23 Dec 2018 18:41:38 +0300 Subject: [PATCH 11/12] Update README-tr.md --- README-tr.md | 325 ++++++++++++++++++++++++++------------------------- 1 file changed, 163 insertions(+), 162 deletions(-) diff --git a/README-tr.md b/README-tr.md index 4104c6e9533..663730ab299 100644 --- a/README-tr.md +++ b/README-tr.md @@ -177,7 +177,7 @@ Geliştirme gereken içerik [geliştirme aşamasında](#under-development) böl ## Çalışma Kılavuzu -> Mülakata olan süreye (kısa, orta, uzun vade) tavsiye edilen başlıklar. +> Mülakata olan süreye göre (kısa, orta, uzun vade) tavsiye edilen başlıklar. ![Imgur](http://i.imgur.com/OfVllex.png) @@ -193,22 +193,22 @@ Mülakat sırasında sorulabilecek soruları etkileyen değişkenler: * Hangi şirketler ile görüştüğünüz * ŞANS -Yüksek tecrübeye sahip adayların, sistem tasarımı hakkında daha çok bilgiye sahip olmaları beklenir. Mimarlar ya da takım liderlerinin, bireysel katılımcılara göre daha bilgili olması beklenebilir. Üst düzey teknoloji şirketleri birdne fazla tasarım mülakatı yapmaya eğilimlidir. +Yüksek tecrübeye sahip adayların, sistem tasarımı hakkında daha çok bilgiye sahip olmaları beklenir. Mimarlar ya da takım liderlerinin, bireysel katılımcılara göre daha bilgili olması beklenebilir. Üst düzey teknoloji şirketleri birden fazla tasarım mülakatı yapmaya eğilimlidirler. -Genelden başlayarak, bir kaç konuda derinlemesine inin. Çeşitli anahtar sistem tasarım başlıkları hakkında az da olsa bilgi sahibi olmaya yardımcı olacaktır. Zaman çizelgenize, tecrübenize, hangi pozisyon için mülakata katıldığınıza, ve hangi şirketin mülakatına katıldığınıza göre aşağıdaki kılavuzu kendinize göre ayarlayın. +Genelden başlayarak, bir kaç konuda derinlemesine inin. Çeşitli anahtar sistem tasarım başlıkları hakkında az da olsa bilgi sahibi olmak, faydalı olacaktır. Zaman çizelgenize, tecrübenize, hangi pozisyon için mülakata katıldığınıza, ve hangi şirketin mülakatına katıldığınıza göre aşağıdaki kılavuzu kendinize göre ayarlayın. * **Kısa vade** - **Geniş açıdan** sistem tasarım başlıklarını incelemek. **Bazı** mülakat sorularını çözerek pratik yapmak. * **Orta Vade** - **Geniş açıdan** sistem tasarım başlıkların incelemek ve bazı alanlarda **derinlemesine** çalışmak. **Birçok** mülakat sorusunu çözerek pratik yapmak. * **Uzun vade** -**Geniş açıdan** sistem tasarım başlıkların incelemek ve **derinlemesine** çalışmak. **Tamamına yakın** mülakat sorusunu çözerek pratik yapmak. | | Kısa | Orta | Uzun | |---|---|---|---| -| Sistemlerin nasıl çalıştığını anlamak için [Sistem tasarım başlıkları](#index-of-system-design-topics) okuyunuz | :+1: | :+1: | :+1: | -| Şirketlerin nasıl mülakat yaptıklarını anlamak için [Şirket mühendislik blogları](#company-engineering-blogs) dan birkaç makale okuyunuz. | :+1: | :+1: | :+1: | +| Sistemlerin nasıl çalıştığını anlamak için [Sistem tasarım başlıklarını](#index-of-system-design-topics) okuyunuz | :+1: | :+1: | :+1: | +| Şirketlerin nasıl mülakat yaptıklarını anlamak için [Şirket mühendislik blogları](#company-engineering-blogs) 'ndan birkaç makale okuyunuz. | :+1: | :+1: | :+1: | | Biraz [Gerçek dünya mimarileri](#real-world-architectures) okuyunuz.| :+1: | :+1: | :+1: | -| Review [Sistem tasarım mülakat sorularına nasıl yaklaşılmalı](#how-to-approach-a-system-design-interview-question) inceleyiniz| :+1: | :+1: | :+1: | -|[Sistem tasarım mülakat soruları ve cevaplarına](#system-design-interview-questions-with-solutions) çalışınız | Az | Orta | Çok | +| [Sistem tasarım mülakat sorularına nasıl yaklaşılmalı](#how-to-approach-a-system-design-interview-question) inceleyiniz| :+1: | :+1: | :+1: | +| [Sistem tasarım mülakat soruları ve cevaplarına](#system-design-interview-questions-with-solutions) çalışınız | Az | Orta | Çok | | [Nesne yönelimli tasarım mülakatı soru ve cevaplarına](#object-oriented-design-interview-questions-with-solutions) çalışınız | Az | Orta | Çok | -| [Ek sistem tasarım mülakat soruları](#additional-system-design-interview-questions) inceleyiniz | Az | Orta | Çok | +| [Ek sistem tasarım mülakat sorularını](#additional-system-design-interview-questions) inceleyiniz | Az | Orta | Çok | ## Sistem tasarım mülakatı sorularına nasıl yaklaşmak gerekir? @@ -231,14 +231,14 @@ Gereklilikleri öğrenin ve probleme odaklanın. Kullanım alanlarını ve sın * Saniyede kaç sorgu bekliyoruz? * Beklenen okumadan yazma oranı ne? -### Step 2: Üst düzey tasarım oluşturun +### Adım 2: Üst düzey tasarım oluşturun Tüm önemli bileşenleri ile birlikte üst düzey tasarım şablonunu taslağını hazırlayın. * Ana bileşen ve bağlantıları kabataslak çiziniz. * Fikirlerinizi tartın -### Step 3: Temel tasarım bileşenleri +### Adım 3: Temel tasarım bileşenleri Her temel tasarım bileşenini detaylandırın. Mesela; For example, [url kısaltma servisi tasarımı](solutions/system_design/pastebin/README.md), ile ilgili soru ile karşılaştıysanız, tartışmanız gerekenler: @@ -251,159 +251,160 @@ Her temel tasarım bileşenini detaylandırın. Mesela; For example, [url kıs * Veritabanı kontrolü * API ve nesne yönelimli tasarım -### Step 4: Tasarımı ölçeklendirmek +### Adım 4: Tasarımı ölçeklendirmek -Identify and address bottlenecks, given the constraints. For example, do you need the following to address scalability issues? +Verilen kısıtlamalardaki zorlukları tanımlayınız. Mesela; ölçeklenebilirlik sorununu gidermek için aşağıdakilere ihtiyacınız var mı? -* Load balancer -* Horizontal scaling -* Caching -* Database sharding +* Yük Dengeleyici +* Yatay ölçekleme +* Ön Bellekleme +* Veritabanı dağıtma -Discuss potential solutions and trade-offs. Everything is a trade-off. Address bottlenecks using [principles of scalable system design](#index-of-system-design-topics). +Potansiyel çözümleri ve takasları tartışınız. Her şey takas edilebilir. [Ölçeklenebilir sistem tasarımını](#index-of-system-design-topics) kullanarak kısıtlamaları belirleyiniz. -### Back-of-the-envelope calculations +### Zarf arkası hesaplamaları -You might be asked to do some estimates by hand. Refer to the [Appendix](#appendix) for the following resources: +Bazı olasılıkları elinizle hesaplamanız istenebilir. Aşağıdaki kaynakları, [Ekler](#appendix) kısmında bulabilirsiniz : -* [Use back of the envelope calculations](http://highscalability.com/blog/2011/1/26/google-pro-tip-use-back-of-the-envelope-calculations-to-choo.html) -* [Powers of two table](#powers-of-two-table) -* [Latency numbers every programmer should know](#latency-numbers-every-programmer-should-know) +* [Zarf arkası hesaplamaları kullanımı](http://highscalability.com/blog/2011/1/26/google-pro-tip-use-back-of-the-envelope-calculations-to-choo.html) +* [İki tablonun gücü](#powers-of-two-table) +* [Her programcının bilmesi gereken gecikme numaraları](#latency-numbers-every-programmer-should-know) -### Source(s) and further reading +### Kaynaklar ve okunması gerekenler -Check out the following links to get a better idea of what to expect: +Daha ileri fikirler için aşağıdaki linkleri ziyaret edebilirsiniz: * [How to ace a systems design interview](https://www.palantir.com/2011/10/how-to-rock-a-systems-design-interview/) * [The system design interview](http://www.hiredintech.com/system-design) * [Intro to Architecture and Systems Design Interviews](https://www.youtube.com/watch?v=ZgdS0EUmn70) -## System design interview questions with solutions +## Sistem tasarım mülakatı soruları ve çözümleri + +> Sistem tasarım mülakatlarında sık sorulan sorular ile örnek tartışmalar, kod ve diagramlar. -> Common system design interview questions with sample discussions, code, and diagrams. > -> Solutions linked to content in the `solutions/` folder. +> Çözümler `solutions/` dosyasının içindedir. -| Question | | +| Soru | | |---|---| -| Design Pastebin.com (or Bit.ly) | [Solution](solutions/system_design/pastebin/README.md) | -| Design the Twitter timeline and search (or Facebook feed and search) | [Solution](solutions/system_design/twitter/README.md) | -| Design a web crawler | [Solution](solutions/system_design/web_crawler/README.md) | -| Design Mint.com | [Solution](solutions/system_design/mint/README.md) | -| Design the data structures for a social network | [Solution](solutions/system_design/social_graph/README.md) | -| Design a key-value store for a search engine | [Solution](solutions/system_design/query_cache/README.md) | -| Design Amazon's sales ranking by category feature | [Solution](solutions/system_design/sales_rank/README.md) | -| Design a system that scales to millions of users on AWS | [Solution](solutions/system_design/scaling_aws/README.md) | -| Add a system design question | [Contribute](#contributing) | +| Pastebin.com (or Bit.ly) tasarımı | [Çözüm](solutions/system_design/pastebin/README.md) | +| Twitter (Veya Facebook feed ve arama) timeline ve arama tasarımı| [Çözüm](solutions/system_design/twitter/README.md) | +| Web tarayıcı tasarımı | [Çözüm](solutions/system_design/web_crawler/README.md) | +| Mint.com tasarımı | [Çözüm](solutions/system_design/mint/README.md) | +| Sosyal ağ için veri yapısı tasarımı | [Solution](solutions/system_design/social_graph/README.md) | +| Arama motoru için anahtar-değer sistemi tasarımı | [Solution](solutions/system_design/query_cache/README.md) | +| Amazon'un kategoriye göre satış sıralaması tasarımı | [Solution](solutions/system_design/sales_rank/README.md) | +| AWS'deki milyonlarca kullanıcıyı ölçekleyen sistem tasarımı | [Solution](solutions/system_design/scaling_aws/README.md) | +| Sistem tasarım sorusu ekleyiniz | [Contribute](#contributing) | -### Design Pastebin.com (or Bit.ly) +### Pastebin.com (or Bit.ly) tasarımı -[View exercise and solution](solutions/system_design/pastebin/README.md) +[Alıştırma ve çözümü göster](solutions/system_design/pastebin/README.md) ![Imgur](http://i.imgur.com/4edXG0T.png) -### Design the Twitter timeline and search (or Facebook feed and search) +### Twitter (Veya Facebook feed ve arama) timeline ve arama tasarımı -[View exercise and solution](solutions/system_design/twitter/README.md) +[Alıştırma ve çözümü göster](solutions/system_design/twitter/README.md) ![Imgur](http://i.imgur.com/jrUBAF7.png) -### Design a web crawler +### Web tarayıcı tasarımı -[View exercise and solution](solutions/system_design/web_crawler/README.md) +[Alıştırma ve çözümü göster](solutions/system_design/web_crawler/README.md) ![Imgur](http://i.imgur.com/bWxPtQA.png) -### Design Mint.com +### Mint.com tasarımı -[View exercise and solution](solutions/system_design/mint/README.md) +[Alıştırma ve çözümü göster](solutions/system_design/mint/README.md) ![Imgur](http://i.imgur.com/V5q57vU.png) -### Design the data structures for a social network +### Sosyal ağ için veri yapısı tasarımı -[View exercise and solution](solutions/system_design/social_graph/README.md) +[Alıştırma ve çözümü göster](solutions/system_design/social_graph/README.md) ![Imgur](http://i.imgur.com/cdCv5g7.png) -### Design a key-value store for a search engine +### Arama motoru için anahtar-değer sistemi tasarımı -[View exercise and solution](solutions/system_design/query_cache/README.md) +[Alıştırma ve çözümü göster](solutions/system_design/query_cache/README.md) ![Imgur](http://i.imgur.com/4j99mhe.png) -### Design Amazon's sales ranking by category feature +### Amazon'un kategoriye göre satış sıralaması tasarımı -[View exercise and solution](solutions/system_design/sales_rank/README.md) +[Alıştırma ve çözümü göster](solutions/system_design/sales_rank/README.md) ![Imgur](http://i.imgur.com/MzExP06.png) -### Design a system that scales to millions of users on AWS +### AWS'deki milyonlarca kullanıcıyı ölçekleyen sistem tasarımı -[View exercise and solution](solutions/system_design/scaling_aws/README.md) +[Alıştırma ve çözümü göster](solutions/system_design/scaling_aws/README.md) ![Imgur](http://i.imgur.com/jj3A5N8.png) -## Object-oriented design interview questions with solutions +## Nesne yönelimli tasarım mülakat soru ve çözümleri -> Common object-oriented design interview questions with sample discussions, code, and diagrams. +> Nesne yönelimli tasarım mülakatlarında sık sorulan sorular ile örnek tartışmalar, kod ve diagramlar. > -> Solutions linked to content in the `solutions/` folder. +> Çözümler `solutions/` dosyasının içindedir. ->**Note: This section is under development** +>**Not: Bu bölüm geliştirme aşamasındadır** -| Question | | +| Soru | | |---|---| -| Design a hash map | [Solution](solutions/object_oriented_design/hash_table/hash_map.ipynb) | -| Design a least recently used cache | [Solution](solutions/object_oriented_design/lru_cache/lru_cache.ipynb) | -| Design a call center | [Solution](solutions/object_oriented_design/call_center/call_center.ipynb) | -| Design a deck of cards | [Solution](solutions/object_oriented_design/deck_of_cards/deck_of_cards.ipynb) | -| Design a parking lot | [Solution](solutions/object_oriented_design/parking_lot/parking_lot.ipynb) | -| Design a chat server | [Solution](solutions/object_oriented_design/online_chat/online_chat.ipynb) | -| Design a circular array | [Contribute](#contributing) | -| Add an object-oriented design question | [Contribute](#contributing) | +| Hash haritası tasarımı | [Çözüm](solutions/object_oriented_design/hash_table/hash_map.ipynb) | +| Son kullanılan önbellek tasarımı | [Çözüm](solutions/object_oriented_design/lru_cache/lru_cache.ipynb) | +| Çağrı merkezi tasarımı | [Çözüm](solutions/object_oriented_design/call_center/call_center.ipynb) | +| Kart destesi tasarımı | [Çözüm](solutions/object_oriented_design/deck_of_cards/deck_of_cards.ipynb) | +| Park alanı tasarımı | [Çözüm](solutions/object_oriented_design/parking_lot/parking_lot.ipynb) | +| Sohbet sunucusu tasarımı | [Çözüm](solutions/object_oriented_design/online_chat/online_chat.ipynb) | +| Dairesel dizi tasarımı | [Katkı](#contributing) | +| Nesne yönelimli tasarım sorusu ekleyiniz | [Katkı](#contributing) | -## System design topics: start here +## Sistem tasarım başlıkları: Başlangıç -New to system design? +Sistem tasarımında yeni misiniz? -First, you'll need a basic understanding of common principles, learning about what they are, how they are used, and their pros and cons. +İlk olarak genel prensipleri anlamanız, ne olduklarını öğrenmeniz, nasıl kullanıldıklarını ve iyi ile kötü yanlarını bilmeniz gerekmektedir. -### Step 1: Review the scalability video lecture +### Adım 1: Ölçeklenebilirlik videosunu inceleyiniz. -[Scalability Lecture at Harvard](https://www.youtube.com/watch?v=-W9F__D3oY4) +[Harvard Ölçeklenebilirlik Dersi](https://www.youtube.com/watch?v=-W9F__D3oY4) -* Topics covered: - * Vertical scaling - * Horizontal scaling - * Caching - * Load balancing - * Database replication - * Database partitioning +* Bahsedilen konular: + * Yatay ölçekleme + * Dikey ölçekleme + * Ön bellekleme + * Yükleme dengesi + * Veritabanı kopyalama + * Veritabanı bölme -### Step 2: Review the scalability article +### Step 2: Ölçeklenebilirlik makalesini inceleyiniz -[Scalability](http://www.lecloud.net/tagged/scalability/chrono) +[Ölçeklenebilirlik](http://www.lecloud.net/tagged/scalability/chrono) -* Topics covered: - * [Clones](http://www.lecloud.net/post/7295452622/scalability-for-dummies-part-1-clones) - * [Databases](http://www.lecloud.net/post/7994751381/scalability-for-dummies-part-2-database) - * [Caches](http://www.lecloud.net/post/9246290032/scalability-for-dummies-part-3-cache) - * [Asynchronism](http://www.lecloud.net/post/9699762917/scalability-for-dummies-part-4-asynchronism) +* Bahsedilen konular: + * [Klonlar](http://www.lecloud.net/post/7295452622/scalability-for-dummies-part-1-clones) + * [Veritabanları](http://www.lecloud.net/post/7994751381/scalability-for-dummies-part-2-database) + * [Önbelleklemeler](http://www.lecloud.net/post/9246290032/scalability-for-dummies-part-3-cache) + * [Asenkronizm](http://www.lecloud.net/post/9699762917/scalability-for-dummies-part-4-asynchronism) -### Next steps +### Sonraki Adımlar -Next, we'll look at high-level trade-offs: +Sonra, yüksek düzey karşılaştırmaları inceleyeceğiz: -* **Performance** vs **scalability** -* **Latency** vs **throughput** -* **Availability** vs **consistency** +* **Performans** vs **Ölçeklenebilirlik** +* **Gecikme** vs **Çıktı** +* **Uygunluk** vs **tutarlılık** -Keep in mind that **everything is a trade-off**. +**Herşeyin bir karşılaştırma/pazarlık olduğunu** aklınızdan çıkarmayın. -Then we'll dive into more specific topics such as DNS, CDNs, and load balancers. +Daha sonras DNS, CDNs ve yük degeleyiciler gibi daha spesifik konulara geçeceğiz. -## Performance vs scalability +## Performans vs Ölçeklenebilirlik A service is **scalable** if it results in increased **performance** in a manner proportional to resources added. Generally, increasing performance means serving more units of work, but it can also be to handle larger units of work, such as when datasets grow.1 @@ -412,7 +413,7 @@ Another way to look at performance vs scalability: * If you have a **performance** problem, your system is slow for a single user. * If you have a **scalability** problem, your system is fast for a single user but slow under heavy load. -### Source(s) and further reading +### Kaynak(lar) ve okunması önerilenler * [A word on scalability](http://www.allthingsdistributed.com/2006/03/a_word_on_scalability.html) * [Scalability, availability, stability, patterns](http://www.slideshare.net/jboner/scalability-availability-stability-patterns/) @@ -1504,7 +1505,7 @@ REST is focused on exposing data. It minimizes the coupling between client/serv * [Thrift](https://code.facebook.com/posts/1468950976659943/) * [Why REST for internal use and not RPC](http://arstechnica.com/civis/viewtopic.php?t=1190508) -## Security +## Güvenlik This section could use some updates. Consider [contributing](#contributing)! @@ -1515,16 +1516,16 @@ Security is a broad topic. Unless you have considerable experience, a security * Use parameterized queries to prevent SQL injection. * Use the principle of [least privilege](https://en.wikipedia.org/wiki/Principle_of_least_privilege). -### Source(s) and further reading +### Kaynak(lar) ve okunması önerilenler * [Security guide for developers](https://github.com/FallibleInc/security-guide-for-developers) * [OWASP top ten](https://www.owasp.org/index.php/OWASP_Top_Ten_Cheat_Sheet) -## Appendix +## Ekler You'll sometimes be asked to do 'back-of-the-envelope' estimates. For example, you might need to determine how long it will take to generate 100 image thumbnails from disk or how much memory a data structure will take. The **Powers of two table** and **Latency numbers every programmer should know** are handy references. -### Powers of two table +### İki Tablonun Gücü ``` Power Exact Value Approx Value Bytes @@ -1539,11 +1540,11 @@ Power Exact Value Approx Value Bytes 40 1,099,511,627,776 1 trillion 1 TB ``` -#### Source(s) and further reading +#### Kaynak(lar) ve okunması önerilenler * [Powers of two](https://en.wikipedia.org/wiki/Power_of_two) -### Latency numbers every programmer should know +### Her programcının bilmesi gereken gecikme sayıları ``` Latency Comparison Numbers @@ -1571,59 +1572,60 @@ Notes 1 ms = 10^-3 seconds = 1,000 us = 1,000,000 ns ``` -Handy metrics based on numbers above: +Yukarıdaki sayılara dayanan faydalı ölçümler: + +* 30 MB / s hızında diskten art arda okuma +* 1 Gbps Ethernet'ten 100 MB / s'de art arda okuma +* SSD'den 1 GB/s'de art arda okuma +* Ana bellekten 4 GB / s'de art arda okuyun +* Saniyede 6-7 kez dünya etrafında dönüş +* Bir veri merkezinde saniyede 2.000 tur -* Read sequentially from disk at 30 MB/s -* Read sequentially from 1 Gbps Ethernet at 100 MB/s -* Read sequentially from SSD at 1 GB/s -* Read sequentially from main memory at 4 GB/s -* 6-7 world-wide round trips per second -* 2,000 round trips per second within a data center -#### Latency numbers visualized +#### Görselleştirilmiş gecikme sayıları ![](https://camo.githubusercontent.com/77f72259e1eb58596b564d1ad823af1853bc60a3/687474703a2f2f692e696d6775722e636f6d2f6b307431652e706e67) -#### Source(s) and further reading +#### Kaynak(lar) ve okunması önerilenler * [Latency numbers every programmer should know - 1](https://gist.github.com/jboner/2841832) * [Latency numbers every programmer should know - 2](https://gist.github.com/hellerbarde/2843375) * [Designs, lessons, and advice from building large distributed systems](http://www.cs.cornell.edu/projects/ladis2009/talks/dean-keynote-ladis2009.pdf) * [Software Engineering Advice from Building Large-Scale Distributed Systems](https://static.googleusercontent.com/media/research.google.com/en//people/jeff/stanford-295-talk.pdf) -### Additional system design interview questions +### Sistem tasarım mülakatı ek soruları -> Common system design interview questions, with links to resources on how to solve each. +> Sık sorulan sistem tasarım mülakat soruları ve çözümleri bulabileceğiniz bağlantılar. -| Question | Reference(s) | +| Soru | Referans(lar) | |---|---| -| Design a file sync service like Dropbox | [youtube.com](https://www.youtube.com/watch?v=PE4gwstWhmc) | -| Design a search engine like Google | [queue.acm.org](http://queue.acm.org/detail.cfm?id=988407)
[stackexchange.com](http://programmers.stackexchange.com/questions/38324/interview-question-how-would-you-implement-google-search)
[ardendertat.com](http://www.ardendertat.com/2012/01/11/implementing-search-engines/)
[stanford.edu](http://infolab.stanford.edu/~backrub/google.html) | -| Design a scalable web crawler like Google | [quora.com](https://www.quora.com/How-can-I-build-a-web-crawler-from-scratch) | -| Design Google docs | [code.google.com](https://code.google.com/p/google-mobwrite/)
[neil.fraser.name](https://neil.fraser.name/writing/sync/) | -| Design a key-value store like Redis | [slideshare.net](http://www.slideshare.net/dvirsky/introduction-to-redis) | -| Design a cache system like Memcached | [slideshare.net](http://www.slideshare.net/oemebamo/introduction-to-memcached) | -| Design a recommendation system like Amazon's | [hulu.com](https://web.archive.org/web/20170406065247/http://tech.hulu.com/blog/2011/09/19/recommendation-system.html)
[ijcai13.org](http://ijcai13.org/files/tutorial_slides/td3.pdf) | -| Design a tinyurl system like Bitly | [n00tc0d3r.blogspot.com](http://n00tc0d3r.blogspot.com/) | -| Design a chat app like WhatsApp | [highscalability.com](http://highscalability.com/blog/2014/2/26/the-whatsapp-architecture-facebook-bought-for-19-billion.html) -| Design a picture sharing system like Instagram | [highscalability.com](http://highscalability.com/flickr-architecture)
[highscalability.com](http://highscalability.com/blog/2011/12/6/instagram-architecture-14-million-users-terabytes-of-photos.html) | -| Design the Facebook news feed function | [quora.com](http://www.quora.com/What-are-best-practices-for-building-something-like-a-News-Feed)
[quora.com](http://www.quora.com/Activity-Streams/What-are-the-scaling-issues-to-keep-in-mind-while-developing-a-social-network-feed)
[slideshare.net](http://www.slideshare.net/danmckinley/etsy-activity-feeds-architecture) | -| Design the Facebook timeline function | [facebook.com](https://www.facebook.com/note.php?note_id=10150468255628920)
[highscalability.com](http://highscalability.com/blog/2012/1/23/facebook-timeline-brought-to-you-by-the-power-of-denormaliza.html) | -| Design the Facebook chat function | [erlang-factory.com](http://www.erlang-factory.com/upload/presentations/31/EugeneLetuchy-ErlangatFacebook.pdf)
[facebook.com](https://www.facebook.com/note.php?note_id=14218138919&id=9445547199&index=0) | -| Design a graph search function like Facebook's | [facebook.com](https://www.facebook.com/notes/facebook-engineering/under-the-hood-building-out-the-infrastructure-for-graph-search/10151347573598920)
[facebook.com](https://www.facebook.com/notes/facebook-engineering/under-the-hood-indexing-and-ranking-in-graph-search/10151361720763920)
[facebook.com](https://www.facebook.com/notes/facebook-engineering/under-the-hood-the-natural-language-interface-of-graph-search/10151432733048920) | -| Design a content delivery network like CloudFlare | [figshare.com](https://figshare.com/articles/Globally_distributed_content_delivery/6605972) | -| Design a trending topic system like Twitter's | [michael-noll.com](http://www.michael-noll.com/blog/2013/01/18/implementing-real-time-trending-topics-in-storm/)
[snikolov .wordpress.com](http://snikolov.wordpress.com/2012/11/14/early-detection-of-twitter-trends/) | -| Design a random ID generation system | [blog.twitter.com](https://blog.twitter.com/2010/announcing-snowflake)
[github.com](https://github.com/twitter/snowflake/) | -| Return the top k requests during a time interval | [cs.ucsb.edu](https://www.cs.ucsb.edu/sites/cs.ucsb.edu/files/docs/reports/2005-23.pdf)
[wpi.edu](http://davis.wpi.edu/xmdv/docs/EDBT11-diyang.pdf) | -| Design a system that serves data from multiple data centers | [highscalability.com](http://highscalability.com/blog/2009/8/24/how-google-serves-data-from-multiple-datacenters.html) | -| Design an online multiplayer card game | [indieflashblog.com](http://www.indieflashblog.com/how-to-create-an-asynchronous-multiplayer-game.html)
[buildnewgames.com](http://buildnewgames.com/real-time-multiplayer/) | -| Design a garbage collection system | [stuffwithstuff.com](http://journal.stuffwithstuff.com/2013/12/08/babys-first-garbage-collector/)
[washington.edu](http://courses.cs.washington.edu/courses/csep521/07wi/prj/rick.pdf) | -| Design an API rate limiter | [https://stripe.com/blog/](https://stripe.com/blog/rate-limiters) | -| Add a system design question | [Contribute](#contributing) | - -### Real world architectures - -> Articles on how real world systems are designed. +| Dropbox benzeri dosya senkronizasyon servisi tasarlayınız | [youtube.com](https://www.youtube.com/watch?v=PE4gwstWhmc) | +| Google benzeri arama motoru tasarlayınız | [queue.acm.org](http://queue.acm.org/detail.cfm?id=988407)
[stackexchange.com](http://programmers.stackexchange.com/questions/38324/interview-question-how-would-you-implement-google-search)
[ardendertat.com](http://www.ardendertat.com/2012/01/11/implementing-search-engines/)
[stanford.edu](http://infolab.stanford.edu/~backrub/google.html) | +| Google benzeri web tarayıcı tasarlayınız | [quora.com](https://www.quora.com/How-can-I-build-a-web-crawler-from-scratch) | +| Google Docs tasarlayınız | [code.google.com](https://code.google.com/p/google-mobwrite/)
[neil.fraser.name](https://neil.fraser.name/writing/sync/) | +| Redis benzeri anahtar-değer sistemi tasarlayınız | [slideshare.net](http://www.slideshare.net/dvirsky/introduction-to-redis) | +| Memcached benzeri önbellekleme sistemi tasarlayınız | [slideshare.net](http://www.slideshare.net/oemebamo/introduction-to-memcached) | +| Amazon'unkine benzer tavsiye sistemi tasarlayınız | [hulu.com](https://web.archive.org/web/20170406065247/http://tech.hulu.com/blog/2011/09/19/recommendation-system.html)
[ijcai13.org](http://ijcai13.org/files/tutorial_slides/td3.pdf) | +| Bitly benzeri url kısaltma sistemi tasarlayınız | [n00tc0d3r.blogspot.com](http://n00tc0d3r.blogspot.com/) | +| Whatsapp benzeri mesaj servisi tasarlayınız | [highscalability.com](http://highscalability.com/blog/2014/2/26/the-whatsapp-architecture-facebook-bought-for-19-billion.html) +| Instagram benzeri resim paylaşım sistemi tasarlayınız | [highscalability.com](http://highscalability.com/flickr-architecture)
[highscalability.com](http://highscalability.com/blog/2011/12/6/instagram-architecture-14-million-users-terabytes-of-photos.html) | +| Facebook haber feed fonksiyonu tasarlayınız | [quora.com](http://www.quora.com/What-are-best-practices-for-building-something-like-a-News-Feed)
[quora.com](http://www.quora.com/Activity-Streams/What-are-the-scaling-issues-to-keep-in-mind-while-developing-a-social-network-feed)
[slideshare.net](http://www.slideshare.net/danmckinley/etsy-activity-feeds-architecture) | +| Facebook zaman tüneli fonksiyonu tasarlayınız | [facebook.com](https://www.facebook.com/note.php?note_id=10150468255628920)
[highscalability.com](http://highscalability.com/blog/2012/1/23/facebook-timeline-brought-to-you-by-the-power-of-denormaliza.html) | +| Facebook sohbet fonksiyonu tasarlayınız | [erlang-factory.com](http://www.erlang-factory.com/upload/presentations/31/EugeneLetuchy-ErlangatFacebook.pdf)
[facebook.com](https://www.facebook.com/note.php?note_id=14218138919&id=9445547199&index=0) | +| Facebook benzeri grafik arama fonksiyonu tasarlayınız | [facebook.com](https://www.facebook.com/notes/facebook-engineering/under-the-hood-building-out-the-infrastructure-for-graph-search/10151347573598920)
[facebook.com](https://www.facebook.com/notes/facebook-engineering/under-the-hood-indexing-and-ranking-in-graph-search/10151361720763920)
[facebook.com](https://www.facebook.com/notes/facebook-engineering/under-the-hood-the-natural-language-interface-of-graph-search/10151432733048920) | +| CloudFlare benzeri CDN tasarlayınız | [figshare.com](https://figshare.com/articles/Globally_distributed_content_delivery/6605972) | +| Twitter benzeri trending topic sistemi tasarlayınız | [michael-noll.com](http://www.michael-noll.com/blog/2013/01/18/implementing-real-time-trending-topics-in-storm/)
[snikolov .wordpress.com](http://snikolov.wordpress.com/2012/11/14/early-detection-of-twitter-trends/) | +| Rastgele ID oluşturma sistemi tasarlayınız | [blog.twitter.com](https://blog.twitter.com/2010/announcing-snowflake)
[github.com](https://github.com/twitter/snowflake/) | +| Bir zaman dilimi içerisinde en çok yapılan k sayıdaki sorguyu döndürünüz | [cs.ucsb.edu](https://www.cs.ucsb.edu/sites/cs.ucsb.edu/files/docs/reports/2005-23.pdf)
[wpi.edu](http://davis.wpi.edu/xmdv/docs/EDBT11-diyang.pdf) | +| Bir çok farklı veri merkezinden veri sağlayan sistem tasarlayınız | [highscalability.com](http://highscalability.com/blog/2009/8/24/how-google-serves-data-from-multiple-datacenters.html) | +| Çok oyunculu online kart oyunu tasarlayınız | [indieflashblog.com](http://www.indieflashblog.com/how-to-create-an-asynchronous-multiplayer-game.html)
[buildnewgames.com](http://buildnewgames.com/real-time-multiplayer/) | +| Çöp toplama sistemi tasarlayınız | [stuffwithstuff.com](http://journal.stuffwithstuff.com/2013/12/08/babys-first-garbage-collector/)
[washington.edu](http://courses.cs.washington.edu/courses/csep521/07wi/prj/rick.pdf) | +| API oran sınırlayıcı tasarlayınız | [https://stripe.com/blog/](https://stripe.com/blog/rate-limiters) | +| Sistem tasarım sorusu ekleyiniz | [Contribute](#contributing) | + +### Gerçek dünya mimarileri + +> Gerçek dünyada sistemlerin nasıl tasarlandığı üzerine makaleler.

@@ -1631,13 +1633,13 @@ Handy metrics based on numbers above: Source: Twitter timelines at scale

-**Don't focus on nitty gritty details for the following articles, instead:** +**Makalelerdeki ince detaylara takılmak yerine:** -* Identify shared principles, common technologies, and patterns within these articles -* Study what problems are solved by each component, where it works, where it doesn't -* Review the lessons learned +* Bahsedilen prensipleri, sık kullanılan teknolojileri ve kalıpları anlamaya çalışınız. +* Hangi problemi hangi bileşenin çözdüğünü, ne zaman çalıştığını ya da çalışmadığını anlamaya çalışınız. +* Öğrendiklerinizi tekrar ediniz. -|Type | System | Reference(s) | +|Tip | Sistem | Referans(lar) | |---|---|---| | Data processing | **MapReduce** - Distributed data processing from Google | [research.google.com](http://static.googleusercontent.com/media/research.google.com/zh-CN/us/archive/mapreduce-osdi04.pdf) | | Data processing | **Spark** - Distributed data processing from Databricks | [slideshare.net](http://www.slideshare.net/AGrishchenko/apache-spark-architecture) | @@ -1661,9 +1663,9 @@ Handy metrics based on numbers above: | Misc | **Zookeeper** - Centralized infrastructure and services enabling synchronization | [slideshare.net](http://www.slideshare.net/sauravhaloi/introduction-to-apache-zookeeper) | | | Add an architecture | [Contribute](#contributing) | -### Company architectures +### Şirket mimarileri -| Company | Reference(s) | +| Şirket | Referans(lar) | |---|---| | Amazon | [Amazon architecture](http://highscalability.com/amazon-architecture) | | Cinchcast | [Producing 1,500 hours of audio every day](http://highscalability.com/blog/2012/7/16/cinchcast-architecture-producing-1500-hours-of-audio-every-d.html) | @@ -1689,11 +1691,11 @@ Handy metrics based on numbers above: | WhatsApp | [The WhatsApp architecture Facebook bought for $19 billion](http://highscalability.com/blog/2014/2/26/the-whatsapp-architecture-facebook-bought-for-19-billion.html) | | YouTube | [YouTube scalability](https://www.youtube.com/watch?v=w5WVu624fY8)
[YouTube architecture](http://highscalability.com/youtube-architecture) | -### Company engineering blogs +### Şirket mühendislik blogları -> Architectures for companies you are interviewing with. +> Mülakatına katıldığınız şirketler için mimariler. > -> Questions you encounter might be from the same domain. +> Karşılaşacağınız sorular aynı başlıktan olabilir. * [Airbnb Engineering](http://nerds.airbnb.com/) * [Atlassian Developers](https://developer.atlassian.com/blog/) @@ -1736,26 +1738,25 @@ Handy metrics based on numbers above: * [Yelp Engineering Blog](http://engineeringblog.yelp.com/) * [Zynga Engineering Blog](https://www.zynga.com/blogs/engineering) -#### Source(s) and further reading +#### Kaynak(lar) ve okunması önerilenler -Looking to add a blog? To avoid duplicating work, consider adding your company blog to the following repo: +Blog eklemek istemisiniz? Duplikasyonu önlemek için şirket blogunuzu aşağıdaki repoya eklediğinize emin olunuz; * [kilimchoi/engineering-blogs](https://github.com/kilimchoi/engineering-blogs) -## Under development +## Geliştirme aşamasında -Interested in adding a section or helping complete one in-progress? [Contribute](#contributing)! +Bölüm eklemek ya da devam eden bir bölümü tamamlamaya yardım etmeyle ilgilenir misiniz? [Katkı](#contributing)! -* Distributed computing with MapReduce +* MapReduce ile dağtılmış hesaplama * Consistent hashing * Scatter gather * [Contribute](#contributing) -## Credits - -Credits and sources are provided throughout this repo. +## Teşekkür -Special thanks to: +Kaynaklar ve teşekkürler repo içerisinde gösterilmiştir. +Özel olarak teşekkür edilenler: * [Hired in tech](http://www.hiredintech.com/system-design/the-system-design-process/) * [Cracking the coding interview](https://www.amazon.com/dp/0984782850/) @@ -1767,15 +1768,15 @@ Special thanks to: * [A distributed systems reading list](http://dancres.github.io/Pages/) * [Cracking the system design interview](http://www.puncsky.com/blog/2016-02-13-crack-the-system-design-interview) -## Contact info +## İletişim Bilgileri -Feel free to contact me to discuss any issues, questions, or comments. +Herhangi bir soru, yorum ya da konu hakkında lütfen iletişime geçmekten çekinmeyiniz. -My contact info can be found on my [GitHub page](https://github.com/donnemartin). +İletişim bilgilerimi [GitHub sayfamda](https://github.com/donnemartin) bulabilirsiniz. ## Lisans -*I am providing code and resources in this repository to you under an open source license. Because this is my personal repository, the license you receive to my code and resources is from me and not my employer (Facebook).* +*Bu repoda code ve kaynakları açık kaynak kodu ile kullanıma sunuyorum. Bu benim şahsi repom olduğu, kodum ve kaynaklarım için almış olduğunuz lisans işverenimin (Facebook) değil, tamamen şahsıma aittir.* Copyright 2017 Donne Martin From 2fd311ca3faf1717d76ac4444561a96897790609 Mon Sep 17 00:00:00 2001 From: canerbaran Date: Mon, 24 Dec 2018 00:31:06 +0300 Subject: [PATCH 12/12] Translation to TR is ongoing --- .DS_Store | Bin 0 -> 6148 bytes README-tr.md | 2 +- solutions/.DS_Store | Bin 0 -> 6148 bytes solutions/system_design/.DS_Store | Bin 0 -> 8196 bytes 4 files changed, 1 insertion(+), 1 deletion(-) create mode 100644 .DS_Store create mode 100644 solutions/.DS_Store create mode 100644 solutions/system_design/.DS_Store diff --git a/.DS_Store b/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..942e0ff5fe35f6f0a3602ebb441a02b69c46e423 GIT binary patch literal 6148 zcmeHK%Wl&^6ur|1a8gQwgw!s*L1GcAw6x6vA%#2yk$4FQx&YMLP1G2myf49PD0_!`4!qA~onKJ)sUgr#98;1-v%e4-o5^x+(VO6nljp zVRnOBU^u8Z@SN|{Yh=GttgFb?qWjdO$H3e47HiGOMnan}bK0bNLY*w0&}E)?J(cg2 z`pEhaSwo7lB1o0yBNQ_ubZ9S=EmWFk=fyrC6UROd=x}i-r9w%Dm>tM{_u=6=lRF`_ zVb+{Bc^N;!@J7*zJ}G{9CxIWumC8@Hw4A$i`HE!~tio#Hjnn5NCwAjuRCfojMC+Lw z_dV@*I1kQz*L&&rM*F234Iaj>ANB^4?00*Z@_Nq?yL?pV!>}94IF1^yth|-qFRhQq zTRS^tduz8kDcj>}wNkdX@9a({d28+F=Dqg8@rTp#$H}L!kPgOh)JZF9oWVCZ8B2ZV z48nkiM;M(kXN+@3{W#XjIX{OJTs#HD_rXRHSkpLFC_f#j2>G@NIicU;sMjV})=^F~u7Y}C3>BMRZO>Gn~ z3M3U+R?U()|66~*|0hYNWfU+9{8tLFT+?aRu_S%AE-X%*wKmEDiZC&6s!&o;>El>B f;wWB6k%lo_IKZ05sY3L?%pUtuOq7D&BIAf!Q;tJz__62LW zmL^b`F%GGsA!!;>wvg=`{znCP?Ve)AV){fW{k?uE6 z87H(IQnqAk*jb%U*Ecr0YJIam>#AwL-|MPZFE?kimVEYnZF~3N+IWiBL@lm zF^oNNIENnyt`X~VI4W{o93g8y!kp>RE8rFI3fx)&x3S2_w;st4;1%!++&2Yye^7A7 zz+r9CY#k`f69CB9NMnfkTF4ybFmPB~L=Q|@D$r7edtwMnN4s))fy3IOrIT=v58-AO z?u8=E>=<8}bP|C@UwQ?+0+$t7vegcs|8M^N{=ZD}HLrkI;9e;pnmggn0H5T})`gGb uvsS?m;B1^%TfCqkFh?V)) zeFGoGC-6ah0R4Y6BY{D@YS{TUGvBoR|J$7(J1t+Ah(v4BJ0hwQk%Pv$QbzZO;N#pj zVo&d>APe}30?Md^pL;akP}?1rfF)oFSOS)SCGbBGz%!e}+49_1M{REjSOQm)0N)>6 zG|o+(7b?qJ2Rc~-AQ!M(2F6?tu*cQ8sq;c*96<