میکائیل اندیشه

جدیدترین مقالات وبسایت

درک مفاهیم S.O.L.I.D

منتشر شده در مرداد ۲۰, ۱۳۹۹

در این مقاله در رابطه با درک مفاهیم SOLID می‌نویسیم و مفاهیمی که برای آن وجود دارد را به ترتیب بررسی می‌کنیم. در واقع اصول SOLID یک استاندارد کدنویسی است که به برنامه نویس کمک می‌کند درک واضح‌تری از برنامه نویسی داشته باشد تا بتواند برنامه‌ای تمیز با قابلیت توسعه زیاد پیاده سازی کند. این […]

درک مفاهیم SOLID – بخش ۱

وب در دسترس برای همه! بخش سوم

منتشر شده در مرداد ۴, ۱۳۹۹

در دو بخش قبل بخش‌های زیادی از مفاهیم و کدهای Web Accessibility را باهم بررسی کردیم و تقریبا میشه گفت با رعایت آنچه در دو مقاله قبل اشاره کردیم تقریبا وبسایت ما Accessible است. در این بخش آخر به سایر نکات باقی مانده میپردازیم و لینکهایی را جهت مطالعه بیشتر معرفی میکنم. وب در دسترس […]

Web Accessibility part 3

وب در دسترس برای همه! بخش دوم

منتشر شده در اسفند ۲۰, ۱۳۹۸

در مقاله قبل در رابطه با بخش اول و مفاهیم اولیه Web Accessibility صحبت کردیم و به دلایل مهم بودن این موضوع پرداختیم که علاوه به بهبود کارایی و پرفرمنس وبسایت ما مزایای زیاد دیگری نیز برای ما و جامعه ما خواهد داشت. در این مقاله در رابطه با نکات مربوط به کدنویسی، ساختار درست […]

Web Accessibility part 2

وب، در دسترس برای همه!

منتشر شده در بهمن ۳۰, ۱۳۹۸

همانطور که میدانیم هر نعمت و هر امکانی که در دنیا وجود دارد برای همه انسان‌ها خلق شده است و ما انسان‌ها هستیم که شرایط را طوری ایجاد میکنیم که امکانات فقط برای یک قشر خاص در دسترس قرار بگیرد! می‌توانید به وضعیت کلی مکانهای عمومی و هزارن مثالی که وجود دارد اشاره کرد که […]

Web Accessibility part 1

معرفی ابزار فوق العاده ngrok

منتشر شده در دی ۲۱, ۱۳۹۸

یکی از نیازمندی‌های ما هنگام توسعه نرم افزار این است که پروژه ای که توسعه می‌دهیم هنگام تست برخی از نرم افزارهای مورد استفاده به صورت آنلاین در دسترس قرار بگیرد، یا اینکه لازم است دمویی از پروژه را به مشتری نمایش دهیم لازم است بر روی سرور آپلود و دسترسی دهیم تا دموی اولیه […]

ngrok

انتشار پکیج در Packagist

منتشر شده در دی ۱۳, ۱۳۹۸

در یکی از همکاریهای قبلیم با یکی از شرکتها، پروژه‌هایی که داشتیم چندین مورد بودند و برای هر کدام لازم بود که یک سیستمی پیاده‌سازی شود که منطق و کارکرد آن در همگی یکسان بود. اگر در یکی از این سیستم‌ها تغییری ایجاد می‌کردیم باید در تمام پروژه‌هایی که داشتیم بروزرسانی انجام می‌دادیم و اینکار […]

Release private/ public package in packagist.org

تنظیم چندین ssh key برای مدیریت اکانت‌ها

منتشر شده در آذر ۱, ۱۳۹۸

اخیرا برای انجام یکی از پروژه‌هایی که همکاری داشتم لازم بود که با یک اکانت دیگه غیر از اکانت ایران وصل بشم و فایلهای پروژه رو با اکانت شرکتی بفرستم بر روی گیت‌هاب ولی مشکلی که وجود داشت این بود که اکانت شخصیم هم لازم داشتم و نمیشد از یک ssh key برای هر دو […]

Multiple SSH Keys settings for different github account

Flexbox را یاد بگیریم!

منتشر شده در آبان ۱۶, ۱۳۹۸

وقتی ریدیزاین و پیاده سازی وبلاگ جدیدم را شروع کردم قبلا به خاطر مشغله کاری فرصت نشده بود Flexbox را مطالعه کنم تصمیم گرفتم وبلاگم را با استفاده از این ساختار جدید css پیاده سازی کنم و از طرفی طی یک مقاله نحوه کار و یادگیری آن را آرشیو کنم. انگیزه یادگیری Flexbox از ویدیو‌های […]

learning flexbox

انتشار اولین مطلب در Symfony – قسمت ۱

منتشر شده در دی ۲۸, ۱۳۹۷

در مقاله قبل در رابطه با مسیردهی صفحات صحبت کردیم و بخش دیزاین آن را با یک قالب آماده به طور کامل پیاده سازی کردیم. در این مقاله قصد دارم اولین مطلب خودمون رو منتشر کنیم و با نحوه ثبت داده در فریمورک سیمفونی آشنا شویم.

Create model and tables

پیاده سازی صفحات bundle و مسیردهی آنها

منتشر شده در دی ۲۸, ۱۳۹۷

در مقاله‌ قبل ( ساخت bundle جدید در Symfony ) با استفاده از دستورات  console به راحتی یک bundle جدید ایجاد کردیم، با توجه به اینکه در قسمت سوم مقاله ( بخش view در symfony ) در رابطه با view صحبت کرده بودیم و ساختار کلی view  را پیاده سازی کردیم در این قسمت سایر بخش‌های view […]

Symfony controller and routing

ساخت bundle جدید در Symfony

منتشر شده در دی ۲۸, ۱۳۹۷

در مقاله قبل در رابطه با ساختار viewها در سیمفونی صحبت کردیم و یک قالب وبلاگی را مطابق Twig template engine پیاده سازی کردیم. با توجه به اینکه قصد داریم در این پروژه آزمایشی صرفا یکسری مطالب را اضافه کنیم یک bundle جدید به نام BlogBundle ایجاد می‌کنم و ادامه کار را با هم پیش میبریم.

generate bundle in Symfony

بخش view در symfony

منتشر شده در دی ۲۸, ۱۳۹۷

در مقاله قبل در رابطه با مقدمات و آشنایی اولیه با ساختار سیمفونی صحبت کردم در این مقاله بخش view  آن را با هم بررسی می‌کنیم. Symfony برای مدیریت قالب‌ها از یک Template Engine به نام Twig استفاده می‌کند که کار مدیریت و پیاده سازی ساختارهای قالب را به طرز فوق العاده ای بهتر و […]

Twig template engine in Symfony

آشنایی اولیه با فریمورک Symfony

منتشر شده در دی ۲۸, ۱۳۹۷

در مقاله قبل در رابطه با نصب و شروع کار با فریمورک Symfony  صحبت کردیم در این مقاله قصد دارم نگاهی به ساختار این فریمورک بندازیم و مقدمات اولیه آن را با هم یاد بگیریم.

about Symfony structure

سلام Symfony

منتشر شده در دی ۲۸, ۱۳۹۷

با توجه به اینکه من قبلا با لاراول شروع به کار کردم و از آن لذت زیادی بردم و از آنجایی که میدونستم که لاراول بسیاری از بخش‌های خودش رو از Symfony دریافت می‌کنه تمایل زیادی داشتم که کار با سیمفونی رو امتحان کنم تا ببینم چقدر میتونم ازش لذت ببرم! در این مقاله با […]

hello symfony - install symfony

پکیج‌های کاربردی لاراول ( ۱ )

منتشر شده در دی ۹, ۱۳۹۷

در این مقاله پکیج‌های کاربردی laravel را که تجربه استفاده از آنها را دارم معرفی می‌کنم. این پکیج‌ها می‌توانند بسته به پروژه ای که انجام می‌دهید و حجم و ساختار پروژه مورد استفاده قرار بگیرند. ۱- لاراتراست (Laratrust) در لاراول برای بخش کاربران و در واقع برای مدیریت و اعتبارسنجی کاربران اگر پروژه ای که انجام […]

laravel package

gitflow راهکاری فوق العاده برای مدیریت پروژه

منتشر شده در آذر ۹, ۱۳۹۷

قبلا در رابطه با گیت و دستورات آن در مقاله ای صحبت کردم و دستورات کاربردی آن را در یک مقاله نسبتا طولانی نوشتم که به مرور بروزرسانی شد و تجربیات خودم را هم به آن اضافه کردم. اما موضوعی که در این مقاله میخواهم در رابطه با آن صحبت کنم، تعریف یک مدل یا […]

Git Flow Workflow

از تجربیات کاریم می‌نویسم

منتشر شده در آبان ۲۱, ۱۳۹۷

در این نوشته از تجربیات کاریم می‌نویسم و قصد دارم  مواردی را که حاصل چند سال کار کردن با شرکتها و تیم های مختلف است را به اشتراک بگذارم شاید برای برخی از دوستان مفید باشد. لازم است اشاره کنم که من تقریبا از سال ۲۰۱۱ وارد دنیای وب، طراحی سایت و برنامه نویسی شدم و […]

work experience

خطایابی و Debug کردن برنامه‌ها در php

منتشر شده در مهر ۲۶, ۱۳۹۷

همانطور که میدونید هنگام توسعه یک برنامه با انواع خطاها روبرو هستیم، برای دیباگ کردن برنامه لازم است در فاز توسعه این خطاها را مشاهده کنیم تا نسبت به دیباگ کردن آنها اقدام کنیم. در صورتیکه از فریمورک‌هایی همچون Laravel استفاده کنیم نیاز به فعالسازی نمایش خطاها نیست و کافی است در فایل تنظیمات فریمورک […]

Display all of php errors

دوره آموزشی وردپرس

منتشر شده در شهریور ۲۰, ۱۳۹۷

اگر شما یک نویسنده،  عکاس و … هستید، تخصصی دارید و یا می‌خواهید مطالبی را در فضای مجازی منتشر کنید پیشنهاد می‌کنم وب‌سایت شخصی خود را راه اندازی کنید. در این دوره آموزشی از ابتدا با ثبت دامنه و خرید هاست شروع و وب‌سایت را راه اندازی می‌کنیم و در نهایت به راحتی میتوانید مطالب […]

دوره آموزش وردپرس

آماده سازی مک برای یک برنامه نویس

منتشر شده در شهریور ۹, ۱۳۹۷

از وقتی روی سیستم عامل مک کار میکنم به جرات میتونم بگم که از کارم صدها برابر بیشتر لذت میبرم. طی این مدت چندین بار پیش اومد که به خاطر مسائلی از اول سیستم عامل مک رو نصب  و راه اندازیش کردم که بعد از راه اندازی آماده سازی برنامه ها برای شروع کار یک […]

The perfect web development environment for mac

معرفی پکیج منیجر homebrew

منتشر شده در شهریور ۸, ۱۳۹۷

معمولا برنامه نویس از محیط ترمینال لذت میبره و اگر با لینوکس کار کرده باشید با استفاده از سیستم پکیج کنترلی که داره میتونید همه برنامه های مورد نیازتون رو نصب کنید و … قبلا برای راه اندازی وب سرور و mysql و php از برنامه XAMPP، یا MAMP استفاده می‌کردم. با نصب یکی از این […]

homebrew package manager

از زندگی می‌آموزم و زندگی می‌کنم!

منتشر شده در شهریور ۳, ۱۳۹۷

چالشی اساسی در زندگیم پیش آمد که به شدت احساساتم و روانم را درگیر کرده بود و روزها و ماه‌ها درگیر این قضیه بودم به طوریکه نیمسال دوم سال ۹۶ یکی از پرچالش‌ترین و سخت‌ترین لحظات زندگی شخصیم بود. نمیدانم از کجا و چگونه بیان کنم، نمیخواهم در مورد جزئیات موارد و مشکلات صحبت کنم […]

lifestyle mekaeil

دریافت مقدار انتخاب شده select

منتشر شده در مرداد ۴, ۱۳۹۷

برای یکی از پروژه هایی که قبلا توسعه می‌دادم نیاز به ساخت یک فیلتر آجاکسی بر روی لیستی از دیتاها بود که وقتی کاربر بر روی select کلیک میکرد مقدار موردنظر با آجاکس ارسال و جستجو انجام میشد در واقع بروزرسانی مقادیر تگ select باید انجام می‌شد. $(‘select.selectronFilter’).on(‘change’, function(){ var selected = $(this).find(“option:selected”).val(); });

select box user

آرشیو دوم : دستورات و نکات مهم لاراول

منتشر شده در اردیبهشت ۲۷, ۱۳۹۷

در مقاله قبل آرشیوی از دستورات اولیه و مهم لاراول رو نوشتم تا هر موقع نیاز شد بازبینی داشته باشم. در آرشیو دوم سعی میکنم برخی مفاهیم جدید که یاد میگیرم را به اشتراک بذارم. ۱ – تفاوت بین PUT و PATCH  در فرم‌های لاراول : وقتی یک فرم با متد post ارسال می‌شود یک […]

laravel second archive

ساخت Helper کاستوم در لاراول

منتشر شده در اردیبهشت ۲۳, ۱۳۹۷

وقتی پروژه ای را پیاده سازی می‌کنیم بعد از پیاده سازی ساختار پروژه، به فایلهایی همچون config فکر می‌کنیم که در تمام بخش‌های پروژه فراخوانی شود و فایلی رو داشته باشیم که قبل از نمایش صفحه فانکشن‌هایی برای آن پروژه اجرا شود. اخیرا در پروژه ای که با لاراول پیاده سازی شده بود، نیاز داشتم […]

create you own helper.php in laravel

ابزارهایی برای تحلیل و دیاگرام دیتابیس

منتشر شده در اردیبهشت ۴, ۱۳۹۷

با توجه به اینکه تقریبا بیش از نیم سالی است تمرکز زیادی روی بخش بک‌اند دارم و روی تحلیل دیتابیس و ساختار برنامه نویسی پروژه کار می‌کنم نیازی به ابزاری بود که بتونم جداول دیتابیس را با فیلدهای آن رسم و سپس ارتباط جداول را مشخص کنم و در نهایت بازبینی جداول، داکیومنت نویسی و […]

طراحی ریسپانسیو ( Responsive ) از ایده تا اجرا !

منتشر شده در فروردین ۳۰, ۱۳۹۷

با شنیدن نام ریپسپانسیو ( responsive ) یا واکنش گرا این تصویر برای ما تداعی میشود که وب سایتی که واکنش‌گراست از طریق موبایل و سایر دیوایس‌ها در دسترس است، ولی واقعا چند درصد از این وب سایتهای ریسپانسیو قابل استفاده هستند؟! یکی از مشکلات عمده اشخاصی که در حوزه UI/UX و فرانت‌اند کار می‌کنند […]

Responsive Design

نمایش لیستی از مکان‌‌ها بر روی نقشه و نمایش اطلاعات آنها

منتشر شده در فروردین ۲۴, ۱۳۹۷

توی یکی از کارهایی که انجام می‌دادم نیاز شد که لیستی از مکانهای انتخابی ادمین سایت را روی نقشه نمایش دهم ( نمایش لیست مکان‌ها بر روی گوگل مپ ) به طوری که اگر کاربر روی یکی از اون موارد کلیک کرد اطلاعاتی از ان مکان را نمایش دهد از طرف دیگر لیستی از اون مکانها […]

multiple marker on google map using json data

ساختار کلی یک پروژه php

منتشر شده در فروردین ۲۰, ۱۳۹۷

وقتی پروژه ای رو با php خام بدون هیچ فریمورکی ایجاد می‌کنیم قطعا باید ساختاری رو برای آن در نظر بگیریم که بتوان بعدها به راحتی به بخش‌های مختلف دسترسی داشت و برای توسعه آن هم راحتتر اقدام کنیم. فایل‌های مختلفی همچون config.php , functions.php , actions.php , … را بر اساس سلیقه های شخصی […]

ارتباط با دیگران با چه سبک نگرشی؟!

منتشر شده در اسفند ۲۴, ۱۳۹۶

همه ما قطعا توی زندگیمون دوستانی داریم که به نحوی به صورت روزانه، هفتگی و…. باهاشون در ارتباط هستیم. این ارتباطات از راههای مختلفی ایجاد شده یا همکلاس بودیم، یا اتفاقی توی یک رویدادی با همدیگه آشنا شدیم و … سوالی که دوست دارم از خودمون بپرسیم اینه که این ارتباط و دوستی که ایجاد […]

ایمپورت / اکسپورت دیتابیس با command line

منتشر شده در اسفند ۱, ۱۳۹۶

برای import یا export دیتابیس از دستورات زیر می توانیم توی command line استفاده کنیم. ابتدا وارد مسیری که میخواهیم دیتابیس آنجا قرار گیرد ( معمولا دسکتاپ ) می شویم و سپس دستورات را اجرا میکنیم. Export گرفتن از یک دیتابیس مشخص mysql : mysqldump database_name > database_exportname.sql database_name : نام دیتابیسی که داریم و […]

import and export database

ویدئوی آماده سازی ساختار فایلهای یک پروژه

منتشر شده در بهمن ۲۸, ۱۳۹۶

در این ویدئوی آموزشی مقدمات استارت یک پروژه رو توضیح دادم که چگونه از css preprocessor برای توسعه وب سایت استفاده کنیم. قبلا مقاله ای در این رابطه منتشر کردم : استفاده از css preprocessor برای توسعه وب سایت فایلهای پروژه رو روی گیت‌هاب به اشتراک گذاشتم که هر سری که پروژه ی جدیدی تعریف میشود […]

ready to start design