• @amir ممنون امیر جان حتما فقط دارم یکمی مطالعه می کنم در مورد ساختار گوگل و سیستم auth بعد استارت ویدیو رو در این بخش بزنم. یک نکته ای رو خدمت شما و عزیزان بگم چون ساختار الکسیر شدیدا برای ساخت وب سرویس ها درست شده یعنی اتصال کلاینت های خارجی به بکند که با الکسیر نوشته شده است در هسته به صورت کامل امکانات خوبی برای ساخت وب سرویس مخصوصا در فریم ورک فونیکس نهفته است که سرعت ساخت نمایش ارور کنترل endpoint ها همه و همه رو بالا می بره. چندی پیش کتابخانه ای به نام Jason منتشر شد از یکی از فورکر های اصلی الکسیر که ۳۰ درصد سرعت رندر json و چه تبدیل چه خواندن رو بالا برده و در نسخه جدید فونیکس نیز استفاده شده .

  • درود @amir جان قبل از همه چیز باید خدمتتون بگم بنده در زبان هایی که کار می کنم هیچ وقت خیلی عمیق نمی شم بیشتر دنبال کاربردی بودنشون می رم ولی امید وارم در این یک سال نیمی که حدودا ۱۰ پروژه حدودا ۶ ماهه رو زدم , بتونم پاسخ مناسب رو بدم.

    می دونم Phoenix از Ecto استفاده می کنه، کار با migration و فرقش با ORM چیه؟

    میگریشن در فونیکس همون میگریشن در الکسیر هست و خود میگریشن هم همون Ecto هست که تابع دیگرش به عنوان مثال شروع یک فایل میگریشن که همون ساخت فیلد ها و جدال در دیتابیس هست به این صورت می باشد

      use Ecto.Migration

    و خود Ecto هم یک orm هست که برای دیتابیس های رلیشیونال مثل پستگرس و مای اسکول که بیشتر پستگرس دیگه نیاز شما رو کامل مرتفع می کنه ولی دسترسی می زاره که حتی کد های خام psql رو هم توی Ecto بزنید.

    در Phoenix از queue ها چطور استفاده می شه و آیا اصلا لازم هستند؟

    خیلی از موارد در الکسیر داستانش کامل فرق می کنه به عنوان مثال وقتی ما از صف ها استفاده می کنیم که مثلا نمی تونیم در چندین ترد کار های موازی انجام بدیم که در الکسیر به عنوان مثال خیلی روی Task ها مانور داده شده و همینطور Process ها حتی در مبحث otp که همون سرور های اسیت فول هست مثلا شرکت ماشین سازی رو در نظر بگیرید کار های باید پشت هم انجام بشه که اومده چیزی به نام جن استیج ساخته و این ماژول کار رو برای شما انجام می شه ولی کتابخونه های زیادی هست که اگر به صف نیاز دارید کار شما رو انجام می ده پشت هم مثلا exq یکی از اون موارد هست

    Channel ها چی هستند آیا از websockets استفاده می کنند؟

    بله همون وب سکوت هست که در الکسیر با کد های js و خود الکسیر نوشته می شه برای سایت های ریل تایم و همینطور وب سرویس های ریل تایم. لازم به ذکر هست در هفته های آخیر برای سایت با رندر html کتابخانه جدیدی اومده که نیاز شما برای ساخت وب سایت ریل تایم فقط در رندر html کامل به js رو مرتفع می کنه یعنی شما دیگه نیازی به استفاده از js ندارید و کلا الکسیر می زنید و خیلی زیباست اسمش liveview هست هم اکنون در نسخه بتا می باشد و خیلی شرین و ساده است

    آیا در Phoenix احتیاجی به Event و Listener ها هست؟ اگر بله چطوری استفاده می شه؟

    اگر در مبحث ریل تایم منظورتون هست تابع های مخصوص به خودشون دارند و ساده هستند به عنوان مثال در چنل نویسی زیاد هستند که برخی از کار هاشون با js در خود فونیکس و برخی هاشون با خود توابع الکسیر انجام می شند. که در https://github.com/phoenixframework/phoenix_live_view کلا نیازی به js نیست

    Cashing و Hashing چطوری هست؟

    امیر جان این مورد خیلی کلی فرمودید در چه بحثی نیاز هست اگر در مورد پسورد هاست که باید بگم کتابخانه های بسیار بسیار حرفه ای وجود داره با جامعه توسعه دهندگان که اون رو خیلی حرفه ای توسعه می دهند و رایگان ولی در مبحث کش باید بگم اگر منظور شما کش داده هاست که بخاطر استیت فول بودن و مباحثی مثل otp شما هم می تونید با استفاده از خود الکسیر مباحثی مثل جن سرور یا ایجنت ها روی رم ذخیره کنید اگر نه می تونید از ردیس استفاده کنید . نکته : برخی از دیتابیس های سریع هم ساپورت می شه برای این کار که کتابخانه هست و ماژول هاش آماده استفاده می باشد

    فرستادن ایمیل و notification چطوری هست؟

    من برای ارسال ایمیل از یکی از کتابخانه ها به نام بامبو استفاده می کنم عالیه خیلی منعطف هست و پنل تست داره به صورت گرافیکی ولی برای ارسال نتیفیکیشن ها می تونید از چنل یا از لایو ویو استفاده کنیدکه خیلی سریع و خوش ساخت هستند اگر دوستان js کار می کنند می دونند که بعد از دو روز کدنوشتن js مثل یک آشغال همه جا پخش می شه ودیگه نمی شه کنترل کرد این مشکلات همه رفع شده مخصوصا با لایو ویو

    آیا در Phoenix قابلیت استفاده از cron jobs در فریم ورک وجود دارد؟

    بله هست کتابخانه برای الکسیر زیاد می باشد و با قدرت زیاد ولی شما می تونید با خود الکسیر مثلا استفاده از همون جن سرور که مبحث otp هست برید جلو و به صورت استیت فول کار کنید

    دیتابیس ریلیشن شیپ ها رو از کجا در doc میشه پیدا کرد؟

    کافیه در هر جستجوی گوگل بنویسید ecto داکیومنتش می یاد بالا تمامی کتابخانه های الکسیر یا ماژول ها چه ساخته شده به وسیله گروه اصلی چه دیگر توسعه دهندگان در لینک https://hexdocs.pm می باشد که در وب سایت hex.pm شما وقتی کتابخانه ای رو سرچ می زنید می تونید اونجا لینک داکیومنتشو ببنید.

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

    امیر جان شما یک موردی رو خیلی نام بردید و اونم فونیکس هست . بنده هم همه رو با نام الکسیر نام بردم تمام پکیج های موجود در الکسیر به صورت ماژول و مستقل می باشد به همین ترتیب فونیکس یک پروژه الکسیر می باشد که پکیج هایی رو که گروه فونیکس نوشتن دیفالت در خودش داره پس ما کلا اینجا با بحث زبان کار داریم یعنی به عنوان مثال php و elixir که بازم تقریبا قابل مقایسه نیستند. شما در الکسیر کنترل خطا دارید مباحث سوپر وایزر دارید کار با ترد های cpu دارید چیز هایی که به سادگی با یک یا دو کلمه انجام می شه که در php خبری ازشون نیست این تخریب php نیست بلکه زبان الکسیر زبان مدرن تری می باشد و همینطور باید بگم که الکسیر بخاطر اینکه کامپایلری هست مطمئنن سرعت چندین برابر بیشتری دارد به عنوان مثال همین بحث ریل تایم بودنش رو مثال بزنیم ۱۰ برابر ری اکت یا انگولار تقریبا سریع تر می باشد

    پارادایم های فکری فانکشیونال و همینطور بحث بسیار جالب otp در الکسیر بحث هایی هستند که باید مقایسه بشند فونیکس فقط یک ابزار کوچکی هست که مشتق شده از چندینماژول جداگانه. به عنوان مثال نگاه کنید در یک رم ۱۶ چی تست کردند https://phoenixframework.org/blog/the-road-to-2-million-websocket-connections

    آیا این چنین چیزی در php نمی شود ؟ بله که می شود ولی هزینه اون چقدره زمان اون چقدره چقدر باید کار بشه ؟ و ... یعنی از نظر شخصی من با c هم می شه خیلی کار کرد ولی آیا زبان rust بی دلیل درست شده؟!!

    یک موردی رو فرمودید که آیا در فریم ورک وجود داره یا خیر!! باید بگم که در الکسیر و یا کلا زبان های فانکشیونال یک جوری برنامه نویسا سعی می کنند خیلی پکیج رو خالص بنویسند که اصلا بحث پیورفانکشن خیلی مطرح هست به همین منظور فقط بیس کار مدنظره بقیه موارد یک ماژول مستقل می شه که نصبش خیلی ساده و خیلی با سرعت هست حتی کمتر از روبی دردسر داره یعنی کلا درسر نداره :D به همین منظور همه مواردی که شما فرمودید با سرعت توسعه بسیار بالا و کامیونیتی بسیار بزرگ از قبل در hex.pm موجود هست

    به عنوان مثال در یک پروژه ام من چنین کتابخانه هایی رو استفاده کردم

          {:phoenix, "~> 1.4.0"},
          {:phoenix_pubsub, "~> 1.1"},
          {:phoenix_ecto, "~> 4.0"},
          {:ecto_sql, "~> 3.0"},
          {:postgrex, ">= 0.0.0"},
          {:phoenix_html, "~> 2.11"},
          {:phoenix_live_reload, "~> 1.2", only: :dev},
          {:gettext, "~> 0.11"},
          {:jason, "~> 1.1"},
          {:plug_cowboy, "~> 2.0"},
          {:httpoison, "~> 1.5"},
          {:scrivener_ecto, "~> 2.2"},
          {:jalaali, "~> 0.3"},
          {:jose, "~> 1.9"},
          {:guardian, "~> 1.2"},
          {:comeonin, "~> 5.1"},
          {:bcrypt_elixir, "~> 2.0"}

    مثلا از آخر توضیح بدم دوتای آخر مربوط به رمزنگاری پسورد هاست گاردین بر اساس jwt توکن می سازه و دسترسی های زیبایی رو درست می کنه و موارد دیگه که با سرچشون در hex.pm میشه فهمید کارشون چطور هست

    نمونه مایگریشن

    defmodule Bank.Repo.Migrations.BlogCategories do
      use Ecto.Migration
      @disable_ddl_transaction true
    
      def change do
        create table(:blog_categories, primary_key: false) do
          add :id, :uuid, primary_key: true
    
          add :title, :string, size: 150, null: false
          add :short_description, :string, size: 164, null: false
          add :description, :text,  null: false
          add :image, :string, size: 200, null: false
          add :seo_alias_link, :string, size: 200, null: false
          add :seo_words, :string, size: 150, null: false
          add :seo_description, :string, size: 164, null: false
          add :status, :boolean, null: false
    
          timestamps()
        end
    
        create(
          index(:blog_categories, [:seo_alias_link],
            # concurrently: true,
            name: :unique_index_on_blog_categories_alias_link,
            unique: true
          )
        )
      end
    end

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

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

    به روز رسانی

    نمونه ای از یک فایل schema و چین ست خیلی با معرفت در Ecto که وقتی ببنیدش و کار کنید عاشقش می شید

    defmodule Bank.Users.UserSchema do
      use Ecto.Schema
    
      import Ecto.Changeset
      @primary_key {:id, :binary_id, autogenerate: true}
      @foreign_key_type :binary_id
    
      schema "users" do
    
        field :name, :string, size: 20, null: false
        field :last_name, :string, size: 20, null: false
        field :mobile, :string, size: 20, null: false
        field :password_hash, :string, null: false
        field :password, :string, virtual: true
        field :status, :integer, size: 1, null: false
        field :role, :integer, size: 1, null: false
    
        timestamps()
      end
    
      def changeset(struct, params \\ %{}) do
        struct
        |> cast(params, [:name, :last_name, :mobile, :password_hash, :password, :status, :role])
        |> validate_required([:name, :last_name, :mobile, :password, :status, :role], message: "فیلد مذکور نمی تواند خالی باشد.")
        |> validate_length(:name, min: 3, max: 20, message: "نام شما باید بین ۳ الی ۲۰ کاراکتر باشد.")
        |> validate_length(:last_name, min: 3, max: 20, message: "نام خانوادگی شما باید بین ۳ الی ۲۰ کارکتر باشد.")
        |> validate_length(:password, min: 8, max: 200, message: "پسورد شما باید حداقل ۸ کاراکتر باشد و حداکثر ۲۰۰ لطفا پسورد مناسبی انتخاب کنید.")
        |> validate_length(:mobile, min: 11, max: 20, message: "نام کاربری شما باید بین ۳ الی ۲۰ کارکتر باشد.")
        |> validate_inclusion(:status, 1..10)
        |> unique_constraint(:mobile, name: :unique_index_on_users_mobile, message: "نام کاربری وارد شده از قبل وجود دارد.")
        |> hash_password
      end
    
      def change_password_changeset(struct, params \\ %{}) do
        struct
        |> cast(params, [:password])
        |> validate_required([:password], message: "متاسفانه پارامتر پسورد وارد نشده است.")
        |> validate_length(:password, min: 8, max: 100, message: "پسورد شما باید حداقل ۸ کاراکتر باشد و حداکثر ۲۰۰ لطفا پسورد مناسبی انتخاب کنید.")
        |> hash_password
      end
    
      defp hash_password(changeset) do
        case changeset do
          %Ecto.Changeset{valid?: true, changes: %{password: password}} ->
            put_change(changeset, :password_hash, Bcrypt.hash_pwd_salt(password))
          _ -> changeset
        end
      end
      # Bcrypt.verify_pass "ORIGINAL PASS", HASHPASS
    end
    
  • @amir درود امیر جان بهترین منبع کتاب های فوق العاده وب سایت http://pragprog.com هست

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

    ۱. این کتاب برای یادگیری الکسیر می باشد https://pragprog.com/book/elixir16/programming-elixir-1-6

    ۲. این کتاب برای بهبود یادگیری فانکشیونال پروگرمینگ و همینطور الکسیر https://pragprog.com/book/cdc-elixir/learn-functional-programming-with-elixir

    ۳. این کتاب برای آموزش فونیکس https://pragprog.com/book/phoenix14/programming-phoenix-1-4

    بنده این کتاب هارو تقریبا هر کدوم رو نصف بیشتر خوندم

    Image

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

    آموزش اول : The Complete Elixir and Phoenix Bootcamp

    https://www.udemy.com/the-complete-elixir-and-phoenix-bootcamp-and-tutorial/ 8

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

    آموزش های ایشون به هیچ عنوان فلسفه اصلی ارلنگ یا الکسیر و پوشش نمی ده . منظور من موارد مربوط به جن سرور و سوپروایزر و در کل کنترل خطا و کلیترش stateful server . متاسفانه افرادی از جمله من ازش پرسیدم ولی جواب نمی ده و یا اینکه جواب بسیار ساده که هنوز خیر . به روز رسانی این آموزش بسیار دیر اومد مخصوصا در زمینه وب سوکت که دقیقا همین ۳ الی ۴ روز پیش به روز رسانی شد . خیلی وقت شما رو در مورد موارد پایه ای طراحی و آنالیز سایت می گیره در صورتی که می تونست بهتر باشه . ولی لحجه خوبی داره برای افرادی که زیادی به انگلیسی مسلط نیستن و در آخر به نظرم آموزش خوبی برای شروع است مخصوصا که در قسمت فونیکس آدم رو زده نمی کنه

    آموزش دوم : Elixir for Beginners https://www.udemy.com/elixir-for-beginners/ 3

    اگر به دنبال آموزشی پروژه محور برای ساخت وب اپ های کوچیک در الکسیر و یادگیری متقابل هستید باید بگم گزینه خوبی نیست . این آموزش فقط برای یادگیری سینتکز های الکسیر هست و تمام . لحجه اون هم طرف های گزینه تلفیقی انگلیسی- روسی هست . :smiley: ولی یک بار به صورت کامل تمام موارد پایه رو تست می کنه و بهتون نشون می ده به نظرم بعد از دیدن ویدیو بالا یا همون ویدیو یک می تونه کمک کننده در سازماندهی کلی ذهن شما باشه .

    آموزش سوم : Elixir : Start programming on best concurrent language

    این آموزش اصلا سرفصل مناسب نداره و من نخریدمش چون در دو آموزش بالا همه موارد این کاملا وجود داره . پس اصلا پیشنهاد نمی شه https://www.udemy.com/learn-elixir-beginner/

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

    https://www.pluralsight.com/

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

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

    در آخر بهترین آموزش برای افرادی که از سطح پایین به متوسط رسیدن https://pragmaticstudio.com/courses/elixir 14

    بسیار پشتیبان های با فرهنگ و خوشبرخوردی دارند . در این آموزش تمرکز ویژه ای روی الکسیر شده نه فونیکس حتی با توابع ارلنگ اومده و یک وب سرویس ریل تایم ساخته و شدیدا بازم باید بگم OTP در اون نقش بسیار زیادی داره . هرچی بگم کم گفتم اما … باز باید آموزش های مبتدی رو در بالا معرفی کردم رو دیده باشید تا بهتون حال بده .

    قیمتش نسبت به سرفصل ها و توضیحات به نظرم حتی کم هم هست چه برسه زیاد و دیگه ارزش پول ما کمه . الانم ۱۰ درصد تخفیف خورده .

    به روز رسانی

    بنده هم امیر جان دیرکرد در آموزش دلیلش فقط تغییر قوانین متاسفانه توییتر بود حدود ۲۰ ویدیو من کامل حذف شد به علت اینکه فهمیدم قوانین توییتر تغییر کرده و دیروز دو قسمت جدید شروع فصل دوم رو رکورد کردم ما بقی رو به مرور می رم جلو امید وارم به کار کاربران عزیز بیاد

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

  • ١ ماه پیش @shahryarjb یک بحث به اسم شروع رکورد فصل دوم آموزش الکسیر درست کرد.

    با درود خدمت دوستان گرامی همانطور که می دانید چندی پیش ما آموزش الکسیر را در پارس کلیک منتشر کردیم. فصل اول این آموزش بیشتر به پایه این زبان و همینطور شبهه پروژه ها پرداخته است و همینطور دارای ۲۰ ویدیو می باشد. در فصل دوم هدف ما کار با یک وب سرویس خارجی می باشد. در اوایل تصمیم بر ساخت یک اپلیکیشن خوب برای توییتر را داشتم ولی متاسفانه قوانین توییتر برای api بسیار سختگیرانه شده است . برای بنده مشکلی به وجود نمی آمد چون از قبل در توییتر اپ ساخته بودم ولی کاربرانی که می خواستند این آموزش ها را جلو ببرند دچار مشکل می شده اند. به همین منظور من وب سرویس دیگری را در نظر گرفتم که نسبت به توییتر نکات بیشتری دارد و همینطور همین امر باعث طولانی شدن آموزش ها نیز می گردد. ( البته اگر به مشکل بخورد نکنم)

    وب سرویس خارجی انتخاب شده گوگل درایو می باشد از چند نظر کلی جالب توجه است:

    • شما با وب سرویس خارجی کار خواهید کرد
    • شما مجبور به استفاده از پلاگین های اتصال به گوگل می شوید
    • کمی با ساختار اتصال گوگل آشنا می شوید
    • ارسال درخواست و دریافت را یادخواهید گرفت
    • کار با فایل را یاد خواهید گرفت
    • بکگراند جاب ها را یاد خواهید گرفت
    • کار با دیتابیس را یادخواهید گرفت

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

    اگر درخواست پیشنهاد یا انتقاد در مورد فصل گذشته یا فصلی در آینده منتشر می شود دارید لطفا در همین پست با بنده در ارتباط باشید

  • ٢ ماه پیش @shahryarjb به بحث پادکست جواب داد.

    @danial_kh در آیتونز + ساند کلاد می تونید نظر بزارید زیر هر کدوم از پادکست ها

  • ٢ ماه پیش @shahryarjb به بحث ویدیو جدید لاراول نوا جواب داد.

    @premier213 ساخت چرخ همیشه خوب نیست برخی مواقع می شه با استفاده از چهارچوب هایی که توسعه دهنده بیشتری دارند کیفیت بهتر سرعت بالاتر امکانات بیشتر رو به مشتری ارائه کرد

  • ٣ ماه پیش @shahryarjb به بحث تجربه کاربری و رابط کاربری جواب داد.

    @qaranjik خیلی از روش های کسب و درامد در اون ها وجود داره

    • اول اینکه اونا بسیار معروف می شند و براشون پروژه می یاد
    • دوم اینکه ممکنه یک پروژه ای در یکی از پروژه هاشون بوده و منتشر شده است
    • سوم اینکه سایت ها و گروه های بزرگ پشتیبانشون می شند و حمایت می کنند

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

    یک مثال کوچک: من یک افزونه کد باز رایگان برای جوملا زدم بیش از 10 هزار بازدید رفته و بیش از 2 هزار بار استفاده اولیه شده!! همین موضوع باعث شده برای من پروژه هایی در زمینه افزونه نویسی جوملا بیاد.

  • درود خدمت شما. موضوعی که شما فرمودید فقط در یک موضوع قرار نمی گیرد, ولی در کل شما باید به لینوکس و کانفیگ سرور آشنا بشوید. به عنوان مثال شما نیاز دارید موارد زیر رو تقریبی بلد باشید.

    1. یادگیری لینوکس تقریبا LPI یک تا کمی بالاتر هرچی بیشتر بهتر
    2. یادگیری یکی از وب سرور ها مثل nginx یا آپاچی یا لایت اسپید
    3. نیاز هست سرویس هایی مدنظرتون هست رو روی سرور پیاده کنید که هرکدوم ممکنه یک شرایط خاص خودش را داشته باشید

    اما:

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

    اما:

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

    https://parsclick.net/lesson/داکر-برای-توسعه

    اگر واقعا می خواهید وارد دنیای مدیریت سرور بشوید اول از لینوکس شروع کنید و یادگیری مناسب اون تا به باقی مطالب برسیم و شما به دنبال آن بروید!!

  • درود خدمت شما . جسارتان ماکروسافت هرجا رفته جنگل هفت تپه رو تبدیل به کویر کرده!!

  • ببنید دوست گرامی من پست شما مجدد باز کردم ولی باز این موارد و پستی که اضافه دادید حذف کردم خودم هنوز راضی نشدم !! چون وب سایت برای api خودش داره پول می گیره و شما می خواهید دور بزنیدش . وقتی وب سایت برای هر درخواستش داره کد کپچارو چک می کنه چطور می خواهید دورش بزنید ؟مشخص نیست حتی ممکن هست در صفحاتی که درخواست post ارسال می شه کد csrf هم چک بشه اونو چطور می خواهید دور بزنید ؟ اگر بخواهید از html این سایت بخونید و دوم کنید با یک تغییر در قالب اپلیکیشن شما منهدم بشه اونو می خواهید چیکارش کنید ؟

  • بهترین کد های موجود فرار از کپچای گوگل فقط تونسته ۹۰ درصد کمتر راه فرار پیدا کنه !! ولی اگر کد کپچا رو خودشون ساختن باز راهی برای فرار ازش وجود داره ولی به نظرم این کار کار مناسبی نیست اگر سایت سازنده داره می فروشه و کسب درامد می کنه ازش!!

    به نظرم این پست دیگه بار علمی نداره!!

    شما اگر هر راهی پیدا کنید بازم بخاطر اینکه دسترسی اصولی ندارید دچار مشکل می شید بهتر است اصل مسئله را حل کنید نه پاک

    با اجازه دوستان پست رو می بندم

  • @woohee سایتی که می خواهید چنین مواردی رو روی آن پیاده کنید آیا نیاز به لاگین نیز دارد برای دریافت خدمات !! یعنی بدون لاگین امکان دیدن مواردی که شما می خواهید هست یا خیر؟

  • در واقع بنده خودمم هم php کارم!! و بیشتر فعالیت های مالی من و مشترکین من روی php هستند تا زبان های دیگر!! تغییرات دات نت خیلی کمه توسعه دهندگانش نسبت به نیاز های روز فعالیت مناسبی از خودشون نشون ندادند همه اینا دلایل بسیار خوبی در این زمینه هست که بحث در موردش هزاران بار در گوگل لینک شده. ولی در مورد php با اینکه نسخه 7 اون تغییر اساسی در بحث سرعت داده ولی همه چیز سرعت نیست در کل پارادایم فکری php از نظر من داره خیلی در گذشته می مونم در صورتی در زبان های روز و مدرن دنیا داره تغییراتی اساسی نسبت به اون انجام می گیره. اینکه استک اور فلو یا گیت هاب در حال فعالیتند یا تغییراتشون زیاده از نظر شخصیم دلیل خوبی نیست. به صورت مثال در مورد استک اور فلو باید بگم که در زبان الکسیر بسیار ضعیفه یا در مثلا مبحث کانفیگ سرور با داکر!! ولی هر کدوم از اینا کامیونیتی هایی دارند که واقعا فعالند .

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

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

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

    استفاده از زبان ها بر اساس سلقیه ما نیست بلکه بر اساس نیاز ماست . به عنوان مثال اگر من بخوام یک اسکریپت ساده بسازم شاید از فریم ورک جوملا و php‍ استفاده کنم و اگر بخواهم در زمینه وب سرویس جلو برم حتما از elixir استفاده می کنم و اگر بخوام در زمینه تایپ سیف ها و همینطور بحث مثلا بیگ دیتا برم شاید از اسکالا استفاده کنم . شاید اسکریت کامند لاین بنویسیم که نیاز به مراقبت صد درصد از رم داشته باشه حتما از Rust استفاده کنم!! یعنی می خوام خدمت شما دوست گرامی عرض کنم @m0h314-hasani شما باید بر اساس نیاز پروژه ات جلو بری و ابزار هاتون رو انتخاب کنید با یک زبان در این روز و روزگار همه کار نمی شه کرد و اگر بکنید کیفیت پایین تری خواهید داشت . دلفی باز ها هنوز که هنوزه در همون پارادایم گیر کردن و دلشون خوشه به چهارتا آبدیت در سال می یادو چشمشون رو بستن روی تمام زبان های مدرن و قدرتمند از پدر و مادر بسیار بزرگ لیسپ یا ارلنگ یا ...

  • دات نت که اصلا بحثش جداست و نباید با php مقایسه بشه کلا محصولات ماکروسافتی رو باید در زباله دان نگهداشت. ولی بر اساس تغییر بسیار کم php به نظر می یاد هرچی فریم ورک ها اون فعال باشند, به زودی قادر به دیدن اتمام غیر رسمی عمر php باشیم. زبان های مدرن دارند جایگاه خودشون رو به شدت قوی می کنند و با کامیونتی های بسیار خوبی که ایجاد کردند واقعا دیگه انتخاب بین اونا با زبان قدیمی php خیلی ساده شده.

    زبان هایی مثل elixir , scala, clojure / تایپ سیف ها , کامپایلری ها و پارادایم های لیسپ و ارلنگ

  • درود امیر جان من استفاده نکردم ولی به نظرم حذف نشه بهتره و بهش امکانات داده بشه که مورد استفاده برنامه نویسان باشه به صورت مثال یک مورد بیرون بحث در مورد تقویم ممکنه یک api وجود داشته باشه در سایتی که تمام تعطیلات رو بیاره خوب این موارد استفاده می شه!! بودن حداقلی api به نظرم می تونه بهتر از نبودش باشه

    ممنونم

  • ۴ ماه پیش @shahryarjb به بحث ایجاد چت روم در پارس کلیک جواب داد.

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

  • ۶ ماه پیش @shahryarjb به بحث فراخوانی api لاراول جواب داد.

    @netwons درود . بنده آژاکس کار نیستیم ولی می دونم آژاکس هم به صورت json ارسال می کنم فکر کنم . دقیقا نمی دونم شما چک بفرمایید که آژاکس ارتباطش با باکند به چه صورته اگر مثلا json بود که خیلی خوب شما فقط کافیه به api خودتون بفرستید ولی اگر مثلا post بود به صورت رندر html شما باید در بکند خودتون که js نباشه مثلا ‍php اون رو تبدیل کنید به json و اون رو ارسال فرمایید به api gateway خودتون

  • @rubik درود اگر راهی هم باشه به صورت مستقیم متصل شدن به دیتابیس یعنی خطای امنیتی . بلخره هرچیزی اولین بارش کمی سخته ولی در لاراول فکر کنم کد شما باشه کتابخونه های زیاد و همینطور امکانات زیادی برای ساخت وجود داره شما تاحالا رندرتون html بود الان فقط شده json همین !! یبکمی جستجو می خوادفقط نترسید بلخره مشکلی که پیش اومده و باید از راه درستش حل بشه

  • ۶ ماه پیش @shahryarjb به بحث فراخوانی api لاراول جواب داد.

    @netwons درود خدمت شما . آیا دسترسی به داکیومنت این api دارید ؟ اگر خیر که کارتون خیلی سخت می شه باید با آزمون خطا و مهندسی معکوس این کارو انجام بدید که من در موردش اطلاعات ندارم . شما باید اطلاعات داشته باشید که این وب سرویس چه درخواستی می خواهد و چه پارامتر هایی و چه جوابی پس می دهد . اگر دارید کافیه در پروژه خودتون یک فرم html بسازید و درخواست رو در بکند خودتون بگیرید و post کنید به سرور api مذکور

  • @rubik به صورت کلی شما باید بیایید در دو سرور راه ارتباطی ایجاد کنید . یک سرور که به همراه دیتابیس شما می باشد که می شود ‍api شما ( یعنی شما باید بیایید یک پروژه بسازید که مثلا ورودی json مدنظر شمارو بگیره و پردازش کنه و پاسخ بده ) و در سرور یا کلاینت خودتون که می خواهید به دیتابیس وصل شه و در سرور دیگه یا پلتفرم دیگه ای هست , بایید درخواست http یا دیگر درخواست مثلا به صورت رستفول عمل کنید