با کدوم زبون برنامه نویسی کار میکنید؟
Anonymous Poll
77%
Python
6%
Js
4%
C#
2%
Go
8%
C / C++
3%
تو کامنتا میگم
❤8
تو سالهای اخیر اغلب شرکتهای نرمافزاری خارجی و داخلی به سنجش قدرت حل مساله افراد از طریق پرسیدن سوالهای الگوریتمی روی آوردند که به نظر من بسیار رویکرد خوبی برای مصاحبه هست. شاید مهمترین دلیلش این باشه که بیشتر از تسلط به ابزارها و تکنولوژیها و حتی زبانهای برنامهنویسی یا چارچوبها، قدرت حل مساله و ارائه راهکار مناسب برای مسائل و چالشهای مختلف عیار یه مهندس نرمافزار خوب رو مشخص میکنه. البته این مدل مصاحبهها بیشتر برای توسعهدهندهها مرسومه. ولی چه کنیم که در این مدل مصاحبهها خروجی بهتری داشته باشیم؟
۱- قبل از مصاحبه حداقل چند روزی رو صرف مطالعه یه کتاب تو این زمینه بکنید و بد هم نیست چند تا مساله توی سایتهایی مثل Codeforces یا LeetCode یا HackerRank بکنید. برای کتاب هم من دو تا پیشنهاد دارم:
- کتاب Cracking the coding interview
https://www.crackingthecodinginterview.com/
- کتاب Algorithms Notes for Professionals
https://lnkd.in/dcC74Uxs
۲- حتما در طول مصاحبه سعی کنید بلند بلند فکر کنید و در مورد ابعاد مختلف مساله از مصاحبهکننده توضیح بخواید. این به شما کمک میکنه که هم فرصت بیشتری برای فکر کردن داشته باشید و هم مسیر رو درست برید. کلاً هر چی بیشتر در طول مصاحبه تعامل بکنید مثبتتره.
۳- به یاد داشته باشید که برای یه مصاحبهکننده حرفهای هدف از پرسیدن سوالهای حل مساله بیشتر بررسی مدل فکر کردن شماست و خیلی مواقع حتی ممکنه رسیدن به جواب بهینه خیلی مهم نباشه. بنابراین حتما از سادهترین راهحل ممکن شروع کنید و سعی کنید به مرور راهحل رو بهبود بدید. در زمان ارائه راهحل سیستماتیک فکر کردن و تعامل با مصاحبهکننده خیلی راهگشاست.
۴- معمولاً برای ارائه راهحل شما باید از یه زبان برنامهنویسی استفاده کنید و برخی مواقع مخصوصاً در مصاحبههای آنلاین ممکنه دسترسی به IDE نداشته باشید. بنابراین آماده این موضوع باشید. در زمان نوشتن سعی کنید کد رو تمیز و خوانا بنویسید چون معمولاً کیفیت کد روی نظر مصاحبهکننده تاثیر میذاره.
پانوشت: پیرو کامنت بعضی از دوستان یه نکته اضافه کنم. ارزیابی توان حل مساله صرفاً بخشی از یه مصاحبه خوبه و نه تمامش و معمولاً سوالات خیلی سختی پرسیده نمیشه. برای یه نمونه سوال خوب، بد نیست ویدیو زیر رو ببینید که یه سوال ساده در مصاحبه شرکت گوگل هست:
https://www.youtube.com/watch?v=XKu_SEDAykw
Saeed Shahrivari Joghan
#note
@Syntax_fa
۱- قبل از مصاحبه حداقل چند روزی رو صرف مطالعه یه کتاب تو این زمینه بکنید و بد هم نیست چند تا مساله توی سایتهایی مثل Codeforces یا LeetCode یا HackerRank بکنید. برای کتاب هم من دو تا پیشنهاد دارم:
- کتاب Cracking the coding interview
https://www.crackingthecodinginterview.com/
- کتاب Algorithms Notes for Professionals
https://lnkd.in/dcC74Uxs
۲- حتما در طول مصاحبه سعی کنید بلند بلند فکر کنید و در مورد ابعاد مختلف مساله از مصاحبهکننده توضیح بخواید. این به شما کمک میکنه که هم فرصت بیشتری برای فکر کردن داشته باشید و هم مسیر رو درست برید. کلاً هر چی بیشتر در طول مصاحبه تعامل بکنید مثبتتره.
۳- به یاد داشته باشید که برای یه مصاحبهکننده حرفهای هدف از پرسیدن سوالهای حل مساله بیشتر بررسی مدل فکر کردن شماست و خیلی مواقع حتی ممکنه رسیدن به جواب بهینه خیلی مهم نباشه. بنابراین حتما از سادهترین راهحل ممکن شروع کنید و سعی کنید به مرور راهحل رو بهبود بدید. در زمان ارائه راهحل سیستماتیک فکر کردن و تعامل با مصاحبهکننده خیلی راهگشاست.
۴- معمولاً برای ارائه راهحل شما باید از یه زبان برنامهنویسی استفاده کنید و برخی مواقع مخصوصاً در مصاحبههای آنلاین ممکنه دسترسی به IDE نداشته باشید. بنابراین آماده این موضوع باشید. در زمان نوشتن سعی کنید کد رو تمیز و خوانا بنویسید چون معمولاً کیفیت کد روی نظر مصاحبهکننده تاثیر میذاره.
پانوشت: پیرو کامنت بعضی از دوستان یه نکته اضافه کنم. ارزیابی توان حل مساله صرفاً بخشی از یه مصاحبه خوبه و نه تمامش و معمولاً سوالات خیلی سختی پرسیده نمیشه. برای یه نمونه سوال خوب، بد نیست ویدیو زیر رو ببینید که یه سوال ساده در مصاحبه شرکت گوگل هست:
https://www.youtube.com/watch?v=XKu_SEDAykw
Saeed Shahrivari Joghan
#note
@Syntax_fa
👍13❤1
🔥4👍1
معرفی FastUI
یه کتابخونه پایتونی برای ساخت فرانته که با FastAPI کاملا سازگاره.
این پروژه توسط ساموئل کولوین (خالق پایدانتیک) ساخته شده.
لینک دمو آنلاین:
https://fastui-demo.onrender.com/
لینک گیت هاب پروژه:
https://github.com/samuelcolvin/FastUI
@Syntax_fa
یه کتابخونه پایتونی برای ساخت فرانته که با FastAPI کاملا سازگاره.
این پروژه توسط ساموئل کولوین (خالق پایدانتیک) ساخته شده.
لینک دمو آنلاین:
https://fastui-demo.onrender.com/
لینک گیت هاب پروژه:
https://github.com/samuelcolvin/FastUI
@Syntax_fa
🔥7
Media is too big
VIEW IN TELEGRAM
آموزش 🥇جنگو
#قسمت_سوم
کار های انجام شده در این قسمت
1️⃣مروری بر جلسات گذشته
2️⃣آشنایی بیشتر با ویو ها و URL
3️⃣آموزش ارسال اطلاعات به سمت تمپلیت
یوتیوب:
https://youtu.be/fH2zlTIWQM4?si=ef1a0mhW94Wu4qlt
#django
@Syntax_fa
#قسمت_سوم
کار های انجام شده در این قسمت
1️⃣مروری بر جلسات گذشته
2️⃣آشنایی بیشتر با ویو ها و URL
3️⃣آموزش ارسال اطلاعات به سمت تمپلیت
یوتیوب:
https://youtu.be/fH2zlTIWQM4?si=ef1a0mhW94Wu4qlt
#django
@Syntax_fa
🔥5👍1
Developersho.com - Approaching Dusk
Eagle Lake
گوش دادن به موسیقی بیکلام موقع کدنویسی انگیزه رو بالا میبره، استرس و کاهش میده، باعث رفع خستگی میشه ، و صداهای مزاحم اطراف رو حذف میکنه🎼🌻
‼️زمان انجام Task و debug بهتره به موزیک گوش ندید.
@Syntax_fa
‼️زمان انجام Task و debug بهتره به موزیک گوش ندید.
@Syntax_fa
🔥7👎4❤2👍1
📝 جمعبندی متدهای List در پایتون
📍متد ()append: یک عنصر جدید به انتهای لیست اضافه میکنه.
📍متد ()clear: تمام عناصر موجود در لیست رو پاک میکنه.
📍متد ()copy: یک کپی سطحی از لیست برمیگردونه یعنی تغییرات در کپی تاثیری بر لیست اصلی نداره.
📍متد ()count: تعداد دفعاتی که یک عنصر مشخص در لیست تکرار شده رو برمیگردونه.
📍متد ()extend: عناصر یک لیست رو به انتهای لیست جاری اضافه میکنه. این روش برای ادغام دو لیست باهم کاربرد داره.
📍متد ()index: اولین عنصر با مقدار مشخص رو برمیگردونه. اگر عنصر موجود نباشه، خطای ValueError رخ میده.
📍متد ()insert: یک عنصر رو در موقعیت مشخصی از لیست قرار میده.
📍متد ()pop: عنصر موجود در موقعیت مشخصی رو حذف میکنه و برمیگردونه. اگر index داده نشه، آخرین عنصر حذف میشه.
📍متد ()remove: اولین نمونه از عنصر با مقدار مشخص رو حذف میکنه. اگر عنصر موجود نباشه، خطای ValueError رخ میده.
📍متد ()reverse: ترتیب عناصر موجود در لیست رو معکوس میکنه.
📍متد ()sort: عناصر لیست را به صورت صعودی (پیشفرض) یا نزولی مرتب میکنه.
#python
#methods
@Syntax_fa
📍متد ()append: یک عنصر جدید به انتهای لیست اضافه میکنه.
📍متد ()clear: تمام عناصر موجود در لیست رو پاک میکنه.
📍متد ()copy: یک کپی سطحی از لیست برمیگردونه یعنی تغییرات در کپی تاثیری بر لیست اصلی نداره.
📍متد ()count: تعداد دفعاتی که یک عنصر مشخص در لیست تکرار شده رو برمیگردونه.
📍متد ()extend: عناصر یک لیست رو به انتهای لیست جاری اضافه میکنه. این روش برای ادغام دو لیست باهم کاربرد داره.
📍متد ()index: اولین عنصر با مقدار مشخص رو برمیگردونه. اگر عنصر موجود نباشه، خطای ValueError رخ میده.
📍متد ()insert: یک عنصر رو در موقعیت مشخصی از لیست قرار میده.
📍متد ()pop: عنصر موجود در موقعیت مشخصی رو حذف میکنه و برمیگردونه. اگر index داده نشه، آخرین عنصر حذف میشه.
📍متد ()remove: اولین نمونه از عنصر با مقدار مشخص رو حذف میکنه. اگر عنصر موجود نباشه، خطای ValueError رخ میده.
📍متد ()reverse: ترتیب عناصر موجود در لیست رو معکوس میکنه.
📍متد ()sort: عناصر لیست را به صورت صعودی (پیشفرض) یا نزولی مرتب میکنه.
#python
#methods
@Syntax_fa
👍11👎2
معرفی ۵ سایت جالب و کاربردی:
💢 سایت downsub.com: دانلود زیرنویس ویدیوهای یوتیوب به زبانهای مختلف.
💢 سایت Remove.bg: حذف دقیق پسزمینه عکس به کمک هوشمصنوعی و قابلیت تنظیم ناحیه جهت حذف، به همراه کیفیت خروجی بالا.
💢 سایت cloudconvert.com: تبدیل انواع فرمتها به یکدیگر.
💢 سایت temp-mail.org: ایجاد ایمیل موقت برای ارسال و ورود به سایتهای مختلف که نیازمند ایمیل میباشند.
💢 سایت www.factslides.com: انواع دانستنیها و فکتهای جالب و عجیب.
#five_things
@Syntax_fa
💢 سایت downsub.com: دانلود زیرنویس ویدیوهای یوتیوب به زبانهای مختلف.
💢 سایت Remove.bg: حذف دقیق پسزمینه عکس به کمک هوشمصنوعی و قابلیت تنظیم ناحیه جهت حذف، به همراه کیفیت خروجی بالا.
💢 سایت cloudconvert.com: تبدیل انواع فرمتها به یکدیگر.
💢 سایت temp-mail.org: ایجاد ایمیل موقت برای ارسال و ورود به سایتهای مختلف که نیازمند ایمیل میباشند.
💢 سایت www.factslides.com: انواع دانستنیها و فکتهای جالب و عجیب.
#five_things
@Syntax_fa
👍13
درک traceback پایتون
مطالعه
توضیح:
در برنامه نویسی مفهومی به اسم stack trace و یا stack backtrace مطرح است.
بصورت خیلی مختصر کاری که انجام می دهد این است مسیر اجرای کد شمارا از نقطه شروع اجرای کد تا زمانی که به اتمام برسد را در استک ذخیره میکند. برای مثال زمانی که با یک exception مواجه میشوید شما می توانید مسیری که برنامه از آن عبور کرده تا به exception خورده را مشاهده کنید که این کار با کمک stack trace انجام میشود.
در پایتون شما زمانی که با یک exception مواجه میشوید پیغامی به اسم traceback و متنی طولانی نمایش داده میشود.
در این مقاله به خوبی توضیح داده شده که چگونه در این شرایط عمل کنید.
#note
@Syntax_fa
مطالعه
توضیح:
در برنامه نویسی مفهومی به اسم stack trace و یا stack backtrace مطرح است.
بصورت خیلی مختصر کاری که انجام می دهد این است مسیر اجرای کد شمارا از نقطه شروع اجرای کد تا زمانی که به اتمام برسد را در استک ذخیره میکند. برای مثال زمانی که با یک exception مواجه میشوید شما می توانید مسیری که برنامه از آن عبور کرده تا به exception خورده را مشاهده کنید که این کار با کمک stack trace انجام میشود.
در پایتون شما زمانی که با یک exception مواجه میشوید پیغامی به اسم traceback و متنی طولانی نمایش داده میشود.
در این مقاله به خوبی توضیح داده شده که چگونه در این شرایط عمل کنید.
#note
@Syntax_fa
🔥10👏1
📌معرفی کتابخانه pytorchدر پایتون
⭕️کتابخانه Pytorch یک کتابخانه متن باز زبان برنامه نویسی پایتون جهت یادگیری ماشین براساس تورچ است که میتواند بجای Numpy استفاده شود و برای پردازش زبان طبیعی از آن استفاده می شود.
⭕️ همچنین این کتابخانه کارایی بالایی برای ساخت شبکه های عصبی عمیق را ارائه می دهد. هم زمان با این کتابخانه می توانید برای توسعه کارایی از scipy, Cypthon و numpy نیز استفاده کنید.
⭕️کتابخانه PyTorch یک کتابخانه ی اوپن سورس می باشد که به زبان برنامه نویسی lua توسعه یافته است. بسیاری از شرکت های بزرگ و نامدار مانند فیسبوک، توییتر، انویدیا و اوبر از کتابخانه Pytorch برای توسعه فرایند نمونه سازی در تحقیق و ایجاد یادگیری عمیق استفاده میکنند. لازم به ذکر است که گروه پژوهش هوش مصنوعی فیسبوک یکی از توسعه دهنده های اصلی Pytorch است
⚪️کاربردکتابخانه PyTorch
🔹پردازش تصویر
🔹دسته بندی تصاویر
🔹تشخیص دست خط
🔹یادگیری زبان طبیعی (NLP)
🔹تشخیص اشیاء در تصویر و ویدیو
🔹آنالیز شبکه های اجتماعی
#معرفی_کتابخانه
#python
@Syntax_fa
⭕️کتابخانه Pytorch یک کتابخانه متن باز زبان برنامه نویسی پایتون جهت یادگیری ماشین براساس تورچ است که میتواند بجای Numpy استفاده شود و برای پردازش زبان طبیعی از آن استفاده می شود.
⭕️ همچنین این کتابخانه کارایی بالایی برای ساخت شبکه های عصبی عمیق را ارائه می دهد. هم زمان با این کتابخانه می توانید برای توسعه کارایی از scipy, Cypthon و numpy نیز استفاده کنید.
⭕️کتابخانه PyTorch یک کتابخانه ی اوپن سورس می باشد که به زبان برنامه نویسی lua توسعه یافته است. بسیاری از شرکت های بزرگ و نامدار مانند فیسبوک، توییتر، انویدیا و اوبر از کتابخانه Pytorch برای توسعه فرایند نمونه سازی در تحقیق و ایجاد یادگیری عمیق استفاده میکنند. لازم به ذکر است که گروه پژوهش هوش مصنوعی فیسبوک یکی از توسعه دهنده های اصلی Pytorch است
⚪️کاربردکتابخانه PyTorch
🔹پردازش تصویر
🔹دسته بندی تصاویر
🔹تشخیص دست خط
🔹یادگیری زبان طبیعی (NLP)
🔹تشخیص اشیاء در تصویر و ویدیو
🔹آنالیز شبکه های اجتماعی
#معرفی_کتابخانه
#python
@Syntax_fa
👍8
Exit Code
وقتی شما یک دستوری رو اجرا می کنید، پس از اتمام در خروجی یک exit code هم دریافت می کنید. exit code یک پاسخ از سیستم شما است که نشان دهنده این است اجرای این برنامه موفقیت آمیز بوده، با ارور مواجه شده یا شرایط دیگری رخ داده.
اگه هنوز نمیدونی exit code چیه باید بگم موقع دیباگ کردن کدت میتونی ازش استفاده کنی. exit code عددی بین 0 تا 255 هستش، بیشترین exit code ها صفر، یک و دو هستن برای مثال:
کد صفر:
آخرین دستور و یا اسکریپت با موفقیت اجرا شد
کد یک:
کد یک را میتوان گفت نشان دهنده این است که شما یک عملیات غیر ممکن را میخواید انجام بدید. مثلا تقسیم کردن یک عدد به صفر.
کد دو:
کد دو برای زمانی استفاده میشه که دستور یا اسکریپت شما با permission denied یا نداشتن دسترسی مواجه میشه.
برای مطالعه بیشتر:
https://www.redhat.com/sysadmin/exit-codes-demystified#:~:text=An%20exit%20code%20is%20a,asks%20it%20to%20do%20so.
#note
@Syntax_fa
وقتی شما یک دستوری رو اجرا می کنید، پس از اتمام در خروجی یک exit code هم دریافت می کنید. exit code یک پاسخ از سیستم شما است که نشان دهنده این است اجرای این برنامه موفقیت آمیز بوده، با ارور مواجه شده یا شرایط دیگری رخ داده.
اگه هنوز نمیدونی exit code چیه باید بگم موقع دیباگ کردن کدت میتونی ازش استفاده کنی. exit code عددی بین 0 تا 255 هستش، بیشترین exit code ها صفر، یک و دو هستن برای مثال:
کد صفر:
آخرین دستور و یا اسکریپت با موفقیت اجرا شد
کد یک:
کد یک را میتوان گفت نشان دهنده این است که شما یک عملیات غیر ممکن را میخواید انجام بدید. مثلا تقسیم کردن یک عدد به صفر.
کد دو:
کد دو برای زمانی استفاده میشه که دستور یا اسکریپت شما با permission denied یا نداشتن دسترسی مواجه میشه.
برای مطالعه بیشتر:
https://www.redhat.com/sysadmin/exit-codes-demystified#:~:text=An%20exit%20code%20is%20a,asks%20it%20to%20do%20so.
#note
@Syntax_fa
👍13🔥3🥰1
معرفی ۵ سایت کاربردی در حوزه برنامهنویسی:
💢 سایت www.w3schools.com: آموزش قدمبهقدم انواع زبانهای برنامهنویسی با مثالهای جالب و کاربری به همراه ویژگی تست و مشاهده خروجی در لحظه.
💢 سایت stackoverflow.com: دارای بینهایت ترفند و راهنما جهت پیشرفت و برطرفسازی مشکلات در زمینه IT، فضایی پیشرفته و تعاملی بین کاربران مختلف.
💢 سایت 10015.io: تمامی ابزارهای کاربردی برای برنامهنویسی، گرافیک، طراحی و ... در یکجا.
💢 سایت typeo.top: اموزش استاندارد و قدمبهقدم تایپ دهانگشتی.
💢 سایت smalldev.tools: ابزارهای کاربردی برای برنامهنویسان حوزه وب.
#five_things
@Syntax_fa
💢 سایت www.w3schools.com: آموزش قدمبهقدم انواع زبانهای برنامهنویسی با مثالهای جالب و کاربری به همراه ویژگی تست و مشاهده خروجی در لحظه.
💢 سایت stackoverflow.com: دارای بینهایت ترفند و راهنما جهت پیشرفت و برطرفسازی مشکلات در زمینه IT، فضایی پیشرفته و تعاملی بین کاربران مختلف.
💢 سایت 10015.io: تمامی ابزارهای کاربردی برای برنامهنویسی، گرافیک، طراحی و ... در یکجا.
💢 سایت typeo.top: اموزش استاندارد و قدمبهقدم تایپ دهانگشتی.
💢 سایت smalldev.tools: ابزارهای کاربردی برای برنامهنویسان حوزه وب.
#five_things
@Syntax_fa
👍6👎2🔥2
فکر میکنید برنامه نویسی روی سلامت روانتون تاثیر منفی گذاشته؟
Anonymous Poll
15%
احساس افسردگی میکنم
46%
برعکس، حالمو بهتر کرده
4%
انگار وسواسی شدم
14%
دائم انگیزهمو از دست میدم
21%
روی روانم نه، روی جسمم تاثیر گذاشته
👍4❤1
معرفی ۵ کلیدواژه بینهایت به دردبخور:
🔥 کلیدواژه How to: برای دریافت خلاصهای از نحوه استفاده و بهکارگیری چیزی.
مثال How to install python
🔥 کلیدواژه Use of: دریافت خلاصهای از نحوه کارکرد و کاربرد چیزی.
مثال: Use of python def
🔥 کلیدواژه Define: اطلاعات و تعریفات دقیق چیزی ( از جمله لغات انگلیسی و نمایش نحوه تلفظ آن به لهجههای مختلف ).
مثال: Define event
🔥 کلیدواژه Stands for: دریافت مخفف و تعریف آن واژه.
مثال: Stands for PNG
🔥 کلیدواژه System information: نمایش مشخصات سیستم مورد نظر.
مثال: System information MacBook pro m1
👇 کلیدواژههای ارسالی توسط اعضا:
translate <keyword> to <language>
#برای_ترجمه_متن
#five_things
!#important
⭐️ ( تصاویر داخل کامنتها )
@Syntax_fa
🔥 کلیدواژه How to: برای دریافت خلاصهای از نحوه استفاده و بهکارگیری چیزی.
مثال How to install python
🔥 کلیدواژه Use of: دریافت خلاصهای از نحوه کارکرد و کاربرد چیزی.
مثال: Use of python def
🔥 کلیدواژه Define: اطلاعات و تعریفات دقیق چیزی ( از جمله لغات انگلیسی و نمایش نحوه تلفظ آن به لهجههای مختلف ).
مثال: Define event
🔥 کلیدواژه Stands for: دریافت مخفف و تعریف آن واژه.
مثال: Stands for PNG
🔥 کلیدواژه System information: نمایش مشخصات سیستم مورد نظر.
مثال: System information MacBook pro m1
👇 کلیدواژههای ارسالی توسط اعضا:
translate <keyword> to <language>
#برای_ترجمه_متن
#five_things
!#important
⭐️ ( تصاویر داخل کامنتها )
@Syntax_fa
👍10
L25-Atomic-Operations.pdf
817.1 KB
عملیات اتومیک در سخت افزار
تو این مقاله یه سری توضحات خوبی در خصوص اتومیک اپریشن داده
توضیح کوتاه:
اگه شما یک متغیری داشته باشید و قراره چندین پراسس همزمان روی این متغیر تغییری بوجود بیارن
برای مثال متغیر ما counter هستش و تمامی ترد ها میخوان counter++ کنند.
در این صورت ما میتونیم از mutex استفاده کنیم. اما بهتر از mutex استفاده از atomic operation هستش که performance بهتری داره زیرا از یک ویژگی در سی پی یو ما استفاده میکنه و میاد یک متغیر اتومیک درست میکنه که در لحظه فقط یک ترد میتونه بهش دسترسی داشته باشه و تغییراتی رو بده.
#note #atomic_operation
@Syntax_fa
تو این مقاله یه سری توضحات خوبی در خصوص اتومیک اپریشن داده
توضیح کوتاه:
اگه شما یک متغیری داشته باشید و قراره چندین پراسس همزمان روی این متغیر تغییری بوجود بیارن
برای مثال متغیر ما counter هستش و تمامی ترد ها میخوان counter++ کنند.
در این صورت ما میتونیم از mutex استفاده کنیم. اما بهتر از mutex استفاده از atomic operation هستش که performance بهتری داره زیرا از یک ویژگی در سی پی یو ما استفاده میکنه و میاد یک متغیر اتومیک درست میکنه که در لحظه فقط یک ترد میتونه بهش دسترسی داشته باشه و تغییراتی رو بده.
#note #atomic_operation
@Syntax_fa
👍5
📶 Get Saved Wi-Fi Passwords
⭕️این کد یک اسکریپت پایتون است که با استفاده از دستورات سیستم عامل ویندوز (netsh)، اطلاعات مربوط به شبکههای Wi-Fi موجود در رایانه را جمعآوری میکند و نامها و رمزهای عبور آنها را در یک فایل متنی ذخیره میکند.
#code
#python
@Syntax_fa
⭕️این کد یک اسکریپت پایتون است که با استفاده از دستورات سیستم عامل ویندوز (netsh)، اطلاعات مربوط به شبکههای Wi-Fi موجود در رایانه را جمعآوری میکند و نامها و رمزهای عبور آنها را در یک فایل متنی ذخیره میکند.
#code
#python
@Syntax_fa
👍5
Syntax | سینتکس
📶 Get Saved Wi-Fi Passwords ⭕️این کد یک اسکریپت پایتون است که با استفاده از دستورات سیستم عامل ویندوز (netsh)، اطلاعات مربوط به شبکههای Wi-Fi موجود در رایانه را جمعآوری میکند و نامها و رمزهای عبور آنها را در یک فایل متنی ذخیره میکند. #code #python…
import subprocess
import re
# Get all the Wi-Fi profiles (ssid)
out = subprocess.check_output("netsh wlan show profiles").decode()
# Filter out only profile names from the output
matches = re.findall(r"(All User Profile)(.*)", out)
# List comprehension to remove any \n \r \t and spaces
profiles = [str(match[1]).split(":")[1].strip() for match in matches]
# File object to store passwords with ssid
with open("passwords.txt", "w+") as f:
# Traversing each profile
for profile in profiles:
# try/except block to keep the noscript from crashing if there was an error while execution
try:
# Get password using key=clear flag
get_pass = subprocess.check_output(
f'netsh wlan show profile "{profile}" key=clear'
).decode()
# Filter out the Password line from the output
pass_by_profile = re.search(r"(Key Content)(.*)", get_pass)
# Check if the password is present or wi-fi was open
if pass_by_profile:
password = pass_by_profile.group().split(":")[1].strip()
else:
password = "THE WIFI IS OPEN"
# Write the profile name and password to the text file
f.write(f"{profile} : {password}\n")
except Exception:
continue
👍8❤1
bytes buffer and string builder
یکی از انواع داده ای که در اکثر زبانهای برنامه نویسی وجود دارد و در استفاده از آن باید دقت داشته باشیم نوع string است.
قطعه کد زیر را در نظر بگیرید:
زمانی که نیاز داریم تا مقدار یک رشته را تغییر دهیم نوشتن به این روش اشتباه میباشد. دلیل آن در این نهفته است که هر دفعه که شما این رشته را تغییر میدهید فارغ از متغیر پیشین یک فضای جدید در حافظه برای آن رزرو میشود. بنابراین این قطعه کد memory efficient نیست.
در بسیاری از زبانها برای چنین مسایلی از string builder استفاده میشود. در گو هم string builder را داریم و هم bytes.Buffer.
این ساختارها از byte slice در پشت صحنه استفاده میکنند و تغییرات را روی آرایه داخلی اعمال میکنند. در نتیجه نیاز به رزرو فضاهای زیاد ندارند و memory efficientتر خواهند بود.
strings.Builder :
bytes.Buffer :
حالا تابع indent را در نظر بگیرید این تابع قرار است تغییرات زیادی را در خطوط مختلف یک رشته (byte array json) اعمال نماید. پس مناسب است از بافر استفاده شود و به همین خاطر تابع مورد نظر یک bytes.Buffer دریافت میکند و خروجی را در آن قرار میدهد.
تفاوت bytes.Buffer و strings.Builder در این است که bytes.Buffer عمومیتر میباشد ولی strings.Builder برای رشته استفاده میشود.
برای تمرین هر کدوم از بچهها که میتونه یک بنچمارک بنویسه و در یک حلقه بزرگ مقدار موجود در یک رشته رو تغییر بده و همین کار رو یکبار با استفاده از bytes Buffer و strings Builder هم انجام بده و نتیجه مصرف memory رو با ما به اشتراک بذاره
#string
@Syntax_fa
یکی از انواع داده ای که در اکثر زبانهای برنامه نویسی وجود دارد و در استفاده از آن باید دقت داشته باشیم نوع string است.
قطعه کد زیر را در نظر بگیرید:
var query string = "select "
query += "name, family "
query += "from "
query += "users "
query += "where 1 = 1 "
query += "and name = `ali` "
db.Execute(query)
زمانی که نیاز داریم تا مقدار یک رشته را تغییر دهیم نوشتن به این روش اشتباه میباشد. دلیل آن در این نهفته است که هر دفعه که شما این رشته را تغییر میدهید فارغ از متغیر پیشین یک فضای جدید در حافظه برای آن رزرو میشود. بنابراین این قطعه کد memory efficient نیست.
در بسیاری از زبانها برای چنین مسایلی از string builder استفاده میشود. در گو هم string builder را داریم و هم bytes.Buffer.
این ساختارها از byte slice در پشت صحنه استفاده میکنند و تغییرات را روی آرایه داخلی اعمال میکنند. در نتیجه نیاز به رزرو فضاهای زیاد ندارند و memory efficientتر خواهند بود.
strings.Builder :
var sbQuery strings.Builder
sbQuery.WriteString("select ")
sbQuery.WriteString("name, family ")
sbQuery.WriteString("from ")
sbQuery.WriteString("users ")
sbQuery.WriteString("where 1 = 1 ")
sbQuery.WriteString("and name = `ali` ")
db.Execute(query)
bytes.Buffer :
var btQuery bytes.Buffer = bytes.Buffer{}
btQuery.WriteString("select ")
btQuery.WriteString("name, family ")
btQuery.WriteString("from ")
btQuery.WriteString("users ")
btQuery.WriteString("where 1 = 1 ")
btQuery.WriteString("and name = `ali` ")
db.Execute(query)حالا تابع indent را در نظر بگیرید این تابع قرار است تغییرات زیادی را در خطوط مختلف یک رشته (byte array json) اعمال نماید. پس مناسب است از بافر استفاده شود و به همین خاطر تابع مورد نظر یک bytes.Buffer دریافت میکند و خروجی را در آن قرار میدهد.
تفاوت bytes.Buffer و strings.Builder در این است که bytes.Buffer عمومیتر میباشد ولی strings.Builder برای رشته استفاده میشود.
برای تمرین هر کدوم از بچهها که میتونه یک بنچمارک بنویسه و در یک حلقه بزرگ مقدار موجود در یک رشته رو تغییر بده و همین کار رو یکبار با استفاده از bytes Buffer و strings Builder هم انجام بده و نتیجه مصرف memory رو با ما به اشتراک بذاره
#string
@Syntax_fa
👍6🔥5
مرورگر تحت ترمینال
با استفاده از دستور links میتونید ادرس های خودتونو توی ترمینال ببینید و توی بخش های مختلف بچرخید و کلیک کنید مث یه وب براوزر (به صورت مینیمال البته).
مثلا توی عکس خروجی links h4mid-hosseini.ir رو میبینید.
@syntax_fa
با استفاده از دستور links میتونید ادرس های خودتونو توی ترمینال ببینید و توی بخش های مختلف بچرخید و کلیک کنید مث یه وب براوزر (به صورت مینیمال البته).
مثلا توی عکس خروجی links h4mid-hosseini.ir رو میبینید.
@syntax_fa
👍2🔥2👌2