<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
    <channel>
        <title>نوشته های اسماعیل بحرانی فرد</title>
        <link>https://virgool.io/feed/@esmaeilbfd</link>
        <description>FullStack Developer</description>
        <language>fa</language>
        <pubDate>2026-04-15 06:56:57</pubDate>
        <image>
            <url>https://files.virgool.io/upload/users/22389/avatar/qNmeNZ.jpeg?height=120&amp;width=120</url>
            <title>اسماعیل بحرانی فرد</title>
            <link>https://virgool.io/@esmaeilbfd</link>
        </image>

                    <item>
                <title>پروژه سنج تعیین نرخ پروژه‌های نرم افزاری، با یک ابزار ساده!</title>
                <link>https://virgool.io/@esmaeilbfd/%D9%BE%D8%B1%D9%88%DA%98%D9%87-%D8%B3%D9%86%D8%AC-%D8%AA%D8%B9%DB%8C%DB%8C%D9%86-%D9%86%D8%B1%D8%AE-%D9%BE%D8%B1%D9%88%DA%98%D9%87-%D9%87%D8%A7%DB%8C-%D9%86%D8%B1%D9%85-%D8%A7%D9%81%D8%B2%D8%A7%D8%B1%DB%8C-%D8%A8%D8%A7-%DB%8C%DA%A9-%D8%A7%D8%A8%D8%B2%D8%A7%D8%B1-%D8%B3%D8%A7%D8%AF%D9%87-txnophsnxtfw</link>
                <description>تعیین نرخ پروژه‌های نرم‌افزاری همیشه یکی از دغدغه‌های اصلی برنامه‌نویس‌ها و توسعه‌دهندگان بوده و هست. اغلب در این حوزه هیچ مبنای دقیق و استانداردی برای قیمت‌گذاری وجود ندارد و دلایل کاملاً منطقی باعث می‌شوند که یک پروژه واحد در شرایط متفاوت، قیمت‌های متفاوتی داشته باشد.چرا تعیین نرخ درست اینقدر سخت است؟چند عامل اصلی باعث می‌شوند قیمت‌گذاری پروژه‌ها چالش‌برانگیز باشد:پیچیدگی پروژه‌ها: هر پروژه ویژگی‌ها و نیازهای خاص خود را دارد و نمی‌توان یک نرخ ثابت برای همه پروژه‌ها در نظر گرفت.تفاوت مهارت‌ها و تجربه افراد: ارزش کار شما به میزان تخصص و تجربه‌تان بستگی دارد، حتی اگر پروژه مشابه دیگری انجام شده باشد.عدم شفافیت در هزینه‌ها: بسیاری از هزینه‌های جانبی مثل مالیات، بیمه، تجهیزات و نرم‌افزارها در قیمت‌گذاری لحاظ نمی‌شوند.نبود فرمول مشخص: بسیاری از توسعه‌دهندگان نرخ پروژه‌ها را بر اساس تجربه قبلی یا حدس و گمان تعیین می‌کنند، که باعث می‌شود قیمت‌ها متغیر و گاه غیرمنطقی باشند.یک راهکار پیشنهادی: محاسبه نرخ ساعتیمدتی پیش به روشی برخوردم که به «قانون ارزش ساعت برایان تریسی» نسبت داده شده. راستش نمی‌دونم واقعاً خودش گفته یا نه! 😬 ولی ایده‌اش برای تعیین نرخ پایه خیلی جالب بود و به نظرم می‌تونه نقطه شروع خوبی برای ما برنامه‌نویس‌ها باشه.ایده اصلی ساده است:قانون ارزش ساعت برایان ترسی: ارزش هر ساعتی که کار می‌کنید را محاسبه کنید و کاری انجام دهید که ارزش آن ساعت شما را به هدف درآمدیتان نزدیک کند.فرمول: نرخ ساعتی = ساعات کاری ÷ درآمد سالانهمثال عملیفرض کنید هدف شما درآمد سالانه ۱ میلیارد تومان باشد:روزهای کاری: ۲۵۰ روزساعات کاری روزانه: ۸ ساعتجمع ساعات کاری سالانه: ۲۵۰ × ۸ = ۲۰۰۰ ساعتاین یعنی هر کاری که انجام می‌دهید باید ارزشش ۵۰۰ هزار تومان یا بیشتر باشد، یا منجر به مهارت یا ارتباطی شود که شما را به هدف درآمدیتان نزدیک کند.معرفی ابزار آنلاین: پروژه سنجحالا قرار نیست هر بار ماشین‌حساب بردارید و حساب‌وکتاب کنید!برای ساده‌تر شدن کار، من یک ابزار آنلاین به اسم پروژه‌سنج طراحی کردم. کافی است وارد سایت زیر بشین، نرخ پایه ساعتی و ضریب‌های پروژه (مثل پیچیدگی، تعداد نفرات و مدت زمان) را مشخص کنید، تا در چند ثانیه هزینه کل پروژه برایتان محاسبه شوداین ابزار کاملاً رایگان و ساده است و کمک می‌کنه بتونید پیشنهادهای دقیق‌تر و منطقی‌تری به کارفرما ارائه بدین. البته که هیچ فرمول یا ابزاری جای تجربه و شناخت واقعی شما از پروژه رو نمی‌گیره، اما پروژه‌سنج می‌تونه یک دستیار سریع و کاربردی برای شما باشه.</description>
                <category>اسماعیل بحرانی فرد</category>
                <author>اسماعیل بحرانی فرد</author>
                <pubDate>Sat, 18 Oct 2025 13:14:56 +0330</pubDate>
            </item>
                    <item>
                <title>چطور برنامه‌ریزی و اهداف امسال رو عملی کنیم؟!</title>
                <link>https://virgool.io/@esmaeilbfd/%DA%86%D8%B7%D9%88%D8%B1-%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D9%87-%D8%B1%DB%8C%D8%B2%DB%8C-%D9%88-%D8%A7%D9%87%D8%AF%D8%A7%D9%81-%D8%A7%D9%85%D8%B3%D8%A7%D9%84-%D8%B1%D9%88-%D8%B9%D9%85%D9%84%DB%8C-%DA%A9%D9%86%DB%8C%D9%85-rhfwi5pzsksq</link>
                <description>برنامه ریزی و هدف‌گذاری موفقبا شروع سال جدید اغلب افراد اهدافشون رو بازبینی می‌کنن و تلاش میکنن با ابزارهای مختلفی به شکل بهتر و بهینه‌تری در سال جدید به اون اهداف برسند.خودمم سبک‌های مختلفی رو امتحان کردم ولی هیچ کدوم بهره‌وری کافی رو نداشته و بعد از مدتی رها شده تا اینکه اخیرا با روشی آشنا شدم که میخوام با شما به اشترک بذارم.مهمترین ضعف روش‌هایی که قبلا تست کردم پیچیدگی و سخت بودن برنامه ریزی و پیگیریشون بوده مثلا برنامه ریزی به روش بولت ژورنال نیاز به حوصله و وقت زیادی داره و نوشتن تک تک اهداف و تسک‌ها و ثبت و گزارش نویسی کار رو سخت می‌کنه و همین سختی باعث میشه بعد از مدتی قیدش رو بزنید و رها بشه.خب این روش چطوریه؟ با ایجاد یک عادت و روتین در سبک زندگی از طریق تکرار و انجام مستمر اون کار.اهمیت تکرار و استمرار در انجام یک کار بر کسی پوشیده نیست و در کتب متعددی مثل اثر مرکب و یا عادت‌های اتمی (Atomic Habbits) هم بر همین مسئله تاکید شده و چکیده ایده‌شون همینه، &quot;تغییرات کوچک، تفاوت‌های بزرگ را میسازند&quot;.اگه هدفت اینه زبان یادبگیری و یکسال روزانه نیم ساعت زبان بخونی احتمال اینکه نتیجه نگیری صفره! در مقابل کسی که عشقی یه کاری رو میکنه ۲ روز انجام میده و ۱۰ روز انجام نمیده شانس کمی داره بتونه در اون کار موفق بشه، پس اینکه چه کاری باید انجام بدیم مهم نیست، کارایی که انجام میدیم مهمه و باید بدونیم دقیقا چه کارهایی داریم انجام میدیم اما از اونجایی که مغز ما فراموشکاره حتی به سختی میتونیم عملکرد هفته گذشته خودمونم رو به یاد بیاریم پس لزوم داشتن یک ابزار کارآمد ضروریه.برای اینکه این امر محقق بشه لازمه که کارهایی که در طول هفته، ماه و سال انجام می‌دیم رو ثبت کنیم اما نباید این فرآیند سخت و پیچیده باشه چون باعث میشه از خیرش بگذریم.خب کاری که باید کنیم تهیه یک دفتر یا پلنر هست و هر صفحه از اون رو به یک ماه اختصاص می‌دیمستون اول رو به روزهای ماه اختصاص می‌دیم و ردیف اول اهدافمون رو می‌نویسیم.در پایان هر روز بررسی می‌کنیم که آیا اون کار رو انجام دادیم یا نه و مربع مقابلش رو هاشور می‌زنیم مثل تصویر زیر:جدول ماهانهمزیت این کار چیه؟۱- مغز فراموشکار: همونطور که اشاره شد مغز ما به شدت فراموشکاره و خیلی زود یادمون میره که چه کارهایی رو انجام دادیم. به این شکل، توی طول هفته و ماه میتونیم ببینیم که چقدر به اهدافمون پایبند بودیم و چقدر تلاش کردیم و آیا کارهایی که باید انجام میدادیم رو انجام دادیم و چندبار انجام دادیم.۲- پاداش مغز : مزیت دوم هم باز برمی‌گرده به مغزمون! پر کردن این مربع‌ها شبیه پاداش برای مغز عمل می‌کنه و بعد از مدتی تلاش می‌کنیم بیشترین تعداد خونه رو پر کنیم و به این شکل با گیمیفیکشن و ترشح دوپامین بیشتر، مغز ما را ودار می‌کنه بیشتر به اهدافمون نزدیک بشیم.خب از اونجایی که من برنامه نویسم و دوست داشتم یک ابزار سریع و ساده برای مانیتورینگ و گزارش نویسی داشته باشم و کاغذ خطی خطی نکنم یه وب‌اپلیکیشن ساده با Vue نوشتم که خیلی ساده بتونم پیگیری رو انجام بدم 😁وب اپلیکیشن پیگیری اهدافاین وب‌اپلیکیشن رو صرفا برای استفاده شخصی نوشتم اما ممکنه عمومی بذارم که اگه کسی مشتاق بود استفاده کنه.🫡و در پایان با نقل قولی از کتاب atomic habits براتون آرزوی موفقیت و پیروزی دارم. 💪&quot;Some people spend their entire lives waiting for the time to be right to make an improvement.&quot; -James Clear</description>
                <category>اسماعیل بحرانی فرد</category>
                <author>اسماعیل بحرانی فرد</author>
                <pubDate>Sat, 23 Mar 2024 14:54:21 +0330</pubDate>
            </item>
                    <item>
                <title>افزایش سرعت وبسایت با instant click</title>
                <link>https://virgool.io/@esmaeilbfd/%D8%A7%D9%81%D8%B2%D8%A7%DB%8C%D8%B4-%D8%B3%D8%B1%D8%B9%D8%AA-%D9%88%D8%A8%D8%B3%D8%A7%DB%8C%D8%AA-%D8%A8%D8%A7-instant-click-dmym98eaf51a</link>
                <description>در حین گشت و گذار در اینترنت با یک لایبرری جاوا اسکریپت مواجه شدم که سرعت بارگذاری وبسایت و ناویگیشن در لینک های وبسایت را به شیوه جالبی افزایش می‌دهد.در صفحه معرفی instantclick.io نوشته:با وجود افزایش و گسترش پهنای باند، اینکه وب سایت ها خیلی سریعتر نمی شوند به این دلیل است که بزرگترین گلوگاه که در کاهش سرعت اثر دارد &quot;تاخیر&quot; است.به دلیل معماری و ساختار شبکه در حال حاضر تاخیر بخشی جدایی ناپذیر از اینترنت است این ابزار با یک ترفند این مشکل را حل کرده است.در حین بازدید یک وبسایت قبل از اینکه شما روی یک لینک آن کلیک کنید با موس روی لینک hover می‌کنید و بین این دو اکشن (هاور و کلیک) یک فاصله زمانی وجود داره که برای اینکه ببینید واقعا چقدر فاصله زمانی میتونه بین هاور و کلیک ما باشه یک صفحه تست هم داره که میتونید از اینجا تست کنید.تست هاور و کلیکبا استفاده از همین تاخیر و ajax میاد صفحه رو قبل از اینکه کلیک کنید بارگذاری میکنه و قبل از کلیک صفحه آماده نمایش میشه و با این ترفند و ایده جالب سرعت سایت رو به شکلی ارتقا میده.گیت هاب: https://github.com/dieulot/instantclick</description>
                <category>اسماعیل بحرانی فرد</category>
                <author>اسماعیل بحرانی فرد</author>
                <pubDate>Wed, 16 Nov 2022 13:27:52 +0330</pubDate>
            </item>
                    <item>
                <title>کدنویسی استاندارد با PSR (قسمت1)</title>
                <link>https://virgool.io/pinoox/%DA%A9%D8%AF%D9%86%D9%88%DB%8C%D8%B3%DB%8C-%D8%A7%D8%B3%D8%AA%D8%A7%D9%86%D8%AF%D8%A7%D8%B1%D8%AF-%D8%A8%D8%A7-psr-%D9%82%D8%B3%D9%85%D8%AA-1-gqk0wpdvsl4v</link>
                <description>شاید تاکنون نام PSR را شنیده باشید، PSR مخفف عبارت PHP Standard Recommendation (استانداردهای پیشنهادی PHP) است.تا پیش از PSR استاندارد واحدی برای نوشتن کدهای PHP وجود نداشت، و هر توسعه دهنده ای بنابر سلیقه و تجربه شخصی و یا استانداردهای معرفی شده توسط شرکت های دیگر نظیر Zend Framework به شکل های پراکنده ای کد می‌نوشتند.سال 2009 گروهی از توسعه دهندگان به نمایندگی از پروژه های محبوب PHP دور هم گردآمدند تا گروهی به نام Framework Interoperability Group یا به اختصار FIG را تشکیل دهند تا یک اصول مشترک برای جامعه توسعه دهندگان PHP ایجاد کنند. استانداردهای مورد توافق و تایید این گروه در وبسایت رسمی آنها به نشانی php-fig.org قابل دسترس است. اگر توسعه دهنده PHP هستید دانستن این قواعد از ضروریات توسعه یک پروژه استاندارد و اصولی است و باید به عنوان یک PHP Developer آن ها رابدانید.تا لحظه نگارش این مقاله 19 استاندارد توسط گروه FIG تعیین شده که از 0 تا 18 نامگذاری شده است، در بخش اول این مقاله به 3 استاندارد PSR-1, PSR-2, PSR-3 می‌پردازیم.استاندارد PSR-0 که مربوط به autoloading است منسوخ شده و قواعد جدید آن در PSR-4 بروزرسانی شده است بنابراین از این بخش عبور خواهیم کرد.1- استانداردهای پایه کدنویسی: PSR-1اولین استاندارد رعایت اصول اولیه و ابتدایی نحوه نوشتن کدهاست که به طور مختصر به شرح زیر است:فایل‌ها باید با تگ‌های  =?&gt;  یا php?&gt; شروع شوند.فایل‌ها باید از نوع UTF-8 و بدون BOM باشند.فایل‌ها یا باید معرف سیمبول‌ها باشند (کلاس، متغیر، فانکشن و..) یا از نوع side-effect (چاپ اطلاعات، اعمال تنظیمات ini و…) باشند و نباید همزمان هردو کار را انجام دهند.کلاس‌ها و namespace ها باید از استاندارد autoloading که در PSR-4 مشخص شده پیروی کنند.نام گذاری کلاس‌ها باید به شکل StudlyCaps باشند.ثابت‌ها باید به شکل uppercase و با خط آندرلاین (CONST_VAR) از هم جداشوند.متدها باید به شکل camelCase نام گذاری شوند.2- استایل و ظاهر کدنویسی: PSR-2این استاندارد به نحوه نوشتن کد از لحاظ استایل و ظاهر می‌پردازد، در صورتیکه از محیط های کدنویسی نظیر Intellij Idea استفاده کنید اغلب این استانداردها به صورت خودکار اعمال می‌شوند.برای تورفتگی کدها از 4 اسپیس استفاده کنید و از تب استفاده نکنید!برای طول کد نوشته شده نباید محدودیتی الزام آور لحاظ شود! حد نرمال برای طول کد 120 کاراکتر و حد پیشنهادی 80 کاراکتر و یا کمتر است.باید بعد از دستور namespace و use یک خط خالی باشد.آکولاد یا براکت کلاس، در خط جدید و بعد از اعلان آن باز شود و در پایان بعد از بدنه کلاس در خط بعدی بسته شود.مواردی ظاهری از این دست به طور مفصل در این لینک توضیح داده شده است که می‌توانید مشاهده کنید.3- رابط لاگر(Logger Interface): PSR-3لاگ کردن یکی از فراگیرترین کارهایی است که در PHP با آن مواجه هستیم. ما از لاگ‌ها برای ردیابی خطا، ثبت رویدادهای مهم و اشکال‌زدایی مشکلات کدمان استفاده می‌کنیم. حتی اگر فریمورک و CMS توسعه می‌دهید که سیستم لاگ اختصاصی دارد توصیه می‌شود با این استاندارد سازگار باشد.پایه و اساس این استاندارد، پیاده سازی Logger interface است. این اینترفیس 8 متد دارد که هر کدام یک سطح از حساسیت خطا و پیام را گزارش می‌دهد همچنین متد log که به صورت عمومی برای هر نوع گزارشی قابل استفاده است.هشت سطح گزارش به شکل زیر است:سیستم غیر قابل استفاده است: Emergencyاقدام فوری لازم است: Alert خطای بحرانی: Criticalخطاهایی که نیاز به توجه فوری ندارند اما باید تحت نظر قرار گیرند: Errorرخدادهای غیرمعمول یا نامطلوب که خطا نیستند: Warningرویدادهای عادی اما مهم: Noticeرویدادهای جهت اطلاع رسانی: Infoبرای اهداف اشکال زدایی: Debugبرای شروع استفاده از آن کافی است از طریق composer و یا گیت هاب به نشانی Psr/Log GitHub اقدام به نصب این لایبرری کنید.امیدوارم تا اینجا یک دید نسبی به این قواعد پیدا کرده باشید اما برای تسلط کامل مطالعه سایت رسمی PSR به نشانی php-psr.org ضروری است، در مقالات بعدی به سایر PSRها می‌پردازیم.</description>
                <category>اسماعیل بحرانی فرد</category>
                <author>اسماعیل بحرانی فرد</author>
                <pubDate>Sat, 11 Jun 2022 10:33:32 +0430</pubDate>
            </item>
                    <item>
                <title>با اپ پروفایل ساز پینوکس رزومه خودتو آنلاین کن!</title>
                <link>https://virgool.io/pinoox/pinoox-profile-app-isssrgs4am7z</link>
                <description>اپ پروفایل ساز پینوکسداشتن یک رزومه زیبا و حرفه‌ای از نکات بسیار مهم در افزایش شانس یافتن یک فرصت شغلی است. اپ پروفایل ساز این امکان را برای شما فراهم می‌کند تا به شکل سریع و ساده یک پروفایل زیبا بسازید.از جمله مزیت هایی که یک پروفایل آنلاین به شما می‌دهد امکان جست و جو شدن پروفایل شما از طریق موتورهای جست و جو از جمله گوگل است.برای داشتن یک رزومه آنلاین تنها کافی است پینوکس را روی هاست شخصی خود نصب کنید و از طریق مارکت اپ پروفایل ساز را نصب کنید.با اپ های پینوکسی و نصب آنها روی هاست شخصی امکان ایجاد انواع سیستم های تحت وب مثل وبلاگ، فروشگاه و... را خواهید داشت برای کسب اطلاعات بیشتر در مورد پلتفرم اوپن سورس پینوکس به وبسایت pinoox.com مراجعه کنیدقالب زیبا و مینیمالثبت اطلاعات رزومهامکان تغییر و نصب انواع قالب هاامکانات و مزیت های اپ پروفایل ساز:1- نصب آسان و رایگان2- مشاهده آمار بازدید از پروفایل3- امکان انتخاب قالب و نمای پروفایل4- تنظیمات داینامیک5- ثبت آسان اطلاعات پروفایلبرای دیدن اطلاعات بیشتر و آموزش راه اندازی پروفایل ساز در چند دقیقه این لینک را ببینیداگر سوال و پرسشی دارید از طریق بخش پرسش و پاسخ بپرسید</description>
                <category>اسماعیل بحرانی فرد</category>
                <author>اسماعیل بحرانی فرد</author>
                <pubDate>Sun, 28 Nov 2021 21:05:19 +0330</pubDate>
            </item>
                    <item>
                <title>تماشای لایو اینستاگرام به صورت تمام صفحه</title>
                <link>https://virgool.io/fboard/%D8%AA%D9%85%D8%A7%D8%B4%D8%A7%DB%8C-%D9%84%D8%A7%DB%8C%D9%88-%D8%A7%DB%8C%D9%86%D8%B3%D8%AA%D8%A7%DA%AF%D8%B1%D8%A7%D9%85-%D8%A8%D9%87-%D8%B5%D9%88%D8%B1%D8%AA-%D8%AA%D9%85%D8%A7%D9%85-%D8%B5%D9%81%D8%AD%D9%87-zcnsmou3evey</link>
                <description>Instagram live plus chrome extensionاخیرا برنامه های لایو اینستاگرام رواج زیادی پیدا کرده و برنامه‌های رسمی و جدی هم از این بستر برای پخش برنامه‌هاشون استفاده می‌کنند، مثل مسابقات #فوتبال تا #کنسرت خواننده‌ها و نوازنده‌های بزرگ همچون کیهان کلهر.در اتفاقی که چند مدت پیش رخ داد صفحه رسمی AFC در اینستاگرام، از پخش زنده بازی پرسپولیس و اولسان هیوندای با گزارش عادل فردوسی‌پور خبر داد و موجب هجوم کاربران به این صفحه شد.اما اینستاگرام به دلیل پشتیبانی نکردن از پخش افقی و عدم امکان چرخش صفحه برای تماشا روی دسکتاپ مناسب نیست و کاربران با چنین مشکلاتی روبه‌رو شدند!!?پخش لایو اینستاگرام روی تلویزیون :)این #پلاگین ساده کروم که حدود 100 خط کد هست رو نوشتم تا این نوع لایوها رو راحت‌تر تماشا کرد، در ویدیو زیر مشکلی که حل میکنه رو میتونید ببینید https://www.aparat.com/v/UXizO از گیت‌هاب میتونید دانلود و نصب کنید   instagram_live_plus</description>
                <category>اسماعیل بحرانی فرد</category>
                <author>اسماعیل بحرانی فرد</author>
                <pubDate>Wed, 10 Feb 2021 18:36:04 +0330</pubDate>
            </item>
                    <item>
                <title>در روز چند ساعت کدنویسی می کنید؟ با wakaTime محاسبه کنید!</title>
                <link>https://virgool.io/pinoox/%D8%AF%D8%B1-%D8%B1%D9%88%D8%B2-%DA%86%D9%86%D8%AF-%D8%B3%D8%A7%D8%B9%D8%AA-%DA%A9%D8%AF%D9%86%D9%88%DB%8C%D8%B3%DB%8C-%D9%85%DB%8C-%DA%A9%D9%86%DB%8C%D8%AF-%D8%A8%D8%A7-wakatime-%D9%85%D8%AD%D8%A7%D8%B3%D8%A8%D9%87-%DA%A9%D9%86%DB%8C%D8%AF-itq8nqovmse5</link>
                <description>اگر نتوانید چیزی را اندازه گیری کنید، قادر به مدیریتِ آن نخواهید بود. (پیتر دراکر)پیتر دراکر که از بزرگترین نظریه پردازان مدیریت است، به درستی به اهمیت اندازه گیری اشاره می کند، به واقع اگر مثلث معروف BML: Build-Measure-Learn را بتوانیم به خوبی به کار بگیریم و بعد از هر تلاشی میزان فعالیتی که انجام داده ایم رو با دقت محاسبه کنیم و با آنالیز و یادگیری، تجربیات رو تبدیل به دانش کنیم، با تکرار این حلقه خواهیم توانست نقاط ضعف رو تشخیص بدهیم و به طبع اون امکان اصلاح و بهبود عملکردمون رو بدست میاریم.اگر برنامه نویس هستید و ساعت های زیادی رو در طول روز صرف کدنویسی می کنید قطعا براتون بسیار جذاب  و کاربردی خواهد بود که بدونید چقدر و به چه شکل در حال کار هستید، چند ساعت به شکل مفید در حال کدنویسی بودین یا چند ساعت در حال پرسه زدن در شبکه های اجتماعی و اتلاف زمان!ابزار wakatime دقیقا به همین منظور ایجاد شده، سرویس بسیار کاربردی و مفیدی که پلاگین های مختلفی برای تقریبا همه IDE ها و محیط های کدنویسی داره و با نصب پلاگینش می تونید آمار دقیقی و به صورت جزئی از میزان فعالیت روی هر پروژه بدست بیارید.داشبورد wakatimeیکی از امکانات بسیار خوب wakatime امکان تعریف اهداف (Goals) هست. میتونید اهدافی برای خودتون تعیین کنید مثلا روزانه 2 ساعت روی پروژه X کار کنید یا اینکه هفته ای 60 ساعت روی پروژه Y کار کنید و در پایان در نمودارهای مقایسه ای میزان فعالیت واقعی و میزان برآورده شدن اهداف رو ببینید.آمار بسیار دقیقی در اختیار شما میزاره، مثلا میتونید ببینید چه میزان php کد نوشتید یا چقدر html کار کردین، اهداف رو میتونید بر اساس زبان برنامه نویسی هم تعریف کنید.بیش از این توضیح لازم نیست کافیه همین الان امتحانش کنید?</description>
                <category>اسماعیل بحرانی فرد</category>
                <author>اسماعیل بحرانی فرد</author>
                <pubDate>Sat, 11 Apr 2020 18:26:02 +0430</pubDate>
            </item>
                    <item>
                <title>معرفی Git Kraken، بهترین ابزار مدیریت پروژه ها</title>
                <link>https://virgool.io/pinoox/gitkraken-best-tool-for-managing-projects-usqigwzkiaii</link>
                <description>برای اینکه به سادگی بتونید با Git کار کنید ابزارهای Git GUI مختلفی وجود داره مثل GitHub Desktop و  GitSmart  و ... اما یکی از بهترین ابزارهایی که تجربه کار باهاشون رو داشتم Git Kraken هست و بعد از استفاده از اون، کار با سایر ابزارها واقعا عذاب آور و ناخوشایند خواهد شد!جالبه بدونید Git Kraken محصول شرکت axosoft هست که بنیانگذارش حمید شجاعی از ایرانیان ساکن امریکاست.?گیت کراکن امکانات مختلفی در اختیار شما میزاره و به راحتی با shortcut های کیبرد و یا drag and drop میتونید با git کار کنید. از مهمترین قابلیت هاش:1- امکان کار با چند پروفایل به طور همزمان2- امکان اتصال به حساب کاربری Github، GitLab و ... 3- باز کردن چندین repo در تب های مختلف به طور همزمان 4- رابط گرافیکی فوق العاده ساده و کاربرپسند و انجام عملیات مختلف مثل merge تنها با drag &amp; drop 5- امکان ویرایش سورس کدها 6- دریافت خودکار آپدیتهای جدید در بازه های زمانی کوتاهمحیط کاربری git krakenمعمولا هر ازگاهی میبینید که با ناتفیکیشن خبر از ارائه قابلیتی جدید میده و به صورت خودکار امکاناتی به نرم افزار اضافه میشه، دریافت مستمر آپدیت های جدید و پشتیبانی فوق العاده این محصول چیزی است که بسیار تحسین برانگیز است.در کنار محیط فوق العاده ای که برای کار با git طراحی شده یک ابزار جدید هم برای مدیریت پروژه ها اخیرا بهش اضافه شده که باعث میشه سایر کلاینت ها رو واقعا به سطل زباله هدایت کنید!?مدیریت برد اسکرام با Glo Boardگلو برد ابزار مدیریت تسک هاست که ما برای مدیریت برد اسکرام ازش استفاده میکنیم. با اضافه کردن هم تیمی هاتون به برد در کنار Git Kraken به سادگی همه فعالیت های پروژه رو به صورت یکپارچه در یک محیط خواهید داشت، امکان استفاده از نسخه تحت وب، موبایل و دسکتاپ هم وجود داره. یکی از ویژگی های خوب Glo Board امکان تعریف synced board هست و با اتصالش به گیت هاب تمام issue هاتون رو به صورت خودکار وارد برد میشه و با تغییر روی آن به صورت خودکار روی گیت هاب هم اعمال میشه.امکان تعریف milestone، تگ گذاری، اختصاص کاربر به هر تسک، و گروه بندی برد ها از جمله ویژگی های خوب Glo Board هست. برای دیدن همه امکانات glo صفحه معرفی رو از اینجا ببینید: معرفی Glo Boardمحیط کاربری glo boardدر انتها توصیه میکنم حتما یک بار هم که شده Git Kraken رو نصب کنید و امتحان کنید مطمئنا خوشتون خواهد اومد.?</description>
                <category>اسماعیل بحرانی فرد</category>
                <author>اسماعیل بحرانی فرد</author>
                <pubDate>Fri, 21 Feb 2020 13:18:42 +0330</pubDate>
            </item>
                    <item>
                <title>جنون نوگرایی و کمال طلبی</title>
                <link>https://virgool.io/@esmaeilbfd/%D8%AC%D9%86%D9%88%D9%86-%D9%86%D9%88%DA%AF%D8%B1%D8%A7%DB%8C%DB%8C-%D9%88-%DA%A9%D9%85%D8%A7%D9%84-%D8%B7%D9%84%D8%A8%DB%8C-t5rdhutgukra</link>
                <description>طراحی شده با موس و نرم افزار paint ویندوزکمال طلبی زمانی جنبه منفی پیدا میکنه که تناسبی میان هزینه ها و دستاوردها وجود نداشته باشه، اگر نتونیم کنترل کافی روی این جنبه شخصیتی داشته باشیم متحمل ضرر و زیان خواهیم شد و مهم ترین ضرر از دست رفتن آرامش درونی است.شرکت های فناوری با بزرگ نمایی پیشرفت های جزئی و ترغیب ما به استفاده از آخرین مدل محصولاتشان جنون نوگرایی، میل به کمال، بیشترین و بهترین را در میان ما ترویج کرده اند به طوری که اگر آخرین مدل محصولات اپل ، سامسونگ و ... رو نداشته باشیم گویی از قافله پیشرفت فناوری عقب افتاده ایم!!استرس ناشی از این عقب افتادگی و احساس نیاز به آخرین و بروزترین محصولات آرامش ما را نابود می کند.این جنون در ابعاد مختلف زندگی ما میتونه نمود پیدا کنه از جمله تصمیمات کاری، شخصی و کارهای روتین روزمره و قادر نیستیم از امکانات موجود و قابلیت های اطرافمون به شکل بهینه استفاده کنیم.گاهی دوستانی رو میبینم که در نرم افزارهای مورد استفاده هم چنین خطایی رو دارند، مثلا برای یک روتوش ساده عکس باید حتما از آخرین ورژن فتوشاپ استفاده کنند! یا خیلی از اموری که با اندکی خلاقیت و تلاش میشه انجام داد رو با بهانه هایی که ناشی از کمال طلبی است انجام نمیدهند.خود من هم گاهی چنین خطایی رو مرتکب می شدم و برای عبور از این جنبه منفی شخصیتی تصمیم گرفتم یک نقاشی رو در نرم افزار paint با موس بکشم، در ظاهر کاری دشوار و ناممکن به نظر می رسید اما خروجی نهایی رو که نتیجه صرف یکی دو ساعت زمان هست می تونید ببینید.این نقاشی صرفا با موس و در نرم افزار نقاشی (paint) ویندوز 10 انجام شد.نقاشی با موس در paint ویندوزما برای زندگی همراه با آرامش و بهره وری بهتر باید نوع نگاهمون رو به اطراف تغییر بدیم، چه بسا ابزارها و قابلیت های محیطی فراوانی در دسترس ماست اما میل به بیشترین و بهترین ما رو از پتانسیل های بلقوه دور و برمون غافل کرده است.</description>
                <category>اسماعیل بحرانی فرد</category>
                <author>اسماعیل بحرانی فرد</author>
                <pubDate>Fri, 28 Jun 2019 12:52:52 +0430</pubDate>
            </item>
                    <item>
                <title>ترفندی ساده و مختصر در Adobe XD</title>
                <link>https://virgool.io/@esmaeilbfd/%D8%AA%D8%B1%D9%81%D9%86%D8%AF%DB%8C-%D8%B3%D8%A7%D8%AF%D9%87-%D9%88-%D9%85%D8%AE%D8%AA%D8%B5%D8%B1-%D8%AF%D8%B1-adobe-xd-odjgd7olwran</link>
                <description>برای اینکه یک carousel و یا افکت اسلادینگ رو بتونید در adobe xd نمایش بدید کار زیادی لازم نیاز نیست انجام بدین در آپدیتی که اکتبر 2018 ادوبی ارائه کرد در ورژن 13 نرم افزار قابلیت auto-animate به adobe xd اضافه شده که برای چنین مواردی میتونید استفاده کنید.برای این منظور دو لایه شبیه به هم بسازید و لایه دوم را در راستای محور X مقداری جابجا کنید و بعد از طریق تب prototype لایه ها را با انتخاب انیمیشن از نوع drag به هم متصل کنید.جابجایی لایه دوم در راستای محور Xانتخاب trigger از نوع dragبرای اینکه روش انجام کار رو ببینید، ویدیو کوتاه زیر رو از طریق صفحه اینستاگرامم تماشا کنید: https://www.instagram.com/p/By97VWmFC5o/ </description>
                <category>اسماعیل بحرانی فرد</category>
                <author>اسماعیل بحرانی فرد</author>
                <pubDate>Thu, 27 Jun 2019 22:03:13 +0430</pubDate>
            </item>
                    <item>
                <title>آینده وب اپلیکیشن ها با PWA</title>
                <link>https://virgool.io/JavaScript8/%D8%A2%DB%8C%D9%86%D8%AF%D9%87-%D9%88%D8%A8-%D8%A7%D9%BE%D9%84%DB%8C%DA%A9%DB%8C%D8%B4%D9%86-%D9%87%D8%A7-%D8%A8%D8%A7-pwa-wqzotyzeuebs</link>
                <description>ایجاد نرم افزارهای تحت وبی که در حالت آفلاین هم امکان استفاده از آن میسر است و فارغ از اینکه دستگاهی که کاربر از آن استفاده می کند چیست تجربه ای شبیه نرم افزارهای native را برای او فراهم می کند.این ایده اصلی توسعه رویکرد Progressive Web Application یا به اختصار PWA است. همانطور که اشاره شد PWA یا اپلیکیشن های پیش رونده تنها یک رویکرد و روش هست و نه زبان برنامه نویسی یا فریمورک.اصطلاح progressive web application اولین بار توسط فرانس بری من و الکس راسل از مهندسان گوگل سال 2015 مطرح شد.این مدل از نرم افزار ها با استفاده از ویژگی های جدید مرورگرها مثل استفاده آفلاین و دسترسی به منابع سخت افزاری مثل دوربین ، ارسال ناتیفیکیشن تجربه ای مانند یک اپلیکیشن native را برای کاربر ایجاد می کنند و به این ترتیب دست توسعه دهندگان را در پیاده سازی سریع تر وب اپلیکیشن ها و سرویس ها باز می کند.بسیاری از فریمورک های مطرح جاوا اسکریپتی مثل Vue ، React ، Angular نیز به شکل ساده و راحتی امکان استفاده از PWA را فراهم کرده اند.بیایید نگاهی به ویژگی های Progressive Web Application  ها داشته باشیم:1-  به تدریج و کم کم (progressive)در شکل سنتی وب اپلیکیشن ها ، مرورگر تمام محتوای صفحه را یکجا دانلود و رندر می کند ، اما در PWA محتوا متناسب با تعاملی که کاربر با آن دارد ، به تدریج دانلود و cache می شود و این ویژگی اثر قابل توجه ای در افزایش سرعت و پرفرومنس دارد و نامگذاری این تکنولوژی به progressive هم به همین دلیل بوده است.2-استقلال از شبکهیکی از دغدغه هایی که همیشه همراه وب اپلیکیشن ها بوده و هست مشکلاتی مثل کندی ، قطعی و اختلالات زیاد در کانکشن است که بعضا در سناریو ها و پروژه هایی باید عطای یک اپ آنلاین را به لقای ببخشیم! اما قابلیت دسترسی و استفاده آفلاین راه کار مناسبی برای این حل این مشکلات هست.این قابلیت از طریق service workers که کتابخانه ای تحت جاوا اسکریپت هست و با اجرا شدن در یک thread مستقل در پس زمینه مرورگر و ذخیره سازی اطلاعات امکان استفاده آفلاین از نرم افزار را فراهم می کند.3-واکنشگرا، دسترس پذیرمهم نیست دستگاهی که کاربر از آن استفاده می کند چه باشد، لپتاپ، موبایل، ساعت هوشمند و... در همه دستگاه ها امکان بهره مندی از نرم افزار مهیاست و این نکته بسیار مهمی در دسترس پذیری نرم افزار در کنار کاهش هزینه های توسعه است.یکی از مشکلاتی که در سال های اخیر به دغدغه توسعه دهندگان برای ایجاد نسخه های native اضافه شده ارائه نرم افزار روی پلتفرم های مختلف اندروید ، IOS و دستگاه های ریز و درشت از ساعت هوشمند تا موبایل و تبلت و تلویزیون و .... که روز به روز هم به تعداد و تنوع این دستگاه ها اضافه می شود و پشتیبانی از همه این ها باعث افزایش هزینه های تولید، افزایش زمان توسعه و هزینه های نگهداری می شود، اما در رویکرد جدید بدون اینکه تغییر زیادی نیاز باشد یکبار می نویسید و روی همه پلتفرم ها اجرا می کنید.وب اپلیکیشن ها چیزی بیش از یک سری فایل HTML ، CSS ، JS و Media نیستند. وقتی درخواستی برای باز شدن یک وبسایت از طریق مروگر ارسال می کنید دیتا از طریق مرورگر دانلود می شود و بعد از رندر شدن نمایش داده می شود اما اگر اینترنت قطع باشد با خطای عدم دسترسی به شبکه مواجه خواهید شد و امکان استفاده از آن را نخواهید داشت.در PWA از طریق یک اسکریپت Javascript به نام service worker دیتا بعد از دریافت و رندر شدن cache می شود و حتی در صورت قطعی اینترنت باز هم امکان کار با وب اپلیکیشن را خواهید داشت. حتی در پس زمینه شما event هایی مثل ناتیفیکیشن ها را دریافت خواهید کرد.اگر دیجی کالا و اینستاگرام را با موبایل باز کنید نسخه PWA را خواهید دید و از طریق Add to Home Screen با اضافه کردن به لیست اپلیکیشن های گوشی امکان استفاده سریع از آنها را خواهید شد.وبسایت زیر نمونه ای از یک PWA هست که فقط در حالت آفلاین کار می کند برای دیدن این دمو باید ارتباط اینترنتی خود را قطع کنید. https://whentheinternetisdown.com</description>
                <category>اسماعیل بحرانی فرد</category>
                <author>اسماعیل بحرانی فرد</author>
                <pubDate>Thu, 27 Jun 2019 12:11:10 +0430</pubDate>
            </item>
            </channel>
</rss>