RandRng – Telegram
RandRng
2.12K subscribers
158 photos
16 videos
8 files
74 links
جایی واسه احمق‌ها نیست...
Download Telegram
یک شعاری داده شد که یک نوع راهکار بود، مثل اینکه یک عده یک پرچمی دستشون بوده و نمی‌دونستند باهاش چکار باید بکنند، برای همین ملت ایران بهشون راهکار دادند.



این شعار بین‌المللی شده؛ همکارم (ایرانی نیست) ازم پرسید موضوع این شعار چیه و چطور شروع شد؟
حال بحث کردن باهاش رو نداشتم؛ با متن بالا بهش توضیح دادم، خدایی چی می‌گفتم ؟
😁31🔥4🗿21💯1
Forwarded from Meysam
رائفی پور هر وقت میخواد حرف بزنه
😁55👍4😐3🗿2
RandRng
آخ جون؛ من این تیم و دولوپر‌هاش رو فالو می‌کنم. درآمد بعدیم جور شد 😁😁
یک نفر پرسیده، یعنی شما مخالف توسعه کد با ai هستید ؟

نه قبلاً هم گفتم، software engineer بدون اینکه از ai استفاده کنه توی تیم ما خیلی کار سختی داره چون میشه سنگ جلوی پای باقی تیم.

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

وقتی می‌خوام از ai استفاده کنم براش می‌نویسم :

با رعایت این دیزاین پترن‌ها:
اسم می‌برم
کد مربوط به signup رو برام بزن که این فیلدها رو برای یوزر بگیره و داخل دیتابیس بنویسه :
اسم فیلدها و نوعشون

توی schema دوتا فیلد برای پسورد در نظر بگیر فیلد دوم confirm باشه؛ یک unique_id برای یوزر بذار که uuid7 باشه و یوزر رو با این فیلد هندل کنیم.
پسورد باید نهایتاً با الگوریتم argon2 و یک salt رندوم برای هر یوزر هش بشه و داخل دیتابیس قرار بگیره!

یوزر حتماً باید ایمیل / موبایل خودش رو verify کنه وگرنه اکانت فعال نمی‌شه و کاری نمی‌تونه بکنه و ....


این مدل استفاده از AI با اینکه من بهش بگم؛ یک کد signup توی پایتون بهم بده خیلی خیلی فرق داره.
طراحی، درست بودن و امنیت سیستم با من software engineer هست و فقط کد زدن رو دارم به AI می‌سپارم.
مثل یک سنیور که همه چیز رو به کارآموز می‌گه و فقط کد زدنش رو به عهده کارآموز می‌ذاره.
👍5012🔥2
از جابجایی بعضی سرویس‌ها از Python به Rust و تغییر RestApi به gRPC چندماهی می‌گذره.

با همکارای مسئول cloud server صحبت می‌کردم؛ هزینه‌ سرور از 3000$ به 300$ درماه کاهش پیدا کرده.

بخش زیادی ازین موارد به لطف Rust هست؛
مثلاً داکر ایمیج چندتا از سرویس‌های مربوط به Rust (بکند و فرانت باهم از طریق Rust سرو میشه) حجمی حدوداً ۳۵ مگ داره که روی سرویس دهنده بابت نگهداری ۱۰ ورژن آخرش هزینه 0$ هست.

فقط بکند همین سرویس‌ها روی پایتون توی بهترین حالت ۳۹۰ مگ حجم هر ایمیج بود.

مصرف و لود شبکه به شدت پایین اومد؛ که خب بخش زیادی از اون به لطف gRPC بود.

تونستیم disk کمتری رو خریداری کنیم مثلاً: برای لاگ سرور‌هامون چون 99% سناریوها رو دیگه می‌دونستیم خطا از چی هست (به لطف Result, Option) و این باعث شد اطلاعات خیلی کمتری رو نیاز داشته باشیم لاگ بندازیم.

مصرف Ram سرورها به شدت کم شد؛ توی یکی از سرویس‌ها بعنوان مثال؛ FastApi به محض استارت شدن ۲۰۰-۲۲۰ مگ مصرف رم داشت این رقم برای Actix-web روی ۲۷-۲۸ مگ بود.
موقع کار هم حداقل 8x مصرف رم Rust کمتر بود.
این درحالی هست که Rust تعداد Requestهای بیشتری رو هم جواب میداد.

توی CPU هم که بحثی وجود نداره.


مسئله با سرویس‌ها و سرورهای cloud هم همین هست؛ یک سری چیزها بدون هزینه هست اگر مصرف انقدر کم باشه؛ برای ذخیره لاگ و ... اگر تا ۵ گیگ بخوای بهت رایگان میدم، اگر Docker image هات کمتر از ۵۰ مگ باشه نگهداریش رایگان هست و ...

یا اگر Ram بیش از ۴ گیگ بخوای؛ اونوقت حداقل باید دو برابر بخری رم ۸ گیگ و حداقل باید CPU با ۴ هسته سفارش بدی اونوقت Storage هم حداقل از 100GB شروع میشه و ...


همه‌ی اینها روی هم هزینه‌هارو بالا می‌بره!

با همه‌ی این‌ها اما؛ همچنان اکثر پروژه‌های ما با FastApi و پایتون توسعه داده میشه.

وقتی ازش مطمئن شدیم و جواب داد و موفقیت آمیز بود میریم سراغ Rust

بطور خلاصه:
بکند ۹۹.۹٪ پروژه‌های استارتاپی شما به بیشتر از پایتون نیاز نخواهد داشت اگر معماری و طراحی درست باشه.



اما داشتن Rust درآینده خیلی کمک می‌کنه؛ همین شده که ما دوباره از پروژه‌های monolotic به سمت micro-service حرکت کردیم.

فرصت دستم بیاد، حتماً یک پروژه رو هم روی FastApi هم روی Actix-web کد میزنم تا تفاوت دیده بشه؛ البته چون توسعه دهنده پایتون هم هستم بایاس نمی‌کنم و زمان لازم برای توسعه رو هم خواهم گذاشت که هرکدوم چقدر ازم وقت گرفته.
👍4310🔥4
Docker
دوتا ابزار جدید اضافه کرده، چقدرم خوبه (البته من با یکیش کار کردم فعلا)

Docker model
برای دپلوی مدل‌های هوش مصنوعی، خوبیش اینه که docker compose هم می‌شناسه و می‌تونید مستقیم کانتینر کد خودتون رو به کانتینر مدل وصل کنید

دومی هم؛
Docker MCP
روی داکر دسکتاپ که کلاً راه‌اندازی سرور اختصاصی MCP رو تبدیل به بچه بازی کرده؛ ۴ تا تیک رو میزنی و وصل می‌شه 😑
23👍4
بهترین کاربرد
Nano banana
مدل تولید تصویر گوگل!
آیا درکی از تصویر رستم داشتید ؟
یا اونجاهایی که شاه‌نامه اون رو بزرگ و قدرتمند توصیف می‌کنه ؟

منم نداشتم برای همین این تصاویر رو خواستم تولید کنه.


پینوشت؛
خیلی جالبه، حتی اگر بهش منبع از توصیف کوروش بزرگ هم بدید. از تولید تصاویرش اجتناب می‌کنه :
There are a lot of people I can help with, but I can't depict some public figures. Do you have anyone else in mind ?
21😁6🔥1👏1
RandRng
Photo
حکیم فردوسی،
فقط ی کتاب ننوشته، prompt engineering کرده!
چقدر جزئیات داره.

می‌تونید به مدل جزئیات رو بدید (از مدل‌های دیگه بخواید براتون از شاه‌نامه استخراج کنه)
25👍3🔥3💯1
از دردهایش چیزی نمی‌گفت؛
و من می‌دانستم
کارد، وقتی به استخوان می‌رسد
آدم‌ را لال می‌کند.


شب بخیر
👍147💯4🐳2
T'as l'air d'une chanson
Serge Reggiani
Mais t'as l'air d'une chanson
Qu'on chante entre garçons.


#flac
👍63
RandRng
Serge Reggiani – T'as l'air d'une chanson
میترسم
اون شب هم که خواستی به خوابم بیای
من با یادت بیدار مونده باشم


شب بخیر
19🔥3🐳3🗿1
#تجربه

بیشترین سوالی که از من شده و می‌شه (دوبار در سال حداقل، یکبار شروع تابستان و یکبار شروع دانشگاه)

بنظرتون می‌شه توی ۱ سال به سطح خوبی از برنامه‌نویسی رسید؟ بخصوص اینکه مفاهیم رو هم درک کرده باشم؟


جواب کوتاه:
۱ سال که هیچ، توی ۶ ماه هم می‌شه یا حتی توی ۳ ماه ولی ....

هرچیزی یک هزینه‌ای داره؛ بذارید خودم رو مثال بزنم!
۷-۸ سال پیش بعد از یکسری اتفاقات بد، یک موقعی به خودم اومدم دیدم بخاطر تصمیمات نادرست
وزنم به ۱۱۵ کیلو رسیده (بزرگترین مشکل من حجم غذایی هست که میخورم، هنوزم حواسم پرت بشه همینه؛ ۲-۳ برابر نرمال یک فرد هم قد خودم هست)
اولش فقط غذام رو کنترل کردم و شیرینی و ... رو حذف کردم به ۱۰۵ کیلو رسیدم و بعد یکباره تصمیم گرفتم وزنم رو کم کنم.
وزن کم کردن برام انقدر هدف مهمی شد که به خودم قول دادم ۳ ماهه اینکار رو بکنم.

نتیجه هم گرفتم؛ ۳ ماه بعد ۷۶ کیلو بودم. اما خیلی چیزا رو حذف کردم.
مهمونی رفتن، حذف شد.
بیرون رفتن، حذف شد.
غذای خارج از برنامه خوردن، حذف شد.
بطور کلی؛ زندگی اجتماعیم، حذف شد.
فقط با دوستان خیلی خیلی نزدیکم و اکثرا آخر شب بیرون میرفتم.
یا اگر زودتر میرفتم فقط قهوه تلخ یا چیزی میخوردم که نه شکر داشته باشه و نه کالری نه ....

من تونستم ۳ ماهه به هدفم برسم و ۵-۶ سال هم وزنم رو ثابت نگه‌داشتم تا شرایط برام سخت شد.

مثال دیگه؛
من کارم اوایل (بچه بودم) اینجوری شروع شد که ادمین سرور لینوکس بودم، کسی که خیلی چیزا ازش یاد گرفته بودم و منتور و مدیر تیمم بود از شرکت رفت.
چندسال بعد دیدمش متوجه شدم تغییر شغل داده به شبکه و خودش شرکت زده؛ نزدیک تابستون بود گفت مدرک CCNA بگیر بیا پیش خودم، گفتم CCNP بگیرم حقوق ۱.۵ برابر بهم میدی ؟ خندید گفت برو بگیر.

۳ ما ه تابستون؛ ۴.۵ صبح از خونه میزدم بیرون کلاس میرفتم تا ۴ بعدازظهر (دوره فوق فشرده بود از Net+ تا CCNP) نزدیک کلاسم یک کتابخونه بود میرفتم بعدش اونجا تا ۷ شب برای خوندن و بعد بر می‌گشتم خونه.
دوره و گرفتن مدرک آموزشگاه که تموم شد؛ می‌دونستم اینا بدردم نمی‌خوره کتابای خود Cisco رو خریدم
CCNA, CCNP, CCIE R&S
برای آزمون هم توی یکی از کشورهای همسایه ثبت‌نام کردم؛ هرروزی که بیدار می‌شدم.
تا جایی که می‌شد، کتاب و تمرین و تمرین...
آزمون
CCNA, CCNP
رو که دادم و مدرک رو گرفتم؛ شد شروع زندگی من بعنوان نیروی شبکه؛ ولی از ساعت‌ها و مدل خوندنم معلوم هست چیا رو بیخیال شدم دیگه ؟

اینارو گفتم که بگم؛ توی ۳ ماه - ۶ ماه همه کارب می‌شه کرد، اگه من تونستم؛ همه‌ی شماها می‌تونید!

ولی حاضرید هزینه‌اش رو پرداخت کنید ؟
به معنای واقعی زندگی اجتماعی؛ دوست؛ فامیل و .... همه کنسل می‌شه!
همین موضوع خیلی وقتا باعث یک اتفاقی می‌شه بهش می‌گیم Burnout.

شعله هرچی پر نور تر/بزرگتر بسوزه زودتر هم خاموش می‌شه.


استثنا توش خیلی کمه!

ولی حالا؛ به ۹۰٪ پیشنهاد نمی‌کنم اینکار رو، بذار بیشتر طول بکشه ولی زندگیت رو مختل نکنه، بنظرم از مسیر لذت ببرید به مقصد دیرتر هم برسید چیزی رو از دست نمی‌دید!

بجای ۶ ماه؛ بذار ۱ سال طول بکشه یا بجای ۱ سال، ۲ سال بخصوص اگر زیر ۲۵ سال هستید.


اینو توضیح دادم که دیگه کسی این سوال رو نپرسه که شدنی هست یا نه؛ همش به خود شما بستگی داره و اینکه چه چیزهایی رو فدای بدست آوردن چی می‌کنید!
95👍24👏2🔥1😐1
- ممد، چیکار می‌کنی؟ وقت داری این کد رو ببینی (لینک کد)
+ یه ۲۰ خط کد از پروژه فلان مونده، بزنم بعد چک کنم ؟

۲ ساعت بعد؛

- چک کردی ؟
+ نه!
- گفتی ۲۰ خط کد؛ ۵۰۰ خط کد زدی ؟ اینو ی چک می‌کردی
+ نه، ۲۰ خط کد زدم ولی اندازه ۵۰۰ خط مفهوم جدید دیدم، باید با جزئیات یاد می‌گرفتم وگرنه نمی‌تونستم بشینم.

این مکالمه واقعی من هست با یکی از دوستان، ۲۰ خط کد زدم توی Rust و پروژه اجرا شد اما یک سری مفاهیم برنامه‌نویسی سیستمی روی چیزی که دارم براش لایبراری می‌نویسم بود که خوب درکش نمی‌تونستم بکنم.

گفتم این رو متوجه بشم، بعد چک کنم! شروع کردم با Grok چت کردن راجبش، ساعت ۱۰‌ شب شروع شد و ۱۲ شب مطمئن شدم همرو متوجه شدم، بلند شدم!

با اینکه کدم کامل کار می‌کرد، برای اینکه مطمئن بشم چیزایی که Grok بهم می‌گه درست هست؛ خیلی‌ جاهاش رو خراب کردم که با ارورهاش هم آشنا بشم (این خیلی نکته مهمی هست که متأسفانه خیلی از برنامه نویسا تمرین نمی‌کنند، یک بار راجبش می‌نویسم حتماً) و توی همین کارها متوجه یک باگ منطقی و کاملاً مخفی هم شدم.

خواستم بگم؛ صرف اینکه یک چیزی رو تونستید کد بزنید راضی نباشید.
تک به تک خط‌ها، import ها و .... رو سعی کنید متوجه بشید
قبلاً سخت بود الان به لطف LLM ها خیلی ساده‌تر هست.
👍4913
RandRng
وقتی تو عمرت، بیشتر از hello world از زبان برنامه‌نویسی کار نکشیدی! #چرندیات
#چرندیات

متن فارسی کاملاً اشتباه هست؛
is, is not
هیچوقت جای == رو نمی‌گیره.

و حتی اگر بخواید جایگزینش هم کنید، حتماً باید برای دیتای immutable مثل tuple اینکار رو بکنید.
چرا بعضی‌ها جایگزین می‌کنند ؟

اگر تعداد مقایسه‌ها خیلی زیاد باشه؛ چون مقایسه دوتا آدرس حافظه که توی استک هست از مقایسه دوتا مقدار که روی هیپ قرارداره سریعتر هست؛ ممکنه برای اپتیمایز کردن ازین جایگزینی استفاده بشه.

اما آیا یک قانون هست؛ خیر.
آیا متن درست هست؟ قطعاً خیر.

پ.ن :
تصویر هم کاملاً مزخرف هست، شت متن داخل print رو ندیده بودم، چه احمقانه!
ترکیبش با BAD, GOOD بالا، کار رو از چرندیات هم فراتر برده 🤬🤬🤬🤬
👍233😁2
#موقت

بعد میگن چرا لینکدین هیچکاری نمی‌کنی:

وقتی طرف زده سنیور و اینجوری پست می‌ذاره، ما چی بگیم؟
من بعد از اینکه توضیح دادم دیدم زده سنیور ...

روزی ۱۰-۱۵ دقیقه میرم لینکدین اونم یا باید عکسای دخترا رو رد کنم؛ یا چرت و پرت‌های تبلیغات چی‌های اینستاگرامی که اومدن توی لینکدین،
یا ازین مطالب بیینیم با خدا عدد لایک (این یکی لایکش کم بود البته)

------
این مفهوم، مفهوم سختی نیست، نویسنده هم بهش واقف هست ولی برداشت اشتباه شخصی خودش رو داره میگه! که نشون میده خیلی نکات دیگر رو هم اشتباه متوجه شده.


واقعاً من لینکدین میرم فقط برای کامنت‌ها و پست‌های چند نفر خاص، چون دقیق و حرفه‌ای مطلب می‌ذارند و لذت می‌برم.
👍35👏1
RandRng
#چرندیات متن فارسی کاملاً اشتباه هست؛ is, is not هیچوقت جای == رو نمی‌گیره. و حتی اگر بخواید جایگزینش هم کنید، حتماً باید برای دیتای immutable مثل tuple اینکار رو بکنید. چرا بعضی‌ها جایگزین می‌کنند ؟ اگر تعداد مقایسه‌ها خیلی زیاد باشه؛ چون مقایسه دوتا…
گفتم ی توضیح بدم چون دوستانی که تازه شروع کردند به کدنویسی توی این کانال داریم.

list3 = list1

وقتی این رو می‌نویسیم بجای اینکه کل دیتاهای داخل list1 کپی بشه و یک لیست جدید توی حافظه ساخته بشه و اسمش list3 بشه.
پایتون می‌گه من این خونه رو توی حافظه دارم که این دیتاها توش هست. حالا اینو دوتا اسم بهش میدم؛ هم بهش می‌گم list1, هم میگم list3.

برای همین id یکسان داره؛ و مهمتر از اون وقتی به list3 عدد 10 رو اضافه می‌کنم به list1 هم اضافه میشه.
👍3515
RandRng
گفتم ی توضیح بدم چون دوستانی که تازه شروع کردند به کدنویسی توی این کانال داریم. list3 = list1 وقتی این رو می‌نویسیم بجای اینکه کل دیتاهای داخل list1 کپی بشه و یک لیست جدید توی حافظه ساخته بشه و اسمش list3 بشه. پایتون می‌گه من این خونه رو توی حافظه دارم…
#موقت
یک تیکه‌ای رو به اشتباه نوشته بودم؛
Shallow copy
که چون مثالم از دیتا تایپ‌های primitive بوده (همون اصلی‌ها، اینجا int) این اصطلاح برای این حالت اشتباه هست.

باید این نکته رو می‌گفتم به صورت یک پست جدا که دوستانی که خوندن نوتیف آپدیت بگیرند تا چیز اشتباهی تو ذهنشون نره.
28
سخن .... :
والله پروبلم
😁18