Warning: Undefined array key 0 in /var/www/tgoop/function.php on line 65

Warning: Trying to access array offset on value of type null in /var/www/tgoop/function.php on line 65
3069 - Telegram Web
Telegram Web
یه شعر کم محتوا ولی احتمالا نوستالژی در مورد C!

https://www.youtube.com/watch?v=H4YRPdRXKFs
یه مطلب خیلی خوب در مورد تاثیر generative ai بر برنامه‌نویسی و تیم‌های توسعه. در آخر هم نظراتش در مورد برنامه‌نویس جونیور و اینکه چرا برای اکثر تیم‌ها وجودش لازمه رو می‌گه.

https://stackoverflow.blog/2024/12/31/generative-ai-is-not-going-to-build-your-engineering-team-for-you/


خلاصه ماجرا اینه که نوشتن کد کوچکی که قیافه خوبی داشته باشه، کاریه که ai خوب امکان میده ولی کار سخت برنامه‌نویس‌ها نیست. در واقع برای ai از مثال برنامه‌نویس جونیوری استفاده می‌کنه که همیشه هم جونیور می‌مونه و سازوکار و ساختارهای فعلی پروژه/شرکت رو یاد نمی‌گیره.

البته همچنان تاکید داره استفاده از ai خوبه در برنامه‌نویسی، در جای درستش، ولی حتی جونیورها نیاز نیست نگران جایگزین شدن با ai باشن.

یه نکته خودم اضافه کنم: فرض کنیم یه برنامه‌نویس با کمک ai الان پروداکتیویتیش ده برابر شده، خب این به این معنی نیست که ۹ تا برنامه‌نویس قراره اخراج بشن، بلکه به این معنیه که شرکت قراره زودتر به اهدافش برسه و از رقیب‌هاش جلو بزنه و پروداکت‌های جدید رو سریع‌تر لانچ کنه و ...
به نظر میاد موزیلا داره هرکاری در توانش هست انجام میده که کاربرای فایرفاکس رو ناراحت کنه.

در ساعت‌های اخیر یه تغییری در FAQشون دادن و اون قولی که داده بودن از دیتای ملت استفاده نکنن رو برداشتن! همچنین یه acceptable usage policy اضافه کردن که چیکار ها حق ندارید با این مرورگر بکنید.

مهم ترین چیزی که مردم رو ناراحت کرده اینه:
When you upload or input information through Firefox, you hereby grant us a nonexclusive, royalty-free, worldwide license to use that information to help you navigate, experience, and interact with online content as you indicate with your use of Firefox.

توضیحات:
https://www.omgubuntu.co.uk/2025/02/mozilla-introducing-terms-of-use-to-firefox

نظرات مردم در هکرنیوز:
https://news.ycombinator.com/item?id=43194536

نظرات مردم در ردیت:
https://www.reddit.com/r/firefox/comments/1iyuvjf/introducing_a_terms_of_use_and_updated_privacy/


یک ویدیوی خوب در X
https://x.com/LundukeJournal/status/1895198058289471966?t=UaJHNMxAgOfeCdbLzKXRDg&s=19

متن aup رو میتونید از اینجا بخونید:
https://mozilla.org/en-US/about/legal/acceptable-use/

این کامنت‌ها روی کامیتی که مربوط به حذف «ما هیچوقت دیتای شما رو نمی‌فروشیم» هم قابل توجه بود:
https://github.com/mozilla/bedrock/commit/d459addab846d8144b61939b7f4310eb80c5470e#commitcomment-153095625
دوست دارید فرق Developer و Tech lead و Engineering manager رو بدونید؟

این ریپوی گیتهاب، میاد و میگه هر نقش چطوری رو تکنولوژی، سیستم، افراد، پروسه ها تاثیر می‌ذاره (یا تاثیر می‌پذیره). همچنین می‌تونه ایده خوبی بده چطوری می‌تونیم تو نردبان شغلی پیش‌رفت کنیم.

https://github.com/jorgef/engineeringladders
در مورد این که چه مدلی خوبه که از برنچ‌های گیت استفاده کنیم، ایده‌های مختلفی مطرح می‌شه.
یکی از بهترین‌هاش در این دوره زمونه، trunk based developmentئه. (مدلهای دیگه مثل git flow هم وجود داره)

در مورد trunk based اینجا می‌تونید اطلاعات خوبی کسب کنید.
https://trunkbaseddevelopment.com/
اگه دوست دارید در مورد hyperloglog بدونید این مطلب مخصوص شماست. این مطلب به این می‌پردازه که توی فیس‌بوک چطوری با کمک این ساختمان داده احتمالاتی، یه کوئری رو بهینه سازی کردن.

ساختمان داده ها احتمالاتی، ساختمان داده هایی هستن مثل bloom filter که پاسخ نزدیکی به ما میدن ولی نه لزوما دقیق. با این که گارانتی دقت رو نمیدن، مزایای دیگه‌ای دارن مثلا مصرف مموری کمتری دارن یا از نظر محاسباتی سبک‌تر هستن.

در این مورد هم hyperloglog تعداد المنت های یونیک یه لیست رو به شکل تقریبی می‌شماره، با مصرف پردازنده و مموری خیلی خیلی کم. توی مطلب پیوست اشاره می‌شه که تعداد بازدید کننده های غیرتکراری فیسبوک رو میخواستن پیدا کنن.

https://engineering.fb.com/2018/12/13/data-infrastructure/hyperloglog/
Forwarded from Software Philosophy
۱۰ برابر شدن سرعت TypeScript با پورت کامپایلر به GO

در این ویدئو Andres Hejlsberg (خالق تایپ‌اسکریپت و سی‌شارپ) توضیح می‌دهد که چگونه با پورت کردن کدهای کامپایلر TypeScript به GO، سرعت کامپایل را 10x بهتر کرده‌اند!

او همچنین توضیح می‌دهد که چرا زیرساخت JavaScript برای این کار مناسب نیست. در حقیقت این زبان بیشتر برای کارهای UI طراحی شده بوده و زیرساخت‌های لازم برای کارهای performance-intensive مانند این کار را ندارد.

برای من خیلی جالب بود خالق سی‌شارپ، زبان GO را برای این کار انتخاب کرده، پس مستندات مربوط به این تصمیم را خواندم.
https://github.com/microsoft/typescript-go/discussions/411

اولین نکته جالب این بود که چقدر بدون تعصب و با ذهن باز زبان‌های مختلف رو بررسی کردن.
با توجه به اینکه هر دو زبان‌ C#, GO از لحاظ پرفورمنسی بسیار خوب هستند، یکی از مهم‌ترین دلایل انتخاب GO تشابه بسیار بالای سینتکس آن با TypeScript بوده است.

کامپایلر قبلی تایپ‌اسکریپت، با خود تایپ‌اسکریپت نوشته شده و تیم نمی‌خواستند که کل آن را بازنویسی کنند.
در حقیقت هدف rewrite کردن نبوده، بلکه port کردن بوده.
آنها دنبال پورت کردن آن به یک زبان با پرفورمنس بالا بودند که تشابه سینتکسی بالایی داشته باشد تا عملیات پورت بتواند راحت‌تر انجام شود.

از بین زبان‌های C#, GO و Rust، زبان گو تشابه سینتکسی بیشتری با تایپ‌اسکریپت داشته و در نهایت انتخاب شده.

به نظرم نحوه انتخاب زبان برای این کار توسط خالق سی‌شارپ و تایپ‌اسکریپ، درس‌های تکنیکال و بیزسنی زیادی برای یاد گرفتن داره. نظر شما چیه؟


https://www.youtube.com/watch?v=pNlq-EVld70

#مهران_داودی (لینکدین - بلاگ)

⁉️ برای بحث و تبادل نظر فنی در مورد این پست، نظرات خود را با ما در قسمت کامنت‌ها به اشتراک بگذارید.

کانال تلگرام:
@SoftwarePhilosophy

______
Forwarded from Prisma | پریسما
🤔 تا حالا به این فکر کردی که تحصیلات طرفدارای پرسپولیس بیشتره یا استقلال؟

🤔 یا اینکه آدمایی که ازدواج کردن خودشونو خوشبخت‌تر میدونن یا مجردا؟

🤔 یا تا حالا فکر کردی که بشه از همه کسایی که مهاجرت کردن نظرشونو در مورد مهاجرتشون پرسید؟


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

برای اینکه همراهمون باشی از طریق این بات نظراتت رو ثبت کن:
🆔 @prisma_poll_bot

برای دیدن نتایج هم کافیه توی چنلمون عضو شی:
🆔 @prisma_thoughts

اگه خوشت اومد ما رو به دوستات هم معرفی کن که به تحلیل بهتر نظرات کمک کرده باشی 🤌
ابزار مدیریت محصول Linear که یکی از استارت‌آپ‌های خیلی موفق چند سال گذشته است، به خاطر نگاه متفاوتی که به روند توسعهٔ محصولشون داشتن در کامیونیتی‌های پروداکت و UX خیلی ازش صحبت می‌شه. اونا تونستن که محصول خیلی باکیفیتی ارائه بدن و خیلی‌ها معتقدن از رقیب‌های بزرگشون مثل Jira و Clickup تجربهٔ کاربری بهتری ارائه می‌دن.

یک محصول خوب با پشتیبانی یک تیم مهندسی خوب ساخته می‌شه. Sabin Roman که Engineer Manager و Hiring Manager این شرکته، اخیراً مصاحبهٔ خیلی خوبی با Gergley Orosz داشته. هر دوی این افراد در گذشته در Uber با هم همکار بودن و به همین دلیل مقایسه‌های جالبی بین شرکت بزرگی مثل Uber و استارت‌آپ نسبتاً جدیدی و کوچکی مثل Linear شکل می‌گیره.

نکاتی در مورد فرهنگ شرکت Linear که برام جالب‌ بود:
- شرکتشون کاملاً ریموته و بر روی این اصل پافشاری می‌کنن. مصاحبه‌کننده بر این باوره که remote first بودن مزایای زیادی رو به شرکت‌ اضافه می‌کنه، حتی با وجود این که سربار بیشتری برای مدیرهای شرکت‌ داره.
- حل یک باگ همواره براشون اولویت بالاتری از توسعهٔ محصول داره و همهٔ اعضای تیم موظفن که در زودترین زمان ممکن باگ رو رفع کنن و برای این مسئله فرآیند مشخصی دارن.
- مهندس‌هاشون ارتباط مستقیم و بدون واسطه‌ای با مشتری‌ها دارن و حرف‌هاشون رو می‌شنون و مشکلات محصول رو می‌بینن.

ویدیو رو می‌تونید از این لینک ببینید.

@aminrbg
https://iximiuz.com/en/posts/containers-distroless-images/

دوست دارید از بیس ایمج scratch استفاده کنید برای داکر فایل هاتون، ولی خیلی خالیه و امکانات مورد نظر رو نداره؟
از طرفی alpine هم زیادی امکانات و attack surface داره؟

یه ایمج استاتیک وجود داره که در حد پوشه بندی استاندارد و tzinfo رو فراهم می‌کنه ولی پکیج‌منیجر نداره.
یه نکته که الان در مورد چنل متوجه شدم اینه که از دسامبر به بعد پیام زماندارهایی که برا ساعت ۲۰:۰۰ می‌ذارم، با تاخیر خیلی زیاد میرسه. قبلا خود ۲۰:۰۰ یا ۲۰:۰۱ می‌رسید ولی تاخیره به ۳ تا ۵ دقیقه رسیده!
حتی در یه مورد یک دقیقه زودتر بوده!

راستی، فرض کنید می‌خوایم سیستم پیام زماندار تلگرام رو طراحی/پیاده‌سازی کنیم، به نظرتون چه چالش‌هایی داره و چطوری میشه حلشون کرد؟

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

لینک گیتهاب پروژه:

https://github.com/myanvoos/algoMIDI

لینک صفحه لایو پروژه:
https://algomidi.vercel.app/


دو تا قابلیت داره، یکی ساخت صدا از الگوریتم های پیمایش گراف که فقط تو کامپیوتر در دسترس هست.
یکی هم این که بهش یه زمین Conway's game of life میدید و به ازای هر پیمایش که می‌ره جلو، صدای خونه‌های متناظر رو پخش می‌کنه.
اگه دوست دارید یه اپلیکیشن برای استفاده از youtube music داشته باشید که adblock داخلی خودشم داره این اپلیکیشن رو امتحان کنید.
پلاگین‌های متنوعی داره توی خودش که می‌تونید شخصی‌سازی هم داشته باشید ولی بدون تغییر خاصی هم، تجربه کلیش به نظرم لذت‌بخشه.

https://github.com/th-ch/youtube-music


برای لینوکس و ویندوز و مک هم نسخه داره.
نوشته‌های ترمینالی
یه مطلب خیلی خوب در مورد تاثیر generative ai بر برنامه‌نویسی و تیم‌های توسعه. در آخر هم نظراتش در مورد برنامه‌نویس جونیور و اینکه چرا برای اکثر تیم‌ها وجودش لازمه رو می‌گه. https://stackoverflow.blog/2024/12/31/generative-ai-is-not-going-to-build-your-engineering…
در ادامه مطلبی که ریپلای زدم:
آیا میشه با استخدام یه نیروی سنیور، میانبر زد و زودتر به بازدهی رسید؟
این مطلب نظرش اینه که نه.
چرا؟
چون سنیوری که تجربه‌ش جای دیگه‌ست اتفاقا خیلی سخت تر می‌تونه اداپت بشه.

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

https://skamille.medium.com/the-senior-shortcut-fadffe5503fd


از این مطلب هم در کنار مطلب قبلی، آگاهی‌بخشی از اینه که جونیورها هم مهمن.

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

۲- شاید به نظر بیاد که کاری که جونیور می‌تونه انجام بده رو هوش مصنوعی هم می‌تونه انجام بده، ولی خب جونیوری که با هوش مصنوعی کار می‌کنه سرعتش بیشتره، میتونه زودتر یاد بگیره و ... ضمن این که وقتی که جونیوری در حال یادگیری نباشه، به زودی سنیوری هم در کار نیست.
ما قرار نیست چون ماشین حساب وجود داره جمع و ضرب رو یاد ندیم به دانش‌آموزها. هرچند شاید از توانایی جمع و ضربشون زیاد استفاده نکنن.
آیا این که پوشه vendor رو توی پروژه گولنگیمون کامیت و پوش کنیم کار خوبیه؟

این مطلب دلایلی میاره که کار خوبیه و باعث میشه الکی نیاز به دانلودشون نباشه و اگر هم پروژه‌ای دیگه قابل دسترس نبود، همچنان پروژه قابل کامپایل شدن باشه.

https://penkovski.com/post/to-vendor-or-not-to-vendor
#مطلب

What I Wish I Knew About Onboarding Effectively

https://eugeneyan.com/writing/onboarding/

زمانی که شرکتتون رو عوض می‌کنید و وارد یه شرکت جدید میشید باید یه فرایندی طی بشه تا شما با اون شرکت، کدهاش و فرهنگش آشنا بشید. به این فرایند میگن آنبوردینگ.
مطلب بالا نکات خیلی خوبی در همین مورد بیان می‌کنه که باعث میشه این فرایند رو بهتر بتونیم طی کنیم و توی شرکت جدید بهتر جا بیافتیم. اگر دارید آنبورد میشید یا قراره یه نفر دیگه رو آنبورد کنید این مطلب به شدت پیشنهاد میشه.


✴️ @software_inside - مهندسی‌نرم‌افزار
Forwarded from Tech Den (Amirhossein)
این بلاگ پست راجع به این حرف میزنه که ai چقدر میتونه کمک کننده باشه
چقدر ممکنه بهمون آسیب بزنه
و واقعا کجاها خوبه که ازش برای بهینه کردن کارامون استفاده کنیم

بهترین قسمتش به نظرم این تیکه از جمع بندی آخرش بود

AI is a tool, it is not good or bad in itself, it’s what you do with it. I do think it can be a great tool, as long as you are not reliant on it for your workflow. Make sure you can still work effectively without it, make sure you don’t push code to production that you don’t fully understand and don’t think of AI as a replacement for your own thinking. Stay curious, keep learning.

https://lucianonooijen.com/blog/why-i-stopped-using-ai-code-editors/

خوندن این مقاله برای کسایی هم که تازه برنامه نویسی رو شروع کردن خیلی خوبه

توی این ویدیو هم میتونید مقاله رو با primeagen ببینید
https://www.youtube.com/watch?v=y3_TY4K8hVE&t=776s
2025/06/29 08:44:36
Back to Top
HTML Embed Code: