OĞUZHAN
KARAGÜZEL

Language English

Full Stack Developer,.NET C# JS CSS HTML ,EF CORE ASP.NET API

BİRAZ KENDİMDEN BAHSEDEYİM


Merhaba,
Trabzonda doğdum ve üniversite hayatıma başlayana kadar Trabzonda yaşadım. Hacettepe üniversitesi fizik mühendisliği bölümünden mezun oldum. Şimdi ise evliyim ve istanbulda yaşıyorum. Yazılım ile ilgili tüm becerilerimi Bilgeadam boost yıldız yazılımcı eğitim kursunda geliştirdim ve bu programdan harizan 2023'te başarıyla mezun oldum.
BilgeAdam Boost yıldız yazılımcı yetiştirme kursu, eğitim süresi boyunca, yazılım alanındaki yeteneklerimi müthiş bır hızla geliştirmemi sağladı. Ayrıca, Bilgeadam kurumunun sağladığı çeşitli seminerler, kaynaklarla yeteneklerimi geliştirmeye devam ediyor ve bilgilerimi güncel tutuyorum. Bu süreç boyunca, karşılaştığım karmaşık problemlere yenilikçi çözümler bulma konusunda tutkumu ayrıca tanımadığım ya da farklı alanlarda olan yetenekli kişilerle işbirliği yapmaktan keyif aldığımı keşfettim.
Boş zamanlarımda ailemle vakit geçirmekten, bilgisayar oyunu oynamaktan ve motosiklet sürmekten büyük keyif alırım. Ayrıca felsefe, fizik alanlarında çalışmaktan ve kitap okumaktan keyif alıyorum. Bu hobiler zihinsel gelişim ve mental sağlımığı korumamı sağlıyor. Merakımı giderip, bilgi birikimimi sürekli olarak geliştirmemi ve güncel tutmamı sağlıyor.

BECERİLER

React

★★★★☆

  • JavaScript tabanlı bir UI (Kullanıcı Arayüzü) kitaplığı olan React'ı kullanma konusunda yetkin
  • Bileşen tabanlı bir yaklaşım kullanarak UI geliştirme konusunda deneyim
  • React Hooks kullanarak işlevsel bileşenler ve durum yönetimi konusunda deneyim

CSS

★★★★☆

  • CSS (Katmanlı Stil Sayfaları) konusunda yetkin
  • CSS seçicileri ve özellikleri hakkında bilgi sahibi
  • CSS kutu modeli ve tasarım tekniklerinde yetkinlik
  • < li>Medya sorgularını kullanarak duyarlı tasarımlar oluşturma becerisine sahip
  • Hızlı geliştirme için CSS kütüphanelerini (ör. Bootstrap) kullanabilme

C#

★★★★★

  • Nesne Yönelimli Programlama, SOLID, KISS, YAGNI
  • Katmanlı Mimari (N-Tier, Onion)
  • .NET Framework, .NET Framework Core
  • Veritabanı Bağlantısı (Entity Framework Core,MSSQL,Azure SQL Server)
  • Web Geliştirme (ASP.NET, ASP.NET CORE, ASP.NET MVC, ASP.NET API)
  • < li>LINQ, IDENTITY VB...

JavaScript

★★★★☆

  • JavaScript'te yetkin.(İstemci taraflı bir betik programlama dili.)
  • DOM manipülasyonu ve olay işlemede deneyim
  • ES6+ özellikleri ve modern JavaScript söz dizimi hakkında bilgi
  • < li>Promises ve async/await ile asenkron programlama konusunda becerikli
  • JavaScript kütüphanelerine aşinalık (ör. React, jquerry, node.js)
  • XHR, AJAX ve Fetch API kullanarak sunucu iletişiminde deneyim

Visual Studio

★★★★★

  • Visual Studio'yu entegre bir geliştirme ortamı (IDE) olarak kullanma konusunda yetkin
  • Visual Studio'da çeşitli programlama dilleriyle çalışma konusunda deneyimli
  • Gelişmiş kod düzenleme ve hata ayıklama konusunda Visual studio'u etkin kullanma
  • Visual Studio'da sürüm kontrol entegrasyonuna (Git) aşina
  • Visual Studio'da projeleri etkin bir şekilde yönetebilme, test etme, çalıştırma ve sürdürme (publish) araçlarını kullanabilme

Visual Studio Code

★★★★★

  • Visual Studio Code'u (hafif bir kaynak kod düzenleyicisi) kullanma konusunda yetkin
  • Visual Studio Code'da birden çok programlama dili ve dosya türüyle çalışma becerisi
  • Visual'ı özelleştirme konusunda deneyimli Temalar ve uzantılar içeren Studio Code
  • Visual Studio Code'da IntelliSense ve kod parçacıkları gibi güçlü düzenleme özelliklerini kullanmakta deneyimli
  • Visual Studio Code'da terminal ve kaynak denetimi entegrasyonuna aşina< /li>

HTML

★★★★☆

  • HTML (Hiper Metin İşaretleme Dili) konusunda yetkin
  • Artırılmış erişilebilirlik ve SEO için semantik HTML işaretleme alanında uzmanlık
  • Duyarlı web tasarım ilkeleri ve teknikleri konusunda becerikli
  • HTML5 API'leri ve özellikleri hakkında bilgi
  • Form doğrulama ve erişilebilirlik standartlarını sağlama
  • Dinamik web sitesi için HTML'yi CSS ve JavaScript ile entegre edebilme

Cache

★★★★☆

  • Cache alma ve dağıtık cache alma çözümleri
  • Redis kümelerini kurma ve yönetme
  • Redis'i message broker şeklinde kullanarak pub/sub mesajlaşma kalıplarını uygulama
  • Mesaj filtreleme için Redis Pattern-Matching
  • Veri yedeği ve yüksek kullanılabilirlik için Redis Replication
  • Otomatik Failover ve monitoring için Redis Sentinel

Web API

★★★★☆

  • ASP.NET kullanarak RESTful API'leri geliştirme konusunda yetkin
  • Web API uç noktaları tasarlama ve uygulama deneyimi
  • HTTP metodlarını (GET, PUT ,VS.) kullanarak HTTP isteklerini ve yanıtlarını yönetme becerisi
  • Web API'sinde öznitelik(attribute) tabanlı yönlendirme ve URL kurallarını kullanma konusunda bilgi sahibi
  • Web API'lerinin güvenliğini sağlamak için kimlik doğrulama ve yetkilendirme mekanizmalarını uygulama konusunda deneyimli
  • < li>Veri alışverişi için JSON veya XML gibi serileştirme formatlarına aşinalık
  • Web API'de doğrulama ve hata işleme gerçekleştirebilme
  • Web API uç noktalarını belgeleme ve sürümlendirme becerisi

Message Broker

★★★★☆

  • Bulut AMQP (Gelişmiş Mesaj Kuyruk Protokolü)
  • Mesaj Broker çözümlerini Dockerlaştırma
  • Exchange ve Binding işlemleri de dahil olmak üzere RabbitMQ'yu yapılandırma ve yönetme
  • Direct, Fanout, Topic ve Header dahil olmak üzere çeşitli Exchange türlerinde bilgi
  • Round-Robin Dispatching, Message Acknowledgment, Message Durability, and Fair Dispatch gibi gelişmiş kuyruk mimari bilgisi
  • Noktadan Noktaya (P2P), Yayınlama/Abone Olma (Pub/Sub), İş Kuyruğu (Work Queue) ve İstek/Yanıt (Request/Response) dahil olmak üzere message desing
  • MassTransit ve Enterprise Service Bus'ı (ESB)

Other Tools

★★★★★

  • WEB PUBLISH
  • DOCKER
  • NUGET
  • AGILE/SCRUM
  • WATERFALL
  • GIT
  • AZURE DEVOPS

SQL

★★★★☆

  • İlişkisel Veritabanı Yönetim Sistemi (RDBMS)
  • Gelişmiş SQL Sorguları (Birleştirmeler, Alt Sorgular, Gizli Prosedürler)
  • Veritabanı Tasarımı ve Optimizasyonu
  • Veritabanı Yönetim (Yedekleme, Geri Yükleme, Güvenlik)
  • İndex Oluşturma ve Performans Ayarı
  • Veri Manipülasyon Dili (DML) ve Veri Tanımlama Dili (DDL)
  • Bulut Veritabanı
  • Microsoft SQL Server, Azure SQL Server

EĞİTİM

TONYA ANADOLU LİSESİ (2008-2011)
YAVUZ SULTAN SELİM ANADOLU LİSESİ (2011-2012)

Sayısal bölümü mezunuyum


HACETTEPE ÜNİVERSİTESİ - FİZİK MÜHENDİSLİĞİ (2013-2019)

Üniversite eğitimim boyunca alanım dışında da kendimi geliştirmeye çalıştım. İkonografi ve antropoloji gibi merak ettiğim konularda da ders aldım. 3ds max adlı 3 boyutlu çizim programını öğrendim. Kendi alanımda özellikle kuantum fiziğinde kendimi geliştirmeye çalıştım.

Bölümümde 10 adet laboratuvar dersi bulunmaktadır. Bu dersler sayesinde araştırma, geliştirme, raporlama ve üretim becerilerim oldukça gelişmiş durumda.

Yazılım dünyasına ilk somut adımımı saygıdeğer hocam Prof. Dr. Yiğit GÜNDÜÇ sayesinde attım. Hocamdan öğrendiğim Phyton ve C programlama dersleri ile yazılım alanında kendimi geliştirmeye başladım.

Daha sonra Mikroİşleyiciler dersi sayesinde yazılım ve donanımın temellerini öğrendim. İntel 8086 ile çalıştım ve Assemnly programlama dilini öğrendim.

Ardından CRM (müşteri ilişkileri yönetimi) alanında uzman ve IoT (Nesnelerin interneti) alanında yeni atılımlarda bulunan Zeno Bilişim adlı şirkette zorunlu stajımı yaptım. Staj sürem boyunca atık konteyner dolum sensörü ve çukur tarama sensörü projelerinde etkin olarak çalıştım ve bu ürünleri ürettim.

BİLGEADAM BOOST YILDIZ YAZILIMCI YETİŞTİRME PROGRAMI (2023-2023)

Yazılım dünyasına girmek ve ortaya bir ürün çıkarabilmek için Bilgeadam boost yıldız yazılımcı eğitim programına 2023 yılında katıldım. İlk 5 ay: Sevgili hocam Fatih Kaan AÇIKGÖZ sayesinde C# programlama dili ile algoritma, oop, solid,katmanlı mimari kavramlarını öğrendim. Ayrıca değerli hocam Fatih BAĞCIOĞLU ile bol bol uygulama yaptım ve projeler geliştirdim.

Ardından sevgili hocam Gamze ALTINELLİ ile mezuniyet projemi geliştirerek back-end eğitimimi tamamladım. Bu proje sayesinde agile ve scrum kavramlarını da tecrübeyle öğrendim.

Mezuniyet projemden sonra sevgili hocam Onur Alp AYDIN ile HTML, CSS, Javascript, React dillerini öğrendim. Ayrıca, sevgili hocam Cem Mert ŞİMŞEK ile bol bol pratik yaptım. Bir ayın sonunda front-end eğitimimi tamamladım.

Ardından Bilgeadam kurumunda yaptığım staj ile eğitimimi tamamlayarak yıldız yazılımcı olarak mezun oldum.


BİLGEADAM BOOST Projeler

Remember Me
PROJE LİNK'İ

Açıklama:

Bilgeadam boost eğitiminde ekip arkadaşlarımla birlikte waterfall metodolojisi kullanılarak bir Windows Form uygulaması geliştirdik. Projenin amacı, kullanıcının diyetini takip edebileceği, kalori hesabı yapabileceği, girilen verilere göre çeşitli parametrelerin hesaplanacağı ve basit sağlık ipuçları alabileceği bir uygulama geliştirmekti.

Bir haftalık sıkı çalışmanın ardından ekip arkadaşlarım ile projeyi başarıyla tamamladık. hatta beklentilerin de üzerine çıktık.

Öncelikle projenin eksiklerinden bahsedelim: Dil seçeneği Türkçe seçildiğinde yemek isimleri hala İngilizce olarak çıkıyor. Bunun nedeni, veritabanında yemeklerin Türkçe isimlerinin bulunmamasıdır. Ayrıca Frontend'deki renk seçimlerimiz ve varsayılan fotoğraf seçimlerimiz vasat olarak tanımlanabilir.

Projede bizden yapmamız istenenler ve başardıklarımız şu şekilde sıralanabilir:

  • Kullanıcı veri tabanına yemek ekleyebilir.
  • Kullanıcı istediği zamanı seçip öğün ekleyebilir.
  • Kullanıcı tükettiği öğünleri belirli bir öğün vaktine veya zaman aralığına göre görüntüleyebilir.
  • Kullanıcıdan alınan verilere göre vücut kitle indeksi hesaplanarak kullanıcı bilgilendirilecek.

Beklentileri aşan gelişmeler:

  • Sisteme dil seçeneği eklendi.
  • Yiyecekler kullanıcının beslenme türüne göre filtrelenerek kullanıcıya gösterilmiştir. Normal beslenen kullanıcılar tüm yiyecekleri, vejeteryanlar vejeteryan ve vegan yiyecekleri, veganlar ise yalnızca vegan yiyecekleri görebilir.
  • Ayrıca sisteme kayıt olurken sağladıkları aktivite düzeyine göre BMR ve NMR değerleri kullanıcıya gösterilerek çeşitli bilgi ve önerilerde bulunulmuştur.

Potansiyel olarak geliştirilebilir yönler:

  • Grafikler eklenebilir.
  • Sistem raporları otomatik olarak üretip dosya halinde kullanıcıya sunabilir.

Takım Arkadaşlarım

Portfolio Item
Portfolio Item
Portfolio Item
Portfolio Item
Portfolio Item
Portfolio Item
Portfolio Item
Portfolio Item
Portfolio Item
Portfolio Item
Portfolio Item
Portfolio Item
Portfolio Item
Portfolio Item
Portfolio Item
Portfolio Item


FirmFlow
PROJE LİNK'İ

Açıklama:

Bu proje Bilgeadam boost programının bitirme projesidir. Bu projede Scrum metodolojisi uygulanmıştır.

Projeden beklentiler şu şekildedir;

  • Site yöneticisi olacak ve Site yöneticisi sistem veritabanına Şirket ekleyebilmelidir. Ayrıca, Her bir Şirkete, yeni bir profil oluşturarak, bir yönetici atayabilmelidir.
  • Şirket yöneticisi eklendiğinde @bilgeadamboost.com uzantılı bir e-posta adresi oluşturulacak ve bu adrese bilgilendirme e-postası gönderilecektir.
  • Şirket yöneticisi sadece şirketine çalışan ekleyebilecek.
  • Çalışanlar avans, izin ve ödenek talep edebilecek, şirket yöneticisi ise bu talepleri yanıtlayabilecek
  • Talepler, çalışanın cinsiyeti, çalışma süresi, maaşı vb. çeşitli bilgilere göre kontrolü sağlanılacaktır. Ayrıca, şirket eklenirken veya yönetici atanırken gerekli tüm kontroller sağlanacaktır.

Ekip arkadaşlarımla birlikte 1 ayda (4 sprint'te) projeyi eksiksiz tamamladık.

Projemizin eksik yönlerinden bahsedecek olursak; temelde olumsuzluk yok. Yapılabilecek en iyi eleştiri tablo düzeni olabilir. area yapılanmasının kullanılmaması konusunda eleştiri getirilebilir. İlk olarak kullanıldı. Ancak başka sorunlar nedeniyle kullanımından vazgeçilmiştir.

Projemizde tüm talepleri eksiksiz olarak yerine getirmiş bulunmaktayız.

Projemizin beklentileri aştığımız kısımları ise şu şekildedir; JWT kullanılarak kullanıcıya gönderilen e-postada şifre oluşturmak için link gönderilmiştir. Varsayılan bir parola oluşturulmadı. HTML veri giriş doğrulamalarıda eklendi.


Proje github'a yüklenmemiştir. Bunun sebebi eğitim sürecindeki arkadaşlarımın saf kodlara doğrudan ulaşmasına mâni olmaktır.Sisteme giriş yapmak için ; site.admin@bilgeadam.com 1234

Takım Arkadaşlarım

Portfolio Item
Portfolio Item
Portfolio Item
Portfolio Item
Portfolio Item
Portfolio Item
Portfolio Item
Portfolio Item
Portfolio Item
Portfolio Item
Portfolio Item
Portfolio Item


Spectra Utils
PROJE LİNK'İ

Açıklama:

Bu Nuget paketi Jr. Fullstack .NET developer olarak yazılım dünyasına atılmış bir adımdır.

SpectraUtils kütüphanesini bir NuGet paketi haline çevirdim ve yayınladım.

Eğer isterseniz SpectraUtils Kütüphanesini indirebilirsiniz.

  • İsim ve Soyisim düzenleme metodları (oĞuzHan KAragüZEL => Oğuzhan KARAGÜZEL)
  • Türkçe karakterleri ingilizce karakterlere çevirme. (oguzhan karaguzel.)
  • Basit kullanıcı adı oluşturma (oguzhan6291)
  • Şifre oluşturma ve Hashleme (%19A]a!5)
  • Çeşitli doğrulama öznitelikleri(Attributes).
    • [MinimumAge(18)]

      public DateTime birthDate { get; set; }
    • [TCIDValidation] // Id number validation for Türkiye

      public string Identity { get; set; }
    • [AllowedExtensions(extensions: new string[] { ".jpg", ".jpeg", ".png", ".pdf" }, maxFileSizeInBytes:1024*1024*2)]

      public string File { get; set; } or IFormFile

Paketi edinmek için

  • Kaynak Repo
  • .NET CLI : dotnet add package SpectraUtils --version 1.0.4
  • Package Manager : NuGet\Install-Package SpectraUtils -Version 1.0.4
  • Paket CLI : paket add SpectraUtils --version 1.0.4
Portfolio Item
Portfolio Item
Portfolio Item



BLOĞUM



  • Blog Item

    C# ile bit tabanlı işlemler

    Oldukça uzun olan bu makalede, bütün bitsel operatörlere değinmeye çalıştım. Benim gibi yazılıma yeni başlayanlar ya da eğitim görenler için oldukça güzel bir kaynak oldu.

    Makaleyi okumak için
    Blog Item

    Nesne tabanlı programlama ve Aristoteles

    Nesne tabanlı programlamanın felsefesine ufaktan bir giriş. Aristoteles'i anlamak şart!

    Makaleyi okumak için

BEN KİMİM
  • Evli ve 2 kedi sahibiyim

    Bilgisayar oyunlarına düşkünüm. özellikle gerçek zamanlı strateji, rol yapma ve fotoğrafta da görebileceğiniz üzere souls oyunlarına bayılırım.

    Özellikle motosiklet olmak üzere iki tekerli araçları kullanmayı seviyorum.

  • Yazılım konusunda oldukça tutkulu birisi haline geldim. Özellikle eğitim programı bittikten sonra çeşitli algoritma egzersizleri çözmeye devam ediyorum.

    Aynı durum fizik içinde geçerli. Her ne kadar yazılıma ayırdığım zamanı ayıramasam da zaman zaman fizikle uğraşıyorum. Şimdi olmasada ileride kendi alanım olan fizik mühendisliğinde yüksek lisans yapmayı planlıyorum.

    Ayrıca fizik mühendisi olmam sadece yazılımın temellerine hakim olmamı değil, donanımın temellerinede hakim olmamı sağlıyor.

  • Pozitif özelliklerim

    Takım çalışmasına yatkınım

    Yeni çözümler aramaktan ya da üretmekten çekinmem

    Üzerinde çalıştığım projenin her detayına hakim olmaya çalışırım.

    Oldukça çalışkanımdır.

  • Negatif özelliklerim

    Sigara kullanıyorum.

    Nadiren odaklanmakta güçlük çekerim ve o günüm oldukça verimsiz geçer.

    Odaklandığımda dünyayı unutup kendimle konuşarak çalışırım. Bu durum bazen takım arkadaşlarımın canını sıkabiliyor.

    İngilizce konuşma pratiği yapmaya ihtiyacım var.

BANA ULAŞIN

Adres

Yedikule / Fatih / İstanbul / Türkiye