Ahmed Ashraf

Ahmed Ashraf

Backend Engineer interested in PHP, GO, Javascript and Databases

Laravel Design Patterns: Facade

AR Mar 02

الـFacade pattern بالعربيه (المزيف) تعريفه: المزيف وظيفته انه يقوم بإخفاء التفاصيل المعقده لـclass معين دون الحاجه الي إظهار اي تفاصيل دقيقه عن الـClass الذي يقوم بتزييفه تعريف النمط علي ويكيبيديا: The facade pattern (also spelled façade) is a software-design pattern commonly used in object-oriented programming. Analogous to a facade in architecture, a facade is an object that serves as a front-facing interface masking more complex underlying or structural code. A facade can:

Laravel Request lifecycle

AR Feb 23

بنشرح في الفيديو ده ازاي لارافيل بتتعامل مع الريكوست Request من اول ما يوصل الابلكيشن لغايه ما يرجع ريسبونس Response

Laravel Performance (Eloquent & Database)

AR Feb 23

الفيديو ده بنشرح فيه علي Project بسيط ازاي نعرف المشاكل اللي ممكن تظهر في البروجكت مع حجم الداتا الكبير، و ازاي ممكن نعالجها من قبل ما تظهر و نتاكد ان الكود و ال Queries اللي بتحصل علي قاعده البيانات هتبقي شغاله ب افضل اداء ممكن اللينك ده هيساعدك تعرف اسئلة الانترفيو في لارافيل و هتديلك خلفيه بشكل كويس عن ايه نوعية الاسئله https://www.toptal.com/laravel#hiring-guide

Laravel Design Patterns: Decorator

AR Feb 08

الـ Decorator pattern بالعربيه ( المزخرف ). تعريفه: المزخرف وظيفته انه يقوم بإضافة سلوك علي كائن (object) دون التاثير علي الكائنات الاخري من نفس الفئه (class) و سنتعرف علي معني ذلك لاحقاً. تعريف النمط (pattern) علي موقع ويكيبيدا هو نموذج التصميم ديكور يهدف إلى توفير وسيلة لربط الحالات الجديدة والسلوك إلى كائن بطريقة ديناميكية. والكائن لا يعلم انه يجري عليه عملية ديكور “Decoration” ، الأمر الذي يجعل هذا النموذج مفيد لتطور النظم.

Webpack, Vue, Tailwind, TypeScript for 2020

EN Jan 16

توضيح صغير قبل ما ابدا و هو ان المقاله دي مجرد سرد لبعض المعلومات اللي قدرت افهمها عن Go Channels و ازاي ممكن استخدمها بشكل صحيح نسبياً و ازاي تكون Scalable ويكون فيه نظام اقدر اتابع منها اداءها عامل ازاي ما هي Go Channels من علي موقع GoLang نفسه بيقول Channels are the pipes that connect concurrent goroutines. You can send values into channels from one goroutine and receive those values into another goroutine.

Symfony 5 The Fast Track review

AR Jan 12

بسم الله الرحمن الرحيم في المقاله دي هتكلم عن رايي ف كتاب Symfony الجديد Symfony 5 The Fast track و هتكلم عن ايجابيات و سلبيات الكتاب من وجهه نظري الشخصيه اولا الكتاب اتكلم ف مواضيع كتير و هتبقي مفيده جدا لاي حد بيبدا يشتغل مع Symfony او PHP عموما. الكتاب بيستعرض المميزات و سهوله سيمفوني في بناء اي تطبيق و المثال اللي الكتاب بيشتغل عليه هو Conference reviews app. ف انت عندك صفحتين في الابلكيشن كله.

Simple steps to Dockerize your Laravel app

EN Dec 18

Golang Channels & Monitoring with Prometheus & Grafana

EN Dec 08

توضيح صغير قبل ما ابدا و هو ان المقاله دي مجرد سرد لبعض المعلومات اللي قدرت افهمها عن Go Channels و ازاي ممكن استخدمها بشكل صحيح نسبياً و ازاي تكون Scalable ويكون فيه نظام اقدر اتابع منها اداءها عامل ازاي ما هي Go Channels من علي موقع GoLang نفسه بيقول Channels are the pipes that connect concurrent goroutines. You can send values into channels from one goroutine and receive those values into another goroutine.

Twitter @ShareAsPic app with Go & Chromedp

EN Nov 06

Golang Channels & Monitoring with Prometheus & Grafana

AR Oct 31

توضيح صغير قبل ما ابدا و هو ان المقاله دي مجرد سرد لبعض المعلومات اللي قدرت افهمها عن Go Channels و ازاي ممكن استخدمها بشكل صحيح نسبياً و ازاي تكون Scalable ويكون فيه نظام اقدر اتابع منها اداءها عامل ازاي ما هي Go Channels من علي موقع GoLang نفسه بيقول Channels are the pipes that connect concurrent goroutines. You can send values into channels from one goroutine and receive those values into another goroutine.

Twitter @ShareAsPic app with Go & Chromedp

AR Oct 16

العادي ان كل فتره بلاقي تويته عجباني ليها علاقه بشغلي اني بصورها و انزلها ع الفيسبوك عندي او اي جروب انا شايف ان التويته ممكن تكون مفيده فيه. ف استخدمت بعض الادوات المتاحه اللي ساعدتني في اقل من ٢٠ ساعه اني اخلص التطبيق بالشكل اللي انا شايفه مناسب للغرض اللي انا عاوزه او بما معناه MVP و مش تطبيق scalable. ف حابب اني اشارك انا عملتها ازاي واتمني الموضوع يكون مفيد ليك.

My 2018 farewell

EN Dec 31

I don’t know how to start, but I didn’t have the intent to write my farewell, since a lot of people I follow published their farewell, I decided to write one to encourage myself to do better things next year. Personal life: Engaged at 16th Feb. Graduated. Married at 17th August. Moved to Berlin, Germany. Work: I didn't have a plan to achieve for 2018, so things happened in a random way.

Understand Laravel Event::fake() with Models Events

EN May 16

GoLang API rate limit

EN Feb 13

A few days ago I published my first go package GoLang Rate Limit. the purpose of this package is to prevent DDos attack and control the rate of traffic sent or received on the network. In this article I will describe how to implement it with gorilla/mux. So let's start with writing a simple API package main import ( "log" "net/http" "github.com/gorilla/mux" ) func main() { // Initialize Router router := mux.

Write your first GoLang app with unit tests and code coverage

EN Feb 07

Go is a compiled, statically typed programming language created by Google. before starting I will assume that you are installed Go and printed a hello world . if you didn't do that yet install Go on your machine from here. What I will discuss/share with u here is how we could write a simple app that sum two integers with a TDD and Code Coverage. Step 1 : Starting a new Go Project I will create a simple main.