<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
    <channel>
        <title>نوشته های Alireza ARB</title>
        <link>https://virgool.io/feed/@alirezaalpharb</link>
        <description>سلام 
علیرضا هستم و 21 سالم هست.
عاشق کامپیوتر،تکنولوژی،ساختن وسایل،ساختن انیمیشن،کتاب،تعمیرات،موسیقی، فیلم،بازی و  ... هستم.
اینجا هم چیز هایی که می سازم رو منتشر میکنم.</description>
        <language>fa</language>
        <pubDate>2026-07-06 06:19:12</pubDate>
        <image>
            <url>https://files.virgool.io/upload/users/3101285/avatar/I9xS6f.jpg?height=120&amp;width=120</url>
            <title>Alireza ARB</title>
            <link>https://virgool.io/@alirezaalpharb</link>
        </image>

                    <item>
                <title>تبلیغات باش، ولی من نمی‌بینمت</title>
                <link>https://virgool.io/@alirezaalpharb/%D8%AA%D8%A8%D9%84%DB%8C%D8%BA%D8%A7%D8%AA-%D8%A8%D8%A7%D8%B4%D9%87-%D9%88%D9%84%DB%8C-%D9%85%D9%86-%D9%86%D9%85%DB%8C-%D8%A8%DB%8C%D9%86%D9%85%D8%AA-on5ub82rcanr</link>
                <description>به نام خداسلام دوستان👋، امیدوارم حالتون خوب باشه.امروز با یه موضوع اومدم خدمتتون: یوتیوب!این روزها دیگه یوتیوب بخش جدایی‌ناپذیر زندگی خیلی از ماست. برای یادگیری، سرگرمی، گوش دادن به موسیقی یا حتی گذروندن وقت آزاد، خیلی‌ها به این پلتفرم پناه می‌برن. یوتیوب تقریباً تبدیل شده به خونه‌ی دوم خیلی از ما ( البته شاید اینستاگرام خونه دوم خیلی از ما ها باشه 😁).اما یه چیزی هست که این روزها واقعاً داره آزارم میده: محتوا! 😤اگه یه مدت تو یوتیوب بچرخی، حتماً متوجه تبلیغات و تامبنیل‌هایی میشی که بعضاً محتوای آزاردهنده و نامناسب دارن؛ محتوایی که نه به درد بچه‌ها می‌خوره و نه حتی به درد خود ما بزرگ‌ترها. ولی خب چیکار باید کرد؟ به خاطر این چیزها از یوتیوب دست بکشیم؟ بریم اینستاگرام؟ که خودتون می‌دونید وضعیتش از یوتیوب هم بدتر شده.ممکنه بگیم «کاش سازنده‌های محتوا و تبلیغات‌دهنده‌ها یه کم بیشتر به فکر مخاطب باشن»، اما خب، ما چند نفریم؟ چندتا آدم که از این محتواها خوششون نمیاد؟ در مقابل، کلی کاربر هستن که از همین محتواها لذت می‌برن. فضای مجازی هم تا حدودی آزاده و هر کسی حق داره هر محتوایی رو که دوست داره تولید کنه.اگه به اونا اعتراض کنیم، احتمالاً می‌گن: «نبینش!» یا «گوشی رو از بچه‌ات بگیر!» ولی آیا این راه حل مناسبیه؟ فکر نمی‌کنم.ادبلاکر (AdBlocker) نه، راه‌حل من چیز دیگه‌ای بود!خیلی از افراد تو همچین شرایطی اولین کاری که می‌کنن نصب یه ادبلاکر قویه. منم اولش به این فکر کردم، ولی یه سوال برام پیش اومد: «آیا این کار درستیه؟»سازنده‌های محتوا و خود یوتیوب از همین تبلیغات درآمد دارن و اگر همه ادبلاکر نصب کنیم، به اقتصاد محتوا ضربه می‌زنیم. از طرفی، قوانین یوتیوب صراحتاً می‌گه که حق نداری تبلیغات رو حذف یا اسکیپ کنی.پس به جای اینکه قوانین رو دور بزنم، تصمیم گرفتم یه راه‌حل شخصی برای خودم پیدا کنم.معرفی راه‌حل: «ندیدن تبلیغات» بدون حذفشون!چند وقت پیش تصمیم گرفتم یه اپلیکیشن ساده برای خودم بنویسم که فقط یه کار انجام بده: تبلیغات رو از دید من پنهان کنه، اما اون‌ها رو حذف نکنه!یعنی تبلیغات همچنان پخش می‌شن، همچنان صدا دارن و یوتیوب پولش رو می‌گیره، اما من به جای دیدن اون محتوای آزاردهنده، فقط یه صفحه‌ی مشکی می‌بینم. همچنین تامبنیل‌هایی که تصاویر عجیب و غریب دارن رو با یه افکت «محو» (Blur) می‌پوشونم تا جذابیت بصری‌شون از بین بره.نتیجه‌ش شد یه اپلیکیشن به اسم Alphanix YouTube که دقیقاً همین کار رو می‌کنه:یه لایه مشکی روی همه‌ی تبلیغات می‌ندازه (حتی تبلیغات شورت‌ویدئوها).تمام تامبنیل‌های ویدیوها رو محو می‌کنه تا محتوای تحریک‌آمیز جذابیت بصریش رو از دست بده.و مهم‌تر از همه، هیچ تبلیغی رو حذف نمی‌کنه!چطور می‌تونم امتحانش کنم؟اگه شما هم از این همه محتوای ناخوشایند تو یوتیوب خسته شدین، پیشنهاد می‌کنم یه بار این اپلیکیشن رو امتحان کنین.لینک دانلود و کد منبع:https://github.com/AlphanixARB/AlphanixYoutubeکافیه فایل app-release.apk رو از بخش Releases دانلود و روی گوشی اندرویدتون نصب کنین.آخرین حرفشاید بگین که چرا از اپ‌های جایگزین مثل Revanced استفاده نمی‌کنم؟ باید بگم اون‌ها تبلیغات رو کامل حذف می‌کنن و این کار به نظر من اخلاقی نیست، چون تولیدکنندگان محتوا از همین تبلیغات درآمد دارن.این پروژه برای من یه سرگرمی بود، اما حالا خوشحال می‌شم اگر به کارتون بیاد و ازش استفاده کنین. اگه ایده‌ای برای بهتر شدنش دارین یا باگی پیدا کردین، خوشحال می‌شم که با هم رفعش کنیم. این اپلیکیشن متن‌باز (Open Source) هست و هر کسی می‌تونه در توسعه‌اش سهیم باشه.پس اگه دوست داشتین، سر بزنین به پروژه و اگه براتون مفید بود، خوشحال می‌شم که با دیگران هم به اشتراک بذارین.به امید اینکه فضای مجازی تبدیل به محیطی تمیزتر و سالم‌تر برای همه‌مون بشه. 🙏</description>
                <category>Alireza ARB</category>
                <author>Alireza ARB</author>
                <pubDate>Sun, 28 Jun 2026 11:54:57 +0330</pubDate>
            </item>
                    <item>
                <title>اصل آفبا در پایتون!!!</title>
                <link>https://virgool.io/@alirezaalpharb/%D8%A7%D8%B5%D9%84-%D8%A2%D9%81%D8%A8%D8%A7-%D8%AF%D8%B1-%D9%BE%D8%A7%DB%8C%D8%AA%D9%88%D9%86-u4rze8dqedaj</link>
                <description>سلام به همه دوستان عزیزچند وقت پیش داشتم شیمی می خوندم که به قسمت اصل آفبا رسیدم و بعد از چند بار خوندن تقریبا متوجه موضوعش شدم( تقریبااااا)زد به سرم که این اصل رو با پایتون بنویسم تا هم یه تمرینی کرده باشم و هم اینکه متوجه خود اصل آفبا شده باشم.نحوه ساختاول تو اینترنت شروع به تحقیق درباره خود اصل آفبا کردم و بعد که یکسری اطلاعات دستگیرم شد شروع به کد نویسی کردم.ابتدا پیشنهاد میکنم که یک توضیح کلی درباره اصل آفبا رو در سایت فرادرس مطالعه کنید: https://blog.faradars.org/%D8%A7%D8%B5%D9%84-%D8%A2%D9%81%D8%A8%D8%A7/ خب اول کتابخونه مورد نیازمون رو وارد میکنیم (ولی شما اول باید نصبش کنید):import unicodeitبا این کتابخونه قرار تعداد الکترون هر اوربیتال رو به صورت توان در بالاش بنویسیم. مثال: 1s²بعد متغیر هام رو نوشتم:capacity = [(&#039;s&#039;, 2), (&#039;p&#039;, 6), (&#039;d&#039;, 10), (&#039;f&#039;, 14), (&#039;g&#039;, 18)]
orbitals = [
&#039;1s&#039;, &#039;2s&#039;, &#039;2p&#039;, &#039;3s&#039;, &#039;3p&#039;, &#039;4s&#039;, &#039;3d&#039;, &#039;4p&#039;, &#039;5s&#039;, &#039;4d&#039;, &#039;5p&#039;, &#039;6s&#039;,
&#039;4f&#039;, &#039;5d&#039;, &#039;6p&#039;, &#039;7s&#039;, &#039;5f&#039;, &#039;6d&#039;, &#039;7p&#039;, &#039;8s&#039;, &#039;5g&#039;, &#039;6f&#039;, &#039;7d&#039;, &#039;8p&#039;
]
output = []
atomic_number = int(input(&#039;Please enter the atomic number : &#039;))خب همون طور که میدونید هر اتم دارای زیر لایه هایی است که با الکترون ها پر میشن و تعداد این الکترون ها هم در حالت خنثی اتم با تعداد پروتون های همون اتم برابر میکنه. و از طرفی این لایه ها هم ظرفیت مشخصی دارن که در صورت پر شدن شون، لایه بعد شروع به پر شدن میشه تا زمانی که الکترون ها تموم بشن.بریم که کد بالا رو توضیح بدم : تو خط اول ما متغیر capacity یا ظرفیت رو داریم که ظرفیت هر لایه رو مشخص میکنه( برای مثال ظرفیت اوربیتال‌ s برابر 2 هست و وقتی پر بشه میره سراغ اوربیتال‌ بعدی)تو خط بعدی هم متغیر orbitals رو تعریف کردیم که داخلش تعداد اوربیتال ها رو به ترتیب بصورت یک لیست ذخیره کردیم.متغیر بعدی هم به نام output هست که آرایش الکترونی نهایی ما رو تو خودش ذخیره میکنه.و در آخر هم متغیر atomic_number یا عدد اتمی رو داریم که مقدارش برابر یک ورودی هست که از کاربر میگیره( ورودی هم همون عدد اتمی هستش)بعد میریم سراغ بقیه کد:for orbital in orbitals:
      for x, y in capacity:
          if orbital[1] == x and atomic_number &gt; 0:
             if atomic_number &gt;= y:
                    atomic_number = atomic_number - y
                    output.append(unicodeit.replace(f&#039;{orbital}^{y}&#039;))
             elif atomic_number &lt; y:
                 output.append(unicodeit.replace(f&#039;{orbital}^{atomic_number}&#039;))
                 atomic_number = 0
print(&#039; &#039;.join(output))تو خط اول ما اومدیم و یه حلقه for نوشتیم که وظیفش بررسی تک تک اعضای متغیر orbitals هستش، هدف از این کار این بود که وقتی مثلا اوربیتال 1s پر شد بره سراغ اوربیتال بعدی یعنی 2s و همینطور ادامه بده تا زمانی که عدد اتمی ما صفر بشه( که تو ادامه توضیح میدم چه شکلی این اتفاق میفته)تو خط بعدی هم مثل خط قبلی دوباره ما از حلقه for برای متغیر capacity استفاده کردیم با این تفاوت که تو این متغیر هر عضوش دو تا متغیر دیگه به ما میده که یکیش اوربیتال هستش(x) و متغیر بعدی(y) هم ظرفیت اون لایه اوربیتال هستش.( برای مثال ظرفیت اوربیتال s برابر 2 هستش (x = s، y = 2))بعد اومدیم و تو خط بعدی یه if نوشتیم که بررسی میکنه اگر حرف دوم متغیر orbital برابر x شد و عدد اتمی بزرگتر از 0 بود بره سراغ کد بعدی...و در خط بعدی دوباره یه if نوشتیم که اگر atomic_number بزرگتر یا مساوی y ( ظرفیت ) بود، بیاد و atomic_number از  y کم کنه و مقدارش رو بریز تو خودش یعنی atomic_number ،و تو خط بعدی میایم در متغیر output با استفاده از کتابخونه unicodeit، اوربیتال ساخته شده رو همراه با تعداد الکترون های جا شدش رو ذخیره میکنیم.تو باقی کد هم اومدیم و یه elif قرار دادم که اگر atomic_number کوچکتر از y شد بیاد و به متغیر output، اوربیتال همراه با تعداد الکترون باقی مانده رو اضافه کنه و تو خط بعدی هم با استفاده از دستور پرینت، آرایش الکترونی مورد نظرمون رو چاپ کردیم. روند کار این شکلی هستش که اگر عدد اتمی بزرگتر از ظرفیت اوربیتال شد بیاد و مقدار کامل همون ظرفیت رو تو همون لایه قرار بده و بعد از خود  عدد اتمی کم کنه و بعد دوباره این کار رو انقدر تکرار کنه که شرط elif شروع به کار کنه و اون هم بجای اینکه ظرفیت لایه رو برای خودش بزاره میاد و تعداد الکترون باقی مانده رو برای خودش قرار میده.شرمنده اگه طرز بیانم خوب نبود تو نشون دادن الگوریتمش🙏خروجی:یه نکته رو بگم که بعضی از آرایش های الکترونی که این کد نشون میده درست نیست زیاد، مثلا آرایش الکترونی عنصر کروم بصورت صحیح این هستش:۱s² 2s² 2p⁶ 3s² 3p⁶ 3d⁵ 4s¹ولی آرایش الکترونی که کد نشون میده این هستش:1s² 2s² 2p⁶ 3s² 3p⁶ 4s² 3d⁴خوشحال میشم اگه پیشنهاد یا انتقادی دارید رو برام کامنت کنید. توییتر : https://twitter.com/AlirezaBor92578لینکدین: www.linkedin.com/in/alireza-borzouei</description>
                <category>Alireza ARB</category>
                <author>Alireza ARB</author>
                <pubDate>Mon, 19 Feb 2024 16:28:42 +0330</pubDate>
            </item>
                    <item>
                <title>اولین بازیم منتشر شد!! Dice &amp; Rocket</title>
                <link>https://virgool.io/@alirezaalpharb/%D8%A7%D9%88%D9%84%DB%8C%D9%86-%D8%A8%D8%A7%D8%B2%DB%8C%D9%85-%D9%85%D9%86%D8%AA%D8%B4%D8%B1-%D8%B4%D8%AF-dice-rocket-whqgdrm1jwq0</link>
                <description>سلام به دوستان عزیز👋بعد چند وقت دوری از یونیتی و بازی سازی تصمیم گرفتم که یک بارم شده بازی ای بسازم و منتشر کنم و خداروشکر این کار رو کردم.ایده و چطوری این بازی رو ساختم؟یک روز که داشتم داخل پینترست می چرخیدم یک کلیپی دیدم که درباره بازی بود که بصورت دو نفره و فیزیکی انجام می شد.برام جالب بود.به سرم زد که این بازی رو از دنیای واقعی وارد دنیای مجازی کنم پس نشستم پایه سیستم و یونیتی 2021 رو که از قبل نصب کرده بودم( گفتم شاید یه روزی ازش استفاده کنم ) رو باز کردم و صدا ها و مدل های گرافیکی و اسپرایت ها رو از اینترنت دانلود کردم و بعد شروع به ساختنش کردم(اون هایی که کپی رایت شون آزاد هست).فعلا بازی رو برای دستگاه های اندرویدی منتشر کردم.بازی هنوز مشکلاتی داره که دارم حلش میکنم ولی میشه ازش استفاده کرد .کد هاش رو تو گیت هاب منتشر کردم که اگه خواستید به بازی چیزی اضافه کنید یا تو توسعه اش کمکم کنید براتون راحت باشه.این بازی زیر لایسنس GPL-3.0 است.لینک دانلود بازی:https://github.com/AlirezaARBAlpha/Dice-Rocket/releases/download/v1.0/Dice.Rocket.apkسورس کد:https://github.com/AlirezaARBAlpha/Dice-Rocketتشکر می کنم که تا اینجا با من بودید🙏🌹.</description>
                <category>Alireza ARB</category>
                <author>Alireza ARB</author>
                <pubDate>Sat, 03 Feb 2024 21:06:49 +0330</pubDate>
            </item>
            </channel>
</rss>