برنامه ای برای فلش کردن تبلت با فریمور پسوند img. ویرایش سیستم عامل img. جداسازی تصویر سیستم ext4

MTwinTools ابزاری است که به شما امکان می دهد با فایل ها و تصاویر سیستم عامل boot.img، recovery.img و system.img کار کنید. نویسنده ابزار vin2809 از انجمن 4pda است. MTwinTool برای صاحبان مفید خواهد بود گوشی های هوشمند هواویبر اساس پردازنده های MTK

راهنمای کاربر برای کار با MTwinTools

1. معرفی.

1.1. هدف.

ابزار MTwinTools برای جداسازی / مونتاژ تصاویر دستگاه های مبتنی بر تراشه های MT در نظر گرفته شده است.

برای استفاده در ساخته شده است خط فرمانبر اساس ابزار RKwinTools، طراحی شده برای کار با دستگاه های روی تراشه های RK29xx-RK31xx، و برخی از برنامه های آزادانه توزیع شده است.

فقط تحت ویندوز 7 و بالاتر بدون نصب CYGWIN کار می کند و همچنین نیازی به ثبت نام اضافی از مسیرها در متغیرهای محیطیسیستم عامل

این ابزار به شما امکان می دهد:

  • بسته بندی و بسته بندی تصویر Boot.img.
  • تصویر Recovery.img را باز کرده و بسته بندی کنید.
  • تصویر Kernel.img را باز و بسته بندی کنید.
  • باز کردن و بسته بندی تصویر System.img، هر دو نوع yaffs و ext2-ext4.
  • تبدیل یک فایل پراکنده از نوع sparse به تصویری از نوع ext4.
  • محاسبه چک مجموع یک فایل با فرمت md5.
  • SuperUser را راه اندازی کنید.

1.2. نصب MTwinTools
نصب ابزار با باز کردن آرشیو در هر مکان مناسب برای شما انجام می شود. این یک پوشه MTwinTools ایجاد می کند که حاوی:

  • پوشه های _In/، App/ و Cygwin/;
  • و همچنین فایل های Readme.txt و menu.bat.

پوشه _In خالی است و حاوی تصاویر منبع برای پردازش است. پوشه App/ حاوی مجموعه ای از فایل های دستوری است که تصاویر را پردازش می کند. پوشه Cygwin/ حاوی کتابخانه‌ها و فایل‌های ابزار با قابلیت بازتوزیع آزاد است. فایل Readme.txt حاوی دستورالعمل های کاربر است، یعنی. متنی که در حال خواندن آن هستید فایل menu.bat برای ایجاد منوی ابزار MTwinTools استفاده می شود.

توجه. هیچ موردی برای تعیین مسیرهای دسترسی به فایل های سرویس در متغیرهای محیطی سیستم عامل ویندوز وجود ندارد.

در حین کار، پوشه های ضروری دیگری ظاهر می شوند:

  • بسته، که حاوی فایل های Boot، Recovery و System بعد از آن خواهد بود
    بسته‌ها، یک پوشه md5 حاوی فایل‌هایی با چک‌سوم و همچنین یک پوشه
    سفت‌افزار، در زیرپوشه Image که فایل‌های بوت مونتاژ شده در آن قرار خواهند گرفت،
    بازیابی و سیستم؛
  • بسته بندی را باز کنید که در آن فایل های بوت، بازیابی و سیستم به طور کامل باز می شوند
    در پوشه Firmware، در زیر پوشه Image قرار خواهد گرفت.

1.3. حذف نصب MTwinTools

ابزار با حذف پوشه ریشه ابزار حذف نصب می شود. پوشه های MTwinTools

2. قوانین اساسی کار.

2.1. برای شروع، باید فایل menu.bat را اجرا کنید، که منوی ابزار را راه اندازی می کند.

2.2.تصاویر در نظر گرفته شده برای باز کردن بسته بندی باید در پوشه _In ابزار قرار گیرد. نام فایل های ورودی باید حاوی کلمات کلیدی باشد و می تواند نام هایی مانند زیر داشته باشد:

  • *بوت*.img;
  • *بازیابی*.img;
  • *kernel*.img;
  • *سیستم*.img.

2.3. هنگام شروع برای اولین بار، ابزار را مقداردهی اولیه کنید. هنگامی که ابزار مقدار دهی اولیه می شود، همه فایل های موجود در پوشه _In در پوشه ورودی کاری Unpack/Firmware/Image کپی می شوند. این کار به منظور حفظ فایل های اصلی انجام می شود.

2.4. پس از جداسازی تصویر، محتویات آن در پوشه Unpack قرار می گیرد که ساختار پوشه زیر در آن ایجاد می شود:

بوت (بازیابی)/cfg/
هسته/
ramdisk/

پوشه cfg/ حاوی تنظیمات تصویر است، در پوشه کرنل، هسته را پیدا خواهید کرد، یعنی. فایل باینری zImage و پوشه ramdisk شامل هر چیز دیگری خواهد بود. برای مونتاژ تصویر، اجزای سازنده آن، یعنی. ramdisk، kernel و احتمالا تنظیمات را در پوشه های مناسب در Unpack قرار دهید. تصویر ایجاد شده در پوشه خروجی Pack قرار خواهد گرفت.

3. توضیحات محصول.

3.1. منوی اصلی دستورات

منوی اصلی دستورات ابزار به شکل زیر است:

**************************
* MTwinTools_V_0.6 *
**************************
*دستورات تصویر:*
* ————— *
*1-بوت*
*2-بازیابی*
*3-هسته*
*4-سیستم*
*5-دستورات دیگر*
* *
**************************
* دستورات ابزار: *
* ————— *
*6-ابزار Init*
*7-تمیز*
* *
**************************
*8-خروج*
**************************
لطفا دستور را انتخاب کنید:

یک فرمان با وارد کردن شماره نشان داده شده در مقابل آن انتخاب می شود. در نسخه فعلی می توانید کارهای زیر را انجام دهید:

- با تایپ عدد "1" به منوی پردازش تصویر بوت بروید.
- به منوی پردازش تصویر بازیابی بروید - "2"؛
- به منوی پردازش تصویر هسته - "3" بروید؛
- به منوی پردازش تصویر سیستم بروید - "4"؛
- به منوی دستورات دیگر بروید - "5"؛
- مقداردهی اولیه منطقه کار ابزار - "6"؛
- محل کار محصول را تمیز کنید - "7"؛
- کار را کامل کنید، یعنی. خروج از تسهیلات - "8".

3.2. منوی بوت.

برای ادامه پردازش تصویر Boot، دستور “1-Boot” را اجرا کنید. این شما را به منوی "Boot commands" می برد.

منوی پردازش تصویر Boot به شکل زیر است:

**************************
* دستورات بوت: *
* ————— *
*1-باز کردن بوت*
*بسته 2 بوت*
* *
**************************
*3-بازگشت*
**************************
لطفا دستور را انتخاب کنید:

فرمان "1" تصاویر بوت را باز می کند، دستور "2" تصاویر بوت را بسته می کند. دستور "3" به منوی اصلی ابزار باز می گردد.

2.2.1. جداسازی تصویر boot.img.

2.2.2. تصویر boot.img را بسازید.

هنگام ساختن تصویر بوت، منویی برای انتخاب منبع داده ظاهر می شود.

**************************
* تصویر منبع انتخاب: *
* 1. باز کردن بسته بندی کارگردان *
* 2. بسته کارگردان *
*3.بازگشت*
**************************
لطفا منبع را انتخاب کنید:

شما این فرصت را دارید که از یک تصویر بدون بسته بندی واقع در پوشه Unpack/Boot یک تصویر بسازید، آیتم منو "1. باز کردن بسته کارگردان." اگر آیتم منو «2. Pack dir"، سپس تصویر از داده های موجود در پوشه Pack/boot ایجاد می شود. برای لغو عملیات، آیتم منو "3. برگشت". در عین حال شما
به منوی “Boot commands” بازگردید.

3.3. منوی بازیابی

برای ادامه پردازش تصویر Recovery، دستور “2-Recovery” را اجرا کنید. این شما را به منوی "Recovery commands" می برد. منوی پردازش تصویر Recovery به شکل زیر است:

**************************
* دستورات بازیابی: *
* —————— *
* 1-بازیابی بازیابی *
* 2-بسته ریکاوری *
* *
**************************
*3-بازگشت*
**************************
لطفا دستور را انتخاب کنید:

فرمان "1" تصاویر بازیابی را باز می کند، دستور "2" بسته های تصاویر بازیابی را باز می کند. دستور "3" به منوی اصلی ابزار باز می گردد.
2.3.1. جداسازی تصویر recovery.img.

تمام اقدامات به طور خودکار انجام می شود، یعنی. بدون مشارکت شما چیزی برای توصیف در اینجا وجود ندارد.

2.3.2. تصویر recovery.img را بسازید.

هنگام ساخت تصویر بازیابی، یک منو برای انتخاب منبع داده ظاهر می شود.

**************************
* تصویر منبع انتخاب: *
* 1. باز کردن بسته بندی کارگردان *
* 2. بسته کارگردان *
*3.بازگشت*
**************************
لطفا منبع را انتخاب کنید:

شما این فرصت را دارید که از یک تصویر بسته بندی نشده واقع در پوشه Unpack/Recovery یک تصویر بسازید. باز کردن بسته کارگردان." اگر آیتم منو «2. Pack dir"، سپس تصویر از داده های موجود در پوشه Pack/recovery ایجاد می شود.

برای لغو عملیات، آیتم منو "3. برگشت". این شما را به منوی "Recovery commands" بازمی گرداند.

3.4. منوی کرنل.

برای ادامه پردازش تصویر Kernel، دستور “3-Kernel” را اجرا کنید. این شما را به منوی "کرنل دستورات" می برد.

منوی پردازش تصویر Kernel به شکل زیر است:

**************************
* دستورات هسته: *
* —————— *
* 1-کرنل باز کردن بسته بندی *
*بسته 2 هسته*
* *
**************************
*3-بازگشت*
**************************
لطفا دستور را انتخاب کنید:

دستور "1" تصاویر هسته را باز می کند، دستور "2" تصاویر هسته را بسته بندی می کند. دستور "3" به منوی اصلی ابزار باز می گردد.

3.4.1. جداسازی تصویر kernel.img.

تمام اقدامات به طور خودکار انجام می شود، یعنی. بدون مشارکت شما چیزی برای توصیف در اینجا وجود ندارد.

3.4.2. ساختن تصویر kernel.img.

هنگام ساختن تصویر هسته، منویی برای انتخاب منبع داده ظاهر می شود.

**************************
* تصویر منبع انتخاب: *
* 1. باز کردن بسته بندی کارگردان *
* 2. بسته کارگردان *
*3.بازگشت*
**************************
لطفا منبع را انتخاب کنید:

شما این فرصت را دارید که از یک تصویر بدون بسته بندی واقع در پوشه Unpack/Kernel یک تصویر بسازید. باز کردن بسته کارگردان." اگر آیتم منو «2. Pack dir"، سپس تصویر از داده های موجود در پوشه Pack/Kernel ایجاد می شود.

برای لغو عملیات، آیتم منو "3. برگشت". با این کار شما به منوی “Kernel commands” بازمی‌گردید.

3.5. سیستم منو.

برای ادامه پردازش تصویر سیستم، دستور "3-System" را اجرا کنید. این شما را به منوی "System commands" می برد.

منوی پردازش تصویر سیستم به شکل زیر است:


* دستورات سیستم: *
* ——————————————— *
* یاف 1 بسته * یاف 2 بسته *
* ext3 3-بسته باز * ext3 4-pack *
* ext4 5-pack * ext4 6-pack *
* 7 پراکنده به ext4 * *
* * *
***************************************************
*8-بازگشت*
***************************************************
لطفا دستور را انتخاب کنید:

3.5.1. جداسازی یک تصویر سیستم مانند yaffs.

دستور "1" تصاویر سیستم از نوع yaffs را در پوشه Unpack/System باز می کند.

3.5.2. ساختن یک تصویر سیستمی مانند yaffs.

فرمان "2" تصاویر سیستم از نوع yaffs را بسته بندی می کند. یک منو برای انتخاب منبع داده ظاهر می شود.

**************************
* تصویر منبع انتخاب: *
* 1. باز کردن بسته بندی کارگردان *
* 2. بسته کارگردان *
*3.بازگشت*
**************************
لطفا منبع را انتخاب کنید:

شما این فرصت را دارید که یک تصویر از یک تصویر بدون بسته بندی واقع در پوشه Unpack/system بسازید، برای این کار، آیتم منو "1. باز کردن بسته کارگردان." اگر آیتم منو «2. Pack dir"، سپس تصویر از داده های موجود در پوشه Pack/system ایجاد می شود.

برای لغو عملیات، آیتم منو "3. Return" و به منوی قبلی "System commands" باز خواهید گشت.

3.5.3. جداسازی تصویر سیستم نوع ext3.

فرمان "3" تصاویر سیستم از نوع ext2-ext3 را در پوشه Unpack/System باز می کند.

3.5.4. ساخت تصویر سیستم از نوع ext3.

فرمان "4" تصویر سیستم را از نوع ext2-ext3 می سازد. بسته بندی مشابه بند 3.5.2 انجام می شود. فقط تصویر خروجی از نوع ext3 خواهد بود.

3.5.5. جداسازی تصویر سیستم نوع ext4.

دستور "5" تصاویر سیستم ext4 را در پوشه Unpack/System باز می کند.

3.5.6. ساخت تصویر سیستم از نوع ext4.

دستور "6" تصویر سیستم را از نوع ext4 می سازد. بسته بندی مشابه بند 3.5.2 انجام می شود. فقط تصویر خروجی از نوع ext4 خواهد بود.

3.5.7. تبدیل تصویر فشرده پراکنده به ext4.

دستور "7" تصاویر فشرده شده از نوع پراکنده را به تصاویری از نوع ext4 (مشابه با عملیات simg2img) تبدیل می کند (تبدیل یا رمزگذاری می کند).

3.5.8. بازگشت به منوی اصلی.

دستور "8" به منوی اصلی ابزار باز می گردد.

3.6. منوی دستورات دیگر

برای ادامه دادن به اجرای دستورات دیگر، دستور "5-Other commands" را اجرا کنید. این شما را به منوی «فرمان های دیگر» می برد. منوی اجرای دستورات دیگر به شکل زیر است:

**************************
*سایر دستورات:*
* —————- *
*1-Init SuperUser*
* 2-محاسبه md5 *
* *
**************************
*3-بازگشت*
**************************
لطفا دستور را انتخاب کنید:

دستور "1" SuperUser را در تصویر سیستم مقداردهی اولیه می کند، دستور "2" جمع کنترل فایل را محاسبه می کند. دستور "3" به منوی اصلی ابزار باز می گردد.

3.6.1. مقداردهی اولیه SuperUser

هنگام راه اندازی SuperUser، یک منوی انتخاب منبع ظاهر می شود:

**************************
* منبع انتخاب در ابتدا: *
* 1. باز کردن بسته بندی کارگردان *
* 2. بسته کارگردان *
*3.بازگشت*
**************************
لطفا منبع را انتخاب کنید:

شما این فرصت را دارید که تصویر بازشده را که در پوشه Unpack/system قرار دارد، مقداردهی اولیه کنید، آیتم منو "1. باز کردن بسته کارگردان." اگر آیتم منو «2. Pack dir"، سپس تصویر واقع در پوشه Pack/system مقداردهی اولیه می شود. برای لغو عملیات، آیتم منو "3. برگشت".
مقداردهی اولیه با کپی انجام می شود فایل های لازم(su و SuperSU.apk) در تصویر جدا شده System.img. برای به دست آوردن دسترسی Root شما نیاز دارید:

- تصویر سیستم را با استفاده از دستور "3" منوی اصلی باز کنید
ابزارها یا تصویر بدون بسته بندی را در پوشه Unpack (یا Pack)/System/ قرار دهید.
- دستور "1-init SuperUser" را در منوی "Others commands" اجرا کنید.

پس از فلش کردن تصویر System.img، دسترسی روت در دستگاه خود خواهید داشت. اگر از فایل‌های نسخه دیگری برای دسترسی به Root در دستگاه شما استفاده می‌شود، فقط باید فایل‌های su و SuperSU.apk را در پوشه App/ به‌روزرسانی (جایگزین) کنید.

3.6.2. محاسبه چکسام.

برای محاسبه جمع کنترلی یک فایل یا فایل ها، آنها را در پوشه Pack/md5/ قرار دهید. پس از اجرای دستور 2-Calculate md5، تمامی فایل های موجود در پوشه Pack/md5 اضافه خواهند شد. چک جمع، با استفاده از الگوریتم md5 محاسبه می شود. فقط فایل های بدون پسوند یا با پسوند .img، .tar، .zip پردازش می شوند.

3.7. مقداردهی اولیه.

برای انجام مقداردهی اولیه، دستور "6-init Tools" را اجرا کنید. با این کار تمام ساختارهای پوشه لازم برای کار MTwinTools ایجاد می شود و تصاویر ورودی را در پوشه کاری Unpack/Firmware/Image کپی می کند.

3.8. محصول تمیز کننده.

برای پاک کردن محل کار، "7-CLEAN" را تایپ کنید. در این صورت، تمام پوشه های اضافی به همراه محتویات آنها حذف می شود، MTwinTools کار خود را کامل می کند و بلافاصله پس از نصب به شکلی که داشت می شود.

3.9. خارج شوید.

برای خروج، "8-Exit" را شماره گیری کنید. در این صورت فقط محصول بدون تمیز کردن خارج می شود.

درون یابی, درون یابی- در ریاضیات محاسباتی، روشی برای یافتن مقادیر میانی یک کمیت از یک مجموعه گسسته موجود از مقادیر شناخته شده است.

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

روش های درونیابی تفاضل محدود زیادی وجود دارد. اکثر
روش نیوتن برای درونیابی رو به جلو (روش نیوتن-گریگوری) رایج است. چند جمله ای درون یابی در این مورد به شکل زیر است:

ضرایب C را با استفاده از فرمول پیدا می کنیم:

پیاده سازی برنامه در سی شارپ:
با استفاده از سیستم؛ درون یابی فضای نام (برنامه کلاس…

بصری سازی الگوریتم های مرتب سازی

این برنامه به دو رشته تقسیم می شود که در یکی از آنها مرتب سازی و در دیگری ترسیم مجدد انجام می شود رابط کاربری گرافیکی. پس از کلیک بر روی دکمه "Sort"، برنامه روش "RunSorting" را فراخوانی می کند که در آن الگوریتم مرتب سازی تعریف شده و یک رشته جدید با فرآیند مرتب سازی در حال اجرا در آن ایجاد می شود.
خلأ خصوصی RunSo…

Kacher Brovina در KT819G

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

در زیر چند عکس گرفته شده در هنگام مونتاژ دستگاه را مشاهده می کنید.

سیم پیچ تقریباً با 2000 دور سیم 0.08 میلی متری روی لوله پی وی سی به قطر 50 میلی متر و ارتفاع 200 میلی متر پیچیده می شود.

از یک بشقاب قدیمی به عنوان ترمینال استفاده می شد. هارد دیسک. بقیه چیزها طبق نموداری که در پایین صفحه قرار دارد مونتاژ شده است.

اولین گزینه از منبع تغذیه یک کامپیوتر قدیمی با ولتاژ 12 ولت تغذیه می شد. سپس یک منبع تغذیه جداگانه با ولتاژ 30 ولت و با خنک کننده داخلی ساخته شد.

نمودار دستگاه:

CORS چیست و چگونه از آن استفاده کنیم

اشتراک‌گذاری منابع بین دامنه (CORS) یک ویژگی W3C است که امکان ارتباط بین دامنه‌ای در مرورگر را فراهم می‌کند. با ساختن بر روی شی XMLHttpRequest، CORS به توسعه دهندگان اجازه می دهد تا با اصطلاحات مشابه درخواست های دارای دامنه مشابه کار کنند. مورد استفاده برای CORS ساده است. تصور کنید که alice.com داده هایی دارد که bob.com می خواهد به دست آورد. این نوع درخواست به طور سنتی تحت همان خط مشی مبدا مرورگر مجاز نیست. با این حال، با پشتیبانی از درخواست‌های CORS، alice.com می‌تواند چندین سرصفحه پاسخ ویژه اضافه کند که به bob.com اجازه دسترسی به داده‌ها را می‌دهد. همانطور که از این مثال می بینید، پشتیبانی CORS نیاز به هماهنگی بین سرور و مشتری دارد. خوشبختانه، اگر شما یک توسعه دهنده سمت مشتری هستید، از بسیاری از این جزئیات در امان هستید. بقیه این مقاله نشان می‌دهد که چگونه مشتریان می‌توانند درخواست‌های متقاطع ایجاد کنند و چگونه سرورها می‌توانند خود را برای پشتیبانی از CORS پیکربندی کنند. ادامه…

تقریبا همه کاربر اندرویدگوشی هوشمند، میل به ایجاد یا ویرایش سفت‌افزار متناسب با نیازها و خواسته‌های شما وجود داشت. در این مقاله به اصل ویرایش سیستم عامل برای CWM (در فرمت zip) خواهیم پرداخت.

آماده سازی:

اول از همه، ما باید تصمیم بگیریم که کدام سیستم عامل را به عنوان پایه استفاده کنیم. بهتر است از آن استفاده کنید. سیستم عامل در zip تقریباً برای هر دستگاه معمولی یک سیستم عامل + روت تمیز وجود دارد.
هنگامی که سیستم عامل انتخاب شد، باید آن را در هر مکانی مناسب برای شما در رایانه شخصی بارگیری کنید (نیازی به باز کردن بسته نیست).
ما همچنین به یک آرشیو نیاز خواهیم داشت، توصیه می کنم از آن استفاده کنید 7zipو بهترین در نوع خود ویرایشگر متن Notepad++.

ساختار سیستم عامل:

با باز کردن آرشیو با سیستم عامل، موارد زیر را مشاهده می کنید:
META-INF- پوشه حاوی اسکریپت های نصب سیستم عامل است.
سیستم- پوشه ای با تمام فایل های سیستم عامل (برنامه ها، ترفندها، اسکریپت ها و غیره).
boot.img- هسته سیستم

تقریباً تمام دستکاری ها در پوشه انجام می شود سیستم، ساختار آن:
برنامه- برنامه های کاربردی سیستم
صندوقچه- منابع خود سیستم
و غیره- اسکریپت ها، ترفندها، تنظیمات، پروفایل ها و تنظیمات سیستم.
فونت ها- فونت های سیستم
چارچوب- فایل های اصلی سیستم در اینجا ذخیره می شوند (گرافیک، تنظیمات متن انیمیشن و غیره).
lib- کتابخانه های سیستم
رسانه ها- فایل های چند رسانه ای (آهنگ زنگ اطلاع رسانی، بارگذاری انیمیشن، تصویر زمینه و غیره).
usr- تنظیماتی که در آینده توسط سیستم قابل تغییر نیستند (در حالت فقط خواندنی کار می کنند).
xbin- دوباره، تنظیمات سیستم و ترفندهای دیگر.
build.prop- اطلاعات مربوط به سیستم، تنظیمات محلی و عملکرد سیستم.

برنامه های کاربردی:

قبل از افزودن/حذف نرم افزار به سیستم، باید بررسی کنید که آیا سیستم عامل شما deodex شده است یا نه (یعنی وجود فایل های .odex را در پوشه برنامه بررسی کنید. اگر فایل هایی وجود دارد، باید با استفاده از این گزینه از شر آنها خلاص شوید. دستورالعمل ها .
اضافه کردن نرم افزار به سیستم عامل:
اول از همه، شما باید برنامه هایی را که می خواهید به اسمبلی اضافه کنید، در اسمارت خود نصب کنید. پس از نصب، آنها را با استفاده از سیستم حذف می کنیم روت اکسپلوررو آنالوگ های آن، آنها در مسیر داده/برنامه قرار دارند، ما همچنین به lib های آنها نیاز داریم (البته در صورت وجود)، آنها در مسیر داده/داده قرار دارند. آنها در پوشه ای به همین نام در برنامه قرار دارند و دارای پسوند هستند .بنابراین. سپس ضبط شد apkفایل ها را در مسیر سیستم/برنامه و فایل های با پسوند در بایگانی قرار دهید .بنابراین(libs) در امتداد مسیر سیستم/lib .
ما نرم افزار را از سیستم عامل حذف می کنیم:
اینجا همه چیز ساده است، به پوشه بروید برنامه- ما تصمیم می گیریم به چه چیزی نیاز نداریم و همه نرم افزارهای غیر ضروری را حذف می کنیم (بهتر است سیستم را لمس نکنید).

زبان و نسخه سیستم عامل:

فایل build.prop را روی دسکتاپ خود کپی کنید. آن را با دفترچه یادداشت باز کنید و خطوط را پیدا کنید:

ro.product.locale.language=en
ro.product.locale.region=US

برای زبان روسی باید این کار را انجام دهید:

ro.product.locale.language=en
ro.product.locale.region=RU

نام مد خود را در خط وارد کنید

در همان build.prop

هنرهای گرافیکی:

کل بخش گرافیکی سیستم عامل در دو فایل مسیر فایل Framework-res.apk ذخیره می شود چارچوب سیستمو SystemUI.apk در طول مسیر برنامه سیستم. و قسمت گرافیکی اپلیکیشن تنظیمات به طور طبیعی در اپلیکیشن Settings.apk ذخیره می شود.

اسکریپت ها و ترفندها (شتاب و بهینه سازی سیستم):

اکثر تنظیمات در فایل انجام می شود build.prop، می توانید در این مورد مطالعه کنید. همچنین، اگر هسته شما پشتیبانی می کند init.dتعدادی اسکریپت برای بهینه سازی سیستم وجود دارد که یکی از آنها در این مقاله توضیح داده شده است (بهینه سازی رم)و در این مقاله اسکریپت ها را برای init.d بهینه کنید

جایگزینی فونت های سیستم:

همانطور که در بالا گفته شد، تمام فونت ها در پوشه موجود است فونت هافونت های اصلی عبارتند از: DroidSans.ttf و DroidSans-Bold.ttf می توان آنها را با هر فونتی جایگزین کرد، نام آنها را مشابه موارد بالا تغییر داد و با جایگزینی با سیستم عامل موجود در پوشه به آرشیو منتقل شد. فونت ها.

هسته:

از نظر تئوری، برای جایگزینی کافی است boot.imgخود را دارد، اما در برخی موارد هسته ها با اسکریپت های اضافی همراه هستند. بنابراین توصیه می کنم در صورت داشتن شک و تردید کاری نکنید.



بیایید با این واقعیت شروع کنیم که به لینوکس نیاز دارید. در ویندوز، فقط می‌توانید سفت‌افزار را جدا کنید، اما به دلایل صرفاً فنی نمی‌توانید آن را دوباره کنار هم قرار دهید. حالا در مورد فریمور. آنها معمولاً در قالب آرشیوهای ZIP که از طریق بازیابی سفارشی فلش می شوند توزیع می شوند. این یکی از آنهاست که برای آزمایش به آن نیاز خواهیم داشت. من توصیه می کنم مسیر یک مدل جدید را با چیزی نزدیک به AOSP شروع کنید سیستم عامل سفارشی، زیرا درک آن اغلب ساده تر از سهام است.

  1. بایگانی را با سیستم عامل در هر پوشه ای باز کنید.
  2. اسکریپت را از لینک دانلود کنید و آن را در هر پوشه ای از حالت فشرده خارج کنید.
  3. فایل ext را راه اندازی می کنیم (اگر از کمبود جاوا شکایت دارد، فقط با فشار دادن y از آن بگذرید؛ جاوا فقط برای بسته بندی مورد نیاز است).
  4. اکنون با فشار دادن دکمه 1 و سپس Enter گزینه unpacking را انتخاب کنید.
  5. یک پوشه جدید به نام extract_* در کنار فایل ext و پوشه tools ظاهر می شود. فایل های system.new.dat و system.transfer.list را در آن کپی کنید.
  6. پس از کپی کردن فایل ها، Enter را فشار دهید و منتظر بمانید. پس از مدتی، باید دوباره Enter را فشار دهید، رمز عبور مدیر را وارد کنید و دوباره Enter را فشار دهید.
  7. آماده. محتویات سیستم در پوشه extract_*/output قرار دارد.

روش دستی

آرشیو با سیستم عامل را در هر پوشه ای (مثلا رام) باز کنید:

$ mkdir ~/rom $ unzip path_to_archive -d ~/rom/

ابزارهای مورد نیاز ما را در این پوشه دانلود کنید:

$ cd ~/rom $ wget https://github.com/xpirt/sdat2img/raw/master/sdat2img.py

بیایید اسکریپت را اجرا کنیم:

$ chmod +x sdat2img.py $ ./sdat2img.py system.transfer.list system.new.dat system.img

فایل system.new.dat را به یک تصویر خام به نام system.img تبدیل می کند. تصویر را در زیر پوشه mnt قرار دهید:

$ mkdir mnt $ sudo mount -t ext4 -o loop system.img ~/rom/mnt

ساختار فهرست راهنمای اندروید

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

  • برنامه - برنامه های از پیش نصب شدهبا امتیازات استاندارد؛
  • برنامه خصوصی- برنامه های از پیش نصب شده با امتیازات بالا، از جمله برخی از اجزای سیستم؛
  • صندوقچه- فایل های باینری با فرمت ELF، آنالوگ دایرکتوری های bin / و /usr/bin در لینوکس. شامل اجزای سیستم مختلف است که توسط اجزای سیستم سطح بالاتر استفاده می شود.
  • و غیره- فایل های تنظیمات یک آنالوگ کامل از /etc در لینوکس، با این حال، تنها توسط همان اجزای سیستم استفاده می شود. برنامه های اندرویدفروشگاه تنظیمات فردیدر فهرست های /data/data/؛
  • فونت ها- فونت ها به طور پیش فرض، فقط حاوی فونت های مارک Roboto است.
  • چارچوب- کتابخانه های کلاس های جاوا که توسط سیستم و برنامه ها استفاده می شود. همچنین یک فایل Framework-res.apk وجود دارد که حاوی توضیحات کاملی از رابط است سیستم عامل، شامل تمام فایل های گرافیکی.
  • libو lib64- کتابخانه های لینوکس که توسط اجزای سیستم سطح پایین استفاده می شوند. آنالوگ دایرکتوری های /lib و /usr/lib در لینوکس، از جمله موارد زیر کتابخانه های استانداردمانند libc، libz، libssl. در دستگاه هایی با معماری ARMv7 و پایین تر، دایرکتوری lib64 وجود ندارد.
  • رسانه ها- فایل های رسانه ای: آهنگ های زنگ، صداهای اعلان، صداهای رابط و انیمیشن بارگیری سیستم عامل.
  • tts- فایل های مورد نیاز سینت سایزر گفتار.
  • usr- دایرکتوری که معمولاً حاوی فایل های لازم برای اجرای برنامه ها از دایرکتوری bin است. اساساً آنالوگ /usr/share است.
  • فروشنده- فایل های ارائه شده توسط سازنده دستگاه. معمولاً شامل سفت‌افزار باینری برای اجزای سخت‌افزاری مختلف، به عنوان مثال یک ماژول Wi-Fi است.
  • xbin- دایرکتوری اختیاری؛ سفت‌افزارهای سفارشی از آن برای ذخیره مواردی مانند مفسر bash، SSH، PowerTOP، BusyBox و سایر ابزارهای مفید استفاده می‌کنند.
  • build.prop- یک فایل حاوی اطلاعات مربوط به مونتاژ، و همچنین تنظیمات مختلف سطح پایین؛
  • addon.d- حاوی اسکریپت هایی است که پس از نصب سیستم عامل راه اندازی می شوند. GApps همچنین اسکریپت خود را در اینجا می نویسد که به لطف آن پس از نصب مجدد سیستم عامل دوباره احیا می شود.

اکنون که با ساختار اصلی اندروید آشنا شدیم، اجازه دهید تغییرات را شروع کنیم.

حذف و اضافه کردن برنامه ها

همه برنامه های از پیش نصب شدهرا می توان در دو پوشه یافت:

  • /system/app/;
  • /system/priv-app/.

آنها در امتیازات دسترسی با یکدیگر تفاوت دارند. اگر برنامه های برنامه دارای مجوزهای مشابه هستند برنامه های شخص ثالث(به عنوان مثال، از فروشگاه Play نصب شده است)، سپس برنامه های کاربردی از برنامه خصوصی می توانند از API های ممتاز (حقوق ممتاز) استفاده کنند. می توانید در این مورد بیشتر بیاموزید.

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

می‌توانید جلوتر بروید و برنامه‌های استوک را با آنالوگ جایگزین کنید. به عنوان مثال، برای جایگزینی تقویم، پوشه را حذف کنید تقویمو com.rpagyc.simplecalendar.apk مورد علاقه ما را در /system/app کپی کنید. و شما مجبور نیستید آن را کپی کنید. سپس سیستم عامل بدون تقویم خواهد بود.

نکته اصلی که باید به خاطر داشته باشید این است که برنامه های سهام می توانند با یکدیگر مرتبط باشند. بنابراین، حذف یک برنامه ممکن است منجر به عدم کارکرد کامل برنامه دیگر شود (به عنوان مثال، CalendarProvider و Calendar: با حذف اولی، نه تنها تقویم سهام، بلکه هر تقویم دیگری را نیز غیرفعال می کنید). خوشبختانه، در سیستم عامل AOSP خالص، اتصالات زیادی وجود ندارد.

تغییر انیمیشن در حال بارگذاری

انیمیشن به عنوان تصاویر PNG ذخیره می شود و بدون فشرده سازی در آرشیو /system/media/bootanimation.zip بسته بندی می شود. در داخل آرشیو موارد زیر وجود دارد:

  • desc.txt- فایلی که انیمیشن را توصیف می کند.
  • part0- پوشه ای با فایل های انیمیشن که ابتدا پخش می شوند.
  • قسمت 1- پوشه ای با فایل های انیمیشن که در مرحله دوم پخش می شوند.
  • قسمت؟- آخرین پوشه، که تصاویر از آن در پایان پخش می شود.

فایل desc.txt ممکن است حاوی چیزی شبیه به این باشد

1920 1080 60 p 1 0 part0 p 0 0 part1

هدف از این خطوط بصری است: 1920 × 1080 وضوح تصویر، 60 تعداد فریم در ثانیه است. Part0 و part1 پوشه هایی را که انیمیشن از آنها پخش می شود و دنباله پخش را نشان می دهد. به طور کلی، می تواند یک قسمت یا چند (سه یا بیشتر) باشد.

تصاویری که در پوشه های پارت قرار دارند به ترتیب با پنج عدد شماره گذاری می شوند: 00000.png، 00001.png، 00002.png... این تصاویر را می توان با تصاویر خود جایگزین کرد و بدین ترتیب یک انیمیشن اصلی ایجاد کرد. یا به سادگی می توانید فایل bootanimation.zip را حذف کنید. سپس دستگاه انیمیشن از را نشان می دهد اندروید استاندارد. یا از مجموعه آماده ای از انیمیشن ها در w3bsit3-dns.com استفاده کنید.

تغییر طراحی صدا

در واقع تمام صداهایی که سیستم پخش می کند در پوشه /system/media/audio ذخیره می شود. در داخل آن پوشه های زیر را خواهید دید:

  • آلارم ها- ملودی های ساعت زنگ دار.
  • اطلاعیه- صداهای اعلان؛
  • آهنگ های زنگ- آهنگ های زنگ؛
  • رابط کاربری- صداهای سیستم، مانند باتری کم، فوکوس دوربین، انتخاب عناصر رابط.

در آلارم‌ها، اعلان‌ها، آهنگ‌های زنگ می‌توانید هر تعداد ملودی را که دوست دارید اضافه کنید. می توانید آنها را برای مثال در اینجا بگیرید:

  • آهنگ های زنگ استاندارد از تلفن های مختلف نوکیا و گوشی های هوشمند؛

و یک هک زندگی کوچک: حذف فایل ها از پوشه UI منجر به خرابی و خطا نمی شود، بلکه منجر به ناپدید شدن صداهای سیستم می شود. بنابراین، می توانید به راحتی با پاک کردن فایل های حاوی این صداها (اسم آنها بصری است) صدای عکس گرفتن از دوربین، گرفتن اسکرین شات را خاموش کنید.

افزودن فونت

فونت ها در فونت ها ذخیره می شوند. می‌توانید بایگانی‌هایی را با فایل‌های فونت در w3bsit3-dns.com و XDA پیدا کنید. برای نصب کافیست فایل های ttf را از آرشیو در پوشه فونت ها کپی و جایگزین کنید.

تغییر تنظیمات سیستم (build.prop)

تصویر سیستم حاوی یک فایل build.prop جالب است که حاوی اطلاعات مفید زیادی در مورد سخت افزار دستگاه و تنظیمات پیش فرض برای برنامه های مختلف استوک است. منصفانه بگویم، توجه می کنم که همیشه اینطور نیست. به عنوان مثال، در Gigaset ME و ME Pro build.prop به دو قسمت تقسیم می شود. یک قسمت شامل تنظیمات Gigaset ME است و برای ME Pro برخی از خطوط تکراری هستند، اما کلیدها (نام گوشی هوشمند و غیره) متفاوت هستند. این کار برای اطمینان از عملکرد کم و بیش صحیح سیستم عامل یکسان در دستگاه های مختلف انجام شد.


Build.prop شامل (یا می تواند شامل) تعداد زیادی تنظیمات باشد. برخی از آنها چیزی را تغییر نمی دهند، برخی از آنها چیزی را به قیمت دیگری بهبود می بخشند، اما مواردی هستند که واقعا مفید هستند:

  • ro.product.modelو ro.product. سازنده- مدل گوشی هوشمند و نام سازنده با جایگزینی این خطوط، می توانید پلی استور را به این فکر کنید که گوشی هوشمند متفاوتی دارید که دسترسی به نرم افزارهای بیشتری را باز می کند. برای همه کسانی که کمتر شناخته شده اند گوشی های هوشمند چینیاین خطوط می توانند نجات دهنده باشند.
  • hw.qemu.mainkeys- فقط دو مقدار را می گیرد: 0 - نمایش کلیدهای ناوبری روی صفحه، 1 - دکمه ها نشان داده نشود. عدم وجود خط برابر با 0 است.
  • debug.sf.nobootanimation- مقدار 1 بارگذاری انیمیشن را غیرفعال می کند که کمی سرعت آن را افزایش می دهد. با تنظیم آن بر روی 0 یا حذف خط، انیمیشن به جای خود باز می گردد.
  • ro.telephony.default_network- به سیستم می گوید که باید به کدام حالت سوئیچ شود شبکه موبایلهنگام بارگیری؛
  • ro.sf.lcd_density- نمایش DPI، دقیق ترین مقدار برای نمایشگر را می توان از طریق یک وب سایت مناسب محاسبه کرد. اما هیچ کس شما را منع نمی کند که مقدار بالاتر یا کمتری را به دلخواه خود تنظیم کنید: مقادیر بالاتر عناصر رابط را بزرگتر می کند، مقادیر کمتر عناصر رابط را کوچکتر می کند.
  • ro.config.vc_call_vol_steps- تعداد مراحل صدا در طول یک تماس (پیش فرض 8)؛
  • ro.config.media_vol_steps- تعداد مراحل حجم رسانه (پیش فرض 15).

ما Google Apps را در سیستم عامل پیاده سازی می کنیم

تقریباً همیشه سیستم عامل سفارشی بدون آن ارائه می شود خدمات گوگلو فروشگاه اپلیکیشن توسعه دهندگان پیشنهاد می کنند که آنها را به طور جداگانه با استفاده از بسته GApps نصب کنیم. با این حال، می توان آن را مستقیماً در سیستم عامل ادغام کرد.

ابتدا باید بسته GApps را دانلود کنید. توصیه می کنم بایگانی Open GApps را بگیرید. شما انتخاب کنید نسخه اندروید، گزینه معماری و پیکربندی پردازنده (Pico، Nano، Stock...)، که تعیین می کند چند مورد مختلف اپلیکیشن های گوگلحاوی یک آرشیو توصیه می کنم نسخه پیکو را دانلود کنید. این فقط شامل فروشگاه Play و مجموعه ای از کتابخانه های لازم برای عملکرد آن است.

ادغام GApps در سیستم عامل به صورت زیر انجام می شود:

  1. بایگانی ZIP GApps را با استفاده از هر بایگانی باز کنید.
  2. به پوشه Core بروید.
  3. ما آرشیوهای زیادی با پسوند tar.lz می بینیم. با استفاده از lzip استخراج کنید.
  4. پس از بسته بندی، فایل ها را از پوشه ها در پوشه های مربوطه در سیستم کپی کنید. به راحتی می توان حدس زد که چه چیزی را از ساختار دایرکتوری در بایگانی به کجا پرتاب کنیم. به عنوان مثال، configupdater (از تصویر صفحه) باید در پوشه priv-app قرار گیرد.
  5. به پوشه GApps (واقع در کنار Core) بروید و مراحل 3 و 4 را برای فایل های موجود در آن دنبال کنید.
  6. تمام است، ما GApps را در سیستم عامل خود ادغام کرده ایم!

مکان رایگان

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

$ adb shell df /system

گزینه دوم: یک ترمینال روی دستگاه قرار دهید و دستور را تایپ کنید

$df/system

با نصب BusyBox بر روی گوشی هوشمند خود و اجرای دستور در ترمینال می توانید اندازه پارتیشن را بر حسب بایت دریابید.

$ busybox df -B 1 /system

یا همینطور با با استفاده از ADB:

$ adb shell busybox df -B 1 /system

فضای اشغال شده توسط سیستم عامل تقریباً برابر با اندازه سیستم در هنگام باز کردن بسته بندی خواهد بود. به طور کلی هنگام ایجاد سیستم عامل باید در نظر داشت که کاربر می تواند تغییرات مختلفی را نیز در بالای آن فلش کند (SuperSU، Xposed) یا برنامه ها را به قسمت سیستم منتقل کند. به عنوان مثال، حداقل بسته نرم افزاری گوگل (Pico) به حداقل 150 مگابایت فضای نصب اضافی نیاز دارد.

در صورت لزوم، اندازه فایل سیستم عامل را می توان با حذف نه تنها کاهش داد برنامه های غیر ضروریاز /system/app (/system/priv-app) و صداها را از system/media/audio و bootanimation.zip فراخوانی کنید، اما همچنین:

  • /system/tts/lang_pico- زبان های موتور صوتی اولیه Pico TTS، موتور صوتی Google تحت تأثیر قرار نمی گیرند.
  • /system/usr/srec/config/- زبان های آفلاین در صورت نیاز می توانید آن را به صورت آنلاین دانلود کنید.

مونتاژ

پس از ایجاد تغییرات، باید همه چیز را دوباره کنار هم قرار دهید. ابتدا، اجازه دهید بخش سیستم را در system.new.dat بسته بندی کنیم. ابزار مورد نیاز ما را دانلود کنید:

$ wget https://github.com/xpirt/img2sdat/raw/master/img2sdat.py $ wget https://github.com/xpirt/img2sdat/raw/master/blockimgdiff.py $ wget https://github. com/xpirt/img2sdat/raw/master/common.py $ wget https://github.com/xpirt/img2sdat/raw/master/rangelib.py $ wget https://github.com/xpirt/img2sdat/raw/ master/sparse_img.py $ sudo apt-get install android-tools-fsutils

بیایید پوشه خود را دوباره به یک تصویر RAW تبدیل کنیم. بیایید آن را system_new.img بنامیم:

$ sudo make_ext4fs -T 0 -S file_contexts -l 1073741824 -a system_new.img خروجی/

1073741824 به اندازه پارتیشن سیستم در بایت تغییر می کند. حتی توصیه می شود آن را کمی کوچکتر کنید. ما یک تصویر پراکنده از تصویر RAW ایجاد می کنیم:

$ img2simg system_new.img system_snew.img

بیایید تصویر خود را به system.transfer.list و system.new.dat تبدیل کنیم، که باید با سیستم عامل به بایگانی پرتاب شود، اما ابتدا فایل های قدیمی را حذف می کنیم:

$ rm -rf system.transfer.list $ rm -rf system.new.dat $ rm -rf system.patch.dat $ chmod +x img2sdat.py $ ./img2sdat.py system_snew.img

بیایید فایل‌های میان‌افزار را از پوسته اضافی جدا کنیم (فایل‌هایی که برای کار دانلود کرده‌ایم. برای این کار استفاده از آرشیو با سیستم‌افزار راحت است). حذف شده؟ اکنون باید سیستم عامل را در یک بایگانی ZIP (با هر بایگانی) بسته بندی کنید.

تنها چیزی که باقی می ماند امضای آرشیو است. این را می توان هم در خود اندروید با استفاده از ZipSigner و هم در رایانه شخصی (شما باید جاوا را نصب کنید) انجام داد:

$ wget https://github.com/appium/sign/raw/master/dist/sign.jar $ java -jar file.zip

سنگ های زیر آب

هنگام ساخت system.new.dat ممکن است با چندین مشکل ناشی از تغییرات مداوم در مکانیسم های تولید مواجه شوید سیستم عامل اندروید. روشی که در بالا توضیح داده شد باید در مورد سیستم عامل های مبتنی بر Android 5.1 به خوبی کار کند، بنابراین شما باید از نسخه های دیگر ابزارهای ساخت استفاده کنید. متأسفانه، ما نمی توانیم تمام تفاوت های ظریف مونتاژ را توصیف کنیم، بنابراین ممکن است مجبور شوید آن را در گوگل جستجو کنید.

نصب و راه اندازی

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

TWRP

نتیجه گیری

این مقاله تنها نوک یک کوه یخ بزرگ به نام "اصلاح سیستم عامل" را توصیف می کند. سفت‌افزار «جدی» نه تنها هسته و خود سیستم‌افزار را با برنامه‌های استوک با عملکردهای فراوان (که اغلب از هسته‌ها و میان‌افزارهای دیگر گرفته شده‌اند)، سازمان‌دهی یا حتی تغییر اصول تعامل آن‌ها را تکمیل می‌کند، بلکه می‌تواند اصول عملیاتی را نیز به شدت تغییر دهد. سیستم عامل درست است، چنین هکی دیگر اندروید نیست، بلکه یک سیستم عامل جداگانه است، حتی اگر خدمات Play را بتوان در آنجا نصب کرد (به هر حال، چنین اقداماتی، به بیان ملایم، توسط گوگل تشویق نمی شود). خوب، فراموش نکنید: تمام پوسته های تولید کنندگان - TouchWiz، ZenUI، HTC Sense و غیره - فقط پوسته های سفارشی معمولی هستند که حداکثر به سخت افزار دستگاه و به یکدیگر مرتبط هستند.

درون یابی, درون یابی- در ریاضیات محاسباتی، روشی برای یافتن مقادیر میانی یک کمیت از یک مجموعه گسسته موجود از مقادیر شناخته شده است.

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

روش های درونیابی تفاضل محدود زیادی وجود دارد. اکثر
روش نیوتن برای درونیابی رو به جلو (روش نیوتن-گریگوری) رایج است. چند جمله ای درون یابی در این مورد به شکل زیر است:

ضرایب C را با استفاده از فرمول پیدا می کنیم:

پیاده سازی برنامه در سی شارپ:
با استفاده از سیستم؛ درون یابی فضای نام (برنامه کلاس…

این برنامه به دو رشته تقسیم می شود که در یکی از آنها مرتب سازی انجام می شود و در دیگری رابط گرافیکی دوباره ترسیم می شود. پس از کلیک بر روی دکمه "Sort"، برنامه روش "RunSorting" را فراخوانی می کند که در آن الگوریتم مرتب سازی تعریف شده و یک رشته جدید با فرآیند مرتب سازی در حال اجرا در آن ایجاد می شود.
خلأ خصوصی RunSo…

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

در زیر چند عکس گرفته شده در هنگام مونتاژ دستگاه را مشاهده می کنید.

سیم پیچ تقریباً با 2000 دور سیم 0.08 میلی متری روی لوله پی وی سی به قطر 50 میلی متر و ارتفاع 200 میلی متر پیچیده می شود.

یک صفحه از یک هارد دیسک قدیمی به عنوان ترمینال استفاده شد. بقیه چیزها طبق نموداری که در پایین صفحه قرار دارد مونتاژ شده است.

اولین گزینه از منبع تغذیه یک کامپیوتر قدیمی با ولتاژ 12 ولت تغذیه می شد. سپس یک منبع تغذیه جداگانه با ولتاژ 30 ولت و با خنک کننده داخلی ساخته شد.

نمودار دستگاه:

اشتراک‌گذاری منابع بین دامنه (CORS) یک ویژگی W3C است که امکان ارتباط بین دامنه‌ای در مرورگر را فراهم می‌کند. با ساختن بر روی شی XMLHttpRequest، CORS به توسعه دهندگان اجازه می دهد تا با اصطلاحات مشابه درخواست های دارای دامنه مشابه کار کنند. مورد استفاده برای CORS ساده است. تصور کنید که alice.com داده هایی دارد که bob.com می خواهد به دست آورد. این نوع درخواست به طور سنتی تحت همان خط مشی مبدا مرورگر مجاز نیست. با این حال، با پشتیبانی از درخواست‌های CORS، alice.com می‌تواند چندین سرصفحه پاسخ ویژه اضافه کند که به bob.com اجازه دسترسی به داده‌ها را می‌دهد. همانطور که از این مثال می بینید، پشتیبانی CORS نیاز به هماهنگی بین سرور و مشتری دارد. خوشبختانه، اگر شما یک توسعه دهنده سمت مشتری هستید، از بسیاری از این جزئیات در امان هستید. بقیه این مقاله نشان می‌دهد که چگونه مشتریان می‌توانند درخواست‌های متقاطع ایجاد کنند و چگونه سرورها می‌توانند خود را برای پشتیبانی از CORS پیکربندی کنند. ادامه…




بالا