<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
    <channel>
        <title>نوشته های مهران سعادت</title>
        <link>https://virgool.io/feed/@mehransdt</link>
        <description>software deveoper</description>
        <language>fa</language>
        <pubDate>2026-06-07 22:29:03</pubDate>
        <image>
            <url>https://files.virgool.io/upload/users/80011/avatar/2CYj3e.png?height=120&amp;width=120</url>
            <title>مهران سعادت</title>
            <link>https://virgool.io/@mehransdt</link>
        </image>

                    <item>
                <title>راه‌اندازی Postgresql + pgadmin با داکر docker</title>
                <link>https://virgool.io/bluemagic/%D8%B1%D8%A7%D9%87%E2%80%8C%D8%A7%D9%86%D8%AF%D8%A7%D8%B2%DB%8C-Postgresql-+-pgadmin-%D8%A8%D8%A7-%D8%AF%D8%A7%DA%A9%D8%B1-docker-wlimegsz341d</link>
                <description>آموزش نصب postgresql و pgadmin با استفاده از dockerبرای بالا آوردن سریع postgresql + pgadmin یک فایل docker compose نوشتم و در گیت هاب قرار دادم که در اینجا در موردش توضیح میدهم.version: &#039;3&#039;
services: 
  postgresql:
    image: postgres:12
    container_name: postgresql
    volumes: 
      - postgres_vol:/var/lib/postgresql/data
    restart: always
    env_file: .env
    ports: 
      - &amp;quot5432:5432&amp;quot
    networks: 
      - postgres_network

  pgadmin:
    container_name: pgadmin
    image: dpage/pgadmin4
    env_file: .env
    volumes:
      - pgadmin_vol:/var/lib/pgadmin
    ports:
      - 5050:80
    networks:
      - postgres_network
    restart: always

volumes: 
  postgres_vol:
  pgadmin_vol:

networks: 
  postgres_network:یک فایل ایجاد کنید و کد بالا را داخل آن کپی کنید.نام فایل را docker-compose.yml بگذارید.حالا باید یک فایل با نام .env ایجاد کنید و مقادیر زیر را داخل آن کپی کنید و برای هر ردیف مقادیر دلخواه را جلوی علامت = قرار دهید.POSTGRES_USER=
POSTGRES_PASSWORD=
POSTGRES_DB=

PGADMIN_DEFAULT_EMAIL=
PGADMIN_DEFAULT_PASSWORD=حالا با اجرای دستور زیر به صورت همزمان کانتینرهای postgresql و pgadmin بالا می‌آیند.docker-compose up -dبرای چک کردن وضعیت کانتینرهایی که ایجاد کردیم از دستور زیر استفاده کنید:docker ps -aخروجی چنین تصویری خواهد بود:برای ورود به pgadmin از پورت ۵۰۵۰ استفاده کنید:http://localhost:5050آدرس ایمیل و پسوردی که در فایل .env ست کردید را وارد کنید و لاگین شوید.در صورتی که برای اتصال به postgresql خطایی داشتید با استفاده از کامند زیر، ip کانتینر را پیدا کنید و در تنظیمات کانکشن استفاده کنید:docker inspect CONTAINER_ID  | grep IPAddressبه روز ترین نسخه فایل‌های فوق را از ریپوی گیت هاب در آدرس زیر دریافت کنید و استفاده کنید. در صورتی که برای شما مفید بود ،‌در گیت هاب استار کنید.https://github.com/mehransdt/postgresql</description>
                <category>مهران سعادت</category>
                <author>مهران سعادت</author>
                <pubDate>Thu, 31 Dec 2020 23:00:22 +0330</pubDate>
            </item>
                    <item>
                <title>راه‌اندازی وردپرس با داکر wordpress + Docker</title>
                <link>https://virgool.io/bluemagic/%D8%B1%D8%A7%D9%87%D8%A7%D9%86%D8%AF%D8%A7%D8%B2%DB%8C-%D9%88%D8%B1%D8%AF%D9%BE%D8%B1%D8%B3-%D8%A8%D8%A7-%D8%AF%D8%A7%DA%A9%D8%B1-wordpress-docker-x3uw8vc7j1re</link>
                <description>برای راه‌اندازی سریع و بی دردسر وردپرس در محیط‌های development و همچنین production می‌توانید از داکر استفاده کنید.من یک فایل docker-compose نوشتم که در گیت هاب در دسترس هست. در اینجا روش استفاده‌اش را توضیح میدم.با استفاده از این فایل داکر کامپوز ما همزمان ۳ کانتینر wordpress , mysql , phpmyadmin را ایجاد و راه‌اندازی می کنیم.در صورتی که قبلا  Docker و docker-compose را نصب نکرده اید باید ابتدا نصب کنید. طریقه نصب ساده است و با یک جستجوی ساده در گوگل می تونید مشاهده کنید.گام بعدی ایجاد یک فایل با نام docker-compose.yml و کپی کردن کد زیر داخل اون هست.برای دسترسی به بروزترین نسخه این فایل به صفحه گیت هاب پروژه مراجعه کنید.version: &#039;3.1&#039;

services:

  wordpress:
    image: wordpress:latest
    restart: always
    ports:
      - 8080:80
    environment:
      WORDPRESS_DB_HOST: db
      WORDPRESS_DB_USER: wordpress
      WORDPRESS_DB_PASSWORD: wordpress
      WORDPRESS_DB_NAME: wordpress
    volumes:
      - wordpress:/var/www/html
    networks:
      - mysql_wordpress

  db:
    image: mysql:5.7
    restart: always
    environment:
      MYSQL_DATABASE: wordpress
      MYSQL_USER: wordpress
      MYSQL_PASSWORD: wordpress
      MYSQL_RANDOM_ROOT_PASSWORD: &#039;1&#039;
    volumes:
      - db:/var/lib/mysql
    networks:
      - mysql_wordpress
      
      
  phpmyadmin:
    image: phpmyadmin
    restart: always
    ports:
      - 8282:80
    networks:
      - mysql_wordpress
       
volumes:
  wordpress:
  db:
  
networks:
  mysql_wordpress:فایل را ذخیره کنید.دقت کنید نام فایل docker-compose.yml باشد.برای تعیین username و password دیتابیس ، در قسمت‌های زیر به جای wordpress مقادیر دلخواه خود را قرار دهید.WORDPRESS_DB_USER: wordpress   
WORDPRESS_DB_PASSWORD: wordpress    
WORDPRESS_DB_NAME: wordpressهمچنین در این قسمت:MYSQL_DATABASE: wordpress
MYSQL_USER: wordpress
MYSQL_PASSWORD: wordpressحالا وقت اجرای فایلمون هست. ترمینال را باز کنید و وارد فولدری شوید که فایل داکر کامپوز را در آنجا ذخیره کردید.حالا دستور زیر را اجرا کنید:(باید از vpn یا شکن استفاده کنید)docker-compose up -dتمامی مراحل به صورت اتوماتیک پیش میره و در پایان با اجرای دستور زیر ، کانتینرهای ایجاد شده را مشاهده می‌کنیم. در لینوکس از sudo در ابتدای دستور استفاده کنید.docker ps -aمی‌بینیم که هر سه کانتینر ما به خوبی ایجاد و استارت شده اند.حالا در وردپرس شما در localhost و پورت 8080 قابل دسترسی است.http://localhost:8080همچنین phpmyadmin با پورت ۸۲۸۲ در دسترس است.http://localhost:8282امیدوارم که این مطلب برای شما مفید بوده باشه.</description>
                <category>مهران سعادت</category>
                <author>مهران سعادت</author>
                <pubDate>Sun, 13 Dec 2020 21:19:36 +0330</pubDate>
            </item>
                    <item>
                <title>رابط کاربری گرافیکی تحت وب برای PostgreSQL</title>
                <link>https://virgool.io/bluemagic/%D8%B1%D8%A7%D8%A8%D8%B7-%DA%A9%D8%A7%D8%B1%D8%A8%D8%B1%DB%8C-%DA%AF%D8%B1%D8%A7%D9%81%DB%8C%DA%A9%DB%8C-%D8%AA%D8%AD%D8%AA-%D9%88%D8%A8-%D8%A8%D8%B1%D8%A7%DB%8C-postgresql-gefivarkftdw</link>
                <description>در میان رابط های کاربری مختلفی که برای PostgreSQL منتشر شده، pgweb از همه سبک‌تر و کارآمدتر است.تصویری از محیط pgwebبا اینکه pgweb یک cross platform application است ولی من ترجیح دادم تا با استفاده از Docker نصب و استفاده کنم. به شما هم پیشناد میکنم از داکر استفاده کنید.برای نصب با استفاده از داکر مراحل زیر را دنبال کنید:docker pull sosedoff/pgwebdocker run -p 8081:8081 sosedoff/pgwebنصب انجام شد و داکر اجرا شد. حالا آدرس زیر را در مرورگر خود وارد کنید:http://localhost:8081اطلاعات دیتابیس postgresql خود را وارد کنید و به دیتابیس متصل شوید.اطلاعات بیشتر را در صفحه رسمی pgweb در github مشاهده فرمایید.</description>
                <category>مهران سعادت</category>
                <author>مهران سعادت</author>
                <pubDate>Mon, 09 Nov 2020 18:12:12 +0330</pubDate>
            </item>
                    <item>
                <title>استفاده از Regex در Python به همراه نمونه کد</title>
                <link>https://virgool.io/bluemagic/%D8%A7%D8%B3%D8%AA%D9%81%D8%A7%D8%AF%D9%87-%D8%A7%D8%B2-regex-%D8%AF%D8%B1-python-%D8%A8%D9%87-%D9%87%D9%85%D8%B1%D8%A7%D9%87-%D9%86%D9%85%D9%88%D9%86%D9%87-%DA%A9%D8%AF-xhfvuzo1zprp</link>
                <description>برای استفاده از Regex از ماژول re استفاده میکنیم:import reدر مثال زیر می خواهیم فرمت یک آدرس ایمیل را از کاربر دریافت کنیم و با استفاده از regex مشخص کنیم که فرمت وارد شده صحیح است یا خیر.نمونه فرمت صحیح: email@email.comحال به کد زیر توجه فرمایید:import re
​
def check_email(email):
​
    check = re.search(r&#039;.+\@.+\..&#039;,email)
​
    if check != None:
​
        print(&#039;OK&#039;)
​
    else:
​
        print(&#039;WRONG&#039;)
​
email = input()
​
check_email(email)در این مثال ما از متد search از ماژول re استفاده کردیم که فرمت آن به صورت زیر می باشد:re.search(r&#039; regex&#039; , string)در مثال فوق در صورتی که با استفاده از search ، رجکس مورد نظرمان یافت نشد ، None را بر می گرداند.</description>
                <category>مهران سعادت</category>
                <author>مهران سعادت</author>
                <pubDate>Wed, 12 Aug 2020 20:20:01 +0430</pubDate>
            </item>
                    <item>
                <title>نرم افزار باشگاه مشتریان رایگان</title>
                <link>https://virgool.io/Shokolat/%D9%86%D8%B1%D9%85-%D8%A7%D9%81%D8%B2%D8%A7%D8%B1-%D8%A8%D8%A7%D8%B4%DA%AF%D8%A7%D9%87-%D9%85%D8%B4%D8%AA%D8%B1%DB%8C%D8%A7%D9%86-%D8%B1%D8%A7%DB%8C%DA%AF%D8%A7%D9%86-flerkc2ltltz</link>
                <description>نرم افزار باشگاه مشتریان شکلات ، یک سامانه وفاداری مشتریان ابری رایگان است که به کسب و کارها و فروشگاه ها کمک میکند تا باشگاه مشتریان اختصاصی خود را راه اندازی کنند.صدور کارت وفاداری و کارت هدیه و تخفیف در نرم افزار وفاداری شکلات به آسانی انجام میگیرد.سناریوها و طرح های تخفیفی به صورت کاملا منعطف در اختیار شماست تا با آن بتوانید انواع سناریوهای وفاداری مشتریان را پیاده سازی کنید. از جمله این طرح ها می توان به طرح های امتیاز و پاداش ، طرح های تخفیفی ، بازگشت درصدی از مبلغ خرید به حساب مشتری ، تخفیف های پلکانی و دیگر طرح های وفاداری اشاره کرد.در باشگاه مشتریان خود می توانید انواع هدیه ها را تعریف کنید. هدیه و تبریک روز تولد که به صورت اتوماتیک تنظیم می شود و برای مشتریان شما ارسال می شود. هدیه عضویت در باشگاه مشتریان برند شما و همچنین انواع هدیه های سفارشی. به طور مثال شما می توانید هدیه ای تعریف کنید و مشتری با استفاده از امتیازات کسب شده در باشگاه مشتریان ، آن هدیه را بخرد و یا امتیازاتش را به اعتبار خرید تبدیل کند.اپلیکیشن باشگاه مشتریان:اپلیکیشن باشگاه مشتریان شکلات به صورت اختصاصی در اختیار شما قرار می گیرد.یعنی لوگو و نام شما در اپلیکیشن درج میگردد و کاملا اختصاصی عمل میکند.مشتریان شما با نصب این اپلیکیشن بر روی تلفن همراهشان ، می توانند امتیاز ، اعتبار و هدایای خود را مشاهده کنند. همچنین می توانند با استفاده امتیازات کسب شده ، از هدایای تعریف شده استفاده نمایند.فروش آنلاین محصولات در اپلیکیشن:از دیگر مزایای اپلیکیشن شکلات می توان به تلفیق باشگاه مشتریان و سامانه فروش آنلاین اشاره کرد.در اپلیکیشن وفاداری مشتریان شکلات ، علاوه بر امکانات باشگاه مشتریان ، می توانید محصولات خود را به صورت آنلاین بفروشید. همچنین درگاه پرداخت اختصاصی خود را خواهید داشت. مشتری بعد از سفارش می تواند به صورت لحظه ای از آخرین وضعیت سفارش خود اطلاع پیدا کند. تمامی تخفیف ها و امتیازات همزمان با ثبت سفارش ، به صورت اتوماتیک محاسبه و در حساب مشتری منظور می شوند.از دیگر امکانات نرم افزار شکلات می توان به موارد زیر اشاره کرد:ارسال اتوماتیک پیامک و نوتیفیکیشن به مشتریان (ارسال از خط پیامک خدماتی)نمایش سوابق خرید و تاریخچه فعالیتهای مشتری.تعریف رویدادهای اتوماتیک. به طور مثال در صورتی که خرید ماهانه x ریال بود گروه مشتری ارتقاء یابد.وب سرویس باشگاه مشتریان شکلات:نرم افزار شکلات ، دارای وب سرویس و web hook  کامل ، قدرتمند و منعطف می باشد. با استفاده از api  می توانید امکانات نرم افزار باشگاه مشتریان شکلات را در نرم افزار ها ، اپلیکیشنها و سامانه های خود پیاده سازی نمایید.تمامی این امکانات به صورت رایگان در اختیار توسعه دهندگان قرار گرفته است.رایگان برای همیشه !نرم افزار شکلات هم اکنون به صورت رایگان در اختیار شما است. می توانید به صورت رایگان از آن استفاده کنید و باشگاه مشتریان اختصاصی خودتون را راه اندازی کنید.shokolat.app</description>
                <category>مهران سعادت</category>
                <author>مهران سعادت</author>
                <pubDate>Thu, 09 Apr 2020 06:20:33 +0430</pubDate>
            </item>
                    <item>
                <title>وب اپلیکیشن pwa</title>
                <link>https://virgool.io/bluemagic/%D9%88%D8%A8-%D8%A7%D9%BE%D9%84%DB%8C%DA%A9%DB%8C%D8%B4%D9%86-pwa-gciscuxm7klx</link>
                <description> در این مقاله قصد دارم چکیده کاربردی از تحقیقاتم در زمینه pwa را برای گرفتن تصمیمات فوری و کاربردی در اختیار دوستان قرار دهم .Progressive web app (pwa)به لطف pwa اکنون توسعه اپلیکیشنها راحت شده و می توانیم بدون داشتن دغدغه ی محدودیت مارکت ها و سیستم عامل ها به توسعه اپلیکیشنها بپردازیم.مزایای pwa:عدم نیاز به نصبعدم نیاز به آپدیت اپ توسط کاربرقابلیت اجرا بر روی اکثر پلتفرمها و سیستم عامل هاامکان کارکرد آفلاین به لطف service workerکارکر مشابه اپهای نیتیوتوسعه سریع و کم هزینهبدون نیاز به انتشار در مارکتها و پیروی از قوانین انحصاری آنهاآخرین امکانات و تغییرات جدید اپ بدون نیاز به آپدیت اپ توسط کاربر به صورت لحظه ای در اختیارش است.یکی برای همه (اندروید،دستکتاپ، ios و...) بدون نیاز به گرفتن خروجی برای هر پلتفرم.دکمه add to home screen در موبایل و دکمه install در دسکتاپ (مرورگر کروم)کدنویسی:اگر html,javascrip,css کار کردید دیگر چیز خاصی نیاز ندارید. فقط کافیست چک لیست pwa منتشر شده توسط گوگل را در گوگل سرچ کنید و طبق اون pwa خودتون را ایجاد کنید.در مورد تبدیل اپهای فعلی به pwa هم بدونید که اکثر این چک لیست سمت فرانت اند است و زیاد با بک اند کاری نداریم.برای داشتن بهترین کارایی در pwa بهتر است یکی از فریمورکهای جاوااسکریپ استفاده کنید.در زیر محبوب ترینها را نام بردم ولی خب طبق تحقیقی که داشتم، React js جامه آماری بیشتری را در ایران داره.React js , vue js , Angular , ionic,...سخن پایانی:آینده اپلیکیشنها و مخصوصا اپ های موبایلی ، pwa ها هستن و به خاطر مزایای بسیاری که دارن به سرعت جایگزین اپ های نیتیو خواهند شد.اگر شما هم مثل تیم ما ، توسعه سریع و کم هزینه و رها شدن از بند محدودیتها براتون مهمه ، توصیه میکنم حتما به pwa فکر کنید.</description>
                <category>مهران سعادت</category>
                <author>مهران سعادت</author>
                <pubDate>Fri, 01 Nov 2019 03:34:35 +0330</pubDate>
            </item>
                    <item>
                <title>تجربه من از تشکیل تیم نرم افزاری</title>
                <link>https://virgool.io/@mehransdt/%D8%AA%D8%AC%D8%B1%D8%A8%D9%87-%D9%85%D9%86-%D8%A7%D8%B2-%D8%AA%D8%B4%DA%A9%DB%8C%D9%84-%D8%AA%DB%8C%D9%85-%D9%86%D8%B1%D9%85-%D8%A7%D9%81%D8%B2%D8%A7%D8%B1%DB%8C-g508ytwkm7xa</link>
                <description>پیدا کردن برنامه نویس خوب کار سختیه و پیدا کردن برنامه نویس خوبی که بتونی از پس پرداخت حقوقش بر بیای کاری سخت تر.کلی رزومه برات میاد و تو باید دونه دونه بررسیشون کنی و لابه لای این بررسی ها به چیزهای جالبی بر میخوری.آگهی استخدام زده بودیم برای استخدام برنامه نویس لاراول. چرا طراح سایت با ورد پرس باید واسه این شغل رزومه بفرسته آخه.بگذریم.برنامه نویس لاراول هستم فلان تخصص را دارم فلان شرکتها کار کردم و... خب؟ هفته ای ۳ روز میام ساعت کاری منعطف باید باشه دست خودم. ناهار و سرویس ایاب ذهاب.... خب؟ حقوق ۱۵ میلیون. بسیار خب. یا ما توی این کشور زندگی نمیکنیم یا این دوستمون. درسته که حقوق برنامه نویس پایینه تو این مملکت ولی خب شما فکر کن من یه تیم ۳ نفره هم بخوام تشکیل بدم میشه ماهی ۴۵ میلیون به غیر از بیمه و مخارج و هزینه های دیگه اش.تازه شما ۳ روز در هفته هم میخوای تشریف بیاری سر کار.جالب اینجاست که این جور افراد اغلب دائما در حال کوچ از شرکتی به شرکت دیگر هستن و در رزومه شان حداقل ۱۰ شرکت به بالا را میتونی ببینی‌.این موارد بیشتر در تهران مشاهده میشه و برنامه نویسان شهرهای دیگر حقوق های متعادل و منصفانه تری را در نظر میگیرن و اتفاقا چقدر برنامه نویس خوب داریم در شهرستانها.تهران بازارش خیلی رقابتی شده و شرکتهای بزرگ در این حوزه، برنامه نویس خوب را از دست هم میقاپند.پس این نگرانی را داری که اگر فرد فوق را با حقوق بالا هم استخدامش کردی، با اولین پیشنهاد کاری بهتر، بهانه ای جور میکنه و میره از تیم و تو میمونی پروژه ای که وسط کار برنامه نویس بک اندش ول کرده رفته.(جسارت نباشه به دوستان برنامه نویس،این یک نگرانی است که من داشتم و بیان کردم و صرفا همه اینطور نیستن ).به هر حال قید تشکیل تیم نرم افزاری در تهران را زدم و در اصفهان یک شعبه از شرکت را تاسیس کردم و دفتر کار و تجهیزات و... و تیم را در شهر اصفهان تشکیل دادم.هزینه ها خیلی معقول تر از تهران از اجاره دفتر کار تا هزینه های کارمندان و...شانس با من یار بود و چند برنامه نویس خوب و حرفه ای و متعهد را تونستم دور هم جمع کنم و تیم را تشکیل دادیم.چه تیم خلاق و حرفه ای و دوست داشتنی ای.به سرعت تونستیم پروژه را شروع کنیم و من هم کلی چیز ازشون یادگرفتم و هم تونستم هزینه ها و بودجه تیم را مدیریت کنم.این مطلب را نوشتم تا به بسیاری از مدیران شرکتهای نرم افزاری،استارت آپ ها تجربه خودم را از این تصمیم صحیح بیان کنم و نشون بدم که همه برنامه نویسان خوب فقط در تهران نیستن و در همه جای ایران میتونید تیم نرم افزاریتون را تشکیل بدید.این همه ابزار ارتباطی و ابزارهای تیم ورک وجود داره و کار را به راحتی میشه پیش برد.تولید محصولات شرکت اپل در چین، تویوتا در استرالیا، سامسونگ در چین و مثالهای بیشتری که خودتون میدونید.تولید نرم افزار هم به همین صورت میشه پیش برد.اشتغالزایی برای جوانان مملکتمون در دیگر شهرها میشه، صنعت نرم افزارمون بیش از پیش رشد میکنه و بسیاری مزایای دیگه.حتی میشه call center های بزرگ را هم به شهرستانها منتقل کرد و ضمن صرفه جویی زیاد در هزینه ها، به میزان زیادی اشتغالزایی کرد.این بود تجربه من از تشکیل تیم نرم افزاری دوست داشتنی.</description>
                <category>مهران سعادت</category>
                <author>مهران سعادت</author>
                <pubDate>Wed, 16 Oct 2019 03:08:15 +0330</pubDate>
            </item>
            </channel>
</rss>