CleverDevs
11K subscribers
784 photos
286 videos
29 files
487 links
به کانال کلوردوز خوش اومدین

سعی میکنیم چیزایی که بنظر کاربردی هستن رو باهاتون به اشتراک بزاریم


🔥لینوکس
🔥برنامه نویسی فرانت‌اند
🔥برنامه نویسی بک‌اند
🔥اخبار تکنولوژی و...

💢~> @mmdrsdev
Download Telegram
توی کدای کرنل برای سیستم‌کال reboot شما باید دوتا magic value به تابع بدید تا کرنل برای ایمنی مطمئن بشه فراخوانی سیستم‌کال تصادفی نبوده.

مقدار اول همیشه باید 0xfee1dead باشه (که به شکل هگزادسیمال کلمه‌ی feel dead رو تداعی می‌کنه).
اما مقدار دوم باید یکی از این چهار تا عدد باشه که اگه به هگزادسیمال تبدیلش کنیم در واقع تاریخ تولد خود لینوس توروالدز و سه تا از دخترهاشه:
تاریخ تولد لینوس
تاریخ تولد دختر اول (پاتریشیا)
تاریخ تولد دختر دوم (دانیلا)
تاریخ تولد دختر سوم (سلست)
این درواقع یه Easter egg توی کد کرنله که تاریخ تولد لینوس و دخترهاش رو به عنوان magic valueهای reboot استفاده می‌کنه.

#linux | <trish>
@CleverDevs - @CleverDevsGp
❤41🔥5👍3😁2
Forwarded from TechTube 𝕏 تک توب
شرکت کوالکام اعلام کرده قرار هست پشتیبانی رسمی لپتاپهای مجهز به چیپ Snapdragon X2 از لینوکس رو به این لپتاپها اضافه کنه که دستگاه قدرتمندی با معماری ARM رو در اختیار دوست داران لینوکس قرار میده.

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

حالا کوالکام گفته که تا اخر سال میلادی جاری پشتیبانی از توزیع Debian 13 رو اضافه خواهد کرد و پشتیبانی از ابونتو هم در نیمه اول سال میلادی اینده اضافه خواهد شد.

پشتیبانی از هر لپتاپها مجهز به چیپهای Snapdragon X2 باید به طور جداگانه اضافه بشه و این شرکت برنامه ای برای اضافه کردن پشتیبانی لینوکس در دستگاه هایی به جز لپتاپ، مثل مینی پی سی ها رو فعلا نداره. همچنین دستگاه های مجهز به نسل اول چیپهای Snapdragon X هم از لینوکس پشتیبانی رسمی نخواهند داشت.

اضافه کردن پشتیبانی از لینوکس صرفا یک پشتیبانی ساده محدود نخواهد بود و این شرکت قرار هست پشتیبانی از درایورهای گرافیکی متن باز Freedreno, Turnip و Rusticl رو اضافه کنه. همچنین درایورهایی برای دسترسی به Hexagon NPU ارائه خواهد شد تا امکان از اون در عملیات هوش مصنوعی امکان پذیر باشه.

کوالکام از لپتاپ شرکتهای HP، ایسوس و HUMAIN به عنوان نخستین لپتاپهایی که پشتیبانی از لینوکس رو اضافه میکنن یاد کرده.

🔎 videocardz

📍 @TechTube
🔥18❤4👍3⚡1
یکی از کامند‌های بدرد بخور لینوکس که برای دیباگ کردن میتونه کمکتون کنه strace (مخفف system call trace) هست.

این کامند توی دیباگ‌های برنامه‌ها مخصوصاً اونایی که سورس‌کدشون در دسترس نیست خیلی بدرد میخوره. strace میاد و تمام سیستم‌کال‌هایی که برنامه استفاده کرده رو نشون میده و اگه هرکدوم اروری داشته باشه میتونید ببینیدش و بفهمید مشکل از کجاس.

برای مثال میخوایم ببینیم کامند ls از چه سیستم‌کال‌هایی استفاده میکنه:
strace ls

یا فقط میخوایم خروجی‌های مربوط به یه سیستم‌کال خاص (مثلاً باز کردن فایل) رو ببینیم:
strace -e trace=openat ls


یا میتونید با فلگ p- به پروسسی که در حال اجراس یا هنگ کرده وصل بشید و چکش کنید:
 strace -p <PID>


توی تصویر بالا هم یه نمونه خروجی رو می‌‌بینید که برنامه بدون ارور مشخص خارج می‌شد، اما strace نشون میده ارور بخاطر پیدا نشدن فایل کانفیگ توی اون مسیر بوده.

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

#tools #linux
@CleverDevs - @CleverDevsGp
❤18👍5🔥5
خیلی وقتا که از ایجنت‌ها برای کدنویسی استفاده می‌کنید، برای یه تسک ساده یا کلی پکیج اضافه نصب می‌کنن یا دچار Over-engineering می‌شن و چرخ رو از اول اختراع می‌کنن!
پروژه‌ای به اسم Ponytail اومده که به ایجنت یاد میده مثل یه «سینیور دولوپر تنبل» فکر کنه؛ کم حرف بزنه، پکیج اضافه نصب نکنه و با فیچرهای نیتیو کار رو دربیاره

مثلاً وقتی از ایجنت یه Date Picker ساده می‌خواید، به جای اینکه بره کلی کامپوننت و جاوااسکریپت بنویسه یا پکیج نصب کنه، با Ponytail خروجی میشه فقط همین:
<!-- ponytail: browser has one -->
<input type="date">


طبق بنچمارک‌های خودشون این رویکرد حجم کدهای اضافی رو تا ۵۴٪ و مصرف توکن رو حدود ۲۰٪ کاهش میده.
البته باید حواستون باشه که کیفیت کد رو فدای کوتاهیش نکنه

جدا از فایل پرامپت خالص، این پروژه به‌صورت پلاگین/اسکیل برای ایجنت های مختلف در دسترسه.

حتی با دستوراتی مثل /ponytail ultra (برای حداکثر سخت‌گیری در حداقل‌نویسی) یا /ponytail-review (برای بازبینی و حذف کدهای اضافه در Diff فعلی) میتونید کنترل دقیق‌تری روی خروجی ایجنت داشته باشید

برای اطلاعات بیشتر دربارش یه سر به گیت هابش بزنید

📌 Github
#tools #ai
@CleverDevs - @CleverDevsGp
❤10👍5🔥3👎1🆒1
Forwarded from TechTube 𝕏 تک توب
شرکت Cloudflare نسخه پایدار ابزار EmDash رو عرضه کرده که جایگزین سریع و ایمن وردپرس برای ساخت وبسایت هست.

این ابزار بر مبنای فریمورک Astro بنا شده، سرعت بسیار بالایی داره که یکی از معایب سایتهای مبتنی بر وردپرس هست، دارای پشتیبانی از CLI، API و MCP هست بنابراین ایجنتهای هوش مصنوعی به راحتی میتونن با اون کار کنن و تغییرات مدنظر کاربر رو با یک پرامپت رو سایت اعمال کنن. مشابه وردپرس هم دارای سیستم تولید و مدیریت محتوا هست.

این ابزار کاملا متن باز هست و از پلتفرم کلادفلر به طور کامل پشتیبانی میکنه که باعث میشه کاربران بتونن حداقل برای شروع به صورت مجانی از اون استفاده کنن. طبیعتا امکان استقرار اون روی سرور مجازی شخصی کاربر هم وجود داره.

از جمله مزیت های بسیار مهم اون سیستم پلاگین ایزوله هست. برخلاف پلاگینهای وردپرس که با نصب شدن به همه بخشهای سایت وردپرس از جمله دیتابیس و کدها دسترسی دارن و یکی از بزرگترین حفره های امنیتی سایتهای وردپرسی هست، در EmDash پلاگین ها به صورت ایزوله در پراسس جدایی با مجوزهای مشخص اجرا میشن.

بنابراین وقتی پلاگینی مثلا فقط نیاز به بهینه کردن عکسها داره، لزومی نداره به محتوای پستها دسترسی داشته باشه، یا وقتی پلاگینی فقط نیاز به خوندن محتوای پستها داره، لزومی نداره بتونه اونهارو ویرایش کنه، که این مشکلات در سیستم ایزوله و مجوزدهی EmDash حل شده هستن.

این شرکت اینقدر از این ابزار مطمئن هست که چند وقت پیش کل وبلاگش رو به این ابزار منتقل کرد که به طور هفتگی میلیونها بازدید میگیره و پیک سرعت اون 5000 درخواست بر ثانیه بوده.

کلادفلر همچنین برای این ابزار یک سایت ساز هوش مصنوعی ساخته که از ادرس build.emdashcms.com در دسترس هست و کاربران با چند پرامپت میتونن سایت مدنظرشون رو با استفاده از این ابزار و بدون نیاز به کد زدن بسازن.

🔎 cloudflare

📍 @TechTube
❤26👍4🔥3👎1
توی گیت یه مفهومی داریم به اسم hunk که به هر تیکه از تغییرات توی خروجی git diff گفته میشه

یعنی چی؟ مثلا ما اومدیم سه قسمت از کد رو تغییر دادیم که با هم دیگه فاصله دارن و بینشون از کدهای قدیمی وجود داره. معمولاً هرکدوم از این بخش‌ها یه hunk حساب میشن
کاربردش چیه؟ گاهی ما می‌خوایم فقط یکی از این تغییرات رو کامیت کنیم و بقیه رو برای بعد نگه داریم یا برعکس، می‌خوایم یکی از این بخش‌ها فعلاً کامیت نشه

برای این کار از دستور git add -p یا git add --patch استفاده می‌کنیم. گیت میاد و برای هرکدوم از این بخش‌ها ازمون می‌پرسه که می‌خوای به staging اضافش کنم یا نه
ما می‌تونیم با زدن کلید y تأیید کنیم و با n ردش کنیم. اگه بخوایم یکی از این hunkها رو به بخش‌های کوچیک‌تر تقسیم کنیم، می‌تونیم s رو بزنیم تا گیت در صورت امکان این کار رو انجام بده. اگه نتونست تقسیمش کنه، می‌تونیم با زدن e خودمون patch رو دستی ادیت کنیم.

#git
@CleverDevs - @CleverDevsGp
👌18❤11👍8