کدهالیک | codehalic
3.47K subscribers
319 photos
8 videos
66 files
359 links
دوره های آموزشیمون رو از داخل سایت ببینید

https://codehalic.ir
Download Telegram
بهم ریختگی فارسی تو ترمینال #vscode با این درست میشه:

"terminal.integrated.fontFamily": "Cascadia Mono, Vazirmatn FD, Consolas, Courier New, monospace",
"terminal.integrated.gpuAcceleration": "off",
"terminal.integrated.fontSize": 15,
"terminal.integrated.lineHeight": 1.1,

سورس پست

@codehalics | کدهالیک
🔥21🆒1
با این لایبری که نوشتم به راحتی و بدون بروزر و در یک ثانیه میتونید چلنج آروان رو (همون که مینویسه «در ﺣﺎل اﻧﺘﻘﺎل ﺑﻪ ﺳﺎﯾﺖ ﻣﻮرد ﻧﻈﺮ ﻫﺴﺘﯿﺪ...») که مثلاً برای جلوگیری از کراولر و روبات‌هاست رو دور بزنید.
سورس رایگان:
https://github.com/NabiKAZ/arvancloud-bypass

Source

@codehalics | کدهالیک
3🔥2🙏1
اثر سیگموئیدی خیلی ساده می‌گه هر چیزی که یه مدت رشد نمایی و انفجاری داره، بالاخره یه جایی به محدودیت می‌خوره و رشدش کند می‌شه؛ یعنی نمودارش از حالت «همین‌جوری می‌ره بالا» تبدیل می‌شه به یه منحنی S شکل که کم‌کم صاف می‌شه. نویسنده این مقاله می‌گه راجب هوش مصنوعی شاید این حرف درسته، اما مشکل اینجاست که بعضی‌ها ازش یه نتیجه اشتباه می‌گیرن: می‌گن چون هوش مصنوعی هم بالاخره یه روزی کند می‌شه، پس الان لازم نیست خیلی جدی نگران رشد سریعش باشیم. حرف اصلی متن اینه که «کند شدنِ یک روند» حتماً اتفاق می‌افته، ولی هیچ تضمینی نیست که همین الان یا همین یکی دو سال آینده اتفاق بیفته. درباره هوش مصنوعی هم می‌گه اگر کسی ادعا می‌کنه رشد AI قبل از رسیدن به سطح‌های خیلی جدی و خطرناک متوقف می‌شه، باید دقیق توضیح بده چرا؛ مثلاً به خاطر محدودیت دیتاسنتر، داده، هزینه، الگوریتم یا چیزهای واقعی دیگه. صرفاً گفتنِ «همه رشدها آخرش سیگموئیدی می‌شن» کافی نیست، چون ممکنه هوش مصنوعی قبل از اینکه کند بشه، چند سال دیگه هم با همین سرعت جلو بره.

https://www.astralcodexten.com/p/the-sigmoids-wont-save-you

@codehalics | کدهالیک
2🤩1
خب امروز یکی دیگ از قوانین مهندسی نرم افزار که داره به KISS صحه میزاره رو قراره بررسی کنیم !
قانون کرنیگان می‌گه وقتی کدی رو زیادی پیچیده و هوشمندانه می‌نویسی، بعداً برای پیدا کردن باگ‌هاش چند برابر بیشتر اذیت می‌شی. موقع نوشتن کد، همه‌چیز توی ذهنت واضحه، ولی چند روز یا چند ماه بعد، همون کد می‌تونه برات تبدیل به یه معما بشه. پس بهتره کد رو ساده، خوانا و قابل‌فهم بنویسی؛ چون کدی که راحت فهمیده می‌شه، راحت‌تر هم درست و نگهداری می‌شه.

#lawsofsoftwareengineering

@codehalics | کدهالیک
2👍1
کدهالیک | codehalic
خب امروز یکی دیگ از قوانین مهندسی نرم افزار که داره به KISS صحه میزاره رو قراره بررسی کنیم ! قانون کرنیگان می‌گه وقتی کدی رو زیادی پیچیده و هوشمندانه می‌نویسی، بعداً برای پیدا کردن باگ‌هاش چند برابر بیشتر اذیت می‌شی. موقع نوشتن کد، همه‌چیز توی ذهنت واضحه،…
به طور مثال میگه یه روز پا میشی میای همچین کدی مینویسی میگی به به چه چه :

public string GetUserDisplay(User u) =>
u?.IsActive == true ? (u.Name ?? "").Trim() is var n && n.Length > 0
? n + (u.Role > 0 ? $" ({(Role)u.Role})" : "") : "Unknown" : "Inactive";

پس فردا یه باگ میخوری ولی نمیدونی از کدوم قسمتش ممکنه باشه چون بسیار خفن و پیچیده نوشتی ولی دیگ یه سال دیگ عقل امروزت که کدتو نوشتی رو نداری برمیگردی میگی این شتو کی نوشته بعد گیت لنز رو نگاه میکنی میبینی عه ایمیل خودته !

ولی میتونستی اینطوری بنویسیش

public string GetUserDisplay(User user)
{
if (user is null || !user.IsActive)
return "Inactive";

var name = user.Name?.Trim();

if (string.IsNullOrEmpty(name))
return "Unknown";

if (user.Role > 0)
return $"{name} ({(Role)user.Role})";

return name;
}

از نظر عملکرد کاملا مشابه هم دیگس ولی خوانایی این کد کجا اون کجا پس KISS مرد بزرگ !
@codehalics | کدهالیک
🆒1
کدهالیک | codehalic
خب امروز یکی دیگ از قوانین مهندسی نرم افزار که داره به KISS صحه میزاره رو قراره بررسی کنیم ! قانون کرنیگان می‌گه وقتی کدی رو زیادی پیچیده و هوشمندانه می‌نویسی، بعداً برای پیدا کردن باگ‌هاش چند برابر بیشتر اذیت می‌شی. موقع نوشتن کد، همه‌چیز توی ذهنت واضحه،…
این قانون یه پاراگراف طلایی داره که کرنیگان توی کتابش توی سال 1974(ببین دغدغه ملتو) نوشته که میگه :

The clever version might have taken 30 minutes to write, but debugging took 3 hours. Had the code been written clearly, it would’ve taken 45 minutes to write, but only 30 minutes to debug later.

@codehalics | کدهالیک
2
توی مک ابزار های زیادی برای وصل شدن به دیتابیس هست مثل navicat و datagrip و غیره که بعضا پولین
یه ابزار خیلی خوب که اوپن سورس و رایگانه و دیزاین شکیل و مک پسندی هم داره tablepro عه بنظرم ارزش نگاه کردن داره یه سر به ریپوش و سایتش بزنید !

https://tablepro.app/

https://github.com/TableProApp/TablePro

@codehalics | کدهالیک
👍2🆒1
خیلی دیدم آدما میشینن یه ابزار درست میکنن برای نوبت دهی و این چیزا یه پروژه اوپن سورسی که میتونی لوکالایزش کنی و بفروشیش همین پروژه cal.diy عه که خیلی تر تمیز و خفن با nextjs و trpc و اینا دولوپ شده میتونی سلف هاستد بیاری بالا بفروشیش به کلینیک های دندون پزشکی و آرایشگاها و اینا ! خیلی تر تمیزم هست واقعا و دیزاین خیلی خفنی داره بنظرم این ایده ها میتونه جذاب باشه ما که ایرانیزه میکنیم میتونیم اینارم بزنیم بفروشیم یه رزق حلالی ( ایشاله البته لایسنسش اجازه میده بهتون که حلال وار ازش پول درارید ) بزنید بر بدن !

https://github.com/calcom/cal.diy


@codehalics | کدهالیک
5🫡1
کدهالیک | codehalic
خیلی دیدم آدما میشینن یه ابزار درست میکنن برای نوبت دهی و این چیزا یه پروژه اوپن سورسی که میتونی لوکالایزش کنی و بفروشیش همین پروژه cal.diy عه که خیلی تر تمیز و خفن با nextjs و trpc و اینا دولوپ شده میتونی سلف هاستد بیاری بالا بفروشیش به کلینیک های دندون پزشکی…
فارسی نداره ولی arabic داره پس rtl داره و بعد il18n رو کانفیگ کرده کل داستانش اینه که یه فایل جیسون توش ترجمه کنین و ایزی ایزی تمام تمام
بعد بگردید دنبال مشتری و بفروشین بهش
ایده درآمد زیاده واقعا حتی همین n8n ام دیدم یکی داره میفروشه ( با اینکه نمیشه فروختش و لایسنسش میگه نباید بفروشی ! ) اما خب یه ترای کنین چیزای خوبی میشه ازش درآورد احتمالا

@codehalics | کدهالیک
1👏1🫡1
کدهالیک | codehalic
خیلی دیدم آدما میشینن یه ابزار درست میکنن برای نوبت دهی و این چیزا یه پروژه اوپن سورسی که میتونی لوکالایزش کنی و بفروشیش همین پروژه cal.diy عه که خیلی تر تمیز و خفن با nextjs و trpc و اینا دولوپ شده میتونی سلف هاستد بیاری بالا بفروشیش به کلینیک های دندون پزشکی…
اگه حلال و حروم سرتون میشه، قبل از استفاده از هر پروژه اوپن‌سورس، اول فایل LICENSE.md رو چک کنید. اینکه کد روی گیت‌هاب هست، یعنی قابل دیدنه، نه لزوماً قابل فروش یا استفاده تجاری.

به طور ساده، لایسنس‌هایی مثل MIT، Apache 2.0 و BSD معمولاً اجازه استفاده تجاری، تغییر و حتی فروش میدن، البته به شرط حفظ متن لایسنس و کپی‌رایت. GPL، AGPL و LGPL هم قابل استفاده تجاری هستن، ولی شرط دارن و ممکنه مجبور بشی سورس‌کد تغییراتت رو هم منتشر کنی. اما ریپوی بدون لایسنس، لایسنس‌های Non-Commercial و پروژه‌های Source-Available معمولاً مجوز واضحی برای فروش یا استفاده تجاری بهت نمی‌دن.

خلاصه اینکه: اوپن‌سورس بودن یعنی آزاد بودن طبق قانون لایسنس، نه آزاد بودن برای هر کاری.

@codehalics | کدهالیک
1👍1
کدهالیک | codehalic
اگه حلال و حروم سرتون میشه، قبل از استفاده از هر پروژه اوپن‌سورس، اول فایل LICENSE.md رو چک کنید. اینکه کد روی گیت‌هاب هست، یعنی قابل دیدنه، نه لزوماً قابل فروش یا استفاده تجاری. به طور ساده، لایسنس‌هایی مثل MIT، Apache 2.0 و BSD معمولاً اجازه استفاده تجاری،…
حالا شاید این سؤال پیش بیاد که Cursor چطور تونست VS Code رو فورک کنه، روش محصول تجاری بسازه و حتی به یک شرکت یونیکورن تبدیل بشه؟ نکته اینجاست که Cursor خود نسخه رسمی Visual Studio Code مایکروسافت رو نفروخته؛ بلکه از Code - OSS استفاده کرده، یعنی نسخه متن‌باز VS Code که با لایسنس MIT منتشر شده. این لایسنس اجازه استفاده تجاری، تغییر، توزیع و حتی فروش رو میده، به شرط حفظ متن لایسنس و کپی‌رایت. به همین دلیل Cursor تونست روی این پایه، برند و قابلیت‌های AI خودش رو بسازه و مدل تجاری مستقل خودش رو راه بندازه.

@codehalics | کدهالیک
3
کدهالیک | codehalic
شرکت یونیکورن
FYI : For Your Information

شرکت یونیکورن به استارتاپ خصوصی‌ای گفته میشه که ارزش‌گذاری‌اش به حداقل ۱ میلیارد دلار رسیده باشد.

مثلاً وقتی می‌گیم Cursor یک شرکت یونیکورن شده، یعنی سرمایه‌گذارها ارزش این شرکت را بیش از ۱ میلیارد دلار برآورد کرده‌اند، حتی اگر هنوز وارد بورس نشده باشد.

مثلا ما تو ایران یونیکورن نداریم نزدیکترین کسی که قرار بود یونیکورن بشه دیجیکالا بود که ارزشش نزدیک به 500 میلیون دلار بیشتر نیست
ولی یه محصول مثل کرسر در 2 هفته تونسته یونیکورن بشه ! دیجیکالا از سال 1384 داره محصول میفروشه :))))))))))))))))))))))

@codehalics | کدهالیک
🤪5😁2
یه پروژه اُپن سورس جذاب واسه اینکه اکانت واتساپ رو به API تبدیل کنی!

رایگان و self-hosted هست، با پشتیبانی از Multi Session، انواع webhook ها و API برای فرستادن پیام و فایل، ساخت و مدیریت گروه‌ها و ...

فقط کافیه کامند docker رو ران کنی تا روی لوکال بالا بیاد و بعدش QR کدش رو با گوشیت اسکن کنی :)

https://github.com/rmyndharis/OpenWA

Source

@codehalics | کدهالیک
3👍2
دنیا رو زیادی پیچیده‌اش کردیم؛ با وسایلی زندگی می‌کنیم که هیچ‌وقت کامل نمی‌فهمیم چطور کار می‌کنن، توی ساختمون‌ها و سیستم‌هایی که خیلی جاهاش حتی دست ما نیست، زیر قانون‌ها و ساختارهایی که کنترلی روشون نداریم. بیشتر عمرمون رو توی یه دنیای شلوغ، فشرده، مصنوعی و پر از استرس می‌گذرونیم؛ بین ماشین‌ها، آدم‌های غریبه، پول، کار، درس، اخبار، تکنولوژی و کلی چیز دیگه که انگار همیشه یه فشار نامرئی روی ذهن و بدنمون می‌ذارن. گاهی آدم دلش می‌خواد لپ‌تاپش رو ببنده، گوشی‌اش رو پرت کنه یه جایی، از مدرسه یا کار بزنه بیرون و فقط ساده زندگی کنه؛ غذا بخوره وقتی گرسنه‌ست، بخنده وقتی خوشحاله، گریه کنه وقتی دلش گرفته، باد و آب و پرنده‌ها رو حس کنه و دیگه دنبال نجات دادن دنیا نباشه. ولی بعد می‌فهمی فرار کامل از این دنیا نه واقعیه، نه کافی؛ چون هرچقدر هم دلمون یه زندگی ساده‌تر بخواد، باید سعی کنیم همین دنیای پیچیده رو تا حدی بفهمیم، فرق چیزای مهم و بی‌اهمیت رو تشخیص بدیم، بی‌خیال فکر کردن نشیم و با دانستن و آگاه بودن، حداقل یه سهم کوچیک توی زندگی خودمون و اطرافیانمون داشته باشیم.

لینک رفرنس
@codehalics | کدهالیک
6
مقاله درباره‌ی یه ایده‌ی خیلی عجیب ولی باحال توی رمزنگاریه: اینکه گاهی «چیزی که نمی‌تونیم ثابت کنیم» می‌تونه خودش تبدیل بشه به ابزار امنیتی.
اول از یه مفهوم به اسم اثبات بدون افشای اطلاعات یا Zero-Knowledge Proof شروع می‌کنه؛ یعنی من می‌خوام به تو ثابت کنم یه راز رو بلدم، بدون اینکه خود راز رو بهت بگم.
مثلاً فرض کن یه نقشه داریم که باید طوری با سه رنگ رنگ‌آمیزی بشه که هیچ دو ناحیه‌ی کنار هم هم‌رنگ نباشن. پیدا کردن رنگ‌آمیزی درست ممکنه خیلی سخت باشه، ولی چک کردن اینکه دو خانه‌ی کنار هم هم‌رنگ نیستن آسونه.
حالا من می‌خوام بهت ثابت کنم رنگ‌آمیزی درست رو بلدم، اما نمی‌خوام کل نقشه‌ی رنگ‌شده رو نشونت بدم. روش کلاسیک اینه که نقشه رو می‌پوشونم، تو هر بار یه مرز رو انتخاب می‌کنی، من فقط دو طرف همون مرز رو نشون می‌دم، و این کار چندین بار تکرار می‌شه تا مطمئن شی من واقعاً جواب رو دارم؛ اما در عین حال هیچ‌وقت کل جواب دستت نمیاد.
مشکل اینجاست که این مدل معمولاً نیاز به رفت‌وبرگشت داره؛ یعنی من و تو باید چند بار با هم تعامل کنیم. سال‌ها قبل ثابت شده بود که اگر بخوای همین کار رو فقط با یک متن یا یک فایل ثابت انجام بدی، بدون هیچ سؤال‌وجواب، طبق تعریف کلاسیک دیگه واقعاً Zero-Knowledge نیست.
کاری که Rahul Ilango کرده اینه که از یه مسیر متفاوت وارد شده: به‌جای اینکه ثابت کنه این اثبات هیچ چیزی لو نمی‌ده، می‌گه حتی اگر راهی برای لو رفتن وجود داشته باشه، هیچ‌کس نمی‌تونه عملاً ثابت کنه چنین راهی هست.
مثالش مثل قفلیه که روی جعبه‌اش نوشته:
«شاید در تئوری شکستنی باشم، ولی هیچ‌کس نمی‌تونه شکستنی بودنم رو ثابت یا ازش استفاده کنه.»
اگر کسی واقعاً راه شکستن قفل رو پیدا کنه، همون راه خودش مدرک شکستنی بودن قفل می‌شه؛ پس اگر چنین مدرکی عملاً غیرقابل‌ساختنه، قفل در عمل امن رفتار می‌کنه.
ایده‌ی مقاله همینجاست: Ilango از سختیِ اثبات کردن بعضی گزاره‌های ریاضی استفاده می‌کنه، نه فقط سختیِ حل کردن مسئله‌ها.
یعنی امنیت از این نمیاد که پیدا کردن جواب سخته؛ از این میاد که حتی ثابت کردنِ ناامن بودن سیستم هم می‌تونه آن‌قدر سخت یا غیرعملی باشه که انگار اصلاً قابل دانستن نیست.
برای همین مقاله می‌گه مرزهای خود ریاضی جاهایی که نمی‌دونیم یا نمی‌تونیم چیزی رو ثابت کنیم شاید بتونن برای ساختن نوع تازه‌ای از رمزنگاری استفاده بشن.

مقاله باحالیه یه سر بهش بزنین
https://www.quantamagazine.org/how-unknowable-math-can-help-hide-secrets-20260511/

@codehalics | کدهالیک
5👍1
کدهالیک | codehalic
مقاله درباره‌ی یه ایده‌ی خیلی عجیب ولی باحال توی رمزنگاریه: اینکه گاهی «چیزی که نمی‌تونیم ثابت کنیم» می‌تونه خودش تبدیل بشه به ابزار امنیتی. اول از یه مفهوم به اسم اثبات بدون افشای اطلاعات یا Zero-Knowledge Proof شروع می‌کنه؛ یعنی من می‌خوام به تو ثابت کنم…
من یه مثال بزنم برای فهم این موضوع چون خیلی میتونه توی طراحی یه سیستم به ما کمک کنه که امن بشه

توی مهندسی نرم‌افزار می‌شه این ایده رو با یه تسک ساده فهمید: فرض کن قراره لاگین با کلید خصوصی پیاده‌سازی کنی.
طراحی ضعیف اینه که کاربر یه secret یا چیزی شبیه پسورد رو برای سرور بفرسته تا سرور چکش کنه. اینجا هر جایی که اون secret رد بشه، یه نقطه‌ی خطره: لاگ‌ها، دیتابیس، ترافیک شبکه، یا حتی یه باگ ساده توی بک‌اند.
طراحی بهتر اینه که سرور یه متن تصادفی و یک‌بارمصرف به کاربر بده؛ کاربر اون رو با کلید خصوصی خودش امضا کنه، و سرور فقط امضا رو با کلید عمومی verify کنه.
یعنی کاربر ثابت می‌کنه «من صاحب این کلیدم»، بدون اینکه خود کلید خصوصی هیچ‌وقت از دستگاهش خارج بشه.
ربطش به مقاله هم همین‌جاست: امنیت خوب یعنی سیستم رو طوری طراحی کنی که حتی اگر کسی وسط راه وایستاده باشه، چیزی برای دزدیدن گیرش نیاد. راز نباید محافظت‌شده منتقل بشه؛ بهتره اصلاً منتقل نشه.

@codehalics | کدهالیک
3
یه ابزار متن‌باز جدید اومده برای نوت‌برداریه که به‌عنوان جایگزین ساده‌تر Obsidian معرفی شده؛ ایده‌اش اینه که یادداشت‌ها به‌جای قفل شدن داخل یک اپ، به‌صورت فایل‌های ساده Markdown روی سیستم خودت بمونن. این ابزار آفلاین و local-first کار می‌کنه، سبک و مینیماله و برای کسایی جذابه که می‌خوان روی نوت‌ها و آرشیو شخصی‌شون مالکیت کامل داشته باشن.

https://github.com/zakirullin/files.md

@codehalics | کدهالیک
🆒21
این ابزار یعنی Semble ابزار جدید برای سرچ کد مخصوص AI Agentهاست؛ یعنی به‌جای اینکه ایجنت کل فایل‌ها رو با grep پیدا و بخونه، با زبان طبیعی می‌پرسه «احراز هویت کجاست؟» یا «ذخیره مدل چطوری انجام می‌شه؟» و فقط تکه‌کدهای مرتبط رو می‌گیره. سازنده‌ها می‌گن این کار حدود ۹۸٪ توکن کمتر از روش grep+read مصرف می‌کنه، روی CPU و بدون API key اجرا می‌شه و با ابزارهایی مثل Claude Code، Cursor، Codex و OpenCode قابل استفاده است.
https://github.com/MinishLab/semble

@codehalics | کدهالیک
🆒1
توی این مقاله جدید می‌گه اسپم‌های تولیدشده با AI دارن فضای مشارکت در پروژه‌های متن‌باز رو خراب می‌کنن؛ از کامنت‌ها و پلن‌های بی‌کیفیت گرفته تا PRهای تست‌نشده و حتی بحث‌های ساختگی. راه‌حلشون این بوده که مشارکت در ریپو رو فقط برای افراد onboard شده باز کنن و با یک ترفند Git، یعنی استفاده از فلگ --author، کاربرهای واقعی رو به‌عنوان contributor شناسایی و whitelist کنن؛ تصمیمی سخت، ولی برای حفظ کیفیت کامیونیتی و کاهش نویز AI لازم دونستن.

https://archestra.ai/blog/only-responsible-ai

@codehalics | کدهالیک
👨‍💻21
This media is not supported in your browser
VIEW IN TELEGRAM
بات‌های تلگرام از امروز باهم حرف می‌زنند

تلگرام قابلیت جدیدی اضافه کرده که بات‌ها می‌توانند مستقیم با یکدیگر صحبت کنند.

مثلا میشه یه بات بزاری بره خبرارو برات بیاره یه بات بزاری تحلیلش کنه یه بات بزاری پستش کنه یه جور نگاه ایجنت به بات ها داره و این خیلی میتونه جالب و جذاب باشه

@codehalics | کدهالیک
5🥴3🔥1