Forwarded from قناة خوارزمي أنا
كما تعلمون أن الأخطاء في Go عبارة عن نصوص،
هنا في هذا المثال أردت أن أجلب حقولا معينة من هذا النص والذي هو عبارة عن خطأين من SQL بالضبط من قاعدة بيانات SQLite.
قمت بكتابة هذا التعبير القياسي Regex:
سيتم الآن استخراج نوعية الخطأ هل هو UNIQUE أو CHECK
وسيتم اسخراج اسم الجدول users و حقله username
وهذا كل ما أريده!
رابط الموقع المستخدم لتجربة التعابير القياسية هو:
https://regex101.com/
يمكنك اختيار لغة البرمجة التي تريد.
#خوارزمي_أنا #SQL #SQLite #Golang
هنا في هذا المثال أردت أن أجلب حقولا معينة من هذا النص والذي هو عبارة عن خطأين من SQL بالضبط من قاعدة بيانات SQLite.
قمت بكتابة هذا التعبير القياسي Regex:
constraint failed: (\w+) constraint failed: (?:chk_)?(\w+)[\.|_](\w+)
الأقواس تعني أنني أود التقاط الكلمات داخلها واستخراجها:سيتم الآن استخراج نوعية الخطأ هل هو UNIQUE أو CHECK
وسيتم اسخراج اسم الجدول users و حقله username
وهذا كل ما أريده!
رابط الموقع المستخدم لتجربة التعابير القياسية هو:
https://regex101.com/
يمكنك اختيار لغة البرمجة التي تريد.
#خوارزمي_أنا #SQL #SQLite #Golang
Forwarded from قناة خوارزمي أنا
إذا كنتَ مطور برامج رسومية لسطح المكتب لتعمل على جميع الأنظمة (Linux Windows Mac) قد تختار غالبا إحدى هذه المكتبات Qt أو GTK مع لغة Cpp.
وقد تختار برمجتها أيضا بأداة ElectronJs، لأنها تمكن مطوري تطبيقات الويب من بناء برامج مكتبية، وبما أن إلكيترون هو أسوأ شيء حصل في تاريخ البرمجيات، فقد وُجدت بدائل عنه تمكنك أيضا من استغلال معرفتك السابقة بالويب لكن مع لغات برمجة أخرى أكثر قوة من JavaScript.
هناك ثلاث بدائل قوية حتى الآن، Qt مع QML و Wails و Tauri.
Qt:
- الواجهة: QML مع Javascript
- الشفرة الأساسية: Cpp
Wails:
- الواجهة: HTML/CSS مع Javascript
- الشفرة الأساسية: Golang
Tauri:
- الواجهة: HTML/CSS مع Javascript
- الشفرة الأساسية: Rust
يجدر الذكر هنا أن لغة جافاسكريبت ليست هي اللغة التي ستبرمج بها بشكل أساسي، بل هي فقط لتتفاعل مع الواجهة (مثلا تستقبل بيانات من لغة Go، أو تساعدك في ترتيب المعلومات أو لتحريك جزء معين من الواجهة).
شخصيا برمجتُ بإطار Qt كثيرا جدا، لكن تعلم تقنية QML (الرائعة) بكل تفاصيلها يحتاج إلى وقت طويل، مع أني تعلمتها في النهاية إلا أنني لم أستطع مواكبة كل شيء فيها فتركتها بسبب ضيق الوقت (كنت أحتاج إلى بديل آخر).
تعرفتُ على Tauri وآناذاك كان يحوي أسوأ توثيق رأيته في حياتي وبشهادة مطوريها ههه، الآن أصبح توثيقهم مكتملا. كما أنه يستخدم لغة Rust وتعلمها يحتاج وقتا أطول، كما أنها لا تروقني أصلا بسبب تعقيدها شكلها الغريب!
ثم تعرفتُ على Wails، وتعلمت لغة Go بسببه، وهو أفضل بديل لبرمجة تطبيقات سريعة خفيفة وصغيرة الحجم، مع إمكانية الاستفادة من خبرتك في الويب لتصميم الواجهة، ومع إمكانية تصدير برنامجك إلى لغة الآلة من منصة واحدة إلى جميع المنصات المكتبية بسرعة وبدون مشاكل بفضل لغة Go.
وبما أنه لدي خبرة في إطار الويب Svelte لذلك اخترت هذا الخليط:
Svelte + CSS + Go = Wails app
وقد أقولها بصراحة، هذا أفضل خليط خرجت به حتى الآن!
لغة Go سهلة التعلم وسريعة وتمكنك من تصدير برنامجك من أي نظام بسرعة وعلى شكل ملف تنفيذي واحد فقط!
إطار الويب Svelte سهل التعلم وذكي وممتع!
ماذا عنك؟ مالذي ستختار؟ 👇
#خوارزمي_أنا #golang #rust #wails #tauri #javascript #electronjs #css #svelte #Qt #QML #cpp #GTK
وقد تختار برمجتها أيضا بأداة ElectronJs، لأنها تمكن مطوري تطبيقات الويب من بناء برامج مكتبية، وبما أن إلكيترون هو أسوأ شيء حصل في تاريخ البرمجيات، فقد وُجدت بدائل عنه تمكنك أيضا من استغلال معرفتك السابقة بالويب لكن مع لغات برمجة أخرى أكثر قوة من JavaScript.
هناك ثلاث بدائل قوية حتى الآن، Qt مع QML و Wails و Tauri.
Qt:
- الواجهة: QML مع Javascript
- الشفرة الأساسية: Cpp
Wails:
- الواجهة: HTML/CSS مع Javascript
- الشفرة الأساسية: Golang
Tauri:
- الواجهة: HTML/CSS مع Javascript
- الشفرة الأساسية: Rust
يجدر الذكر هنا أن لغة جافاسكريبت ليست هي اللغة التي ستبرمج بها بشكل أساسي، بل هي فقط لتتفاعل مع الواجهة (مثلا تستقبل بيانات من لغة Go، أو تساعدك في ترتيب المعلومات أو لتحريك جزء معين من الواجهة).
شخصيا برمجتُ بإطار Qt كثيرا جدا، لكن تعلم تقنية QML (الرائعة) بكل تفاصيلها يحتاج إلى وقت طويل، مع أني تعلمتها في النهاية إلا أنني لم أستطع مواكبة كل شيء فيها فتركتها بسبب ضيق الوقت (كنت أحتاج إلى بديل آخر).
تعرفتُ على Tauri وآناذاك كان يحوي أسوأ توثيق رأيته في حياتي وبشهادة مطوريها ههه، الآن أصبح توثيقهم مكتملا. كما أنه يستخدم لغة Rust وتعلمها يحتاج وقتا أطول، كما أنها لا تروقني أصلا بسبب تعقيدها شكلها الغريب!
ثم تعرفتُ على Wails، وتعلمت لغة Go بسببه، وهو أفضل بديل لبرمجة تطبيقات سريعة خفيفة وصغيرة الحجم، مع إمكانية الاستفادة من خبرتك في الويب لتصميم الواجهة، ومع إمكانية تصدير برنامجك إلى لغة الآلة من منصة واحدة إلى جميع المنصات المكتبية بسرعة وبدون مشاكل بفضل لغة Go.
وبما أنه لدي خبرة في إطار الويب Svelte لذلك اخترت هذا الخليط:
Svelte + CSS + Go = Wails app
وقد أقولها بصراحة، هذا أفضل خليط خرجت به حتى الآن!
لغة Go سهلة التعلم وسريعة وتمكنك من تصدير برنامجك من أي نظام بسرعة وعلى شكل ملف تنفيذي واحد فقط!
إطار الويب Svelte سهل التعلم وذكي وممتع!
ماذا عنك؟ مالذي ستختار؟ 👇
#خوارزمي_أنا #golang #rust #wails #tauri #javascript #electronjs #css #svelte #Qt #QML #cpp #GTK
Forwarded from قناة خوارزمي أنا
فاين fyne هو إطار عمل متكامل لبناء تطبيقات رسومية GUI عابرة لجميع الأنظمة سواء المكتبية (لينكس ماك وويندوز) أو الهواتف (أندرويد وآبل) بلغة البرمجة Go.
والآن تم إضافة مخطط للعمل على توفير بناء لتطبيقات الهواتف الخاصة بلينكس كـ PinePhone و Librem.
أيضا سيتم العمل على دعم Wayland بالنسبة للينكس 🌹
الرابط:
https://youtu.be/15pSttFgLHE
#خوارزمي_أنا #golang #fyne #ui #librem #pinephone #linux
والآن تم إضافة مخطط للعمل على توفير بناء لتطبيقات الهواتف الخاصة بلينكس كـ PinePhone و Librem.
أيضا سيتم العمل على دعم Wayland بالنسبة للينكس 🌹
الرابط:
https://youtu.be/15pSttFgLHE
#خوارزمي_أنا #golang #fyne #ui #librem #pinephone #linux