۱۱ خرداد، ۱۳۹۹

۶ ساعت پیش ١۰۰+ امتیاز
@amir به گفتگوی پیکربندی فایل های htaccess جواب داد.

شما به ما بگو می خوای چیکار کنی با فایل htaccess. که ما بتونیم کمک کنیم:

htaccess. برای Apache هست Nginx از Conf استفاده می کنه خیلی هم کار باهاش راحت تر از Apache هست.

مثلا تو Apache:

<IfModule mod_rewrite.c>
    <IfModule mod_negotiation.c>
        Options -MultiViews
    </IfModule>

    RewriteEngine On

    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_URI} (.+)/$
    RewriteRule ^ %1 [L,R=301]

    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^ index.php [L]

    RewriteCond %{HTTP:Authorization} .
    RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
</IfModule>

تنظیمات بالا تو Nginx این هست:

location / {
  if (!-e $request_filename){
    rewrite ^(.*)$ /%1 redirect;
  }
  if (!-e $request_filename){
    rewrite ^(.*)$ /index.php break;
  }
}

۶ ساعت پیش ١۰۰+ امتیاز
@amir به گفتگوی مشکل در قسمت درج کارها در سایت جواب داد.

همه ی تست ها پاس شده و لوکال و آنلاین هیچ مشکلی نداریم.

۶ ساعت پیش ١۰۰+ امتیاز
@amir به گفتگوی مشکل در قسمت درج کارها در سایت جواب داد.

مرسی ازت الآن چک می کنم.

۶ ساعت پیش ١۰۰+ امتیاز
@amir به گفتگوی کانکارنسی در php جواب داد.

@hj021 شما هر چی دوست داری یاد بگیر. اگر وقتشو داری ۳ سال گو یاد بگیری برای اینکه فقط کانکارنسی انجام بدی، برو جلو! پی اچ پی کار لاراول رو می کنه اما یاد گرفتن لاراول سریع تر هست و سرعت توسعه باهاش سریع تر هست. وقتشو داری جفتشو یاد بگیر. سرعت توسعه با گو سریع تر نیست! توجه کن گفتم سرعت توسعه نه سرعت اپلیکیشن. فلسفه ی پی اچ پی بالا هست یک بار دیگه ببین.

در ضمن من بالا گفتم:

بحث این هست که شما چه اپلیکیشنی میخواهی درست کنی که پی اچ پی نمی تونه؟

نگفتم لاراول!

سوال شما این بود:

اصلا php خوبه برای این مورد یا بریم سراغ Go

در آخر اینکه شما گفتی:

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

میتونم یک مثال ببینم چطوری کلاس ها رو تمیز تر کرده؟ Swoole اصلا در باره ی کار با سرور هست این مثال Hello World هست:

<?php
use Swoole\Http\Server;
use Swoole\Http\Request;
use Swoole\Http\Response;

$server = new Swoole\HTTP\Server("127.0.0.1", 9501);

$server->on("start", function (Server $server) {
    echo "Swoole http server is started at http://127.0.0.1:9501\n";
});

$server->on("request", function (Request $request, Response $response) {
    $response->header("Content-Type", "text/plain");
    $response->end("Hello World\n");
});

$server->start();

یعنی در اصل شما باید اون رو با Apache و Nginx مقایسه کنی.

۸ خرداد، ۱۳۹۹

٣ روز پیش ١۰۰+ امتیاز
@amir به گفتگوی دانشگاه برای برنامه نویس مناسبه؟ جواب داد.

یه ویدیو در این باره درست کردیم به عنوان مصاحبه که تا چند ساعت دیگه میاد بیرون!

۵ خرداد، ۱۳۹۹

۶ روز پیش ١۰۰+ امتیاز
@amir به گفتگوی تبادل اطلاعات به صورت همزمان در socket.io جواب داد.

@as_biz شما از چه زبان و فریم ورکی داری استفاده می کنی؟

۶ روز پیش ١۰۰+ امتیاز
@amir به گفتگوی کانکارنسی در php جواب داد.

بحث این هست که شما چه اپلیکیشنی میخواهی درست کنی که پی اچ پی نمی تونه؟

۴ خرداد، ۱۳۹۹

١ هفته پیش ١۰۰+ امتیاز
@amir به گفتگوی کانکارنسی در php جواب داد.

ترجمه بر گرفته از گوگل ترنسلیت هست ولی می فهمی داره چی می گه؛

فلسفه پی اچ پی

این بخش شامل فلسفه هایی است که برای نوشتن کد موازی و جزئیاتی در مورد اجرای داخلی موازی مهم است.

با به اشتراک گذاشتن حافظه ارتباط برقرار نکنید. در عوض ، با برقراری ارتباط ، حافظه را به اشتراک بگذارید. این فلسفه که به موازات آن پذیرفته می شود ، ریشه در Go دارد ، یکی از سیستم عاملهای بسیار مورد تحسین در صورت استفاده نکردن از سکوها برای نوشتن کد موازی در حال حاضر. برنامه نویسان برو باید برای تحقق این ایده آل سخت کار کنند: PHP و موازی تمام کارهای سخت را برای برنامه نویس انجام می دهند و به طور پیش فرض.

در مدلهای رشته معمولی که در زبانهای دیگر یافت می شود ، به طور کلی موضوعات با یکدیگر ارتباط برقرار می کنند ، چیزی غیر از این واقعیت است که آنها در همان فضای آدرس کار می کنند. برنامه نویس باید از محرومیت های متقابل ، متغیرهای شرایط و سایر بدوی های سطح پایین یا هماهنگ سازی سطح پایین استفاده کند تا از برقراری ارتباط مناسب حالت و سازگاری اطمینان حاصل کند.

هنگامی که مدل معمولی معکوس می شود ، به این معنی است که موضوعات فقط در نتیجه ارتباط حافظه را به اشتراک می گذارند (مثلاً یک متغیر از طریق کانال منتقل می شود).

هنگامی که موازی به هر وسیله ای متغیر را از یک موضوع به موضوع دیگر منتقل می کند - آرگومان های کار ، بازگشت از طریق آینده و کانال ها - آن را با مقدار منتقل می کند. در کل ، اما در مورد کانال های بدون بافر ، متغیر نیز بافر شده است که ممکن است قبل از استفاده در هر موضوع که متغیر به آن منتقل شود ، تغییر نکند (یا از بین نرود) تغییر کند. خواندن بدون تحرک از طریق کانال ، تنها نمونه ای است که در آن یک موضوع مستقیماً حافظه اختصاص داده شده توسط نخ دیگر را می خواند ، می تواند با خیال راحت این کار را انجام دهد زیرا نخی که حافظه را در اختیار دارد منتظر است تا خواندن قبل از تکمیل آن به تکمیل دستکاری آن بپردازد ، و رشته ای که حافظه را ندارد ، ارزش آن را می خواند. هنگامی که هر دو موضوع ادامه پیدا می کنند ، آنها دیگر حافظه مشترک ندارند

این باعث می شود نوشتن و استدلال در مورد کد موازی بسیار ساده تر از مدل معمولی رشته سازی باشد. این بدان معناست که برنامه نویس نیازی به در نظر گرفتن این موضوع ندارد که می تواند همزمان داده ها را دستکاری کند ، زیرا این امکان پذیر نیست.

این امر همچنین باعث می شود که PHP یک پلت فرم مناسب برای اجرای یک API همزمان موازی مبتنی بر CSP باشد (پیام ارسال شده از طریق کانال ها) ، زیرا خود PHP مشترکاً مشترک نیست - موضوعات PHP بطور پیش فرض در فضای آدرس مجازی خود عمل می کنند ، و بنابراین فقط با برقراری ارتباط ممکن است حافظه را به اشتراک بگذارید. .

داده ها باید دارای یک مالک واحد مشخص باشند هنگامی که برای اولین بار به مدل CSP نزدیک می شوید ، یک برنامه نویس با آگاهی از مدل سنتی رشته کردن ممکن است خود را به دنبال ساختار داده های همزمان پیدا کند ، زیرا این همان چیزی است که آنها نیز مورد استفاده قرار می گیرند: آنها برای دستکاری در اطراف اشیاء مشترک می گذرد.

وقتی صحبت از مدل CSP است ، نیازی به ایجاد ساختار داده با بسیاری از کارها نیست و در واقع ، در صورت نبودن آنها ساده تر است. داده ها باید متعلق به یک کار واحد باشند ، تغییراتی در (یا عملکردهای موجود) ایجاد شود که ساختار داده ها باید از طریق کانالها ابلاغ شود و توسط صاحب داده ها انجام شود ، موفقیت ، عدم موفقیت یا نتیجه (حالت) تغییر (یا عملکرد) تماس برقرار می شود

یک بار دیگر هیچ چیز از PHP مشترک نیست و کپی براساس ماهیت ارزش موازی به برنامه نویس کمک می کند تا به این هدف برسد ، هیچ داده ای به طور تصادفی به اشتراک گذاشته نمی شود ، حتی در نتیجه ارتباط.

١ هفته پیش ١۰۰+ امتیاز
@amir به گفتگوی کانکارنسی در php جواب داد.

شما اگر به خاطر swoole و کانکارنسی میخوای بری سمت زبان Go متاسفانه یا گم شدی نمی دونی داری چیکار می کنی یا اینکه اصلا پروژه ای نساختی که با Async کار کرده باشه. تمام کارهایی که با swoole می کنی با پی اچ پی هم می تونی کنی.

سوییچ کردن از یک زبان به زبان دیگه به خودت و اینکه چند سال هست چه زبونی کار می کنی بستگی داره اما وقتی سوییچ می کنی میشی مثل یک دانشجویی که داره از اول شروع میکنه و یک چند سالی کار داری. بستگی به خودت داره اما من هیچ وقت به خاطر Async پی اچ پی رو با Golang میکس نمی کنم. بحث سرور بحثی جداست. فکر می کنم باز Apache و Nginx رو با PHP مقایسه یا قاطی کردی. PHP وب سرور نیست!

به نظر من فلسفه ی پی اچ پی رو اینجا بخون با بفهمی اصلا چی هست. تو این فلسفه پی اچ پی با گو مقایسه شده.

۳ خرداد، ۱۳۹۹

١ هفته پیش ١۵۰۰+ امتیاز
@amir یک مقاله تازه به اسم معرفی زبان راست نوشت.

Rust یک زبان بسیار جوان و در عین حال مدرن است. این زبان، جزو زبان‌های برنامه‌نویسی کامپایلری است و در بک‌اند هم از LLVM استفاده می‌کند. همچنین Rust یک زبان برنامه‌نویسی به اصطلاح Multi-paradigm است و انواع شیوه‌های دستوری، هم‌زمانی، شیی‌ٔگرا و کاملاً فانکشنال را پشتیبانی می‌کند. علاوه بر این، زبان برنامه‌نویسی راست کدنویسی جِنِریک و متا را در هر دو استایل استاتیک و داینامیک، پشتیبانی می‌کند.

اولین نسخه از کامپایلر Rust، که آلفا نام گذاری شد در ژانویه ۲۰۱۲ منتشر شد. نسخه فعلی (نسخه ۰٫۸)، در سپتامبر ۲۰۱۳ منتشر شده‌است.

راست

Rust ابتدا به عنوان یک پروژهٔ شخصی توسط Graydon Hoare که یکی از کارمندان بنیاد موزیلا بود، طراحی و توسعه داده می‌شد؛ در سال ۲۰۰۹ هم این بنیاد اسپانسری این پروژه را بر عهده گرفت و خبر آن را در سال ۲۰۱۰ انتشار داد اما جالب است بدانید اولین نسخهٔ پایدار این زبان برنامه‌نویسی -یعنی نسخه‌ٔ Rust 1.0- در روز پانزدهم ماه می سال ۲۰۱۵، به صورت رسمی ارائه شد. Rust یک زبان برنامه‌نویسی ترجمه شده، عام منظوره و چند الگویی است که توسط تحقیقات موزیلا توسعه یافته‌است. این زبان طراحی شده‌است تا یک زبان مطمئن، همسو و عملی باشد که مدل‌های تابعی خالص، امری-رویه‌ای و شی گرا را پشتیبانی می‌کند. زبان از یک پروژه شخصی توسط توسعه دهنده Graydon Hoare به وجود آمد، که او کار بر روی آن را در سال ۲۰۰۶ آغاز کرد؛ کارفرمای او موزیلا، در سال ۲۰۰۹ درگیر این پروژه شد و رسماً آن را برای اولین بار در سال ۲۰۱۰ پرده برداری کرد. در همان سال، کار از کامپایلرهای اولیه (نوشته شده در OCaml) خود را به کامپایلر خود میزبان نوشته شده در Rust تغییر داد. چیزی که به عنوان rustc شناخته شد، با موفقیت خود را در سال ۲۰۱۱ کامپایل کرد. کامپایلر خود میزبان از LLVM به عنوان backend استفاده می‌کند.

یکی از ویژگی‌های منحصر به فرد و متقاعدکنندهٔ این زبان، مفهومی است تحت عنوان Ownership که ما را قادر به داشتن Memory Safety کرده و باعث شده تا خیالمان از بابت امنیت در رَم تا حدود زیادی راحت باشد. Rust مموری پوینتر‌ها را با اطمینان خاطر برای دولوپر ایجاد کرده و حدود دسترسی مموری پوینترها را در زمان کامپایل، با استفاده از رفرنس‌ها چک می‌کند (و البته با چک کردن لایف‌تایم‌ها در زمان کامپایل، کار مدیریت رَم را انجام می‌دهد).

هدف از توسعهٔ زبان راست این بود که یک زبان خوب برای توسعهٔ سیستم‌های موازی و با امنیت بالا، ساخته شود. همچنین طراحی راست به گونه‌ای بود که سرعت و امنیت را در کنار هم به ارمغان بیاورد. در بخشی از مستندات رسمی این زبان آمده: Rust یک زبان برنامه‌نویسی سیستمی است که بر سه هدف متمرکز شده که عبارتند از ایمنی، سرعت و هم‌زمانی.

Rust به‌طور کامل در بازخورد باز و همکاری و کمک از جامعه توسعه یافته‌است. طراحی این زبان از طریق تجربه حاصل از نوشتن موتور چیدمان Servo اصلاح شده و Rust خودش را کامپایل کرده‌است. اگر چه توسعه آن با حمایت مالی موزیلا و سامسونگ بوده‌است، اما یک پروژهٔ اجتماعی است. بخش بزرگی از تصدیقات نسخهٔ فعلی از اعضای جامعه می‌باشد.

هدف Rust این است که یک زبان خوب برای ایجاد مجموعهٔ بزرگی از مشتری‌ها و سرور برنامه‌هایی که بر روی اینترنت اجرا می‌شوند باشد. این امر زیان را به یکی از ویژگی‌های مجموعه با تأکید بر ایمنی، کنترل از طرح حافظه و همزمانی هدایت می‌کند. اگر عملکرد زبان تنها عامل مورد توجه باشد، عملکرد قابل اطمینان بودن کد همان‌طور که انتظار می‌رود آن را کندتر از C++ می‌کند اما پیشگیری‌های از پیش تعریف شده در Rust با احتساب اقدامات محتاطانه‌ای که زبان C++ به‌طور دستی انجام می‌دهد، از نظر سرعت برابری می‌کند (و یا حتی سریعتر است)

نحو زبان Rust مشابه C و C++ است؛ با بلاک‌هایی از کد که بین آکولادها محدود شده‌است و کلمات کلیدی کنترل جریان مانند while ,do ,else ,if و for. البته تمام کلمات کلیدی C و C++ وجود ندارد اما به هر حال دیگران مانند تطابق واژه کلیدی برای انشعاب چند جهت برای برنامه نویسانی که از این زبان‌ها می‌آیند کمتر آشنا خواهد بود. با وجود شباهت نحوی،Rust از نظر معنایی با C و C++ متفاوت است.

برای شروع یادگیری این زبان، می‌توان به سایتی تحت عنوان Learning Rust مراجعه کرد. در این سری آموزش‌ها، شما با مفاهیم پایه‌ای مانند راه‌اندازی محیط کار، دیتا تایپ‌ها، توابع، عملگرها، دستورات شرطی و غیره آشنا خواهید شد، سپس مفاهیمی مانند استراکچرها، وکتورها، جِنِریک‌ها و مفاهیمی از این دست را یاد می‌گیرید. در نهایت نیز می‌توانید با مفاهیم پیشرفته‌تری همچون مبحث Ownership، مدیریت حافظه و لایف تایم‌ها نیز آشنا شوید.

١ هفته پیش ١۰۰+ امتیاز
@amir به گفتگوی پیکربندی فایل های htaccess جواب داد.

فکر می کنم منظورت دستوراتش برای Apache هست. اینجا بهترین جا برای یادگیریش هست.

١ هفته پیش ١۰۰+ امتیاز
@amir به گفتگوی پروژه رایگان جواب داد.

متاسفانه به چیز رایگان تو فرهنگ ما به می گن صلواتی یا نذری! چیز رایگان از طرف خیلی به نظر چیز بی ارزشی هست. پس قدرشو نمی دونند. هیچ وقت رایگان برای کسی کار نکن چون اینطور ارزش ما برنامه نویس ها رو هم میاری پایین. اما به برنامه نویس های می خواهی تو پروژشون کمک کنی ایراد نداره.

۲ خرداد، ۱۳۹۹

١ هفته پیش ١۰۰+ امتیاز
@amir به گفتگوی پروژه رایگان جواب داد.

به نظر من یا باید پول بگیری یا اینکه اگر قراد داد داری که اسمت رو بگذارند و اونها برداشتند شما اضافه کن.

یادت باشه اسمت رو جوری اضافه کن که کسی نتونه پیدا کنه مثلا encrypt کن و بعد decrypt کن یا با جاواسکریپت بگذار و یا میتونی کاری کنی که مثلا اگر اونها اسمت رو بردارند، وب سایت از کار بیافته! کار خوبی نیست اما به بعضی ها باید با این زبون صحبت کرد!

١ هفته پیش ١۰۰+ امتیاز
@amir به گفتگوی بدست آوردن تعداد بازدید هر سایت جواب داد.

نه نیست!

۱ خرداد، ۱۳۹۹

١ هفته پیش ١۰۰+ امتیاز
@amir به گفتگوی لاراول یا php خام برای ربات تلگرام جواب داد.

هر زبانی که وارد هستی میتونه کارت رو راه بندازه. پی اچ پی بهتر هست برای اپلیکیشن های مختص به وب استفاده بشه.

١ هفته پیش ١۰۰+ امتیاز
@amir به گفتگوی لاراول یا php خام برای ربات تلگرام جواب داد.

اگر کار زیادی با دیتابیس داره لاراول انتخاب خوبی می تونه باشه اما اگر یک اپ ساده هست، پی اچ پی میتونه کافی باشه.

١ هفته پیش ١۰۰+ امتیاز
@amir به گفتگوی بدست آوردن تعداد بازدید هر سایت جواب داد.

اگر به سیستم های تجزیه و تحلیل سایت ها دسترسی ندارین ، هر اطلاعاتی که می خواهید بدست بیارید خیلی کم دقیق تر می شه:

  • الکسا: Analytics Actionable for the Web آمار مناسبی ارائه می ده ، اما برای سایت های بزرگ در غرب بهترین کارایی رو داره. این دقیق نیست ، اما می تونید سایت های مختلفی را با یکدیگر مقایسه کنید و برترین ها را در یک صنعت شناسایی کنید.
  • به دنبال مطالعات موردی باشید که اغلب توسط خود شرکت یا شریک زندگی مانند یک شرکت توسعه وب ارائه می شه. بایگانی مطالب مربوط به مطبوعات را در سایت یا اخبار چک کنید
  • از آنها بپرسید! مدیر وب سایت را از طریق ایمیل یا ایمیل بفرستید و بپرسید.
  • اگر تبلیغات داشته باشن ، ممکنه یک بسته رسانه ای با تفصیل در ترافیک داشته باشند.

١ هفته پیش ١۰۰+ امتیاز
@amir به گفتگوی لاراول یا php خام برای ربات تلگرام جواب داد.

فرقی نمی کنه کدومش. بستگی داره می خواهید چیکار کنید. می تونم بپرسم؟

۳۱ اردیبهشت، ۱۳۹۹

٢ هفته پیش ١۰۰+ امتیاز
@amir به گفتگوی بدست آوردن تعداد بازدید هر سایت جواب داد.

سایت برای کی هست؟ اگر برای خودته با گوگل آنالیتیک میتونی.

۳۰ اردیبهشت، ۱۳۹۹

٢ هفته پیش ١۰۰+ امتیاز
@amir به گفتگوی حقوق ها ی که در stackoverflow ثبت شده اند جواب داد.

انگلستان:

  • تا ۱۲،۵۰۰£ سالی هیچی
  • بین ۱۲،۵۰۰£ تا ۵۰،۰۰۰£ سالی بیست درصد
  • بین ۵۰،۰۰۱£ تا ۱۵۰،۰۰۰£ سالی چهل درصد
  • بالاتر از ۱۵۰،۰۰۰£ در سال چهل و پنج درصد

کانادا:

  • ۱۵٪ - تا سقف ۴۸،۵۳۵$
  • ۲.۵٪ - بین ۴۸،۵۳۵$ - ۹۷،۰۶۹$
  • ۲۶٪ - بین ۹۷،۰۶۹$ - ۱۵۰،۴۷۳$
  • ۲۹٪ - بین ۱۵۰،۴۷۳$ - ۲۱۴،۳۶۸$
  • ۳۳٪ - بالاتر از ۲۱۴،۳۶۸$

٢ هفته پیش ١۰۰+ امتیاز
@amir به گفتگوی حقوق ها ی که در stackoverflow ثبت شده اند جواب داد.

با مالیات هست.

۲۹ اردیبهشت، ۱۳۹۹

٢ هفته پیش ١۰۰+ امتیاز
@amir به گفتگوی بهینه کردن کوئری جواب داد.

@netwons پیشنهاد می کنم این درس ها رو نگاه کن:

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

٢ هفته پیش ١۰۰+ امتیاز
@amir به گفتگوی مشخصات RESTful API جواب داد.

گوگل این رو میگه که مشخصات REST این هست: (ترجمش برگرفته از Google Translate)

  • Client - server - با جدا کردن نگرانی های رابط کاربری از نگرانی های مربوط به ذخیره داده ، ما قابلیت حمل رابط کاربری را در چندین سیستم عامل بهبود می دهیم و مقیاس پذیری را با ساده سازی اجزای سرور بهبود می بخشیم. بی تابعیت - هر درخواست از مشتری به سرور باید کلیه اطلاعات لازم برای درک درخواست را داشته باشد و از هیچ زمینه ذخیره شده روی سرور نمی تواند استفاده کند. بنابراین وضعیت جلسه کاملاً روی مشتری نگه داشته می شود.
  • Cacheable - محدودیت های حافظه نهان نیاز دارد که داده ها در پاسخ به یک درخواست به طور ضمنی یا صریح به عنوان cacheable یا غیر حافظه برچسب زده شوند. اگر پاسخ قابل ذخیره سازی باشد ، به حافظه نهان حق داده می شود تا از داده های پاسخ برای درخواستهای معادل بعدی استفاده مجدد کند.
  • رابط یکنواخت - با استفاده از اصل مهندسی نرم افزار کلی بودن در رابط کامپوننت ، معماری کلی سیستم ساده شده و دید متقابل بهبود می یابد. به منظور به دست آوردن یک رابط یکنواخت ، محدودیت های معماری متعددی برای هدایت رفتار اجزا مورد نیاز است. REST توسط چهار محدودیت رابط تعریف شده است: شناسایی منابع؛ دستکاری منابع از طریق بازنمایی؛ پیامهای توصیفی؛ و ، hypermedia به عنوان موتور کاربرد برنامه.
  • سیستم لایه ای - سبک سیستم لایه بندی شده اجازه می دهد تا یک معماری از لایه های سلسله مراتبی با محدود کردن رفتار اجزایی تشکیل شود به گونه ای که هر مؤلفه نمی تواند "فراتر از" لایه فوری که با آنها در تعامل است "را ببیند". کد در صورت تقاضا (اختیاری) - REST اجازه می دهد تا با بارگیری و اجرای کد در قالب اپلت یا اسکریپت ، عملکرد مشتری افزایش یابد. این باعث می شود مشتری با کاهش تعداد ویژگی های مورد نیاز برای پیش اجرا ، مشتری را ساده تر کند.

انگلیسی:

  • Client–server – By separating the user interface concerns from the data storage concerns, we improve the portability of the user interface across multiple platforms and improve scalability by simplifying the server components. Stateless – Each request from client to server must contain all of the information necessary to understand the request, and cannot take advantage of any stored context on the server. Session state is therefore kept entirely on the client.
  • Cacheable – Cache constraints require that the data within a response to a request be implicitly or explicitly labeled as cacheable or non-cacheable. If a response is cacheable, then a client cache is given the right to reuse that response data for later, equivalent requests.
  • Uniform interface – By applying the software engineering principle of generality to the component interface, the overall system architecture is simplified and the visibility of interactions is improved. In order to obtain a uniform interface, multiple architectural constraints are needed to guide the behavior of components. REST is defined by four interface constraints: identification of resources; manipulation of resources through representations; self-descriptive messages; and, hypermedia as the engine of application state.
  • Layered system – The layered system style allows an architecture to be composed of hierarchical layers by constraining component behavior such that each component cannot “see” beyond the immediate layer with which they are interacting. Code on demand (optional) – REST allows client functionality to be extended by downloading and executing code in the form of applets or scripts. This simplifies clients by reducing the number of features required to be pre-implemented.

٢ هفته پیش ١۰۰+ امتیاز
@amir به گفتگوی بهینه کردن کوئری جواب داد.

خیلی راه ها وجود داره که طولانی هست اگر بخوام اینجا بگم اما آخرین راهش Cache هست. یکی دیگه از اون ها استفاده از index هست، یکی دیگه استفاده از EXPLAIN هست.

۵ تا از اون راه ها:

https://www.vertabelo.com/blog/5-tips-to-optimize-your-sql-queries

۲۸ اردیبهشت، ۱۳۹۹

٢ هفته پیش ١۰۰+ امتیاز
@amir به گفتگوی الستیک سرچ جواب داد.

مرسی حتما قرار میدم اما تا اون موقع این مقاله ها میتونه کمکی باشه:

https://fullstackstanley.com/read/simple-search-with-laravel-and-elasticsearch

https://madewithlove.com/how-to-integrate-your-laravel-app-with-elasticsearch

https://medium.com/@samogorm/basic-search-functionality-with-elasticsearch-laravel-scout-6ac182c99cbf

٢ هفته پیش ١۰۰+ امتیاز
@amir به گفتگوی بدست آوردن sitemap سایت ها جواب داد.

چرا از خود سایتاشون نمی پرسی؟ راه حل قراردادی وجود نداره مگر اینکه خودشون تو فوترشون قرار داده باشند.

۲۳ اردیبهشت، ۱۳۹۹

٣ هفته پیش ١۰۰+ امتیاز
@amir به گفتگوی انتخاب یک فریمورک برای ساخت موبایل اپ جواب داد.

@moein_kdm مرسی از شما

۲۲ اردیبهشت، ۱۳۹۹

٣ هفته پیش ١۰۰+ امتیاز
@amir به گفتگوی انتخاب یک فریمورک برای ساخت موبایل اپ جواب داد.

من هنوز ری اکت نیتیو رو پیشنهاد میدم. تمام اپ های اینستاگرام، اوبر، فیسبوک، پینترست و اسکایپ برای موبایل با ری اکت نیتیو نوشته شده.

۱۸ اردیبهشت، ۱۳۹۹

٣ هفته پیش ١۰۰+ امتیاز
@amir به گفتگوی جلوگیری از دانلود؟ جواب داد.

برای جلوگیری از دانلود شما میتونی جلوی پخش رو اینطور بگیری که لینک ویدیو رو مثل Netflix اینطوری کنی:

<video src="blob:https://www.netflix.com/6403bdd0-9ee4-492e-b343-6e58b00bf9d6" style=""></video>

یعنی به صورت BLOB قرار بدی. اینطوری سخت تر میشه.

در آخر اینکه این کار فقط کار رو سخت می کنه چون کسی که بخواد دانلود کنه می تونه. مخصوصا برنامه نویسها

۱۵ اردیبهشت، ۱۳۹۹

۴ هفته پیش ١۰۰+ امتیاز
@amir به گفتگوی طراحی اختصاصی بخش توکن های لاراول جواب داد.

ممنون از آقا امیرحسن ❤ (@amir) بابت زحمات و خدماتی که برای دوست داران و برنامه نویسان وب انجام دادند

@persiancat سلام مرسی از شما

۱۱ اردیبهشت، ۱۳۹۹

١ ماه پیش ١۰۰+ امتیاز
@amir به گفتگوی چطوری پی اچ پی رو از اول قدم به قدم یاد بگیرم؟ جواب داد.

همه ی آموزش ها رو من تو پارس کلیک دادم شما می تونی قدم به قدم یاد بگیری بری جلو به جای اینکه همه چیزها رو یه دفعه قورت بدی. لازمه بدونی برنامه نویسی اینطور نیست که شما زبانی رو الآن یاد بگیری بعد بگی تموم شد.

یکی از شرایط یک برنامه نویس بروز بودن هست. یادت نره.

شما میتونی:

  • PHP
  • MySQL
  • JavaScript
  • HTML
  • CSS

رو یاد بگیری و توش بروز بمونی، لازم نیست MongoDB و Ruby رو یاد بگیری، فکر می کنم شما مسیرت رو هم گم کردی خوب هست اول مسیرت رو پیدا کنی و این درس می تونه کمکت کنه.

۱۰ اردیبهشت، ۱۳۹۹

١ ماه پیش ١۰۰+ امتیاز
@amir به گفتگوی آموزش حذف رکورد در لاراول جواب داد.

جواب رو پیدا کردی؟

// اولین روش برای حذف رکورد تنها
$model->delete();

// دومین روش برای حذف چند رکورد با هم
Model::destroy([1, 2, 3, 4]); // ۱، ۲، ۳، ۴ آی دی ها هستند

١ ماه پیش ١۰۰+ امتیاز
@amir به گفتگوی اجازه ی دانلود از یوتوب و استفاده ی شخصی از ویدیوهاتون جواب داد.

@mohammadbohluli همه جا همین هست. بعضی ها حتی اون هایی که من باهاشون مصاحبه می کنم هیچی حالیشون نیست خودت نگاه کن، فقط دارن نقش بازی می کنن.

@aamir دیدید؟ این یکی از دلایلی هست که به این زرین پال و پیمنت ۲۴ نمیشه اطمینان کرد!

۸ اردیبهشت، ۱۳۹۹

١ ماه پیش ١۰۰+ امتیاز
@amir به گفتگوی آموزش حذف رکورد در لاراول جواب داد.

چرا پیدا نمی کنی؟ حتما درس های لاراول رو کامل نگاه نکردی؟

مبحث Soft Delete در لاراول

https://laravel.com/docs/7.x/eloquent#deleting-models

۵ اردیبهشت، ۱۳۹۹

١ ماه پیش ١۰۰+ امتیاز
@amir به گفتگوی بهترین نرم افزار برگزاری جلسه دونفره جواب داد.

  • Google Meet
  • Hangout
  • Zoom
  • whereby
  • FaceTime
  • Skype for business
  • Slack

۴ اردیبهشت، ۱۳۹۹

١ ماه پیش ١۰۰+ امتیاز
@amir به گفتگوی تاثیر ریاضی در برنامه نویسی جواب داد.

@amirsam الان شما ۵۰۰ تا تجربه داری امتحان کن.

۳ اردیبهشت، ۱۳۹۹

١ ماه پیش ١۰۰+ امتیاز
@amir به گفتگوی نظرتون راجب ثبات #C جواب داد.

نه اشتباه نمی کنی حرفت درسته. دوستان نظری ندارن؟

۱ اردیبهشت، ۱۳۹۹

١ ماه پیش ١۰۰+ امتیاز
@amir به گفتگوی سطح یادگیری پایتون جواب داد.

@amiryasinsafavifar تو قسمت ویدیوها قسمت فایل ها همه اونجاست.

برای پایتون روی این لینک کلیک کن.

۳۱ فروردین، ۱۳۹۹

١ ماه پیش ١۰۰+ امتیاز
@amir به گفتگوی انتخاب کشور برای مهاجرت؟ جواب داد.

این بحث بی ربط هست ولی من کاری ندارم قفل میشه به خاطر تکراری بودن چون اینجا قبلا سوال پرسیده شده

١ ماه پیش ١۰۰+ امتیاز
@amir به گفتگوی معرفی کارآموزی آنلاین؟ جواب داد.

این سوال اینجا شده پس تکراری هست.

١ ماه پیش ١۰۰+ امتیاز
@amir به گفتگوی برگزاری دوره آنلاین؟ جواب داد.

@rubik من سعی می کنم بیشتر در زمینه ی پیشرفته درس درست کنم اما اینجا جواب سوال شما رو درباره ی Workshop ها دادم. که متاسفانه @mobinroshnas جوابشو پاک کرد.

١ ماه پیش ١۰۰+ امتیاز
@amir به گفتگوی معرفی کارآموزی آنلاین؟ جواب داد.

کار آموز خود شما هستی که تمرین بکنی و کد بخونی، پروژه درست کنی و یاد بگیری. معلم خصوصی یا به قول معروف اینجا بهش میگن Workshop خیلی گرون هست.

مثلا برای شرکت در اون ها، که بیشترشون از شما میخوان که بیایید تو کنفرانس هاشون اول شرکت کنید مبلغش چیزی بین ۳۰۰ تا ۱۲۰۰۰ دلار هست برای هر نفر. این برای ویو هست بین ۹۰۰۰ دلار یک روز و ۱۲۰۰۰ دلار دو روز این هم مبلغ بقیش برای ویو مثلا. این هم برای لاراول بین ۳۰۰۰ تا ۷۰۰۰ دلار

Workshop ها ارزون نیستند.

١ ماه پیش ١۰۰+ امتیاز
@amir به گفتگوی تبلیغ در شبکه های اجتماعی برای پارس کلیک؟ جواب داد.

@general اولا این بحث هم تیترش شبکه های اجتماعی هست شما دارید از بحث خارج میشید دوما حالا هر کشوری هر کاری می کنه من کاری ندارم ولی انگلستان خانه ی من هست و من از قوانینش اطاعت می کنم و همونطور که @mobinroshnas گفت تمام دنیا فعلا ایران رو تحریم کرده و بعلاوه من کسی رو در ایران ندارم که بهش اطمینان داشته باشم پول دریافت کنه که بخوام از زرین پال یا غیره استفاده کنم. سیستم داخلی پیچیده نیست بخاطر همین دزد توش زیاده سیستم مالی باید خیلی پیچیده تر از هرچیزی باشه و مو رو از ماست بکشن بیرون که فردا فلانی پول برنداره فرار کنه کانادا.

۳۰ فروردین، ۱۳۹۹

١ ماه پیش ١۰۰+ امتیاز
@amir به گفتگوی انتخاب بک اند مناسب جواب داد.

لاراول، جنگو، الیکسر و جاوا...

١ ماه پیش ١۰۰+ امتیاز
@amir به گفتگوی برگزاری دوره آنلاین؟ جواب داد.

چطور دوره ای رو منظورتون هست؟

١ ماه پیش ١۰۰+ امتیاز
@amir به گفتگوی برگزاری دوره آنلاین؟ جواب داد.

@mobinroshnas درستش کردم. ممنون از گزارشت.

١ ماه پیش ١۰۰+ امتیاز
@amir به گفتگوی برگزاری دوره آنلاین؟ جواب داد.

@mobinroshnas مرسی الآن بررسی می کنم

۲۹ فروردین، ۱۳۹۹

١ ماه پیش ١۰۰+ امتیاز
@amir به گفتگوی تبلیغ در شبکه های اجتماعی برای پارس کلیک؟ جواب داد.

@farzad مرسی از شما اما تبلیغ خیلی زمانبر هست و من تنها کارم ویدیو درست کردن نیست و احتیاج به کمک شما دارم.

@general قبلا به اینکه چرا نمی کنم جواب دادم. ما اجازه آوردن پول از ایران رو نداریم، سیستم اطلاعاتی و بانکی اینجا خیلی پیشرفته هست و این کار باعث درگیری با دادگاه و پلیس میشه و بسته شدن حساب بانکی ما.

١ ماه پیش ١۰۰+ امتیاز
@amir به گفتگوی گیت هاب و PHP جواب داد.

@mohammadreza_3 درست هست.