<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
    <channel>
        <title>پست‌های انتشارات بلاگ تیم فنی تپسل</title>
        <link>https://virgool.io/tapsell-tech/feed</link>
        <description>جایی برای به اشتراک گذاری تجربه‌ها و چالش‌های تیم فنی تپسل</description>
        <language>fa</language>
        <pubDate>2026-06-16 15:09:28</pubDate>
        <image>
            <url>https://files.virgool.io/upload/publication/mpdk5juaebvu/56aaeq.jpeg</url>
            <title>بلاگ تیم فنی تپسل</title>
            <link>https://virgool.io/tapsell-tech</link>
        </image>

                    <item>
                <title>پشتیبانی از زبان فارسی right to left (RTL) در جیرا</title>
                <link>https://virgool.io/tapsell-tech/%D9%BE%D8%B4%D8%AA%DB%8C%D8%A8%D8%A7%D9%86%DB%8C-%D8%A7%D8%B2-%D8%B2%D8%A8%D8%A7%D9%86-%D9%81%D8%A7%D8%B1%D8%B3%DB%8C-right-to-left-rtl-%D8%AF%D8%B1-%D8%AC%DB%8C%D8%B1%D8%A7-gbqzahsevctl</link>
                <description>متاسفانه در جیرا (Jira) متن ها LTR یا left to right هست. اینجا ترفندی داریم که پشتیبانی هر دو جهت RTL و LTR را به جیرا اضافه می‌کند.به طور کلی با این تکنیک شما می‌تونین هر کد CSS و JS ای رو به جیرا اضافه کنید. این تغییرات برای تمام کاربران شما اعمال میشه. برای اینکار شما باید دسترسی System Admin داشته باشید.استفاده از Announcement Banner برای افزودن CSS و JS سفارشی به جیراطبق این لینک شما می‌تونین به جیرا تون CSS و JS دلخواه اضافه کنین:در system admin به تب System برید و از قسمت User interface گزینه‌ی Announcement banner رو انتخاب کنید پشتیبانی از RTL در ویرایشگر (Editor)خیره کنید.                                                             پشتیبانی از RTL و LTR در جیرا برای نمایش متن فارسیکافیه این کد رو در Announcement Banner ذخیره کنید:
setInterval&#40;function (&#41; {
  let tapsell_dirAutoSupportSelector =
    &amp;quot.user-content-block:not([dir]), .mce-content-body:not([dir]), .wiki-content:not([dir])&quot;
  const items = document.querySelectorAll(tapsell_dirAutoSupportSelector);
  items.forEach((x) =&gt; {
    x.setAttribute(&amp;quotdir&amp;quot, &amp;quotauto&amp;quot);
  });
}, 1000);

&lt;style&gt;
.user-content-block:not([dir]), .mce-content-body:not([dir]), .wiki-content:not([dir]) {
  direction: rtl;
}
&lt;/style&gt;پشتیبانی از RTL در ویرایشگر (Editor)متاسفانه از روش بالا برای RTL کردن ادیتور نمیشه استفاده کرد (چون توی Iframe باز میشه و نمیشه بهش استایل داد) ولی اگه از مرورگر Chrome استفاده می‌کنید میتونید با کلیک راست روی ادیتور و باز کردن منوی Writing direction جهت نوشتن متن رو انتخاب کنید.</description>
                <category>بلاگ تیم فنی تپسل</category>
                <author>وحید محمدی</author>
                <pubDate>Fri, 17 Jun 2022 04:42:02 +0430</pubDate>
            </item>
                    <item>
                <title>نقشه‌ی راه فرانت‌اند: آنچه یک توسعه دهنده‌ی فرانت‌اند در تپسل می‌آموزد</title>
                <link>https://virgool.io/tapsell-tech/%D9%86%D9%82%D8%B4%D9%87-%DB%8C-%D8%B1%D8%A7%D9%87-%D9%81%D8%B1%D8%A7%D9%86%D8%AA-%D8%A7%D9%86%D8%AF-%D8%A2%D9%86%DA%86%D9%87-%DB%8C%DA%A9-%D8%AA%D9%88%D8%B3%D8%B9%D9%87-%D8%AF%D9%87%D9%86%D8%AF%D9%87-%DB%8C-%D9%81%D8%B1%D8%A7%D9%86%D8%AA-%D8%A7%D9%86%D8%AF-%D8%AF%D8%B1-%D8%AA%D9%BE%D8%B3%D9%84-%D9%85%DB%8C-%D8%A2%D9%85%D9%88%D8%B2%D8%AF-a8bapnsclj1i</link>
                <description>یک نقشه‌ی راه کامل کمک می‌کنه یادگیری هدفمند باشه و سریع‌ترین و بهترین راه برای افزایش دانش و ارتقای سطح رو بهمون نشون میده. در این مطلب خصوصیات مهم یک Roadmap خوب رو یاد می‌گیریم و می‌بینیم که در تیم فرانت‌اند تپسل چالش‌های مربوط به یادگیری رو چطور با یک نقشه‌ی راه خوب حل کرده‌ایم.نقشه‌ی راه (Roadmap) چیست؟به طور کلی یک roadmap راه و مراحل اصلی رسیدن به یک هدف رو بهتون نشون می‌ده. به طور خاص اینجا منظورمون یک راهنماست که به شما بگه چه مهارت‌هایی رو باید بیاموزید. مسیر کلی که شما باید طی کنید تا از یک دولوپر تازه وارد یا جونیور، به یک دولوپر حرفه‌ای یا سینیور تبدیل شوید.چرا باید Roadmap داشته باشیم؟شما بدون داشتن roadmap ممکنه:به اشتباه فکر کنید که دیگه همه چیز بلدید صرفا چون مدتی‌ست که مطلب جدیدی نمی‌بینید!به صورت پراکنده مطالب رو یاد بگیرید. مثلا بعضی مباحث پیشرفته رو بلد باشید در حالی که از مباحث پایه‌ای اطلاعی ندارید.از مباحث به روز و جدید اطلاعی نداشته باشید. دنیای تکنولوژی هر روز داره تغییر می‌کنه و Roadmap ها هم باید به روز شونداولویت بندی مباحث رو ندونید. طبیعتا توی هر لحظه‌ای مجموعه‌ای از مباحث وجود داره که باید یاد بگیرید اما اینکه چه مطلبی اولویت داره رو ممکنه ندونید.پیشنهاد می‌کنم همیشه یک Roadmap برای خود داشته باشید. برای شروع می‌تونید از roadmap.sh کمک بگیرید که مجموعه‌ای از نقشه‌های راه برای حوزه‌های مختلف برنامه‌نویسی آماده کرده.نقشه‌ی راه تیم فرانت‌اند تپسل چگونه است؟در شرکت تپسل به همه‌ی افراد یک سطح از ۱ تا ۱۰ نسبت داده شده که شامل سطوح مختلف Junior، Middle و Senior است. فاکتورهای بسیاری برای تعیین سطح وجود داره که یکی از اون‌ها دانش فنی فرد هست که در هر حوزه (فرانت، بک و...) به صورت جداگانه مشخص شده است.به طور خاص در تیم فرانت، Roadmap شامل موارد زیر است:زبان‌های برنامه نویسی اصلی (HTML، CSS، JavaScript و TypeScript)اطلاعات کلی در مورد وب، امنیت وب و Policy های آنفریم‌ورک‌هایی که با آن‌ها کار می‌کنیم (در حال حاضر Angular، React و Svelte)دانش UI/UX و Accessibilityابزارهایی که با آنها کار می‌کنیم (Git، ESLint، Webpack و...)برای اینکه بهتر بتونیم این موارد در Roadmap مون نمایش بدیم، ابتدا کل مباحث قابل یادگیری در هر یک از این تکنولوژی‌ها رو به ۵ سطح تقسیم کردیم. به طور مثال در عکس زیر سطح‌های اول و دوم مربوط به فریم ورک Angular رو مشاهده می‌کنید.بخشی از Roadmap انگولارهمونطور که ‌می‌بینید هر سطح شامل تعدادی کلیدواژه هست. مثلا در سطح ۲ انتظار می‌ره که دولوپر مباحث Routing رو در انگولار بلد باشه. برای یادگیری این مباحث، لینک‌ها و مطالبی در آرشیو مون داریم که کمک خواهند کرد. این آرشیو به تفکیک سطح و تکنولوژی در اختیار همه قرار می‌گیره. توضیحات بیشتر در مورد این آرشیو رو در مطلب جلسات هفتگی سایلنت بخونید.بخشی از آرشیو مطالب در حوزه‌ی Angularبا در کنار هم گذاشتن تمام این موارد یک Roadmap کامل آماده شده که به اعضای تیم کمک می‌کنه همواره سطح خودشون رو بدونن و بتونن یادگیری بهتری داشته باشن.بخشی از جدول سطوح Roadmapالبته به جز مهارت‌های فنی، موارد دیگری هست که فقط مخصوص فرانت نیست. مانند:کیفیت و تمیزی کد و تمایل به Refactoringمهارت‌های Communication و Mentoring و Leadershipمهارت‌های Creation و Problem Solving و Innovation: اینکه بتونید مشکلات کمتر دیده شده رو پیدا کنید و تحقیق کنید و ایده بزنید برای حل مسائلی که حتی ممکنه کسی متوجه شون نشده باشه.این مهارت‌ها قابل اندازه گیری نیستند و معمولا به اسم Soft skill ازشون نام برده می‌شه.چطور می‌فهمیم هر کسی در چه سطحی هست؟این مسئله شاید در نگاه اول ساده به نظر برسه اما پیچیدگی‌های زیادی داره. مخصوصا اینکه به راحتی ممکنه سلیقه‌ای پیش بره و هر کسی نظر متفاوتی داشته باشه.به طور کلی می‌تونیم این مسئله رو به دو بخش تقسیم کنیم:تعیین سطح افراد در هنگام استخدام و جذب. برای این مسئله، در زمان مصاحبه یک تخمین سطح کلی داریم و بعد از استخدام در بازه‌ی آزمایشی مجددا ارزیابی دقیق‌تری انجام داده و در صورت نیاز سطح تخمین زده شده رو اصلاح می‌کنیم.ارتقای سطح اعضای کنونی. قبلا در مطلب روش‌های یادگیری مداوم، در مورد فعالیت‌هایی که به ارتقای افراد کمک می‌کند صحبت کردیم. اما حالا مسئله اینه که چطور بفهمیم افراد ارتقا داشته‌اند یا نه. برای این موضوع در طول سال هر فرد چند بار فرصت دارد درخواست بررسی سطح و ارتقا ارسال کند. این فرایند کمک می‌کنه تا همیشه افراد مورد ارزیابی قرار بگیرن.جمع بندیمهم نیست کجا کار می‌کنید یا شغل تون چیه، همیشه باید یک Roadmap توی ذهن تون داشته باشید برای آینده‌ی شغلی خودتون. در غیر این صورت کم کم یادگیری توی کار شما کم رنگ خواهد شد و در نتیجه کار برای شما تکراری خواهد شد. در انتخاب نقشه‌ی راه، از افراد با تجربه کمک بگیرید و با مطالعه‌ی منظم و روزانه، از مباحث جدید مطلع شوید.</description>
                <category>بلاگ تیم فنی تپسل</category>
                <author>وحید محمدی</author>
                <pubDate>Wed, 22 Dec 2021 19:06:42 +0330</pubDate>
            </item>
                    <item>
                <title>یادگیری مداوم:‌ ۳ روش تیم فرانت‌اند تپسل برای به روز بودن</title>
                <link>https://virgool.io/tapsell-tech/%DB%8C%D8%A7%D8%AF%DA%AF%DB%8C%D8%B1%DB%8C-%D9%85%D8%AF%D8%A7%D9%88%D9%85-%D9%88-%D8%A8%D9%87-%D8%B1%D9%88%D8%B2-%D8%A8%D9%88%D8%AF%D9%86-%D8%AF%D8%B1-%D8%AA%DB%8C%D9%85-%D9%81%D8%B1%D8%A7%D9%86%D8%AA-%D8%A7%D9%86%D8%AF-%D8%AA%D9%BE%D8%B3%D9%84-lnsg0w4txw07</link>
                <description>برای به روز بودن دانش‌مان، جلوگیری از تکراری شدن کارها، یادگیری مداوم راه حل های مختلفی در تیم فرانت تپسل داریم که مطمئناً برای شما هم می‌تونه مفید باشه.قاعدتا برای شما هم پیش اومده که توی یه محل کارتون، چیز جدیدی یاد نمی‌گرفتید و کار براتون تکراری شده بوده. در چپتر فرانت تپسل هم‌آموزی، به اشتراک گذاری دانش و آپدیت بودن اهمیت زیادی داره و همیشه سعی داریم که از روزمرگی و خسته‌کننده شدن کار جلوگیری کنیم. در ادامه به معرفی روش‌های ما برای حل این مسائل می‌پردازیم.۱. جلسات هفتگی سایلنت - Silent Meetingsهر هفته یه جلسه داریم با هدف یادگیری. به این صورت که هر فرد لینک‌های مفید از مطالبی که در این هفته مطالعه کرده رو توی جلسه می‌ذاره و بقیه مطالعه می‌کنند. اسم این جلسات رو Silent گذاشتیم چون هیچ کس حرف نمی‌زنه و همه فقط مطالب توی جلسه رو مطالعه می‌کنند. در پایان جلسه هم اگر سوالی پیش اومده باشه، می‌پرسیم.نمونه‌ای از مطالب جلسه‌ی سایلنتمثلا تو این عکس مطالبی که آماده شده برای یکی از جلسات، نمایش داده شده. موضوع کلی هر مطلب و مدت زمانی که برای مطالعه‌ی اون لازمه هم مشخص شده.چرا جلسات سایلنت؟خوندن، سریعتر از حرف زدنه. وقتی ما می‌خونیم می‌تونیم جاهایی که بلد هستیم رو رد کنیم و جاهایی که برامون جدیده رو با دقت بیشتری بخونیم.هر کس فقط مطالبی که لازم داره رو می‌خونه. ممکنه بعضی مطالب برای بعضیا تکراری باشه و بلد باشن یا اصن براشون جالب نباشه.امکان باز کردن لینک‌های جانبی یا جستجو وجود داره. ممکنه بخوایم بیشتر در مورد یه موضوعی مطالعه کنیم و لینک های جلسه کافی نباشه برامون. تو این جلسات این امکان وجود داره.چطور این همه مطلب و جلسه رو آرشیو می‌کنیم؟برای مدیریت محتوای این جلسات ما از Notion.so استفاده می‌کنیم.ضمنا آرشیو تمام جلسات و تمام مطالب هم همیشه در دسترس هست و برای آموزش سریع‌تر و همچنین جلوگیری از پرسش و پاسخ‌های تکراری استفاده می‌شه. مثلا اگه کسی سوالی براش پیش بیاد در مورد موضوعی که قبلا توی جلسات وجود داشته، کافیه توی آرشیو جستجو کنه. همچنین مطالبی که اهمیت بالاتری دارند، در قسمت آرشیو در بخش جداگانه‌ای به اسم Essentials و به تفکیک سطح (Junior, Mid, Senior) در دسترس هستند.آرشیو جلسات و مستندات تیم فرانت تپسل۲. هر فرد همیشه یک تسک Research &amp; Developmentبذارید قبلش یه توضیح بدم... تپسل چندین محصول داره و هر محصول تیم فرانت مخصوص خودش رو داره ولی چالش‌های همه‌ی این تیم‌ها شبیه هم هست چون همه با تکنولوژی‌ها و دیزاین سیستم یکسانی کار می‌کنند و معمولا در موارد بیزینسی متفاوت هستن؛ در نتیجه می‌تونیم وقتی مشکلی رو حل می‌کنیم، یک راه حل جامع ارائه بدیم که همه‌ی تیم‌ها ازش استفاده کنند.به طور دقیق‌تر ما یک استخر (Pool) از مشکلات/چالش‌ها داریم که تیم‌های مختلف بهشون برخوردند حالا هر فرد میره از این استخر یک مشکل رو که براش جذابه انتخاب می‌کنه، به خودش اختصاص می‌ده (Assign) و در نهایت نتیجه رو پیاده‌سازی می‌کنه و در اختیار همه قرار می‌ده. ضمنا در جلسات هفتگی مطالبی که مطالعه کرده رو با بقیه به اشتراک می‌ذاره.چند نمونه‌ش رو به طور خلاصه توضیح میدم:دو تا تیم احتیاج به مکانیزمی داشتند که بتونن بر اساس Permission های کاربر، قسمت های مختلفی از پنل رو مخفی کنند. یک نفر داوطلبانه این نیازمندی رو پیاده‌سازی کرد و تیم دیگه هم ازش استفاده کرد.یک نفر پیشنهاد کرد که از Stylelint استفاده کنیم. یک نفر این قضیه رو به دست گرفت و یک کانفیگ خوب + آموزش‌های مربوطه + پایپ‌لاین مناسب برای Merge request ها رو آماده کرد. حالا همه‌ی پروژه‌ها این کانفیگ رو استفاده می‌کنند!گاهی اوقات این موضوعات حتی خارج از نیازمندی‌های تیم هست و صرفا به دلیل علاقه‌ی افراد به یادگیری تکنولوژی‌های مختلف اتفاق می‌افتد.برای این مدیریت این تسک‌ها ما از Airtable.com استفاده می‌کنیم. ابزاری کمتر شناخته شده که ترکیبی از Excel و Trello هست.۳. اختصاص بخشی از هر روز به مطالعههمه‌ی ما همیشه موضوعاتی هست که دوست داریم یاد بگیریم یا مطالب مفیدی پیدا می‌کنیم که احتمالا با ابزاری مثل Pocket ذخیره می‌کنیم که بعدا مطالعه کنیم ولی همیشه اینکار رو عقب می‌اندازیم و بعد از یه مدت هم می‌فهمیم که خیلی وقته چیز جدیدی یاد نگرفتیم و پیشرفت نکردیم.در تیم فرانت تپسل ما هر روز یک دهم از روز رو به مطالعه اختصاص می‌دهیم. البته خیلی از مواقع این وقت صرف مطالعه‌ی مطالبی که در آرشیومون داریم (بالاتر توضیح دادم) میشه.بعضی از منابع پیشنهادی‌مون رو معرفی می‌کنم: راحت‌ترین شون newsletter های معروف مثل CSS-Weekly و Codrops و Mediumپیج‌های توییتر مثل JavaScriptKicks و frontender_ua و ChromeDevTools و CSS-Tricks البته پیج‌هایی تکنولوژی‌هایی که باهاشون کار می‌کنیم مثل angular و Typescript منابع یادگیری دیگه مثل یوتیوب یا بلاگ‌های دولوپرهای معروفنکته‌ی پایانی - میزان به روز بودن‌تان را ارزیابی کنیداگه می‌خواین بدونین چقد رو لبه‌ی تکنولوژی هستید و از آخرین آپدیت‌ها اطلاع دارید، بهتون پیشنهاد می‌کنم stateofjs.com و stateofcss.com رو حتما ببینیدجمع‌بندیکار شما هر چی که هست، مهمه که به روز باشین! به خصوص اگه برنامه‌نویس باشین. ما در تیم فرانت تپسل، اهمیت زیادی به این موضوع می‌دهیم و سعی می‌کنیم تمام شرایط لازم را برای آن فراهم آوریم.شما هم سعی کنید:روزانه بخشی از وقت‌تون رو به مطالعه‌ی مطالبی که عنوان (Title)‌ شون جدید هست بپردازید.اگه فرصت خوندن یک مطلب رو ندارید، از ابزارهای Save for later مثل Pocket استفاده کنید.اگه علاقه‌مند هستید، یک Journal برای خود داشته باشید و لینک‌های مفید رو نگه دارید (یا بوک مارک کنید). </description>
                <category>بلاگ تیم فنی تپسل</category>
                <author>وحید محمدی</author>
                <pubDate>Tue, 02 Nov 2021 11:57:25 +0330</pubDate>
            </item>
            </channel>
</rss>