fa
Feedback
برنامه نویسی

برنامه نویسی

رفتن به کانال در Telegram

لیست گروه های برنامه نویسی: 🍁 @programming_list

نمایش بیشتر
5 434
مشترکین
اطلاعاتی وجود ندارد24 ساعت
-87 روز
-2230 روز
جذب مشترکین
مه '26
مه '26
+15
در 0 کانال‌ها
آوریل '26
+10
در 0 کانال‌ها
Get PRO
مارس '26
+6
در 0 کانال‌ها
Get PRO
فوریه '26
+24
در 1 کانال‌ها
Get PRO
ژانویه '26
+14
در 0 کانال‌ها
Get PRO
دسامبر '25
+73
در 0 کانال‌ها
Get PRO
نوامبر '25
+71
در 2 کانال‌ها
Get PRO
اکتبر '25
+29
در 0 کانال‌ها
Get PRO
سپتامبر '25
+41
در 2 کانال‌ها
Get PRO
اوت '25
+48
در 1 کانال‌ها
Get PRO
ژوئیه '25
+58
در 0 کانال‌ها
Get PRO
ژوئن '25
+42
در 1 کانال‌ها
Get PRO
مه '25
+45
در 4 کانال‌ها
Get PRO
آوریل '25
+60
در 5 کانال‌ها
Get PRO
مارس '25
+90
در 3 کانال‌ها
Get PRO
فوریه '25
+87
در 4 کانال‌ها
Get PRO
ژانویه '25
+138
در 5 کانال‌ها
Get PRO
دسامبر '24
+92
در 0 کانال‌ها
Get PRO
نوامبر '24
+213
در 3 کانال‌ها
Get PRO
اکتبر '24
+171
در 5 کانال‌ها
Get PRO
سپتامبر '24
+108
در 3 کانال‌ها
Get PRO
اوت '24
+196
در 1 کانال‌ها
Get PRO
ژوئیه '24
+107
در 1 کانال‌ها
Get PRO
ژوئن '24
+99
در 3 کانال‌ها
Get PRO
مه '24
+222
در 3 کانال‌ها
Get PRO
آوریل '24
+359
در 4 کانال‌ها
Get PRO
مارس '24
+289
در 3 کانال‌ها
Get PRO
فوریه '24
+327
در 2 کانال‌ها
Get PRO
ژانویه '24
+289
در 1 کانال‌ها
Get PRO
دسامبر '23
+391
در 3 کانال‌ها
Get PRO
نوامبر '23
+183
در 2 کانال‌ها
Get PRO
اکتبر '23
+63
در 2 کانال‌ها
Get PRO
سپتامبر '23
+88
در 0 کانال‌ها
Get PRO
اوت '23
+167
در 0 کانال‌ها
Get PRO
ژوئیه '23
+184
در 0 کانال‌ها
Get PRO
ژوئن '23
+100
در 0 کانال‌ها
Get PRO
مه '23
+213
در 0 کانال‌ها
Get PRO
آوریل '23
+375
در 0 کانال‌ها
Get PRO
مارس '23
+254
در 0 کانال‌ها
Get PRO
فوریه '23
+262
در 0 کانال‌ها
Get PRO
ژانویه '23
+574
در 0 کانال‌ها
Get PRO
دسامبر '22
+947
در 0 کانال‌ها
Get PRO
نوامبر '22
+370
در 0 کانال‌ها
Get PRO
اکتبر '22
+78
در 0 کانال‌ها
Get PRO
سپتامبر '22
+50
در 0 کانال‌ها
Get PRO
اوت '22
+124
در 0 کانال‌ها
Get PRO
ژوئیه '22
+375
در 0 کانال‌ها
Get PRO
ژوئن '22
+109
در 0 کانال‌ها
Get PRO
مه '22
+114
در 0 کانال‌ها
Get PRO
آوریل '22
+54
در 0 کانال‌ها
Get PRO
مارس '22
+52
در 0 کانال‌ها
Get PRO
فوریه '22
+251
در 0 کانال‌ها
Get PRO
ژانویه '22
+89
در 0 کانال‌ها
Get PRO
دسامبر '21
+61
در 0 کانال‌ها
Get PRO
نوامبر '21
+99
در 0 کانال‌ها
Get PRO
اکتبر '21
+62
در 0 کانال‌ها
Get PRO
سپتامبر '21
+38
در 0 کانال‌ها
Get PRO
اوت '21
+37
در 0 کانال‌ها
Get PRO
ژوئیه '21
+250
در 0 کانال‌ها
Get PRO
ژوئن '21
+219
در 0 کانال‌ها
Get PRO
مه '21
+82
در 0 کانال‌ها
Get PRO
آوریل '21
+29
در 0 کانال‌ها
Get PRO
مارس '21
+88
در 0 کانال‌ها
Get PRO
فوریه '21
+1 515
در 0 کانال‌ها
تاریخ
رشد مشترکین
اشارات
کانال‌ها
25 مه0
24 مه+1
23 مه0
22 مه0
21 مه+1
20 مه0
19 مه0
18 مه+3
17 مه+1
16 مه0
15 مه+1
14 مه+2
13 مه+2
12 مه0
11 مه0
10 مه+1
09 مه0
08 مه0
07 مه+1
06 مه0
05 مه0
04 مه+1
03 مه0
02 مه0
01 مه+1
پست‌های کانال
⭕️ همکاران سیستم از برنامه‌نویسان و متخصصان توسعه نرم‌افزار در حوزه‌های DevOps ، .Net ، Frontend ، Golang و تست نرم‌افزار دعو
⭕️ همکاران سیستم از برنامه‌نویسان و متخصصان توسعه نرم‌افزار در حوزه‌های DevOps ، .Net ، Frontend ، Golang و تست نرم‌افزار دعوت به عمل می‌آورد. 💻 ما در حال توسعه و نگهداشت نرم‌افزارهای مقیاس‌بزرگی هستیم که کیفیت، پایداری و نگاه بلندمدت در آن‌ها اهمیت دارد. در تیم تولید نرم‌افزار همکاران سیستم، توانایی حل مسئله، درک معماری نرم‌افزار، کار تیمی و مسئولیت‌پذیری در تحویل خروجی اهمیت بالایی دارد؛ برای ما صرفاً تسلط به ابزار مهم نیست، بلکه تجربه کار در تیم‌های ساختارمند و علاقه‌مندی به رشد فنی ارزشمند است. 🧲 اگر شما هم تجربه کار در پروژه‌های جدی نرم‌افزاری دارید، این فرصت برای شماست. منتظر دریافت رزومه شما هستیم. 📩 ارسال رزومه: 📎 HR-Dev@Systemgroup.net ➖➖➖➖➖➖

2
🚨 آخرین فرصت ثبت‌نام با تخفیف ویژه | دوره فرانت‌اند (مقدماتی) با عرض سلام و تسلیت خدمت همه‌ی دوستان بابت اتفاقات چند هفته اخ
🚨 آخرین فرصت ثبت‌نام با تخفیف ویژه | دوره فرانت‌اند (مقدماتی) با عرض سلام و تسلیت خدمت همه‌ی دوستان بابت اتفاقات چند هفته اخیر 🖤 و آرزوی سلامتی برای همه شما و بهتر شدن حال هممون 💚 به‌دلیل شرایط اخیر و اختلال‌های اینترنت، 📅 شروع دوره به پنج‌شنبه ۲۳ بهمن منتقل شد. همچنین با توجه به شرایط اقتصادی سخت این روزها تسهیلات ویژه ای هم در نظر گرفتیم برای شما 🤍 که امیدواریم بتونیم کمی کمک حال شما باشیم. ⏳ ثبت‌نام در حال تکمیل شدنه و 👉 فقط چند ظرفیت باقی مونده 🔥 تخفیف محدود و زمان‌دار: 💸 تخفیف ویژه فقط تا امشب، ساعت ۲۴ چهارشنبه ۲۲ بهمن ماه 💳 امکان پرداخت اقساطی 📌 امکانات دوره: - آموزش اصولی مبانی فرانت‌اند (HTML، CSS، JavaScript) - پروژه واقعی + تمرین عملی - منتورینگ فردی (۱ ساعت برای هر نفر در هفته) - شبیه‌سازی مصاحبه - استفاده حرفه‌ای از هوش مصنوعی (AI & LLMs) - امکان همکاری در پروژه‌ها و دوره‌های آینده برای افراد برتر 📩 برای پرسش سوالات، ثبت‌نام و استفاده از تخفیف: 👉 تلگرام: @hamedkhanaki_dev 🌐 اطلاعات کامل دوره: learnwithhamed.vercel.app
0
3
سلام. دوستان سرور اول وی پی ان رهگذر (v2ray) با پینگ پایین وصله، از امروز صبح وصلم تست کردم. قطعی یا کاهش سرعت نداشته. اگر مشکل اتصال داشتید با بقیه سرویس ها از این میتونید استفاده کنید. ربات رهگذر آنلاین
0
4
🌐 ابزار HTTPie — بهترین ابزار برای تست API اگر با curl کار می‌کنی ولی از سخت بودنش خسته شدی، HTTPie نسخه انسان‌پسند curl هست. مثال: http GET https://api.example.com/users یا: http POST https://api.example.com/login username=reza password=1234 ویژگی‌ها: 🔹 خروجی JSON رنگی و مرتب 🔹 تست سریع API بدون Postman 🔹 نسخه CLI و نسخه Desktop 🔹 پشتیبانی از Token/Auth/JWT 🔹 رایگان و کراس‌پلتفرم 🎯 چرا خفنه؟ چون سریع‌ترین و تمیزترین ابزار برای برنامه‌نویس‌های Backend و موبایل و ML engineers هست. 🆔 @RezaDolati01
0
5
🔸 قبل از رزومه، گیت‌هاب و مصاحبه: این مهارت‌ها را بساز این پست مکمل پستای قبلی در مورد رزومه است: 🔹 ۱) مهارت حل مسئله سریع فکر کردن + ساده‌سازی مسئله‌ها حتی مهم‌تر از زبان برنامه‌نویسی. 🔹 ۲) مهارت دیباگ حرفه‌ای قبل از کد زدن، یاد بگیر چطور اشکال را پیدا کنی. Debug بزرگ‌ترین مهارت برنامه‌نویس است. 🔹 ۳) مهارت نوشتن کد خوانا کد برای انسان نوشته می‌شود، نه فقط ماشین. نام‌گذاری درست + تابع‌های کوچک + ساختار واضح. 🔹 ۴) مهارت سرچ کردن ۹۰٪ جواب‌ها در گوگل، StackOverflow، Docs است. برنامه‌نویس خوب = سرچ خوب. 🔹 ۵) مهارت مستندسازی چهار خط توضیح خوب = نصف زحمت همکارها کم می‌شود. 🎯 نکته طلایی: تکنولوژی عوض می‌شود؛ مهارت‌های پایه همیشه ماندگارند. 🆔 @RezaDolati01
0
6
🔸 کد File Organizer (مرتب کردن پوشه بر اساس نوع فایل) from pathlib import Path from shutil import move def organize_directory(path: str) -> None: base = Path(path).expanduser().resolve() if not base.is_dir(): raise NotADirectoryError(f"{base} is not a directory.") groups = { "images": [".jpg", ".jpeg", ".png", ".gif", ".bmp", ".svg", ".webp"], "videos": [".mp4", ".mkv", ".avi", ".mov"], "documents": [".pdf", ".doc", ".docx", ".xls", ".xlsx", ".ppt", ".pptx", ".txt", ".md"], "archives": [".zip", ".rar", ".7z", ".tar", ".gz"], "audio": [".mp3", ".wav", ".flac", ".aac", ".ogg"], "code": [".py", ".js", ".ts", ".html", ".css", ".java", ".c", ".cpp", ".rs", ".go"], } ext_to_folder = {} for folder, exts in groups.items(): for ext in exts: ext_to_folder[ext] = folder for item in base.iterdir(): if item.is_dir(): continue ext = item.suffix.lower() folder_name = ext_to_folder.get(ext, "others") target_dir = base / folder_name target_dir.mkdir(exist_ok=True) target = target_dir / item.name if target.exists(): stem = item.stem suffix = item.suffix counter = 1 while True: new_name = f"{stem}_{counter}{suffix}" candidate = target_dir / new_name if not candidate.exists(): target = candidate break counter += 1 move(str(item), str(target)) def main(): import argparse parser = argparse.ArgumentParser(description="Organize files in a directory by type") parser.add_argument("path", help="Path to directory to organize") args = parser.parse_args() organize_directory(args.path) if __name__ == "__main__": main() 🔅 این اسکریپت وارد یک پوشه میشه و همه فایل‌ها رو بر اساس نوع‌شان می‌فرسته داخل فولدرهای مشخص مثل: images videos documents code audio و… ✨ اگر اسم فایل تکراری بود، خودش نسخه‌ی شماره‌دار می‌سازد. 🎖 کاربرد: مرتب‌کردن دانلودها، پروژه‌ها، هارد درایو، فولدرهای شلوغ. 🆔 @RezaDolati01
0
7
+4
download (86).jpg
0
8
✨ والپیپر جوکر 🆔 @Rezadolati01
0
9
⌨️ ابزار Fig — ترمینال هوشمند با Auto-complete حرفه‌ای در واقع Fig یک ابزار رایگان هست که برای ترمینال شما (Bash, Zsh, Fish) Autocomplete واقعی و شبیه JetBrains فعال می‌کنه. ویژگی‌ها: 🔹 تکمیل فرمان‌ها 🔹 پیشنهاد آپشن‌ها و پارامترها 🔹 و Snippets و Aliasها 🔹 سازگار با VSCode Terminal و iTerm 🔹 پشتیبانی از همه CLIهای معروف (git, docker, npm, uv و…) 🎯 چرا خفنه؟ چون واقعاً سرعت کار با ترمینال رو دو برابر می‌کنه. دیگه لازم نیست دستورها رو از حفظ باشی! 🆔 @RezaDolati01
0
10
🔸 نکات مصاحبه فنی برنامه‌نویسی 🔹 ۱) با صدای بلند فکر کن حتی اگر جواب دقیق نمی‌دانی، مسیر فکری‌ت را بگو. مصاحبه‌گر دنبال منطق توست، نه حفظ بودن. 🔹 ۲) تسلط روی پایه‌ها قبل از هر مصاحبه: - ساختمان داده‌ها - برنامه نویسی شی گرا - و SQL - مفاهیم HTTP - و Git - الگوریتم‌های ساده (two pointers, recursion) 🔹 ۳) رفتار حرفه‌ای اگر نمی‌دانی: بگو «نمی‌دانم» اگر مطمئن نیستی: بگو «احتمال می‌دم…» سوال‌ها را تکرار کن تا درست بفهمی 🔹 ۴) قبل از جواب دادن مثال بزن مثل: «اگر ۱۰۰ هزار رکورد داریم، این روش بهتره چون…» 🔹 ۵) پروژه‌های خودت را خوب توضیح بده تمرین کن قبل از مصاحبه بتوانی در ۳۰ ثانیه بگویی: چرا ساختی؟ چطور ساختی؟ نتیجه چه شد؟ 🎯 نکته طلایی: اعتمادبه‌نفس = نصف راه قبولی. 🆔 @RezaDolati01
0
11
🔸 کد Quiz Game در ترمینال (سؤال‌ها از فایل JSON) فایل JSON نمونه (مثلاً questions.json): [ { "text": "2 + 2 = ?", "options": ["3", "4", "5"], "answer_index": 1 }, { "text": "Capital of France?", "options": ["Paris", "Berlin"], "answer_index": 0 } ] کد بازی: import json from dataclasses import dataclass from typing import List @dataclass class Question: text: str options: List[str] answer_index: int def load_questions_from_json(path: str) -> List[Question]: with open(path, "r", encoding="utf-8") as f: data = json.load(f) questions: List[Question] = [] for item in data: q = Question( text=item["text"], options=item["options"], answer_index=int(item["answer_index"]), ) questions.append(q) return questions def ask_question(question: Question) -> bool: print("\n" + question.text) for idx, opt in enumerate(question.options, start=1): print(f"{idx}. {opt}") while True: choice = input("Your answer (number): ").strip() if not choice.isdigit(): print("Please enter a valid number.") continue choice_idx = int(choice) - 1 if 0 <= choice_idx < len(question.options): break print("Choice out of range, try again.") correct = choice_idx == question.answer_index if correct: print("✅ Correct!") else: print(f"❌ Wrong. Correct answer: {question.options[question.answer_index]}") return correct def run_quiz(questions: List[Question]) -> None: if not questions: print("No questions found.") return print("Welcome to the Quiz! Answer the questions:\n") score = 0 for q in questions: if ask_question(q): score += 1 print("\nQuiz finished!") print(f"Your score: {score}/{len(questions)}") def main(): import argparse parser = argparse.ArgumentParser(description="Simple CLI Quiz Game") parser.add_argument("file", help="Path to questions JSON file") args = parser.parse_args() questions = load_questions_from_json(args.file) run_quiz(questions) if __name__ == "__main__": main() 🔅 یه بازی پرسش ‌و پاسخ که سؤال‌ها رو از یک فایل JSON می‌خونه. شامل: - نمایش سؤال - گزینه‌ها - انتخاب کاربر - بررسی درستی پاسخ - نمایش امتیاز نهایی 🔅 کاربرد: ساخت بازی‌های کوچک آموزشی، آزمون برنامه‌نویسی، کوییزهای تلگرامی و حتی مسابقه‌های کلاسی. 🆔 @RezaDolati01
0
12
✨ والپیپر 🆔 @Rezadolati01
0
13
+5
download (80).jpg
0
14
✨ والپیپر 🆔 @Rezadolati01
0
15
🔸 4 کتابخانه خفن اما کم‌تر شناخته‌شده پایتون 1) کتابخانه Rich — زیباتر کردن ترمینال خروجی ترمینال رو با رنگ، جدول، بارگذاری، Markdown، Traceback رنگی و حتی Progress Bar مثل جت می‌کنه. برای ساخت CLI حرفه‌ای عالیه. 2) کتابخانه Pydantic — ولیدیشن مدل‌ها با سرعت نور با تعریف یک کلاس ساده، ورودی‌ها به‌طور خودکار: تایپ‌چک می‌شن، اعتبارسنجی می‌شن، تبدیل میشن (Parsing). هسته اصلی FastAPI همینه. 3) کتابخانه Loguru — لاگ‌نویسی واقعی و خوشگل نوشتن لاگ رو فوق ساده می‌کنه: چرخش فایل، رنگی‌کردن لاگ، StackTrace واضح، بدون تنظیمات عجیب. 4) کتابخانه Typer — ساخت CLI حرفه‌ای و زیبا نسل جدید CLI‌سازی پایتون، بر پایه Click اما خیلی ساده‌تر. برای ساخت ابزارهای خط فرمان فوق‌العاده‌ست. 🆔 @RezaDolati01
0
16
🔸 چطور پروژه مناسب گیت‌هاب بسازیم؟ گیت‌هاب فقط محل ذخیره کد نیست؛ ویترین حرفه‌ای توست. 🔹 ۱) پروژه واقعی بساز، نه تمرینی بهترین پروژه‌ها: یک API کامل وب‌سرویس کوچک وب‌اسکرپر سیستم مدیریت کارها ابزار CLI پروژه داده‌کاوی 🔹 ۲) و README عالی بنویس باید حتماً شامل باشد: توضیح کوتاه پروژه چطور اجراش کنیم؟ مثال ورودی/خروجی تصاویر یا GIF تکنولوژی‌ها و TODO های آینده 🔹 ۳) فولدرها را تمیز نگه دار ساختار مثل: src/ tests/ README.md requirements.txt 🔹 ۴) و Commit های مرتب و مفید به‌جای "fix", "update" بنویس: مثلا : add login endpoint و optimize query performance 🔹 ۵) پروژه کامل بهتر از ۱۰ پروژه نیمه‌کاره کیفیت >>> تعداد 🎯 نکته طلایی: یک پروژه خوب می‌تواند نتیجه مصاحبه را عوض کند. 🆔 @RezaDolati01
0
17
💾 ابزار Turso — دیتابیس SQLite ابری مخصوص برنامه‌نویس‌های مدرن ابازر Turso یک دیتابیس ابری بسیار سریع بر پایه SQLite هست که به درستی طراحی شده برای: 🔹 برنامه‌های کوچک تا متوسط 🔹 پروژه‌های لبه‌ای (Edge apps) 🔹 سرورلس‌ها (Next.js, Remix, Cloudflare Workers) ویژگی‌ها: سرعت بالا و Latency بسیار پایین یک API ساده پلن رایگان واقعی مدیریت آسان دیتابیس 🎯 چرا خفنه؟ چون مثل SQLite ساده‌ست، اما روی Cloud با سرعت موشک کار می‌کنه. برای پروژه‌های شخصی و تجاری عالیه. 🆔 @RezaDolati01
0
18
🔸 4 کتابخانه کاربردی که احتمالاً تا حالا اسم‌شون رو نشنیدی 1) کتابخانه Arq — Task Queue سبک و سریع اگر Celery برات زیادی سنگینه، این عالیه! بر پایه Redis و asyncio → مناسب برای FastAPI. 2) کتابخانه Beanie — ODM مدرن برای MongoDB یک لایه داده مدرن برای FastAPI: ولیدیشن + Async + مدل‌سازی تمیز. جایگزین عالی موتورهایی مثل MongoEngine. 3) کتابخانه orjson کتابخانه orjson سریع‌ترین JSON سریالایزر پایتونه. اگه با JSON زیاد کار می‌کنی (API، دیتابیس، لاگینگ، پردازش داده)، این کتابخونه literally موشک‌وار عمل می‌کنه. 4) کتابخانه pendulum بهترین جایگزین برای datetime پایتون. کار با تاریخ و زمان رو خیلی راحت‌تر، تمیزتر و بدون باگ‌های timezone می‌کنه. 🆔 @RezaDolati01
0
19
🔸 کد Expense Tracker ساده (پیگیری خرج‌ها + خلاصه دسته‌ها) import json from dataclasses import dataclass, asdict from datetime import datetime from pathlib import Path from typing import List, Dict, Optional DATA_FILE = Path("expenses.json") @dataclass class Expense: id: int amount: float category: str note: str created_at: str def load_expenses() -> List[Expense]: if not DATA_FILE.exists(): return [] with DATA_FILE.open("r", encoding="utf-8") as f: data = json.load(f) return [Expense(**item) for item in data] def save_expenses(expenses: List[Expense]) -> None: with DATA_FILE.open("w", encoding="utf-8") as f: json.dump([asdict(e) for e in expenses], f, ensure_ascii=False, indent=2) def add_expense(amount: float, category: str, note: str = "") -> Expense: expenses = load_expenses() next_id = max((e.id for e in expenses), default=0) + 1 exp = Expense( id=next_id, amount=round(float(amount), 2), category=category, note=note, created_at=datetime.now().isoformat(timespec="seconds"), ) expenses.append(exp) save_expenses(expenses) return exp def list_expenses(category: Optional[str] = None) -> List[Expense]: expenses = load_expenses() if category: return [e for e in expenses if e.category.lower() == category.lower()] return expenses def summary_by_category() -> Dict[str, float]: expenses = load_expenses() summary: Dict[str, float] = {} for e in expenses: summary[e.category] = summary.get(e.category, 0.0) + e.amount return summary def _print_expenses(expenses: List[Expense]) -> None: if not expenses: print("No expenses yet.") return total = 0.0 for e in expenses: total += e.amount print(f"#{e.id:3d} | {e.amount:8.2f} | {e.category:10s} | {e.note} ({e.created_at})") print("-" * 40) print(f"Total: {total:.2f}") def _print_summary(summary: Dict[str, float]) -> None: if not summary: print("No expenses to summarize.") return print("Summary by category:") for cat, amount in summary.items(): print(f"- {cat}: {amount:.2f}") def main(): import argparse parser = argparse.ArgumentParser(description="Simple Expense Tracker") subparsers = parser.add_subparsers(dest="command", required=True) # add p_add = subparsers.add_parser("add", help="Add a new expense") p_add.add_argument("amount", type=float, help="Amount of the expense") p_add.add_argument("category", help="Category (e.g., food, rent, travel)") p_add.add_argument("--note", default="", help="Optional note") # list p_list = subparsers.add_parser("list", help="List expenses") p_list.add_argument("--category", help="Filter by category", default=None) # summary subparsers.add_parser("summary", help="Show summary by category") args = parser.parse_args() if args.command == "add": exp = add_expense(args.amount, args.category, args.note) print(f"Added expense #{exp.id}: {exp.amount:.2f} ({exp.category})") elif args.command == "list": expenses = list_expenses(args.category) _print_expenses(expenses) elif args.command == "summary": summ = summary_by_category() _print_summary(summ) if __name__ == "__main__": main() 🔸 این یک سیستم کوچیک حسابداری شخصیه. میتونی بگی: - فلان مبلغ رو برای «غذا»، «حمل و نقل»، «خرید»، … خرج کردم - همه خرج‌ها رو ببینی - خلاصۀ هزینه‌ها رو به تفکیک دسته دریافت کنی کاربرد: مدیریت خرج‌ها، مخصوصاً برای دانشجوها و فریلنسرها. 🆔 @RezaDolati01
0
20
🚀ابزار Raycast — سریع‌ترین لانچر و دستیار توسعه‌دهنده ابزار Raycast فقط یک لانچر نیست؛ یک ابزار بهره‌وری برای macOS هست که توسعه‌دهنده‌ها عاشقشن. 🔹 اجرای فرمان‌ها با 1 ثانیه سرعت 🔹 مدیریت GitHub 🔹 و Snippet manager فوق‌سریع 🔹 مدیریت کانتینرهای Docker 🔹 ایجاد Scriptهای خودکار با JS/Python 🔹 افزونه‌های آماده برای VSCode، Notion، Jira و… 🎯 چرا خفنه؟ چون همه کارهای روزمره رو بدون لمس موس انجام می‌دی. سرعت کار → ×3 میشه. رایگان + افزونه‌های نامحدود. 🆔 @RezaDolati01
0