اطلع على اهم المقالات

blog_image

software life cycle steps to start project

Sept. 16, 2023, midnight

software life cycle steps to start project
أعمل ايه علشان ابدء مشروع او احل مشكلة

علشان تبدء تعمل مشروع او تحل مشكله لازم تعمل خطوات Software Development Life Cycle هما 5 خطوات.

1- requirement analysis: 
انت هنا لازم تعرف كل متطلبات المشروع يعني لو شغال على مشروع إدارة مخازن لازم تكون عارف متطلبات المشروع زي (الأصناف, الموردين, فاتورة شراء, فاتورة مبيعات, تحويلات المخازن, الوحدات, ...) و لازم تعرف input و output في كل واحد.

2- design:
هنا بقا دي مرحة التصميم ... التصميم هنا مش يعني UI/UX لا هنا يعني كيف تقسم الشغل بتاعك قبل ما تعمل code يعني روح هات ورقه و قلم و قول مثلا في مشروع إدارة المخازن استخدم قاعدة بينات SQL و اعمل class لكل model علشان لما اجي اعدل عليه اعرف ألقيها و اعدل عليه بسهوله و اعمل call لل data من قاعدة البينات داخل ال model الأصناف و model الموردين و هكذا. يعني بمعنى اصح قسم المشروع بطريقه تسهل عليك الشغل.

3- implementation:
دي مرحله كتابة الcode بتاعك و تختار الide بتاعك و اللغه اللي تشتغل عليها و تبدء تطبق اللي انت عملته في الجزء الخاص ب الdesign داخل الimplementation يعني بمعنى اصح كدا implement the design.

4- testing:
دي اهم مرحله وهيا تتأكد ان الcode شغال 100% و بيعمل run. 

5- evolution:
دي بقا لو العميل/انت عايز تطور من المشروع و عايز تضيف future جديده و هنا اكيد الfuture دي مكنتش موجود في المرحله الأولى و هيا مرحله requirement و اكيد هنا future جديده لازم تلف على cycle من الأول.

evolution for fix, modify a bug and add future.

blog_image

data structure hierarchy and difference between data structure and algorithm

Sept. 19, 2023, 9:29 a.m.

data structure hierarchy:
 data structure hierarchy تجزئ لقسمين
-    Primitive data structure
-    Nonprimitive data structure
Primitive data structure:
هيا لتخزين البينات البسيطة مثل (الإسم, العمر, رقم هاتف, سعر صنف) و تأخذ متغير واحد فقط. أنواع 
primitive data structure (int, float, double, char, string, boolean)

Nonprimitive data structure:
يخزن فيها أنواع البينات الكبيره من أنواع متغيره مثال بسيط مثل بينات الموظفين 
(Fname, Sname, age, phone number, email, debarment,…)  .
 Nonprimitive data structure  تجزئ لقسمين 
-    Linear data structure
-    Nonlinear data structure

Linear data structure VS Nonlinear data structure

Linear data structure VS Nonlinear data structure

Linear data structure

 و هيا تمثل أي هيكل يكون على شكل خطي مثل
 (array, stack, queue, linked list {singly linked list, doubly linked list, circular liked list}) و تخزن البينات على الشكل التالي في array المثال في نهاية المقال

Nonlinear data structure:

وهو عكس ال Linear Data Structure تماما والصورة الخاصة بال Linear توضح المقارنة بينهم فيمكن أن نقول أن البيانات في ال Non-Linear لا تخزن بجانب بعضها ولكنها تكون مرتبطة ببعضها بشكل ما.

مثال على Nonlinear:

Nonlinear

data structure hierarchy:

data structure hierarchy
difference between data structure and algorithm:
DS:
هيكل البينات هوا شكل هيكلي لتخزين البينات بأشكال عديدة
You can insert, delete, search through, update, and other operations in data structures.
Data structures include arrays, linked lists, stacks, queues, trees, graphs, hash tables, and so on.

A:
Algorithm  تقوم باختيار خوارزميه لحل مشكله ما على البينات المدخله لها مثال اذا تريد ان تبحث عن شيء في البينات او تريد ان توصل لهدف معين في اقصر وقت او تريد ترتب بيناتك بخوارزميه سريه ولا تستهلك من مصادر جهازك.
Algorithms allow you to perform sorting, searching, optimization, pathfinding, and other tasks.
Algorithms include Sorting, Searching, Graph Traversal, Dynamic Programming, Divide and Conquer, and so on

Searching types:
-    Linear Search
-    Sentinel Linear Search
-    Binary Search
-    Meta Binary Search | One-Sided Binary Search
-    Ternary Search
-    Jump Search
-    Interpolation Search
-    Exponential Search
-    Fibonacci Search
-    The Ubiquitous Binary Search

 Sorting types:
-    Selection Sort
-    Bubble Sort
-    Insertion Sort
-    Merge Sort
-    Quick Sort
-    Heap Sort
-    Counting Sort
-    Radix Sort
-    Bucket Sort
-    Bingo Sort Algorithm
-    ShellSort
-    TimSort
-    Comb Sort
-    Pigeonhole Sort
-    Cycle Sort
-    Cocktail Sort
-    Strand Sort
-    Bitonic Sort
-    Pancake sorting
-    BogoSort or Permutation Sort
-    Gnome Sort
-    Stooge Sort
-    Tree Sort

blog_image

Learn git and difference between pull and fetch, difference between workspace and local repository

Sept. 30, 2023, 1:43 a.m.

Learn git part 2-2 - YouTube

Learn:

- GIT

- difference between pull and fetch

- difference between workspace and local repository

github:

يستخدم في المشاريع الكبيره و يعمل عليها فريق كبير في اي مكان و كل فريق يأخذ نسخه طبق الأصل من المشروع الرئسي و يعمل عليها وبعد الإنتهاء يقومون بدمج عملهم مع المشروع الرئسي بعد ان يتم اختباره بنجاح و يقومون برفعها على كلاود github

difference between pull and fetch:

difference between pull and fetch

difference between workspace and local repository:

difference between workspace and local repository

GIT:

git_tree

git-init - Create an empty Git repository or reinitialize an existing one
Git - git-init Documentation (git-scm.com)
git-status - Show the working tree status

Git - git-status Documentation (git-scm.com)
git-log - Show commit logs
Git - git-log Documentation (git-scm.com)
git-add - Add file contents to the index
Git - git-add Documentation (git-scm.com)
git-checkout - Switch branches or restore working tree files
Git - git-checkout Documentation (git-scm.com)
git-merge - Join two or more development histories together
Git - git-merge Documentation (git-scm.com)
git-branch - List, create, or delete branches
Git - git-branch Documentation (git-scm.com)
git-commit - Record changes to the repository
Git - git-commit Documentation (git-scm.com)
git-remote - Manage set of tracked repositories
Git - git-remote Documentation (git-scm.com)
git-pull - Fetch from and integrate with another repository or a local branch
Git - git-pull Documentation (git-scm.com)
git-fetch - Download objects and refs from another repository
Git - git-fetch Documentation (git-scm.com)
git-clone - Clone a repository into a new directory
Git - git-clone Documentation (git-scm.com)
git-push - Update remote refs along with associated objects
Git - git-push Documentation (git-scm.com)