<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
    <channel>
        <title>نوشته های Ali Akbar Azizi</title>
        <link>https://virgool.io/feed/@cooper</link>
        <description>برنامه نویس در نوین هاب</description>
        <language>fa</language>
        <pubDate>2026-06-17 05:54:08</pubDate>
        <image>
            <url>https://files.virgool.io/upload/users/140677/avatar/avatar.png?height=120&amp;width=120</url>
            <title>Ali Akbar Azizi</title>
            <link>https://virgool.io/@cooper</link>
        </image>

                    <item>
                <title>اینستاگرام و مشکلات توسعه دهنگان</title>
                <link>https://virgool.io/hamyar-instagram/%D8%A7%DB%8C%D9%86%D8%B3%D8%AA%D8%A7%DA%AF%D8%B1%D8%A7%D9%85-%D9%88-%D9%85%D8%B4%DA%A9%D9%84%D8%A7%D8%AA-%D8%AA%D9%88%D8%B3%D8%B9%D9%87-%D8%AF%D9%87%D9%86%DA%AF%D8%A7%D9%86-dc92nxipj50q</link>
                <description>اینستاگرام یک شبکه اجتماعی هست که تو ایران به شدت معروف هست، واسه همین اکثر کسب و کار ها میرن سراغش، و خوب وقتی کسب و کار ها وارد یک محیط میشن کنارش ابزار هایی نیاز میشه که سهولت بده به کار کسب و کار ها. خب حالا که اینستاگرام مورد توجه قرار گرفته، جای خالی ابزار ها حس میشه. یه سری سایت ها میان کمک میکنن به کسب و کار ها که بتونن شبکه های اجتماعیشونو راحت تر مدیریت کنن.برای این منظور شبکه اجتماعی میاد یه رابط برنامه نویسی ( API ) ارائه میده که توسعه دهندگان میتونن به کمک اون تغییرات مورد نیازشون رو در شبکه های اجتماعی واسه کسب کار ها ارائه بدن.خب اینستاگرام چی کم داره؟ اکثر امکانات اینستاگرام روی گوشی هست و این چیزی هست که کسب و کار ها دوست ندارن. کسب و کار ها میخوان بیان تو سایت و مدیریت لازم رو انجام بدن.واسه اینکه چنین چیزی ممکن باشه اینستاگرام باید API ارائه بده که ابزار ها بتونن به کمک اون شبکه های اجتماعی رو مدیریت کنن و خب داستان اینجا شروع میشه.اینستاگرام قبل از اینکه توسط فیسبوک خریداری بشه API  محدودی تو بخش های آنالیز و کامنت داشت. بخش انتشار پست هم که اصلا نداشت. خب این قابل درک هست از اونجایی که تیم اولیه اینستاگرام خیلی کوچیک تر از اونی بود که بتونه سریعا تمام بخش ها رو اضافه کنه.وقتی فیسبوک اینستاگرام رو خرید قضیه کلا فرق کرد، فیسبوک میخواست اینستاگرام و فیسبوک رو کاملا به هم لینک کنه و اینکار رو هم کرد، برای مثال الان شما میتونید تو فیسبوک یک پست اضافه کنید که همزمان تو  اینستاگرام هم بره یا برعکس که یه سری مراحل رو قبلش باید انجام بدید.خب فیسبوک خودش تو زمینه API خیلی کامله و کلی مباحث جدید رو برای اولین بار تو API معرفی کرد. برای مثال graphql که میتونستی با API مثل دیتابیس برخورد کنی ( که البته این حذف شد بعدا )حالا که اینستاگرام هم بخشی از فیسبوک شده، فیسبوک اومد اعلام کرد که API اینستاگرام مرحله به مرحله حذف میشه و به جاش باید با API فیسبوک، اینستاگرام رو مدیریت کرد.خب این اولش خبر خوبی بود، API کامنت و آنالیز اضافه شد، بالاخره API برای انتشار پست اضافه شد که تو مرحله بتا رفت.ولی کلا قضیه عوض شدبرنامه فیسبوک این بود که در اوایل سایت 2019 تغییرات اینستاگرام نهایی بشه و api  انتشار پست هم عمومی بشه. ولی خبری از هیچی نبود.از طرفی انتشار پست اینستاگرام تو مرحله بتا، واسه partner های فیسبوک و اینستاگرام قابل دسترسی بود. پس ابزار ها اومدن درخواست همکاری بدن که فیسبوک سریعا بخش انتشار و مدیریت پست رو از همکاری برداشت و گفت ظرفیت تکمیله.این وسط  hootsuite، buffer و چند ابزار که از قبل partner فیسبوک بودن تونستن به این api دسترسی پیدا کنن. البته این بخش نواقصی داره، مثلا آلبوم پشتیبانی نمیکنه یا لوکیشن یا خیلی از امکانات.راه حلی که فیسبوک واسه بقیه ارائه داده share to instagram هست که فقط هم از موبایل با اپلیکیشن میشه. و این امکانات بیشتری به نسبت انتشار پست داره، برای مثال میشه زمینه استوری رنگش رو تعیین کرد.و خب بافر اومد ازین استفاده کرد و به جای انتشار پست اگه اپلیکیشنش رو نصب کنید براتون پوش نوتیف میاد که با کلیک روش میتونید دستی پست رو منتشر کنید ( میدونم مسخره به نظر میرسه، ولی واقعا راه بهتری نیست! )خب تا اینجا یه سری سایت ها تونستن api بتا رو استفاده کنن که اون هم خیلی محدود هست و بقیه هم منتظر بودن اوایل 2019 برسه.این انتظار ادامه داشت که کلا فیسبوک داکیومنت این بخش هم پاک کرد و به نوعی گفت این بخش اصلا از بتا در نمیاد و کلا حذف میشه.البته این رو هم اضافه کنم تحریم ها علیه ایران هم جاشون خالی نیست، شما اصلا نمیتونید به عنوان شرکت ایرانی درخواست همکاری با فیسبوک بدید.به طول خلاصه بگم داستان های زیر هستتنها راه انتشار  رسمی مستقیم به اینستاگرام فقط برای چند سایت محدود قابل دسترس هست و بقیه نمیتونن استفاده کنن و نخواهند توانست.میشه از روش share استفاده کرد که واقعا مسخره هست، شما باید اپلیکیشن سرویس رو نصب کنید و به جای اینکه پستتون خودکار منتشر بشه بهتون یادآوری میشه که دستی منتشر کنید ( فقط نقش یادآوری رو داره )بخش های دیگه API مثل آنالیز و کامنت محدودیت های خیلی زیادی داره، برای مثال نرخ مشارکت در آنالیز رو نمیتونید بر اساس کل اکانت بگیرید و میتونید فقط بر اساس پست اونم نه بر اساس تاریخ، بلکه یه عدد کلی بگیرید که این خودش یه داستان بزرگهبخش کامنت هم محدودیت هایی داره، خطاهای عجیب غریب زیادی هست، و تازه IGTV اصلا تو هیچ بخشی پشتیبانی نمیشه.خود API هم خطاهای زیادی داره، برای مثال این آمار و نمودار زیر توسط بافر منتشر شده که نرخ خطای ارسال کامنت هستخطاهای فیسبوک تو بازه های زمانی حتی به 15 درصد میرسه که این عدد خیلی زیادهخب راه حل چی هست؟این وسط یه سری ها اومدن api اینستاگرام که خود اپلیکیشن با سرورشون در تماس هست رو مهندسی معکوس کردن که خودش یک داستان پیچیده هست. برای مثال شما نمیتونید https رو وقتی certificate نصب میکنید، sniff کنید. داستان ازین قراره که اندورید یه امکان جدید ارائه داده که اپ ها میتون certificate سیستم رو کلا در نظر نگیرن برای اطلاعات بیشتر اینجا رو ببینید، که برای حلش باید app رو مجددا compile کنید و تغییرات رو در بایت کد جاوا و فایل manifest اعمال کنید.این باعث شد api غیر رسمی به وجود بیاد که معروف ترینشون کتابخونه php بود که توسط اکانت mgp25 تو گیت هاب نوشته شد و بعد اون نسخه های مختلف برای زبان های پایتون، C#، جاوااسکریپت و ... اومد.اینجا جنگ بین مهندسی معکوس و اینستاگرام رخ داد، اینستاگرام مدام محدودیت هایی میگذاشت که حتی باعث میشد کاربرای خودش هم به مشکل بخورن، برای مثال تو یه بازه زمانی کپشن های پست ها بی دلیل با اپ خود اینستاگرام پاک می شدن.این داستان ادامه داشت که افرادی که کتابخونه ها رو می نوشتن به این نتیجه رسیدن که این محصول باید پولی بشه و اشتراک premium اضافه کردناز طرفی فیسبوک پیگیری کرد و کتابخانه معروف mgp25 تو گیت هاب کاملا پاک شد.مساله فقط اینجا نیست، فیسبوک یه حرکت خیلی زیرکانه برای جلوگیری از کتابخونه ها زد که البته باعث شد کاربرا با فیلتر شکن تو کار کردن با اینستاگرام به مشکل بخورن. مساله اینجا بود که اکثرا کاربر ها با اینترنت موبایل یا ISP به اینستاگرام وصل میشن و فیسبوک اومد محدودیت روی ip اعمال کرد. حالا اگه شما از کتابخونه ای استفاده کنید چون ای پی دیتاسنتر رو دارید نه اینترنت موبایل، پس به راحتی شناسایی میشید.جالبه بدونید که سره همین محدودیت و دور زدنش، پروکسی جدیدی به اسم mobile proxy به وجود اومد که به کمک اون میتونید ای پی گوشی بگیرید.به لطف اپراتور های ایران و تشکر از ایرانسل و همراه اول و رایتل، شما نمیتونید تو ایران ip ثابت بگیرید برای موبایل! البته ایرانسل یکم بهتره، فقط ip داخل خود ایران میده که عملا کاربردی نیست. ( دستشون درد نکنه! )و چون اینستاگرام به لوکیشین هم حساس هست عملا تو ایران این کاربردی نیست.یکی دیگه ازین مشکلات این روش این هست که کاربران باید یوزر پسورد خودشون رو تو ابزار بزنن و خود این کلی سوال برای کسب و کار ها به وجود میاره که چرا باید پسورد رو در اختیار بگذارند.این وسط کلی راه کار هایی هست که هرکدوم داستان خودشه و این داستان ها هر روز جدید تر میشه و مشکلات بیشتری میاره.فیسبوک تصمیم رو به نظر قطعی گرفته و اصلا قصد نداره چنین api رو منتشر کنه، ولی خب کسب و کار ها اینو نیاز میبینن و اینو ضعف ابزار ها میدونن، ولی قضیه اینه که محدودیت ها اینقدر زیاد هست که درست نیست این رو ضعف ابزار بگیماگه شما توسعه دهنده ابزاری هستید مثل من که در نوین هاب کار میکنم، احتمالا با این مشکلات کاملا آشنایی دارید و فهمدید که راه حل ثابتی برای این مشکلات نیست.اگه شما کسب و کاری هستید و تو ابزار هایی که استفاده میکنید مشکلات میبینید، علت این مشکلات موارد بالا هست. در واقع این مشکلات هر روز نوع جدیدی داره چون این جنگ بین فیسبوک و ابزار ها باقی مونده.</description>
                <category>Ali Akbar Azizi</category>
                <author>Ali Akbar Azizi</author>
                <pubDate>Sun, 10 Jan 2021 16:43:18 +0330</pubDate>
            </item>
                    <item>
                <title>های وب، دیجی کالا، ایرانسل. مشکلات من در طی یک هفته!</title>
                <link>https://virgool.io/@cooper/%D9%87%D8%A7%DB%8C-%D9%88%D8%A8-%D8%AF%DB%8C%D8%AC%DB%8C-%DA%A9%D8%A7%D9%84%D8%A7-%D8%A7%DB%8C%D8%B1%D8%A7%D9%86%D8%B3%D9%84-%D9%85%D8%B4%DA%A9%D9%84%D8%A7%D8%AA-%D9%85%D9%86-%D8%AF%D8%B1-%D8%B7%DB%8C-%DB%8C%DA%A9-%D9%87%D9%81%D8%AA%D9%87-mmw7r8qrdcc8</link>
                <description>دیجی کالاخرید، پرداخت، شروع شد!تحویل چهارشنبه ساعت 9 تا 21ساعت 20، زنگ زدم دیجی کالا+سلام، اقا این سفارش چی شد-سلام کدوم؟+فلان سفارش-اهان، سفارش شما هنوز ارسال نشده!+اقا، اسمس دادید صبح که تحویل مامور ارسال شده، یعنی رسیده دیگه، بار اولم نیست خرید میکنم-نه اینجا هیچ اسمسی نیومده براتون+اقا، اینجا اومده کد سفارشم دقیقا همینه-نه اسمس نیومده!+یعنی چی؟ اسمس اینجا هست، خب اومده پس، وقتی اونجا نمیزنه پنلتون مشکل داره، من چیکار کنم-خب هیچی دیگه نیومده، امر دیگه باشه در خدمتم+اقا، اصلا نیومده، چرا ارسال نشده؟ مگه امروز نباید بدید؟-نیومده دیگه!+یعنی چی، سفارش باید امروز برسه به دستم، یعنی چی ارسال نشده، 2 تا اسمسم دادید، یکی ارسال به شهر، یکی تحویل به مامور ارسال-اقا نیومده میگم! ( کم مونده فحش بده! )+عزیز من، خب نیومده باشه، الان میخوام پیگیری کنید چرا نیومده-نمیشه که، هنوز نیومده! که پیگیری کنم+اقا، من الان چیکار کنم؟-خب شما میگی اسمس اومده، میاد دیگه دستت امشب تا ساعت 10!+باش!ساعت 12 شب رفتم تو سایت بخش پشتیبانی انلاین+اومد این سفارش ما؟-نیومده،+پیگیری کنید-زنگ میزنن+من شکایت دارم بابت تاخیر-زنگ میزنن+خیلی لطف کردید.کلا مشتری واسه این شرکت ها هیچ ارزشی نداره.</description>
                <category>Ali Akbar Azizi</category>
                <author>Ali Akbar Azizi</author>
                <pubDate>Thu, 14 May 2020 07:46:43 +0430</pubDate>
            </item>
                    <item>
                <title>های وب، دیجی کالا، ایرانسل. مشکلات من در طی یک هفته!</title>
                <link>https://virgool.io/@cooper/%D9%87%D8%A7%DB%8C-%D9%88%D8%A8-%D8%AF%DB%8C%D8%AC%DB%8C-%DA%A9%D8%A7%D9%84%D8%A7-%D8%A7%DB%8C%D8%B1%D8%A7%D9%86%D8%B3%D9%84-%D9%85%D8%B4%DA%A9%D9%84%D8%A7%D8%AA-%D9%85%D9%86-%D8%AF%D8%B1-%D8%B7%DB%8C-%DB%8C%DA%A9-%D9%87%D9%81%D8%AA%D9%87-w0jxd2wcdbv6</link>
                <description>جالبه، کلا مسائل و مشکلات این شرکت ها رو هیچ کس نیست پاسخگو باشه، حداقل یکم احترام بزارید به مشتری!های وبمن درخواست تغییر خط تلفن دادم. یک هفته بعد تماس گرفتم و پیگیری کردم و به من گفتن به علت نقص مدارک، نامه شما از مخابرات برگشت خورده. جالبه، به ما میگن ما زنگ میزنیم، ولی هیچکسی زنگ نزد که من زودتر پیگیری کنم.خب من رفتم مخابرات و گفتند مشکلی نداره خط شما. دوباره تماس گرفتم و دوباره نامه رانژه خط رو زدند و بدون مشکل خطم وصل شد.های وب سیاست خیلی خنده داری پیش گرفته. به پشتیبانیش فنی نمیتونی زنگ بزنی، زنگ میزنی درخواست ثب میشه و بهت زنگ میزنن! وای خدا! اگه زنگ بزنن!خطم رانژه شد ولی اینترنت من قطع، پنلم رو بسته بودن! من تماس گرفتم، گفتن خط شما رانژه نشده. حالا بیا ثابت کن آقا خط رانژه هست! مگه قبول میکنن! میگن اینجا نزده، مطمئنی چراغ مودم روشنه؟ والا ادم میمونه چی بگه! از طرفی هم بخش فروش بودن گفتن درخواست میزنیم تماس میگیرن.هیچی دیگه 48 ساعت صبر کردم، تا یکی زنگ بزنه تیک فعال سازی پنل رو بزنه!!حالا خط وصل شد، داستان نویز! - اقا خطم نویز داره.+ باشه باید بری سره خط دوباره درخواست بدی تا ما با شما زنگ بزنیم.- آقای عزیز، شما 48 ساعت طول میکشه زنگ بزنی، من برم 48 ساعت سره خط منتظر باشم؟ لطف کن قطع کن الان میرم پایینهیچی بدو بدو رفتم پایین مودم رو هوا آویزون، تلفن قطع شد!حالا من زنگ میزنم میگم اقا داستان اینه منو وصل کن پشتیبانی فنی، طرف میگه نمیشه باید درخواست بدی.هیچی دوباره زنگ زدم یه نفر گوش داد بالاخره به حرف من این مدت، گفت به ارشدم میگم تا بررسی کنه.بعد 20 دقیقه زنگ زد و بررسی نویز رو انجام داد، نامه زد برای بررسی نویز از مخابرات.-اقا کی معلوم میشه تکلیف من؟+72 ساعت کاری طول میکشه جوابش بیاد، شما فقط برو اینترنت بخر، بستت تموم شده!بعد 72 ساعت خبری نشد، زنگ زدم اقا چی شد؟  جواب نیومده هنوز!باشه!روز بعد:+اقا چی شد؟-جواب اومده، پنل رو اپدیت کردن نمیتونیم ببینیم!!+جان؟؟-نمیشه دیگه، یه تایم دیگه زنگ بزن+کی زنگ بزنم-هنوز اعلام نکردن کی درست میشه!!!!+خب الان چیکار کنم؟ میگید یه تایم دیگه، خب کی زنگ بزنم؟ -زنگ بزن حالا معلوم میشه!هیچی یه روز دیگه صبر کردم، اقا درست شد؟ نه هنوز مشکل داره. میشه دید خطت نویز داره ولی نمیشه!بالاخره ساعت 12 شب زنگ زدم یکی چک کرد.-خطت نویز از مخابرات داره کاری نمیشه کرد+خب سرویس رو جمع کنید هزینه من رو پس بدید-اخه درخواست نویز خط شما بازه، باید بخش فنی پیگیری کنه!+شما کی هستید الان مگه؟-بخش فنی دیگه!+عجب، چقدر طول میکشه؟-24 ساعت24 ساعت 24 ساعت 24 ساعت،  بالاخره 3 روز شد.+اقا چی شد؟-درخواستتون هنوز چک نشده+من میخوام شکایت ثبت کنم از شما-وارد پنل بشید از اونجا بزنیدساعت 11:55 شب! وارد پنل ثبت شکایت و تصویر زیرمن دوباره تماس گرفتم، اپراتور: ساعت کاری شرکت پایان یافته! تعداد افراد در صف انتظار 72 نفر! ساعت شده بود 12:01! رفتم تو سایت بخش تماس با مدیران، فرم رو میزدم صفحه سفید میشدرفتم صدای مشتری ثبت شکایت، ثبت شد بالاخره، ولی کد رهگیری رو میزنم چیزی نشون نمیده!نخرید اقا! های وب نخرید، من چندین ساله دارم و بعد این همه مدت اینجوری باهاتون رفتار میکنن!</description>
                <category>Ali Akbar Azizi</category>
                <author>Ali Akbar Azizi</author>
                <pubDate>Thu, 14 May 2020 07:38:39 +0430</pubDate>
            </item>
                    <item>
                <title>لذت کد نویسی ؟ آفرینش؟</title>
                <link>https://virgool.io/coderlife/%D9%84%D8%B0%D8%AA-%DA%A9%D8%AF-%D9%86%D9%88%DB%8C%D8%B3%DB%8C-%D8%A2%D9%81%D8%B1%DB%8C%D9%86%D8%B4-ly08twf0lefv</link>
                <description>کد زدن یک وسواس جالبی رو به من داده، کد ها تا می توانند باید ساده باشنددر نوشتن کد های سایت برای api بودم که تصمیم گرفتم تمام متد ها باید یک دستور باشند! ( یک ; ! )تصمیم عجیبی بود، و تو نوشتن تمام تلاشم رو کردم و به نتیجه ای که میخواستم رسیدم! من تونستم تمام کلاس ها رو جوری پیاده کنم که بتونم به صورت Fluent interface پیاده کنم و تقریبا تمام متد های API من شدن یک خط!واسه مثال این متد یکی از عملیات ها هستpublic function addMeta(\app\models\Ticket $model)
{  
   return $model
      -&gt;set(&#039;status&#039;, \app\models\Ticket::STATUS_ANSWERED)
      -&gt;save()
      -&gt;addMeta($this-&gt;input(&#039;content&#039;), $model-&gt;file);
}کلی بهم حال داد!جالب تر اینه که بعد گذشت تقریبا 1.5 سال، الان ازین روش استفاده نمیکنم که هیچ! کد هامو دارم تغییر میدم به روش دیگری!یک تصمیم گرفتم، پیاده کردم، فهمیدم از تصمیم من بهترم وجود داره!حالا اگه تصمیم رو نمیگرفتم به اینجا میرسیدم؟ </description>
                <category>Ali Akbar Azizi</category>
                <author>Ali Akbar Azizi</author>
                <pubDate>Wed, 26 Feb 2020 16:27:11 +0330</pubDate>
            </item>
            </channel>
</rss>