The Commit – Telegram
The Commit
383 subscribers
261 photos
73 videos
9 files
204 links
توسعه میدیم و توی راه توسعه چالش ها و مشکلات رو به اشتراک میزاریم (:
Download Telegram
‏Pytest یکی از محبوب‌ترین فریم‌ورک‌های تست در Python هست که نوشتن و اجرای تست‌ها رو ساده و قابل مدیریت می‌کنه. اگر می‌خوای سریع با Pytest کار کنی و مثال‌های عملی ببینی، این مخزن فوق‌العاده است:

https://github.com/3lf/pytest-for-humans
وارد سیزن جدید و عجیبی شدیم

پ.ن:
کانفیگ پردازنده و گرافیکش
Core i5-14400F
RTX 3070
🔥12🗿1
اگه تا حالا شده بخوای یه پروژه جدید شروع کنی ولی مغزت خالی از ایده باشه، این مخزن دقیقا همون چیزیه که دنبالش می‌گشتی. توی این مخزن کلی پروژه دسته‌بندی‌شده داری، از ساده‌ترین‌ها مثل ساخت ماشین حساب یا اپ یادداشت گرفته تا ایده‌های خفن‌تر مثل مبدل ارز یا اپ جستجوی کتاب. همه‌چی هم با توضیحات و user story آماده شده که دیگه لازم نباشه فکر کنی «از کجا شروع کنم؟». هر ایده یه عالمه گزینه‌ی اضافه هم داره که می‌تونی برای تمرین بیشتر خودت رو به چالش بکشی.

https://github.com/florinpop17/app-ideas
1👍41
📘 Task Programming in C# and .NET

یه خبر خوب! 🎉
شروع کردم به ترجمه‌ی این کتاب. که به صورت تخصصی وارد دنیای برنامه‌نویسی Task و async/await در #C و .NET میشه و منبع خیلی خوبی برای درک عمیق این مفاهیمه.
دو فصل هم ترجمه شده
لطفاً حمایت کنید.❤️

🔗 https://github.com/hheydarian/task-programming-in-csharp-dotnet-persian
10👍5🔥2
شاید در جریان باشید شاید هم نباشید
همین جمعه کنکور دارم
و کلا درگیری ذهنی زیادی باهاش داشتم واسه همین خیلی فعالیتم توی کدنویسی و توسعه دادن پروژه ها کمتر شده
فقط خواستم دلیل اینکه فعالیت و اپدیت پروژه ها قطع شده رو بگم...
7
توی آپدیت بعدی تلگرام می‌تونید به پروفایلتون آهنگ و پلی‌لیست اضافه کنید
👍7
The Commit
توی آپدیت بعدی تلگرام می‌تونید به پروفایلتون آهنگ و پلی‌لیست اضافه کنید
چیزی که سال قبل اینستاگرام امتحانش کرد ولی خیلی هم محبوب نشد. ایده جذابیه اما واقعیت اینه که گوش دادن به موسیقی جای خودش رو داره و بهترین تجربه فقط روی پلتفرم‌های اختصاصی موسیقی مثل اسپاتیفای، یوتیوب موزیک یا ساندکلاد به دست میاد. دلیلش هم واضحه: اول اینکه کیفیت و تنوع موزیک اونجا خیلی بیشتره، دوم اینکه الگوریتم‌های پیشنهاد آهنگ هوشمندانه‌ عمل می‌کنن و بر اساس سلیقه‌تون موزیک‌های جدید معرفی می‌کنن، سوم هم ابزارهایی مثل پلی‌لیست‌های آماده، متن آهنگ و حتی قابلیت آفلاین گوش دادن رو دارید. در نهایت، اپلیکیشن‌های پیام‌رسان خوبن برای ارتباط، ولی وقتی پای موسیقی وسط باشه تجربه تخصصی خیلی مهم‌تره
👍8👎1
امروز بعد از چرخیدن توی یوتیوب به یه نکته جالب فکر کردم؛ اینکه خیلی وقت‌ها می‌بینیم وسط ویدیوها چند بار گفته میشه "لایک کنید" یا "سابسکرایب فراموش نشه". اما واقعیت اینه که وقتی محتوا ارزشمند باشه، این اتفاق خودش به شکل طبیعی میفته. مخاطب وقتی چیزی یاد می‌گیره، سرگرم میشه یا لذت می‌بره، ناخودآگاه می‌خواد حمایت کنه. پس مهم‌تر از هر چیزی کیفیت محتواست؛ اگر خوب باشه، لایک و فالو خودش دنبالش میاد
👍81
خیلی وقتا میشینیم پای کار، ولی بعد چند دقیقه یه نوتیفیکیشن، یه فکر رندومی یا یه سر زدن سریع به شبکه اجتماعی کل تمرکزمون رو می‌گیره. جالب اینجاست که بیشتر از خود کار، انرژی اصلی‌مون صرف برگشتن به حالت تمرکز میشه. چیزی که خیلی کمک می‌کنه اینه که موقع شروع کار همه چیزای اضافی رو ببندیم، حتی برای نیم‌ساعت. همین کار کوچیک باعث میشه کیفیت خروجی خیلی فرق کنه. تمرکز یه جورایی مثل ماهی‌گیریه؛ اگه هر لحظه سنگ بندازیم تو آب، دیگه چیزی گیرمون نمیاد.
1👍6
من از این به بعد سعی می‌کنم فقط روی محتوای فنی تمرکز نکنم و یه بخش دیگه هم به اشتراک بذارم؛ چیزایی که بیشتر به مهارت‌های نرم مربوط میشن. راستش به نظرم برنامه‌نویسی فقط کد زدن نیست. خیلی وقتا مدیریت زمان، تمرکز، ارتباط گرفتن درست با تیم، یا حتی پیدا کردن مسیر یادگیری، تاثیرش خیلی بیشتر از یه تکنیک خاص توی کده. برای همین می‌خوام اینجا علاوه بر مباحث فنی، تجربه‌ها و نکته‌هایی رو هم به اشتراک بذارم که کمک کنه هم توی کارمون حرفه‌ای‌تر بشیم و هم ذهنمون سبک‌تر و منظم‌تر پیش بره. امیدوارم این ترکیب هم به دردتون بخوره و هم مسیر یادگیری‌مون رو جذاب‌تر کنه

#Amiri
1👍7
امروز یه تجربه جالب برام پیش اومد. یه تسک کاری بهم سپرده شد و من با اعتماد به نفس کامل رفتم سراغش، جوری که حتی لحظه‌ای هم احتمال اشتباه کردن رو به ذهنم راه ندادم. ولی وقتی نتیجه بررسی شد، معلوم شد کارم پر از ایراده. انگار همین اعتماد به نفس زیاد باعث شد خیلی از جزئیات مهم رو ندیده بگیرم.
این دقیقا همون چیزیه که بهش میگن اثر دانینگ–کروگر. یعنی معمولا وقتی تجربه یا دانش کمی توی یه موضوع داریم، اعتماد به نفس‌مون خیلی بالاست چون نمی‌دونیم چی رو نمی‌دونیم. در مقابل، آدمای باتجربه‌تر چون پیچیدگی‌ها رو بهتر می‌فهمن، معمولا با شک و احتیاط بیشتری جلو می‌رن.
خلاصه امروز فهمیدم اعتماد به نفس داشتن لازمه، ولی اگه با آگاهی همراه نباشه، می‌تونه بزرگ‌ترین مانع یادگیری بشه. شاید بد نباشه هر وقت با اطمینان کامل گفتیم "این کار دیگه هیچ ایرادی نداره"، یه لحظه مکث کنیم… چون اون‌جا دقیقا همون‌جاییه که احتمال خطا بیشتره

+ من این پست رو توی لینکدین هم نوشتم و اگه دوست داشتید می‌تونید از اونجا بخونیدش و پست رو لایک کنید :)
9
شاید برات سوال شده باشه وقتی میگن «کد پایتونیک» یعنی چی. پایتونیک بودن یعنی کدی بنویسی که هم ساده و قابل خوندن باشه، هم با روحیه و استانداردهایی که جامعه‌ی پایتون روش تاکید داره هماهنگ باشه. اینجوری کدت فقط درست کار نمی‌کنه، بلکه تمیزتر، قابل نگهداری‌تر و حتی برای بقیه توسعه‌دهنده‌ها قابل‌درک‌تر میشه. در عمل، پایتونیک بودن کمک می‌کنه هم خودت از کدی که نوشتی سر دربیاری، هم نفر بعدی که میاد روی پروژه، راحت‌تر بتونه ادامه بده
👍4
یکی از اصل‌های مهم در نوشتن کد پایتونیک استفاده از
EAFP (Easier to Ask for Forgiveness than Permission)
به‌جای LBYL (Look Before You Leap) هست. به‌جای اینکه مدام قبل از انجام کاری چک کنیم، راحت انجامش می‌دیم و اگر خطایی رخ داد اون رو مدیریت می‌کنیم. اینطوری کد هم تمیزتر میشه و هم کارایی بهتری پیدا می‌کنه.

ناپایتونیک:
if "key" in data:
value = data["key"]
else:
value = None


پایتونیک (EAFP):
try:
value = data["key"]
except KeyError:
value = None
1👍2👎1
اسپاتیفای توی آپدیت جدیدش قابلیت پیام‌رسانی مستقیم (دایرکت) رو معرفی کرده. از این به بعد کاربرا می‌تونن آهنگ‌ها، پادکست‌ها و کتاب‌های صوتی رو مستقیم برای دوستاشون بفرستن و توی خود اپ باهاشون گفتگو کنن.
این ویژگی کم‌کم برای کاربرای بالای ۱۶ سال – چه رایگان چه پرمیوم – در دسترس قرار می‌گیره
1👍3
یه ایمیل عجیب برام اومد که پر از وعده‌های قشنگ بود: "تو خیلی بااستعدادی، شغل پردرآمد بلندمدت داریم برات!" 😅 این دقیقا همون Social Engineering؛ یعنی با تعریف و وعده‌ی وسوسه‌کننده سعی می‌کنن اعتماد جلب کنن.

نکته‌ی دیگه اینه که ایمیل رو برای کلی آدم دیگه هم فرستاده بودن(به قسمت "to" توجه کنید)، پس این اصلا یه دعوت اختصاصی نبوده و همین خودش مشکوکش می‌کنه.

بدتر از همه هم اون لینک‌های Google Docs هست؛ چون اگه روشون کلیک کنی ممکنه یا فایل آلوده بدن، یا ببرنت به یه صفحه فیشینگ برای دزدیدن اطلاعاتت.

خلاصه: اگر همچین ایمیلی دریافت کردی، جواب نده، کلیک نکن، مستقیم بفرست تو اسپم
1
‏GitHub Codespaces یه جور محیط برنامه‌نویسی آماده‌ست که گیت‌هاب برات توی مرورگر میاره بالا. یعنی لازم نیست برای هر پروژه بری پایتون یا نود یا کلی ابزار دیگه نصب کنی. فقط کافیه توی صفحه‌ی ریپو روی دکمه‌ی Code → Open with Codespaces بزنی، همون لحظه یه ماشین مجازی می‌سازه، کدت رو کلون می‌کنه و یه VS Code کامل جلوت باز میشه.

برای شروع هم کار سختی نداره؛ فقط برو روی ریپوت توی گیت‌هاب، دکمه‌ی Codespaces رو بزن و چند ثانیه صبر کن. همین! بعدش می‌تونی مثل همیشه کد بزنی، کامیت کنی و حتی پول ریکوئست بسازی.

اگه خواستی بیشتر بدونی، مستندات رسمی گیت‌هاب خیلی کامل توضیح داده:

https://docs.github.com/en/codespaces
1👍61
گاهی پیش میاد روی یه ریپو کلی فایل جدید بسازی یا تغییر بدی، ولی بعدش بخوای همه رو پاک کنی و مخزن برگرده به حالت تمیز. اگر هنوز تغییرات رو add یا commit نکردی، با دو دستور ساده میشه همه‌چی رو مثل روز اول کرد:
git reset --hard
git clean -fd


‏- git reset --hard همه تغییرات فایل‌های track‌شده (اونایی که از قبل توی ریپو بودن) رو برمی‌گردونه به آخرین commit

‏- git clean -fd هم هرچی فایل و پوشه‌ی جدید (untracked) درست کردی رو پاک می‌کنه
1👍41
پخت و پز گوگل؟؟
برای سوالات عمومی میتونه خیلی خوب باشه که سریع به نتیجه برسی.
به این قسمت هم میگن AI Mode که به قسمت کتگوری های سرچ اضافه شده...
🔥6
The Commit
توی آپدیت بعدی تلگرام می‌تونید به پروفایلتون آهنگ و پلی‌لیست اضافه کنید
اضافه شد و روش کارش اینجوریه یه موزیک توی تلگرام پلی میکنید و میزنید روش که پلیرش باز بشه و add to profile میکنید.

خداییش اپشن باحالیه حال کردم
1👍5
یه مقاله خوب پیدا کردم که به بررسی معماری لایه‌ای و Dependency Injection در FastAPI می‌پردازه. نویسنده، Antonis Markoulis، توضیح داده چطور می‌شه پروژه‌ها رو طوری ساخت که UseCaseها، Repositoryها و لایه‌های دیتابیس کاملا از هم جدا باشن و در عین حال کنترل کامل روی session و transaction داشته باشیم

https://dev.to/markoulis/layered-architecture-dependency-injection-a-recipe-for-clean-and-testable-fastapi-code-3ioo
1