TECH STASH – Telegram
TECH STASH
212 subscribers
115 photos
5 videos
15 files
254 links
اینجا هر چی رو که یاد میگیرم، به اشتراک میزارم...
هوش مصنوعی، لینوکس، اوپن سورس، برنامه نویسی و...

Admin: @D3F4U1T_ARS
Download Telegram
#Lua
#Programming
#Part2

اکوسیستم lua یه زمانی اصلا وجود خارجی نداشت... یعنی یه زمانی هیچ پکیج منیجری برای lua وجود نداشت

اما بسیاری از افراد داخل این کامیونیتی حرکت هایی برای ساخت اکوسیستم lua انجام دادن. برای مثال یه پکیج منیجر مخصوص lua ساختن به اسم luarocks.

https://luarocks.org/

حتی خود این وبسایت هم توسط زبان lua ران میشه. بخش backend این وبسایت از web framework به زبان lua ران میشه به اسم lapis.

https://github.com/luarocks/luarocks-site

و اینکه lapis خودش از Openresty که یه پلتفرم nginx based هست استفاده میکنه و باید بگم که خیلی سریعه...

پلتفرم nginx و openresty ساپورت زبان lua دارن... ولی خب نمیدونم چقدر تو production استفاده میشن.

https://leafo.net/lapis/

بنچمارک وب فریم ورک هارو اینجا میتونید ببینید

https://www.techempower.com/benchmarks/

و openresty در جایگاه 112 ام قرار داره
با توجه به اینکه fastapi در جایگاه 279 ام قرار داره... باید بگم که واقعا نتایج خیلی سورپرایز کننده ای هست

همینطور که میبینید یه زبان superset ای هم برای lua ساخته شده به اسم Moonnoscript که خیلی از ویژگی های مدرن زبان های دیگه رو به زبان lua آورده.

https://moonnoscript.org/

جالب اینه که فقط این یه مورد نیست. مورد های دیگه ای هم داریم. مثل Teal که ورژن استاتیک تایپ Lua هست و به Lua ترجمه میشه...
#Lua
#Programming
#Part3

من خودم کمی تو اکوسیستم lua گشتم و لایبرری هارو و وضعیتشون رو دیدم... همه چه پخش و پلا هست.

luarocks

کار رو واسه گیر آوردن لایبرری ها آسون کرده. اما لایبرری ها توسعه داده نمیشن. یه سریاشون هم دراپ شدن توسط توسعه دهنده اصلی و توسط lunarmodules و openresty توسعه داده میشن

لایبرری های خیلی خوبی هم واسه lua داریم ولی بیشتر این لایبرری ها تو حالت freeze قرار دارن. یعنی کار میکنن ولی توسعه داده نمیشن.

شایدم به خاطر اینه که چون روی یه C API قدیمی توسعه داده شدن و چون C API عه آپدیت نشده بنابراین دیگه نیازی به توسعه نداشته.



ولی خب چاره ای هم نیست. چون ماهیت Lua زبان مینیمال و embed-able هست هیچ کسی نمیاد باهاش کار general purpose انجام بده...

و سرمایه بزرگی هم پشتش نیست مثل JS یا Python.

به یکی از نمونه از شکاف داخل کامیونیتی lua اشاره میکنم:
https://luvit.io/
اینم یه نوع از توزیع های lua که واسه کارایه وب استفاده میکنن. و واسه نصب این باید از خود وبسایتش دانلود و نصب کنید. و همینطور پکیج منیجر خودش رو داره.

نباید بیشتر از یه پکیج منیجر داشتیم... اما ماهیت این زبان حکم میکنه که اوضاع به همین قرار میمونه.
#Lua
#Programming
#Part4

زبان Lua زبان خیلی سریعی هست اگر با LuaJIT اجرا بشه. اونقدر سریع که از یه سری از زبان های کامپایل شده هم میتونه سریع تر باشه.
چون که مستقیم به C کامپایل میشه قبل اجرا.
همین یکی از دلایلی هست که این زبان تحسین میشه


اما قطعا کار سختی هستش که این زبان رو تبدیل کرد به زبانی که براش ساخته نشده و باهاش کارایی کرد که براش ساخته نشده.

استفاده این زبان فقط embed-able هست و متاسفانه برخلاف امید من تا ابد هم همینطور خواهد ماند.
اما در میان زبان های embed-able این بهترین زبان ساخته شده هست.

از Game Engine ها تا ابزار های معروفی مثل nmap, conky, mpv و حتی freebsd kernel ازش استفاده میکنن برای ساخت noscripting API و استفاده از اون.


پس خلاصه بخوام بگم. زبان Lua برای general-purpose programming ساخته نشده. برای embed شدن و noscripting ساخته شده.

اکوسیستم خیلی پر کیفیتی نداره.

به مشکلات autocomplete برمیخورید چون که توسعه دهنده ها lua api خوبی برای ماژول های C اشون ننوشتن. تو برنامه هایی هم که embed دارنش هم همینطور.
خب
طبق معمول به مشکلات keyserver داخل distrobox arch linux ام خوردم
ولی خب این یکی با نصب archlinux-keyring فیکس نشد
پشمام
راه حلم همین الان کار کرد
اگر با
sudo pacman -Syy archlinux-keyring
فیکس نشد اینو بزنید
sudo pacman-key --refresh-keys
واسه من یکم این پروسه طولانی بود. ولی فیکس کرد


شاید مشکل از سرور میرور هم باشه که reflector میتونه کمک کنه بهتراشو انتخاب کنید
sudo reflector -c gb,fr,de -f 10 -p http,https -l 10 --sort rate --save /etc/pacman.d/mirrorlist
باید بپرسم که چخبره...
از کی مستقیم میتونم از انویدیا دانلود کنم؟
یا سرور درایورشون منتقل شده؟
با عقل جور در نمیاد
یه جای کار ملینگه
آهان
بعد نگم که روی همراه اول CF WARP اوکیه
کلا اوضاع عحیب
از اونطرف فیلترینگ شدید میشنوم
بعد میبینم اینطوریه


اینترنت ایران شده سیرک
What the actual f***
Forwarded from memealloc
Forwarded from memealloc
Forwarded from Currently Nothing (Sohrab)
زمانش نرسیده کامپیوترمون رو تمیز کنیم؟😁


#meme
--------------------
🧑‍💻 @sbstuff
TECH STASH
What the actual f***
خب به نظر میاد یه جای کار خراب کاری کردم 😅😅😅
این حاصل از باگ کدم بود

باید خروجی کدم رو بررسی میکردم