DevTwitter | توییت برنامه نویسی
23.6K subscribers
4.36K photos
358 videos
6 files
4.1K links
توییت های برنامه نویسی و طراحی وب :)

@dvtwi

Hashtags:
devtwitter.t.iss.one/5

DevBooks Channel:
https://t.iss.one/+AYbOl75CLNYxY2U0

Github:
https://github.com/DevTwitter

X:
https://x.com/devtwittir
Download Telegram
این گوگل ۱۹۹۸ هست
تقریبا همه اعتقاد دارن تا امروز تغییر زیادی نداشته. ولی حالا وال استریت میگه گوگل تصمیم داره خونه تکونی کنه
مثلا دیگه لینک سایت هارو نشون نمیده و احتمالا به اسم سایت و آیکون کفایت می‌کنه.
ویدیوهای بیشتری از یوتیوب داخل نتایج نمایش داده میشه و اصل کار یعنی پروژه Magi که قراره یه AI به نتایج گوگل اضافه بشه «شاید Bard باشه» رو هم توی این تغییرات داریم.
بیشتر این تغییرات قراره همین امسال یعنی ۲۰۲۳ اتفاق بیفته و ایده کلی پشت این کار افزایش محبوبیت گوگل برای نسل جدید هست.
البته گوگل توی استفاده از AI برای نتایج جست جو مثل بینگ تازه کار نیست
تقریبا از سال ۲۰۲۱ داره خیلی جدی از هوش مصنوعی استفاده میکنه
طبق تجربه‌ای که از بینگ AI داریم یعنی استفاده بیشتر از سایت‌هایی که جزو ۲۰ جایگاه اول هستن برای منابع، پس میشه گفت احتمال زیاد تغییرات جدید گوگل بازدهی نتایج صفحه ۳ به بعد رو کاهش میده، یعنی اهمیت قرار گرفتن در صفحه یک و بعد دو گوگل برای صاحبان سایت‌ها بیشتر میشه.

@DevTwitter | <Soroush Ahmadi/>
👍41👎6🔥1🤣1
ساکنین سیستان بلوچستان، خراسان جنوبی و شهر های اطراف تهران میتونن بورسیه ی دیجیکالا بشن و آموزش رایگان برنامه نویسی ببینن.
حتی سیستم هم در اختیارشون قرار میدن

جزئیات بیشتر:
https://about.digikala.com/education-ta-code/

@DevTwitter
👍73🔥5🤯5🤣3
‏این حرکتی که آمازون پرایم زده هم باحاله.
تو ذهن بعضی ها اینجوریه که مونولیثیک یه پترنی عه که نباید ازش استفاده کرد و همه چی باید بشکنه به ریز ترین فانکشنالیتی و سرویس مستقل بشه. تبلیغ سنگین این csp ها هم بی تاثیر نیست.
بیا، الان نود درصد سیو کردن با ماگریت کردن به مونولیثیک
https://www.primevideotech.com/video-streaming/scaling-up-the-prime-video-audio-video-monitoring-service-and-reducing-costs-by-90

@DevTwitter | <Sina/>
👍13🤣2🤬1
اگر زبان انگلیسی بلد نباشید، احتمال اینکه در برنامه‌نویسی پیشرفت کنید کم هست.

اگر هم زبان انگلیسی بلد باشید تضمینی برای این پیشرفت نیست، ولی حداقل به انبوهی از منابع آموزشی رایگان (در هر موضوعی، نه فقط برنامه‌نویسی) دسترسی پیدا میکنید.

از یاد گرفتن یک زبان دوم ضرر نمیکنید.

@DevTwitter | <Amirreza Gh/>
👍111🤣31👎1
DevTwitter | توییت برنامه نویسی
یک مساله‌ی فراگیر در بازار فناوری ایران، حوزه‌های به طرز عجیبی «باریک» است که آدم‌ها برای خودشون تعریف می‌کنن؛ مثلا «BI کار»؛ «php کار». این رویکرد به یک سرعت‌گیر برای شرکت‌ها تبدیل شده - و جلوی رشد خود آدم‌ها رو هم می‌گیره و اصلا مفهوم مهندس ارشد (senior)…
من چند سال پیش داشتم با جمعای از بچه‌های این شرکت گنده‌ها صحبت میکردم. ما همه تازه‌کار بودیم. یکی که گوگل بود، خیلی پسر خوبی بود، می‌گفت که پروژه که داره روش کار می‌کنه، اضافه کردن یه تابع به کتابخونه firebase swift بود. این پسر هیچی غیر از swift بلد نبود.
بعدش من گفتم روی چی کار میکردم.

من اون ماه، داشتم پشتیبانی از پروتکل QUIC و HTTP3 رو در سیستم پخش بار (load balancer) لایه ۴ کلودفلر پیاده میکردم. که این با کد Go و به شکلی distributed پیاده میشه برای control plane، و با کد C eBPF که در کرنل اجرا میشه برای data plane.

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

اون کارمند گوگل که فقط swift بلد بود، کارش این بود و نیاز نبود چیزی فراتر از اون انجام بده. منم کارم متفاوت بود و نیاز بود کلی با دیتا بازی کنم و چیزهای دیگه.

خلاصه: کاری با گوگل نداشته باشید، کرمنداشون خیلی دوست دارن برای همه بگن که چجوری باشید.

طبق محیط که توش هستید عمل کنید، اگه بهت خیلی پول نمیدن و فرصت زیادی نیست توی شرکتت، زیاد خودتو اذیت نکن. به جای اینکه فکر کنی چجوری میتونی مهندس بهتری باشی، فکر کن چجوری میتونی بری توی یه محیط بهتری کار کنی که نیازاش خیلی جالبه و فرصت یاد گرفتن بیشتره.

و همه جا دنیا این داستان باریک رو داریم، شاید سیلیکون ولی نباشه چون واقعاً اون جور آدم نمیتونه اونجا کار گیر بیاره و نمیتونه اونجا زنده بمونه!

@DevTwitter | <Mark Pashmfouroush/>
👍57👎2🤣2🤬1
آموزشِ یواشِ ساخت پنل ادمین با vue و vuetify

https://youtu.be/_EiPwgrTYGY

@DevTwitter
🤣14🔥3🤬1
احتمالا در این چند روز اسم Mojo که زبان جدید ساخت شده توسط Chris Lattner (سازنده‌ی LLVM) و همکارانش هست رو شنیدید.

این زبان یک سوپرسِت برای پایتون به حساب میاد (مشابه TS و JS) و در واقع از سینتکس پایتون به عنوان یک فرانت برای MLIR استفاده کرده:‏
به این صورت که شما هم سینتکس معمول پایتون رو دارید وهم ران‌تایم معمول پایتون رو، ولی این وسط یک سری چیزهای اضافه تری هم وجود داره.

قابلیت struct رو به پایتون اضافه کردند که کدهای شما در این اسکوپ، میتونن مثل یک زبان سیستمی حافظه رو به شکل دستی مدیریت کنند (allocation). همچنین مدیریت حافظه در این زبان مثل Rust دارای یک سیستم Ownership مخصوص هست. و توابع هم مثل Rust در struct ها با fn به جای def تعریف میشن.

در حقیقت یک DSL ارايه کردند که لازم نباشه برای سرعت بهتر کدهای C بنویسید و همزمان هم از امکانات MLIR بهره‌مند بشید.
زبان‌ها و کتابخانه‌های دیگری هم وجود دارند که از MLIR استفاده میکنند این چیز جدیدی نیست.

دلیل اینکه امکان موفقیت این زبان میتونه بالا باشه اینه که همون پایتون معمول هست، و فقط یه چند بخش اضافه تر رو باید یاد بگیرید که خیلی بزرگ هم نیست.
دلیل اینکه ممکن هست موفق نشه هم اینه که این بخش جدید، یه DSL برای شبیه سازی یک زبان سیستمی و استاتیک تایپ هست و این یک شکاف بین حالت سطح بالا و داینامیک پایتون بوجود میاره که برنامه‌نویس‌هاش بهش عادت ندارن. یعنی استفاده از اون بخش از Mojo، به همون اندازه Rust سخت خواهد بود!
اگر این وسط یه API راحت‌تر برای کار با MLIR به شکل یه کتابخونه جانبی برای پایتون پیدا بشه، ممکن هست Mojo با استقبال کافی روبرو نشه. مخصوصا که نه جامعه‌ی کاربری پایتون و نه اکوسیستم اش، با هدف سیستمی بودن زبان ساخته نشدن.

بهرحال باید منتظر موند و دید.
modular.com/mojo

@DevTwitter | <Amirreza Gh/>
👍28🤬2🤣1
#کدبوک

اگر دنبال یک منبع خوب برای مطالعه هستید این ریپو رو از دست ندید

کلی کتاب حوزه ی برنامه نویسی به زبان های مختلف
کلی هم کتاب فارسی داره برای تکنولوژی های مختلف

https://github.com/EbookFoundation/free-programming-books

@DevTwitter
🔥11👍6🤬1
تاحالا به این فکر کردید که یک class دقیقا چی هست؟
چرا اسم سازنده‌ها هم اسم class هستند (یا اسم خاصی دارند)؟
چرا موقع نمونه سازی از یک کلاس، مثل یک تابع صداش میزنن؟

زبان‌های برنامه‌نویسی امروزی تقریبا همگی یا از Algol الهام گرفته‌اند یا از Lisp. (و یا هردو)اولین زبان شی‌گرا، Simula، به شکل یک اکستنشن برای زبان Algol طراحی شده بود. Algol زبانی هست که مفهوم block و اسکوپ و برنامه‌نویسی Procedural با اون معروف شد.

در Algol وقتی یک بلاک اجرا میشد، میگفتند که «یک نمونه (Instance) از آن بلاک در حافظه ساخته شده» (تا بتونه اجرایی بشه)
یک خصوصیت دیگر Algol این بود که پروسیجرها مثل Rust یا زبان‌های FP نیاز نبود مشخصا از return استفاده کنند. نتیجه‌ی آخرین پردازش منطقی در بلاک به عنوان خروجی اون بلاک در نظر گرفته میشد.

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

(کتاب Structured Programming بخش ۳.۳ - به اسم نویسنده‌ها توجه کنید!)
در حقیقت class یک پروسیجر است! برای همین مثل یک تابع فراخانی می‌شود. بدنه‌ی کلاس، همان بلاک‌ای است که از آن یک نمونه (object) در حافظه ایجاد میشد.
اسم class از classification آمده. به معنی طبقه‌بندی. دسته‌بندی.
منظور از دسته‌بندی چی بوده؟
هدف این بوده که نمونه‌ها قابل دسته‌بندی باشند. یعنی مثلا میگفتند که این نمونه‌های ساخته شده جزو کدام دسته‌بندی هستند؟ یا بهتر بگوییم، نمونه‌ها از روی کدام class ساخته شده‌اند؟

طبق این تعریف به مفهوم دیگری میرسیم که آن هم یک پروسیجر است و عملکرد مشابهی دارد: closure هر بلاک در Algol می‌توانست شامل تعدادی متغیر یا یک سری از دستورات باشد. جالب‌تر اینکه در Algol می‌توانستیم ساب-پروسیجر داشته باشیم. یعنی هر پروسیجر، می توانست شامل تعدادی متغیر و تعدادی ساب-پروسیجر باشد. این در حقیقت همان حالتی است که امروزه class رو نگارش میکنید!
یعنی class حتی از نظر نوع نگارش هم مثل یک پروسیجر معمولی بوده. اما نکته‌ای اصلی اینجاست: نمونه بلاک یک پروسیجر بعد از اجرا از حافظه خارج میشد!
تفاوت class و closure در این بوده که نمونه بلاک، بعد از فراخانی تابع می‌توانست به حیات خود در حافظه ادامه دهد و کماکان در دسترس باشد.
اگر زبان‌هایی مثل Algol یا Lisp را مطالعه کنید، مغزتان سوت می‌کشد از حجم مفاهیم و قابلیت‌هایی که ما فکر می‌کنیم جدید هستند، ولی در واقع از دهه ۵۰ و ۶۰ برای ما باقی مانده‌اند. همچنین درک بهتری از روند پیشرفت این قابلیت‌ها خواهیم داشت.
(مثلا فکر میکنید اولین بار int از کجا آمد؟)

@DevTwitter | <Amirreza Gh/>
👍38🔥3🤬1
دوستان وب سایت Alpha3cloud یک ساعت وی‌پی‌اس لینوکس رایگان میده با ثبت نام تا یک هفته. برای تست و دم دستی خوبه.

https://alpha3cloud.com/get-started/

@DevTwitter | <Matthew/>
👍16🔥1🤬1
هر شغلی یک پیش نیاز‌هایی داره ، برنامه نویسی روحیه حل مسئله و پشتکار میخواد ،‌اگه این دو مورد در کسی نباشه به این راحتی ها به دست نمیاد و احتمال قریب به یقین برنامه‌نویس خوبی نمیشه!

@DevTwitter | <Unique/>
👍46🤯1🤬1
#کدبوک

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

* فایل PDF این کتاب رو میتونید از کانال DevBooks که لینکش توی بیو هست دانلود کنید.

@DevTwitter | <Mohammad Sianaki/>
👍43🤣4👎2🔥1
ریدمان جدید واتساپ، حتی وقتی از گوشی استفاده نمیکنید، واتساپ صداهای اطراف شما رو میشنوه.

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

ایلان ماسک در واکنش به این توییت گفته که واتساپ قابل اعتماد نیست

@DevTwitter
👍61🤬6🤣5🤯4
نمی دونم تا حالا با فریمورک Quasar کار کردید یا نه ولی به نظرم حتما یکبار هم شده ازش استفاده کنید واقعا بین فریمورک های فرانت جزو قوی ترین ها پشتیبانی فوق العاده ای از زبان فارسی داره و مجموعه ای از UI component ها که خیلی کامله واقعا

@DevTwitter | <ghost/>
👍27🤬4👎2🔥1
من هنوز نمیفهمم چرا واتساپ فیلتر شد
این بنده خدا که کلا دیتا ذخیره نمیکنه، کل ارتباطش هم که end to end هست. کانال و ... هم نداره
یعنی مثلا یه جلسه گذاشتید، توی جلسه چی به‌هم گفتید که خروجیش شده فیلتر کردن واتساپ

@DevTwitter | <Sourosh Ahmadi/>
👍49🤣17👎8🤬2
یک سوال هست که خوبه چندتا چیز رو همزمان یادگرفت؟ یعنی چندتا مطلب همزمان پیش برد.

این موضوع داخل برنامه نویسی خیلی زیاد دیده میشه، ادما یکهو چندتا مطلب باهم پیش میبرن در طول روز

مثلا همزمان دارن یک فریم‌ورک وب یاد میگیرن، و بلافاصله بعد از اون میرن سراغ یک موضوع دیگه، مثلا ساختار داده میخونن :)

این سوال من قبلا زمانی که داخل یک استارت‌اپ سمی مشغول به کار بودم به جوابش رسیدم :).

تو اون استارت‌اپ من همه کار میکردم، دواپس، بک‌اند، ci/cd وب اسکرپینگ و تقریبا هرچیزی که بود. چون تنها بک‌اند اونجا بودم
اون روزا خیلی کلافه شده بودم از موضوع، روزی ۱۰ ساعت کار میکردم و هیچ‌احترامی هم نبود.
خلاصه تو همون روز‌ها درحال جست‌وجو داخل نت بودم که یک مقاله درباره چند وظيفه‌ شدن کارمندای تِک خوندم.

اونجا یک مثال خیلی قشنگ زده بود، گفته بود بیایید یک cpu رو فرض کنیم، شما میتونید به یک cpu چند کار رو بدید که همزمان انجام بده، مثلا اگر ۴ تا تسک بهش بدید شاد تمام این تسک‌ها رو به صورت همزمان پیش ببره و درنهایت در ۴ دقیقه همرو کامل تموم کنه.
اما اگه به همون cpu، همین تسک‌ها رو به شکل دیگه ای بدید بیایید بعد از تموم شدن هر تسک، تسک بعدی بهش بدید احتمالا اون ۴ تسک رو در ۲ تا ۳ دقیقه انجام بده :)

چرا؟ چون درحالت اول باید منابع بین تسک‌ها تقسیم شه، در حالت دوم میشه تمام منابع رو رو یک تسک متمرکز کرد :).

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

@DevTwitter | <Torham/>
👍53👎8🤣3
توی چند تا پست بعدی قراره یه خلاصه ای از مراسم گوگل I/O رو بگیم
🔥15👍1
ویژگی جدید جیمیل به اسم Help Me Write که دستیار Ai هست برای اینکه توی نوشتن ایمیل بهتون کمک بکنه

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

@DevTwitter | <Soroush Ahmadi/>
👍14🔥1
یه سری از ویژگی‌های فتوشاپ رو گوگل به صورت AI به برنامه Photos اضافه میکنه، که در واقع هدف این کار اینه کاربرای مبتدی هم بتونن ویرایش راحتی داشته باشن

@DevTwitter | <Sourosh Ahmadi/>
👍20