An open API service indexing awesome lists of open source software.

https://github.com/biyonik/elixirlearnadventure

Elixir Language Learn Adventure Step By Step And Self Paced
https://github.com/biyonik/elixirlearnadventure

data-structures-and-algorithms design-patterns elixir elixir-lang erlang

Last synced: 3 months ago
JSON representation

Elixir Language Learn Adventure Step By Step And Self Paced

Awesome Lists containing this project

README

          

# 🚀 Elixir Öğrenme Yolculuğum

**Kişisel Elixir Öğrenme Notları ve Pratik Çalışmaları**

[![Elixir](https://img.shields.io/badge/Elixir-4B275F?style=for-the-badge&logo=elixir&logoColor=white)](https://elixir-lang.org/)
[![OTP](https://img.shields.io/badge/OTP-FF6B6B?style=for-the-badge&logo=erlang&logoColor=white)](https://erlang.org/doc/design_principles/users_guide.html)
[![Phoenix](https://img.shields.io/badge/Phoenix-FD4F00?style=for-the-badge&logo=phoenixframework&logoColor=white)](https://phoenixframework.org/)
[![Learning](https://img.shields.io/badge/Learning-4CAF50?style=for-the-badge&logo=bookstack&logoColor=white)](#)

---

## 📋 İçindekiler

- [🎯 Bu Repo Hakkında](#-bu-repo-hakkında)
- [🗺️ Öğrenme Planım](#️-öğrenme-planım)
- [📚 Çalıştığım Konular](#-çalıştığım-konular)
- [💻 Denediğim Projeler](#-denediğim-projeler)
- [📖 Nasıl Takip Edebilirsiniz](#-nasıl-takip-edebilirsiniz)
- [🤝 Geri Bildirim](#-geri-bildirim)

---

## 🎯 Bu Repo Hakkında

Bu repo, **Elixir öğrenme serüvenimde** tuttuğum notları, yazdığım kodları ve denediğim projeleri içeriyor. Sıfırdan başlayıp production-ready uygulamalar yazabilir hale gelmeye çalışıyorum.

### 🌟 Neden Bu Repo'yu Oluşturdum?

- 📝 **Öğrenme notlarımı** organize etmek için
- 🔄 **İlerleme kaydımı** takip etmek için
- 💡 **Deneme yanılma** sürecimi dokümante etmek için
- 🤝 **Benzer yolculuktaki** arkadaşlarla paylaşmak için
- 📚 **Türkçe kaynak** eksikliğine küçük bir katkı için

### 🎨 Özellikler

- 🇹🇷 **Türkçe notlar** ve açıklamalar
- 📖 **Teorik öğrendiklerim** + **Pratik denemelerim**
- 🎯 **Sıfırdan başlangıç** süreci
- 🔬 **Derinlemesine araştırma** notları
- 💻 **Gerçek kod örnekleri** ve testler
- 🐛 **Hata yapma** ve **düzeltme** süreçleri

---

## 🗺️ Öğrenme Planım

```
🏁 BAŞLANGIÇ (Tamamlandı ✅)
├── Elixir Syntax & Pattern Matching
├── Functional Programming Temelleri
├── Immutability & Data Structures
└── Pipe Operator & Function Composition

⚡ CONCURRENCY (Devam Ediyor 🔄)
├── Process-Based Programming
├── Message Passing
├── GenServer & OTP Behaviors
└── Supervisor Trees

🌐 WEB DEVELOPMENT (Planlanan 📅)
├── Phoenix Framework
├── LiveView & Real-time Apps
├── Ecto & Database Operations
└── Authentication & Authorization

🏗️ İLERİ SEVİYE (Hedef 🎯)
├── Distributed Systems
├── Performance Optimization
├── Deployment & DevOps
└── Advanced OTP Patterns
```

---

## 📚 Çalıştığım Konular

### 🟢 **Tamamlanan Konular**
- ✅ **Temel Syntax** - Pattern matching, functions, modules
- ✅ **Data Types** - Lists, maps, tuples, atoms
- ✅ **Functional Programming** - Immutability, higher-order functions
- ✅ **Enum & Stream** - Data transformation patterns

### 🟡 **Üzerinde Çalıştığım Konular**
- 🔄 **GenServer** - State management, callbacks
- 🔄 **OTP Behaviors** - Supervision, fault tolerance
- 🔄 **Process Communication** - Message passing patterns

### 🔴 **Planladığım Konular**
- 📅 **Phoenix Framework** - Web development
- 📅 **LiveView** - Real-time applications
- 📅 **Ecto** - Database operations
- 📅 **Testing** - Unit, integration, property-based

---

## 📖 Nasıl Takip Edebilirsiniz

### 🗂️ **Dizin Yapısı**

```
elixirlearnadventure/
├── Level - 1/ # Seviye - 1
│ ├── Week 1- 2/ # Hafta 1 - 2
| | |── first_lesson.exs
| | |── second_lesson.exs
| | |── second_lesson_examples.exs
| | |── third_lesson.exs
| | |── third_lesson_continued.exs
| |
├── Examples # Örnekler
│ ├── deep-dive-pattern-matching-and-control-flow.exs
|
├── notlar/ # Öğrenme notlarım
│ ├── hatalar-ve-cozumler.md # Yaptığım hatalar
│ ├── kaynaklar.md # Kullandığım kaynaklar
│ └── ipuclari.md # Bulduğum ipuçları
└── README.md # Bu dosya
```

### 📚 **Her Klasörde Bulacağınız**

- 📖 **README.md** - Konunun özeti ve öğrendiklerim
- 💻 **Kod örnekleri** - Denediğim her şey
- 🧪 **Testler** - Yazdığım test kodları
- 📝 **Notlar** - Kafa karışıklıklarım ve çözümleri
- 🐛 **Hata logları** - Takıldığım yerler

### 🔄 **Güncelleme Sıklığı**

- **Haftalık:** Yeni öğrendiğim konular
- **Günlük:** Küçük deneyimler ve notlar
- **Proje bitiminde:** Kapsamlı değerlendirmeler

---

## 🎯 Kişisel Hedeflerim

### 🌟 **Kısa Vadeli (3 ay)**
- [ ] GenServer'ı rahatça kullanabilmek
- [ ] Basit OTP uygulamaları yazabilmek
- [ ] Phoenix'le bir web app yapmak
- [ ] Elixir'daki hata ayıklama süreçlerini öğrenmek

### 🚀 **Uzun Vadeli (1 yıl)**
- [ ] Production-ready uygulama yazabilmek
- [ ] Distributed system tasarlayabilmek
- [ ] Performance optimization yapabilmek
- [ ] Elixir community'sine katkıda bulunabilmek

### 💪 **Nihai Hedef**
- [ ] **Elixir ile freelance projeler** alabilirim
- [ ] **Backend architect** olarak çalışabilirim
- [ ] **Açık kaynak projelere** katkıda bulunurum
- [ ] **Mentoring** yapabilirim

---

## 🤝 Geri Bildirim

### 👋 **Benzer Yolculuktaysanız**

Elixir öğrenme sürecindeyseniz:
- 💬 **Deneyimlerinizi paylaşın** - Issues'larda sohbet edebiliriz
- 🤝 **Birlikte çalışalım** - Pair programming yapalım
- 📚 **Kaynak önerisi** - Faydalı bulduğunuz kaynakları paylaşın
- 🐛 **Hata çözümleri** - Karşılaştığınız problemleri tartışalım

### 🎓 **Deneyimli Elixir Geliştiricileriyseniz**

- 🔍 **Code review** yapabilirsiniz
- 💡 **Öneriler verebilirsiniz**
- 🎯 **Yol gösterebilirsiniz**
- 📖 **Kaynak önerebilirsiniz**

### 📞 **İletişim**

- **GitHub Issues:** Sorular ve tartışmalar için
- **Email:** ahmet.altun60@gmail.com
- **Linkedin:** [@biyonik](https://tr.linkedin.com/in/biyonik)

---

**🌱 Öğrenme devam ediyor...**

*"The only way to learn a new programming language is by writing programs in it."*
- Brian Kernighan

**⭐ Yolculuğumu takip etmek isterseniz star verebilirsiniz!**