<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
    <channel>
        <title>نوشته های سید مرتضی موسوی</title>
        <link>https://virgool.io/feed/@morteza.mousavi90</link>
        <description></description>
        <language>fa</language>
        <pubDate>2026-04-15 07:03:05</pubDate>
        <image>
            <url>https://files.virgool.io/upload/users/980835/avatar/C94NaW.jpg?height=120&amp;width=120</url>
            <title>سید مرتضی موسوی</title>
            <link>https://virgool.io/@morteza.mousavi90</link>
        </image>

                    <item>
                <title>ساخت ایمیج داکر از فایل جاوا اسکریپت-اولین قدم در داکر</title>
                <link>https://virgool.io/@morteza.mousavi90/%D8%B3%D8%A7%D8%AE%D8%AA-%D8%A7%DB%8C%D9%85%DB%8C%D8%AC-%D8%AF%D8%A7%DA%A9%D8%B1-%D8%A7%D8%B2-%D9%81%D8%A7%DB%8C%D9%84-%D8%AC%D8%A7%D9%88%D8%A7-%D8%A7%D8%B3%DA%A9%D8%B1%DB%8C%D9%BE%D8%AA-%D8%A7%D9%88%D9%84%DB%8C%D9%86-%D9%82%D8%AF%D9%85-%D8%AF%D8%B1-%D8%AF%D8%A7%DA%A9%D8%B1-zm8nqh1qdw3n</link>
                <description>یکی  از ساده ترین وابتدایی ترین تمرین ها در مورد داکرایز کردن و آشنایی با  داکر فایل، کار کردن با یک فایل جاوا اسکریپت ساده است ما در این مثال یک  فایل جاوا اسکریپت ساده که کار خاصی هم نمی کند را داکرایز می کنیم یا راحت  تر بگم از فایلش یک ایمیج در داکر می سازیمبرای شروع کار یک فایل جاوا اسکریپتی که در داخل آن مثلا نوشته شده باشد  console.log(‘hello’) را می سازیمدر مرحله بعدی در کنار این فایل یک فایل با نام Dockerfile  می سازیم دقت کنید که اسم فایل دقیقا همین باشد و بعد فایل را باز می کنیم تا کارمون رو شروع کنیماول از هر چیزی ما برای اجرای فایل های جاوا اسکریپتی به node  نیاز داریم پس ایمیج node  را از داکر هاب دانلود می کنیمFROM node:alpineبه کمک دستور From  نسخه alpine  را که نسخه سبک از node  هست را دانلود می کنیمحالا باید یک دایرکتوری در ایمیجی که داریم می سازیم را برای نگه داری فایل ها و اعمال دستورات بسازیمWORKDIR ./jsdirکمک دستور  Workdir  یک دایرکتوری با هر نامی که بخواهید می توانید بسازیدحالا نوبت کپی کردن فایل ها به داخل این دایرکتوری استCOPY hello.js  .حالا که فایل ها رو کپی کردیم میرسیم به مرحله اجرای فایل hello.js  که ساختیمCMD node hello.jsحالا اگر ایمیج را به کمک دستور زیر بسازید و اجرا کنید می توانید چاپ شدن عبارت Hello  مشاهده کنیدdocker build -t hello .</description>
                <category>سید مرتضی موسوی</category>
                <author>سید مرتضی موسوی</author>
                <pubDate>Wed, 29 Jan 2025 17:41:37 +0330</pubDate>
            </item>
                    <item>
                <title>معنا و خاصیت acid در پایگاه داده</title>
                <link>https://virgool.io/@morteza.mousavi90/%D9%85%D8%B9%D9%86%D8%A7-%D9%88-%D8%AE%D8%A7%D8%B5%DB%8C%D8%AA-acid-%D8%AF%D8%B1-%D9%BE%D8%A7%DB%8C%DA%AF%D8%A7%D9%87-%D8%AF%D8%A7%D8%AF%D9%87-dahz6epv0mcg</link>
                <description>کلمه  ACID را می توان خلاصه شده  و برگرفته از چهار کلمه Atomicity- Consistency -Isolation- Durability معرفی کرد که هر تراکنشی که  دارای چهار ویژگی فوق یاشد که به ترتیب از سمت چپ به راست دارای معانی اتمی بودن ،سازگاری جداسازی و پایداری می باشدAtomicity تمام تغییرات داده شده در داخل تراکنش باید با موفقیت انجام شود یا اینکه هیچ یک از تغییرات انجام نشود همه یا هیچ کدام به عبارتی عملیات دستکاری دادهها در تراکنش یک واحد به حساب می آیند و غیر قابل تجزیه هستند یا همه با هم با موفقیت اجرا میشوند یا اینکه هیچ کدام اجرا نمیشوندConsistency تراکنشها سازگاری و جامعیت دادههای پایگاه داده (database) را حفظ میکنند به بیان دیگر، تراکنش پایگاه داده را از یک حالت سازگار (consistent) به حالت سازگار دیگری تبدیل می.کند به این معنا که در صورت roll backشدن تراکنش ب) شکست مواجه شدن یکی از (دستورات (پایگاه داده به حالتstate سازگاری قبل از اجرا شدن (تراکنش بر میگردد یا بعد از پذیرفته شدن تراکنش commit) یک وضعیت سازگاری جدید شکل می.گیرد در نتیجه هیچگاه پایگاه داده را در حالت ناسازگار رها نخواهد کرد یک) سری دستورات با موفقیت اجرا شده و یکسری شکست خورده اندIsolation تراکنش ها  در زمان اجرا جدا از یکدیگر هستند به بیان ،دیگر هر چند به طور کلی ممکن است چند تراکنش به طور همزمان اجرا شوند اما به هنگام سازی هر یک از این تراکنشها از بقیه تراکنشها پنهان نگه داشته میشود تا وقتی که تراکنش پذیرفته شود؛ به عبارت دیگر برای دو تراکنش متمایز T1 و T2 تراکنش T1 میتواند به هنگام سازی های T2 را ببیند پس از پذیرفته شدن (12 یا تراکنش T2 میتواند به هنگام سازیهای T1 را ببیند پس از پذیرفته شدن (1) اما هر دو به طور همزمان نمیتوانند به هنگام سازیهای یکدیگر را ببینندDurability پس از آن که تراکنشی پذیرفته شد(committed) به هنگام سازیهای ،آن در پایگاه داده باقی میماند و state جدید پایگاه داده قابل دسترسی ،بوده حتی اگر سیستم اندکی بعد به دلیل مشکلات سخت افزاری یا نرم افزاری از کار بیفتد در T-SQL عملاً این ترمیم و بازسازی توسط checkpointها صورت گرفته و رویه ترمیم پایگاه داده (recovery) در هنگامstartup انجام میشود</description>
                <category>سید مرتضی موسوی</category>
                <author>سید مرتضی موسوی</author>
                <pubDate>Sun, 05 May 2024 17:08:05 +0330</pubDate>
            </item>
                    <item>
                <title>دستور لاگ در Git برای مشاهده تاریخچه تغییرات</title>
                <link>https://virgool.io/@morteza.mousavi90/%D8%AF%D8%B3%D8%AA%D9%88%D8%B1-%D9%84%D8%A7%DA%AF-%D8%AF%D8%B1-git-%D8%A8%D8%B1%D8%A7%DB%8C-%D9%85%D8%B4%D8%A7%D9%87%D8%AF%D9%87-%D8%AA%D8%A7%D8%B1%DB%8C%D8%AE%DA%86%D9%87-%D8%AA%D8%BA%DB%8C%DB%8C%D8%B1%D8%A7%D8%AA-jxxonpjtqety</link>
                <description>در خیلی از زمان ها ما نیاز داریم تا کامیت هایی را که در گیت کردیم را ببینیم...یعنی تاریخچه کل یا چند کامیت آخر در گیت رادستوری که می شود از آن برای مشاهده تاریخچه کامیت ها استفاده کرددستورGit logاست که تمام تاریخچه را با یک کد منحصر به فرد که برای هر کامیت مجزا هست و تاریخ نمایش می دهدمشکلی که در این دستور وجود دارد طولانی بودن لیست لاگ ها می باشد, برای رفع این مشکل می توانید از دستورGit log –onelineاستفاده کنیم، این دستور لاگ ها را به صورت خلاصه و تک خطی نمایش می دهداگر نیاز داشته باسید تا یک تعداد خاصی از لاگ ها را مشاهده کنید مثلا 4 لاگ آخراز دستورGit log  -5استفاده می کنیم در این دستور از گیت خواسته شده 5 کامیت آخر را نمایش دهداگر قصد جستجوی یک کامیت با عنوانی خواص را داشته باشید می توانید از دستور زیر استفاده کنیدGit log –grep &quot;Title&quot;در دستور بالا برای مثلا تمام کامیت هایی که داری عنوان Title هستند نمایش داده می شود، نکته ای که در این دستور وجود دارد در صورت اجرای دستور تنها آخرین کامیتی که با این عنوان وجود دارد را نمایش می دهد برای مشاهده تمام لاگ ها از دستور زیر استفاده می کنیمGit log –grep &quot;Title&quot; –allاین دستور باعث می شود تا تمام لاگ ها با این عنوان نمایش داده شود</description>
                <category>سید مرتضی موسوی</category>
                <author>سید مرتضی موسوی</author>
                <pubDate>Sat, 04 May 2024 14:03:48 +0330</pubDate>
            </item>
                    <item>
                <title>ساخت شماره ردیف به کمک RowNumber در sql</title>
                <link>https://virgool.io/@morteza.mousavi90/%D8%B3%D8%A7%D8%AE%D8%AA-%D8%B4%D9%85%D8%A7%D8%B1%D9%87-%D8%B1%D8%AF%DB%8C%D9%81-%D8%A8%D9%87-%DA%A9%D9%85%DA%A9-rownumber-%D8%AF%D8%B1-sql-pdjlnzmkszls</link>
                <description>:در زمان کار با زبان Tsql در sql server گاهی نیاز است تابه خروجی کوئری خود شماره ردیف اضافه کنیم ، همچنین نیاز داریم تا این شماره ردیف براساس ستونی خاص انجام شود تابع RowNumber  در اس کیو ال دقیقا برای اسن نوع از کوئری ها است این تابع به شما این امکان را می دهد مه مرتب سازی و فیلتر را برروی نتیجه کوئری با استفاده از شماره ردیف ها انجام بدهیددر ادامه این مقاله به روش استفاده از این تابع می پردازیمنحوه استفاده از تابع RowNumber  در sqlSELECT ROW_NUMBER() OVER (ORDER BY column_name) AS row_num, column1, column2, ...
FROM table_nameدر کد بالا توسط Row_Number()  تابع RowNumber  فراخوانی شده است وOrder by  مشخص می کند که ردبف ها براساس کدام ستون مرتب شوندو As row_num به شما این امکان را می دهد که نتیجه را با نام جدید row_num نمایش دهیدستون های دیگر که قصد نمایش آنها را دارید به صورت مجزا مشخص می کنیدمثال کاربردی از RowNumber  در sqlدر ادامه چند مثال کاربردی برای استفاده از RowNumber  در کوئری ها را بررسی می‌کنیم:اگر قصد نتیجه کوئری براساس یک ستون خاص مرتب شود می توانید از کوئری زیر استفاده کنید:SELECT ROW_NUMBER() OVER (ORDER BY salary DESC) AS row_num, employee_name, salary
FROM employeesدر این مثال، نتایج بر اساس ستون حقوق به صورت نزولی مرتب شده هست و شماره ردیف به عنوان ستون row_num نمایش داده می‌شود.فیلتر کردن نتایج درRowNumberاگر بخواهید تنها برخی از ردیف‌ها را بر اساس شرایط خاصی نمایش دهید، می‌توانید از RowNumber استفاده کنید. به عنوان مثال:SELECT *
FROM (
    SELECT ROW_NUMBER() OVER (ORDER BY date_created DESC) AS row_num, order_id, total_amount
    FROM orders
) AS subquery
WHERE row_num &lt;= 200در این مثال، نتایج بر اساس ستون تاریخ ایجاد به صورت نزولی مرتب شده است و تنها ردیف‌هایی که شمارهردیف آنها کمتر یا مساوی 200 است، نمایش داده می‌شوند.نتیجه گیریتابع RowNumber در SQL، ابزاری قدرتمند برای مرتب‌سازی، فیلتر کردن نتایج است. با استفاده از RowNumber، می‌توانید نتایج را بر اساس شرایط خاصی مرتب کرده و تنها بخشی از نتایج را  که نیاز دارید را نمایش دهید. این قابلیت به شما امکان می‌دهد عملیات پیچیده‌تری را بر روی داده‌ها انجام دهید و نتایج را به صورت دقیقتری مدیریت کنید. با استفاده از مثال‌های ارائه شده و با توجه به نیازهای خود، می‌توانید RowNumber را به طور موثری در پروژه‌های SQL خود به کار ببرید.</description>
                <category>سید مرتضی موسوی</category>
                <author>سید مرتضی موسوی</author>
                <pubDate>Sun, 28 Apr 2024 09:36:06 +0330</pubDate>
            </item>
                    <item>
                <title>دستور If در sql</title>
                <link>https://virgool.io/codenevis/%D8%AF%D8%B3%D8%AA%D9%88%D8%B1-if-%D8%AF%D8%B1-sql-cdp7la9sxgbg</link>
                <description>اگر بسیاری از مواقع برای همه ما پیش آمده است که بین دو اتفاق مختلف که قراره در آینده بیفتد شرط هایی را پیش بینی می کنیم مثلا اگر امروز باران نبارد به پارک می رومدر دنیای برنامه نویسی و sql نیز شرط ها برای کنترل داده ها وجود دارد، ما به کمک شرط ها تعیین می کنیم که براساس شرایط مختلف تصمیم گیری ها مختلفی انجام گیرددستور If چیست؟دستور if در زبان sql به عنوان یک عبارت شرطی استفاده می شود که به برنامه نویسان این امکان را می دهد تا براساس شرایط مشخص ، تصمیم گیری مختلفی را در کوئری ها و فرایند اجرای یک دستور اعمال کننددر ادامه به ساختار این دستور می پردازیم:ساختار دستور If در sqlدستور If در sql به صورت زیر تعریف می شودIf(condition)
Begin
شرط ها
endهمانگون که مشاهده می کنید در  داخل پرانتز می توان شرط یا شروط را مشخص کردو بعد از پرانتز در بلاک  می توان بدنه اجرایی شرط را مشخص کردبرای مثالIf(@a&gt;5)
Begin
Set @b=15;
Endدر مثال بالا شرط لازم برای تغییر مقدار @b این است که متغیر @a بزرگتر از 5 باشدنتیجه‌گیری:دستور IF در SQL یک ابزار قدرتمند برای تصمیم‌گیری و عملکرد منطقی در پرس‌وجوها و فرآیندهای دیگر پایگاه داده است. با استفاده از این دستور، می‌توان شرایط خاصی را بررسی کرده و عملیات مختلفی را براساس این شرایط اجرا کرد. از کاربردهای این دستور می‌توان به شرطی کردن پرس‌وجوها، بروزرسانی داده‌ها و فیلتر کردن نتایج اشاره کرد. با استفاده صحیح از دستور IF می‌توان بهبود عملکرد و کارایی پایگاه داده‌ها را تسهیل نمود</description>
                <category>سید مرتضی موسوی</category>
                <author>سید مرتضی موسوی</author>
                <pubDate>Sat, 27 Apr 2024 10:14:20 +0330</pubDate>
            </item>
                    <item>
                <title>آموزش برنامه نویسی از صفر</title>
                <link>https://virgool.io/@morteza.mousavi90/%D8%A2%D9%85%D9%88%D8%B2%D8%B4-%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D9%87-%D9%86%D9%88%DB%8C%D8%B3%DB%8C-%D8%A7%D8%B2-%D8%B5%D9%81%D8%B1-kn04tipr9cgh</link>
                <description>برنامه نویسی یک مسیر چالش برانگیز و جذاب است که نیازمند صبر و تعهد زیادی است. این موضوع برای هر فردی که به دنبال یادگیری چیز جدید و مفید است، بسیار مهم است. شروع برنامه نویسی اولین گام در این مسیر است که به شما کمک می‌کند تا مفاهیم اولیه برنامه نویسی را یاد بگیرید و با ساختارهای داده و الگوریتم‌ها آشنا شوید. این مهارت‌ها اساسی‌ترین ابزارهای یک برنامه نویس حرفه‌ای هستند. آموزش برنامه نویسی به شما کمک می‌کند تا بهترین روش‌های برنامه نویسی را یاد بگیرید و مهارت‌های خود را به سطح بالاتری برسانید. به همین دلیل، شروع برنامه نویسی اولین قدم در مسیر یادگیری برنامه نویسی و تبدیل شدن به یک برنامه نویس حرفه‌ای است.گام‌های اولیه در شروع برنامه نویسیانتخاب زبان برنامه نویسی مناسبیادگیری برنامه نویسی نیازمند صبر و تمرکز است. مراحل اولیه این یادگیری شامل انتخاب زبان برنامه نویسی مناسب، آشنایی با مفاهیم پایه‌ای برنامه نویسی و نصب محیط توسعه (IDE) و تنظیمات اولیه است. در این مراحل، انتخاب زبان برنامه نویسی مناسب و یادگیری مفاهیم پایه‌ای برنامه نویسی بسیار اهمیت دارد. همچنین، یادگیری یک زبان برنامه نویسی خاص و یک چارچوب برای آن زبان نیز از مراحل اساسی یادگیری برنامه نویسی محسوب می‌شود.آشنایی با مفاهیم پایه‌ای برنامه نویسییادگیری برنامه نویسی به مراحل مختلفی تقسیم می‌شود که شامل انتخاب زبان برنامه نویسی، آشنایی با مفاهیم پایه‌ای برنامه نویسی، یادگیری زبان برنامه نویسی، یادگیری یک چارچوب برای زبان برنامه نویسی و یادگیری مفاهیم جدید درباره برنامه نویسی است. این مراحل اولیه یادگیری برنامه نویسی بسیار اهمیت دارند و باید با دقت و تمرکز انجام شوند تا بتوانید به‌طور کامل مهارت‌های برنامه نویسی خود را به‌روز نگه دارید و پروژه‌های واقعی ایجاد کنید.نصب محیط توسعه (IDE) و تنظیمات اولیهبعد از انتخاب زبان برنامه نویسی مناسب و آشنایی با مفاهیم پایه‌ای برنامه نویسی، مرحله بعدی این است که محیط توسعه (IDE) را نصب کرده و تنظیمات اولیه آن را انجام دهید. IDE یک محیط یکپارچه است که به شما کمک می‌کند تا بتوانید به‌طور بهتری کد بزنید و پروژه‌های خود را مدیریت کنید. پس از نصب IDE، باید تنظیمات اولیه را انجام دهید تا بتوانید به‌طور بهتری با آن کار کنید و به‌روزرسانی‌های لازم را اعمال کنید.یادگیری ساختارهای داده و الگوریتم‌هامفهوم و اهمیت ساختار داده‌ها در برنامه نویسیساختارهای داده برای سازماندهی و ذخیره‌سازی داده‌ها به منظور انجام عملیات داده‌ای به صورت کارآمد استفاده می‌شوند. به عنوان مثال، یکی از مهمترین ساختارهای داده، آرایه است که اجازه می‌دهد به راحتی به اعضای داده دسترسی پیدا کرد. اهمیت استفاده از ساختار داده‌ها در برنامه‌نویسی این است که با استفاده از آنها، می‌توان بهبود کارایی و کاربرد داده‌ها را داشت.آموزش مفاهیم اولیه الگوریتم‌هاالگوریتم نیز یک روند مرحله به مرحله است که یک مجموعه دستورالعمل را تعریف می‌کند که باید به ترتیب خاصی اجرا شود تا خروجی مورد نظر بدست آید. مفهوم اولیه الگوریتم‌ها شامل مواردی مانند جستجوی خطی و دودویی، مرتب‌سازی و الگوریتم‌های گراف می‌شود. این مفاهیم اولیه الگوریتم‌ها برای یادگیری برنامه‌نویسی اساسی و اجتناب‌ناپذیر هستند.تمرین و حل مسائل برای تقویت مهارت‌هابرای تقویت مهارت‌های برنامه‌نویسی در زمینه ساختارهای داده و الگوریتم‌ها، تمرین و حل مسائل بسیار اهمیت دارد. می‌توانید از منابع آموزشی مختلف استفاده کنید تا مفاهیم اولیه ساختارهای داده و الگوریتم‌ها را یاد بگیرید. همچنین، حل مسائل عملی و پروژه‌های کوچک می‌تواند به شما کمک کند تا مهارت‌های خود را بهبود ببخشید.مسیر یادگیری برنامه نویسی و پیشرفت مهارت‌هابرنامه‌ریزی برای مسیر یادگیرییادگیری برنامه نویسی به تعریف مهارت‌های برنامه نویسی می‌پردازد که شامل زبان‌های برنامه نویسی و مفاهیم مختلفی مانند ساختارهای داده و الگوریتم‌ها، محاسبات ابری و چارچوب‌های توسعه می‌شوند. برای شروع بهتر است که حداقل یک زبان برنامه نویسی را بشناسید و با مفاهیم معمول برنامه نویسی آشنا باشید.پروژه‌های کوچک شخصی به عنوان تمرین عملییکی از بهترین راه‌ها برای تقویت مهارت‌های برنامه نویسی انجام پروژه‌های کوچک شخصی به عنوان تمرین عملی است. این پروژه‌ها می‌توانند شامل توسعه برنامه‌های کوچک، طراحی وبسایت‌های ساده یا حتی نوشتن اسکریپت‌های خودکار باشند. این کارها به شما کمک می‌کنند تا مفاهیم یادگرفته‌شده‌را در عمل به کار ببرید و مهارت‌های خود را بهبود ببخشید.شرکت در دوره‌های آموزش برنامه نویسییک روش دیگر برای یادگیری برنامه نویسی، شرکت در دوره‌های آموزش برنامه نویسی است. این دوره‌ها می‌توانند آموزش‌های آنلاین، کلاس‌های حضوری یا کارگاه‌های عملی باشند که به شما کمک می‌کنند تا مفاهیم برنامه نویسی را به صورت کامل یاد بگیرید. به عنوان مثال، دوره‌های آنلاین مانند برنامه تجربه مجازی «Forage» می‌تواند به شما کمک کند تا مهارت‌های برنامه نویسی خود را تمرین کنید.با این روش‌ها می‌توانید مسیر یادگیری برنامه نویسی را طی کرده و مهارت‌های خود را پیشرفت دهید تا در زمینه برنامه نویسی موفق شوید.بکارگیری بهترین روش‌های برنامه نویسیدر این بخش از مقاله به بررسی بهترین روش‌های برنامه نویسی می‌پردازیم که به شما کمک می‌کند تا به عنوان یک برنامه‌نویس حرفه‌ای عمل کنید. ابتدا با آموزش استانداردها و الگوهای کدنویسی شروع می‌کنیم.آموزش استانداردها و الگوهای کدنویسیاستانداردها و الگوهای کدنویسی اصول و قوانینی هستند که به برنامه نویسان کمک می‌کنند تا کد‌هایشان را به شکلی منظم و قابل فهم برای دیگران بنویسند. این الگوها شامل نحوه نامگذاری متغیرها، استفاده از فضاها و نحوه ساختاردهی کد می‌شود.آشنایی با اصول Clean Code و RefactoringClean Code به معنای نوشتن کدی است که قابلیت خواندن و تغییر دادن آن به راحتی را دارد. Refactoring همانند تمیز کردن کد است و بهبود کیفیت کد را به منظور افزایش بهره‌وری و کاهش اشکالات فنی فراهم می‌کند.تست نویسی و Debugging به منظور ارتقائ کیفیت کدتست نویسی و Debugging ابزارهای مهمی هستند که به برنامه نویسان کمک می‌کنند تا کیفیت کد خود را ارتقا دهند. با انجام تست‌های مختلف و رفع اشکالات موجود در کد، می‌توان از قابلیت‌ها و عمل‌کرد صحیح کد اطمینان حاصل کرد.گذر از یک تازه‌کار به برنامه نویس حرفه‌اییادگیری مدیریت پروژه‌های نرم‌افزاریامروزه، یادگیری مدیریت پروژه‌های نرم‌افزاری از اهمیت بسیاری برخوردار است. برای تبدیل شدن به یک برنامه نویس حرفه‌ای، باید مهارت‌های مدیریت پروژه را نیز یاد بگیرید. این شامل برنامه‌ریزی، تخصیص منابع، مدیریت زمان و ارتباط با تیم‌های مختلف است. همچنین باید قادر به تعیین اهداف و تعقیب آن‌ها باشید تا به بهترین نتیجه برسید.مشارکت در پروژه‌های Open Sourceمشارکت در پروژه‌های Open Source یکی از بهترین راه‌ها برای یادگیری و بهبود مهارت‌های برنامه نویسی است. با شرکت در این پروژه‌ها، شما فرصت خواهید داشت تا با کد نویسی و توسعه نرم‌افزارهای واقعی آشنا شوید. همچنین این تجربه به شما کمک می‌کند تا با استانداردهای برنامه‌نویسی و همکاری با تیم‌های بزرگ آشنا شوید.شبکه‌سازی و ارتباط با سایر برنامه نویسانشبکه‌سازی و برقراری ارتباط با سایر برنامه نویسان یکی از مهمترین عوامل موفقیت در حرفه برنامه نویسی است. با پیوستن به جوامع برنامه نویسی، شما می‌توانید از تجربیات دیگران بهره ببرید و با افرادی که در صنعت مشغول به فعالیت هستند، ارتباط برقرار کنید. این امر به شما کمک می‌کند تا با اخبار و تازه‌های صنعت آشنا شوید و از فرصت‌های شغلی بهتر بهره مند شوید.نتیجه گیریدر نهایت، یادگیری برنامه نویسی یک مسیر پیچیده و جذاب است که نیازمند صبر، تمرکز و انگیزه قوی است. از انتخاب زبان برنامه نویسی مناسب و نصب محیط توسعه تا آشنایی با ساختار داده‌ها و الگوریتم‌ها، هر مرحله از این مسیر مهم و حیاتی است. اما با پیشرفت و تمرین مداوم، می‌توان به عنوان یک برنامه‌نویس حرفه‌ای عمل کرد. از طریق یادگیری مدیریت پروژه‌های نرم‌افزاری و استفاده از بهترین روش‌های برنامه نویسی، می‌توانید مهارت‌های خود را به سطح بالاتری برسانید. بنابراین، انگیزه و انعطاف‌پذیری در یادگیری و پیشرفت از اهمیت بالایی برخوردارند تا به عنوان یک برنامه‌نویس موفق و ماهر شناخته شویدمنبع</description>
                <category>سید مرتضی موسوی</category>
                <author>سید مرتضی موسوی</author>
                <pubDate>Sun, 18 Feb 2024 13:27:40 +0330</pubDate>
            </item>
                    <item>
                <title>شرط گذاشتن با دستور case در Sql</title>
                <link>https://virgool.io/SqlServerTutorial/%D8%B4%D8%B1%D8%B7-%DA%AF%D8%B0%D8%A7%D8%B4%D8%AA%D9%86-%D8%A8%D8%A7-%D8%AF%D8%B3%D8%AA%D9%88%D8%B1-case-%D8%AF%D8%B1-sql-djzg3lmi6gss</link>
                <description>فرض کنید که شما مدیر یک مدرسه هستید و قرار است دانش آموزانی را با شرایط مختلف انتخاب کنید دانش آموزانی که ریاضی را قبول شده انددانش آموزانی که فارسی را قبول شده انددانش آموزانی که درس هندسه را قبول شده انددستور case در Sqlیک کار راحت برای شما این است که تمام دانش آموزان را در حیاط مدرسه صف کنید و از میان آن ها شروع به انتخاب دانش آموزان مدنظر کنیدحالا بیایید این کار را بوسیله sql انجام دهیم ما یک جدول از دانش آموزان به همراه نمرات آن ها در درس های مختلف داریمقصد داریم از میان آن ها دانش آموزانی که شرط بالا را دارند انتخاب یا فیلتر کنیمدر این مواقع که شروط مختلف برای انتخاب داریم دستور case در sql می تواند به ما کمک کند!شاید بپرسید چطوری؟ساختار دستور case به صورت زیر است(case when شرط then نتیجهwhen شرط then نتیجه...else نتیجه در صورت غلط بودن تمام شرط های قبلیend)به کمک این دستور می توانیم به راحتی در کوئری خود دانش آموزانی برای شروط بالا را فیلتر کنیمselect * fromstudent where(case when math &gt; 10 then 1when farsi &gt; 10 then 1else 0)=1 درکوئری بالا ما دو شرط قرار دادیم اگر ریاضی یا فارسی بالاتر از 10 باشد نتیجه کوئری صحیح می باشدآموزش ویدیویی در آپارات</description>
                <category>سید مرتضی موسوی</category>
                <author>سید مرتضی موسوی</author>
                <pubDate>Tue, 13 Feb 2024 14:10:46 +0330</pubDate>
            </item>
                    <item>
                <title>آموزش کامل  دستور Insert در Sql</title>
                <link>https://virgool.io/@morteza.mousavi90/%D8%A2%D9%85%D9%88%D8%B2%D8%B4-%DA%A9%D8%A7%D9%85%D9%84-%D8%AF%D8%B3%D8%AA%D9%88%D8%B1-insert-%D8%AF%D8%B1-sql-n6bddqaz7tsc</link>
                <description>در مقاله قبلی ما با جدول در sql آشنا شدیم و با کمک t-sql  در پایگاه داده sql server جدول ساختیم در این بخش با درج اطلاعات داخل جدول insert آشنا می شویم و یاد می گیریم به کمک T-sql یک یا مجموعه ای اطلاعات را در ثبت کنیمدستور Insertاز این دستور برای وارد کردن و ایجاد رکورد جدید در جدول استفاده می شود و ساختار این دستور به صورت زیر استINSERT INTO dbf_name [(FieldName1 [, FieldName2, ...])]
VALUES (eExpression1 [, eExpression2, ...])همانطور که مشاهده می کنید برای وارد کردن اطلاعات باید از دستور Insert into و سپس نام جدول استفاده نمایید بعد از انتخاب جدول داخل پرانتز نام ستون های جدول که می خواهید در آن اطلاعات وارد کنید را وارد می کنیدپس از انتخاب نام ستون ها کلمه کلیدی values  و داخل پرانتز مقادیر را وارد می کنیمبرای درک بهتر دستور Insert به مثال زیر توجه کنیدInsert into Person
(Name, Family,Age)
Values(&#039;Ali&#039;,&#039;faraji&#039;,23)در این مثال، ما در خط اول بعد از دستور Insert نام جدول را وارد کردیمدرخط بعدی نام ستون ها را وارد کردیم و در خط سوم بعد از کلمه کلیدی Values مقادیر را وارد کردیماین نکته را در نظر بگیرید که اگر اسامی ستون های جدول را وارد نکنیم کلیه ستون های جدول اشاره شده مدنظر قرار می گیرد و به ازای تمام ستون های جدول باید مقدار وارد کنید در این صورت می توانید برای ستون هایی که قابلیت درج تهی دارند از  null استفاده کنیددر ادامه مثال قبل را بدون اشاره به نام ستون ها بررسی می کنیمInsert into Person
Values(&#039;Ali&#039;,&#039;faraji&#039;,23)در این مثال هیچ چیزی تغییر نکرده است تنها تفاوت با مثال بالا در عدم اشاره به نام ستون ها استبه سه روش امکان ثبت اطلاعات به کمک دستور Insert وجود داردثبت اطلاعات در جدول به روش Explicitاین روش را در دو مثال بالا بررسی کردیم ثبت به کمک کلمه کلیدی Valuesبه مثال زیر توجه کنیدInsert into t1 
(b2,h2)
values (5,8)

 Insert into t3
values(45,35)درج اطلاعات در جدول به روش derived tableگاهی ما نیاز داریم اطلاعات را از جدول دیگری فراخوانی کنیم و در جدول مقصد ثبت کنیمبرای انجام چنین کاری ما از این روش استفاده می کنیمبرای مثالInsert into  t3
(a1,a2)
select s1,s2 from t5در این مثال ما اطلاعات را از جدولی به نام t5 واکشی می کنیم و داخل جدول t3 ثبت می کنیموارد کردن اطلاعات در جدول به روش execگاهی اوقات ما اطلاعات را از یک stored procedure دریافت می کنیم و در داخل جدول ثبت می کنیمدر مقاللت بعدی با stored procedure ها آشنا می شویمInsert into t6 (k1,k2)
exec sp1ما در این مثال اطلاعات را یک sp به نام sp1 دریافت کردیم و در جدول t6 ثبت کردیم</description>
                <category>سید مرتضی موسوی</category>
                <author>سید مرتضی موسوی</author>
                <pubDate>Fri, 26 Jan 2024 15:09:01 +0330</pubDate>
            </item>
                    <item>
                <title>حذف ردیف‌ها در دیتابیس با استفاده از دستور DELETE در SQL</title>
                <link>https://virgool.io/@morteza.mousavi90/%D8%AD%D8%B0%D8%AD%D8%B0%D9%81-%D8%B1%D8%AF%DB%8C%D9%81-%D9%87%D8%A7-%D8%AF%D8%B1-%D8%AF%DB%8C%D8%AA%D8%A7%D8%A8%DB%8C%D8%B3-%D8%A8%D8%A7-%D8%A7%D8%B3%D8%AA%D9%81%D8%A7%D8%AF%D9%87-%D8%A7%D8%B2-%D8%AF%D8%B3%D8%AA%D9%88%D8%B1-delete-%D8%AF%D8%B1-sql-l458j5khs0fg</link>
                <description>ما از مجموع دستورات crud با دستورات create, read و update آشنا شدیم در این مقاله با یکی دیگر از دستورات پر کاربرد در sql آشنا می شویم، کاربران برای بسیاری از اوقات نیاز دارند تا اطلاعات را از دیتابیس حذف کننددر این مقاله به بررسی روش های حذف یا delete در sql می پردازیمدستور delete در sqlهمانطور که در ابتدای مقاله گفته شد از دستور delete برای حذف اطلاعات در جداول دیتابیس استفاده می شودساختار کلی این دستور به صورت زیر استdelete from اسم جدول where شرط هادر این ساختار بعد از دستور from اسم جدولی گه قصد داریم اطلاعات از آن پاک شود را وارد می کنیم و بعد از آن شرطی که با آن بتوان برای sql مشخص کرد کدام یک از ردیف های جدول باید پاک شوداگر شرطی وارد نکرده باشید تمام ردیف های یک جدول پاک می شودبرای مثالdelete from a
where id=5delete from b
where name=&#039;ali&#039;در مثال اول از جدول a اطلاعات ردیف هایی که id آن برابر 5 است از جدول پاک می شود اما در مثال دوم شرطی که برای حذف در نظر گرفته شده این است که نام برابر ali باشدهمچنین ما می توانیم در قسمت شرط در دستور delete از دستور select کمک بگیریم و شرط لازم برای حذف یک جدول را براساس اطلاعات دو جدول قرار دهیمdelete from a
where (select name from b where b.name=a.name)نتیجه گیریما در این مقاله با دستور delete آشنا شدیم، از این دستور برای حذف اطلاعات از دیتابیس استفاده می شودمهم ترین نکته در استفاده از این دستور توجه به شرط ها است چرا که در صورتیکه برای دستور حذف، شرطی قرار ندیم تمام اطلاعات یک جدول را پاک می کند</description>
                <category>سید مرتضی موسوی</category>
                <author>سید مرتضی موسوی</author>
                <pubDate>Wed, 24 Jan 2024 11:22:51 +0330</pubDate>
            </item>
                    <item>
                <title>دستور Update در Sql برای بروزرسانی دیتا</title>
                <link>https://virgool.io/@morteza.mousavi90/%D8%AF%D8%B3%D8%AA%D9%88%D8%B1-update-%D8%AF%D8%B1-sql-%D8%A8%D8%B1%D8%A7%DB%8C-%D8%A8%D8%B1%D9%88%D8%B2%D8%B1%D8%B3%D8%A7%D9%86%DB%8C-%D8%AF%DB%8C%D8%AA%D8%A7-zwbq4hsibobd</link>
                <description>در مقالات گذشته کوئری نویسی در Tsql  به دستورات Insert  و Select  پرداختیم در این مقاله به بررسی دستور Update  و یا بر روز رسانی دیتای موجود در جداول دیتابیس می پردازیمبرای بروز رسانی اطلاعات موجود در جدول های یک پایگاه داده از دستور Update  استفاده می کنیم نحوه کار با این دستور بسیار ساده است در ادامه به بررسی ساختار این دستور می پردازیمساختار دستور Update  در SqlUpdate TableName set ColsName=NewValue [Where]همانطور که از ساختار این دستور مشخص است ابتدا کلمه کلیدی Update پس از آن نام جدول مد نظر  در مرحله بعد از کلمه کلیدی set  و بعد از آن نام ستون و مقدار جدید را وارد می نمایید در صورتی که قصد بروزرسانی یک ستون خاص یا مجموعه ای از ستون ها با ویژگی  خواصی را داشته باشید می توانید از دستور Where  که در مقاله مربوط به دستور select  با آن آشنا شدیم استفاده کنیدمثال از دستور UpdateUpdate t1 set Name=&#039;Hasan&#039;



Update t1 set Name=&#039;Hossein&#039; where Id=5در مثال اول در جدول t1  ستون Name  برابر Hasan  است یعنی  تمام مقادیر موجود در ستون Name در جدول t1  بدون هیچ فیلتری به مقدار جدید تغییر می کند اما در مثال دوم یک شرط قرار داده شده که فقط مقدار Name یک ردیف خواص تغییر می کند  استفاده از شرط ها در به روز رسانی اطلاعات کمک به حفظ اطلاعات موجود در یک جدول در دیتابیس می شود</description>
                <category>سید مرتضی موسوی</category>
                <author>سید مرتضی موسوی</author>
                <pubDate>Tue, 23 Jan 2024 10:54:41 +0330</pubDate>
            </item>
                    <item>
                <title>آموزش کوئری نویسی در Tsql</title>
                <link>https://virgool.io/SqlServerTutorial/%D8%A2%D9%85%D9%88%D8%B2%D8%B4-%DA%A9%D9%88%D8%A6%D8%B1%DB%8C-%D9%86%D9%88%DB%8C%D8%B3%DB%8C-%D8%AF%D8%B1-tsql-uezck7fibswu</link>
                <description>اگر از آن گروه از کاربران هستید که دوست دارید از تمام قابلیت های پایگاه داده  Sql server  استفاده نمایید یادگیری زبان Tsql  امری مهم است چرا که این زبان به شما این امکان را می دهد تا کنترل نزدیکی بر تمام تراکنش هایی که در حال اجرا هست داشته باشید و برنامه های خود را به صورت روالی اجرا نماییدTsql زبان صحبت کردن با پایگاه داده sql server   است که می توان به کمک آن اسکریپت هایی نوشت که در حین اجرای برنامه های ما اجرا شوندTsql  این امکان را به ما می دهد که بتوانیم نتیجه دستور های مختلف را مورد ارزیابی قرار دهیم و بر مبنای آن روند اجرای برنامه ها را کنترل نماییماس کیوال (SQL) چیستمنظور از sql  در اصل Ansi SQL یعنی اس کیو ال استاندارد است این اس کیو ال توسط موسسه استاندارد ایالات متحده آمریکا طراحی شده که در حال حاضر استفاده تجاری ندارد و شرکت های بزرگ تا اعمال تغییرات مختلف در این زبان تلاش کردن با ایجاد تغییرات و افزودن توانایی های مختلف به این زبان آن را به محصولی  مورد نیاز خود تبدیل کنند از آنجاییکه این محصولات از یک پدر به اشتراک گرفته شده اند شباهتهای مختلفی به هم دارند دو محصول مهم در بازار پایگاه داده را می توان T-Sql و PL-Sql  برای دو پایگاه داده بزرگ در جهان به نام های اس کیو ال سرور و اوراکل معرفی کردتی اس کیو ال محصولات شرکت مایگرو سافت است که  علت نامگذاری آن  اهمیت بالای تراکنش ها می باشدتی اس کیو از سه گروه تشکیل شده استMeta DataDataSecurity and Accessو دستورات در تی اس کیو ال نیز به سه دسته تقسیم می شوندDDL,DML,DCL  که در مقاله های بعدی به صورت کامل بررسی می کنیمقبل از بررسی زبان Tsql بهتر است کمی با تاریخچه خود Sql  آشنا شویم و بدانیم این زبان چگونه به وجود آمدتاریخچه اس کیو ال (SQL)داستان اس کیو ال به سال 1970 برمی گردد زماتیکه ادگار کاد مقاله ای را تحت عنوان مدل رابطه ای داده ها برای بانک های بزرگ داده های اشترکی را نوشت، در دهه 70 گروهی از مهندسان شرکت آی بی ام در شهری به نام سان خوزه بدون توجه به این مقاله بر روی سیستم پایگاه داده های سیتم های آر کار می کردند برای عملیات بازیابی و  ذخیره اطلاعات زبان  SEQUEL را طراحی کرده بودندبا آنکه زبان Sql  ناشی از تلاش های کاد بود اما دونالد چامبرلین و ریموند را به عنوان طراحان زبان  SEQUEL شناخته شده اندتا سال 1976 که سمینارهای مختلفی با موضوع فناوری بانک اطلاعاتی و با بررسی مزایای مدل رابطه ای برگزار شد مشخص شد که شرکت آی بی ام که یکی از طرفداران جدی فناوری بانک اطلاعاتی در جهان است توجه زیادی به زبان اس کیو ال دارد و تبلیغات گسترده ای در زمینه سیستم های آر برای جذب مهندسان و متخصصان  در منلوپارک در کالیفرنیا صورت گرفت و مهندسان بعد از بررسی تحقیقات شرکت آی بی ام به این نتیجه رسیدن که این تحقیقات باعث ایجاد بک بازار تجاری برای بانک های اطلاعاتی رابطه ای خواهد شد.مهندسان پس از بررسی  در سال 1977 با تاسیس  شرکتی به نام اینک و  رلیشنال سافتویر تاسیس کرده اند تا یک سامانه مدیریت پایگاه داده براساس اس کیو ال بنویسند آنها در سال 1979 اوراکل را معرفی کردند و با پیدایش اوراکل اولین سامانه مدیریت پایگاه داده در جهان به وجود آمد این محصول باعث شد تا محصول شرکت آی بی ام به مدت دو سال دچار در بازار دچار رکود شود  و این محصول شرکت IBM تنها برای مینی کامپیوتر های وکس دیجیتال اجرا می شد که از بسیاری از رایانه های بزرگ شرکت آی بی ام ارزان تر بودندمفاهیم اولیه تی اس کیو ال (T-Sql)RDBMSدر واقع سیستم مدیریت باک های اطلاعاتی  رابطه ای را می توان موتوری معرفی کرد که وظیفه دریافت ، ذخیره سازی و برقرار ارتباطات بین شی های درون پایگاه داده را به عهده دارندDBAمهندسی که وظیفه مدیریت سرویس دهنده پایگاه داده را به عهده دارد و معمولا وظایفی نظیر مدیریت کاربران، گروه های بانک اطلاعاتی، مدیریت منابع قابل اشتراک، تعیین مجوزها و ... را برعهده داردپایگاه دادهمجموعه ای از شی هایی نظیر جداول ،View ها ، انواع داده ها ،Trigger ها و غیره است که به وسیله  واقع سیستم مدیریت باک های اطلاعاتی  یا RDBMS مدیریت می شوندView ها در Sqlیک جدول مجازی است که می تواند ستون های جدول جدول مختلف را به صورت همزمان و با استفاده از روابط بین جدول ها به همراه داشته باشد و از دید امنیت و ساده سازی دارای ارزش بالایی استایندکس (INDEX)  در پایگاه دادههر ایندکس در پایگاه داده وظیفه مرتب سازی داده های یک یا چند ستون جدول به صورت صعودی یا نزولی را برعهده دارد  و کاربرد اصلی ایندکس در پایگاه داده ایجاد روشی برای دسترسی سریع به اطلاعات است و بهترین راه برای برقراری ارتباط بین کلید اصلی و کلید خارجی می باشد.Stored Procedure در پایگاه دادهمجموعه ای از دستورات به زبان برنامه نویسی پایگاه داده می باشد که از نظر منظقی مشابه یک روتین در زبان های برنامه نویسی موجو.د در بازار می باشدتوابع در پایگاه دادهمجموع ای از دستورات بانک اطلاعاتی می باشد  که خروحی آن شامل یک یا مجموعه ای از داده ها می باشد که از نظر منظقی شبیه توابع برنامه نویسی در زبان های برنامه نویسی متداول در بین برنامه نویسان استتریگر ها در پایگاه دادهیک ایونت از نوع حذف کردن، اضافه کردن ، تصحیح کردن بر روی یک جدول از پایگاه داده می باشد که در مواردی باعث ایجاد سربار در پایگاه داده می شود که باید در استفاده از آن دقت بسیاری کردمزایای تی اس کیو ال (T-SQL)از مهمترین مزایای تی اس کیو ال می توان به ساده بودن کد های آن اشاره کرد کدهای این زبان برنامه نویسی به زبان انسان نزدیک است و همین باعث ساده بودن درک کد های آن می شوداز دیگر ویژگی های آن می توان به پردازش سریع داده ها توسط آن اشاره کرد که باعث می شود بتوان داده هایی حتی با حجم بیش از یک ترابایت را نیز به سادگی به کمک این زبان پردازش کردزبان اس کیو ال این قابلیت را دارد که در سیستم عامل های مختلف مانند ویندوز، لینوکس و.. اجرا شود.مرجع</description>
                <category>سید مرتضی موسوی</category>
                <author>سید مرتضی موسوی</author>
                <pubDate>Mon, 22 Jan 2024 17:02:13 +0330</pubDate>
            </item>
                    <item>
                <title>اجرای ایمیج در داکر</title>
                <link>https://virgool.io/@morteza.mousavi90/%D8%A7%D8%AC%D8%B1%D8%A7%DB%8C-%D8%A7%DB%8C%D9%85%DB%8C%D8%AC-%D8%AF%D8%B1-%D8%AF%D8%A7%DA%A9%D8%B1-sealdfnaafqt</link>
                <description>سوال مهم برای هر کسی که با لیستی از ایمیج های داکر روبه رو می شود نحوه اجرای ایمیج ها است؟ از این ایمیج ها باید کجا استفاده کرد؟چطوری استفاده کرد؟این سوالی است که ما در این داستان به دنبال آن هستیم ما در مقاله ای به بررسی نحوه دانلود ایمیج از هاب یا همان منبعی که ایمیج های مختلف در آن هست، پرداختیماز این مقاله شروع به اجرا و استفاده از ایمیج هایی که در لوکال دانلود کردیم می نماییمبرای اجرای ایمیج ها در داکر از دستورDocker runاستفاده می کنیمزمانیکه از این دستور استفاده می کنیم داکر به دنبال ایمیج در داخل لوکال می گردد اگر پیدا نکند آن را از داکرهاب دانلود می کند و سپس آن را اجرا می کندبرای مثالdocker run nginxدر این مثال ایمیج nginx اجرا می شود، اما داستانی که وجود دارد این است که با اجرای این دستور ترمینالی که در آن این دستور اجرا شده به طور کامل در اختیار این ایمیج قرار داده می شود و هیچ دستوری را نمی توان در آن وارد نمود، تنها راه ورود دستور جدید پاک کردن کانتینر ایجاد شده است برای جلوگیری از این اتفاق از پارامتر -d یا --detach استفاده می کنیم دوباره دستور بالا را می نویسیمdocker run -d nginxحالا این ایمیج در پس زمینه اجرا می شود و ترمینال در اختیار ما هستاگر بخواهیم لیست کانتینر های ایجاد شده را مشاهده کنیم از دستورDocker psاستفاده می کنیماما نکته ای اینجا وجود دارد ما ایمیج را اجرا کردیم، چگونه از این ایمیج در یک پورت خاص استفاده کنیم فکر کنید قصد دارید از nginx در پورت ۸۰۸۰ استفاده کنید اینجاست که پارامتر -p به کمک شما می آید-p پورت داخلی کانتینر:پورت خارجیبرای مثالdocker run -d -p 8080:80 nginxبا اجرای این دستور شما به nginx در پورت 8080 دسترسی دارید و می توانید از آن استفاده کنیدما در این مقاله به اجرای داکر پرداختیم و به کمک پارامترهای p و d در داکر اجرای آن را مدیریت کردیم در مقاله های بعدی به پارامترهای دیگر docker run می پردازیم.</description>
                <category>سید مرتضی موسوی</category>
                <author>سید مرتضی موسوی</author>
                <pubDate>Thu, 16 Nov 2023 17:14:43 +0330</pubDate>
            </item>
                    <item>
                <title>ایمیج در داکر چیه؟ و داکر هاب چیست؟</title>
                <link>https://virgool.io/@morteza.mousavi90/%D8%A7%DB%8C%D9%85%DB%8C%D8%AC-%D8%AF%D8%B1-%D8%AF%D8%A7%DA%A9%D8%B1-%DA%86%DB%8C%D9%87-%D9%88-%D8%AF%D8%A7%DA%A9%D8%B1-%D9%87%D8%A7%D8%A8-%DA%86%DB%8C%D8%B3%D8%AA-f4ezltywino5</link>
                <description>سوالی که برای هر کسی موقع شروع کار با داکر پیش می آید این است که image چیه و به چه کار کار ما می آید؟اجازه بدید جواب این سوال را براساس داستان قسمت اول جواب بدم من بر روی سیستم خودم یک نسخه از یک نرم افزار را دارم برای مثال من نیاز به لینوکس نسخه ابونتو دارم باید حتما لینوکس نصب کنم؟اینجا است که داکر به کمک ما میاد و اینجا است که من شما را با docker hub آشنا می کنم داکر هاب سایتی است که تعداد زیادی ایمیج در آن قرار داده شده که اگر شما در سیستمتان داکر داشته باشید به سادگی می توانید از آنها استفاده کنیدبرای دانلود این ایمیج ها تنها کافیست در باکس جستجوی این سایت نام ایمیج مدنظرتان مانند node یا ubunto را وارد کنید و دکمه جستجو را فشار دهیدازلیستی که به شما نمایش می دهد ایمیج را انتخاب کنید با دستور dockerpullimagename:Version آن را دانلود کنیدبرای مثال اگر نیاز به لینوکس ubuntoداشته باشید تنها کافیست از دستور زیر استفاده کنید https://virgool.io/p/f4ezltywino5/dockerpullubunto اگر نسخه را وارد نکنید آخرین ورژن ابمیج موجود در داکرهاب دانلود و نصب می شودو می توانید از آن به صورت کاملا مستقل از سیستم استفاده نماییداحتمالا متوجه شدید که ایمیج در داکر چیستدر واقع ایمیج بسته ای است از نرم افزار و تمام وابستگی های آن، که برای اجرا و کار کردن با آن نرم افزار به آن نیاز داریدبرای اجرای ایمیج هم از دستور https://virgool.io/p/f4ezltywino5/dockerrunImageName استفاده می کنیمکه در یک قسمت مجزا به طور کامل توضیح داده می شوداما یک دستور ساده در داکر https://virgool.io/p/f4ezltywino5/docker--Version است که برای اینکه متوجه بشویم چه نسخه از داکر در سیستم ما نصب است از آن استفاده می کنیم</description>
                <category>سید مرتضی موسوی</category>
                <author>سید مرتضی موسوی</author>
                <pubDate>Mon, 16 Oct 2023 09:58:01 +0330</pubDate>
            </item>
                    <item>
                <title>آموزش کامل داکر-شروع داستان</title>
                <link>https://virgool.io/@morteza.mousavi90/%D8%A2%D9%85%D9%88%D8%B2%D8%B4-%DA%A9%D8%A7%D9%85%D9%84-%D8%AF%D8%A7%DA%A9%D8%B1-%D8%B4%D8%B1%D9%88%D8%B9-%D8%AF%D8%A7%D8%B3%D8%AA%D8%A7%D9%86-ofdcv4bvozex</link>
                <description>یک روز زمانیکه سخت درگیر کار بر روی یک پروژه وب بودم یکی از دوستانم با من تماس گرفت و ازم خواست یک پروژه وب دیگر را روی سیستم من اجرا کند مشکل من وقفه ایجاد شده در کارم نبود مشکل آنجایی بود که من در سیستم .net core 3 نصب داشتم و و خیلی وقت بود تنبلی می کردم برای بروزسانی ورژن core تو سیستم، اما حالا به مشکل خورده بودم اگر ورژن رو بالا میبردم پروژه هایی که در حال انجام بودم با مشکل روبرو می شد و از طرفی نمی خواستم درخواست دوستم را رد کنمحالا چیکار باید می کردم ؟نصب ورژن جدید یا رد درخواست دوستمیکی از راه هایی که به ذهنم می رسید نصب ماشین مجازی در سیستمم بود یا نصب یک نسخه جدا از سیستم عاملاما در هر دو راه بالا مشکلاتی وجود داشت نصب ماشین مجازی یا سیستم عامل جدا باعث می شد مقدار زیادی از حجم موجود در هارد دیسک را از دست بدم و سیستم من کند تر بشه چرا که این سیستم قدیمی است و زیاد نمیشه به اون فشار آورداما با کمی تحقیق راه دیگری رو پیدا کردم، نصب داکرداکر یک پلتفرمه که باعث میشه من بتونم یک پروژه دیگر با نسخه کاملا متفاوت را در سیستم اجرا کنم بدون نیاز به آپدیت ورژن قبلی .net coreهمچنین داکر خیلی سبک تر از ماشین مجازی است، حتی در داکر می تونم نسخه های مختلف لینوکس رو اجرا کنماز مزایای داکر امکان ایزوله کردن برنامه ها است شما می توانید برنامه های مختلف را بدون اینکه در کار همدیکر تداخلی ایجاد کنند در یک محیط ایزوله اجرا کنیداین قابلیت داکر به تیم های مختلف ابن امکان را می دهد که بدون داشتن تداخل با تیم های دیگر برنامه ها و پروژه های خود را اجرا کنندداکر به شما این امکان را می دهد تا برنامه هایی بسازید که قابل حمل باشند یا به عبارت دیگر برنامه هایی که در محیط های مختلف قابل اجرا باشندشما می توانید یک خروجی از image پروژه خود تهیه کنید و آن را در محیط های گوناگون با سیستم عامل های متفاوت اجرا کنیددر داکر ابزار های مختلفی برای مدیریت image ها وجود دارد مانندdocker swarm , docker compose که در بخش های بعدی به صورت کامل توضیح داده می شوداز دیگر نکات کار با داکر مانیتورینگ و لاگ برای image های در حال اجرا هست در داکر ابزارهای مختلفی برای مانیتورینگ و لاگ وجود دارد که به شما کمک می کند خطاهای موجود در پروژه را به سرعت پیدا کنید و آنها را رفع نمایید داکر همچنین برای مدیریت میکروسرویس ها هم بسیار مناسب می باشد شما این امکان را دارید تا هر سرویس را در یک محیط کاملا مستقل از دیگر سرویس ها اجرا کنیدو هر سرویس را جداگانه مدیریت کنید و به صورت کاملا مستقل آنها را بروزرسانی کنیدتاریخچه داکرقبل از رفتن سراغ یادگیری دستورات داکر بهتر است کمی با تاریخچه آن آشنا شویماولین نسخه از داکر در سال ۲۰۱۴ منتشر شد، داکر براساس ایده سالامان هایکز بنا شده او هدف از ایجاد داکر را تعامل راحت تر با کانتینر ها معرفی کرد، این ایده از نظر مهندسان و کارشناسان جذاب بود و توانست نظر آنها را به خود جلب کندداکر در اولین نسخه خود تمام ایده ها و اهدافی که سالامان هایکز معرفی کرده بود را اجرایی کرداین ایده و عملکرد داکر باعث شد تا بسیاری از شرکت های بزرگ پروژه های خود را از سرور های مجازی به داکر منتقل کننددر مدت زمان کوتاهی بسیاری از شرکت ها و بانک ها شروع به استفاده از داکر کردند و نرم افزارهای خود را بر روی داکر اجرا کردند بنابر گزارش شرکت داکر امروزه نزدیک به سه و نیم میلیارد اپلیکیشن از فناوری داکر استفاده می کنندداکر امروزه در تمامی سیستم عامل ها قابل اجرا هست و این قابلیت را دارد نرم افزار ها را جدا از سیستم عامل اجرا نمایددر ادامه در بخش های جداگانه سعی می کنیم داکر را از ساده ترین دستور تا دستوراتی با کمی پیچیدگی بیشتر تمرین کنیماین داستان ادامه دارد...</description>
                <category>سید مرتضی موسوی</category>
                <author>سید مرتضی موسوی</author>
                <pubDate>Sun, 15 Oct 2023 11:57:36 +0330</pubDate>
            </item>
                    <item>
                <title>توابع جمعی یا Aggregate Function  در Sql server</title>
                <link>https://virgool.io/@morteza.mousavi90/%D8%AA%D9%88%D8%A7%D8%A8%D8%B9-%D8%AC%D9%85%D8%B9%DB%8C-%DB%8C%D8%A7-aggregate-function-%D8%AF%D8%B1-sql-server-be8ta9p40ebo</link>
                <description>گاهی در هنگام کوئری زدن در sql server  نیاز است تا مجموعه ای را با هم جمع کنیم و یا بزرگترین ، کوچکترین عضو یک مجموعه را بدست بیاوریممجموعه در اینجا به معنای لیستی از یک جدول  دیتا بیس است.اینجا است که توابع جمعی یا همان Aggregate ها به کمک ما میان و ما رو از نوشتن یک صفحه کد نجات میدنتوابع جمعی یا Aggregate   ها از چندین تابع تشکیل شده است که در ادامه به بررسی آنها می پردازیمتابع Minبرای بدست آوردن کوچکترین عضو یک مجموعه می توان از آن استفاده کردبرای مثال https://virgool.io/d/be8ta9p40ebo/SelectMin(BirthDay)fromPersonel در این مثال کوچکترین تاریخ تولد را از لیست Personel  توسط تابع Min بدست می آوریمتابع Maxتابع Max  هم کاری شبیه تابع Min انجام می دهد با این تفاوت که بزرگترین  مقدار را انتخاب می کندبرای مثال برای انتخاب بیشترین حقوقی که پرسنل گرفته اند از دستور زیر استفاده می کنیم https://virgool.io/d/be8ta9p40ebo/SelectMax(Salary)fromPersonel تابع AVGاین تابع مخفف عبارت Average می باشد، از این تابع برای بدست آوردن میانگین از مقادیر یک گروه از مجموعه مقادیر استفاده می شودبرای مثال اگر بخواهیم میانگین حقوق پرسنل را بدست بیاوریم از کوئری زیر استفاده می کنیم https://virgool.io/d/be8ta9p40ebo/SelectAverage(Salary)fromPersonel تابع Sumیکی دیگر از توابع جمعی یا Aggregate Function تابع مجموع یا sum است از این تابع برای بدست آوردن مجموع ارقام استفاده می شودبرای مثال برای بدست آوردن مجموع حقوق پرسنل از کوئری زیر استفاده می کنیم https://virgool.io/d/be8ta9p40ebo/SelectSum(Salary)fromPersonel تابع Countبرای بدست آوردن تعداد عضو یک مجموعه از این تابع استفاده می کنیمبرای مثال تعداد کارمندان مرد موجود در یک شرکت https://virgool.io/d/be8ta9p40ebo/Selectcount(*)fromPersonelwhereGender=&#039;Man&#039; </description>
                <category>سید مرتضی موسوی</category>
                <author>سید مرتضی موسوی</author>
                <pubDate>Fri, 07 Apr 2023 20:51:08 +0330</pubDate>
            </item>
                    <item>
                <title>انتخاب قصه برای کودکان</title>
                <link>https://virgool.io/@morteza.mousavi90/%D8%A7%D9%86%D8%AA%D8%AE%D8%A7%D8%A8-%D9%82%D8%B5%D9%87-%D8%A8%D8%B1%D8%A7%DB%8C-%DA%A9%D9%88%D8%AF%DA%A9%D8%A7%D9%86-oqxzw8ug4nq7</link>
                <description>قصه کودکانه یکی از کهن ترین هنرهای موجود در جهان هنر است که تولد آن به تولد انسان بر می گردد و قصه کودکانه زمانی در بین انسان ها پدید آمد که انسان ها توانستند به محیط پیرامون خود ارتباطی جدا از دیگر موجودات برقرار کننانسان های اولیه نقش حیوانات را بر روی زمین و دیوار غارها می کشیدند حیواناتی مانند فیل ، ماموت ، شیر و به دور آن می چرخیدند تا در فکر خود در برابر آن حیوان نیرومندتر شوند و  در زمان رویارویی با آن حیوان  با استفاده از  اعتماد به نفس و انرژی درونی به وجود آمده و با استفاده از نیروی جمعی برآن حیوان چیره می شدنداولین قصه کودکانهبه روایتی نخستین قصه ها در این زمان به وجود آمده اند و انسان ها برای نقش هایی که بر روی دیوار ها می کشیدند قصه درست می کردند و با استفاده از قدرت خیال خود به آن نقش شخصیت  می دادند و به مرور زمان قصه های اسطوره ای و افسانه ساخته شد کنجاوی که در وجود انسان ها در طول تاریخ بوده است و باعث شده است انسان ها شبانه روز در محیط اطرف خود به کنجکاوی بپردازند و با دیدن پدیده های مختلف در اطراف خود سوالات مختلفی در ذهنش تداعی می شد مانند &quot;ماه از کجا آمده&quot; یا &quot;ستاره ها چطوری می درخشند&quot; و سوالات زیادی که ذهن انسان ها را در طول تاریخ درگیر خود کرده است و  با توجه به علم اندک انسان های اولیه ، برای پاسخ به بسیاری از این سوالات ، به جهان خیال و باورهای ذهنی خود پناه میبرده و با ساخت قصه چه از نوع قصه کودکانه و چه از انواع اسطوره ای و افسانه ای به این سوالات پاسخ می داده است?این روند از گذشته تا به امروز همراه انسان ها بوده است و انسان ها در هر دوره ای قصه های مختلفی را خلق کرده اند و با کمک این قصه ها به نیازهای روحی و اجتماعی خود پاسخ می دهند امروزه قصه  به بخشی از زندگی مادی و معنوی انسان ها تبدیل شده استقصه کودکانه را تنها برای سرگرم کردن کودک نباید بازگو کرد برای مثال  به قصه کودکانه &quot;بز زنگوله پا&quot;  توجه کنید در این قصه در کنار تمام سادگی خود به مسائل اجتماعی و به طور کلی به نبرد ظالم و مظلوم می پردازد و از سویی به کودکان مبگی آموزد که درب خانه را نباید به روی غریبه ها باز کنند و وابستگی عاطفی بین مادر و کودک رو تحت تاثیر می گذارد پس نباید قصه کودکانه را ساده در نظر بگیرید و یا کودک راز  از خواندن قصه برای کودک به دلیل وجود جن ،دیو  محروم نمایید باید به علت حضور چنین شخصیت هایی در قصه توجه  کنید چرا که به همان درجه ای که یک گرگ در قصه کودکانه درنده و وحشی ، ترسناک است غول نیز وحشتناک است اما حضور گرگ ، شیر و دیگر حیوانات وحشی در قصه ها علتی دارند و همین طور حضور غول ، دیو نیز  علت دیگری دارند?انسان ها موجواتی هستند که با ضمیر خودآگاه و ناخودآگاه خود زندگی می کنند می توان ضمیر خودآگاه را نوع دریافت و برخورد انسان با محیط عینی و زنده اطراف خود معرفی کرد و ضمیر ناخودآگاه را جهان پیچیده ای در نظر گرفت که باید نشانه های آن را شناخت که در این جهان تمام تخیلات و خواسته هاو تمام آرزوهای ما حضور دارند  و به اشکال مختلفی نمود  پیدا می کنندوقتی برای کودک خود قصه از برخورد انسان و شیر می خوانید شما از جهان خودآگاه کودک یاری می طلبید و به او کمک می کنید تا چگونگی برخورد با مشکلات را بیاموزد و از آنجا که این پدیده عینی است پدرو مادر این موضوع را که باید این چنین مسائلی را شناخت را می پذیرند و به کودک خود می آموزنداما چون علت حضور شخصیت هایی مانند دیو، پری را در قصه های مختلف نمی دانند فکر می کنند که چنین داستان هایی شخصیت کودکان را متوحش می کند و باید از چنین داستان هایی دوری کردحال آنکه چنین شخصیت هایی برای ارتباط با ضمیر ناخودآگاه انسان ساخته شده اند در این داستان ها ترس ، دلهره  و... وجود دارد که هریک علتی اجتماعی و یا روانی دارند  و در اصل نماد و مظهر رفتار های اجتماعی هستندبرای مثال وجود غول در قصه را در نظر بگیرید غول در قصه کودکانه بیشتر نماد ترس و وحشت است اما در پایان داستان زمانی که شخصیت مثبت داستان بر غول  پیروز می شود  در اصل به کودک این را می آموزد که بر ترس خود چیره شود و ضمیر ناخودآگاه او چنان انرژی ایجاد می شود که زمینه را برای پیروزی او بر چیره شدن بر ترس هایش را می آموزد  چرا که کودکان با قصه هایی که بر دل آنها بنشیند هم زاد پنداری می کنند و خودش را جای شخصیت های داستان می گذارد و از زندگی آنها درس می گیرد و سعی می کند زندگی آنها را زندگی خود قرار می دهد موفقیت  شکست این شخصیت ها با زندگی کودک پیوند می خوردبازگویی قصه کودکانهبازگویی قصه کودکانه شیوه ای است که از دیرباز در تاریخ قصه گویی وجود داشته است و اکنون نیز ادامه دارند .قصه گویان دو گونه بوده اندگروهی به نقل قصه هایی می پردازند که از گذشته وجود داشته آنها بدون هیچ کم و کاستی به بازگویی قصه می پردازند در این قصه ها هنر قصه گو مربوط می شود به دریافت و پرداخت او از قصه ، همچنین به لحن و  بیان او و هرچه قصه گو عناصر متفاوت و متنوع قصه گویی را برای خودش جمع کند قصه گویی اش موفق تر می شوددر این نوع عرصه ، قصه گو باید شخصیت مخاطب و علاةق او را بشناسد، قصه را از غیر قصه تشخیص دهد  و بداند کدام قصه با مخاطبش بهتر ارتباط بر قرار می کند  و فراز و فرود قصه را به خوبی بشناسداما در میان روایت گران قصه ، گروهی هستند که به دلایل گوناگون به این نتیجه رسیده اند که اگر دز قصه ها تغییری ایجاد کنند  قصه بهتر می شود و به روایتی ، قصه با مخاطب نزدیک تر می شود و برای قصه گویی مناسب تر می گردد این تغییر ممکن است در ساختار قصه، یکی از شخصیت های قصه ، در پیام قصه باشد و یا در زبان و مکان قصه باشد به هر حال قصه گو از مقام قصه گویی ،به موقعیت قصه ساز ، بازآفرین نزدیک می شوداما این را باید در نظر بگیرید ، اگر کسی می خواهد قصه کودکانه ای را باز آفرینی کند باید ابتدا اصول قصه گویی و قصه نویسی را یاد بگیرد متاسفانه بسیاری از قصه گویان  و یا حتی قصه نویسان چنین رایج است که در قصه تغییر بنیادی ایجاد می کنند با آنکه قصه را به کمال دریافت نکرده اندمنبع</description>
                <category>سید مرتضی موسوی</category>
                <author>سید مرتضی موسوی</author>
                <pubDate>Thu, 03 Mar 2022 09:34:22 +0330</pubDate>
            </item>
                    <item>
                <title>قصه گویی برای کودکان</title>
                <link>https://virgool.io/@morteza.mousavi90/%D9%82%D8%B5%D9%87-%DA%AF%D9%88%DB%8C%DB%8C-%D8%A8%D8%B1%D8%A7%DB%8C-%DA%A9%D9%88%D8%AF%DA%A9%D8%A7%D9%86-dkaarklntisc</link>
                <description>قصه کودکانهقصه کودکانه یکی از کهن ترین هنرهای موجود در جهان هنر است که تولد آن به تولد انسان بر می گردد و قصه کودکانه زمانی در بین انسان ها پدید آمد که انسان ها توانستند به محیط پیرامون خود ارتباطی جدا از دیگر موجودات برقرار کننانسان های اولیه نقش حیوانات را بر روی زمین و دیوار غارها می کشیدند حیواناتی مانند فیل ، ماموت ، شیر و به دور آن می چرخیدند تا در فکر خود در برابر آن حیوان نیرومندتر شوند و  در زمان رویارویی با آن حیوان  با استفاده از  اعتماد به نفس و انرژی درونی به وجود آمده و با استفاده از نیروی جمعی برآن حیوان چیره می شدنداولین قصه کودکانهبه روایتی نخستین قصه ها در این زمان به وجود آمده اند و انسان ها برای نقش هایی که بر روی دیوار ها می کشیدند قصه درست می کردند و با استفاده از قدرت خیال خود به آن نقش شخصیت  می دادند و به مرور زمان قصه های اسطوره ای و افسانه ساخته شد کنجاوی که در وجود انسان ها در طول تاریخ بوده است و باعث شده است انسان ها شبانه روز در محیط اطرف خود به کنجکاوی بپردازند و با دیدن پدیده های مختلف در اطراف خود سوالات مختلفی در ذهنش تداعی می شد مانند &quot;ماه از کجا آمده&quot; یا &quot;ستاره ها چطوری می درخشند&quot; و سوالات زیادی که ذهن انسان ها را در طول تاریخ درگیر خود کرده است و  با توجه به علم اندک انسان های اولیه ، برای پاسخ به بسیاری از این سوالات ، به جهان خیال و باورهای ذهنی خود پناه میبرده و با ساخت قصه چه از نوع قصه کودکانه و چه از انواع اسطوره ای و افسانه ای به این سوالات پاسخ می داده است?این روند از گذشته تا به امروز همراه انسان ها بوده است و انسان ها در هر دوره ای قصه های مختلفی را خلق کرده اند و با کمک این قصه ها به نیازهای روحی و اجتماعی خود پاسخ می دهند امروزه قصه  به بخشی از زندگی مادی و معنوی انسان ها تبدیل شده استقصه کودکانه را تنها برای سرگرم کردن کودک نباید بازگو کرد برای مثال  به قصه کودکانه &quot;بز زنگوله پا&quot;  توجه کنید در این قصه در کنار تمام سادگی خود به مسائل اجتماعی و به طور کلی به نبرد ظالم و مظلوم می پردازد و از سویی به کودکان مبگی آموزد که درب خانه را نباید به روی غریبه ها باز کنند و وابستگی عاطفی بین مادر و کودک رو تحت تاثیر می گذارد پس نباید قصه کودکانه را ساده در نظر بگیرید و یا کودک راز  از خواندن قصه برای کودک به دلیل وجود جن ،دیو  محروم نمایید باید به علت حضور چنین شخصیت هایی در قصه توجه  کنید چرا که به همان درجه ای که یک گرگ در قصه کودکانه درنده و وحشی ، ترسناک است غول نیز وحشتناک است اما حضور گرگ ، شیر و دیگر حیوانات وحشی در قصه ها علتی دارند و همین طور حضور غول ، دیو نیز  علت دیگری دارند?انسان ها موجواتی هستند که با ضمیر خودآگاه و ناخودآگاه خود زندگی می کنند می توان ضمیر خودآگاه را نوع دریافت و برخورد انسان با محیط عینی و زنده اطراف خود معرفی کرد و ضمیر ناخودآگاه را جهان پیچیده ای در نظر گرفت که باید نشانه های آن را شناخت که در این جهان تمام تخیلات و خواسته هاو تمام آرزوهای ما حضور دارند  و به اشکال مختلفی نمود  پیدا می کنندوقتی برای کودک خود قصه از برخورد انسان و شیر می خوانید شما از جهان خودآگاه کودک یاری می طلبید و به او کمک می کنید تا چگونگی برخورد با مشکلات را بیاموزد و از آنجا که این پدیده عینی است پدرو مادر این موضوع را که باید این چنین مسائلی را شناخت را می پذیرند و به کودک خود می آموزنداما چون علت حضور شخصیت هایی مانند دیو، پری را در قصه های مختلف نمی دانند فکر می کنند که چنین داستان هایی شخصیت کودکان را متوحش می کند و باید از چنین داستان هایی دوری کردحال آنکه چنین شخصیت هایی برای ارتباط با ضمیر ناخودآگاه انسان ساخته شده اند در این داستان ها ترس ، دلهره  و... وجود دارد که هریک علتی اجتماعی و یا روانی دارند  و در اصل نماد و مظهر رفتار های اجتماعی هستندبرای مثال وجود غول در قصه را در نظر بگیرید غول در قصه کودکانه بیشتر نماد ترس و وحشت است اما در پایان داستان زمانی که شخصیت مثبت داستان بر غول  پیروز می شود  در اصل به کودک این را می آموزد که بر ترس خود چیره شود و ضمیر ناخودآگاه او چنان انرژی ایجاد می شود که زمینه را برای پیروزی او بر چیره شدن بر ترس هایش را می آموزد  چرا که کودکان با قصه هایی که بر دل آنها بنشیند هم زاد پنداری می کنند و خودش را جای شخصیت های داستان می گذارد و از زندگی آنها درس می گیرد و سعی می کند زندگی آنها را زندگی خود قرار می دهد موفقیت  شکست این شخصیت ها با زندگی کودک پیوند می خوردبازگویی قصه کودکانهبازگویی قصه کودکانه شیوه ای است که از دیرباز در تاریخ قصه گویی وجود داشته است و اکنون نیز ادامه دارند .قصه گویان دو گونه بوده اندگروهی به نقل قصه هایی می پردازند که از گذشته وجود داشته آنها بدون هیچ کم و کاستی به بازگویی قصه می پردازند در این قصه ها هنر قصه گو مربوط می شود به دریافت و پرداخت او از قصه ، همچنین به لحن و  بیان او و هرچه قصه گو عناصر متفاوت و متنوع قصه گویی را برای خودش جمع کند قصه گویی اش موفق تر می شوددر این نوع عرصه ، قصه گو باید شخصیت مخاطب و علاةق او را بشناسد، قصه را از غیر قصه تشخیص دهد  و بداند کدام قصه با مخاطبش بهتر ارتباط بر قرار می کند  و فراز و فرود قصه را به خوبی بشناسداما در میان روایت گران قصه ، گروهی هستند که به دلایل گوناگون به این نتیجه رسیده اند که اگر دز قصه ها تغییری ایجاد کنند  قصه بهتر می شود و به روایتی ، قصه با مخاطب نزدیک تر می شود و برای قصه گویی مناسب تر می گردد این تغییر ممکن است در ساختار قصه، یکی از شخصیت های قصه ، در پیام قصه باشد و یا در زبان و مکان قصه باشد به هر حال قصه گو از مقام قصه گویی ،به موقعیت قصه ساز ، بازآفرین نزدیک می شوداما این را باید در نظر بگیرید ، اگر کسی می خواهد قصه کودکانه ای را باز آفرینی کند باید ابتدا اصول قصه گویی و قصه نویسی را یاد بگیرد متاسفانه بسیاری از قصه گویان  و یا حتی قصه نویسان چنین رایج است که در قصه تغییر بنیادی ایجاد می کنند با آنکه قصه را به کمال دریافت نکرده اند?کسی که یک قصه را بازآفرینی می کند در اصل یک نویسنده است که می خواهد بنایی قدیمی و کهنه یا بنایی فراموش شده را با روزگاری که در آن زندگی می کند ،اندیشه خویش ، خواسته های خویش تطبیق دهدچنین کسی باید در ابتدا معمار باشد و ساخت و ساز را به خوبی بشناسد نه مانند یک بنگاهی عمل کند فقط بر و مساحت یک ساختمان را به خوبی بداند و بخواهد آن را به مجتمعی بزرگ تبدیل کند.برای بازآفرینی قصه ابتدا باید اصول اولیه بازآفرینی قصه کودکانه را بدانید این سنت از دیرباز در این کشور و در کشور های دیگر جهان تکرار شده است چرا که پدیده های هنر مدام در حال تغییر ،زایش و دگریسی استشیوه های قصه گوییبخشی از اصول قصه گویی برای کودکان مربوط می شود به شرایط و ویژگی های قصه گو مانند بیان، چهره ، گرم و سرد بودنشما به عنوان یک قصه گو می توانید یک داستان را به شیوه های مختلف برای کودکان بیان کنید که هر روشی برای خود ره آوردی دارداما این قصه گو است که باید با توان و تجربه خود بیندیشد و بهترین روش بازگویی یک قصه را فرا بگیرددر ادامه به بررسی چند روش برای ارائه قصه می پردازیمشیوه قصه-واژهاین نوع قصه گویی که از دیرباز همراه انسان ها بوده است و از زمان پیدایش قصه کودکانه و قصه گویی در میان مردمان عصر های مختلف وجود داشته استدر این نوع قصه گو براساس حافظه خویش ، قصه ای را که از کودکی خود شنیده و یا خوانده است را بازگویی می کنداین نوع قصه گویی سنتی ترین روش قصه گویی در میان نیاکان ما بوده استدر این نوع قصه گویی در یک طرف شخصی است که قصه ای را در ذهن خود دارد و در سوی دیگر مخاطب یا مخاطبانی هستند  با چشمان و گوش هایی هوشیار و تیز تا قصه را بشنوندآنچه در این شیوه قصه گویی مخاطب و قصه گو را به هم نزدیک می کند جهان واژه ها استبه واقع قصه گویی که در ذهن خود  از واژ های مناسب پر نباشد به یقین زیبایی های اثر را محو می کند حتی اگر قوی ترین قصه را به ذهن خود سپرده باشد قصه گو باید فرهنگ واژه ا ی ذهنی خود را به خوبی بشناسداو با چه قصه هایی بهتر ارتباط بر قرار می کند؟آیا ذهنش با دنیای فانتزی و واژه های مناسب آشنا استو بسیاری از سوالات دیگر?شیوه قصه-کتابیکی دیگر از گونه های قصه گویی برای کودکان را می توان داستان سرایی از کتاب خواند در این مورد قصه گو چندین بار اثر را از روی کتاب می خواند و اعراب گذاری می کند و نشانه های نگارشی را در اثر مشخص می کندو از همه مهمتر نکات اصلی و مهم  را در قصه مشخص می نماید  و نقاط ثقل موضوع و ثقل کلام را مشخص می کندثقل موضوع عبارت است از این موضوع که حرف قصه چه است  و ثقل کلام به معنای این است که قصه کودکانه از طریق کدام واژه حرفش را می زندزمانی که کودک قصه را می خواند یا میشنود براساس توانمندی  ادبی اثر ، کودک ثقل موضوع و واژه را در ذهنش پیدا می کنداما در هنگام قصه خوانی،این وظیفه قصه گو است  و باید از پیش برای آن برنامه ریزی نمایدشیوه قصه-کاردستیگونه ای دیگر از انواع قصه گویی شیوه قصه کاردستی است به صورت که قصه گو در حین تعریف قصه سعی می کند با استفاده از اشیا مختلف مانند کاغذ ، پارچه شخصیت اصلی قصه را بسازد  و با تجسم بخشیدن به آن قصه را برای کودک روایت نمایددر این شیوه کودک در حین گوش دادن به لحاظ بصری شاهد روند داستان است و هم چنین می آموزد که می تواند شخصیت هایی را که دوست دارد بسازددر این روش قصه گو باید مراقب باشد که کودک در حین ساخت کاردستی ذهن خود را معطوف به آن نکند و قصه را از یاد نبرد  و بهتر است که این شخصیت یا نماد در کمترین زمان ممکن ساخته شود  و پس از آن در دستان قصه گو به بازی در بیایدشیوه قصه -نمایشدر این شیوه قصه گو به چند شکل عمل می کند یا به تعدادی از بچه ها نقش های قصه را می دهد و بار حرکات کودکان قصه را بازگویی می کندیا خودش سعی می کند با بازیگری ،به گونه ای قصه را بازگو نمایددر این شیوه قصه گویی باید توجه نمایید که همه چیز در راستای تعمیق قصه پیش برود نه اینکه کودک در پایان قصه به خاطر بازی کردن از شما تشکر کندشیوه قصه -تصویرپیشینه این شیوه قصه گویی به روزگارانی که نقالان و قصه گویلن کارکشته دوران سپری شده ،براساس پرده ای که بر سر چهر سوق ها و میادین دیگر جاها می آویختند و قصه گویی می کردنداغلب قصه ها متاثر از شاهنامه و حوادث مذهبی بود که نقاشان آن روزگار بر پرده می کشیدندپرده خوانان یک چوپ دستی  به دست می گرفتند و در کنار پرده می ایستادند و قصه را روایت می کردندامروزه این شیوه را می توانید با استفاده از یک کتاب ادامه دهید یک کتاب مصور را در برابر کودک قرار دهید  و با استفاده از تصاویر موجود در کتاب قصه را روایت نماییمنبع</description>
                <category>سید مرتضی موسوی</category>
                <author>سید مرتضی موسوی</author>
                <pubDate>Sat, 26 Feb 2022 00:24:57 +0330</pubDate>
            </item>
                    <item>
                <title>الگوی خوبی برای کودکان باشیم</title>
                <link>https://virgool.io/@morteza.mousavi90/%D8%A7%D9%84%DA%AF%D9%88%DB%8C-%D8%AE%D9%88%D8%A8%DB%8C-%D8%A8%D8%B1%D8%A7%DB%8C-%DA%A9%D9%88%D8%AF%DA%A9%D8%A7%D9%86-%D8%A8%D8%A7%D8%B4%DB%8C%D9%85-rekwqytrriq1</link>
                <description>قبلا  در مقاله ای موضوع قدرت الگو برداری کودک را بررسی کرده بودیمکودکان از رفتار شما الگو برداری می کنند وقتی شما با کودک خود مهربان باشید او نیز سعی می کند با دیگران مهربان باشد پس رفتار کودک شما درحال و آینده به شما بستگی دارد.رفتار کودکان به چه چیزی بستگی داردوقتی کودک تان رفتار بد شما را تقلید می کندحالت تدافعی به خود نگیرید. به جای آن از این موقعیت استفاده کنید .چنان وضعیت بدی را به یک فرصت آموزنده با ارزش تبدیل کنید.خودم وقتی دیدم فرزندم از کلمات بدی استفاده می کند به او توضیح دادم که من اشتباه کردم که آن کلمه زشت را به زبان آوردم . نباید فحش می دادم. در آن زمان،عصبانی بودم. با این رفتار،مسئولیت خشم خود را به گردن گرفتم واشتباهم را پذیرفتم و از کودکم پوزش خواستمحال در اینجا برای فرزندم چه الگویی هستم ؟والدین ،دچار اشتباه می شوند. وقتی من اشتباه کردم اشتباه مرا پذیرفتم و مشئولیت آن را به عهده گرفتم و پوزش خواستم. چنین رفتارهایی،ویژگی های ارزشمندی نیستند که کودکان ما بخواهند از آن ها الگو بگیرند.کودکان از هر کاری که انجام می دهیم،درس یاد می گیرند. اگر در سن کودک خود ،دروغ بگویید تا برای او بلیت ارزان قیمتی بخرید با این رفتار به کودک خود یاد خواهید داد که دروغ گفتن، کار درستی است.?تاثیر رفتار والدین بر الگو برداری کودکاگر همسرتان در خانه باشد اما در پشت تلفن به کسی که زنگ زده بگویید همسرم منزل نیست به کودک یاد می دهید  که دروغ، چیز خوبی است.اگر خودتان هله و هوله بخورید،اگر تمام روز به تماشای تلویزیون بپردازید به کودک خود می آموزید که اونیز می تواند تمام روز تلویزیون تماشا کنداگر جر و بحث کنید و سر کسی داد بزنید یا اسم کسی را بیاورید در واقع به کودک تان یاد می دهید که او هم چنین بکند.اگر از دست بچه های خود عصبانی شوید، انتظار داشته باشید آنها نیز از دست دیگران عصبانی شوند.اگر بر سر کسی که می خواهد جای پارک شما را بگیرد داد بکشید،به کودک خود نیز می آموزید در این جور مواقع  او نیز می تواند بر سر کسی داد بزند و فحش بدهد.اگر به جای عصبانیت با لحن آرام با کسی صحبت کنید در واقع به کودکان خود می آموزید که موقع عصبانیت ،آرام باشند.اگر به خاطر فحش دادن به کسی از او معذرت بخواهید به کودک خود یاد می دهید که مسئولیت اشتباه خود را بپذیردوقتی با دیگران مودبانه صحبت می کنید در واقع به کودک خود می آموزید که او هم مودبانه رفتار کنداگر حقوق دیگران را رعایت می کنید ،در واقع به کودک خود می آموزید که او هم حقوق دیگران را رعایت کند.وقتی با دیگران مهربان باشید در واقع مهربان بودن را به کودک خود می آموزید.وقتی نهایت سعی و تلاش خود را به عمل می آورید کودک شما نیز یاد می گیرند تمام سعی و تلاش خود را به عمل بیاورد.وقتی شما زمانی را به مطالعه کردن می پردازید در واقع به کودک خود نیز می آموزید زمانی را به مطالعه کردن بپزدازد.وقتی شما غذای سالم می خورید و ورزش می کنید به کودک خود می آموزید که او هم غذای سالم بخورد و ورزش کند.وقتی شما به عنوان پدر و مادر ، رفتار مسئولانه پیشه می کنید کودکان نیز یاد می گیرند که رفتار مسئولانه داشته باشند.بدترین مثال الگوپذیری،اپیدمی سوء استفاده از کودک است، اغلب والدین کودک آزار،در کودکی خود، دچار کودک آزاری  شده اند.وقتی پدرو مادر خشن و عصبانی،کودک خود را کتک می زند در واقع به آن کودک یاد می دهد که رفتار والدین با کودکان می تواند از طریق کتک زدن هم باشد.چنین کودکی،وقتی بزرگ می شود اغلب ،با کودکان خود نیز چنین رفتاری می کند. اگر رفتار کودکتان،باعث نگرانی شما شده است، به دقت به رفتار خود نگاه کنید کودکان چیزی را یاد می گیرند که دیده اند و به آن سبک ،بزرگ شده اند.اگر در خانواده ای بزرگ شده اند که رفتار مسئولانه ای دارد آن ها نیز موقع بزرگسالی، رفتار مسئولانه از خود نشان می دهند.بنابراین،لازم است برای فرزندان خود،بهترین الگویی باشید که می توانید کودکان،طوری رفتار می کنند که شما با آن ها رفتار کرده ایدمنبع وب سایت مینی یاس</description>
                <category>سید مرتضی موسوی</category>
                <author>سید مرتضی موسوی</author>
                <pubDate>Sun, 20 Jun 2021 12:53:17 +0430</pubDate>
            </item>
                    <item>
                <title>قدرت الگو برداری کودک</title>
                <link>https://virgool.io/@morteza.mousavi90/%D9%82%D8%AF%D8%B1%D8%AA-%D8%A7%D9%84%DA%AF%D9%88-%D8%A8%D8%B1%D8%AF%D8%A7%D8%B1%DB%8C-%DA%A9%D9%88%D8%AF%DA%A9-sp2vg0s346u5</link>
                <description>الگو برداری در کودکان راهی است برای یادگیری آنها  و پدر و مادر مسئول آموزش به کودک هستند ، کودک رفتار و حرکات آنها را تقلید می کند در این مقاله و مقاله های بعدی سعی در بررسی الگو برداری کودکان خواهیم پرداخت.الگو پذیری کودک چیست؟کودکان از طریق تقلید کردن یاد می گیرند.پتانسیل کودک برای مشاهده و تقلید،کیفیت شگفت انگیزی است،دانشمندان  به این ویژگی کودک (الگو پذیری) می گویند.کودکان،حرف زدن را از طریق الگو پذیری یعنی با گوش دادن،مشاهده و تقلید کردن یاد می گیرند.همچنین ،نگرش ها ،ارزش ها ،برتری های شخصی و حتی برخی ازعادات را از طریق الگوپذیری فرا می گیرند.از آنجایی که کودکان رفتار اطرافیان را تقلید می کنند،بنابراین والدین بر یادگیری کودکان نفوذ زیادی دارند.در مورد رفتار خود به دقت فکر کنید.آنچه که در برابر کودک انجام می دهید یا می گویید بر تفکر و رفتار او اثر می گذارد. زیرا شما الگوی کودک محسوب می شوید.یاسین،کودک پنج ساله بود. او و من به خرید عید نوروز رفتیم. پارکینگ بسیار شلوغ بود.برای یافتن یک جای پارک ،چند دقیقه معطل شدیم.در این جور مواقع از نعمت حوصله برخوردار نیستم .سرانجام ،جایی را پیدا کردم،راهنما زدم و خواستم ماشینم را در آنجا پارک کنم.وقتی داشتم دنده عقب می رفتم ناگهان ماشین دیگری جلوی من پیچید.عصبانی شدم و شیشه ماشین را پایین کشیدم و چند فحش به راننده دادم. نگاه خشمگینانه ای به هم انداختیم و بعد،دنبال یک جای پارک دیگر گشتم.بیست دقیقه بعد،یاسین و من در فروشگاه مشغول قدم زدن بودیم.من،دیگر آرام شده بودم.داشتم در مورد این که چه کادویی بخریم با هم صحبت می کردیم.یاسین بدون هیچ گونه هشداری، ناگهان نگاهی به بالا کرد و چند فحش داد!احساس کردم دنیا بر سرم خراب شده! چه منظره تکان دهنده ای!او دید که من قبلا از زبان فحش استفاده کردم و دقیقاآن را به خاطر داشت.من بسیار شرمنده شدمبه او گفتم،پسرم این فحش،خوب نبود.من اشتباه کردم که به راننده فحش دادم. پذیرفتم که چون نتوانسته بودم جای پارک پیدا کنم خسته و عصبانی بودم.گفتمکه امیدوارم دیگر این گونه حرف نزند.چنین لحظه ای برای من بسیار آموزنده بود.?تاثیر پدر و مادر بر کودکدر نود و پنج درصد مواقع می توانید برای فرزندان خود ،الگوی خوبی باشید.آیا دیدن اینکه چه طور وقتی اشتباه میکنیم بچه ها از ما تقلید می کنند،جالب و شگفت انگیز نیست؟وقتی کودکان چنین می کنند بسیاری از والدین،موضع تدافعی به خود می گیرند و می گویند:مهم نیست که این فحش چه معنایی می دهد؛ازت می خوام که دیگر این رو تکرار نکنی.چنین واکنشی غلط است.ارتباط را از بین می برد و به کودکتان می گوید که شما به عنوان پدرو مادر می توانید فحش هم بدهید اما او،نه!اولین کاری که بچه موقع رفتن به مدرسه در روز بعد، از همکلاسی های خود می پرسد این است که فحش به چه معناست؟</description>
                <category>سید مرتضی موسوی</category>
                <author>سید مرتضی موسوی</author>
                <pubDate>Sat, 19 Jun 2021 17:32:22 +0430</pubDate>
            </item>
            </channel>
</rss>