Syntax | سینتکس
Відкрити в Telegram
Focus: Web Lan: Python & Go Website: https://syntaxfa.ir Quick connect: https://quick-connect.syntaxfa.ir Github: https://github.com/syntaxfa Group: https://t.me/Syntax_fa_group
Показати більше3 033
Підписники
-124 години
+357 днів
+7430 день
Архів дописів
3 033
برای حذف کامل ادیتور zed تو لینوکس اینکارو کنید:
~/.local/bin/zed zed --uninstall
rm -rf ~/.local/zed.app
rm ~/.local/bin/zed
rm ~/.local/share/applications/dev.zed.Zed.desktop
rm -rf ~/.local/share/zed
rm -rf ~/.config/zed
rm -rf ~/.cache/zed
هیچ اثری ازش باقی نمیمونه انگار که هیچوقت سمتش نرفتید
#fun
@Syntax_fa3 033
معرفی Redis Insight
یه ابزار گرافیکی خوشساخت و راحت برای Redis هست که باهاش میتونی خیلی راحت دیتابیست رو ببینی، مدیریت کنی و حتی از قابلیتهای حرفهای Redis هم استفاده کنی.
چیزایی که Redis Insight برات روون و آسون میکنه:
میتونی دادههات (کلید-مقدار) رو خیلی راحت مرور، فیلتر و حتی به شکلهای مختلف ببینی (مثل JSON، هگز، ASCII و …)
میتونی خیلی راحت روی انواع ساختار داده مثل لیست، هش، استرینگ، ست، ست مرتب و استریم CRUD انجام بدی
جیسان(JSON) هم پشتیبانی میکنه، میتونی مستقیم با دادههای ساختاریافته کار کنی
آموزشهای تعاملی داره که نشون میده چطور از JSON استفاده کنی، جستجوهای قوی انجام بدی و حتی برای پروژههای AI مثل سرچ برداری ازش کمک بگیری
خودش پیشنهادهایی برای بهتر شدن کارایی و مصرف حافظه بهت میده و این پیشنهادها بسته به کاری که میکنی تغییر میکنن
پروفایلر(Profiler) داره که همهی دستوراتی که میفرستی رو لحظهای بررسی میکنه
ا SlowLog هم داره تا ببینی چه چیزایی تو Redis کند اجرا شدن
سیستم Pub/Sub هم پشتیبانی میکنه؛ یعنی میتونی تو کانالها عضو شی و پیام رد و بدل کنی
قابلیت حذف گروهی کلیدها رو هم داره (وقتی با فیلتر دنبال یه سری کلید خاص میگردی)
ا Workbench یه خط فرمان باحال داره با تکمیل خودکار و نمایش گرافیکی دادهها
حتی میتونی نمایش گرافیکی نتایج سرچ و ایندکسها رو ببینی و اگه بخوای، پلاگین خودت رو هم برای نمایش دادهها بسازی
https://github.com/RedisInsight/RedisInsight
#redis
@Syntax_fa
3 033
چند تا کامند داکر برای پاکسازی و آزاد کردن فضا
پاک کردن فضای بلا استفاده داکر هر چند وقت یبار نیازه وگرنه اگه مثل من از داکر زیاد استفاده کنید ممکنه کلی فضا بگیره.
1. حذف همه چیزهای استفاده نشده (Containers, Images, Networks, Volumes)
این دستور جامعترین راه برای آزاد کردن فضاست و تمام آبجکتهای داکر که در حال استفاده نیستن (کانتینرهای متوقف شده، ایمیجهای بدون استفاده، شبکههای بدون اتصال و والیوم های بدون کاربرد) رو حذف میکنه:
docker system prune
اگه میخواید والیوم های بدون استفاده هم حذف بشن، از فلگ —volumes استفاده کنید:
docker system prune --volumes
2. حذف کانتینرهای متوقف شده
این دستور فقط کانتینرهایی رو حذف میکنه که در حال اجرا نیستن:
docker container prune
3. حذف ایمیجهای بدون استفاده (Dangling Images)
ا. Dangling Images ایمیجهایی هستن که تگ ندارن و توسط هیچ کانتینری استفاده نمیشن:
docker image prune
برای حذف تمام ایمیجهای استفاده نشده (حتی اونایی که توسط کانتینری استفاده نمیشن ولی تگ دارن)، از سوییچ —all یا -a استفاده کنید:
Bash
docker image prune -a
4. حذف ولومهای بدون استفاده
این دستور ولومهایی رو حذف میکنه که به هیچ کانتینری متصل نیستن:
docker volume prune
5. حذف شبکههای بدون استفاده
این دستور شبکههایی رو حذف میکنه که هیچ کانتینری بهشون متصل نیست:
docker network prune
نمایش فضای اشغال شده:
برای مشاهده فضای کلی اشغال شده توسط داکر و جزئیات مربوط به ایمیجها، کانتینرها و والیوم ها، میتونید از دستور زیر استفاده کنید:
docker system df
#docker
@Syntax_fa3 033
اگه حس میکنی توی زندگی گم شدی، شاید به این خاطره که داری از نقشه یه نفر دیگه استفاده میکنی!
خیلی از ما ناخودآگاه دنبال راه و رسم بقیه میریم؛ مثلا چون آقای X کارش گرفته و ایده خانم Y ترکیده، ما هم با تقلید همون راه رو میریم!!!
یه چنل یوتیوب بزنم مثل فلانی ... یه پیج اینستاگرام بزنم مثل بمانی ... پایه ای پادکست بزنیم پول پارو کنیم؟ حاجی ترید مثل آب خوردنه بزنیم تو کارش؟
این وسط یه سوال مهم فراموش میشه! ما واقعا مناسب این کارها هستیم؟ روحیاتمون و شرایط خانوادگیمون این اجازه رو میده؟
اکثر این نقشهها مال بقیه ست و مخصوص خودشونه. اگه بخوای راه خودت رو پیدا کنی، باید بشینی و ببینی با توجه به وضعیتت چه چیزی مناسبته!
این روزها همه دارن یوتیوبر میشن ولی قطعا بالای 90 درصدشون شکست میخورن. دلیل؟ تولیدمحتوای ویدیویی در یک بازه زمانی طولانی کار هرکسی نیست و با شرایط زندگی همه آدمها جور در نمیاد.
بهتره بریم سراغ ارزشهای غیرتحمیلی! چیزی که حاصل عشق و تفکر خودمونه نه تحمیل جامعه و سوشال مدیا ...
کولهبار شکستهامون رو با رفتارهای هیجانی سنگینتر نکنیم.
کانال منبع:
source
@Syntax_fa
3 033
در ردیس وقتی ttl یک کلید رو میگیریم، اگه کلید وجود نداشته باشه مقدار بازگشتی:
3 033
صفحه بندی داده دادهها: Limit/Offset و Cursor-Based
وقتی صحبت از نمایش حجم زیادی از دادهها در صفحات مختلف میشه، استفاده از pagination ضروری میشه. دو روش رایج برای این کار وجود داره که هر کدوم سادگیها و چالشهای خاص خودشون رو دارن:
صفحه بندی با Limit و Offset سادگی ولی ...
صفحه بندی با Limit و Offset رو میشه سادهترین و اولین روشی دونست که به ذهن میرسه. شما به دیتابیس میگید "فقط Limit تا رکورد بهم بده" و "از Offset مشخصی شروع کن".
سادگی:
پیادهسازی خیلی آسونی داره.
برای صفحات اول که تعداد رکوردها کمه، عملکرد خوبی داره.
چالشها:
عملکرد ضعیف در صفحات بالا: با افزایش
Offset، دیتابیس مجبور میشه تعداد زیادی از رکوردها رو اسکن کنه و بعد اونا رو دور بندازه که باعث کندی شدید میشه.
مشکل تغییر دادهها: اگه در حین حرکت بین صفحات، دادهای اضافه یا حذف بشه، ممکنه رکوردهای تکراری ببینید یا بعضی از رکوردها رو از دست بدید.
مرتبسازی (Sorting): معمولاً نیازمند مرتبسازی روی یک فیلد ثابت هستید تا نتیجه قابل پیشبینی باشه.
مثال ساده (SQL):
برای گرفتن ۱۰ رکورد اول از جدول products (صفحه ۱):
SELECT *
FROM products
ORDER BY id
LIMIT 10 OFFSET 0;
برای گرفتن ۱۰ رکورد بعدی (صفحه ۲):
SELECT *
FROM products
ORDER BY id
LIMIT 10 OFFSET 10;
صفحه بندی با روش Cursor-Based Pagination: راه حلی برای مقیاسپذیری
صفحه بندی با Cursor-based pagination با استفاده از یک "نشانگر" (cursor) که معمولاً یک فیلد یکتا و مرتبسازی شده (مثل تاریخ ایجاد یا ID) هست، صفحه بعدی رو مشخص میکنه. به جای گفتن "صفحه N رو بیار"، میگیم "رکوردها رو از بعد از این نقطه مشخص بیار".
محدودیتها و نکتهها:
پیچیدگی پیادهسازی: نسبت به Limit/Offset کمی پیچیدهتره و نیازمند طراحی دقیقتر کوئریهاست.
مرتبسازی: باید همیشه بر اساس فیلد Cursor مرتبسازی انجام بشه. این یعنی نمیتونید هر جور دلتون خواست دادهها رو مرتب کنید.
پرش به صفحات دلخواه: معمولاً قابلیت "پرش به صفحه 5" رو نداره و فقط میتونید به صفحه بعدی یا قبلی برید (Next/Previous). مناسب برای فیدها و لیستهای طولانی: برای سیستمهایی مثل فید شبکههای اجتماعی که فقط به اسکرول کردن ادامه دار نیاز دارن و پرش به صفحه خاصی مطرح نیست، عالی عمل میکنه.
مثال ساده (SQL):
فرض کنید آخرین id محصولی که در صفحه قبلی دیدهاید 1234 بوده:
SELECT *
FROM products
WHERE id > 1234
ORDER BY id
LIMIT 10;
#pagination #sql
@Syntax_fa3 033
Dispatching
تا حالا دیدی تو یه مرکز تماس، اپراتور تماس رو وصل میکنه به بخش مناسب؟ مثلاً مشکل فنی داری میری پشتیبانی، پولی باشه میری حسابداری؟ خب اون کاری که اپراتوره میکنه رو بهش میگن Dispatch
توی برنامهنویسی هم همینه:
یه درخواست میاد، سیستم نگاه میکنه، میفرستدش به جای درست
یه مثال ساده با GO
switch contactType {
case "technical":
technicalSupport()
case "accounting":
accounting()
case "sales":
sales()
}
بسته به اینکه contactType چیه، میفرستیمش به تابع مناسب.
انواع Dispatch تو Go
1. Dynamic Dispatch با اینترفیس:
تو زمان اجرا تصمیم میگیریم کدوم متد رو صدا بزنیم:
var s Speaker
s = Dog{} // Woof!
s = Cat{} // Meow!
2. Dispatch از طریق کانالها:
با select منتظریم ببینیم کدوم کانال زودتر پیام میده:
select {
case msg := <-ch1:
fmt.Println(msg)
case msg := <-ch2:
fmt.Println(msg)
}
3. Static Dispatch با Map یا Switch:
actions := map[string]func(){
"start": func() { fmt.Println("Starting...") },
}
چرا Dispatch
- نظم میده به کد.
- قابل گسترشه.
- بهینهتر میشه.
#Golang #Dispatching
@Syntax_fa3 033
وقتی کد میزنی، سعی نکن باهوش به نظر برسی.
کدی که فردا خودت بفهمیش، از کدی که امروزش باهاش پز میدی ارزشمندتره.
آره، میتونی با یه خط مجیک کد کاری کنی کلی خط حذف شن... ولی اگه دو هفته بعد خودت هم نفهمیدی چی نوشتی، این یعنی باختی.
کدنویسی یعنی ارتباط، نه نمایش قدرت.
پس ساده بنویس. واضح. مثل حرف زدن با یه همتیمی خسته ولی باهوش.
#note
@Syntax_fa
3 033
قابلیت ایمپورت کد های ریپوزیتوری گیتهاب تو Gemini ai
حالا که همتون شهروند آمریکا هستید و اشتراک pro جمنای رو دارید، می تونید اکانت گیتهابتون رو تو Gemini کانکت کنید و ریپوزیتوری رو مشخص کنید تا دقیقا بدونه ساختار کدتون چیه، کداتون رو بخونه و بهتر بتونه به سوالاتتون جواب بده.
برای اینکار کافیه:
1. وارد gemini ai بشید
2. رو settings کلیک کنید و وارد بخش Apps بشید
3. تو بخش Productivity گیت هاب رو مشاهده می کنید. روش کلیک کنید و اکانت گیتهابتون رو کانکت کنید.
حالا یه گفتگو جدید رو شروع کنید و روی add file کلیک کنید
سه گزینه داره روی import code کلیک کنید.
ازتون لینک ریپوزیتوری رو میخواد بهش لینکش رو بدید.
و تمام. حالا میتونه کد های شمارو ببینه و بهتر به شما کمک کنه
@gemini
@Syntax_fa
3 033
تو پروژه ها اولش شبیه به اینه که داری یه سنگ گرد سنگین رو به سختی از یه تپه بالا می بری. انرژی زیادی میخواد تا راه بیوفته، ولی وقتی راه افتاد، ادامه دادنش خیلی راحته
اما اگه یه مدت رهاش کنی دوباره راه انداختنش به همون اندازه اول، یا حتی بیشتر، سخت میشه
حفظ momentum یعنی حتی اگه وقتت کمه، یا خسته ای، یا مغزت پره، یه حرکت کوچیک بزنی، یه باگ ریز، یه refactor ساده، یا حتی فقط باز کردن پروژه
چون وقتی فاصله می گیری، پروژه یه دفعه سنگین تر از چیزی که هست به نظر میرسه و اون وقت به جای یه خط کد، با یه کوه ناتموم طرفی
چرا momentum؟
1. انگیزه رو زنده نگه میداره
وقتی هر روز یه کار کوچیک انجام بدی، حس پیشرفت میگیری. ولی وقتی چند روز فاصله بیفته، مغز حس میکنه پروژه سنگینتر شده
2. یادگیری و درگیری ذهنی حفظ میشه
وقتی مدام با کدها درگیری، context توی ذهنت میمونه. ولی بعد از چند روز، باز کردن پروژه مثل روبهرو شدن با یه چیز ناآشنا میشه
3. بهت کمک میکنه با کمالگرایی کنار بیای
وقتی توی flow باشی، بیشتر عمل میکنی تا تحلیل. ولی فاصله گرفتن باعث میشه بیش از حد فکر کنی. از کجا شروع کنم؟ نکنه کدم خوب نباشه؟
@Syntax_fa
3 033
کابوس فراموشی در مغزهای دیجیتال!
تصور کنید هوش مصنوعی که کلی چیز یاد گرفته، ناگهان با یادگیری یک نکته جدید، تمام دانش قبلیاش زو از دست میده! دقیقا مثل اینکه شما هر بار که یک مهارت جدید یاد میگیرید، تمام مهارتهای قبلیتون رو فراموش کنید!
این پدیده ترسناک تو دنیای هوش مصنوعی، اسمش فراموشی فاجعهبار (Catastrophic Forgetting) است! 💀
چرا این یک فاجعه است؟
مدلهای هوش مصنوعی، بهویژه شبکههای عصبی عمیق، وقتی روی دادههای جدیدی آموزش می بینن، تمایل دارن که اطلاعاتی که قبلا یاد گرفتن رو بازنویسی کنن و از دست بدن. یعنی:
یک هوش مصنوعی نمیتونه هم استاد شطرنج باشه، هم یک پزشک عالی و هم راننده بینقص! چون هر بار که یک مهارت جدید یاد میگیره، بقیه رو فراموش میکنه!
این، مانعی بزرگی سر راه یادگیری مداوم و تکامل واقعی هوش مصنوعیه.
آینده AI بدون حل این مشکل چگونه خواهد بود؟
یک آلزایمر دیجیتال واقعی! ما به هوش مصنوعیهای چندکاره نیاز داریم که بتونن همزمان دانش و مهارتهای مختلفی رو در خود نگه دارن و به مرور زمان اون هارو افزایش بدن، نه اینکه هر بار حافظه خودشون رو ریست کنن!
آیا روزی میرسه که AIها واقعا حافظه داشته باشن؟
#ai
@Syntax_fa
3 033
تحلیل روانی برنامهنویسها بر اساس تعداد کامیتهای سالانه در GitHub
0 تا 10 کامیت
"یه بار VS Code رو باز کردم، ترسیدم، بستم."
رنک: راکی
11 تا 100 کامیت
"من بیشتر به جنبهی تئوریک برنامهنویسی علاقه دارم..."
📚 یعنی از دور نگاه میکنه که بقیه چی مینویسن
رنک: برونز
101 تا 500 کامیت
"بیشتر وقتا فقط یه نقطه اضافه میکنم، کامیت میزنم، بعد حس موفقیت میگیرم."
🧘♂️ راهب گیتهاب. تعادل در حد بودا، بازدهی در حد نخودچی.
رنک: پرو
501 تا 1000 کامیت
"روزایی هست که من کامیت میزنم… روزایی هم هست که کامیت منو میزنه."
رنک: مستر
1001 تا 2000 کامیت
"کاشی کاری شغل اول منه برنامه نویسی پوششه!"
رنک: لجند
2000+ کامیت
"سال پیش با گیت ازدواج کردم، ماه پیش با ریپوزیتوریم بچهدار شدیم."
🥴 کسی که هنوز بلد نیست درست کامیت بزنه
رنک: چیتر
#fun
@Syntax_fa
Вже доступно! Дослідження Telegram за 2025 — головні інсайти року 
