کداکسپلور | CodeExplore
前往频道在 Telegram
با کد اکسپلور یاد بگیر، لذت ببر و بروز باش ⚡️😉 👨🏻💻 ارتباط با ما : @CodeExploreSup گروه : @CodeExplore_Gap تبلیغات در کد اکسپلور : @CodeExploreAds
显示更多9 187
订阅者
+824 小时
+267 天
+12830 天
帖子存档
رفتن به خط بعد در جاوا اسکریپت ✌️
☄️قبل از این، اگه میخواستی رشتهای رو در چند خط بنویسی، باید از \n برای ایجاد خط جدید استفاده میکردی:
const message = "This is line 1\nThis is line 2\nThis is line 3";
console.log(message);
/*
This is line 1
This is line 2
This is line 3
*/
با استفاده از بکتیکها، میتونی به سادگی این کار رو انجام بدی:
const message = `This is line 1
This is line 2
This is line 3`;
console.log(message);
/*
This is line 1
This is line 2
This is line 3
*/
#javascript #js #trick
☕️ @CodeExploreبالاخره بخشی از انتظار ها به پایان رسید 😃🥳
توی آینده کد اکسپلور چه چیز هایی قراره ببینیم؟ 🤔
برنامه های زیادی تو راهه 😎
چیزی نمونده منتظر باشید...
☕️ @CodeExplore
▶️مسابقه رضا جان رو میتونید از این لینک ببینید و لذت ببرید🔥
توی این مسابقه قراره یه پروژه با Tailwind طراحی بشه و در آخر ببینیم کی از نظر Clean Code و ساختار کد بهتر کار کرده؟😉
🖥 https://youtu.be/qKh116RTyPU
#tailwind #event #cleancode
☕️ @CodeExplore
Repost from هشتگ تبلیغ تخصصی
🔹 دوران داغ آموزشی شروع شد ⛱🌊
💥جشنواری تابستانی دوران آکادمی آغاز شد. از امروز تا پایان نمایشگاه الکامپ🤩
⚡️ 10و 20 و 30 و 40 درصد تخفیف ⚡️
📌 جهت اطلاع از شرایط برگزاری و ثبتنام با ما در تماس باشید
🌎 B2n.ir/w78182
📞 ۰۲۱-۴۳۵۸۹
📱 ۰۹۳۸۳۲۰۷۸۸۴
💬 @douranAC
💬💬💬💬💬💬💬
🧠 چطور دقیق ترین جواب هارو با استفاده از بهترین پرامپتها از هوش مصنوعی بگیریم؟!
• دقیق و واضح سوال پرسیدن و جزئیات دادن به chatGPT از رکنهای اصلی گرفتن یک جواب مرتبطه
📊 این فرمول رو باید یه جایی ذخیره کنید :
[persona] + [context] + [task] + [example] + [tone]➡️Persona ⬅️قراره به chatGPT بگیم به جای چه کسی فکر کنه اگر شخص معروفی رو میشناسید میتونید اسمشو بیارید مثلا (مثل استیو جابز عمل کن) ➡️Context ⬅️تو این قسمت مشخص کنید چه سابقه ای دارید و قراره به چه هدفی برسید با این prompt مثلا من یک طراح گرافیک جونیور هستم، برنامه ی آموزشی میخوام و فقط ۳ روز در هفته زمان دارم ➡️Exemplar ⬅️نمونه ای آپلود کنید و ازش بخواید با توجه به اون نمونه بهتون جواب بده مثلا بر اساس رزومه تون برای سوالات احتمالی مصاحبه جواب طراحی کنه ➡️Task ⬅️همیشه برای دادن task از افعالی که مشخص میکنن خواسته ی شما از chatGPT چیه استفاده کنید. مثلا .... generate, give, write, analyze
Ex: generate a 3 month training program for me to follow➡️Tone ⬅️قطعا کلماتی که برای توصیف لحن مورد نیازمون بلدیم محدوده اگر به خود chatGPT توضیح بدید در چه شرایطی هستید بهترین tone رو بهتون معرفی میکنه #ai #chatgpt #prompt ☕️ @CodeExplore
مدیر زمان نباشید، مدیر اولویت باشید. اهداف اصلی خود را به قطعاتی با ابعاد کوچک تر تقسیم کنید. هر اولویت یا الزام کوچک در راه رسیدن به هدف نهایی به خودی خود به یک هدف کوچک تبدیل می شود.
" Denis Waitley "
#motivational
☕️ @CodeExplore
⭐️خیلی وقتا پیش میاد ما بخایم از یسری ابزار برای برش عکس داخل سایتمون استفاده کنیم و به قولی Cropper بسازیم، با استفاده از سایت زیر میتونین به راحتی این ابزار رو داخل کد هاتون به کار بگیرین:
🌐https://fengyuanchen.github.io/cropperjs/v2/guide.html
#site
☕️ @CodeExplore
📌خب بچه ها امروز میخایم یکم کار با تیلویند رو جذاب تر کنیم و در ادامه مباحث TailwindCss به یسری قسمت های قشنگ تری برسیم
خب اول از همه باید بگم ما وقتی از تیلویند استفاده میکنیم دیگه نیاز نیست پاشیم بریم برای افکت های hover و focus جداگونه css بزنیم
و خیلی خیلی راحت میشه این افکت ها و سلکتور هارو داخل تیلویند به کار برد😂
توی مثال پایین براتون هاور و فکوس رو آوردم:
<button class="bg-sky-500 hover:bg-sky-700 hover:text-9xl focus:bg-red-500">
Save changes
</button>
◀️خب الان ما گفتیم مثلا موقع هاور شدن این دکمه، بک گراندش عوض شه و سایز متنش بزرگ تر بشه، و وقتی هم روش عملیات فکوس رخ داد بک گراندش قرمز شه
حالا ما میتونیم بیایم مشخص کنیم وقتی مثلا فیلد هایی که داریم، required هستن یا disabled شدن، باز استایل هاشون عوض شه (یعنی وقتی اتریبیوت های مربوطه رو گرفتن)
<button class="bg-sky-500 disabled:opacity-50 required:text-red-500">
Save changes
</button>
خیلی جالب تر میشه اگه بگم ما حتی میتونیم first-child و last-child و... هم مشخص کنیم!
<li class="flex py-4 first:pt-0 last:pb-0 even:bg-red-500 odd:bg-green-200">
<img class="h-10 w-10 rounded-full" src="{person.imageUrl}" alt="" />
<div class="ml-3 overflow-hidden">
<p class="text-sm font-medium text-slate-900">{person.name}</p>
<p class="text-sm text-slate-500 truncate">{person.email}</p>
</div>
</li>
✅اینا که چیزی نیست داداش، حتی به شبه المنت هایی مثل after و before المنت هم دسترسی داریم! مثال رو دقت کنین:
<div class="before::text-xl after:border"></div>
یه وقتایی هم پیش میاد که بخایم بگیم اره اگه فلان المنت راست چین یا چپ چین بود ( همون direction ) یسری استایل های متفاوت بگیره:
<div class="rtl:text-2xl ltr:bg-green-200"></div>
خب تا اینجا که هم اسون بود هم جذاب و منم فقط لیست کردم واستون
اما میخایم حالا راجب یه کار خفن دیگه صحبت کنیم باهم
🔥ببینین همه میدونیم یه وقتایی ما یسری المنت داریم که به هم مربوطن و گروهی کار میکنن، و میخام نسبت به هم یسری اتفاقا داخلشون بیوفته، یعنی اگه فلانی هاور شد این یکی یه اتفاق دیگه براش بیوفته، اینجاس که تیلویند اومده group هارو برامون ردیف کرده
شما اول از همه میاین یه گروه تشکیل میدین با استفاده از کلاس group و بعد از اون هم تگ هایی که داخل این گروه وجود دارن میتونن نسبت به هم گروهی هاشون واکنش نشون بدن
با مثلا راحت میشه درکش کرد و من این مثال رو از داک تیلویند میارم:
<a href="#" class="group block max-w-xs mx-auto rounded-lg p-6 bg-white ring-1 ring-slate-900/5 shadow-lg space-y-3 hover:bg-sky-500 hover:ring-sky-500">
<div class="flex items-center space-x-3">
<svg class="h-6 w-6 stroke-sky-500 group-hover:stroke-white" fill="none" viewBox="0 0 24 24"><!-- ... --></svg>
<h3 class="text-slate-900 group-hover:text-white text-sm font-semibold">New project</h3>
</div>
<p class="text-slate-500 group-hover:text-white text-sm">Create a new project from a variety of starting templates.</p>
</a>
👑داخل این قسمت رو که نگاه کنین ما به تگ a یه کلاس group دادیم و اینطوری یه گرروه تشکیل دادیم از همه اینا، داخل این گروهمون دو جا کلاس group-hover رو میبینیم که خب اینطوری میشه معنیش کرد که وقتی کل این گروه ما(نه فقط یه المنت خاص) هاور شد، بیا متن فلان المنت رو سفید کن
ما این مورد رو فقط برای hover نداریم، برای focus و active و حتی odd و even هم داریمش فقط متنش عوض میشه و کاربردش که بلدین
این مبحث سلکتور ها خیلی خیلی طولانیه و اگر وقت شد در آینده باز هم دربارش توضیح میدیم
#tailwind #tailwind_8
☕️ @CodeExploreدوتا کتاب مفید و رایگان برای یادگیری Java
1⃣ Think Java نوشته Allen B. Downey و Chris Mayfield
این کتاب مقدمهای عالی برای مبتدیاس و مفاهیم پایه Java رو به شیوهای ساده و قابل فهم توضیح میده.
🔢 Introduction to Programming Using Java نوشته David J. Eck
یکی از منابع آزاد و بسیار خوب برای یادگیری جاوا که تمامی مفاهیم پایه و پیشرفته رو پوشش میده.
#java #book
☕️ @CodeExplore
🧠 چطور دقیق ترین جواب هارو با استفاده از بهترین پرامپتها از هوش مصنوعی بگیریم؟!
• دقیق و واضح سوال پرسیدن و جزئیات دادن به chatGPT از رکنهای اصلی گرفتن یک جواب مرتبطه
📊 این فرمول رو باید یه جایی ذخیره کنید :
[persona] + [context] + [task] + [example] + [tone]➡️Persona ⬅️قراره به chatGPT بگیم به جای چه کسی فکر کنه اگر شخص معروفی رو میشناسید میتونید اسمشو بیارید مثلا (مثل استیو جابز عمل کن) ➡️Context ⬅️تو این قسمت مشخص کنید چه سابقه ای دارید و قراره به چه هدفی برسید با این prompt مثلا من یک طراح گرافیک جونیور هستم، برنامه ی آموزشی میخوام و فقط ۳ روز در هفته زمان دارم ➡️Exemplar ⬅️نمونه ای آپلود کنید و ازش بخواید با توجه به اون نمونه بهتون جواب بده مثلا بر اساس رزومه تون برای سوالات احتمالی مصاحبه جواب طراحی کنه ➡️Task ⬅️همیشه برای دادن task از افعالی که مشخص میکنن خواسته ی شما از chatGPT چیه استفاده کنید. مثلا .... generate, give, write, analyze
Ex: generate a 3 month training program for me to follow➡️Tone ⬅️قطعا کلماتی که برای توصیف لحن مورد نیازمون بلدیم محدوده اگر به خود chatGPT توضیح بدید در چه شرایطی هستید بهترین tone رو بهتون معرفی میکنه #ai #chatgpt #prompt ☕️ @CodeExplore
حالا چطور میتونیم در این مسیر پیشرفت کنیم و سنیور بشیم؟
1️⃣ یادگیری مداوم: دنیای تکنولوژی همیشه در حال تغییره. پس باید همیشه در حال یادگیری باشیم.
2️⃣ کار روی پروژههای متنوع: هر چقدر با پروژههای مختلف کار کنیم، تجربهمون بیشتر میشه.
3️⃣ مشارکت در پروژههای اپن سورس: این کار باعث میشه با کدهای واقعی و چالشهای جدید روبرو بشیم.
4️⃣ شبکهسازی: ارتباط با سایر برنامهنویسها میتونه دید ما رو گسترش بده و فرصتهای جدیدی ایجاد کنه.
5️⃣ تمرین مهارتهای نرم: مهارتهایی مثل ارتباطات، کار تیمی و مدیریت زمان به اندازه مهارتهای فنی مهم هستن.
6️⃣ پذیرش مسئولیت: هر چقدر مسئولیت بیشتری قبول کنیم، سریعتر رشد میکنیم.
و در کل نتیجه چی میشه؟
چه جونیور باشیم، چه میدلول، و چه سنیور، همیشه با اشتیاق به یادگیری ادامه بدیم و سعی کنیم دنیای برنامهنویسی رو جای بهتری کنیم 😍
چون در نهایت، همه ما بخشی از این جامعه بزرگ و در حال رشدیم 🩵
#programming #level #پیشنهادی
☕️ @CodeExplore
بی مقدمه میگم، برنامه نویسی مثل یه سفره که ته نداره 🙂
همه از یه جایی شروع میکنیم و کم کم پیشرفت میکنیم. این سفرمونم از جونیور شروع میشه و به سنیور ختم میشه. حالا میپرسن
جونیور چیه ؟ 😁
سنیور چیه؟ 😀
بیاید یه مروری بکنیم ببینیم دنیا دست کیه :
مرحله 1️⃣: وقتی جونیوریم، یه برنامه نویس تازه وارد و پرشوریم که تازه وارد دنیای برنامهنویسی شدیم، همه چیز برامون تازگی داره. کدها شبیه معماهای جذابی هستن که دوست داریم حلشون کنیم. هر روز یه چیز جدید یاد میگیریم و از هر موفقیت کوچیکی خوشحال میشیم.😔
یه جونیور معمولاً:
🌙 پر از شور و اشتیاقه
⚠️ دوست داره سریع یاد بگیره
‼️ از چالشهای جدید استقبال میکنه
🚀 گاهی اوقات اشتباهات ساده میکنه
⭐️ نیاز به راهنمایی داره
⛔️ روی یادگیری پایهها تمرکز میکنه
تو این مرحله، جونیورها معمولاً روی یادگیری زبانهای برنامهنویسی، اصول اولیه طراحی نرمافزار و کار با ابزارهای پایه تمرکز میکنن. ممکنه گاهی احساس گیج شدن یا ناامیدی کنن، اما این بخشی از فرآیند یادگیریه ♥️
مرحله 2️⃣: میدلول، پل بین دو تا دنیای سنیور و جونیوره! بعد از چند سال، کم کم از مرحله جونیور خارج میشیم و وارد یه مرحله میانی میشیم که بهش میگن "میدلول". تو این مرحله:
🌙 تجربهمون بیشتر شده
⛔️ میتونیم پروژههای متوسط رو مدیریت کنیم
🟢 درک بهتری از معماری نرمافزار داریم
⚠️ میتونیم به جونیورها کمک کنیم
⚠️ هنوز چیزای زیادی برای یادگیری داریم
‼️ شروع میکنیم به پیدا کردن تخصص در یه زمینه خاص
داریم کم کم مسئولیتهای بیشتری رو قبول میکنیم و یاد میگیریم که چطور با چالشهای پیچیدهتر کنار بیایم.🌙
مرحله 3️⃣: سنیور یا استاد همه فن حریف! بالاخره، بعد از سالها تجربه و یادگیری، به مرحله سنیور میرسیم.
یه سنیور دولوپر:
✅ تسلط کاملی روی تکنولوژیهای مختلف داره
✅ میتونه پروژههای بزرگ و پیچیده رو مدیریت کنه
✅ راهحلهای خلاقانه برای مشکلات پیدا میکنه
✅ به عنوان منتور برای بقیه عمل میکنه
✅ درک عمیقی از اصول مهندسی نرمافزار داره
✅ میتونه تصمیمات استراتژیک بگیره
سنیورها معمولاً نقش رهبری فنی رو به عهده میگیرن و در تصمیمگیریهای مهم پروژهها نقش کلیدی دارن. اونا میتونن مشکلات پیچیده رو تحلیل کنن و راهحلهای مناسب ارائه بدن.
تفاوتهای کلیدی ⚡
حالا که با هر سه مرحله آشنا شدیم، بیاین چند تا از تفاوتهای کلیدی رو مرور کنیم:
1️⃣حل مسئله:
جونیور: معمولاً روی حل مسائل کوچک و مشخص تمرکز میکنه.
میدلول: میتونه مسائل متوسط رو حل کنه و گاهی به راهحلهای خلاقانه برسه.
سنیور: توانایی حل مسائل پیچیده و سیستمی رو داره و میتونه مشکلات رو از زوایای مختلف ببینه.
2️⃣ کدنویسی:
جونیور: کد مینویسه تا کار انجام بشه، گاهی بدون توجه به بهینهسازی.
میدلول: کد تمیزتر و بهینهتری مینویسه و به ساختار کد اهمیت میده.
سنیور: کد بسیار تمیز، ماژولار و قابل نگهداری مینویسه و به پرفورمنس و مقیاسپذیری توجه ویژه داره.
3️⃣ یادگیری:
جونیور: مشتاقانه هر چیز جدیدی رو یاد میگیره.
میدلول: یادگیری رو هدفمندتر دنبال میکنه و روی مهارتهای خاص تمرکز میکنه.
سنیور: علاوه بر یادگیری مداوم، دانش خودش رو به دیگران منتقل میکنه.
4️⃣ مسئولیت:
جونیور: معمولاً وظایف مشخص و محدودی داره.
میدلول: مسئولیتهای بیشتری قبول میکنه و گاهی رهبری تیمهای کوچک رو به عهده میگیره.
سنیور: مسئولیت کل پروژه یا بخشهای مهمی از اون رو به عهده داره.
5️⃣ ارتباطات:
جونیور: بیشتر با تیم فنی در ارتباطه.
میدلول: میتونه با سایر بخشها هم ارتباط برقرار کنه.
سنیور: با همه سطوح سازمان، از مدیران ارشد تا مشتریان، ارتباط موثر برقرار میکنه.
نکته مهم: هر کدوم از این مراحل ارزش خودش رو داره ✅
جونیورها با انرژی و ایدههای تازهشون میتونن به تیم روح تازهای بدن. میدلولها پل ارتباطی مهمی بین جونیورها و سنیورها هستن و نقش مهمی در پیشبرد پروژهها دارن. و سنیورها با تجربه و دانششون، مسیر کلی رو مشخص میکنن و به عنوان منتور عمل میکنن.
یکمی این پست زیاد شد :(
ادامشو تو پست بعدی میگم 😶
#programming #level #پیشنهادی
☕️ @CodeExplorer
میدونستین با استفاده از enumerate میتونید به اندیس ها هم توی حلقه ها دسترسی داشته باشید؟ ⌨️
🥴اینی که گفتم یعنی چی؟بعضی وقتا پیش میاد که میخواید توی چاپ کردن محتوای یک لیست، عدد رو هم کنارش بزارید! اینجا دوتا راه گفتیم...
# به جای این:
index = 1
for value in some_list:
print(index, value)
index += 1
# میتونید از این استفاده کنید:
for index, value in enumerate(some_list):
print(index+1, value)
⚠️البته که ما فرض کردیم شما لیستی به اسم some_list دارید و دیگه تعریفش نکردیم.
#enumerate #python
☕️ @CodeExploreاگر موقع برنامه نویسی موزیک گوش میدید، توی کامنت های این پست موزیک های مورد علاقتون موقع برنامه نویسی رو بفرستید تا بقیه دوستان هم استفاده کنن 😃🎶
#پست_پیشنهادی
#programming #music
☕️ @CodeExplore
🌐 دوستان تو سایت زیر می تونین تمام فعالیت هایی که سال قبل تو گیت هاب داشتید رو به صورت انیمیشن در بیارید.
🌐 http://githubunwrapped.com
🔥🔥🔥🔥🔥🔥🔥🔥
ولی خب احساس میکنم این سایت خطایی هم داره. مثلاً تو ویدیو بالا نباید زبان سوم این دوستمون امیرجان CSS باشه و باید Python باشه، ولی خب مشکلی نیست.
⚡️ شما هم فعالیت های گیت هابتون به صورت ویدیو در بیارید و تو کامنت ها بفرستید تا بیشتر باهاتون آشنا بشیم 🔥
#github #activity #video #animation
☕️ @CodeExplore
🔥بریم سراغ قسمت بعدی از مباحث TailwindCss
همونطوری که میدونین ما توی اموزش قبلی درباره کار با متن ها صحبت کردیم و خب خیلی طولانی بود این مبحث و نصفش به این سمت افتاد که الان قراره توی این پست باهم پیش ببریمش
اول از همه راجب شکستگی متن ها میخایم صحبت کنیم یا همون text-wrap که اصولا خیلی اسون میتونه باشه براتون و یه همچین لیست کوتاهی از کلاس هارو سمت تیلویند برای استفاده ازش داریم:
text-wrap text-nowrap text-balance text-pretty✅و خب از اسمشون خیلی قشنگ مشخصه چیکار میکنن البته اینم بگم اسماش طوریه که صرفا خلاصه شده و میدونین که اینا همشون پراپرتی های css هستن موضوع بعدی مربوط به مبحث فاصله underline از متنه یا همون unerline-offset اول از همه برای ساخت یه خط زیر متن یا همون underline از همین کلاس underline استفاده میکنیم، و بعدش هم میتونیم فاصلش رو با offset تنظیم کنیم:
class="underline underline-offset-1"اینم از 0 تا 8 داره و بر واحد پیکسله 💥خب حالا برای ترنسفورم متن ها که آپرکیس و... باشن هم کلاسای خیلی سادهای داریم، از جمله:
uppercase lowercase capitalize normal-case // noneو خب قطعا باهاشون اشنایی دارین قابلیت بعدی که تیلویند به ما میده برای مدیریت بیرون زدن متن هاس، یا همون text-overflow که بتونیم سه نقطه (...) اخر متن هامون که زیادی هستن و میزنن بیرون اضافه کنیم، ما سه تا کلاس قشنگ داریم:
truncate text-ellipsis text-clip☄️دوتای پایین که مشخصه کارشون نسبت به پراپرتی css اونا قابل فهمه، ولی خب کلاس اولی جدیده و شامل سه تا استایل میشه سمت css ، یعنی شما وقتی از کلاس truncate استفاده کنین این کلاس ها به المنت شما داده میشه:
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
خب حالا اگه بخایم به حرف معلمای انشا گوش بدیم و شروع متن هامون که اول بند هستن با یکم فاصله باشه، نیاز به یسری کلاس داریم تا بیایم اون فاصله از شروع متن رو اعمال کنیم:
indent-0.5 indent-1 ... indent-96با این کلاس و اندازه ها شما هرطوری خاستین فاصله بدین ✨برای کاستوم کردن text-align هم راحت میتونین اول text بزنین بعدش هم جهت دلخواه، مثلا:
text-center text-start text-end👑خب بچه ها سعی کردم توی این پست و پست قبلی درباره کار با متن ها اون نکات مهم و کاربردی رو بگم هرچند بازم کلاس های زیادی وجود داره #tailwind #tailwind_7 ☕️ @CodeExplore
⚪️DevOps چیست؟
DevOps یک روش کاری در توسعه نرمافزار که به تیمهای توسعه (Development) و عملیات (Operations) کمک میکنه تا با همکاری نزدیکتر و استفاده از ابزارهای خودکار، نرمافزارها را سریعتر و با کیفیتتر تولید و عرضه کنن. هدف اصلی DevOps افزایش سرعت تحویل نرمافزار و بهتر شدن کیفیت اون از طریق همکاری بهتر و اتوماسیون فرآیندهاست.
🟢 ویژگیهای DevOps
همکاری و ارتباط: تیمهای توسعه و عملیات باید به طور مداوم با هم در ارتباط باشن تا مشکلات سریعتر حل بشن.
اتوماسیون: استفاده از ابزارهایی که وظایف تکراری مثل ساخت، تست و استقرار نرمافزار رو به صورت خودکار انجام بدن.
یکپارچهسازی مداوم (CI): تغییرات کد به صورت مداوم و مرتب به سیستم اضافه میشن که کمک میکنه تا خطاها زودتر شناسایی و رفع بشن.
تحویل مداوم (CD): اطمینان از اینکه نرمافزار همیشه آمادست تا به دست کاربران برسه.
نظارت و پایش: بررسی مداوم عملکرد نرمافزار و جمعآوری گزارشها برای شناسایی و حل مشکلات قبل از اینکه کاربران متوجه بشن.
انعطافپذیری: سریعتر واکنش نشون دادن به تغییرات و نیازهای جدید.
⚙️از کاربرد های DevOps میتونیم به سریعتر شدن تحویل نرمافزار، بهبود کیفیت نرمافزار، کاهش زمان تا بازار، افزایش قابلیت اطمینان
و رضایت بیشتر کاربران اشاره کنیم.
💻 زبان هایی مثل Python, Ruby , Go و ... از زبان های محبوب و ابزار هایی مثل Git , Docker , Jenkins, Ansible و... هم از ابزار های رایج برای DevOps هستن.
رودمپ DevOps رو قبلا داخل چنل قرار دادیم و از این لینک میتونید بهش دسترسی داشته باشید.
#devops
☕️ @CodeExplore
