DevGuide
Photo
24 Good Resources to Learn Software Architecture in 2025 💯
The resources can be divided into different types such as:
Some books that can help are DDIA, System Design Volume 1 & 2, Clean Architecture, Domain-Driven Design, and Software Architecture: the Hard Parts
Read technical blogs by companies like Netflix, Uber, Meta, and Airbnb. Also, the ByteByteGo newsletter provides insights into software design every week.
YouTube channels like MIT Distributed Systems, Goto Conferences, and ByteByteGo can help with software architecture and system design. Azure Architecture Center and AWS Architecture Blog are other important resources.
For deeper insights, read whitepapers like Facebook Memcache Scaling, Cassandra, Amazon DynamoDB, Kafka, and Google File System.
A Software Architect also needs to develop holistic skills. Books about software career aspects such as Pragmatic Programmer, The Software Architect Elevator, The Software Engineer's Guidebook, and Philosophy of Software Design can help.
The resources can be divided into different types such as:
1- Software Design Books
Some books that can help are DDIA, System Design Volume 1 & 2, Clean Architecture, Domain-Driven Design, and Software Architecture: the Hard Parts
2- Tech Blogs and Newsletters
Read technical blogs by companies like Netflix, Uber, Meta, and Airbnb. Also, the ByteByteGo newsletter provides insights into software design every week.
3- YouTube Channels and Architectural Resources
YouTube channels like MIT Distributed Systems, Goto Conferences, and ByteByteGo can help with software architecture and system design. Azure Architecture Center and AWS Architecture Blog are other important resources.
4- WhitePapers
For deeper insights, read whitepapers like Facebook Memcache Scaling, Cassandra, Amazon DynamoDB, Kafka, and Google File System.
5- Software Career Books
A Software Architect also needs to develop holistic skills. Books about software career aspects such as Pragmatic Programmer, The Software Architect Elevator, The Software Engineer's Guidebook, and Philosophy of Software Design can help.
❤5👍1
أهم 5 طرق لتحسين أداء الـ API 🚀
.
.
هل الـ API عندك بطيء؟ الـ requests بتتأخر؟ السيرفر بيستهلك موارد كتير؟ 🤔
لو بتتعامل مع الـ APIs باستمرار، مهم جدًا تعرف إن تحسين الأداء جزء أساسي لنظام سريع وقابل للتوسع. كل ملي ثانية بتفرق: تجربة مستخدم أفضل، تكلفة أقل، وضغط أقل على الـ infrastructure.
تعال ندردش شوية عن أهم 5 طرق لتحسين أداء الـ API... 🔥
———
https://www.linkedin.com/posts/dev-alisamir_api-backendeveloper-softwaredeveloper-activity-7300167777254805505-uFam
https://qabilah.com/posts/DVgkkr3BYMw
———
وفقكم الله لكل خير ☘️
.
.
هل الـ API عندك بطيء؟ الـ requests بتتأخر؟ السيرفر بيستهلك موارد كتير؟ 🤔
لو بتتعامل مع الـ APIs باستمرار، مهم جدًا تعرف إن تحسين الأداء جزء أساسي لنظام سريع وقابل للتوسع. كل ملي ثانية بتفرق: تجربة مستخدم أفضل، تكلفة أقل، وضغط أقل على الـ infrastructure.
تعال ندردش شوية عن أهم 5 طرق لتحسين أداء الـ API... 🔥
———
https://www.linkedin.com/posts/dev-alisamir_api-backendeveloper-softwaredeveloper-activity-7300167777254805505-uFam
📍 Qabilah
https://qabilah.com/posts/DVgkkr3BYMw
———
وفقكم الله لكل خير ☘️
❤5
Yesterday Angular v19.2 was released 🎉
Even though this isn't a major release, we have some great new features!
1️⃣ The new experimental httpResource (Signal based API calls
2️⃣ Support default value in resource()
3️⃣ Support streaming resources
4️⃣ Support for hashtag#TypeScript 5.8
5️⃣ Support untagged template literals in expressions
6️⃣ A schematic to migrate to Self Closing tags
There are also some notable bug changes and other improvements. If you want to read the full release notes and dive into the code you can find everything here:
https://github.com/angular/angular/releases/tag/19.2.0
👍2
Next.js 15.2
• Redesigned Error UI & Improved Stack Traces
• Streaming Metadata
• Turbopack Performance Improvements
• View Transitions (experimental)
• Node.js Middleware (experimental)
https://nextjs.org/blog/next-15-2
• Redesigned Error UI & Improved Stack Traces
• Streaming Metadata
• Turbopack Performance Improvements
• View Transitions (experimental)
• Node.js Middleware (experimental)
https://nextjs.org/blog/next-15-2
nextjs.org
Next.js 15.2
Next.js 15.2 includes updates for debugging errors, metadata, Turbopack, and more.
❤5
The Chance 2025
برنامج تدريبي مخصص لتأهيل المتدربين على العمل في الشركات الأكبر على مستوى الشرق الأوسط.
https://www.the-chance.net
برنامج تدريبي مخصص لتأهيل المتدربين على العمل في الشركات الأكبر على مستوى الشرق الأوسط.
https://www.the-chance.net
❤3
Master the Art of Crafting Responsive Web Apps like a Pro!
A must-have DevTool for all web developers that will make your job easier.
https://responsively.app
❤8
AI Agents Course
by Hugging Face 🤗
This free course will take you on a journey, from beginner to expert, in understanding, using and building AI agents.
https://huggingface.co/learn/agents-course/unit0/introduction
by Hugging Face 🤗
This free course will take you on a journey, from beginner to expert, in understanding, using and building AI agents.
https://huggingface.co/learn/agents-course/unit0/introduction
❤2
لما تيجي تبني موقع بـ Next.js، ممكن تلاقي نفسك محتاج تمنع بعض المستخدمين من الوصول لصفحات معينة، سواء لأنهم مش مسجلين دخولهم (Unauthorized - 401) أو لأن الصفحة مش متاحة لهم أساسًا (Forbidden - 403). 🛑
دردشة خفيفة عن الفرق بين الصفحتين، امتى تستخدم كل واحدة فيهم، وإزاي تطبقهم في Next.js 15 بطريقة منظمة وسهلة. 💯
———
📍 Dev Community
https://dev.to/alisamir/unauthorized-and-forbidden-pages-in-nextjs-15-2jm
📍 Medium
https://medium.com/@dev.alisamir/unauthorized-and-forbidden-pages-in-next-js-15-%EF%B8%8F-e2ec267a4697
دردشة خفيفة عن الفرق بين الصفحتين، امتى تستخدم كل واحدة فيهم، وإزاي تطبقهم في Next.js 15 بطريقة منظمة وسهلة. 💯
———
Unauthorized and Forbidden Pages in Next.js 15 🛑
📍 Dev Community
https://dev.to/alisamir/unauthorized-and-forbidden-pages-in-nextjs-15-2jm
📍 Medium
https://medium.com/@dev.alisamir/unauthorized-and-forbidden-pages-in-next-js-15-%EF%B8%8F-e2ec267a4697
❤3🔥1
The Intelligent Terminal. 🔥
Become a command line power user on day one.
Warp combines AI and your dev team’s knowledge in one fast, intuitive terminal.
https://www.warp.dev
❤8
ESLint now officially supports linting of CSS ⚡️
Taking our next step towards providing a language-agnostic platform for source code linting.
https://eslint.org/blog/2025/02/eslint-css-support
eslint.org
ESLint now officially supports linting of CSS - ESLint - Pluggable JavaScript Linter
A pluggable and configurable linter tool for identifying and reporting on patterns in JavaScript. Maintain your code quality with ease.
❤5
الـدَيْـن التـقـنـي .. Technical Debt 💰
.
.
عارف لما تبقى مستعجل تخلص شغل، فتقول "ما علينا، خلينا نعديها دلوقتي، وبعدين نرجع نصلحها"؟ المشكلة إن "بعدين" دي غالبًا مش بتيجي، وبتلاقي نفسك في دوامة مشاكل ملهاش نهاية! 👀
في عالم البرمجة، فيه حاجة اسمها Technical Debt أو الدين التقني، وده ببساطة الكود اللي بيتم كتابته بسرعة أو بدون اهتمام بالجودة، علشان ننجز حاجة معينة على المدى القصير، لكن على المدى الطويل بيتحول لكابوس! 😨
———
https://www.linkedin.com/posts/dev-alisamir_devabrguide-activity-7302372227067310080-ReYE
https://qabilah.com/posts/VZC8RNt70Xo
.
.
عارف لما تبقى مستعجل تخلص شغل، فتقول "ما علينا، خلينا نعديها دلوقتي، وبعدين نرجع نصلحها"؟ المشكلة إن "بعدين" دي غالبًا مش بتيجي، وبتلاقي نفسك في دوامة مشاكل ملهاش نهاية! 👀
في عالم البرمجة، فيه حاجة اسمها Technical Debt أو الدين التقني، وده ببساطة الكود اللي بيتم كتابته بسرعة أو بدون اهتمام بالجودة، علشان ننجز حاجة معينة على المدى القصير، لكن على المدى الطويل بيتحول لكابوس! 😨
———
https://www.linkedin.com/posts/dev-alisamir_devabrguide-activity-7302372227067310080-ReYE
📍 Qabilah
https://qabilah.com/posts/VZC8RNt70Xo
❤5👏1🤯1
10 Best GitHub Repositories to Learn Node.js (2025) 💯
1- Learn Node.js – A Beginner-Friendly Guide
https://github.com/manthanank/learn-nodejs
2- Node.js Best Practices
https://github.com/goldbergyoni/nodebestpractices
3- Node.js Projects
https://github.com/MAshrafM/NodeJS_Projects
4- JavaScript Algorithms
https://github.com/trekhleb/javanoscript-algorithms
5- Awesome Node.js
https://github.com/sindresorhus/awesome-nodejs
6- Node.js Full Stack Tutorial
https://github.com/Subham-Maity/node-js-full-stack-tutorial
7- The Node.js Master Class
https://github.com/pirple/The-NodeJS-Master-Class
8- Learn You Node
https://github.com/workshopper/learnyounode
9- Express.js Boilerplate
https://github.com/hagopj13/node-express-boilerplate
10- GraphQL Starter Kit
https://github.com/kriasoft/graphql-starter-kit
❤3👏1
Operating Systems Course for Beginners 🚀
This course will give you a comprehensive understanding of how operating systems function and manage resources.
https://youtu.be/yK1uBHPdp30
👍3
Professional English for Software Engineer
This program is designed to provide you with the knowledge, skills, and tools necessary to become a highly effective professional communicator.
https://app.manara.tech/learning/36
❤5
The Complete Backend Developer Roadmap 2025 🔥
https://miro.com/app/board/uXjVLx4LrpU=
https://docs.google.com/document/d/18XX61zq7HwtyNYoOV-VRNChx-CxGK8VJi3BLjXx2n_s
❤5
ليه لازم تستخدم الـ Module Bundler؟ 🤔
.
.
لما تبدأ مشروع ويب جديد، الأمور في الأول بتكون بسيطة وسهلة، مجرد كام ملف HTML و CSS و JavaScript، وكل حاجة شغالة تمام.
لكن مع الوقت، ومع إضافة ميزات جديدة، بتبدأ الأمور تتعقد تدريجيًا، وتلاقي نفسك بتواجه مشاكل زي بطء التحميل أو صعوبة في تنظيم الكود...
والحل السحري لكل المشاكل دي هو الـ Module Bundler... تعال نوضح الموضوع ببساطة...💯
———
إيه هو الـ Module Bundler؟ 🛠
ببساطة، هو أداة بتاخد كل الملفات اللي بتستخدمها في مشروعك (JS, CSS, Images... إلخ)، وتظبطها وتجمعهم في ملف واحد أو مجموعة ملفات صغيرة ومنظمة، بحيث تكون جاهزة للتشغيل على المتصفح بكفاءة عالية.
من أشهر الـ Bundlers اللي ممكن تستخدمهم:
- Webpack
- Vite
- Parcel
- Rollup
———
ليه تستخدم الـ Module Bundler؟ 🤷♂️
1- تحسين الأداء (Performance Optimization) 🚀
- بيعمل Minification للكود، يعني بيشيل المسافات والتعليقات الزايدة، فحجم الملف بيصغر ويتحمّل أسرع.
- بيعمل Tree Shaking، يعني بيشيل أي كود مش مستخدم من المشروع علشان يبقى خفيف.
2- تقليل عدد الـ Requests 📦
بدل ما المتصفح يطلب 100 ملف JavaScript و CSS، الـ Bundler بيحطهم في ملف واحد أو كام ملف قليلين، فالصفحة تفتح أسرع.
3- التعامل مع الـ Dependencies بسهولة 🔗
لو بتستخدم مكتبات زي React أو Vue، الـ Bundler بينظمها ويدمجها في الكود بذكاء.
4- التوافق مع جميع المتصفحات 🌐
بيحول الكود الحديث لكود قديم مفهوم للمتصفحات القديمة باستخدام أدوات زي Babel.
5- سهولة تقسيم الكود (Code Splitting) 🧩
ممكن تحمل أجزاء معينة من الكود لما تحتاجها بس، بدل ما تحمل كل حاجة مرة واحدة، وده بيسرّع الصفحة.
6- دعم الـ Hot Reloading 🔄
مع أدوات التطوير اللي بتيجي مع الـ Bundler (زي Vite أو Webpack Dev Server)، لما تعدل الكود الصفحة بتتحدث لوحدها من غير ما تعمل Refresh.
7- سهولة التعامل مع الملفات المختلفة 🎨
تقدر تستخدم CSS و SCSS وتضيف صور وخطوط بسهولة عن طريق إعدادات الـ Bundler زي الـ Loaders في Webpack.
———
امتى ممكن تستغنى عن الـ Bundler؟ ❌
لو مشروعك صغير جدًا، زي صفحة HTML بسيطة مع شوية CSS و JS، ممكن تشتغل من غير Bundler. لكن لو المشروع كبر ودخل فيه مكتبات أو أكواد كتير، هتحتاجه جدًا.
———
خلاصة الكلام 🎯
استخدام Module Bundler بيساعدك في:
✅ تحسين الأداء وتسريع التحميل.
✅ تنظيم المشروع وتقليل المشاكل.
✅ توافق أفضل مع المتصفحات.
✅ تجربة تطوير أسهل وأسرع.
———
وفقكم الله لكل خير 🌿
.
.
لما تبدأ مشروع ويب جديد، الأمور في الأول بتكون بسيطة وسهلة، مجرد كام ملف HTML و CSS و JavaScript، وكل حاجة شغالة تمام.
لكن مع الوقت، ومع إضافة ميزات جديدة، بتبدأ الأمور تتعقد تدريجيًا، وتلاقي نفسك بتواجه مشاكل زي بطء التحميل أو صعوبة في تنظيم الكود...
والحل السحري لكل المشاكل دي هو الـ Module Bundler... تعال نوضح الموضوع ببساطة...💯
———
إيه هو الـ Module Bundler؟ 🛠
ببساطة، هو أداة بتاخد كل الملفات اللي بتستخدمها في مشروعك (JS, CSS, Images... إلخ)، وتظبطها وتجمعهم في ملف واحد أو مجموعة ملفات صغيرة ومنظمة، بحيث تكون جاهزة للتشغيل على المتصفح بكفاءة عالية.
من أشهر الـ Bundlers اللي ممكن تستخدمهم:
- Webpack
- Vite
- Parcel
- Rollup
———
ليه تستخدم الـ Module Bundler؟ 🤷♂️
1- تحسين الأداء (Performance Optimization) 🚀
- بيعمل Minification للكود، يعني بيشيل المسافات والتعليقات الزايدة، فحجم الملف بيصغر ويتحمّل أسرع.
- بيعمل Tree Shaking، يعني بيشيل أي كود مش مستخدم من المشروع علشان يبقى خفيف.
2- تقليل عدد الـ Requests 📦
بدل ما المتصفح يطلب 100 ملف JavaScript و CSS، الـ Bundler بيحطهم في ملف واحد أو كام ملف قليلين، فالصفحة تفتح أسرع.
3- التعامل مع الـ Dependencies بسهولة 🔗
لو بتستخدم مكتبات زي React أو Vue، الـ Bundler بينظمها ويدمجها في الكود بذكاء.
4- التوافق مع جميع المتصفحات 🌐
بيحول الكود الحديث لكود قديم مفهوم للمتصفحات القديمة باستخدام أدوات زي Babel.
5- سهولة تقسيم الكود (Code Splitting) 🧩
ممكن تحمل أجزاء معينة من الكود لما تحتاجها بس، بدل ما تحمل كل حاجة مرة واحدة، وده بيسرّع الصفحة.
6- دعم الـ Hot Reloading 🔄
مع أدوات التطوير اللي بتيجي مع الـ Bundler (زي Vite أو Webpack Dev Server)، لما تعدل الكود الصفحة بتتحدث لوحدها من غير ما تعمل Refresh.
7- سهولة التعامل مع الملفات المختلفة 🎨
تقدر تستخدم CSS و SCSS وتضيف صور وخطوط بسهولة عن طريق إعدادات الـ Bundler زي الـ Loaders في Webpack.
———
امتى ممكن تستغنى عن الـ Bundler؟ ❌
لو مشروعك صغير جدًا، زي صفحة HTML بسيطة مع شوية CSS و JS، ممكن تشتغل من غير Bundler. لكن لو المشروع كبر ودخل فيه مكتبات أو أكواد كتير، هتحتاجه جدًا.
———
خلاصة الكلام 🎯
استخدام Module Bundler بيساعدك في:
✅ تحسين الأداء وتسريع التحميل.
✅ تنظيم المشروع وتقليل المشاكل.
✅ توافق أفضل مع المتصفحات.
✅ تجربة تطوير أسهل وأسرع.
———
وفقكم الله لكل خير 🌿
❤12👍5👏2