رامین
رامین
خواندن ۸ دقیقه·۲ ماه پیش

گزارش جلسه پنجم دورهمی برنامه نویسان زاویه - 1403/12/13

پوستر جلسه پنجم
پوستر جلسه پنجم


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

تصویری از Diginext
تصویری از Diginext


نسیم به برخی از جنبه‌های مثبت این دوره اشاره کرد، از جمله بازدید از دیجی‌کالا و برنامه‌هایی برای توسعه مهارت‌های نرم. اما در کنار این موارد، چالش‌هایی نیز وجود داشت که باعث ایجاد نارضایتی در تیم‌ها شد. از جمله:

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

این بحث، مقدمه‌ای برای بررسی اهمیت منتورشیپ، ترکیب تیمی مناسب و دسترسی به داده‌های واقعی در موفقیت یک پروژه شد.


صرافی Bybit
صرافی Bybit

در ادامه جلسه، درباره هک صرافی Bybit صحبت شد و بررسی کردیم که چگونه هکرهای گروه لازاروس کره شمالی موفق شدند 401 هزار اتریوم (معادل 1.5 میلیارد دلار) را از این صرافی سرقت کنند. این حمله با استفاده از ترکیبی از روش‌های مهندسی اجتماعی و حملات فنی انجام شد.

روش نفوذ هکرها

هکرها توانستند به سیستم توسعه‌دهنده نرم‌افزار Safe نفوذ کنند و با ایجاد تغییراتی در نرم‌افزار، مکانیزمی را پیاده‌سازی کنند که هنگام انتقال دارایی از کیف پول سرد به کیف پول گرم، آدرس مقصدی که نمایش داده می‌شد با آدرس واقعی متفاوت باشد. این روش باعث شد که تیم Bybit متوجه تغییر مسیر وجوه نشود و دارایی‌ها مستقیماً به حساب‌های تحت کنترل هکرها منتقل شوند.

مخفی‌سازی و نقد کردن دارایی‌ها

در ادامه، در مورد روش‌های پول‌شویی و پنهان کردن دارایی‌ها توسط هکرها بحث شد. آن‌ها از تکنیک‌های مختلفی برای پخش اتریوم‌های سرقت‌شده استفاده کردند:

  • انتقال دارایی‌ها به کیف پول‌های متعدد برای پیچیده‌تر کردن ردگیری.
  • تبدیل وجوه به DAI و بیت‌کوین از طریق صرافی‌های غیرمتمرکز.
  • نقد کردن بخشی از دارایی‌ها در صرافی‌های بدون KYC (بدون احراز هویت).
    همچنین نقشه توزیع اتریوم‌های سرقتی را نمایش دادیم تا روند جابجایی و نقد شدن این وجوه بهتر مشخص شود.
نقشه پیچیدگی پولشویی و پنهان کاری دارایی ها توسط هکر ها
نقشه پیچیدگی پولشویی و پنهان کاری دارایی ها توسط هکر ها


تأثیرات حمله بر بازار ارزهای دیجیتال

در این بخش، درباره تأثیر این هک بر اعتماد کاربران به صرافی‌های متمرکز و وضعیت کلی امنیت در بازار کریپتو صحبت شد. برخی معتقد بودند که چنین حملاتی باعث افزایش تقاضا برای پلتفرم‌های غیرمتمرکز و پروتکل‌های امنیتی قوی‌تر خواهد شد.

بحث‌های مطرح‌شده در جلسه

  • شیخ به شباهت روش‌های پول‌شویی در این هک با شبکه‌های قمار اشاره کرد و توضیح داد که چگونه مبالغ سرقت‌شده را میان کیف پول‌های متعدد پخش می‌کنند تا شناسایی آن دشوارتر شود.
  • نادر در مورد قابلیت ردگیری تراکنش‌های بلاکچین صحبت کرد و تفاوت آن را با سیستم‌های بانکی سنتی توضیح داد.
  • شیخ به توکن Monero اشاره کرد که به دلیل ساختار امنیتی خود غیرقابل ردگیری است.
  • همچنین، لایه دوم شبکه‌های بلاکچین و مکانیزم‌های ترکیب و درهم‌سازی تراکنش‌ها بررسی شد که باعث می‌شود ردیابی تراکنش‌ها پیچیده‌تر و حتی غیرممکن شود.

امنیت سایبری و هک‌های مشابه

در ادامه، هک شرکت آرامکو از طریق ایمیل نیز مورد بحث قرار گرفت و شباهت‌هایی میان این حمله و روش‌های مورد استفاده در هک Bybit مطرح شد. بحث پیرامون امنیت سایبری بسیار داغ شد و نظرات مختلفی بیان شد:

  • شیخ معتقد بود که برخی سازمان‌های خاص هرگز هک نمی‌شوند، اما سایر اعضای جلسه نظر دیگری داشتند و اعتقاد داشتند که بسیاری از حملات سایبری اعلام عمومی نمی‌شوند.
  • مصطفی درباره تعریف امنیت صحبت کرد و اشاره داشت که برای بررسی امنیت یک سیستم، ابتدا باید آن را به شبکه متصل کرد و سپس مورد آزمایش قرار داد؛ زیرا اگر یک سیستم کاملاً آفلاین باشد، نمی‌توان گفت که امن است یا خیر.

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


بحث درباره قانون "حق تعمیر"

وضعیت اجرای قانون حق تعمیر
وضعیت اجرای قانون حق تعمیر


در بخش دیگری از جلسه، درباره اجرایی شدن قانون "حق تعمیر" صحبت کردیم. این قانون شرکت‌های تولیدکننده را موظف می‌کند که محصولاتشان را به گونه‌ای طراحی کنند که قابل تعمیر باشند و کاربران یا تعمیرکاران مستقل بتوانند بدون محدودیت، قطعات آسیب‌دیده را جایگزین کنند.

روش‌هایی که شرکت‌ها برای جلوگیری از تعمیر انجام می‌دهند

بحث شد که برخی از شرکت‌ها از روش‌های مختلفی برای محدود کردن امکان تعمیر دستگاه‌ها استفاده می‌کنند، از جمله:

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

تأثیر اجرایی شدن قانون حق تعمیر

طبق این قانون، شرکت‌ها دیگر اجازه ندارند تعمیر را محدود کنند و باید قطعات یدکی، ابزارهای لازم و دستورالعمل‌های تعمیر را در اختیار کاربران و تعمیرکاران مستقل قرار دهند. این قانون در حال حاضر در تمام 50 ایالت آمریکا به مرحله اجرا رسیده است و به‌تدریج در سایر نقاط جهان نیز مطرح می‌شود.

دیدگاه‌های مختلف در مورد این قانون

  • امیرمهدی از دیدگاه تولیدکنندگان دفاع کرد و معتقد بود که این قانون ممکن است به ضرر شرکت‌ها و حق کپی‌رایت آن‌ها تمام شود. از نظر او، باز شدن امکان تعمیر توسط کاربران می‌تواند مسائل امنیتی و تقلب در قطعات را افزایش دهد.
  • در مقابل، نمونه‌هایی از گوشی‌هایی که کاملاً قابل تعمیر توسط مشتری هستند مورد بررسی قرار گرفت. این نمونه‌ها نشان دادند که طراحی تعمیرپذیر نه‌تنها ممکن است، بلکه می‌تواند موجب افزایش طول عمر دستگاه‌ها و کاهش زباله‌های الکترونیکی شود.

این بحث نشان داد که اجرای قانون حق تعمیر یک تغییر مهم در صنعت تکنولوژی محسوب می‌شود که مزایا و چالش‌های خاص خود را دارد و می‌تواند بر آینده طراحی و تولید دستگاه‌های دیجیتال تأثیر بگذارد.


بحث درباره SQLite و دلیل محبوبیت آن

در ادامه جلسه، درباره SQLite صحبت کردیم—اینکه چیست، چرا اینقدر پرکاربرد است، توسط کی ساخته شده و چه مزایایی دارد.

لوگو دیتابیس Sqlite
لوگو دیتابیس Sqlite

چرا SQLite محبوب است؟

در واقع SQLite یک پایگاه داده سبک و کارآمد است که بدون نیاز به یک موتور (Engine) جداگانه کار می‌کند. این ویژگی باعث می‌شود:

  • بسیار سبک باشد و در حافظه و منابع سیستمی صرفه‌جویی کند.
  • تمام قابلیت‌های پایه‌ای یک پایگاه داده را ارائه دهد.
  • کاملاً سمت کلاینت (Client-Side) اجرا شود، بنابراین نیازی به سرور ندارد.

کاربردهای SQLite در اپلیکیشن‌های محبوب

همچنین SQLite در بسیاری از اپلیکیشن‌های محبوب استفاده می‌شود. به‌عنوان مثال:

  • واتس‌اپ از SQLite برای مدیریت کش کلاینت استفاده می‌کند.
  • اینستاگرام نیز از آن برای ذخیره‌سازی اطلاعات در سمت کاربر بهره می‌برد.

تاریخچه SQLite

ریچارد هیپ خالق Sqlite
ریچارد هیپ خالق Sqlite


دیتابیس SQLite در سال 2000 توسط ریچارد هیپ (Richard Hipp) در نیروی دریایی ایالات متحده توسعه داده شد. از آنجا که برای یک سیستم نظامی ساخته شده بود، تحت سخت‌گیری‌های شدید امنیتی و بهینه‌سازی‌های خاص طراحی شده است.

سوالات و بحث‌های مطرح‌شده

در این بخش، امیرمهدی درباره نحوه کار SQLite سوال کرد که این موضوع باعث شد بحثی درباره ساختار داخلی و نحوه پردازش داده‌ها در SQLite شکل بگیرد. همچنین درباره محدودیت‌ها و کاربردهای آن در مقایسه با سایر پایگاه داده‌ها گفت‌وگو شد.


به طور کلی، این بخش از جلسه نشان داد که SQLite به دلیل سادگی، کارایی بالا و عدم نیاز به سرور، یک راه‌حل ایده‌آل برای بسیاری از اپلیکیشن‌های موبایل و دسکتاپ است.


ابزار Omniparser V2 و کاربردهای آن

لوگو OmniParser  نسخه 2
لوگو OmniParser نسخه 2

در بخش پایانی جلسه، درباره Omniparser V2 صحبت کردیم. با هم ویدیوی دموی این ابزار را تماشا کردیم و سپس هرکسی نظرات و ایده‌های خودش را درباره کاربردهای احتمالی این ابزار مطرح کرد.

کاربردهای پیشنهادی برای Omniparser V2

  • امیرمهدی پیشنهاد داد که می‌توان از این ابزار برای اتوماسیون فرآیندها برای افراد مسن استفاده کرد تا انجام کارهای دیجیتال برای آن‌ها آسان‌تر شود.
  • مصطفی به کاربرد آن برای اتوماسیون وظایف کارمندان اشاره کرد و حتی ایده‌ای را مطرح کرد که از آن برای بازی کردن خودکار استفاده شود.
  • درباره استفاده از Omniparser V2 برای مشاهده خودکار ویدیوهای یوتیوب نیز بحث شد.
  • همچنین، این موضوع مطرح شد که می‌توان از آن به‌عنوان جایگزینی برای Crawlerهای سنتی استفاده کرد.


نمونه اسکن OmniParser
نمونه اسکن OmniParser


تجربه‌های مرتبط و مثال‌های عملی

  • شیخ از تجربه خود در ساخت یک نمونه Crawler صحبت کرد و توضیح داد که این ابزار چگونه می‌تواند در خزش (Crawling) داده‌ها از سایت‌های مختلف مفید باشد.
  • او همچنین مثالی کاربردی مطرح کرد، مبنی بر اینکه Omniparser می‌تواند آگهی‌های دیوار را بخواند و پردازش کند تا اطلاعات مفید را سریع‌تر استخراج کند.

پایان جلسه

پس از بحث‌های فنی و کاربردی، در پایان جلسه، همگی یک عکس یادگاری گرفتیم تا خاطره این دورهمی را ثبت کنیم. 🎉📸

عکس دسته جمعی پایان دورهمی
عکس دسته جمعی پایان دورهمی


جلسه پنجم یک جلسه پرمحتوا و جذاب بود که طی آن درباره امنیت، برنامه‌نویسی، پایگاه داده، حق تعمیر و ابزارهای جدید بحث شد. منتظر دورهمی‌های بعدی هستیم! 🚀


لینک ها

کانال دورهمی برنامه نویسان در تلگرام: zavieprogrammers@

چون در ویرگول نمیشه لینک گذاشت، لینک ها رو در پست کانال تلگرام میزارم.

دورهمیبرنامه نویسیهک و امنیتدیتابیس
شاید از این پست‌ها خوشتان بیاید