<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
    <channel>
        <title>نوشته های علی اکبر معینی</title>
        <link>https://virgool.io/feed/@Moeini</link>
        <description>برنامه نویس سرگرم با کتاب و کامپیوتر</description>
        <language>fa</language>
        <pubDate>2026-06-10 12:51:50</pubDate>
        <image>
            <url>https://files.virgool.io/upload/users/10698/avatar/YDwIUC.png?height=120&amp;width=120</url>
            <title>علی اکبر معینی</title>
            <link>https://virgool.io/@Moeini</link>
        </image>

                    <item>
                <title>اینفلوئنسرهای مجازیِ مجازی!</title>
                <link>https://virgool.io/@Moeini/%D8%A7%DB%8C%D9%86%D9%81%D9%84%D9%88%D8%A6%D9%86%D8%B3%D8%B1%D9%87%D8%A7%DB%8C-%D9%85%D8%AC%D8%A7%D8%B2%DB%8C%D9%90-%D9%85%D8%AC%D8%A7%D8%B2%DB%8C-qkud0vemamtr</link>
                <description>درحالی که احتمالا فاصله زیادی داشته باشیم با زمانی که با کاراکترهای ساختگی و ربات‌ها توی اجتماع تعامل داشته باشیم و توی خیابون در کنار هم راه بریم توی شبکه‌های اجتماعی و فضای مجازی چند سالی میشه که این تعامل شکل گرفته و با رشد بالایی هم داره جلو میره. توی چند سال اخیر که به شکل قارچ گونه اشخاص تشنه‌ی دیده شدن افزایش پیدا کردن و با انواع و اقسام تولید محتوا سعی در اینفلوئنسر شدن و کسب درآمد دارن، یکسری شرکت‌ها، آژانس‌های خلاقیت و هنرمندها هم به فکر خلق کاراکترها و اینفلوئنسرهای خودشون افتادن که هیچگونه وجود خارجی ندارن و تماما ساخته‌ی کامپیوترها هستن!Imma and Plusticboy این اشخاص و کاراکترهای مجازی حضورشون ماحصل همکاری انواع هنرمندان، سینماگران، متخصصین کامپیوتری و نویسنده‌هاست و این گردانندگان یا کارفرماهای این گردانندگان هستن که تصمیم میگیرن که کاراکتر چطوری زندگی بکنه، چه لباسی بپوشه، چطوری رفتار کنه، با کی ملاقات کنه، با کی تعامل داشته باشه، چه حرفی رو بزنه و چه تبلیغی رو بکنه و در نهایت هم تمام درآمدهاش متعلق به همین مالکین خواهد بود. شاید در ظاهر بنظر برسه که ایده مسخره‌ایه و افراد جامعه تمایلی به دنبال کردن کاراکترهای مجازی نخواهند داشت ولیاولا قرار نیست الزاما مخاطب از ساختگی بودن اینفلوئنسر خبردار باشه و در حال حاضر تعدادی از این اینفلوئنسرها با گرافیک بسیار بالایی تولید میشن که عملا تشخیص غیر واقعی بودنشون بسیار سخت و در آینده ناممکن خواهد بود،کما اینکه تعدادی از این اینفلوئنسرها تا زمانی که خودشون ساختگی بودنشون رو اعلام نکردن کسی به غیرواقعی بودنشون پی نبرده بوددوما در صورت دونستن ساختگی بودن کاراکتر هم داستان فرقی نمیکنه و با اینکه اغلب این اینفلوئنسرها کاراکترهای کارتونی دارن تا الان که دارم این متن رو مینویسم صدها کاراکتر مجازی به وجود اومدن که توی اینستاگرام عکس و فیلم میزارن، توی یوتیوب ویدئو، توی تیک‌تاک چالش اجرا میکنن و توی توییتر توییت میزنن و دنبال کننده‌های میلیونی هم جمع کردن! از طرفی سرمایه‌گذاری‌های سنگینی توی این حوزه شده و حتی شرکت های بزرگ هم به سمت تبلیغ توسط این کاراکترها کشیده شدن ممکنه بنظر نگران کننده و تهدید آمیز بیاد ولی به عقیده من به غیر از اینکه فرصت های جدیدی رو خلق میکنه، چندان تهدیدهای جدیدی به دنبال نداره هرچند این دو قابل مقایسه نیستن ولی بنظرم اتفاقی که با ظهور انیمیشن برای صنعت سینما افتاد با ظهور این کاراکترهای ساختگی هم برای فضای مجازی خواهد افتاد. اگر انیمیشن ظرفیت و فرصت‌های جدیدی رو به صنعت سینما اضافه کرد، ظهور کاراکتر‌های مجازیِ بدونِ وجودِ خارجی هم منشاء ظرفیت‌ها و فرصت‌های زیادی خواهد بود  قطعا بزودی شرکت‌ها و برندهای بزرگ هم به فکر ساخت پروفایل و جان بخشیدن به مِسکات‌هاشون (کاراکترهای تبلیغاتی برندها، نمونه‌های داخلیش مثل میمون چی‌توز، گاو برند روزانه) خواهند افتاد و سبک زندگی و نوع مصرف مورد نظر خودشون رو ترویج خواهند کرد  یا اینکه امکان بازسازی شخصیت‌های بزرگ تاریخی از روی تصاویر، شرح حال، آثار و خاطراتشون دسترس پذیرتر شده و میتونیم بزودی با کاراکترهای بازسازی شده از اینفلوئنسرهای طول تاریخ حداقل در فضای مجازی تعامل کنیم!  بنظرم الان دیگه توی دنیایی که قسمت The Waldo Moment سریال آیینه سیاه در سال ۲۰۱۳ به تصویر میکشید قرار داریم و  احتمالا بزودی خواهیم رسید به دنیای قسمت Be Right Back ش !  خلاصه اینکه ظرفیت‌ها رو بشنوسیم و حواسمون باشه مثل تئودور فیلم Her عاشق هوش‌مصنوعی نشیم :) https://www.instagram.com/p/CNM_Bq5Fbpr/ </description>
                <category>علی اکبر معینی</category>
                <author>علی اکبر معینی</author>
                <pubDate>Sat, 03 Apr 2021 17:28:43 +0430</pubDate>
            </item>
                    <item>
                <title>دینو ؛ جاوااسکریپت و تایپ‌اسکریپت قوی‌تر از قبل</title>
                <link>https://virgool.io/@Moeini/deno-biyxut0kev45</link>
                <description>دینوتقریباً ۲ سال از زمانی که Ryan Dahl خالق Node.js توی JSConf اشاره به ۱۰ تا از اشتباهات و مشکلاتی که توی نود‌جی‌اس وجود داره میکنه و در نهایت پروژه جدیدش تحت عنوان Deno رو معرفی کرد میگذره و یک هفته پیش دینو نسخه ۱ بطور رسمی منتشر شد و توجه های زیادی رو بخودش جلب کرد. دینو مشابه نود یک Runtime برای اجرای برنامه‌های جاوااسکریپت در محیط خارج از مرورگره ولی مزیت هایی داره که دقیقاً ضعف‌ها و مشکلات طراحی نود هستن و اصلاً همین مشکلات انگیزه شده برای کسی که نود رو ساخته بیاد و دینو رو بسازه.برای اینکه متوجه این مزیت‌ها بشیم بهتره با هم چندتا از مهم‌ترین تغییرات که محسوس‌تر و روشن‌تر هستن رو با هم یه مروری بکنیم:امنیت برنامه‌های جاوا اسکریپتی در مرورگر بدون اینکه امکان دسترسی مستقیم به فایل سیستم، شبکه و… رو داشته باشن بخوبی در یک محیط ایزوله و با امنیت بالا اجرا میشن ولی زمانی که برنامه‌ها بر روی نود اجرا میشن میتونن به همه چیز دسترسی داشته باشن در حالی که اکثر اوقات دسترسی های محدودی لازمه. مثلاً غالبا برنامه‌ها فقط با یک دایرکتوری خاص کار دارن ولی با نود عملاً به همه فایل سیستم دسترسی دارن. حالتی رو فرض کنید که یا خود برنامه باگ داره یا از کتابخونه‌ای استفاده میکنه که در نسخه جدیدش مثلاً این باگ رو داره که منجر میشه کل فایل‌های سیستم حذف بشه. با نود این اتفاق کاملاً شدنیه.حالا دینو میاد و برنامه رو بصورت پیشفرض بدون اجازه دسترسی اجرا میکنه ( شبیه مرورگر ) و اگر دسترسی خاصی لازمه باید هنگام اجرا مستقیماً به دینو اعلام بشه. چجوری؟ اینجوری :deno --allow-read=/var/tmp/ FirstDenoProgram.jsبه این ترتیب دینو اسکریپت FirstDenoProgram.js رو اجرا میکنه و فقط اجازه خواندن فایل سیستم از مسیر var/tmp/ رو به برنامه میده. و یا مثلا فرض کنید برای کار با شبکه، با دستور زیر برنامه فقط اجازه باز کردن سوکت به سایت google.com رو داره.deno --alow-net=google.comو به همین ترتیب امکان تفویض بقیه دسترسی ها رو به مجری برنامه میده.تحولات جاوااسکریپتنود سال ۲۰۰۹ طراحی و ساخته شد و چون زبان جاوا اسکریپت زبانی قدیمی و خاص منظوره بود، خیلی از نیازهایی که در برنامه‌نویسی سمت سرور وجود داشت رو پشتیبانی نمیکرد؛ برای حل این مشکل برای نیازهای نود از راهکارهای خاص نود استفاده کردن. ولی در نسخه ۶ اکمااسکریپت که در سال ۲۰۱۵ ارائه شد و نسخه های بعدی اون بسیاری از این نیاز ها پوشش داده شد، ویژگی هایی مثل Promise / Async / Await ، ES Modules ، Typed Arrays که میتونه در خارج از مرورگر هم استفاده بشه ولی به دلیل طراحی نود و حجم عظیم کتابخونه‌های توسعه داده شده با اون عملا این ارتقا رو سخت میکنه، تا جایی که قید این تغییر رو بزنن.دینو با هدف رفع این مشکل و استفاده کامل از امکانات ما بعد ۲۰۰۹ در زبان جاوااسکریپت طراحی شده و سعی میکنه حداکثر تشابه رو بین برنامه‌های مرورگر و سرور فراهم بکنه.سازگاری با مرورگرنود تقریبا بدون توجه به web-api مرورگرها مسیر خودش رو در پیش گرفت و نیازها رو حل کرد؛ این مسئله باعث سازگاری کمتر برنامه‌های نود با مرورگر شد. دینو در راستای هدف سازگاری بیشتر با برنامه‌های مرورگر تا حد امکان سعی کرده از api های مرورگر استفاده و پشتیبانی بکنه. طبیعتا محیط و هدف مرورگر با سرور و دسکتاپ متفاوته و نهایتا کمی ناسازگاری وجود خواهد داشت.تایپ اسکریپتType Scriptاحتمالا تا حالا تیکه‌هایی که به زبان جاوا اسکریپت انداخته میشه رو شنیدین. خیلی هاشون درسته و بی راه نیست و همین ضعف‌های طراحی زبان و داینامیک تایپ بودنش باعث شده توسعه برنامه‌های بزرگ با این زبان سخت بشه، به همین خاطر زبان های مختلفی مثل تایپ‌ اسکریپت ،کافی اسکریپت و ... به وجود اومدن که زبان های کامل‌تر و خوش ساخت‌تری هستن و توسعه محصول رو راحت میکنن و در نهایت تبدیل به کدهای جاوا اسکریپت شده و اجرا میشن. تو این داستان تایپ‌اسکریپت به واسطه جامعیت و طراحی خوبش محبوبیت بیشتری پیدا کرد و عملا بسیاری از برنامه‌ها به این زبان توسعه داده میشن. ولی هنوز هم کدهای تایپ‌اسکریپت برای اینکه بر روی نود اجرا بشن مجبورن به کدهای جاوااسکریپت تبدیل بشن و خب این مشکل ساز، زحمت‌زا و غیربهینه‌ست. دینو از اساس طراحی شده که هم قابلیت اجرای کدهای جاوا‌اسکریپت رو داشته باشه و هم تایپ‌اسکریپت؛ و این یک مزیت و بهبود بزرگ به شمار میره که زمینه فراگیری هرچه بیشتر تایپ‌اسکریپت رو هم فراهم میکنه.مدیریت وابستگی‌هاNPMدرون مرورگر برای استفاده از یک کتابخونه و اسکریپت خارجی از یه روش ساده و کارا استفاده میشه و اون اضافه کردن با آدرس اینترنتی اون هست. ولی زمانی که نود ساخته شد برای مدیریت وابستگی‌ها از سیستم NPM و دایرکتوری node_modules استفاده شد. ولی این سیستم باعث مناقشه ها و مشکلاتی شد از جمله وابستگی به یک سرور متمرکز، سیستم و الگوریتم‌های پیچیده مدیریت وابستگی‌ها و .... که این باعث شد دینو سیستم مدیریت وابستگی‌ها رو به همون شکل ساده مرورگر مدیریت بکنه و بگفته خالق دینو میره که جایگزین سیستم ماژول نود بشه. یعنی وارد کردن کتابخونه ها و اسکریپت ها از طریق آدرس نسبی یا مطلق. مثلا:import * from &amp;quothttps://deno.land/std/http/server.ts&amp;quotخب پس نسخه‌های مختلف کتابخونه‌ها چی میشن؟ توی url تعبیه میشن؛ دیگه باید آنلاین باشیم تا برنامه کار کنه؟ نه، شبیه npm که کتابخونه بار اول دانلود میشه و کش میشه، دینو هم به همین شکل کار میکنه و بار اول دانلود میکنه و کش میکنه و در درخواست‌های بعدی دیگه از اون استفاده میکنه.دینو مزیت‌های بسیار دیگه‌ای هم داره مثل ابزارهای داخلی برای توسعه (اجرا کننده تست، باندلر و ...)، کتابخونه‌های استاندارد کامل‌تر و ... که دیگه بحثش توی این مقاله نمی گنجه ولی اگه علاقه مند بودین میتونید به سایت خودش سر بزنید، هم بیشتر در موردش بخونید و هم کارکردن باهاش رو یادبگیرید. همون طور که گفتم در واقع دینو یک Runtime برای جاوا‌اسکریپت و تایپ‌اسکریپته و بجای زبان سی‌پلاس‌پلاس که نود باهاش توسعه داده شده با زبان Rust توسعه داده شده. دینو همچنان از موتور V8 استفاده میکنه ولی از لحاظ ساختار کاملا با نود متفاوته و با توجه به هدف، نوآوری‌هاش و خالق‌ش احتمالا در آینده نزدیک نود رو از تخت سلطنت پایین بکشه.کلا سه تا مطلب در مورد دینو توی ویرگول منتشر شده که اینجا براتون میزارم وقت کردین اونا رو هم بخونید مفیده. https://virgool.io/@arastu/%D8%AE%D9%84%D9%82-%D8%AF%D9%88%D8%A8%D8%A7%D8%B1%D9%87-%DB%8C%DA%A9-%D8%B1%D9%88%DB%8C%D8%A7-%D8%A7%D8%B2-node-%D8%A8%D9%87-deno-po4wvuwujmyz  https://virgool.io/@miscoder/%D8%A2%DB%8C%D8%A7-deno-%D9%85%DB%8C%D8%AA%D9%88%D9%86%D9%87-na45avvkhq1z  https://virgool.io/@disizali/hello-deno-rwekfui5nbm4 </description>
                <category>علی اکبر معینی</category>
                <author>علی اکبر معینی</author>
                <pubDate>Tue, 19 May 2020 05:44:14 +0430</pubDate>
            </item>
                    <item>
                <title>شروع سخت برنامه نویسی برای مبتدیان</title>
                <link>https://virgool.io/Rastech-Blog/%D8%B4%D8%B1%D9%88%D8%B9-%D8%B3%D8%AE%D8%AA-%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D9%87-%D9%86%D9%88%DB%8C%D8%B3%DB%8C-%D8%A8%D8%B1%D8%A7%DB%8C-%D9%85%D8%A8%D8%AA%D8%AF%DB%8C%D8%A7%D9%86-kgvbolqseeax</link>
                <description>یک راه یا بهترین راه برای یادگیری وجود نداره..هر کسی با یک یا چند روش یاد میگیره ، یکی با کلاس حضوری،یکی با ویدئو آموزشی ، یکی با کتاب ، یکی با مستندات اون زبان یا تکنولوژی و یکی با کد خوندن و سعی و خطا و یا اصلا راه های دیگهاینکه هر کسی با چه روش هایی راحت تره برای یادگیری ، بستگی به شخص داره و معمولا بعد از کمی پیشروی دست آدم میاد.برای افراد متوسط و حرفه‌ای مشخصه ولی مشکل برای تازه کار هاست که تازه میخوان برنامه نویسی رو شروع کنن و نمیدونن چی به چیه ، باید از کجا یادبگیرن و فضا براشون تاریکه به علاوه اینکه ابتدای کار شیرینی برنامه نویسی رو نچشیدن و پروژه ای هم ندارن که به شوق اون پیش برن. در این جور مواقع معمولا استفاده از روش های خودآموز (اعم از ویدئو،کتاب،سایت و...) زیاد جواب نمیده و بعد از یه ذره جلو رفتن یا سرد میشن یا یه جا گیر میکنن و بی خیال میشن..به عینه هم خودم اوایل این مشکل رو داشتم و هم خیلی از دوستان رو میدیدم که این مشکل رو داشتن و حتی بعضا کلا بیخیال این رشته شدنکلاس حضوری چندتا مزیت داره :- اولیش اینکه زمان بندی و سرفصل داره که اگر جایی هم دانشجو سرد یا بی حوصله شد ولی چون ثبت نام کرده ناچارا پیگیری میکنه و ولش نمیکنه- دومیش اینکه چه مبتدی و چه حرفه ای توی برنامه نویسی دائم به مشکل های اعصاب خرد کن میخوره ولی برنامه نویس مبتدی مشکلاتش زیادتر و دانشش محدودتره..از آماده سازی محیط توسعه بگیرید تا خطاها و باگ های برنامه . مزیتی که کلاس حضوری داره اینه که یه استاد حی و حاضر هست که هر جلسه ازش سئوال بپرسه و حضوری مشکلاتش رو حل کنه، که برای فرد مبتدی غنیمته- سوم اینکه آموزش حضوری منعطف تره..به این معنا که استاد و دانشجو در مقابل هم قرار دارن و هر جایی که روش بیان برای دانشجو مبهم باشه ،استاد با تغییر بیان یا توضیح بیشتر مطلب رو جا میندازه..که نسبت به روش های خودآموز ایستا کارا تره- چهارم اینکه غالب دوره های حضوری برنامه ریزی و سرفصلشون جوری تنظیم شده که برای افراد مبتدی مناسب باشن ( مگر اونایی که پسوند پیشرفته دارن) در حالی که آموزش های مجازی هر کدومشون یه سطحی دارن و غالبا پیش فرض هایی دارن که برای افراد مبتدی کار رو سخت میکننبه همین جهت به نظرم کلاس حضوری نقطه شروع خوبیه برای افراد مبتدی که تصمیم بر شروع این راه دارن</description>
                <category>علی اکبر معینی</category>
                <author>علی اکبر معینی</author>
                <pubDate>Sun, 07 Jul 2019 15:35:44 +0430</pubDate>
            </item>
            </channel>
</rss>