این منبع بصورت مرتب آپدیت میشه و طبق توضیحات این مسیر برای کسانی مناسب هست که قصد دارن برنامه درسی مقطع کارشناسی علوم داده رو تو زمان خودش و به صورت رایگان با دورههایی از بهترین دانشگاههای جهان تکمیل کنن.
#data #science #tutorial
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥12⚡5❤🔥3
table {
empty-cells: hide;
} ::selection {
background: #ffb7b7; /* WebKit/Blink Browsers */
}
::-moz-selection {
background: #ffb7b7; /* Gecko Browsers */
}
input[type="text"] {
caret-color: green;
}
input[type="email"] {
caret-color: red;
}#css #trick
Please open Telegram to view this post
VIEW IN TELEGRAM
⚡15🔥7❤🔥3
در پست قبلی باهم در مورد تاریخچه و کاربرد ریجکس صحبت کردیم ، امروز قراره به طور رسمی وارد آموزش ریجکس بشیم و یخورده عمیق تر بررسی کنیم
قبل از شروع آموزش اصلی باید بهتون بگم تو این آموزش اول ریجکس رو مینویسم و زیرش خروجی که به ما میده. همچنین میخوام بهتون دوتا سایت معرفی کنم که برای تمرین در مورد ریجکس خیلی عالیه
و بهتره بعد از آموزش هر روز خودتونم برید و تست کنید :
فرض کنید متنی مثل زیر داریم :
You can see the names of all my friends here: Amin, AmirMassoud, AmirAli, Amir, Saeed, Korosh, Agha Reza, amiran
یعنی من توی جمله بالا میخوام فقط کلمه Amir رو استخراج کنم ، برای این کار سینتکس ریجکس میشه این :
/Amir/
Amir
توجه کنید که / اول و آخر خونده نمیشن و سینتکس اصلی خود ریجکسه (PCRE) و هرچیزی بین دوتا / باشه الگو شماست و هرچیزی بعد از / آخر باشه flag شماست که الان توضیح میدم چیه
با توجه به ریجکسی که الان نوشتیم ، انتظار داریم که از متن بالا تمامی Amir هارو استخراج کنه، اما به دوتا مشکل میخوریم !
اول اینکه اگه بدون flag از این ریجکس استفاده کنیم فقط اولین الگو رو برای ما برمگیردونه ! پس اول بیاید کاری کنیم که همه رو پیدا کنه :
/Amir/g
Amir, Amir, Amir
حالا اگر دقت کنید یدونه g به آخر ریجکسمون اضافه کردیم ، g مخفف کلمه global و یعنی تمامی موارد پیدا شده رو برای من برگردونه
ولی بازم یه مشکلی داریم! ریجکس به حروف بزرگ و کوچیک حساسه پس کلمه amir داخل amiran رو برای ما پیدا نمیکنه
برای حل این مشکلم باید یه flag دیگه اضافه کنیم به اسم i که مخفف insensitive که یعنی روی حروف بزرگ و کوچیک حساس نباش
پس ریجکس اصلی ما برای پیدا کردن تمامی amir ها میشه این :
/Amir/gi
Amir, Amir, Amir, amir
let text = '.....' // همون متن بالا
let pattern = /amir/gi
let find = [...str.matchAll(pattern)]
console.log(find)
//Print: (4) [Array(1), Array(1), Array(1), Array...]
بیاید از این دوتا فلگ خارج بشیم و یه نماد دیگه داخل ریجکس یاد بگیرم. اول بزارید متن رو یه تغییری بدم :
my name amirmohammad and my friends:
amirali
amirreza
amiran
agha reza
koroshe
samir
خب چرا مثالو اینجوری تغییر دادم؟ چون میخوام یه نماد و فلگ بهتون یادم بدم
قبل از اینکه ریجکس بنویسیم بزارید بگم که اصلا توی متن بالا دنبال چی هستیم؟ اگه توجه کنید خط اول یه توضیح داره و بقیه خط ها یک اسمه؛ ما میخوایم Amir هایی رو پیدا کنیم که فقط کلمه amir ، اول جمله است
برای اینکه بخوایم مشخص کنیم amir حتما اول جمله باشه باید از نماد ^ (بهش میگن هَت) استفاده کنیم (نماد ^ ،همجا اول خط رو مشخص نمیکنه و در آموزش های بعدی میفهمید که در جای دیگه هم کاربرد داره) :
/^Amir/gi
Empty
اگه ریجکس بالا رو تست کنیم بازم به مشکل میخوریم
یعنی هیچ تطابقی بهمون نمیده ؛ چرا ؟ چون که زیرا
دلیل اینکه به ما هیچ تطابقی نمیده اینه که ریجکس به صورت پیشفرض مولتی لاین نیست (یعنی اگر از ^ استفاده کنید فقط خط اول رو به عنوان اول خط میشناسه و بقیه خط هارو حساب نمیکنه
حالا برای اینکه این قابلیت رو هم روشن کنیم
/Amir/gim
amir, amir, amir
حالا با ریجکس بالا همه اسم هایی که فقط با amir شروع میشن و اول خط هستن رو به دست آوردیم
برای امروز بسه
با ما همراه باشید تا آموزش بعدی
#regex #regular_expression
#regex_2
Please open Telegram to view this post
VIEW IN TELEGRAM
regex101
regex101: build, test, and debug regex
Regular expression tester with syntax highlighting, explanation, cheat sheet for PHP/PCRE, Python, GO, JavaScript, Java, C#/.NET, Rust.
⚡17❤🔥6🔥5
#bot #telegram
Please open Telegram to view this post
VIEW IN TELEGRAM
⚡17❤🔥5🔥5
Please open Telegram to view this post
VIEW IN TELEGRAM
Review Board
Review Board - It's a bright day for code review!
Code review and document review for organizations of all sizes, supporting Git, Perforce, Mercurial, IBM ClearCase, Cliosoft SOS, Azure DevOps, and more.
❤🔥13🔥4⚡2
با این سه سایت هک رو شروع کن 💻
سه تا سایت براتون آوردم که باهاش میتونید یادگیری هک رو شروع کنید یا تا حدودی پیش ببرید🔥
1⃣ Hacker101.com
این سایت مخصوص یادگیری هک و امنیت سایبریه. کلی درس و تمرین رایگان داره که بهت کمک میکنه مهارتهات رو تقویت کنی.
🔥 🔥 🔥 🔥 🔥 🔥 🔥 🔥
🔢 Hackthissite.org
یه جورایی مثل زمین بازی برای کسایی که میخوان هک کردن رو تمرین کنن. کلی چالش و ماموریت داره که میتونی توشون شرکت کنی و باگ پیدا کنی.
🔥 🔥 🔥 🔥 🔥 🔥 🔥 🔥
🔢 Hackaday.com
اینجا پر از پروژهها و مقالات جالب و دیوانهواریه که آدمهای خلاق انجام دادن. اگه عاشق تکنولوژی و ساختن چیزای جدیدی، حتماً یه سر به اینجا بزن.
#hack #site
☕️ @CodeExplore
سه تا سایت براتون آوردم که باهاش میتونید یادگیری هک رو شروع کنید یا تا حدودی پیش ببرید
این سایت مخصوص یادگیری هک و امنیت سایبریه. کلی درس و تمرین رایگان داره که بهت کمک میکنه مهارتهات رو تقویت کنی.
یه جورایی مثل زمین بازی برای کسایی که میخوان هک کردن رو تمرین کنن. کلی چالش و ماموریت داره که میتونی توشون شرکت کنی و باگ پیدا کنی.
اینجا پر از پروژهها و مقالات جالب و دیوانهواریه که آدمهای خلاق انجام دادن. اگه عاشق تکنولوژی و ساختن چیزای جدیدی، حتماً یه سر به اینجا بزن.
#hack #site
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥13❤🔥7⚡3
#css #hover #effects
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥9❤🔥6⚡2
این اتریبیوت بهتون این اجازه رو میده که یسری اطلاعات کاستوم و سفارشی رو به تگ اضافه کنین، و داخل css و js بتونین استفادشون کنین
اینم به کاربر اجازه میده که محتوای تگ رو ادیت کنه
میتونین از این اتریبیوت برای مخفی کردن تگ هاتون استفاده کنین
وقتی این اتریبیوت رو به تگتون بدین میتونین کنترل کنین که مرورگر اون تگ رو برای املای صحیح بررسی کنه یا نه ( غلط املایی میگیره )
این اتریبیوت برای فرم هاتون به درد میخوره، با استفاده از این میتونین شماره و ترتیب زدن دکمه tab برای focus روی تگ هاتون رو مدیریت کنین
شاید تا حالا شده بخاین با زدن روی یه لینک، یه فایلی دانلود شه، خب اینو به تگ a بدین و لینکشو ست کنین
این اتریبیوت ها این اجازه رو میدن که کنترل کنین چطوری یه اسکریپت بارگذاری و اجرا بشه
وقتی از این اتریبیوت استفاده کنین، اون تگتون به صورت دیفالت با ران شدن صفحه، focus میشه
میتونین با این اتریبیوت، یک راهنما و متن موقت رو داخل input هاتون ست کنین
از این اتریبیوت ولی میخاید input هاتون خالی نباشه و حتما پر بشه استفاده کنین
#html
Please open Telegram to view this post
VIEW IN TELEGRAM
⚡16🔥8❤🔥3
بریم یه نماد دیگه رو هم یاد بگیرم و اون هم نماد $ (دلار ساین) است که دقیقا برعکس ^ برای آخر جمله استفاده میشه
بریم یه متن بنویسیم و روش یه تست پیاده کنیم:
JavaScript
PostScript
shelllll
ActionScript
PowerShell
AppleScript
Script
Network
hello1
PHP
خب توی متن بالا میخوایم تمامی عبارت هایی رو پیدا کنیم که به Script ختم بشن:
/Script$/img
Script, Script, Script, Script, Script
با دستور بالا 5 تا تطابق داریم ، اما اینجا به یه موضوعی پی میبریم
اونم اینکه تا فعلا با ریجکس فقط یه اسم ثابت رو جستجو کردیم که با find ساده توی یک زبان برنامه نویسی پیدا میشد ، پس چرا از ریجکس استفاده کردیم؟ اینجاست که باید بگم یه زمانی ما دنبال یه کلمه ثابت هستیم و میخوایم ایندکس اون کلمه رو توی متن پیدا کنیم و ممکنه اون کلمه چنبار در جمله اومده باشه ، برای همین با ریجکس میتونیم ایندکس رو بدست بیارم (و اینکه میخواید با ایندکسش چیکار کنید به خودتون مربوطه ، مثلا اگر بخواید از ایندکس 20 تا ایندکس 40 متن رو فقط replace کنید از این روش استفاده میکنید ، البته ممکنه همین کارو بتونید با چنتا تابع متفاوت هندل کنید)
let str = ... //همون مثال بالا;
let pattern = /Script$/gm
let arr = [...str.matchAll(pattern)]
console.log(arr);
//(5) [Array(1), Array(1), Array(1), Array...]
// اگه یکی از آرایه هارو باز کنیم همچین چیزی میبینم:
// ["Script", 4, "JavaScript\nPostScrip...]
// که اولین ایندکس، کلمه پیدا شده ، دومین ایندکس ، ایندکس کلمه داخل متن و سومین ایندکس خود متنه
/^hello$/igm
ریجکس بالا فقط عبارت هایی رو پیدا میکنه که اول جمله با hello شروع بشه و با hello هم تموم بشه
حالا برسیم سر یه موضوع دیگه ، و یکمی جدی تر وارد دنیای قشنگ و قدرتمند ریجکس بشیم
مثال اول رو یادتونه که دنبال عبارت هایی میگشتیم که به Script ختم بشن؟ اونجا فهمیدیم که فقط خود Script رو برای ما برمگیردونه ، ولی اگه ما بخوایم کلماتی رو پیدا کنیم که به Script ختم میشه (مثل خود کلمه AppleScript) باید چیکار کنیم؟
قبل از اینکه مثال بالا رو حل کنیم نیازه که چنتا چیز دیگه رو تو ریجکس یاد بگیرید
من مثال اول رو تغییر نمیدم و با همون پیش میریم
/shel/gmi
shel, shel
ریجکس بالا که خیلی ساده میاد و کلمه shell رو پیدا میکنه و اصلا هم کاری نداره کجای متنه ، کوچیکو بزرگم براش فرقی نداره
برای اینکه به محدودیت تلگرام نخوریم
#regex #regular_expression
#regex_3
Please open Telegram to view this post
VIEW IN TELEGRAM
❤🔥15⚡3🔥2
JavaScript
PostScript
shelllll
ActionScript
PowerShell
AppleScript
Script
Network
hello1
PHP
/shel{2}/gmishell, shell
اینجا یه نماد جدید میبیند: {2} ، که خیلی مهمه
هر عددی که بین آکولاد بزارید ، تعداد رو مشخص میکنه ، یعنی توی ریجکس بالا دارید میگید دنبال عبارتی باش که اولش she داشته باشه و حرف l دقیقا دوبار تکرار بشه ، و چون توی متن اصلی PowerShell و shelllll دوتا ll پشت هم دارن ، پس این تطابق رو پیدا میکنه و دوتا shell برمیگردونه.
/ab{2}c/imgریجکس بالا دنبال عبارت هایی میگرده که اولشون a ، آخرشون c و بینشون دقیقا 2 تا b باشه!
/shel*/img
shell, shelllll
پس با این وجود ریجکس بالا از متن ما دوتا کلمه shell و shelllll رو پیدا میکنه (دیگه چیزیو پیدا نکرد که مشابه هم باشه
/ab*c/img
ریجکس بالا دنبال عبارت هایی میگرده که اولشون a ، آخرشون c و بینشون کارکتر b به تعداد 0 یا اِن بار باشه !
منم توی پست فردا ادامه میدم
روز خوبی داشته باشید
بهتون تمرین میگم که توی کامنت برام جوابشو بنویسید (با هوش خودتون و چیزایی که از اینجا یاد گرفتید (کسایی که از قبل بلدن لطفا پاسخگو نباشن
br ber beer
#regex #regular_expression
#regex_3
Please open Telegram to view this post
VIEW IN TELEGRAM
⚡12❤🔥4🔥3
۶ اصل برنامه نویسی ✅
⭐️ استمرار و تلاش و مطالعه جزو مهمترین اصل ها برای برنامه نویسیه! علاقه هم که پیش نیاز همه اینهاست.هدف گذاری،صبر و حوصله و دست به سرچ بودن هم نکات مهمیه!
☕️ @CodeExplore
Please open Telegram to view this post
VIEW IN TELEGRAM
❤🔥25⚡4🔥4
#site
Please open Telegram to view this post
VIEW IN TELEGRAM
❤🔥11🔥3⚡2
معنی BadUSB چیه؟ 👀
☄️ درواقع BadUSB یه نوع حمله سایبریه که از طریق یه دستگاه USB آلوده انجام میشه. این دستگاهها به طور مخفیانه طوری برنامهریزی میشن که وقتی به کامپیوتر متصل میشن، مثل یه کیبورد یا دستگاه شبکه عمل کنن و کدهای مخرب رو اجرا کنن. این کدها میتونن اطلاعات رو بدزدن، دستورات مخرب رو اجرا کنن یا کنترل کامل سیستم رو به دست بگیرن.
⚡️ معمولاً برنامههای BadUSB با زبانهای سطح پایین مثل C و C++ نوشته میشن تا بتونن مستقیماً با سختافزار تعامل داشته باشن. علاوه بر این، زبانهایی مثل Python و Bash هم ممکنه برای نوشتن اسکریپتهای مخرب استفاده بشن. ابزارهایی مثل Rubber Ducky که مخصوص این نوع حملات طراحی شدن، از زبانهای اسکریپتی خاص خودشون مثل DuckyScript استفاده میکنن که خیلی شبیه به زبانهای اسکریپتنویسی معمول هستن.
#badusb #rubberducky #duckyscript
☕️ @CodeExplore
#badusb #rubberducky #duckyscript
Please open Telegram to view this post
VIEW IN TELEGRAM
⚡14❤🔥6🔥2
#sql #animate #interactive
Please open Telegram to view this post
VIEW IN TELEGRAM
Animatesql
Animate SQL
Forgetting or don't understand something in SQL? Animate away your SQL questions by choosing a keyword and pressing Visualize! You can even customize queries to help you better understand SQL.
❤🔥14🔥3⚡2
خب توی آموزش قبلی در مورد نماد {} و * صحبت کردیم ، امروز قراره مسئله آموزش قبل رو حل کنیم و چنتا چیز جدید یاد بگیریم
بزارید مثال قبلی رو اینجا هم بزارم:
JavaScript
PostScript
shelllll
ActionScript
PowerShell
AppleScript
Script
Network
hello1
PHP
قبل از هرچیزی میخوام بهتون در مورد دسته های کارکتری بگم (دسته های کارکتر همون کارکتر های کنترلی در زبان های برنامه نویسی هستند مثل n\)
صد در صد با n\ آشنا هستید و میدونید که این کارکتر خط جدید ایجاد میکنه و کار Enter رو انجام میده
توی ریجکس هم همچین کارکتر هایی داریم که کار مشخصی رو انجام میدن (مثلا همین n\ رو داریم که خط جدید مشخص میکنه)
/\w/img
J, a, v, a, S, c, r, i, p, t, P, o, s, t, S, c, r, i, p, t, s, h, e, l, l, l, l, l, A, c, t, i, o, n, S, c, r, i, p, t, P, o, w, e, r, S ,h, e, l, l, A, p, p, l, e, S, c, r, i, p, t, S, c ,r, i, p, t, N, e, t, w, o, r, k, h, e, l, l, o, 1, P, H, P
یعنی بعد از J به a برخورد میکنه و a رو هم برمیگردونه و همینجوری الی آخر ادامه میده (پس در مثال بالا تمامی حروف و اعداد رو برمیگردونه)
/\w{2}/imgJa, va, Sc, ri, pt, Po, st, Sc, ri, pt, sh, el, ll, ll, Ac, ti, on, Sc, ri, pt, Po, we, rS ,he, ll, Ap, pl, eS, cr, ip, Sc, ri, pt, Ne, tw, or, he, ll, o1, PH
/\w*/img
JavaScript, PostScript, shelllll, ActionScript, PoserShell, AppleScript, Script, Network, hello1, PHP
/\w+/img
JavaScript, PostScript, shelllll, ActionScript, PoserShell, AppleScript, Script, Network, hello1, PHP
نماد + هم دقیقا مثل * کار میکنه ، با این تفاوت که دیگه 0 تا n تعداد نیست! و میشه 1 تا n تعداد
البته توی مثال بالا خروجی * و + یکیه (چون به صورت تنها داره استفاده میشه)
حالا که این علامت هارو یاد گرفتیم ، بیاید توی مثالمون کلماتی رو جدا کنیم که آخرشون به Script ختم بشه:
/\w*Script/img
JavaScript, PostScript, ActionScript, AppleScript, Script
ریجکس بالا میاد دنبال عبارت هایی میگرده که اولشون 0 تا n تعداد حروف یا عدد (یا آندلاین) باشه و به اون ها Script چسبیده باشه.
به نظرتون ریجکس بالا مشکلی نداره ؟
در واقع اینجاست که فرق بین * و + فاحش میشه ، اگه جای * بالا از + استفاده کنیم دقیقا عبارت هایی رو برامون پیدا میکنه که اولشون یه حرفی وجود داشته باشه و به اون حرف Script چسبیده باشه ، ولی اگه از * استفاده کنیم Script خالی رو هم مطابقت میده که ما اینو نمیخایم
/\w+Script/img
JavaScript, PostScript, ActionScript, AppleScript
/a\w+c/img
ریجکس بالا دنبال عبارت هایی میگرده که اولشون a ، آخرشون c و بینشون اعداد، حروف و یا آندرلاین به تعداد 1 یا n بار باشه !
آموزش امروزمونم تموم شد ، امیدوارم خوشت اومده باشه
روز خوبی داشته باشید
#regex #regular_expression
#regex_4
Please open Telegram to view this post
VIEW IN TELEGRAM
⚡16❤🔥6🔥3😁1
مخصوص کسایی که عاشق Vue.js هستن! 🌲
📌 اگه میخاین Vue.js رو کامل و جامع از داکیومنت خودش یاد بگیرین ولی خب شاید براتون سخت باشه که انگلیسیشو بخونین اصلا مشکلی نیست، یه داکیومنت عالی و فارسی ازش براتون اوردم
🔗 fa.vuejs.org
#vuejs
☕️ @CodeExplore
#vuejs
Please open Telegram to view this post
VIEW IN TELEGRAM
fa.vuejs.org
Vue.js
Vue.js - The Progressive JavaScript Framework
❤🔥22🔥3⚡2
بزرگترین افتخار ما به این نیست که هرگز زمین نخوریم، بلکه در این است که پس از هر بار زمین خوردن دوباره بلند شویم.
" کنفوسیوس "
#motivational
☕️ @CodeExplore
" کنفوسیوس "
#motivational
Please open Telegram to view this post
VIEW IN TELEGRAM
❤🔥31🔥6⚡4