<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
    <channel>
        <title>نوشته های سیدروح الله سیدموسوی</title>
        <link>https://virgool.io/feed/@rseyedmoosavi</link>
        <description>همیشه دوست داشتم یه برنامه نویس باشم و تلاشم رو میکنم که یه روز بشم</description>
        <language>fa</language>
        <pubDate>2026-06-17 00:04:28</pubDate>
        <image>
            <url>https://files.virgool.io/upload/users/24853/avatar/pebSU5.png?height=120&amp;width=120</url>
            <title>سیدروح الله سیدموسوی</title>
            <link>https://virgool.io/@rseyedmoosavi</link>
        </image>

                    <item>
                <title>فراموش کردن رمز root در mysql</title>
                <link>https://virgool.io/@rseyedmoosavi/%D9%81%D8%B1%D8%A7%D9%85%D9%88%D8%B4-%DA%A9%D8%B1%D8%AF%D9%86-%D8%B1%D9%85%D8%B2-root-%D8%AF%D8%B1-mysql-ipeanegtzldq</link>
                <description>سلاماگر ورژن mysql شما 8 هست و مثل من یادتون رفته رمز عبورش چیه کافیه دستورات زیر رو بزنید تا ریست بشه رمز و راحت بتونید وصل بشید  البته تو لینوکسدستور اولSudo mysqlدستور بعدیALTER USER &#x27;root&#x27;@&#x27;localhost&#x27; IDENTIFIED WITH caching_sha2_password BY &#x27;yourpasswd&#x27;;exit;فقط کافیه به جای yourpasswd رمز عبور دلخواهتون رو بنویسیدتمام</description>
                <category>سیدروح الله سیدموسوی</category>
                <author>سیدروح الله سیدموسوی</author>
                <pubDate>Tue, 24 Aug 2021 10:52:03 +0430</pubDate>
            </item>
                    <item>
                <title>تعویض سوکت هندزفری گوشی سامسونگ</title>
                <link>https://virgool.io/@rseyedmoosavi/%D8%AA%D8%B9%D9%88%DB%8C%D8%B6-%D8%B3%D9%88%DA%A9%D8%AA-%D9%87%D9%86%D8%AF%D8%B2%D9%81%D8%B1%DB%8C-%DA%AF%D9%88%D8%B4%DB%8C-%D8%B3%D8%A7%D9%85%D8%B3%D9%88%D9%86%DA%AF-tolxru6foghd</link>
                <description>samsung s8 handsfreeسلامداداشم یه گوشی S8 سامسونگ داره که سوکت هندزفریش قطع شده بود و می خواستیم عوضش کنیم تعمیر کارا که میگفتن نمیشه باید یکی دیگه بخری یه فندزفری مثل اون هم که حدود 300 هزارتومن پولش بود و زورمون میومد که بخریم ما هم رفتیم یه سوکت 3.5 میلیمتری خریدیم و جراحی رو شروع کردیماین رو بگم که سوکت های هندزفری ها 4 تیکه هست اگه خواستین بخرین نرین یه سوکت معمولی بخرین چیزی که میخرین باید مثل این عکس باشهسوکت هندزفری 3.5 میلیمتریاین سوکت رو تو تاریخ 98/06/10 با قیمت 11 هزارتومن خریدیم نمیدونم وقتی شما این مطلب رو میخونید چندتومن شده؟؟؟بعد از خرید این سوکت نوبت به بریدن سیم هندزفری و اتصال سیم به این سوکت جدید شد که سیم رو بریدیم و با پنج رشته سیم نازک مواجه شدیملخت کردن سیم ها خیلی سخت بود نمی تونستم راحت لختشون کنم هی بریده میشد خود سیم تا اینکه با یه فندک سیم ها رو میسوزوندم و اینجوری روکش پلاستیکیش آب میشد و میرسیدم به خود مس سیم ها البته قاطی مس سیم ها مقداری نخ ابریشم هم بود که موقع لحیم کاری نمیذاشت درست لحیم بشه که اون ها رو هم باید ببریموقتی لختشون کردم و لحیم کاری رو انجام دادم و با یه غرور به داداشم گفتم بیا برو حال کن اونم رفت ولی حال نکرد چون اصلا کار نمیکرد هندزفریهمشکل چیبود درست نبودن جانمایی سیم ها یعنی سیم ها رو برعکس زده بودم البته طبق چیزی که از سوکت قبلی دیده بودم لجیم کاری کرده بودم ولی خوب کار نمی کرد منم رفتم تو اینترنت جست و جو ها کردم و با عکس زیر آشنا شدمرنگبندی سیم ها بر روی سوکتاین عکس که 5 تا سیم داره ولی سوکت ما 4 تا پایه چه باید کرد؟هیچی دوتا منفی ها رو باید به هم وصل کرد و بعد لحیم کرد یا به عبارت دیگه 2 منفی ها با هم به یه پایه وصل میشنیعنی سوکت در آخر باید این شکلی لحیک بشهرنگ بندیخوب الان لابد میگشین سیم شیلد چیه؛ وقتی روکش اصلی هندزفری رو جدا میکنین میبینین که همه سیم ها به جز مشکی رو با یه سیم بدون روکش تابوندن یعنی یه سیم بدون روکش دورشون چرخیده که اون میشه همون شیلدی که میگماون سوکتی که من خریدم ترتیب پایه هاش برای لحیم کاری این شکلی بودترتیب پایه های سوکت برای لحیم کاریالبته شاید اون چیزی که شما می خرین مثل این نباشه یا باید به مولتی متر چکش کنید یا از فروشنده بخواین بتون بگهبعد از اینکه طبق این عکس لحیم کاری کردم هندزفری شد مثل روز اولش و درست کار کردفقط تو لحیم کاری مواظب باشید اتصال نکن سیم ها به همامیدوارم به دردتون بخوره این مطلبخدا نگهدار</description>
                <category>سیدروح الله سیدموسوی</category>
                <author>سیدروح الله سیدموسوی</author>
                <pubDate>Thu, 05 Sep 2019 23:47:25 +0430</pubDate>
            </item>
                    <item>
                <title>فعال کردن بانک اطلاعاتی در فریمورک Yii</title>
                <link>https://virgool.io/@rseyedmoosavi/%D9%81%D8%B9%D8%A7%D9%84-%DA%A9%D8%B1%D8%AF%D9%86-%D8%A8%D8%A7%D9%86%DA%A9-%D8%A7%D8%B7%D9%84%D8%A7%D8%B9%D8%A7%D8%AA%DB%8C-%D8%AF%D8%B1-%D9%81%D8%B1%DB%8C%D9%85%D9%88%D8%B1%DA%A9-yii-vwvllrizw3hk</link>
                <description>قبل از هرچیزی بگم من فرض میکنم دارین با Yii Advanced کار میکنید و آدرس هام رو نسبت به Advanced مینویسمطریقه ارتباط PHP با Database خیلی راحته حالا Yii اومده همون رو هم راحت تر کرده؛برای اتصال فقط کافیه شما فایل main-local.php رو از آدرس common/config باز کنید و قسمت زیر رو اینجور که میگم تغییر بدین&#039;db&#039; =&gt; [
 &#039;class&#039; =&gt; &#039;yii\db\Connection&#039;,
 &#039;dsn&#039; =&gt; &#039;mysql:host=HOSTADDRESS;dbname=DBNAME&#039;,
 &#039;username&#039; =&gt; &#039;USERNAME&#039;,
 &#039;password&#039; =&gt; &#039;PASSWORD&#039;,
 &#039;charset&#039; =&gt; &#039;utf8&#039;,
 &#039;tablePrefix&#039; =&gt; &#039;PREFIX&#039;
],خوب همه چی معلومه شما برای آدرس هاست که معمولا localhost هست باید به جای HOSTADDRESS بنویسید نام پایگاه داده رو به جای DBNAME، نام کاربری به جای USERNAME و رمزعبور رو به جای PASSWORD بنویسید همین اگر جداولتون هم Prefix دارن که به جای PREFIX بنویسید به همین سادگیحالا قراره یه صفحه داشته باشیم که از بانکمون داده ها رو بخونه و نشونمون بدهبرای اینکار کافیه یه Model بسازیم و بعد اون رو توی Controller صدا بزینم و پاسش بدیم View آخه میدونید که فریمورک Yii از معماری MVC بهره میبره اگر هم نمی دونید MVC چی هست بعدا باید یه پست بزارم برای توضیح این ولی اگر مختصر بخوام بگم MVC مخفف Model,View,Controller هستمدل یا Model برای ارتباط با دیتابیس هست و هر نوع داده که بخوایم از بانکمون بخونیم رو توسط Model انجام میدیمویو یا View معلومه از اسمش صفحاتی از سایتمون هستن که کاربران می بیننکنترلر یا Controller هم میشه رابط بین Model و View که میاد چک میکنه که چه داده ای رو باید به چه View ارسال کنه یه جورایی مغز سایت هستخوب حالا چه طور Model رو بسازیمبرای ساخت Model دو راه داریم یا خودمون بریم یه کلاس بسازیم که راه خوبیه یا اینکه از GII استفاده کنیم آره Gii یه ابزار خیلی خوب که این فریمورک برامون گذاشته تا کارمون رو سرعت ببخشیمالان من کاری به Gii ندارم تو یه پست دیگه آموزشش رو میزارم الان بریم سراغ نوشتن به صورت دستیاول وارد پوشه frontend/models بشین و یه فایل که همنام جدولتون هست رو بسازین مثلا اگر اسم جدولتون users هست یه فایل با نام Users بسازین آره حرف اول نام کلاس حتما باید بزرگ باشه  کارهای زیر رو بکنیداول باید namespace رو تعریف کنیدnamespace app\modelsبعد باید کلاس های مورد نیاز رو use کردuse Yiiبعدش اسم کلاسمون رو مینویسیم و مشتقش (extend) مکنیم از \yii\db\ActiveRecordclass Users extends \yii\db\ActiveRecordبعدش باید چندتا Method به کلاسمون اضافه کنیم به نام های زیرtableNamerulesattributeLabelspublic static function tableName()
{
    return &#039;{{%users}}&#039;;
}public function rules()
{
    return [
        [[&#039;name&#039;, &#039;family&#039;,&#039;username&#039;,&#039;password&#039;], &#039;required&#039;],
        [[&#039;name&#039;], &#039;string&#039;, &#039;max&#039; =&gt; 255],
        [[&#039;username&#039;], &#039;unique&#039;],
    ];
}

public function attributeLabels()
{
    return [
        &#039;id&#039; =&gt; Yii::t(&#039;app&#039;, &#039;ID&#039;),
        &#039;name&#039; =&gt; Yii::t(&#039;app&#039;, &#039;Name&#039;),
        &#039;family&#039; =&gt; Yii::t(&#039;app&#039;, &#039;Family&#039;),
        &#039;username&#039; =&gt; Yii::t(&#039;app&#039;, &#039;User Name&#039;),
        &#039;password&#039; =&gt; Yii::t(&#039;app&#039;, &#039;Password&#039;),
    ];
}خوب تابع tableName اسم جدول رو برمیگردونه اینی که میبینید داخل آکولاد گذاشتتش برای اینکه اگر جول Prefix داشت به صورت خودکار Prefix رو هم اضافه کنه نگین نمیدونید Prefix چیه که میدونم میدونید ولی بازم میگم چیه دیدین بعضی بانک ها رو که باز میکنید اول اسم همه جدول ها یه چیز عجیب و غریب نوشته مثلا به جای اینکه عین آدم اسم جدول user رو بنویسه نوشته se4w_user به همین se4w_ میگن Prefix که میتونه هرچیزی باشه دلیلش هم اینه که کثی نتونه اسم جدول ها رو پیدا کنهتابع بعدی rules هست که خودش به تنهایی یه پست میطلبه ولی به طور مختصر بگم میاد برای هر فیلد یه وضعیت مشخص میکنه مثلا تو خط اولش چی نوشتم[[&#039;name&#039;, &#039;family&#039;,&#039;username&#039;,&#039;password&#039;], &#039;required&#039;],یعنی فیلدهای name,family,username و password اجباری هستن یا خط بعدی          [[&#039;name&#039;], &#039;string&#039;, &#039;max&#039; =&gt; 255], یعنی فیلد name میتونه حداکثر 255 کاراکتر داشته باشه و در آخر هم [[&#039;username&#039;], &#039;unique&#039;],یعنی فیلد username حتما باید یکتا باشه و نمیتونه توی این جدول تکرار بشهحالا فکراتون رو بکنید ببینید اگر بخوایم بگیم فیلد username حداقل باید 3 و حداکثر 6 تاباشه چی باید بنویسیم  خوب معلومه دیگه  [[&#039;username&#039;], &#039;string&#039;, &#039;min&#039; =&gt; 3], 
  [[&#039;name&#039;], &#039;string&#039;, &#039;max&#039; =&gt; 6], در آخر هم تابع attributeLabels معلوم کننده نام های فیلد هاست یعنی چی؟ یعنی وقتی دارین توی یه view از این فیلد استفاده می کنید به جای اسم اصلیش اسمی که شما میخواین رو نشون بده چه طور مثلا تو مثال زیر به جای username نام کاربری می نویسه &#039;username&#039; =&gt; Yii::t(&#039;app&#039;, &#039;User Name&#039;),حالا ماجرای Yii::t(&#039;app&#039;,&#039;UserName&#039;)چیه رو تو یه پست جداگونه توضیح میدم فقط بدونید واسه موقع هست که سایتتون چند زبانه هست اگر هم مطمئن هستید که سایتتون تک زبونه و قرار نیست چندزبونه باشه کد زیر رو بنویسید &#039;username&#039; =&gt; &#039;نام کاربری&#039;,خوب دیگه خسته شدم ادامش باشه واسه پست بعدی که مدلی رو که ساختیم استفاده بشهفعلا خدانگهدار</description>
                <category>سیدروح الله سیدموسوی</category>
                <author>سیدروح الله سیدموسوی</author>
                <pubDate>Mon, 28 Jan 2019 22:56:16 +0330</pubDate>
            </item>
                    <item>
                <title>ساخت اولین پروژه با استفاده از فریمورک Yii</title>
                <link>https://virgool.io/@rseyedmoosavi/%D8%B3%D8%A7%D8%AE%D8%AA-%D8%A7%D9%88%D9%84%DB%8C%D9%86-%D9%BE%D8%B1%D9%88%DA%98%D9%87-%D8%A8%D8%A7-%D8%A7%D8%B3%D8%AA%D9%81%D8%A7%D8%AF%D9%87-%D8%A7%D8%B2-%D9%81%D8%B1%DB%8C%D9%85%D9%88%D8%B1%DA%A9-yii-ctnhabzv8om6</link>
                <description>خوب میدونم خیلی کار ساده ای هست ولی تکرار مکررات که گناه نیستچیزایی که من بلدم رو مینویسمبرای ایجاد پروژه در Yii دوتا کار میشه کرد ساخت پروژه Basicساخت پروژه Advancedمن تو این پست طریقه راه اندازی پروژه Advanced رو می خوام بگم برای این منظور شما میتونید از دو روش استفاده کنید:راه اول اینکه برین و فایل آرشیو رو دانلود کنیداز طریق Composer اقدام کنیدخوب از طریق Composer رو اول میگمبرین ببینید Composer روی سیستمتون نصب هست یا نه اگر نصب نبود از طریق این لینک برین و دریافتش کنید و نصبش کنیدhttps://getcomposer.org/downloadوارد این صفحه که شدین همون اولاش نوشته  Windows Installer که شما باید این رو دانلود کنید البته اگر از کاربران ویندوز هستید و اگر از سیستم عامل های دیگه استفاده میکنید که باید نسخه مربوط به خودتون رو دریافت کنیدبعد از نصب کامپوزر وارد CMD ویندوزتون بشین و composer رو بنویسید و بعدش روی دکمه بزرگ صفحه کلید یعنی Enter کلیک کنید باید نوشته های زیر براتون ظاهر بشهاگر این نوشته ها رو دیدن یعنی درست نصبش کردین اگر هم ندیدین خوب به من چه برید ببینید مشکل از کجاست (آموزش گام به گام نصب کامپوزر رو هم شاید بعدا بزارم)وقتی از نصب جناب مهندس کامپوزر مطمئن شدید فقط کافی متن زیر رو داخل CMD بنویسید `composercreate-projectyiisoft/yii2-app-advancedadvanced` فقط یه نکته کوچیک هست که اگر کاربر ویندوز هستید (البته میدونم که می دونید) باید یه برنامه مفسر PHP رو نصب کرده باشید روی سیستم نرم افزاری مثل Xampp,Mamp,Wamp و یا هرچیز دیگه ای که میدونید ولی من برای ویندوز 10 برنامه MAMP رو پیشنهاد میدم و کد بالا رو باید داخل پوشه htdocs برنامه بزنید (میدونم که میدونید)این روش نصب از طریق کامپوزر بود حالا بریم سراغ راه بعدی از طریق فایل آرشیوبرای اینکار کافیه وارد صفحه زیر بشینhttps://www.yiiframework.com/downloadو از قسمت  install from an archive file روی دکمه  Yii 2 with advanced application template کلیک بفرمایید بعد از دانلود فایل آرشیو اونو داخل پوشه Htdocs بریزین و از حالت فشرده خارج کنید تموم شد الان شما تونستید یه پروژه Yii رو توی سیستم داشته باشینحالا برای راه اندازی این پروژه باید یه کار دیگه هم بکنید داخل پوشه پروژه بشین می بینید که چندتا فایل هست که یکیشون اسمش init.bat هست و ما الان با این فایل کار داریم چی کار داریم الان میگموارد CMD بشین دوباره و وارد پوشه پروژه بشین فرض کنید پروژه داخل آدرس زیر هست&#x60;c:\xampp\htdocs\advanced&#x60;عکس بالا رو باید ببینیدحالا فقط کافی تو CMD تایپ کنید init.bat بعد ازتون سوال میپرسه تو چه مدی میخواین برنامه ساخته بشه که شما اگر 0 بزنید یعنی تو حالت Develop و اگر 1 بزنید حالت Production میشه برنامهتموم شد شما الان یه پروژه Yii رو آماده کردین برای کد نویسیاگر همه مراحل بالا رو درست رفته باشین وقتی داخل مرورگر آدرس پوشتون رو بنویسید باید عکس زیر رو ببینیدالان کافی وارد پوشه frontend بشین همون که تو عکس قرمزه بعد پوشه web و سپس عکس زیر رو ببینیداگر الان دارین عکس بالا رو می بینید یعنی همه مراحل رو درست رفتین و کار شما دقیقا درست بودهالانم برین بشینید تو بالکن خونتون و همینجور که داره برف ریز میباره و همه جا رو سفید پوش کرده و اون درخت روبه رو سمت چپ که نیمی از برگاش ریخته و اونایی که موندن نارنجی شدن رو نگاه کنید و قهوه داغتون رو بخورین و اولین پیروزیتون رو جشن بگیریدامید وارم تونسته باشم طوری بنویسم که متوجه بشین چی میگمفکر می کنم برای من که تازه دومین پستم هست خیلی خوب نوشتم</description>
                <category>سیدروح الله سیدموسوی</category>
                <author>سیدروح الله سیدموسوی</author>
                <pubDate>Sun, 27 Jan 2019 21:51:42 +0330</pubDate>
            </item>
                    <item>
                <title>اولین پست من</title>
                <link>https://virgool.io/@rseyedmoosavi/%D8%A7%D9%88%D9%84%DB%8C%D9%86-%D9%BE%D8%B3%D8%AA-%D9%85%D9%86-cyhfhshrm1vo</link>
                <description>سلام!!!برای اولین بار توی عمرم دارم یه پست میزارم یعنی می خوام پست بزارم الانم دارم فکر میکنم چی بنویسم آخه معمولا هرکی که چیزی مینویسه تو یه چیز تخصص داره ولی من هرچی فکر میکنم تخصصم تو چی هست نمیدونم! چرا ی سری چیزا بلدم ولی نه درحدی که بخوام آموزش بدم یا نویسندگیم خوب نیست که بخوام داستان بنویسم ولی با خودم فکر کردم دیدم مقداری چیز هست که بلدم و شاید کسایی باشن که بلد نباشن و بخوان یاد بگیرن هرچند تعدادشون کم هست، ولی خوب هست.منم تصمیم گرفتم هرچی رو که بلدم بیام و بنویسمالانم هم از فریمورک Yii میخوام شروع کنمیادم رفت بگم من یه برنامه نویس سمت سرور هستم که با زبان PHP کار میکنمکلا قبل از اینکه درمورد فریمورک Yii  صحبت کنیم باید بدونیم که چرا از فریمورک باید استفاده کرد یا اینکه چرا خودمون یه فریمورک ننویسیم اصلا فریمورک چی هستدر مورد اینکه فریمورک چی هست خیلی بحث شده فریمورک از نظر من یه چهارچوب برای کد نویسی هست که برنامه نویس رو مجبور میکنه از یکسری استانداردهایی که تعریف شده پیروی کنه حالا میگین چرا باید خودمون رو مجبور کنیم که استاندارد ها رو اجرا کنیم دلیلش این هست که فرضا شما تو یه تیم چند نفره دارین کدنویسی می کنید از اونجایی که برای رسیدن به خدا راه های زیادی هست برای رسیدن به یه خروجی هم تو برنامه نویسی کلی راه وجود داره و هرکسی میتونه راه خودش رو بره البته جالب اینجاس که اکثر راه ها هم که نوشته میشه استاندارد هست ولی خوب با هم فرق میکنن اینجا یه کسی یا یه چیزی به اسم فریمورک  هست که میگه مثلا برای لاگین کردن باید اینجوری کد نویسی کرد و یا برای اتصال به بانک داده از این روش استفاده کن وقتی آقای فریمورک بگه از چه روشی استفاده کنیم یعنی استفاده از یه روش واحد برای برنامه نویسی که می تونه کد نویسی چند نفره رو خیلی راحت کنهالان دارین به این فکر میکنید که چرا خودتون فریمورکتون رو ننویسین چرا میتونید بنویسید ولی قبل از شما افراد یا شرکت هایی بودن که این کار رو کردن و زحمتش رو از روی دوش ما برداشتن، استفاده از فریمورک هایی که نوشته شده چون معمولا توسط تیم های خوب و قوی نوشته میشه و دائما بروز رسانی میشن بهتر از این هست که خودمون بشینیم و فریمورک بنویسیم. تقریبا میشه گفت برای همه زبون های برنامه نویسی فریمورک وجود داره مثلا برای خود PHP که من بلدم Yii,Laravel,CakePHP,Codeigniter و چیز های زیاد دیگه ای وجود داره که میتونید انتخاب کنید حالا اینکه کدومش رو انتخاب کنید با خودتونه و باید بینشون مقایسه کنیدتوی این پست همه چی گفتم به جز نوشتن در مورد Yii نوشتن در مورد Yii رو میزارم واسه یه پست دیگه که تعداد پستام به جای یکی بشه دوتا</description>
                <category>سیدروح الله سیدموسوی</category>
                <author>سیدروح الله سیدموسوی</author>
                <pubDate>Sat, 26 Jan 2019 23:32:02 +0330</pubDate>
            </item>
            </channel>
</rss>