?? ??? ?? ????? ?
We comply with Telegram's guidelines:
- No financial advice or scams
- Ethical and legal content only
- Respectful community
Join us for market updates, airdrops, and crypto education!
Last updated 4 Monate, 2 Wochen her
[ We are not the first, we try to be the best ]
Last updated 7 Monate her
FAST MTPROTO PROXIES FOR TELEGRAM
ads : @IR_proxi_sale
Last updated 3 Monate her
اگر خواستید از llm ای روی code base پروژتون سوال بپرسید، یکی از بهترین گزینه ها Cursor AI هست. طبق گفته خودش میخواد AI Agent برنامه نویسا باشه ولی فعلا خیلی فاصله داره. از مزایاشم میشه به : ۱ - پوشش طیف گسترده ای از LLM ها ( Claude, gemini, chatgpt, deepseek…
اگر خواستید از llm ای روی code base پروژتون سوال بپرسید، یکی از بهترین گزینه ها Cursor AI هست.
طبق گفته خودش میخواد AI Agent برنامه نویسا باشه ولی فعلا خیلی فاصله داره.
از مزایاشم میشه به :
۱ - پوشش طیف گسترده ای از LLM ها ( Claude, gemini, chatgpt, deepseek, cursor و ... )
۲ - ساجست های قوی و خوب بر طبق الگوی کد زدن خودتون.
۳ - پوشش کل code base و ایجاد بخش های مختلف پروژه با یک پرامپت و ...
۴ - سینک بودن اکثر اکستنشن های ویاسکد و شورت کات های IDE مورد نظرتون ( VSC, Jetbrains & ... )
اشاره کرد.
https://www.cursor.com/
آدم تو فشار ها شکوفا میشه، حتی اگر این فشار ها چیزی باشن که در نگاه اول برات غیرممکن باشن اگر خودتو نبازی، از پسش بر میای.
یا میخوای و میشه یا تو خودت نمیبینی که بخوای و اونموقعست که نمیشه.
اگر جونیور/تازهکارید نترسید از تسکای جدید و سخت تر، اون سینیوری که الان میشینه کدتونو ریویو میکنه یا بهتون تسک میده یروزی پله پله تسکای سخت تر از قبلش رو گذرونده و الان سینیوره.
تلاشتونو بکنید، به ددلاین پایبند باشید، اگر در محل کار درک نمیشید منطقی صحبت بکنید، اگر درک میشید ازش سواستفاده نکنید.
مدیر خوب مدیر خوبی که راه افتاده تو کامیونیتی فارسی نیروی خوب هم میخواد.
کاملا دوطرفست و تا وقتی نیروی با دیسیپلین و خوبی نباشی ( حداقل های مهارت های نرم ) لیاقت مدیر خوبی رو هم نداری.
یه جلسه ای داشتیم که یکی از استارتآپ های هوشمصنوعی محصولشو پرزنت کنه.
ادعای اولیه رقابت با ChatGPT بود و در طی جلسه بعد از پرسش سوالات فنی ( حتی سوالات منی که اصلا متخصص نیستم تو این حوزه ) کار به جایی کشید که بجای ارائه محصول رفتن سراغ ارائه H100 هاشون ( کلا ۱۰ تا ) و بحث زیرساختی کردن.
ببینید فساد و بازار بسته چه به روز این کشور آورده که بجای کار فنی و تخصصی و ارتقای کشور، بحث ارائه دهنده، زیر ساخت و ۳۰۰ میلیارد تومن سرورشه.
حتما پیشرفت خواهیم کرد، حتما.
پ.ن: محصول رو هم رد کردیم، از این جهت که حتی اگر یکی از کارآموز ها هم مینشست پای fine tune کردن مدل های مختلف، با همون کیفیت کار رو در میاورد.
امروز یک تجربه با تاوانی نه چندان سنگین ( خوشبختانه ) بدست آوردم.
روی سیستم یکی از کارآموز ها یکسری دیتای کراول شده بود که باید روی سرور تست قرار میگرفت.
به علت محدودیت وقت و سرعت فوق العاده اینترنت در کشور، عجله اجازه نداد که با ftp و mongodump و mongorestore حلش کنیم؛ به همین دلیل پورت مونگو رو از روی سرور ویندوزی تست expose کردم و bindIpAll هم true کردم توی mongod.cfg ( بدون تنظیم password ) و باقیش رو سپردم به کارآموز دقیقا بعد از نهایتا یک ساعت به سرور سر زدم و متوجه شدم کل دیتای موجود حذف شده و یک کالکشن README روی دیتابیس ایجاد شده، محتواشم این بود که دیتای شما بک آپ گرفته شد و اگر میخواینش به فلان ولت انقدر واریز کنید ( کد رهگیری هم داده بودن ? )
دیتایی که اونا بدست آوردن دیتای open source سایت nvd بود ( ماژولی که برای دریافت اطلاعات نوشتم nvd-client ) ولی تجربه ای که من بدست آوردم باعث شد حتی در حساس ترین مواقع هم در موارد امنیتی سهل انگاری نکنم.
بعد از چند تا سرچ و مواجه شدن با تجربه های مشابه متوجه شدم که یکسری اسکنر بطور همیشگی در حال اسکن رنج آیپی های متفاوت و پورت های دیفالت یا مرسوم دیتابیس ها هستن و منتظر موقعیت مناسب...
خلاصه خواستم این سهل انگاری که به علت تعجیل در انجام تسک انجام شد رو به اشتراک بزارم که در مواقع حساس همچین سهل انگاریی انجام نشه.
کامیت اتمی یا اتمیک کامیت ( Atomic Commit ) چیه و چه مزایا و معایبی داره ؟
کامیت اتمی یا اتمیک کامیت (Atomic Commit) در سیستمهای کنترل نسخه مثل گیت (Git) به این معناست که شما یک تغییری روی پروژه انجام دادید و پس از اتمامش فقط همون تغییرات رو با مسیج مشخص کامیت میکنید.
شما نباید تمام تغییرات در تمام فایل هارو یک جا کامیت بزنید ( مثلا استفاده از "git add .")
شما باید پس از پیاده سازی کامل بخش مورد نظر کامیتش کنید، مثلا فرض کنید قراره یک route به پروژه اضافه بشه برای دریافت تمام یوزر ها؛ شما وقتی اون روت رو تکمیل کردید فقط تغییراتی که مربوط به این مورد هست رو کامیت میکنید ( با مسیج مثلا "get all user route added.")
در این حالت شما میتونید مطمئن بشید که هیچ کامیتی روی پروژتون ناقص نیست.
مزایای کامیت اتمی
حفظ سلامت کد: با کامیت اتمی، شما مطمئن میشید که هیچ تغییر نصفه و نیمهای توی کدتون باقی نمیمونه. این به خصوص وقتی که چند نفر روی یک پروژه کار میکنن، خیلی اهمیت داره. چون باعث میشه که کد همیشه در حالت درستش باشه.
ردیابی سادهتر تغییرات: وقتی که هر کامیت یه تغییر خاص رو انجام میده، پیدا کردن تغییرات و بررسی اونا خیلی راحتتر میشه. مثلا اگر یه باگی پیدا شد، راحتتر میتونید کامیتی که باعث اون باگ شده رو پیدا و برطرف کنید.
رفع باگها سریعتر میشه: به دلیل اینکه هر کامیت فقط یه تغییر مشخص رو شامل میشه، شما سریعتر میتونید بفهمید مشکل از کجا بوده و اونو رفع کنید.
مرج (merge) راحتتر: وقتی شما کامیتهای اتمی داشته باشید، مرج برنچهای مختلف پروژه خیلی راحتتر انجام میشه. چون تغییرات به وضوح مشخص هستن و احتمال کانفلیکت کمتر میشه.
معایب کامیت اتمی
افزایش تعداد کامیتها: یکی از مشکلات این روش اینه که ممکنه تعداد کامیتها زیاد بشه. این ممکنه مدیریت ریپو رو یه مقدار پیچیدهتر کنه.
نیاز به برنامهریزی دقیقتر: برای اینکه بتونید کامیتهای اتمی داشته باشید، باید تغییرات رو با دقت بیشتری برنامهریزی کنید. این ممکنه کمی زمانبر باشه و توسعهدهندهها نیاز داشته باشن تا به این روش عادت کنن.
پیچیدگی در مرجهای بزرگ: اگر پروژه خیلی بزرگ باشه و تعداد زیادی کامیت اتمی داشته باشید، ممکنه مرج تغییرات پیچیدهتر بشه. چون باید تعداد زیادی کامیت رو با هم مرج کنید.
محدودیت در برخی تغییرات: بعضی از تغییرات به راحتی قابل تقسیم به کامیتهای اتمی نیستن. در این مواقع، اصرار به استفاده از این روش میتونه باعث بشه که تغییرات به شکلی غیرطبیعی و ناهمگون تقسیم بشن.
نتیجهگیری
کامیت اتمی در گیتهاب میتونه به بهبود کیفیت و سلامت کد شما کمک کنه، اما برای استفاده درست از اون نیاز به دقت و برنامهریزی دارید. این روش مخصوصاً برای تیمهای بزرگ و پروژههای پیچیده خیلی مفیده، ولی باید همیشه به محدودیتها و معایبش هم توجه کنید. استفاده هوشمندانه از کامیتهای اتمی میتونه باعث بشه کدتون همیشه در حالت قابل اعتماد باشه.
@Ahura_Rahmani | #Ahur4 #Atomic_Commit #Version_Control #Develop
یه سر به فیلد های شغلی vulnerability assesment و peneration testing بزنیم.
ببینید به زبان ساده وقتی شما فقط از اسکنر های آماده برای پیدا کردن آسیب پذیری ها ( CSRF, LFI, SSRF یا Sqlinjection و XSS و ... ) استفاده میکنید و تستی روی اون ها انجام نمیدید که ببینید قابل Exploit هست یا نه دارید توی فیلد Vulnerability Assesment فعالیت میکنید.
که خب یسری بدی ها داره، برای مثال بعضی وقتا این ابزار ها ( Nexus, Acunetix و SqlMap و ... ) میان و باگی که وجود نداره رو میگن وجود داره که اصطلاحا بهش میگن False Positive عامیانش یعنی اشتباه خوب، اشتباهی که ضرر خاصی نداره.
و یا میان و یک سری آسیب پذیری هایی که وجود دارن رو نمیشناسن که بهش میگن False Negative که عامیانش میشه اشتباه بد، این خیلی مشکل ساز میشه ( البته در بعضی موارد شاید آسیب پذیری ZeroDay باشه که حق داره شناساییش نکنه. ) در این فیلد شما در نهایت خروجی ابزار های اسکنر رو به عنوان گزارش کارتون به کارفرما ارائه میدید.
در فیلد Peneration Testing شما همون کار های Vulnerability Assesment رو انجام میدید ولی با این تفاوت که هر آسیب پذیری پیدا شد سعی میکنید اون رو Exploit کنید، در این حالت ما دیگه چیزی به اسم False Positive یا False Negative نخواهیم داشت.
بلکه تمام آسیب پذیری های یافت شده راستی آزمایی میشن و گزارش کاملی به کارفرما ارائه خواهد شد.
بجز این موارد یک فیلد شغلی داریم به نام Red Team.
شخصی که در این فیلد کار میکنه وظیفش اینه که سازمان رو تحت یکسری حملات واقعی قرار بده تا سعی کنه واقعا مثل یک هکر با اتکا به دانش خودش به اطلاعات سازمان دسترسی پیدا کنه و در نهایت تمامی ضعف های اون سازمان رو بصورت گزارش دقیق و تخصصی ارائه کنه تا در واقع باعث ارتقای امنیت سازمان بشه.
معنی Exploit : بهره برداری از یک آسیب پذیری.
معنی ZeroDay : آسیب پذیریی که هیچکس بجز متخصصی که اون رو کشف کرده چیزی ازش نمیدونه.
@Ahura_Rahmani | #Ahur4 #Vulnerability_Assesment #Peneration_Testing #Security
توی این پست میخوایم ببینیم سلنیوم ( Selenium ) چیه، chromedriver چیه و چه جایگزینی برای این ترکیب قدیمی وجود داره.
اول ببینیم سلنیوم چیه، سلنیوم یک ابزار اتوماسیون وبه که برای انجام عملیات های خودکار در سطح وب ازش استفاده میشه.
حالا سلنیوم چجوری مرورگر رو کنترل میکنه ؟ با استفاده از chromedriver که یک درایور ارائه شده از سمت تیم گوگله و یک درایور واسط بین کد های شما و مرورگر به حساب میاد که فیچرایی مثل تزریق کد جاوااسکریپت، دریافت و پر کردن ورودی ها، دریافت المان های صفحه و ... رو به ما ارائه میده. ( ما درایور های مختلفی داریم که من فقط به کروم اشاره کردم و این مطلب برای انتقال تجربه خودم از این مبحثه. )
حالا تو همین فرایند دانش آموزی اتفاقی به یک چیزی برخوردم که خیلی به کارم اومد و دلیل نوشتن این پست شد.
ما یک ماژولی داریم تحت عنوان undetected-chromedriver که یه تغییراتی روی سلنیوم انجام دادن و باهاش میشه cloudflare و یسری محدودیت هایی که موقع اتوماسیون پیش میاد رو دور زد.
من نیاز داشتم بصورت مولتی ترد دیتا اسکرپ کنم و خب این ماژول تو مولتی ترد یسری مشکلات داشت ( ناسازگاری با پایتون ۳.۱۲ و ... ) که مجبورم کرد برم دنبال جایگزین.
در حین گشتن به دنبال جایگزین یه سری هم به گیت سازندش زدم و دیدم عه، یه ماژولی توسعه داده به اسم nodriver رفتم و بررسیش کردم و واقعا کیف کردم.
اولین نکته مهمش اینه که شما اصلا نیاز به استفاده از درایور ندارید و مستقیم با executable مرورگر در ارتباطین.
دومین نکتش اینه که ماژولش کاملا اسینکه.
و سومین نکته اینکه همون قابلیت های undetected-chromedriver رو بهتون ارائه میده.
پیرو نکته اول، این ماژول از cdp یا Chrome DevTools Protocol استفاده میکنه که یک ابزار برای مدیریت و دیباگ مرورگر های Blink-Based مثل Chromium یا Chrome هست.
فقط چون تازه ریلیز شده ( چند ماهه ) توی داکیومنتش توضیحات دقیقی ندادن و برخی فیچر هارو نداره ولی با همین شمایل الانش هم بسیار مفید و کار راه اندازه، اگر پروژه اسکرپ داشتید میتونید یه سری به nodriver بزنید.
البته ماژول ها و ابزار های دیگری هم وجود دارن که از cdp استفاده میکنن مثل Pyppeteer که این هم اسینکه و باز امکانات خوبی در اختیارتون میزاره.
داکر یه پلتفرم OpenSource عه که برای ران کردن برنامه هاتون بصورت کاملا ایزوله استفاده میشه و از برنامه شما یک image میسازه و اون رو در قالب یک container ران میکنه. یسری تعاریفی که بدونید خالی از لطف نیست. ۱ - اولین مورد Docker Image عه که میاد کل نیازمندی…
?? ??? ?? ????? ?
We comply with Telegram's guidelines:
- No financial advice or scams
- Ethical and legal content only
- Respectful community
Join us for market updates, airdrops, and crypto education!
Last updated 4 Monate, 2 Wochen her
[ We are not the first, we try to be the best ]
Last updated 7 Monate her
FAST MTPROTO PROXIES FOR TELEGRAM
ads : @IR_proxi_sale
Last updated 3 Monate her