LearnByLearn📖 – Telegram
LearnByLearn📖
569 subscribers
44 photos
9 videos
5 files
69 links
Download Telegram
📝 پیام صریح مایکروسافت به برنامه‌نویسان /هوش مصنوعی از کارمندان عزیزتر شد؟

در حالی که مایکروسافت به‌تازگی ۶هزار موقعیت شغلی را حذف کرده و بیشترین آسیب را مهندسان نرم‌افزار دیده‌اند، مدیر ارشد محصولات این شرکت به‌روشنی اعلام کرده که با دیدگاه‌هایی مبنی بر منسوخ شدن حرفه برنامه‌نویسی به‌شدت مخالف است.

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

او در ادامه پیشنهاد کرد که مهندسان نرم‌افزار ممکن است در آینده بیشتر نقش «اپراتورهای نرم‌افزار» را داشته باشند. چناپراگادا نیز پیش‌بینی کرده است که تعداد اپراتورهای نرم‌افزار ممکن است ده برابر شود و گفته است شاید در آینده به‌جای ‘Cs’ چیز دیگری مانند ‘SOs’ داشته باشیم. اما این به این معنی نیست که نباید علوم کامپیوتر یاد گرفت.

📖 منبع خبر: مجله هوش مصنوعی homeai

@LearnByLearn
👍2
LearnByLearn📖
این مقاله خیلی ساده، خلاصه و قشنگ راجع به ساختار و فایل بندی یه پروژه گولنگی صحبت کرده https://medium.com/@smart_byte_labs/organize-like-a-pro-a-simple-guide-to-go-project-folder-structures-e85e9c1769c2 ⚠️ پ.ن: اما قشنگ تر از اینا، یه ساختار باحال تر…
پروژه های گولنگی معمولا ساختار خیلی مشخصی ندارن و این ساختار بر عهده خود تیم یا برنامه نویسه

میخوام توی این مقاله یه ساختار پروژه رو توضیح بدم که خیلی قشنگ دیزاین شده(مونوریپوعه که خیلی راحت تبدیل به میکروسرویس میشه)

قطعا مثل همه ساختار ها و پروژه های دیگه بی عیب و نقص نیست ولی درکل چیز جوابیه

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

قبلش اینو باید بگم که این ساختار رو توی پروژه تیم سازی بوت کمپ گوکست، با کمک منتور و استاد عزیزم حسین نظری و بقیه دوستان شرکت کننده پیاده سازی کردیم.
چون پروژه private هست کد هارو نمیتونم بزارم و این ساختار هم با اجازه خود مهندس نظری share میکنم
این هم آدرس کانالشون هست @gocasts به واسطه حق کپی رایت

انشالله به کار دوستان بیاد

ساختار رو سعی میکنم امروز بنویسم

مخلص همه❤️❤️

@LearnByLearn
5🙏3
LearnByLearn📖
پروژه های گولنگی معمولا ساختار خیلی مشخصی ندارن و این ساختار بر عهده خود تیم یا برنامه نویسه میخوام توی این مقاله یه ساختار پروژه رو توضیح بدم که خیلی قشنگ دیزاین شده(مونوریپوعه که خیلی راحت تبدیل به میکروسرویس میشه) قطعا مثل همه ساختار ها و پروژه…
پوشه .air :
توی این پوشه با توجه به هر اپ(سرویس) که قراره بالا بیاد، یک فایل air.myApp.toml داریم

این برای اینه که وقتی توی دولوپمنت یه اپ رو توسط داکر یا کوبر یا هرچی بالا اوردیم(توی مرحله دولوپمنت) ومثلا تغییراتی دادیم، هربار نخواییم اون اپ رو برای اجرای تغییرات بیاریم پایین و دوباره بالا بیاریم. 

پوشه adapter :
توی این پوشه ابزار هایی رو استفاده میکنیم که قراره توی پروژه بقیه سرویس هامون ازش استفاده کنن.

مثلا فرض کنید توی پروژه، سرویس هامون میخوان از rabbitMQ استفاده کنن. ما نمیاییم که خود ربیت رو مستقمی توی اون سرویس ایمپورت کنیم و استفاده کنیم. چون بر فرض فردا اگه بخواییم مسیج بروکرمون رو تغییر بدیم کد های ربیت با اون سرویس couple شدن و سخته عوض کردنش
به همین خاطر یک لایه ابسترکت به اسم adapter استفاده میکنیم و هر ابزار خارجی رو که پروژه و سرویس هامون نیاز داره رو اون جا یه پوشه براش میسازیم و متد های مورد نیاز رو براش پیاده میکنیم و بعد اون اداپتر رو به سرویس مورد نظر تزریق میکنیم
حتی grpc یک اپلیکیشن هم که قراره سایر سرویس ها ازش استفاده کنن هم یه سرویس خارجی حساب میشه که توی این پوشه قرار داده میشه

پوشه cli :
این پوشه برای تست endpoint ها استفاده میشه، که هرکس به هرسرویس نیاز داشت از طریق این cli درخواستش رو به سرویس مورد نظر بفرسته و به اعضای هر سرویس یه پوشه داریم

پوشه cmd :
برای اکسترنال کامند ها هم به اعضای هر سرویس یه پوشه اینجا میسازیم(همون main.go) هر اپ


پوشه config :
دقت کنید که این پوشه فایل های کانفیگ پروژه نیست. بلکه کانفیگوریشن منیجمنتی که خودمون برای پروژه نوشتیم


پوشه deploy :
کلا کار های دیپلویمنت رو برای هر سرویس اینجا انجام میدیم. فایل های کانفیگ هر اپ توی این پوشه و در پوشه مخصوص به خودشون قرار میگیرن


پوشه pkg :
هر چیزی که قرار باشه به صورت مشترک برای همه سرویس ها استفاده بشه رو اینجا مینویسم مثل یه پکیج که مربوط به request زدن باشه


پوشه protobuf :
توی این پوشه فایل های مربوط به پروتوباف و grpc رو که برای ارتباط بین سرویس هاست میزاریم


پوشه noscript :
اسکریپت های مورد نیاز رو اینجا میزاریم

پوشه types :
تایپ های جنریک که قراره توی کل سرویس ها یکپارچه باشن مثلا ID رو توی این پوشه میسازیم

app_name :
هر سرویس یا همون اپلیکیشنی که نیاز داریم، طبق الگو نام گذاری که تیم به توافق رسیده رو به این شکل درست میکنیم مثلا : notificationApp یا userApp


فایل makefile :
از این برای بالا اوردن پروژه استفاده میکنیم مثلا اگه قراره سرویسی run بشه یا پیش نیازی داره اینجا اوکی میکنیم


حالا توی هر سرویس هم باز یه ساختار مشخص داریم که تمام اپ ها به علت یکپارچه بودن ملزم هستن از این ساختار پیروی کنن:
هر سرویس این فایل و پوشه هارو داره:

پوشه delivery : راه های ارتباطی با بیرون. مثلا قراره سرور http باشه پس یه پوشه http میسازیم و و هندلر هامون رو اونجا اوکی میکنیم یا مثلا اگه ارتباط از نوع  grpc باشه باز یه پوشه میسازیم و بقیه ماجرا و توی پوشه delivery یه پوشه به اسم middlewere هست که میدلور های مربوط به سرویس رو اونجا هندل میکنیم
پوشه validation : برای ولیدیشن های موجود توی endpoint ها استفاده میشه
بقیه فایل ها مثل params ها و config مربوط به اون سرویس و entity و …. هم اگه نیاز بود میسازیم
برای هر سرویس هم یه فایل app.go داریم که مثل main اون سرویس میمونه
پوشه service : برای بیزینس لاجیک اون سرویس استفاده میشه
پوشه repository : برای لایه دیتابیس استفاده میشه


با توجه به نیاز اون پروژه ممکنه چیزایی این فایل ها اضافه یا کم بشه که دیگه بستگی به پروژه اتون داره ولی به راحتی با تغییرات کوچیک قابل تبدیل به میکروسرویس هستش

مخلص همه ❤️
@LearnByLearn

#golang




project
  |
  |- .air
  |- adapter
  |   | redis
  |   | RabbitMQ
  |   | userapp
  |- cli
  |- cmd
  |   | userService
  |   | notificationService
  |- config
  |   | config.go
  |   | default.go
  |   | load.go
  |- deploy
   |- noscript
  |- pkg
  |- protobuf
  |- types
  |- MakeFile



userapp
  | delivery
  |      | grpc
  |      |    |handlers 
  |      | http
  |      |    |handlers
  | params
  | validation
  | repository
  |__ service
👏6👍1👎1
Forwarded from Infrastructure Artists
با درود و مهر خدمت همه عزیزان

چندتا ویدیو جدید تو کانال یوتیوب آپلود شد که میتونید از لینک زیر مشاهده کنید

https://youtube.com/@sudoix

مطالبی که در خصوصش صحبت شد
Cron, crontab
At

ممنون میشم با شیر و ری پست باعث بشید این مطالب به دست افراد بیشتری برسه

کانال و گروه تلگرام:
https://news.1rj.ru/str/sudoix_channel
.
https://news.1rj.ru/str/SudoSuDash
خیلی مخلصیم.
👍3
💔
💔11👎1🍾1
Audio
رادیوجادی ۱۹۴ - جنگ کریه

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

00:00 - رادیوجادی ۱۹۴ و گپ‌هایی در مورد چرایی رادیو در زمان جنگ
03:45 - شرکت های نیویورکی باید دلیل اخراج کارمندها (ربات / هوش مصنوعی) رو ثبت کنن
06:20 - چرا به نسخه جدید SSL ‌می‌گیم TLS
10:30 - سایت سایت طلایی ترامپ
14:05 - دلیل مشکلات سرویس‌های گوگل
22:05 - گپی در مورد اهمیت حفظ اینترنت
24:05 - پیام‌های آخر

https://youtu.be/Ade684-A9v0

پ.ن. به خاطر شرایط اینترنت نسخه مونو رو اینجا گذاشته ام که حجم کمتری داره تا همه راحتتر باشن در دانلودش.
system_design.pdf
10.7 MB
یکی از بهترین کتاب های سیستم دیزاین که آقای Alex Xu نوشته و عزیزان زحمت ترجمشو کشیدن
نسخه فیزیکیش پولی هست که خب توی گوگل سرچ کنید میاد

@LearnByLearn
9🔥1
«امنیت پایدارتر با یک چرخش ساده!»😎

اگه با JWT کار کرده باشی، میدونی که ما یک access token و یک refresh token داریم

اکسس توکن ما که خب عمرش کوتاهه مثلا بعد 10 دقیقه باطل میشه و از طریق رفرش توکن که عمرش بلندتره(مثلا 7 روز) باید یک اکسس توکن و رفرش توکن جدید از سرور درخواست کنیم

🤨 حالا یک مسعله ای هست این وسط ؟!
رفرش توکن شما نباید اینطوری باشه که توی اون 7 روز هربار که ازش استفاده کردی فرت و فرت بهت اکسس توکن بده.

😈 اینطوری اگه هکر عزیز بنا به هر علتی به اون رفرش توکن دسترسی پیدا کنه توی اون 7 روز هزاربار میتونه token بگیره و عشق و حال کنه

☝🏻اینجا دوتا مفهوم داریم به اسم rotate refresh token
و revoke refresh token که خیلی شبیه هم هستن(با فرق کوچولو)

Rotate Token
یعنی هر بار که کاربر از Refresh Token استفاده کرد، یه Access Token جدید و یه Refresh Token جدید صادر می‌کنیم.
توی این حالت، Refresh Token قبلی دیگه نباید قابل استفاده باشه
اینجوریه که میگه: تو بیا رفرش توکن رو توی یک جایی مثلا ردیس یا هرچی، ذخیره کن و وقتی کاربر از اون رفرش توکن استفاده کرد قبلی رو حذف کن و جدیده رو بزار جاش تا یکبار بیشتر نتونه استفاده کنه

Revoke Token
یعنی بی‌اعتبار کردن یک توکن قبل از اینکه تاریخ انقضاش برسه(با expire طبیعی توکن اشتباه نگیری). مثلا وقتی کاربر logout می‌کنه یا Refresh Token جدید گرفته، Refresh Token قبلی رو revoke می‌کنیم.

در واقع میشه یه جورایی گفت :
اRotate یعنی "توکن جدید بده و قبلی رو کنار بذار"
اRevoke یعنی "توکن فعلی رو از کار بنداز"

این لینک زیر هم خیلی مفصل تر توضیح داده

https://auth0.com/docs/secure/tokens/refresh-tokens/refresh-token-rotation


#jwt
#rotate_refresh_token
@LearnByLearn
👌5
Forwarded from جادی | Jadi
Media is too big
VIEW IN TELEGRAM
یه تیکه از رادیوجادی ۱۹۹ رو اینجا میارم چون به نظرم دیدن مستقلش مفیده. حرف‌های مدیر عامل بخش وب سرویس‌های آمازون است در مورد حضور هوش مصنوعی و مسیر شغلی و استخدام تازه کارها در این شرایط. خلاصه‌اش؟ یاد بگیرین و سعی کنین تحلیل مساله و شکستن مشکل به اجزای کوچکتر رو یاد بگیرین و اتفاقا شرکت‌های بزرگ هم باید دائما در حال استخدام نیروهای جونیور باشن تا چند سال بعد نیروی سنیور داشته باشن.

#برنامه_نویسی #هوش_مصنوعی #شغل #پادکست
🔥6
This media is not supported in your browser
VIEW IN TELEGRAM
امروزه هوش‌مصنوعی می‌نویسد، می‌سازد و موسیقی و تصویر خلق می‌کند! شاید هنوز بدون روح، اما بی‌تردید با نبوغی سرشار که از ذهن انسان زاده شده.

وقتی این صحنه در سال ۲۰۰۴ ساخته شد، جهان هنوز نمی‌توانست تصور کند که هوش مصنوعی روزی به قلمرو تخیل، شعر و هنر پا بگذارد. اما حالا، دو دهه بعد، همان رؤیا دارد از پرده‌ی سینما عبور می‌کند و در دنیای واقعی نفس می‌کشد!

در یکی از زیباترین و درعین‌حال فلسفی‌ترین لحظات سینمای علمی‌تخیلی در فیلم I Robot (2004)، کارآگاه دِل اسپونر رو‌به‌روی رباتی ایستاده و با لحنی پر از شک و ترس از آینده می‌پرسد: «می‌تونی یه سمفونی بسازی؟ یه نقاشی شاهکار خلق کنی؟» و ربات با پاسخی عمیق می‌گوید: «تو می‌تونی؟»

@LearnByLearn
👍2
Audio
رادیو جادی ۲۰۱ - اینبار اخراج

در رادیوی ۲۰۱، از آزادی اندروید می‌گیم و اخراج شرکت‌های بزرگ در حوزه ای آی و قوانین محدود کننده چین و روسیه و کلی چیز دیگه. با ما باشین که جهان هکرهای بیشتری می‌خواد بخصوص حالا که روسیه می‌خواد هکرهای روسی رو مجبور به همکاری کنه.

https://youtu.be/4PGexVcbpmk

00:00 - رادیو جادی ۲۰۱ - اینبار اخراج
01:30 - فصل جدید مایکروسافت و اوپن ای آی
06:15 - اخراج‌های گسترده شرکت‌های بزرگ
13:51 - اندروید رو باز نگه دارید
18:08 - الزام مدرک تخصصی برای اینفلوئنسرهای چینی
23:00 - هکرهای روسی مجبور می‌شن تمام حفره‌های امنیتی رو به دولت هم اطلاع بدن
27:00 - زبان‌های برنامه نویسی برتر ۲۰۲۵؛ البته بحثی عمیق تر
36:50 - عملیات مشترک آمریکا و انگلیس علیه کلاهبرداری های سایبری بانک پرینس در کامبوج
43:40 - عیعایی که چیپس رو با تفنگ اشتباه گرفته و باعث حمله پلیس شده
44:25 - چین جنگلی به مساحت تگزاش کاشته
46:10 - بخش آخر

#رادیوجادی #پادکست
💩1
اگه به یادگیری جنگو علاقه مند هستید کانال یوتیوبی By code with stein که توی حوزه جنگو کار میکنه
یه اموزش جنگویی شروع کرده که توی 30 روز مقدماتش رو یاد میده
روزی یک ویدیو میده، تا الان 9 تاش اومده
اینم پلی لیستش

https://www.youtube.com/playlist?list=PLpyspNLjzwBlrACsF-k550had5SJEeL6S

@LearnByLearn
#django
🔥5
سایت مشاغل لینوکس گزارش ۲۰۲۵ رو منتشر کرده و طبق انتظارات، کلاود در صدر شغل های پر تقاضا است. بعدش هم دواپز و امنیت. مهارت عمیق در داکر و کوبرنتیس بسیار ارزشمند است و چیزهایی مثل انسیبل و ترافورم و تجربه عملی با aws و آژر و گوگل کلاود که خب توی ایران برای ما سختتره. در برنامه نویسی هم پایتون، بش و گو رشد بزرگی داشتن و معمولا نیاز به تجربه با ci/cd (جنکینز و گیت‌هاب اکشنز) و مانیتورینگ ها بوده (مثلا گرافانا).

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

https://www.linuxcareers.com/resources/blog/2025/11/linux-career-opportunities-in-2025-skills-in-high-demand/

منبع: کانال جادی

@LearnByLearn
👏2🍾1