دستور netstat ابزاری برای چک کردن پورت های باز سیستم بود
netstat -tulnp
گرچه هنوز میتوان از ان استفاده کرد ولی از سال ۲۰۱۱ دیگر توسعه نیافته
جایگزین آن دستور ss است
ss -tulnp
@DevTwitter | <MehrdadLinux/>
netstat -tulnp
گرچه هنوز میتوان از ان استفاده کرد ولی از سال ۲۰۱۱ دیگر توسعه نیافته
جایگزین آن دستور ss است
ss -tulnp
@DevTwitter | <MehrdadLinux/>
👍22❤3
یه پکیج خفن برای کوتاه کردن لینکها توسعه دادم!
سلام رفقا! اخیراً یه پکیج برای لاراول نوشتم که میتونید باهاش لینکهاتون رو کوتاه کنید، آمار بازدید بگیرید و کلی امکانات دیگه!
ویژگیهای پکیج:
- کوتاه کردن لینکها با یه API ساده
- نمایش آمار بازدید هر لینک
- قابل استفاده توی هر پروژهی لاراولی
- نیاز به لاگین داره تا هر کاربر لینکهای خودشو ببینه
نصبش هم خیلی راحته.
سورسکدش رو اینجا گذاشتم:
https://github.com/Saberqadimi/link-shortener
@DevTwitter | <Saber Qadimi/>
سلام رفقا! اخیراً یه پکیج برای لاراول نوشتم که میتونید باهاش لینکهاتون رو کوتاه کنید، آمار بازدید بگیرید و کلی امکانات دیگه!
ویژگیهای پکیج:
- کوتاه کردن لینکها با یه API ساده
- نمایش آمار بازدید هر لینک
- قابل استفاده توی هر پروژهی لاراولی
- نیاز به لاگین داره تا هر کاربر لینکهای خودشو ببینه
نصبش هم خیلی راحته.
سورسکدش رو اینجا گذاشتم:
https://github.com/Saberqadimi/link-shortener
@DevTwitter | <Saber Qadimi/>
👍30❤6👎3
Media is too big
VIEW IN TELEGRAM
ابزار trae.ai یه IDE رایگان و جایگزین Cursor هست. بهصورت کاملاً رایگان و بدون محدودیت به Cloud 3.7 دسترسی دارین!
https://www.trae.ai/
@DevTwitter | <Milad Varvaei/>
https://www.trae.ai/
@DevTwitter | <Milad Varvaei/>
👎31👍30🔥3❤2
سیستم recommender اسپاتیفای چطور برای ۵۰۰+ میلیون کاربر ماهانه پیشنهادهای شخصیشده میده؟
با الگوریتمهای ماشین لرنینگ، فیلترینگ هوشمند و تحلیل صوتی، دادههای عظیم رو پردازش میکنه.
چطور این کار رو میکنن؟
اسپاتیفای دادههای موسیقی رو به متادیتا (مثل ژانر، آلبوم) و سیگنالهای صوتی (مثل BPM، Loudness، Danceability) تقسیم میکنه.
با تحلیل صوتی، ویژگیهایی مثل انرژی و Valence استخراج میشه
مثلاً "When I Was Your Man" از برونو مارس با ۷۳ BPM، ترکی کمانرژی اما رقصپذیر شناسایی میشه
برای تحلیل متنی، اسپاتیفای از پردازش زبان طبیعی (NLP) استفاده میکنه.
مدلهای NLP متن آهنگها، نظرات کاربران و عناوین پلیلیستها رو بررسی میکنن تا احساسات و مضامین (مثل غم یا شادی) رو تشخیص بدن.
الگوریتمهای ریکامندر از فیلترهای collabrative یا مشارکتی (User-based/Item-based) و فیلترینگ مبتنی بر محتوا (Content-based) بهره میبرن.
با این ماتریکس، اینا شباهتهای رفتاری کاربران رو پیدا میکنن و ترکهای مرتبط (مثل Blank Space) رو پیشنهاد میدن.
برای بهبود مداوم، اسپاتیفای از حلقه بازخورد (Feedback Loop) استفاده میکنه.
دادههای تعامل کاربر (مثل ذخیره یا اسکیپ کردن) با Reinforcement Learning تحلیل میشن تا مدلها دقیقتر بشن.
راستی، اسپاتیفای میتونه با محیط کاربر هماهنگ بشه؟ بله.
چطور؟
اینا الگوریتمشون با دادههایی مثل زمان، موقعیت جغرافیایی و آبوهوا، پلیلیستهایی متناسب با حال و هوا میسازن، مثلاً موسیقی آرام برای روزهای بارانی.
این هماهنگی با APIهای خارجی (هواشناسی، GPS) و دادههای داخلی (زمان سیستم) ممکن میشه. مدلهای پیشبینی کننده (Predictive Models) این اطلاعات رو با خوشهبندی (Clustering) ترکیب میکنن تا پیشنهادهای متناسب ارائه بدن.
تاریخچه گوش دادن کاربر با الگوریتمهای یادگیری ماشین تحلیل میشه تا الگوهای رفتاری شناسایی بشن. اگر صبحها موسیقی شاد گوش کنی، سیستم پیشنهادهای پرانرژی برای صبحها میده.
یه چیز دیگه اینکه ویژگی DJ مجازی با هوش مصنوعی مولد (Generative AI) و NLP پیادهسازی شده.
این سیستم دیالوگهایی تولید میکنه که متناسب با موسیقی و حال و هوای تو باشن، و با تعاملات کاربر بهبود مییابد.
یه چیز جالب از چالشهاشون این بود که "Cold Start Problem" برای هنرمندان جدید بود.
بدون وجود داشتن داده کاربر، پیشنهاد دادنشون سخته. اسپاتیفای با تصحیح انسانی (یعنی مثلا آدم میاد وسط اینجا سلکتش میکنه) و تحلیل صوتی این مشکل رو حل میکنه.
مشکل بعدی حباب فیلترینگ (Filter Bubble) هست. فیلترنگ مشارکتی ممکنه فقط ترکهای مشابه پیشنهاد بده و تنوع رو محدود کنه.
این با کلاسترایز کردن بیشازحد در ماتریسهای رکامندر رخ میده.
یه چیز دیگه هم اینکه نگرانی حریم خصوصی هم هست. جمعآوری دادههایی مثل موقعیت و تاریخچه گوش دادن نیاز به رمزنگاری قوی و شفافیت در سیاستهای حریم خصوصی داره تا اعتماد کاربران حفظ بشه.
خلاصه اینکه اسپاتیفای با تلفیق انسان و ماشین (مثل ویراستاران انسانی) تنوع و عدالت رو در پیشنهادها تضمین میکنه تا همه ژانرها و فرهنگها دیده بشن.
نتیجه اینکه اسپاتیفای با ترکیب فیلترنگ مشارکتی/محتوایی، یادگیری تقویتی، دادههای محیطی و نظارت انسانی، سیستمی مقیاسپذیر و عادلانه ساخته که موسیقی رو شخصی و متنوع میکنه.
این داستان چه درسهایی برای ما داره:
۱) در دادههای بزرگ، الگوریتمهای ترکیبی میتونن کلید مقیاسپذیری باشن
۲) حلقه بازخورد (Feedback Loop) برای بهبود مداوم ضروری است،
۳) تعادل بین تکنولوژی و انسان برای تنوع و اخلاق حیاتیست.
@DevTwitter | <Saman/>
با الگوریتمهای ماشین لرنینگ، فیلترینگ هوشمند و تحلیل صوتی، دادههای عظیم رو پردازش میکنه.
چطور این کار رو میکنن؟
اسپاتیفای دادههای موسیقی رو به متادیتا (مثل ژانر، آلبوم) و سیگنالهای صوتی (مثل BPM، Loudness، Danceability) تقسیم میکنه.
با تحلیل صوتی، ویژگیهایی مثل انرژی و Valence استخراج میشه
مثلاً "When I Was Your Man" از برونو مارس با ۷۳ BPM، ترکی کمانرژی اما رقصپذیر شناسایی میشه
برای تحلیل متنی، اسپاتیفای از پردازش زبان طبیعی (NLP) استفاده میکنه.
مدلهای NLP متن آهنگها، نظرات کاربران و عناوین پلیلیستها رو بررسی میکنن تا احساسات و مضامین (مثل غم یا شادی) رو تشخیص بدن.
الگوریتمهای ریکامندر از فیلترهای collabrative یا مشارکتی (User-based/Item-based) و فیلترینگ مبتنی بر محتوا (Content-based) بهره میبرن.
با این ماتریکس، اینا شباهتهای رفتاری کاربران رو پیدا میکنن و ترکهای مرتبط (مثل Blank Space) رو پیشنهاد میدن.
برای بهبود مداوم، اسپاتیفای از حلقه بازخورد (Feedback Loop) استفاده میکنه.
دادههای تعامل کاربر (مثل ذخیره یا اسکیپ کردن) با Reinforcement Learning تحلیل میشن تا مدلها دقیقتر بشن.
راستی، اسپاتیفای میتونه با محیط کاربر هماهنگ بشه؟ بله.
چطور؟
اینا الگوریتمشون با دادههایی مثل زمان، موقعیت جغرافیایی و آبوهوا، پلیلیستهایی متناسب با حال و هوا میسازن، مثلاً موسیقی آرام برای روزهای بارانی.
این هماهنگی با APIهای خارجی (هواشناسی، GPS) و دادههای داخلی (زمان سیستم) ممکن میشه. مدلهای پیشبینی کننده (Predictive Models) این اطلاعات رو با خوشهبندی (Clustering) ترکیب میکنن تا پیشنهادهای متناسب ارائه بدن.
تاریخچه گوش دادن کاربر با الگوریتمهای یادگیری ماشین تحلیل میشه تا الگوهای رفتاری شناسایی بشن. اگر صبحها موسیقی شاد گوش کنی، سیستم پیشنهادهای پرانرژی برای صبحها میده.
یه چیز دیگه اینکه ویژگی DJ مجازی با هوش مصنوعی مولد (Generative AI) و NLP پیادهسازی شده.
این سیستم دیالوگهایی تولید میکنه که متناسب با موسیقی و حال و هوای تو باشن، و با تعاملات کاربر بهبود مییابد.
یه چیز جالب از چالشهاشون این بود که "Cold Start Problem" برای هنرمندان جدید بود.
بدون وجود داشتن داده کاربر، پیشنهاد دادنشون سخته. اسپاتیفای با تصحیح انسانی (یعنی مثلا آدم میاد وسط اینجا سلکتش میکنه) و تحلیل صوتی این مشکل رو حل میکنه.
مشکل بعدی حباب فیلترینگ (Filter Bubble) هست. فیلترنگ مشارکتی ممکنه فقط ترکهای مشابه پیشنهاد بده و تنوع رو محدود کنه.
این با کلاسترایز کردن بیشازحد در ماتریسهای رکامندر رخ میده.
یه چیز دیگه هم اینکه نگرانی حریم خصوصی هم هست. جمعآوری دادههایی مثل موقعیت و تاریخچه گوش دادن نیاز به رمزنگاری قوی و شفافیت در سیاستهای حریم خصوصی داره تا اعتماد کاربران حفظ بشه.
خلاصه اینکه اسپاتیفای با تلفیق انسان و ماشین (مثل ویراستاران انسانی) تنوع و عدالت رو در پیشنهادها تضمین میکنه تا همه ژانرها و فرهنگها دیده بشن.
نتیجه اینکه اسپاتیفای با ترکیب فیلترنگ مشارکتی/محتوایی، یادگیری تقویتی، دادههای محیطی و نظارت انسانی، سیستمی مقیاسپذیر و عادلانه ساخته که موسیقی رو شخصی و متنوع میکنه.
این داستان چه درسهایی برای ما داره:
۱) در دادههای بزرگ، الگوریتمهای ترکیبی میتونن کلید مقیاسپذیری باشن
۲) حلقه بازخورد (Feedback Loop) برای بهبود مداوم ضروری است،
۳) تعادل بین تکنولوژی و انسان برای تنوع و اخلاق حیاتیست.
@DevTwitter | <Saman/>
👍61❤7🔥5👎1
اگه دوست دارید یک پروژه جالب و کاربردی بنویسید این یک ایده جالب:
با یک تیر چند نشون میزنید. هم به صورت end-to-end یک AI Assistatnt پیاده سازی میکنید و کلی چیز جدید یاد میگیرید. هم اینکه یک اپلیکیشن کاربردی نوشتید که میتونید واقعا استفاده کنید. حتا ازش درامد داشته باشید. بریم سراغ ایده!
(خلاصه ایده را با chatGPT نوشتم که راحت تره!)
ساخت یک "مغز دوم" با دستیار هوش مصنوعی با استفاده از LLM و RAG
در دنیای پرسرعت امروز، مدیریت اطلاعات به یک چالش بزرگ تبدیل شده است. یک دستیار هوش مصنوعی به عنوان "مغز دوم" میتواند با سازماندهی، بازیابی و تولید دانش از اطلاعات شخصی یا حرفهای، به شما کمک کند. ترکیب مدلهای زبانی بزرگ (LLM) با بازیابی افزوده به تولید (RAG) این فرآیند را هوشمندتر و دقیقتر میکند.
چرا از RAG استفاده کنیم؟
مدلهای زبانی فقط بر اساس دادههای از پیش آموزشدیده شده پاسخ میدهند که ممکن است قدیمی یا نادقیق باشند. اما RAG امکان بازیابی اطلاعات بهروز و مرتبط از منابع مختلف را فراهم میکند. این ویژگی برای یک مغز دوم ایدهآل است، چون میتواند در لحظه از یادداشتهای شخصی، اسناد و منابع خارجی اطلاعات استخراج کند.
اجزای کلیدی:
ذخیرهسازی و ایندکسگذاری: استفاده از دیتابیسهای برداری (مثل Qdrant یا Milvus) برای ذخیره و بازیابی یادداشتها، ایمیلها و اسناد.
اتصال به LLM: ترکیب با مدلهایی مثل GPT یا Mistral برای تولید پاسخهای هوشمند بر اساس محتوای بازیابیشده.
رابط تلگرام: استفاده از یک چتبات در تلگرام برای تعامل سریع و راحت با دستیار.
وبهوکها و خودکارسازی: دریافت و بروزرسانی خودکار دادهها برای نگه داشتن اطلاعات همیشه جدید و در دسترس.
کاربردها:
مدیریت دانش شخصی: ذخیره و بازیابی یادداشتهای جلسه، مقالات و ایدهها.
کمک به انجام کارها و پروژهها: ارائه پیشنهادات هوشمند در مورد کارهای در حال انجام.
مطالعه و تحقیق: خلاصهسازی مقالات، پیگیری مفاهیم و تولید یادداشتهای مطالعاتی.
@DevTwitter | <Mehdi Allahyari/>
با یک تیر چند نشون میزنید. هم به صورت end-to-end یک AI Assistatnt پیاده سازی میکنید و کلی چیز جدید یاد میگیرید. هم اینکه یک اپلیکیشن کاربردی نوشتید که میتونید واقعا استفاده کنید. حتا ازش درامد داشته باشید. بریم سراغ ایده!
(خلاصه ایده را با chatGPT نوشتم که راحت تره!)
ساخت یک "مغز دوم" با دستیار هوش مصنوعی با استفاده از LLM و RAG
در دنیای پرسرعت امروز، مدیریت اطلاعات به یک چالش بزرگ تبدیل شده است. یک دستیار هوش مصنوعی به عنوان "مغز دوم" میتواند با سازماندهی، بازیابی و تولید دانش از اطلاعات شخصی یا حرفهای، به شما کمک کند. ترکیب مدلهای زبانی بزرگ (LLM) با بازیابی افزوده به تولید (RAG) این فرآیند را هوشمندتر و دقیقتر میکند.
چرا از RAG استفاده کنیم؟
مدلهای زبانی فقط بر اساس دادههای از پیش آموزشدیده شده پاسخ میدهند که ممکن است قدیمی یا نادقیق باشند. اما RAG امکان بازیابی اطلاعات بهروز و مرتبط از منابع مختلف را فراهم میکند. این ویژگی برای یک مغز دوم ایدهآل است، چون میتواند در لحظه از یادداشتهای شخصی، اسناد و منابع خارجی اطلاعات استخراج کند.
اجزای کلیدی:
ذخیرهسازی و ایندکسگذاری: استفاده از دیتابیسهای برداری (مثل Qdrant یا Milvus) برای ذخیره و بازیابی یادداشتها، ایمیلها و اسناد.
اتصال به LLM: ترکیب با مدلهایی مثل GPT یا Mistral برای تولید پاسخهای هوشمند بر اساس محتوای بازیابیشده.
رابط تلگرام: استفاده از یک چتبات در تلگرام برای تعامل سریع و راحت با دستیار.
وبهوکها و خودکارسازی: دریافت و بروزرسانی خودکار دادهها برای نگه داشتن اطلاعات همیشه جدید و در دسترس.
کاربردها:
مدیریت دانش شخصی: ذخیره و بازیابی یادداشتهای جلسه، مقالات و ایدهها.
کمک به انجام کارها و پروژهها: ارائه پیشنهادات هوشمند در مورد کارهای در حال انجام.
مطالعه و تحقیق: خلاصهسازی مقالات، پیگیری مفاهیم و تولید یادداشتهای مطالعاتی.
@DevTwitter | <Mehdi Allahyari/>
👍30👎4
سلام دوستان
یه راه برای تسلط به مهندسی نرم افزار اینه که موارد زیر رو در پیاده سازی یک پروژه با هم ترکیب کنید.
1. Domain driven design
2. Hexagonal Architecture
3. Secure by Design
4. Clean Architecture
5. Onion Architecture
6. SOLID Principles
7. Software Design Patterns
لینک پروژه Domain-Driven Hexagon رو که چنین کاری کرده براتون میذارم که با node.js پیاده سازی شده.
اگر فرصت دارید برای مطالعه آن وقت بذارید تا level up بشید.
https://github.com/Sairyss/domain-driven-hexagon
@DevTwitter | <Pouria Jahandideh/>
یه راه برای تسلط به مهندسی نرم افزار اینه که موارد زیر رو در پیاده سازی یک پروژه با هم ترکیب کنید.
1. Domain driven design
2. Hexagonal Architecture
3. Secure by Design
4. Clean Architecture
5. Onion Architecture
6. SOLID Principles
7. Software Design Patterns
لینک پروژه Domain-Driven Hexagon رو که چنین کاری کرده براتون میذارم که با node.js پیاده سازی شده.
اگر فرصت دارید برای مطالعه آن وقت بذارید تا level up بشید.
https://github.com/Sairyss/domain-driven-hexagon
@DevTwitter | <Pouria Jahandideh/>
❤33👍18👎6
نیاز داشتم LCD لپ تاپ را خاموش کنم با این دستور میشه خاموش کرد
bash -c "cinnamon-screensaver-command -l; xset dpms force off;"
دیدم خوشگل نیست یک applet برای Cinnamon در لینوکس مینت نوشتم. اگر کسی دوست داشت استفاده کنه
https://github.com/MehrdadLinux/ML-Cinnamon-Applets
@DevTwitter | <MehrdadLinux/>
bash -c "cinnamon-screensaver-command -l; xset dpms force off;"
دیدم خوشگل نیست یک applet برای Cinnamon در لینوکس مینت نوشتم. اگر کسی دوست داشت استفاده کنه
https://github.com/MehrdadLinux/ML-Cinnamon-Applets
@DevTwitter | <MehrdadLinux/>
👍32👎10🔥2
تایپاسکریپت رو دارن با Go باز نویسی میکنن و تا الان ۱۰ برابر سریعتر از قبل شده. چیزی که خیلی جالبه اینه که تیم توسعهاش با C# خیلی نزدیکه (چون پشت جفتشون مایکروسافته) و حتی سازندهاشونم یکیه. اما با این حال با وجود رقابتی که الان بین C# و Go هست، اومدن Go رو انتخاب کردن.
@DevTwitter | <Yasha/>
@DevTwitter | <Yasha/>
👍126👎15🔥5❤3
یه روز پست نمیذاریم AI از در عقب وارد میشه
آروم بگیر دیگه
آروم بگیر دیگه
👍81
This media is not supported in your browser
VIEW IN TELEGRAM
این مدلهای جدید Gemma3 از گوگل را اصلا دست کم نگیرید. فوق العاده قوی هستند. و تو پست دیروز هم گفتم هم multilingual از جمله پشتیبانی زبان فارسی و هم multimodal.
من مدل ۱۲میلیارد پارامتری را روی عکس با نمودار فارسی یک امتحان کوچک کردم. جوابها خیلی عالی. ویدیو هم سوال و هم تصاویر و جوابها را نشون میده.
میتونید باهاشون انواع اپلیکیشن را بسازید.
@DevTwitter | <Mehdi Allahyari/>
من مدل ۱۲میلیارد پارامتری را روی عکس با نمودار فارسی یک امتحان کوچک کردم. جوابها خیلی عالی. ویدیو هم سوال و هم تصاویر و جوابها را نشون میده.
میتونید باهاشون انواع اپلیکیشن را بسازید.
@DevTwitter | <Mehdi Allahyari/>
❤33👍9
#کوته_نیوز
مدیرعامل آنتروپیک(Claude):
هوش مصنوعی تا یکسال آینده درِ برنامهنویسها میذاره و میفرستتشون باغبونی.
@DevTwitter
مدیرعامل آنتروپیک(Claude):
هوش مصنوعی تا یکسال آینده درِ برنامهنویسها میذاره و میفرستتشون باغبونی.
@DevTwitter
👎208👍34🔥14
امروز صبح که IDE رو باز کردم، تموم شدن لایسنس دوسالهی Github Copilot خورد تو صورتم.
از این به بعد باید همه چیز رو خودم بنویسم :')
از این به بعد باید همه چیز رو خودم بنویسم :')
👎58🔥20👍6
❤81👎8👍7🔥2
اگر تعطیلات عید دنبال اجرای ایده در زمینه AI Agentها هستید این 100 AI Agent Ideas برای شما و دوستانتون هست.
@DevTwitter | <Amir/>
@DevTwitter | <Amir/>
👍23👎13❤3
This media is not supported in your browser
VIEW IN TELEGRAM
این ریپو را از دست ندید. یک مقاله کامل (survey paper) راجع به Agentic RAG هست به همراه کلی منبع و مطلب آموزشی دیگه راجع به این موضوع!
هم مقاله را بخونید و هم خود ریپو را کامل چک کنید.
https://github.com/asinghcsu/AgenticRAG-Survey
@DevTwitter | <Mehdi Allahyari/>
هم مقاله را بخونید و هم خود ریپو را کامل چک کنید.
https://github.com/asinghcsu/AgenticRAG-Survey
@DevTwitter | <Mehdi Allahyari/>
👍18👎1
این ده تا تمرین برای Data Engineering حدود خوبی از دانش فنی یک مهندس داده جونیور و متوسط رو پوشش میده.
پیشنهادش میکنم.
https://github.com/danielbeach/data-engineering-practice
@DevTwitter | <Saman/>
پیشنهادش میکنم.
https://github.com/danielbeach/data-engineering-practice
@DevTwitter | <Saman/>
👍29
امروز فهمیدم تو شرکتمون برای کارای web development از سایت bolt.new استفاده میکنن. گفتن اینجوری فقط پول توکن AI رو میدیم و هزینه تموم شده کمتر از نصف هزینه یک دوولوپر تو هند برامون در میاد!
@DevTwitter | <Nima/>
@DevTwitter | <Nima/>
👎115👍25❤1
به طور متوسط، یک مهندس سنیور نرمافزار ۳ تا ۵ برابر بیشتر از یک جونیور درآمد داره. این فقط به خاطر تجربه بیشتر نیست، بلکه به دلیل ارزش بیشتری هست که به شرکت میاره.
حالا فرض کنید دو مهندس تو یه شرکت کار میکنند:
مهندس A (سختکوش)
- روزی 10 ساعت کار میکنه، باگهارو را درست میکنه و هزاران خط کد مینویسه.
- تمام وظایف محول شده رو بدون فکر کردن به تأثیرشون انجام میده.
- و یه جورایی در چرخهی "کار زیاد، پیشرفت کم" گیر کرده.
مهندس B (موثر)
- قبل از نوشتن حتی یک خط کد، وقت میگذاره تا مشکل اصلی رو بفهمه.
- میتونه یه مشکل بزرگ تو سیستم پیدا کنه و با یک اسکریپت 500 خطی، سالانه ۵۰ تا ۷۰ میلیون تو هزینههای شرکت صرفهجویی کنه.
- ورکفلو رو بهتر میکنه تا سیستم سریعتر، بهینهتر و مقیاسپذیر بشه.
حالا وقتی زمان ترفیع برسه به نظرت شرکت کدوم رو بیشتر میخواد؟
انصاف هست مهندس A که مشغول بوده صرفا و تسکهارو انجام میداده و ارزش و تاثیر کمتری تو شرکت میذاره بیشتر ترفیع بگیره؟ خوب نه (نه اینکه نگیره، اینه که بیشتر یا کمتر بگیره)
پس کار ما مساوی هست با تأثیری که میگذاریم
چند تا نکته در نهایت
- مشکلات را حل کن، نه اینکه فقط کارارو را انجام بده
- قبل از شروع کدنویسی، بپرس: این چرا مهمه؟
- روی مشکلات بزرگ، بهینهسازی و اتومیشن کار کن که ارزش واقعی میسازه.
-فراتر از کدنویسی فکر کن
- یک سنیور نصفش مشکلگشا و نصفش برنامهریزه.
- یک سنیور سیستمها را طراحی میکنه، پیچیدگی رو کم میکنه و تصمیمهای بهتر میگیره، نه فقط کد بزنه.
- بفهم کارت چطور به شرکت کمک میکنه
- یادت باشه یک اسکریپت 200 خطی که پول صرفهجویی کنه، از یک ویژگی 10,000 خطی که کسی استفاده نکنه باارزشتره.
- بهترین مهندسها فقط کد نمینویسن، سیستمها محصولات و کارایی رو بهتر میکنن.
- هدف این نیست که کد بیشتری بنویسی، هدف اینه که ارزش بیشتری بسازی.
پس (در یک شرکت یا تیم سالم) ارزش بیشتری بسازی، پاداش بیشتری میگیری.
@DevTwitter | <Saman/>
حالا فرض کنید دو مهندس تو یه شرکت کار میکنند:
مهندس A (سختکوش)
- روزی 10 ساعت کار میکنه، باگهارو را درست میکنه و هزاران خط کد مینویسه.
- تمام وظایف محول شده رو بدون فکر کردن به تأثیرشون انجام میده.
- و یه جورایی در چرخهی "کار زیاد، پیشرفت کم" گیر کرده.
مهندس B (موثر)
- قبل از نوشتن حتی یک خط کد، وقت میگذاره تا مشکل اصلی رو بفهمه.
- میتونه یه مشکل بزرگ تو سیستم پیدا کنه و با یک اسکریپت 500 خطی، سالانه ۵۰ تا ۷۰ میلیون تو هزینههای شرکت صرفهجویی کنه.
- ورکفلو رو بهتر میکنه تا سیستم سریعتر، بهینهتر و مقیاسپذیر بشه.
حالا وقتی زمان ترفیع برسه به نظرت شرکت کدوم رو بیشتر میخواد؟
انصاف هست مهندس A که مشغول بوده صرفا و تسکهارو انجام میداده و ارزش و تاثیر کمتری تو شرکت میذاره بیشتر ترفیع بگیره؟ خوب نه (نه اینکه نگیره، اینه که بیشتر یا کمتر بگیره)
پس کار ما مساوی هست با تأثیری که میگذاریم
چند تا نکته در نهایت
- مشکلات را حل کن، نه اینکه فقط کارارو را انجام بده
- قبل از شروع کدنویسی، بپرس: این چرا مهمه؟
- روی مشکلات بزرگ، بهینهسازی و اتومیشن کار کن که ارزش واقعی میسازه.
-فراتر از کدنویسی فکر کن
- یک سنیور نصفش مشکلگشا و نصفش برنامهریزه.
- یک سنیور سیستمها را طراحی میکنه، پیچیدگی رو کم میکنه و تصمیمهای بهتر میگیره، نه فقط کد بزنه.
- بفهم کارت چطور به شرکت کمک میکنه
- یادت باشه یک اسکریپت 200 خطی که پول صرفهجویی کنه، از یک ویژگی 10,000 خطی که کسی استفاده نکنه باارزشتره.
- بهترین مهندسها فقط کد نمینویسن، سیستمها محصولات و کارایی رو بهتر میکنن.
- هدف این نیست که کد بیشتری بنویسی، هدف اینه که ارزش بیشتری بسازی.
پس (در یک شرکت یا تیم سالم) ارزش بیشتری بسازی، پاداش بیشتری میگیری.
@DevTwitter | <Saman/>
👍157👎7❤3🔥2
من تو اخرین ویدیو کانال یوتوبم با چپترلید فرانت شیپور صحبت کردم و حدود دو ساعت نیم درباره خیلی از مسایل از تاثیر هوش مصنوعی تا بازارکار و درامد فرانت با سینا صحبت کردم. اگر براتون جذابه لینکش رو اینجا میزارم.
اگر دوستی یا آشنایی دارید که به فرانت علاقه داره چنل یوتوب ما و مخصوصا این مصاحبه میتونه دید خوبی رو بهش بده.
https://www.youtube.com/watch?v=2LI_34sb7nY&t=2427s
@DevTwitter | <Andishe/>
اگر دوستی یا آشنایی دارید که به فرانت علاقه داره چنل یوتوب ما و مخصوصا این مصاحبه میتونه دید خوبی رو بهش بده.
https://www.youtube.com/watch?v=2LI_34sb7nY&t=2427s
@DevTwitter | <Andishe/>
👎27👍18🔥1
The Anatomy of Browser Rendering: How Web Pages Come to Life?
این تیپ سوالات را معمولا شرکت های بزرگ(اسنپ، تپسی، دیجی کالا، و...) میپرسن و ربطی هم به این نداره ریکت کار میکنی یا ویو یا انگولار
و این سوال رو یکی از این شرکت ها تو جلسه تکنیکال ازم پرسیدن که اصلا بهش فکرم نمیکردم
اگه بخوام واضحتروخلاصه بیان کنم مرورگر فایل های html و css و js رو به عنوان ورودی میگرد و پردازش های زیر را انجام میدهد تا به اون خروجی قابل استفاده تبدیل کند.
۱ - Parsing HTML
مرورگر کد HTML را دریافت کرده و آن را به یک ساختار درختی به نام DOM (Document Object Model) تبدیل میکند.
۲ - Parsing CSS
مرورگر کدهای CSS را نیز دریافت کرده و آنها را به یک ساختار درختی به نام CSSOM (CSS Object Model) تبدیل میکند. CSSOM شامل اطلاعاتی درباره استایلها و قوانین CSS است که بر روی عناصر HTML اعمال میشوند.
۳ - Constructing the Rendering Tree
مرورگر DOM و CSSOM را ترکیب کرده و یک درخت رندر (Render Tree) ایجاد میکند.
۴ - Layout
در این مرحله، مرورگر موقعیت و ابعاد هر عنصر را در صفحه محاسبه میکند. این فرآیند به عنوان Layout یا Reflow نیز شناخته میشود.
۵ - Painting
پس از تعیین موقعیت و ابعاد عناصر، مرورگر شروع به رنگآمیزی (Painting) میکند.
در این مرحله، پیکسلها بر روی صفحه رسم میشوند. این شامل رسم متن، تصاویر، رنگ پسزمینه، حاشیهها و سایر جلوههای بصری است.
۶ - Compositing
در نهایت، مرورگر لایههای مختلف را با هم ترکیب کرده و صفحه نهایی را ایجاد میکند. این فرآیند به عنوان Compositing شناخته میشود. Compositing به مرورگر اجازه میدهد تا تغییرات در صفحه (مانند انیمیشنها یا اسکرول) را بهطور کارآمد مدیریت کند.
@DevTwitter | <Alireza Majdi/>
این تیپ سوالات را معمولا شرکت های بزرگ(اسنپ، تپسی، دیجی کالا، و...) میپرسن و ربطی هم به این نداره ریکت کار میکنی یا ویو یا انگولار
و این سوال رو یکی از این شرکت ها تو جلسه تکنیکال ازم پرسیدن که اصلا بهش فکرم نمیکردم
اگه بخوام واضحتروخلاصه بیان کنم مرورگر فایل های html و css و js رو به عنوان ورودی میگرد و پردازش های زیر را انجام میدهد تا به اون خروجی قابل استفاده تبدیل کند.
۱ - Parsing HTML
مرورگر کد HTML را دریافت کرده و آن را به یک ساختار درختی به نام DOM (Document Object Model) تبدیل میکند.
۲ - Parsing CSS
مرورگر کدهای CSS را نیز دریافت کرده و آنها را به یک ساختار درختی به نام CSSOM (CSS Object Model) تبدیل میکند. CSSOM شامل اطلاعاتی درباره استایلها و قوانین CSS است که بر روی عناصر HTML اعمال میشوند.
۳ - Constructing the Rendering Tree
مرورگر DOM و CSSOM را ترکیب کرده و یک درخت رندر (Render Tree) ایجاد میکند.
۴ - Layout
در این مرحله، مرورگر موقعیت و ابعاد هر عنصر را در صفحه محاسبه میکند. این فرآیند به عنوان Layout یا Reflow نیز شناخته میشود.
۵ - Painting
پس از تعیین موقعیت و ابعاد عناصر، مرورگر شروع به رنگآمیزی (Painting) میکند.
در این مرحله، پیکسلها بر روی صفحه رسم میشوند. این شامل رسم متن، تصاویر، رنگ پسزمینه، حاشیهها و سایر جلوههای بصری است.
۶ - Compositing
در نهایت، مرورگر لایههای مختلف را با هم ترکیب کرده و صفحه نهایی را ایجاد میکند. این فرآیند به عنوان Compositing شناخته میشود. Compositing به مرورگر اجازه میدهد تا تغییرات در صفحه (مانند انیمیشنها یا اسکرول) را بهطور کارآمد مدیریت کند.
@DevTwitter | <Alireza Majdi/>
👍48❤15👎3🔥1