Available for work · پروژه‌های جدید از ماه آینده

مجتبی مسکین

توسعه‌دهنده FullStack وب

از ایده تا معماری، توسعه و استقرار: محصولات سریع، سبک و قابل اطمینان تحت وب

~/assistant
$ whoami
Mojtaba Meskin
$ role
Full Stack Web Developer
$ stack --top
PHP · Laravel · JavaScript · jQuery · SQLite · MySQL
$ status
Available for work
$

داخل یک محصول چه خبر است؟

هر نرم‌افزار وب از چند لایه ساخته می‌شود و هر لایه مسئولیت مشخصی دارد. اسکرول کنید تا لایه‌به‌لایه ببینید زیر ظاهر یک محصول چه چیزی کار می‌کند.

  1. ۰۱ / ۰۸

    رابط کاربری (Vue)

    لایه‌ای که کاربر می‌بیند و با آن کار می‌کند: چیدمان، رنگ، تایپوگرافی و حرکت. یک کد برای دسکتاپ و موبایل، و با Vue و Inertia جابه‌جایی بین صفحه‌ها بدون بارگذاری مجدد انجام می‌شود.

    VueInertiaSSRTailwind CSS
  2. ۰۲ / ۰۸

    تنظیمات نرم‌افزاری

    کلیدها و گزینه‌هایی که رفتار برنامه را بدون دست زدن به کد عوض می‌کنند: فایل تنظیمات محیط، آدرس و رمز سرویس‌های بیرونی و پرچم‌های روشن/خاموش کردن قابلیت‌ها.

    Config.envFeature FlagsSecrets
  3. ۰۳ / ۰۸

    بک‌اند (Laravel)

    مغز سیستم روی سرور: مسیریابی، میدلور، اعتبارسنجی ورودی، احراز هویت و سطح دسترسی. قوانین کسب‌وکار اینجا نوشته و با تست خودکار محافظت می‌شوند.

    LaravelPHPREST APITests
  4. ۰۴ / ۰۸

    پایگاه داده (PostgreSQL)

    نگهداری دائمی داده: جدول‌ها، روابط، ایندکس‌ها و تراکنش‌ها. مهاجرت‌های نسخه‌دار ساختار را بدون از دست رفتن داده به‌روز می‌کنند و پشتیبان‌گیری منظم انجام می‌شود.

    PostgreSQLMigrationsIndexesBackups
  5. ۰۵ / ۰۸

    کش و داده‌ی موقت (Redis)

    لایه‌ی سرعت: نتیجه‌ی کوئری‌های سنگین، نشست کاربران، قفل‌ها و محدودیت نرخ درخواست. داده‌های پرکاربرد با زمان انقضا نگه داشته می‌شوند تا دیتابیس نفس بکشد.

    RedisCacheSessionsTTL
  6. ۰۶ / ۰۸

    انتقال داده‌ی لحظه‌ای (WebSocket / Reverb)

    کانال زنده‌ای بین سرور و مرورگر که بدون درخواست‌های مکرر، تغییرات را همان لحظه می‌رساند: پیام‌ها، وضعیت سفارش، موقعیت روی نقشه و حضور آنلاین کاربران.

    WebSocketReverbBroadcastingPresence
  7. ۰۷ / ۰۸

    کیوها و کارهای پس‌زمینه

    کارهای سنگین از مسیر درخواست کاربر بیرون کشیده می‌شوند: ارسال ایمیل و پیامک، ساخت گزارش و فایل‌های حجیم. هر کار جداگانه اجرا می‌شود، در صورت خطا دوباره تلاش می‌کند و طبق زمان‌بندی هم اجرا می‌شود.

    QueueWorkersSupervisorScheduler
  8. ۰۸ / ۰۸

    سرور و سرویس‌های زیرساختی

    هر چیزی که برنامه روی آن اجرا می‌شود: nginx برای وب، سوپروایزر برای نگه داشتن کارگرها، سرور ایمیل، سرویس پیامک، گواهی SSL و استقرار بدون قطعی.

    nginxSupervisorMail ServerSMS ProviderSSLDeploy

داخل یک محصول چه خبر است؟

هر نرم‌افزار وب از چند لایه ساخته می‌شود و هر لایه مسئولیت مشخصی دارد. اسکرول کنید تا لایه‌به‌لایه ببینید زیر ظاهر یک محصول چه چیزی کار می‌کند.

برای دیدن هر لایه اسکرول کنید

+۳۴
سال تجربه
۵۰+
پروژه‌ی منتشرشده
+۲۰۰۰۰
فنجان قهوه
01 / PROJECTS

پروژه‌های منتخب

کارهایی که واقعاً ساخته و منتشر شده‌اند.

Desktop۱۳۷۹

درمان

سیستم پذیرش، نوبت‌دهی و صندوق مراکز درمانی

DosFoxpro
02 / SKILLS

مهارت‌ها

بر اساس کاربرد واقعی، نه درصد. روی هر مهارت بزنید تا پروژه‌های مرتبط را ببینید.

03 / EXPERIENCE

مسیر حرفه‌ای

04 / SERVICES

چه کاری می‌توانم برایتان انجام دهم

۰۱

طراحی و توسعه‌ی محصول وب

از تعریف مسئله تا نسخه‌ی قابل استفاده: معماری، بک‌اند، فرانت‌اند و پنل مدیریت.

۰۲

بهینه‌سازی سرعت و معماری

کاهش زمان بارگذاری، بهبود کوئری‌ها و ساده‌کردن زیرساخت برای سرورهای کم‌منبع.

۰۳

استقرار و DevOps

راه‌اندازی سرور، SSL، پشتیبان‌گیری و مانیتورینگ؛ طوری که بعد از تحویل دردسر نداشته باشید.

05 / BLOG

آخرین نوشته‌ها

نرم‌افزاری که کار می‌کند، لزوماً نرم‌افزار خوبی نیست
۲۶ مهر ۱۴۰۵زمان مطالعه ۴ دقیقه

نرم‌افزاری که کار می‌کند، لزوماً نرم‌افزار خوبی نیست

یکی از چیزهایی که در طول سال‌ها کار با نرم‌افزار برایم روشن شده، تفاوت بین چیزی است که صرفاً کار می‌کند و چیزی که واقعاً می‌شود روی آن حساب کرد. ساختن نسخه‌ای که یک نیاز را برطرف کند، همیشه مهم است؛ اما ماجرا به همان‌جا ختم نمی‌شود. سؤال اصلی وقتی شروع می‌شود که تعداد کاربران بیشتر شود، نیازها تغییر

برنامه‌نویسینرم‌افزارمهندسی نرم‌افزار
من قبل از اینکه برنامه‌نویس باشم، با کامپیوتر بزرگ شدم
۲۲ مهر ۱۴۰۵زمان مطالعه ۳ دقیقه

من قبل از اینکه برنامه‌نویس باشم، با کامپیوتر بزرگ شدم

اولین خاطره‌های من از کامپیوتر، با ویندوز و نرم‌افزارهای رنگارنگ امروزی شروع نمی‌شود. قبل از اینکه حتی الفبای فارسی را یاد بگیرم، با کامپیوتر و دستورات DOS آشنا شده بودم. چند سال بعد، GWBasic و QBasic، بعد Turbo Pascal و FoxPro و در ادامه Delphi وارد دنیای من شدند.

برنامه نویسBasicPascal
06 / CONTACT

بیایید با هم بسازیم

درباره‌ی پروژه‌تان بنویسید؛ معمولاً ظرف یک یا دو روز پاسخ می‌دهم.

چه چیزی می‌خواهید بسازیم؟