<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
    <channel>
        <title>پست‌های انتشارات بلو مجیک (BlueMagic)</title>
        <link>https://virgool.io/bluemagic/feed</link>
        <description>مقالات مفید و کاربردی در مورد برنامه‌نویسی ، دواپس و توسعه نرم‌افزار به زبان فارسی</description>
        <language>fa</language>
        <pubDate>2026-06-17 07:37:48</pubDate>
        <image>
            <url>https://files.virgool.io/upload/publication/j6zgmx30meuv/mcwiec.png</url>
            <title>بلو مجیک (BlueMagic)</title>
            <link>https://virgool.io/bluemagic</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>بلو مجیک (BlueMagic)</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>بلو مجیک (BlueMagic)</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>بلو مجیک (BlueMagic)</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>بلو مجیک (BlueMagic)</category>
                <author>مهران سعادت</author>
                <pubDate>Wed, 12 Aug 2020 20:20:01 +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>بلو مجیک (BlueMagic)</category>
                <author>مهران سعادت</author>
                <pubDate>Fri, 01 Nov 2019 03:34:35 +0330</pubDate>
            </item>
            </channel>
</rss>