<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
    <channel>
        <title>نوشته های علی ریاحی‌پور</title>
        <link>https://virgool.io/feed/@alirp88</link>
        <description></description>
        <language>fa</language>
        <pubDate>2026-06-16 17:47:31</pubDate>
        <image>
            <url>https://files.virgool.io/upload/users/79/avatar/avatar.png?height=120&amp;width=120</url>
            <title>علی ریاحی‌پور</title>
            <link>https://virgool.io/@alirp88</link>
        </image>

                    <item>
                <title>Github Actions</title>
                <link>https://virgool.io/@alirp88/github-actions-qwaqexmyulq0</link>
                <description>چند وقتیه گیتهاب سرویس Github Actions رو معرفی کرده و من چند وقتی بود واسه دسترسی به بتاش ثبت نام کرده بودم. امروز به طور اتفاقی که داشتم یه پروژه سمپلی رو می‌نوشتم و پوش کردم روی گیتهاب دیدم یه تبی اضافه شده برام به همین نام سرویس جدیدشون و خو منطقا رفتم ببینم چطوری میشه فعالش کرد و این حرفها. وقتی تبش رو باز کردم ویزاردش رو دیدم و یه خرده بالا پایینش کردم دیدم Workflow آماده‌ای واسه سوییفت نداره. خو به همون Simple Workflowاش بسنده کردم و بازش کردم ببینم چطوری میشه اماده‌اش کرد واسه پروژه سوییفت.اولین چیزی که توجه‌ام رو جلب کرد اون قسمت &quot;on&quot; بود. چیزهای مختلفی رو میشه برای اینکه کی اجرا شه این workflow میشه انتخاب کرد، فعلا من همون push رو نگه داشتم.کار بعدی که انجام دادم اینکه پلتفرمی که قرار روش اجرا شه رو گذاشتم روی macOS-latest. بعد خو فایل رو همون توی محیط وبش کامیت کردم و دوباره رفتم به صفحه Actions اونجا دیدم داره یه چیزی اجرا میشه! وقتی بازش کردم دیدم echoهای سمپلی که توی فایل بود رو چاپ کرد. بعد خو دیگه بقیه‌اش خیلی عجیب غریب نبود برام اول &#x60;swift --version&#x60; رو گذاشتم ببینم چه نسخه‌ای از سوییفت روش نصبه و بعدش هم با یه &#x60;swift test&#x60; ساده اونو تستهاش رو اجرا کردم! مشخصا این قسمت رو میشه کلی جینگولگ اضافه کرد و کارهای دیگه انجام داد! یه مارکت هم واسه Actionهای اماده داره مثل پیغام فرستادن توی اسلک و تلگرام و ...</description>
                <category>علی ریاحی‌پور</category>
                <author>علی ریاحی‌پور</author>
                <pubDate>Thu, 12 Sep 2019 17:10:10 +0430</pubDate>
            </item>
                    <item>
                <title>سوئیفت لینت یا چطور مراقب کد خودمون باشیم</title>
                <link>https://virgool.io/@alirp88/%D8%B3%D9%88%D8%A6%DB%8C%D9%81%D8%AA-%D9%84%DB%8C%D9%86%D8%AA-%DB%8C%D8%A7-%DA%86%D8%B7%D9%88%D8%B1-%D9%85%D8%B1%D8%A7%D9%82%D8%A8-%DA%A9%D8%AF-%D8%AE%D9%88%D8%AF%D9%85%D9%88%D9%86-%D8%A8%D8%A7%D8%B4%DB%8C%D9%85-wannk0esoq1p</link>
                <description> https://github.com/realm/SwiftLint تو این مطلب میخوام در مورد سوئیفت لینت صحبت کنم و اینکه چرا به کمکش نیاز داریم توی پروژه‌هامون.  این ابزار بهمون کمک میکنه تا یه سری قوانین ساده که خیلی از ماها اتومات رعایت میکنیم رو به صورت اتوماتیکوار بهمون گوشزد کنه تا مثلا اگه کسی به پروژه اضافه شد و اون هم خواست روی همون پروژه کار کنه از اون قوانین تبعیت کنه! از قوانین ساده‌ای مثل موقع تعریف کردن متغییر یه اسپیس باید بعد &#x60;:&#x60; بزنیم تا قواعد پیچیده ای مثل اینکه من تو پروژه ام یه تابع دارم که بهم &#x60;Date&#x60; برمیگردونه و نمیخوام کسی خودش یه دونه جدید اینسنشیت (وات د ... instanciate) کنه.اولین کاری که باید بکنیم اینه که اونو رو سیستم خودمون نصب کنیم چندین روش مختلف توی خود README پروژه هس هر کدوم رو راحتترین انجام بدین. من خودم از روش Homebrewاش استفاده کردم روی سیستم خودم و با داکر توی gitlab-ci اجراش میکنم.بعد اینکه روی سیستم خودتون نصبش کردین این تیکه کد رو هم توی XCode تنظیمات پروژه اضافه کنین (یه دونه Run script اضافه کنین و این کد رو توش paste کنین) https://gist.github.com/alirp88/d09bcca82c3de01d0114198319567d6d خو حالا با هر بار اجرا و کامپایل برنامه‌اتون حضرت سوئیفت لینت برنامه اتون رو چک میکنه و بهتون اخطار میده که کجاها قوانین رو رعایت نکردین.خود سوییفت لینت یه حجمی قوانین پیش فرض داره که یه سریشون فعال و یه سریشون غیر فعاله لیست همه‌اشون رو میتونین اینجا ببینین. واسه فعال کردن یا غیر فعال کردن این قوانین یا اضافه کردن قوانین جدید یا تغییر دادن اون قوانین شما باید یه فایل &#x60;.swiftlint.yml&#x60; داشته باشین نمونه این فایل رو من اینجا قرار میدم https://gist.github.com/alirp88/f5fd04bdda591bdb1fbd403679ea2287 </description>
                <category>علی ریاحی‌پور</category>
                <author>علی ریاحی‌پور</author>
                <pubDate>Tue, 23 Oct 2018 11:55:32 +0330</pubDate>
            </item>
                    <item>
                <title>کنفرانس برنامه نویسی ایرانی</title>
                <link>https://virgool.io/@alirp88/%DA%A9%D9%86%D9%81%D8%B1%D8%A7%D9%86%D8%B3-%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D9%87-%D9%86%D9%88%DB%8C%D8%B3%DB%8C-%D8%A7%DB%8C%D8%B1%D8%A7%D9%86%DB%8C-hhcjhqycrahc</link>
                <description>من معمولا تو کنفرانس‌هایی که به عنوان برنامه نویسی توی ایران برگزار میشه شرکت نمیکنم چون تجربه آخری که داشتم و توی یکی از این کنفرانس‌ها شرکت کرده بودم این بود که اینا رو برگزار میکنن که شوآف کنن و بگن ما چقد خفنیم و هدفشون واقعا آموزش قضیه نبود. به قول این توییت زیر برای وقتم ارزش قائل بودم و توی این کنفرانسها شرکت نمیکردم. https://twitter.com/agharoobahe/status/964166496221122568 ولی امروز توی یه کنفرانس که نمیشه گفت توی یه نشست به نام NSTehran شرکت کردم که به نظرم مفید بود، هدفم از نوشتن این ویرگول هم البته خود این نشست نیس، میخوام یه موضوعی که توی اون نشست مطرح شد رو بنویسم.چرا مهمه که یه چیزی به جامعه برگردونیم؟ بحثی که مطرح شد این بود که اگه یه وبلاگی مثلا تو همین ویرگول باشه واسه انتشار موضوعات مرتبط به برنامه نویسی iOS چقد مایلین همکاری کنین؟ چقد حاضرین نشست بعدی NSTehran رو شما ارائه بدین؟خو تقریبا از یه جمعی که نزدیک ۳۰ نفر توش بودن اولش تقریبا هیشکی داوطلب نشد بعد ولی ۳ نفر گفتن اوکیه و رواله! خو خیلی عجیب بود واقعا. یه جوری همه همدیگه رو نیگا میکردیم که انگار خو چرا اصا باید یه مطلب بنویسیم؟ خو مگه همه چی انگلیسیش نیس؟ سرچ کنیم پیدا نمیشه؟ یکی برگشت گفت ما همون آدمهایی هستیم که حاضر نیستیم توی stackoverflow حتی یه upvote ساده بکنیم بگیم دادا دمت گرم اینو نوشتی کارمون رو راه انداختی. حاضر نیستیم یه تیکه اسکریپتی که نوشتیم رو بزاریم تو گیتهاب بقیه شاید به دردشون بخوره!تو یه ماه گذشته یه حرکت جالبی رو یه سری از همین برنامه‌نویس‌های جامعه خودمون شروع کردن مثل سالار و فرزاد (پیدا نکردم لینک یوتیوبش رو) و توحید. که خو نماد همین توییت فرزاده. https://twitter.com/euwars/status/959791124171907072  واقعااهمیتندارهچقدمخاطبدارین!اینویدیووایننوشتنهاباعثمیشهخودتونمفهومی‌تراونمسئلهرودرککنین.هرچیبیشتربنویسین،هرچیبیشترارائهبدینرویاونمسئلهماهرترمیشین. اینکه جامعه آماری آدمایی که میان و مطلب شما رو میبینین چقده توی مقدار شوآفتون تاثیر داره!!! اگه هدفتون آموزشه اولین کسی که از این نوشتن سود میبره مستقیم خودتونین.چقد مهمه که این مطالبی که مینویسین cutting edge باشه؟واقعا هیچی! همیشه یه نفری هس که از صفر داره شروع میکنه و حتی آموزش نصب کردن XCode هم براش مفیده! هنوز که هنوزه من یکی از بوکمارام نحوه تعریف کردن بلاک توی Objetive-Cه! چرا باید یکی بترسه از نوشتن یه مطلبی در مورد نصب pod؟ خوبه که مطالب فارسی روز به روز سطحش بره بالا! ولی همین الان برین سرچ کنین در مورد نصب pod ببینین چقد مطلب میاره۳۵۱هزار نتیجه گوگلبعله! ۳۵۱ هزار مطلب! حدود ۳۵۱هزار نفر نترسیدن از اولین نبودن و رفتن این مطلب رو آموزش دادن (حالا اغراق کردم یه حجم بینهایتیش تکراریه ولی پوینت رو رسوندم!)کم کم مطالب فارسی توی مسائل پیچیده تر هم زیاد میشه و اون افرادی که دنبال مسائل پیشرفته‌ترن هم کم کم میان سراغ مطالب فارسی نوشتن! این ذات تکامله! تا صفری وجود نداشته باشه آدمها به صد نمیرسن.من خودم جز دسته آدمهاییم که خو اوکی stackoverflow که میرم upvote میدم ولی تا حالا هیچ مطلب فارسی ننوشتم جایی و این اولین پستم توی ویرگوله! ولی مطمئنا آخرینش نخواهد بود و همین الان موضوع مطلب بعدی که میخوام بنویسم رو میدونم.</description>
                <category>علی ریاحی‌پور</category>
                <author>علی ریاحی‌پور</author>
                <pubDate>Thu, 15 Feb 2018 21:52:50 +0330</pubDate>
            </item>
            </channel>
</rss>