Forwarded from Yasha
📌 امریه دانش بنیان لغو شد!
به اطلاع متقاضیان امریه در شرکت های دانش بنیان میرساند: پذیرش متقاضیان از اعزام آبان ماه ۱۴۰۴ تا اطلاع ثانوی امکان پذیر نمی باشد.
■ معاونت علمی، فناوری و اقتصاد دانش بنیان ریاست جمهوری
به اطلاع متقاضیان امریه در شرکت های دانش بنیان میرساند: پذیرش متقاضیان از اعزام آبان ماه ۱۴۰۴ تا اطلاع ثانوی امکان پذیر نمی باشد.
■ معاونت علمی، فناوری و اقتصاد دانش بنیان ریاست جمهوری
👻4😢2🙊2🤷♂1🤩1
Forwarded from آرش نعمت زاده
با اکانت گوگلتون یه سر به اینجا بزنید و اگه پسوردی لو رفته عوضش کنید.
https://myactivity.google.com/dark-web-report/results
https://myactivity.google.com/dark-web-report/results
🙊3
یک چیزی که توی سیشارپ سالهاست وجود داره و حتی داخل مصاحبه هم پرسیده شد و ازش اطلاعی نداشتم، default interface methods هست 😦.
به این شکل هست که میتونیم برای متدهای یک اینترفیس default implementation بنویسیم، درست مثل کلاسهای abstract.
حالا شاید بگید چرا باید همچین چیزی اضافه شه (از 8.0 #C) تا زمانی که خود کلاسهای ابسترکت وجود دارند؟
یکی از دلایلش احتمالا جلوگیری از breaking change هست.
ممکنه اینترفیسای داشته باشیم که خیلی جاها استفاده شده و یا هم درحال بهروزرسانی پکیجی هستیم که قبلا درش یک اینترفیس مشخص به کار رفته که نیاز به یک متد با پیادهسازی مشخصی داره، که خب منطقا اینجا نمیشه فقط متد رو به اینترفیس اضافه کرد تا باقی کلاسها برن خودشون پیادهسازی کنن 😆.
نکتهی مهم و یکی از تفاوتهاش با کلاسهای abstract این هست که متدهایی که داخل اینترفیسها پیادهسازی شدند، ارثبری نمیشن، درواقع برای دسترسی به متد پیادهسازی شده داخل اینترفیس، اون کلاس رو باید به اون اینترفیس کست کنیم وگرنه اون متد دردسترس نخواهد بود.
به این شکل هست که میتونیم برای متدهای یک اینترفیس default implementation بنویسیم، درست مثل کلاسهای abstract.
حالا شاید بگید چرا باید همچین چیزی اضافه شه (از 8.0 #C) تا زمانی که خود کلاسهای ابسترکت وجود دارند؟
یکی از دلایلش احتمالا جلوگیری از breaking change هست.
ممکنه اینترفیسای داشته باشیم که خیلی جاها استفاده شده و یا هم درحال بهروزرسانی پکیجی هستیم که قبلا درش یک اینترفیس مشخص به کار رفته که نیاز به یک متد با پیادهسازی مشخصی داره، که خب منطقا اینجا نمیشه فقط متد رو به اینترفیس اضافه کرد تا باقی کلاسها برن خودشون پیادهسازی کنن 😆.
نکتهی مهم و یکی از تفاوتهاش با کلاسهای abstract این هست که متدهایی که داخل اینترفیسها پیادهسازی شدند، ارثبری نمیشن، درواقع برای دسترسی به متد پیادهسازی شده داخل اینترفیس، اون کلاس رو باید به اون اینترفیس کست کنیم وگرنه اون متد دردسترس نخواهد بود.
👍2🙊1
اگر قرار هست توی پروژهتون از SSE یا همون Server-Side Events استفاده کنید، حواستون به این نکته باشه که تحت شرایطی، سمت مرورگر محدودیت کانکشن وجود داره. شما به ازای هر دامین و مرورگر، فقط میتونید تعداد کمی (معمولاً ۶) کانکشن داشته باشید. البته توی HTTP/2 این محدودیت به شکل دیگهای هست و به صورت پیشفرض میتونید کانکشنهای بیشتری داشته باشید.
👍5🙊1
Forwarded from Easy Microservices (Ali Yousefi ˢᵒᶠᵗʷᵃʳᵉ ᴰᵉᵛᵉˡᵒᵖᵉʳ)
شاید برای شما هم پیش بیاد.
کارفرمای محترمی که اخیر یاد گرفته هرچی سوال داره رو از AI بپرسه. قافل از اینکه این AI برای مهندسین نرم افزار شده شبیه یک کارمند خودشیرینی که اطلاعات ناقصی رو به کارفرمای عزیز ارائه میکنه.
چرا AI برای کارفرمای نابلد خطرناکه؟
چون خروجی AI مبتنی بر prompt ای هست که بهش میدید در حالی که مهندسی که توی شرکت شماست علاوه بر اینکه میتونه مبتنی بر همون prmpt جواب بده بلکه دارای دانشی بالغ بر 100 مگابایت prompt (بسته به میزان تجربهی شناخت شرکت و شماست) به طور پیشفرض روش نصبه! شما میگی الف میدونه فلان پروژهی شما توی فلان طبقه توی فلان بخش در فلان قسمت ساید افکت میخوره! اینو چطوری میخوای هربار به AI توضیح بدی؟
حالا کافرمای محترم میاد از این AI استفاده میکنه و به مهندس خودش میگه که چیکار کنه و چیکار نکنه و هرچی مهندس توضیح میده که برادر این مسیر غلطه پاسخ تکراری دریافت میکنه که AI اینو گفت، جلسه میذاره با 5 تا مهندس سنیور دیگه و هرچی اونها توضیح میدن که برادر این مسیر مسیر درستی نیست بازم میگه الا و بلا AI بهتر از شما دانش داره و من فکر میکنم که این مسیر درستتره.
چه اتفاقی میوفته؟ شما رنج حقوقی 40 تا 150 میلیون یا بیشتر داری به مهندست پول میدی که بهش بگی چیکار کنه؟ خوب اگر شما تونستی از AI نتیجه بگیری همه میتونن بگیرن مخصوصا کسی که فنیه میتونه prompt بهتری بده و پاسخ بهتری هم دریافت کنه. چرا نمیری یه سری جونیور استخدام کنی که هم هزینهی کمتری بدی و هم بهشون توضیح بدی چیکار کنن.
من فکر میکنم استفاده از AI یک فرهنگه، برخی افراد همون ابتدا فهمیدن چطوری باید ازش استفاده کنن، بعضیها هنوز در چرخه تولید و نابود کردن اموالشون موندن. و حیف از مهندسین دلسوزی که هدفشون پیشرفت خودشون و شرکت شماست ولی گوش شما علاقهای به شنیدن صحبتهای اونها نداره و کم کم اونارو ساکت میکنه و فاجعه رخ میده.
کارفرمای محترمی که اخیر یاد گرفته هرچی سوال داره رو از AI بپرسه. قافل از اینکه این AI برای مهندسین نرم افزار شده شبیه یک کارمند خودشیرینی که اطلاعات ناقصی رو به کارفرمای عزیز ارائه میکنه.
چرا AI برای کارفرمای نابلد خطرناکه؟
چون خروجی AI مبتنی بر prompt ای هست که بهش میدید در حالی که مهندسی که توی شرکت شماست علاوه بر اینکه میتونه مبتنی بر همون prmpt جواب بده بلکه دارای دانشی بالغ بر 100 مگابایت prompt (بسته به میزان تجربهی شناخت شرکت و شماست) به طور پیشفرض روش نصبه! شما میگی الف میدونه فلان پروژهی شما توی فلان طبقه توی فلان بخش در فلان قسمت ساید افکت میخوره! اینو چطوری میخوای هربار به AI توضیح بدی؟
حالا کافرمای محترم میاد از این AI استفاده میکنه و به مهندس خودش میگه که چیکار کنه و چیکار نکنه و هرچی مهندس توضیح میده که برادر این مسیر غلطه پاسخ تکراری دریافت میکنه که AI اینو گفت، جلسه میذاره با 5 تا مهندس سنیور دیگه و هرچی اونها توضیح میدن که برادر این مسیر مسیر درستی نیست بازم میگه الا و بلا AI بهتر از شما دانش داره و من فکر میکنم که این مسیر درستتره.
چه اتفاقی میوفته؟ شما رنج حقوقی 40 تا 150 میلیون یا بیشتر داری به مهندست پول میدی که بهش بگی چیکار کنه؟ خوب اگر شما تونستی از AI نتیجه بگیری همه میتونن بگیرن مخصوصا کسی که فنیه میتونه prompt بهتری بده و پاسخ بهتری هم دریافت کنه. چرا نمیری یه سری جونیور استخدام کنی که هم هزینهی کمتری بدی و هم بهشون توضیح بدی چیکار کنن.
من فکر میکنم استفاده از AI یک فرهنگه، برخی افراد همون ابتدا فهمیدن چطوری باید ازش استفاده کنن، بعضیها هنوز در چرخه تولید و نابود کردن اموالشون موندن. و حیف از مهندسین دلسوزی که هدفشون پیشرفت خودشون و شرکت شماست ولی گوش شما علاقهای به شنیدن صحبتهای اونها نداره و کم کم اونارو ساکت میکنه و فاجعه رخ میده.
2👍13🙊1
اندراحوالات AI:
اومدم auto-completion گیتهاب کوپایلت رو بعد مدتها دوباره امتحان کنم (برای بدعادت نشدن خاموشاش کرده بودم) و خب توقع داشتم مثل قبل بیاد و بادی متد رو بنویسه، حالا فکر میکنید چهچیزی نوشت؟
ممنون 😆.
اومدم auto-completion گیتهاب کوپایلت رو بعد مدتها دوباره امتحان کنم (برای بدعادت نشدن خاموشاش کرده بودم) و خب توقع داشتم مثل قبل بیاد و بادی متد رو بنویسه، حالا فکر میکنید چهچیزی نوشت؟
throw new NotImplementedException();
ممنون 😆.
😁11🙊1
Forwarded from Easy Microservices (Ali Yousefi ˢᵒᶠᵗʷᵃʳᵉ ᴰᵉᵛᵉˡᵒᵖᵉʳ)
سلام دوستان، من خودم توی شرکت صدگان کار میکنم در حال حاضر هم برای تیم خودمون دنبال نیروی برنامهنویس هستیم. کارمون توی مشهد هست برج اداری پاژ 2 ، کار به صورت حضوری و تمام وقت هست (شنبه تا چهار شنبه).
اگر تمایل داشتید باهم همکاری کنیم خوشحال میشم شمارو توی تیم خودمون ببینم.
تکنولوژی هایی هم که کار میکنیم Blazor و Asp net core 9 و EF Core روی پروژه ی ERP کار میکنیم، تجربیات کاملا جدید و باحالی هست و تیممون هم تیم منظم و با پشتکار بالا و سرزنده و شاد هست. هیچ مشکلی با جونیور و میدلول هم توی مباحث آموزش نداریم و اتفاقا خیلی هم خوشحال میشیم بتونیم دانش خودمون رو تمام و کمال انتقال بدیم.
اگر هم با Process maker و ابزارهای BPMS و BPMN کار کردید که عالیه (حتی اگر فقط با همینا کار کرده باشید به تجریبات شما نیاز داریم).
برای اطلاعات بیشتر لطفا با شمارهی 09152411136 خانم قاصد HR شرکت صدگان تماس بگیرید یا رزومتون رو برام توی تلگرام ارسال کنید @ali_visual_studio
ممنون میشم این پست رو بازنشر کنید تا برسه به دست عزیزانی که کارجو هستند.
@easymicroservices
اگر تمایل داشتید باهم همکاری کنیم خوشحال میشم شمارو توی تیم خودمون ببینم.
تکنولوژی هایی هم که کار میکنیم Blazor و Asp net core 9 و EF Core روی پروژه ی ERP کار میکنیم، تجربیات کاملا جدید و باحالی هست و تیممون هم تیم منظم و با پشتکار بالا و سرزنده و شاد هست. هیچ مشکلی با جونیور و میدلول هم توی مباحث آموزش نداریم و اتفاقا خیلی هم خوشحال میشیم بتونیم دانش خودمون رو تمام و کمال انتقال بدیم.
اگر هم با Process maker و ابزارهای BPMS و BPMN کار کردید که عالیه (حتی اگر فقط با همینا کار کرده باشید به تجریبات شما نیاز داریم).
برای اطلاعات بیشتر لطفا با شمارهی 09152411136 خانم قاصد HR شرکت صدگان تماس بگیرید یا رزومتون رو برام توی تلگرام ارسال کنید @ali_visual_studio
ممنون میشم این پست رو بازنشر کنید تا برسه به دست عزیزانی که کارجو هستند.
@easymicroservices
1👍1🙊1
بهبودهای پرفورمنسی در داتنت ۱۰.
devblogs.microsoft.com/dotnet/performance-improvements-in-net-10/
کامنت گذاشتن که: فقط ۲۳۷ صفحه A4 هست ایندفعه نسبت به داتنت ۹ که ۳۰۶ صفحه بود :[
devblogs.microsoft.com/dotnet/performance-improvements-in-net-10/
کامنت گذاشتن که: فقط ۲۳۷ صفحه A4 هست ایندفعه نسبت به داتنت ۹ که ۳۰۶ صفحه بود :[
Microsoft News
Performance Improvements in .NET 10
Take a tour through hundreds of performance improvements in .NET 10.
🔥4❤🔥1🙊1
Forwarded from TorhamDev | تورهام 😳
حالم دیگه داره بد میشه انقدر تو هر مزخرفی AI چپوندن. دیگه نمیشه IDE پیدا کرد که بدون AI باشه جز vim و بچههاش!
انگار آدمها مغز ندارن، و جدی یکسریها به این مرحله رسیدن گه دیگه مغز ندارن و همه چیز رو با AI حل میکنن.
AI -> autocomplite on steroids
یکسریها دیگه تصمیمات زندگیشون هم با AI میگیرن. میسه مغز برخی رو برداشت به جاش یک LLM گذاشت.
@TorhamDevCH
انگار آدمها مغز ندارن، و جدی یکسریها به این مرحله رسیدن گه دیگه مغز ندارن و همه چیز رو با AI حل میکنن.
AI -> autocomplite on steroids
یکسریها دیگه تصمیمات زندگیشون هم با AI میگیرن. میسه مغز برخی رو برداشت به جاش یک LLM گذاشت.
@TorhamDevCH
👍8👎2🙊1
TorhamDev | تورهام 😳
حالم دیگه داره بد میشه انقدر تو هر مزخرفی AI چپوندن. دیگه نمیشه IDE پیدا کرد که بدون AI باشه جز vim و بچههاش! انگار آدمها مغز ندارن، و جدی یکسریها به این مرحله رسیدن گه دیگه مغز ندارن و همه چیز رو با AI حل میکنن. AI -> autocomplite on steroids یکسریها…
برای پروژههای وایبکد شده هم همینطور ام، هر پروژهای که به دستم میرسه و با vibe coding پیش رفته، قشنگ یکی دو هفته نیاز به ریفکتور داره 😄 حالا شما هرچقدر هم بیاید بگید که مشکل از پرامپت/ابزار بوده، باز هم نهایتا برای micro task ها بتونه خوب عمل کنه، حداقل فعلا.
توی پروژههای بزرگتر هم که عملا هیچی.
توی پروژههای بزرگتر هم که عملا هیچی.
1👍4👻1
Forwarded from نوشتههای ترمینالی
چرا protobuf بد است و توسط یکسری جونیور طراحی شده؟!
نگارنده این مطلب خودش توی گوگل کار کرده و نظراتش رو در مورد اشکالات protobuf میگه مخصوصا تایپ سیستمش و این که مشکلاتی رو حل میکنه که به جز گوگل در جای دیگر وجود ندارن. حتی به عقیده اون، توی خود گوگل هم میشد کارهای بهتری کرد.
https://reasonablypolymorphic.com/blog/protos-are-wrong/
نگارنده این مطلب خودش توی گوگل کار کرده و نظراتش رو در مورد اشکالات protobuf میگه مخصوصا تایپ سیستمش و این که مشکلاتی رو حل میکنه که به جز گوگل در جای دیگر وجود ندارن. حتی به عقیده اون، توی خود گوگل هم میشد کارهای بهتری کرد.
https://reasonablypolymorphic.com/blog/protos-are-wrong/
👍4🙊2🍓1👻1
Forwarded from tech-afternoon (Amin Mesbahi)
🔥 🐘 انتشار PostgreSQL 18، و اهمیت تغییراتش!
طبق روال سالهای گذشته حوالی سپتامبر ریلیز نسخه جدید PostgreSQL انجام شد. حالا چرا این نسخه برای برخی سیستمها میتونه قابل توجه و مهم باشه؟
- تغییرات انقلابی در I/O (Asyn I/O):
بالاخره! این قابلیت اومد و سرعت عملیات Read رو «تا» ۳ برابر افزایش میده! معطلیهای CPU برای I/O خیلی کمتر میشه و برای کارهای مثل VACUUM و اسکنهای بزرگ، تاثیرش چشمگیره (من روی نسخههای پیشنمایش تست کردم و عالی بود).
- پشتیبانی از UUIDv7:
برای توسعهدهندهها این شاید خیلی مهم باشه! (اگر دوست دارید در مورد انواع UUIDها بیشتر توضیح بدم:🤪 )
پشتیبانی Native از UUIDv7 یعنی Primary Keyها به صورت گلوبال یونیک میشن و هم چون بر اساس زمان مرتب هستن، عملکرد ایندکس B-tree به شکل چشمگیری بهتر میشه. (یعنی Page Split بی مورد نداریم!)
- قابلیت Virtual Generated Columns:
حالا ستونهای محاسباتی بهصورت پیشفرض مجازی هستن، یعنی فقط موقع خوانش محاسبه میشن و فضای دیسک رو اشغال نمیکنن. (البته اگه لازم باشه، میتونید همچنان STORED هم تعریف کنین).
افزودن NOT NULL بدون Downtime: کابوس اضافه کردن NOT NULL به جدولهای بزرگ تموم شد! حالا میشه قید NOT NULL رو بهصورت NOT VALID اضافه کنیم و بلافاصله برای ردیفهای جدید اعمال بشه. اعتبارسنجی ردیفهای موجود رو هم میتونیم بعداً بدون قفل کامل جدول انجام بدیم.
- امکان Skip Scan برای B-tree:
یه بهبود عالی برای بهینهسازی کوئری؛ اگه توی ایندکسهای چند ستونی، ستون اول رو در WHERE فیلتر نکرده باشیم، باز هم ایندکس کار میکنه و کوئریهای تحلیلی/گزارشگیری خیلی سریعتر میشن.
- امکان RETURNING هوشمند:
حالا میشه توی یک دستور UPDATE یا DELETE به هر دو مقدار قدیمی (OLD) و جدید (NEW) یک ستون در بخش RETURNING دسترسی داشته باشیم.
- آپگرید آسونتر:
قابلیت حفظ Planner Statistics حین آپگرید با pg_upgrade باعث میشه دیتابیس جدید خیلی سریعتر به پرفورمنس دلخواه برگرده.
طبق روال سالهای گذشته حوالی سپتامبر ریلیز نسخه جدید PostgreSQL انجام شد. حالا چرا این نسخه برای برخی سیستمها میتونه قابل توجه و مهم باشه؟
- تغییرات انقلابی در I/O (Asyn I/O):
بالاخره! این قابلیت اومد و سرعت عملیات Read رو «تا» ۳ برابر افزایش میده! معطلیهای CPU برای I/O خیلی کمتر میشه و برای کارهای مثل VACUUM و اسکنهای بزرگ، تاثیرش چشمگیره (من روی نسخههای پیشنمایش تست کردم و عالی بود).
- پشتیبانی از UUIDv7:
برای توسعهدهندهها این شاید خیلی مهم باشه! (اگر دوست دارید در مورد انواع UUIDها بیشتر توضیح بدم:
پشتیبانی Native از UUIDv7 یعنی Primary Keyها به صورت گلوبال یونیک میشن و هم چون بر اساس زمان مرتب هستن، عملکرد ایندکس B-tree به شکل چشمگیری بهتر میشه. (یعنی Page Split بی مورد نداریم!)
- قابلیت Virtual Generated Columns:
حالا ستونهای محاسباتی بهصورت پیشفرض مجازی هستن، یعنی فقط موقع خوانش محاسبه میشن و فضای دیسک رو اشغال نمیکنن. (البته اگه لازم باشه، میتونید همچنان STORED هم تعریف کنین).
افزودن NOT NULL بدون Downtime: کابوس اضافه کردن NOT NULL به جدولهای بزرگ تموم شد! حالا میشه قید NOT NULL رو بهصورت NOT VALID اضافه کنیم و بلافاصله برای ردیفهای جدید اعمال بشه. اعتبارسنجی ردیفهای موجود رو هم میتونیم بعداً بدون قفل کامل جدول انجام بدیم.
- امکان Skip Scan برای B-tree:
یه بهبود عالی برای بهینهسازی کوئری؛ اگه توی ایندکسهای چند ستونی، ستون اول رو در WHERE فیلتر نکرده باشیم، باز هم ایندکس کار میکنه و کوئریهای تحلیلی/گزارشگیری خیلی سریعتر میشن.
- امکان RETURNING هوشمند:
حالا میشه توی یک دستور UPDATE یا DELETE به هر دو مقدار قدیمی (OLD) و جدید (NEW) یک ستون در بخش RETURNING دسترسی داشته باشیم.
- آپگرید آسونتر:
قابلیت حفظ Planner Statistics حین آپگرید با pg_upgrade باعث میشه دیتابیس جدید خیلی سریعتر به پرفورمنس دلخواه برگرده.
اگر جزو افرادی هستین که به مهاجرت به PostgreSQL فکر میکنید، یه تعداد کارتهای شستهرُفته برای مهاجرت از SQL Server به PostgreSQL با هشتگ #MSSQL_to_PGSQL توی کانال داریم (کارتهای قرمز رنگ از بخش تصاویر هم قابل پیدا کردنه)
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥2🙊1
اگر یک زمانی اکانت لینکدینتون محدود شد، میتونید از روشهایی که توی این کانال جمعآوری شده استفاده کنید:
@Suspended_LinkedIn
@Suspended_LinkedIn
❤🔥2🙊1
گوگل طی هفتهی اخیر نسخهی CLI ایجنت Jules رو معرفی کرد.
این ایجنت به اکانت گیتهاب شما متصل میشه و میتونید ازش بخواید تا توی ریپوهاتون مشارکت کنه، اونم بهطور خودکار تغییرات لازم رو انجام میده و کامیتشون میکنه، که حالا برای مثال میتونه مستقیم مرجشون کنه یا PR ایجاد کنه.
و خب اون پشت بهصورت پیشفرض از Gemini 2.5 Pro استفاده میکنه. (آخرین مدل)
یکسری قابلیتهای دیگه هم داره که خوندنشون خالی از لطف نیست:
jules.google
این ایجنت به اکانت گیتهاب شما متصل میشه و میتونید ازش بخواید تا توی ریپوهاتون مشارکت کنه، اونم بهطور خودکار تغییرات لازم رو انجام میده و کامیتشون میکنه، که حالا برای مثال میتونه مستقیم مرجشون کنه یا PR ایجاد کنه.
و خب اون پشت بهصورت پیشفرض از Gemini 2.5 Pro استفاده میکنه. (آخرین مدل)
یکسری قابلیتهای دیگه هم داره که خوندنشون خالی از لطف نیست:
jules.google
1👍4🙊1