۲۱ امرداد، ۱۳۹۹

۱۲ امرداد، ۱۳۹۹

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

ایشون دوره رو خریده بعد واسه فروش گذاشته؟ عجب بابا!

۱۰ امرداد، ۱۳۹۹

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

شما تو قسمت کارها این رو مطرح کنید چون ربطی به انجمن نداره چون سوال نکردید.

۸ امرداد، ۱۳۹۹

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

پرسش و پاسخ با استاد؟ 🤢 محمد هادی آقاخانی؟ 🤮

فرانش

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

فرانش ۱۰۰ بار به ما ایمیل زده که باهاش همکاری کنیم، همین کارهاش باعث شده من هیچ وقت باهاش همکاری نکنم. تنها اون آموزش نیست بلکه خیلی از آموزش های ما رو گذاشته.

"بررسی میشه" جمله ی بی معنی هست یعنی "برو بابا".

متاسفم واسه اون هایی که میرن این آموزش های رایگان رو از اون پلتفرم کثیف میخرن

۱ امرداد، ۱۳۹۹

٣ هفته پیش ١۰۰+ امتیاز
@amir به گفتگوی multiple page application in vue جواب داد.

اگر درس های NUXT رو که دارم الآن میدم نگاه کرده باشی جواب سوالت اونجاست. ناکست از SSR استفاده میکنه.

درس های ناکست جی اس

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

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

موفق باشی

۳۰ تیر، ۱۳۹۹

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

چی داری از اونها یاد میگیری، برنامه نویسی یا مشتری گرفتن؟

۲۸ تیر، ۱۳۹۹

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

شما کار آموزی؟ داری از اون ها کار یاد میگیری دیگه مگه نه؟ اگر آره پس دو طرفست.

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

@farzad بزودی منتشر میشود

۱۸ تیر، ۱۳۹۹

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

@mahdavi شما میتونی ویدیوهای قسمت ویژه رو نگاه کنی الآن impersonate کردم دیدم شما میتونی.

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

۱۷ تیر، ۱۳۹۹

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

@mahdavi خواهش می کنم.

۱۰ تیر، ۱۳۹۹

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

حتما این کار رو خواهم کرد.

۲ تیر، ۱۳۹۹

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

فکر میکنم به آی پی های ایرانی سرویس نمیده.

@arian آیا این درسته؟

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

این ارور CSRF هست. اگر از API استفاده می کنید باید توسط axios کد CSRF رو بفرستید یا چاره ی دیگش اینجاست VerifyCsrfToken middleware:

<?php

namespace App\Http\Middleware;

use Illuminate\Foundation\Http\Middleware\VerifyCsrfToken as BaseVerifier;

class VerifyCsrfToken extends BaseVerifier
{
    /**
     * The URIs that should be excluded from CSRF verification.
     *
     * @var array
     */
    protected $except = [
        'stripe/*',
    ];
}

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

@babanejad نه هیچ محدودیتی ندارید، میتونید یک screenshot برام بفرستید؟

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

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

مثل اینکه یک نفر رمز API گوگل ما رو دزدیده بود که عوضش کردم.

به هر حال این مشکل حل شد.

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

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

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

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

@reza رضا جان من مشهدی نیستم. منظور شما نیستی. من اسمی از شما اون بالا نبردم.

گو هنوز اینقدر چارچوب هاش بالغ نیست، بیشتر برای بک اند ازشون استفاده میشه. همیشه بحث سر پول هست، ما زبان ها رو برای قشنگیشون یاد نمی گیریم. هر چارچوبی یک عمری داره، مثلا انگولار جی اس، جی کوئری. فریم ورک باید براش کار باشه. اگر کاری براش نباشه عمرت هدر رفته. کوئری نوشتن و مثلا N+1 با تغییر زبان درست نمیشه. به برنامه نویس بستگی داره. این معنیش نیست که برنامه نویس گو بهتر از برنامه نویس پی اچ پی باشه. زبان گو برای کمپانی هایی مثل گوگل که بزرگ هستند معنی پیدا می کنه. باز بستگی داره

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

سرعت اپ بستگی به تعداد کاربر، به قدرت سرور و تعداد درخواست داره. پروسه در کامپیوتر خیلی ارزون هست. برای همین هست که شرکت های بزرگ از C++ استفاده می کنند و برنامه نویسهای خوب استخدام می کنند که مثلا Big O Notation رو بدونند، نه برای اپ های کوچیک.

  • پس بستگی داره کجا می خوای کار کنی
  • چی می خوای درست کنی
  • چقدر می خوای پول دربیاری

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

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

@jserver شما فقط ارور رو گرفتید و return false کردید. این صورت مسئله رو پاک می کنه. ارور اینه:

The resource owner or authorization server denied the request

یعنی صاحب یا سرور، درخواست شما رو رد کرد.

دلیل:

The JWT string must have two dots at Parser.php:95

یعنی string در JWT باید دارای دو نقطه باشه در فایل Parser.php خط ۹۵

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

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

laravel-swoole

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

رضا خان الآن بررسی کردم این مشکل از طرف گوگل هست

Error 403 The request cannot be completed because you have exceeded your quota: quotaExceeded

چند روز پیش یوتیوب به من ایمیل داد نوشته بود من از API اونها در سایتم خیلی درخواست میفرستم و اونها تعداد این درخواست ها رو محدود کردند. من هم برداشتم تمام این درخواست ها رو cache کردم. متاسفانه فعلا در حال بررسی راه حلی برای این مشکل و مذاکره با یوتیوب هستم.

مرسی از صبر شما

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

شما یا پکیجی که دانلود کردید الگوریتم رو اشتباه نوشتید و کامپیوتر نمی تونه handle کنه.

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

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

بعضی از برنامه نویس ها فکر می کنند چون راست یا گو یاد گرفتن الآن پادشاه برنامه نویسی شدند. چی درست کردید یا چقدر با این زبون ها پول در آوردید اینا مهم هستند. (مثل خلبان بدون پرواز و هواپیما)

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

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

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

@reza اما بنابر این

Scala source code is intended to be compiled to Java bytecode, so that the resulting executable code runs on a Java virtual machine.

اسکالا به جاوا کمپایل میشه و منظور من همین بود.

نکته ی بعد که شما گفتی

به عنوان مثال برای distributed transaction ، جاوا خداتا راه حل واسش داره ، برای پیاده سازی service registry و چیزای دیگه جاوا گولنگ ، ابزارهای خوبی دارن ، چیزایی که پی اچ پی به شدت توش کمبود داره .

پی اچ پی برای همه چیز راه حل داره و برای distributed transaction در پی اچ پی اینجا مراجعه کنید. برای

برای تراکنش های سنگین دیتابیس و مدیریت بالک ها

ما Eloquent رو تو لاراول و پی اچ پی داریم.

(به عنوان مثال ممکنه یه thread مسئول دریافت رزرو ها باشه و یه thread مسئول سرچ کردن تاکسی های نزدیک و ...) باشه و thread ها بخوان مثل مکانیزم ipc بین همدیگه دیتا رد و بدل کنن که هیچ کدوم اینها با php شدنی نیست

اینجا بحث پی اچ پی نیست بحث load balancing و سرور شما هم هست و این ها همه با پی اچ پی اجرا شدنی هست.

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

اطلاعیه‌ی جدید اپل به‌تشریح روند برگزاری کنفرانس WWDC 2020 می‌پردازد. براساس این اطلاعیه، نطق اصلی WWDC دوم تیرماه ساعت ۲۱:۳۰ به‌وقت تهران برگزار می‌شود. در رویداد WWDC 2020 مانند سال‌های گذشته باید توقع معرفی نسخه جدید سیستم عامل iOS و سیستم‌عامل مک را داشته باشیم.

اپل همچنین در اطلاعیه‌ی جدید خود به‌تشریح برخی برنامه‌هایش برای برگزاری WWDC 2020 پرداخته است. WWDC امسال در قالب برنامه‌هایی متنوع از ۲۲ تا ۲۶ ژوئن ۲۰۲۰ (۲ تا ۶ تیر ۱۳۹۹) برگزار می‌شود. اپل جزئیات کامل مباحثی را که می‌خواهد در جریان برگزاری نطق اصلی اعلام کند با رسانه‌ها در میان نگذاشته است.

Apple WWDC 2020

در بخشی از اطلاعیه‌ی اپل برای نطق اصلی WWDC می‌خوانیم: «نوآوری‌های هیجان‌انگیز جدید و به‌روزرسانی‌هایی را که قرار است طی سال جاری میلادی برای تمامی پلتفرم‌های اپل دردسترس قرار گیرند، کشف کنید». از مدت‌‌ها پیش رسانه‌های مختلف به‌نقل از منابعی آگاه به‌تشریح جزئیات نطق اصلی WWDC پرداخته‌اند که البته بسیاری از اطلاعات فاش‌شده قابل‌پیش‌بینی بودند. اپل به‌طور معمول در WWDC تمرکزی ویژه روی نرم‌افزار دارد و نسخه‌ی جدید سیستم‌های عامل خود را برای پتلفرم‌های مختلف معرفی می‌کند.

بنابراین به‌احتمال بسیار زیاد نسخه‌ی جدید iOS و macOS و tvOS و watchOS در کنفرانس جهانی توسعه‌دهندگان ۲۰۲۰ معرفی خواهند شد. به‌لطف شایعه‌ها، با برخی از قابلیت‌های جدید iOS 14 آشنا هستیم. افشای اطلاعات این سیستم‌عامل در ابتدا برای‌مان عجیب بود، اما مشخص شد که نسخه‌ی اولیه‌ی iOS 14 از چند ماه پیش دردسترس برخی افراد متخصص قرار داشت. یکی از موردانتظارترین اخبار نطق اصلی WWDC بدون شک به معماری آرم مربوط است.

از قرار معلوم اپل قصد دارد در جریان WWDC به‌صورت رسمی مهاجرت از پردازنده‌های اینتل به آرم را برای خانواده‌ی مک اعلام کند؛ تصمیمی که تا حد زیادی منطقی به‌نظر می‌رسد. گفته می‌شود اپل از مدت‌ها پیش کار روی حداقل سه تراشه‌ی آرم برای مک را آغاز کرده است که همگی آن‌ها برپایه‌ی تراشه‌ی A14 ساخته خواهند شد (A14 نام احتمالی تراشه‌ی گوشی‌های خانواده‌ی آیفون ۱۲ است). اپل می‌گوید امکان مشاهده‌ی نطق اصلی WWDC ازطریق وب‌سایت رسمی این شرکت، اپلیکیشن و وب‌سایت Apple Developer، اپلیکیشن Apple TV و یوتیوب برای علاقه‌مندان فراهم خواهد شد.

اپل همواره روز اول همایش را در چندین بخش برگزار می‌کند. یکی از بخش‌های این همایش موسوم به Platforms State of the Union به‌تشریح اخبار و به‌روزرسانی‌هایی اختصاص دارد که در جریان نطق اصلی به آن‌ها اشاره شده بود. این مراسم همچنین روی تشریح جزئیات ابزارهای جدید مخصوص توسعه‌دهندگان تمرکزی ویژه دارد. طبق اعلام اپل، Platforms State of the Union برای برگزاری در روز ۳ تیر ساعت ۱:۳۰ به‌وقت تهران برنامه‌ریزی شده است. البته مشاهده‌ی این مراسم تنها ازطریق اپلیکیشن و وب‌سایت Apple Developer امکان‌پذیر خواهد بود.

اپل از بازطراحی انجمن‌های توسعه‌دهندگان خبر می‌دهد. این انجمن‌ها برای آغازبه‌کار در ۱۸ ژوئن ۲۰۲۰ (۲۹ خرداد ۱۳۹۹) برنامه‌ریزی شده‌اند. بیش از ۱۰۰۰ مهندس اپل قرار است در انجمن‌های آنلاین موردبحث حضور پیدا کنند. WWDC از ۳۳ سال پیش تاکنون به‌صورت حضوری برگزار می‌شود، اما دنیاگیری ویروس کرونا WWDC 2020 را به‌فرم آنلاین درآورد. در جریان برگزاری WWDC به‌طور معمول توسعه‌دهندگان به‌ گفت‌و‌گوی مستقیم با مهندسان اپل مشغول می‌شوند. اپل ازطریق انجمن‌های آنلاین قصد دارد نبود مراسم حضوری را جبران کند تا مردم بتوانند به‌شکل آنلاین به گفت‌و‌گو با مهندسین این شرکت بپردازند. البته برای ارسال مطلب در انجمن‌های اپل باید حتما عضو سرویس Apple Developer Program باشید.

اپل می‌گوید از روز ۲۳ ژوئن ۲۰۲۰ (۳ تیر ۱۳۹۹) به‌بعد قصد دارد بیش از ۱۰۰ جلسه‌ی متنوع را با حضور مهندسان خود برگزار کند. ویدئوهای مربوط به این جلسه‌ها ساعت ۲۱:۳۰ هرشب به‌وقت تهران روی وب‌سایت اپل بارگذاری خواهند شد. توسعه‌دهندگان ازطریق وب‌سایت اپل خواهند توانست درخواست برگزاری جلسه‌های دونفره را با مهندسان این شرکت ثبت کنند.

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

@reza درسته رضا جان اسکالا زبان برنامه نویسی هست.

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

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

ادامه در اینجا save کردن در جاوا

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

راه دوم:

final JFileChooser fc = new JFileChooser();
int returnVal = fc.showSaveDialog(aComponent); //parent component to JFileChooser
if (returnVal == JFileChooser.APPROVE_OPTION) { //OK button pressed by user
        File file = fc.getSelectedFile(); //get File selected by user
        o = new BufferedWriter(new FileWriter(file)); //use its name

        ...
        //your writing code goes here
}

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

بهتر شد:

اول

File dir = null;
JFileChooser fc = new JFileChooser();
fc.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
int resp = fc.showOpenDialog(null);
if (resp == JFileChooser.APPROVE_OPTION) {
    dir = fc.getSelectedFile();
}

دوم:

 File file = new File(dir, "my-file.txt");
    FileWriter fw = null;
    try {
        fw = new FileWriter(file);
        fw.write("my first line\r\n");
        fw.write("my second line");
        fw.flush();
    } catch (IOException ex) {
        ex.printStackTrace();
    } finally {
        if(fw != null) {
            try {
                fw.close();
            } catch (IOException ex) {
            }
        }
    }

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

@ahmadi چشم اون رو هم میگذاریم. مثل اینکه شما همشو خوندی، آیا دیدی که نوشته: ؟

نباید خیلی عمومی، گنگ، تکراری و بی ربط باشد.

شما تو مثلا stackoverflow همین سوال رو کن ببین چند تا امتیاز منفی می گیری. چرا؟ چون سوالات برنامه نویسی تخصصی هست نه اینکه مثلا سوال بشه "می خوام وب سایت درست کنم اما نمیشه". ۸۰٪ سوالات انجمن به هیچ دردی برای کسی که بعدا میاد سر میزنه به انجمن نمیشه. شما سوال خودت رو از دید یه نفر که هیچی نمیدونه و هیچ کدی نمیبینه نگاه کن ببین چیزی می فهمی؟

این یکی دیگه از سوال شماست:

نوشتن یک متن در جاوا

شما جای ما بودی به این چه جوابی میدادی؟ می خوام بدونم.

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

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

سوال شما خیلی عمومی هست و ما مشق حل نمی کنیم. تا نمونه کد نبینیم سوال شما بدون جواب ممکن هست بمونه!

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

@arian متاسفانه کاری از دست من برنمیاد، سرویس آی پی ها رو ممکن هست فیلتر کرده باشه وگرنه کاملا کار می کنه. شما می تونی input رو خالی سرچ کنی و بری به یک صفحه ی دیگه و اونجا جستجو کنی.

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

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

فکر می کنم منظورت Abstract هست.

انتزاع داده ها فرایند پنهان کردن جزئیات خاص و نمایش فقط اطلاعات ضروری به کاربر است.

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

abstract کلمه کلیدی یک اصلاح عدم دسترسی، مورد استفاده برای کلاس ها و روش است:

کلاس چکیده: یک کلاس محدود است که نمی تواند برای ایجاد اشیاء استفاده شود (برای دسترسی به آن ، باید از یک طبقه دیگر به ارث برده شود).

روش چکیده: فقط در یک کلاس انتزاعی قابل استفاده است و بدن ندارد. بدن توسط زیر کلاس (از ارث) تهیه شده است. یک کلاس انتزاعی می تواند هر دو روش انتزاعی و منظم داشته باشد:

abstract class Animal {
  public abstract void animalSound();
  public void sleep() {
    System.out.println("Zzz");
  }
}

اگر از Abstract مثل بالا استفاده کنید، کد پایین باعث ارور میشه:

Animal myObj = new Animal(); // will generate an error

تقریبا هیچ وقت از نه از Abstract استفاده کردم و نه خوشم اومده!

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

متاسفانه راهی فعلا از دست من بر نمیاد اما سعی می کنم ویدیوهای رایگان رو بیشتر کنم. پشنهاد امین جالب بود اما متاسفانه باعث اسپم در سایت میشه و برای ما درآمدی نداره. خیلی ممنون از نظر شما.

@arian قبلا به سوال شما جواب دادم یه سرچ کنید پیدا می کنید.

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

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

تکراری

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

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

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

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

من میگم جاوا اسکریپت، جاوا، پایتون و پی اچ پی.

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

٢ ماه پیش ١۰۰+ امتیاز
@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 به گفتگوی پروژه رایگان جواب داد.

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