LiveView Mastery
LiveView Mastery
  • Видео 27
  • Просмотров 42 741
Deploying a Phoenix Application to Digital Ocean
How to Deploy your Phoenix app to Digital Ocean with Elixir Releases and Docker.
Source code: github.com/or-equals/liveview_mastery/pull/11
---
🔥 I’ve built an expert team at Or Equals that will revitalize your codebase. Use our experience in Elixir and Phoenix LiveView consulting so you can get back to focusing on the business. Schedule a meeting with me, and let’s chat 👉 orequals.com
💻 Pragmatic Studio’s course is the most efficient way to learn Elixir/Phoenix LiveView. Use the course that I use to teach all my apprentices:
➤ Phoenix Liveview Course: pragmaticstudio.com/courses/phoenix-liveview?ref=plicque
➤ Elixir Course: pragmaticstudio.com/courses/elixir?ref=plicque
#liveview #phoenix #el...
Просмотров: 965

Видео

Liveview File Uploads to S3
Просмотров 1,1 тыс.8 месяцев назад
How to add support for LiveView's interactive file uploads, directly uploading to Amazon S3. Links: My Simple S3 Upload and Upload Component: gist.github.com/plicjo/5e5ced381f2b71d69d98b3e48885aacf Official Phoenix Liveview Uploads Guide: hexdocs.pm/phoenix_live_view/uploads.html Setting up Amazon S3: ruclips.net/video/i2JXvgHsV9w/видео.html 🔥 I’ve built an expert team at Or Equals that will re...
Adding images to a Phoenix application
Просмотров 1 тыс.Год назад
How to load images and assets in a phoenix application. 🔥 I’ve built an expert team at Or Equals that will revitalize your codebase. Use our experience in Elixir and Phoenix LiveView consulting so you can get back to focusing on the business. Schedule a meeting with me, and let’s chat 👉 orequals.com 💻 Pragmatic Studio’s course is the most efficient way to learn Elixir/Phoenix LiveView. Use the ...
Simple Strategies for Upgrading Phoenix LiveView
Просмотров 534Год назад
I wanted to make a video going over the strategies I use to upgrade *across* all the upgrades I’ve done. Now, I know we’ve done a video in the past about specific upgrades for Phoenix LiveView. But, pretty much every upgrade in Phoenix LiveView is difficult to perform because it’s pre-release software. So, I figured a general upgrade guide would be useful! 🔥 I’ve built an expert team at Or Equa...
Creating a Toggle Button in LiveView
Просмотров 1,3 тыс.Год назад
Create a toggle button in Phoenix LiveView 🔥 I’ve built an expert team at Or Equals that will revitalize your codebase. Use our experience in Elixir and Phoenix LiveView consulting so you can get back to focusing on the business. Schedule a meeting with me, and let’s chat 👉 orequals.com 💻 Pragmatic Studio’s course is the most efficient way to learn Elixir/Phoenix LiveView. Use the course that I...
Setup Github Actions for Elixir CI/CD
Просмотров 1,1 тыс.Год назад
Github actions is awesome because it automatically runs tests and checks during a pull request for your project; making your project more reliable. Learn how to implement Continuous Integration and Continuous Delivery(CI/CD) with Github Actions in this tutorial. 🔥 I’ve built an expert team at Or Equals that will revitalize your codebase. Use our experience in Elixir and Phoenix LiveView consult...
Building Twitter with Ash + Creator of Ash Framework (Part 2)
Просмотров 4,9 тыс.Год назад
Part 2 of Ash LiveView breakdown: With the creator of Ash Framework, @zach_daniel builds a fully-featured twitter clone, along *with* a working admin panel! Link to the twitter clone source: github.com/zachdaniel/twitter Ash's website: ash-hq.org Ash's twitter: AshFramework Ash's Sponser: alembic.com.au 🔥 I’ve built an expert team at Or Equals that will revitalize your codebase. Use...
Is Ash Framework the Real Deal for Elixir Devs? (Part 1)
Просмотров 8 тыс.Год назад
This is part one of a two-parter I filmed with the creator of Ash Framework @zach_daniel . Link to the twitter clone source: github.com/zachdaniel/twitter Ash's website: ash-hq.org Ash's twitter: AshFramework Ash's Sponser: alembic.com.au 🔥 I’ve built an expert team at Or Equals that will revitalize your codebase. Use our experience in Elixir and Phoenix LiveView consulting so you c...
How to upgrade from Phoenix 1.6 to 1.7
Просмотров 1,7 тыс.Год назад
The journey to upgrade Phoenix to version 1.6 to 1.7 is a difficult one; especially since the upgrade guide is incomplete. I made a quick tutorial on this upgrade to alleviate some of the short-comings of the official guide. 🔥 I’ve built an expert team at Or Equals that will revitalize your codebase. Use our experience in Elixir and Phoenix LiveView consulting so you can get back to focusing on...
How to: Easy Caching in Elixir
Просмотров 1,1 тыс.Год назад
We are going over an easy technique to introduce a bit of state in Elixir by caching with an Agent. 🔥 I’ve built an expert team at Or Equals that will revitalize your codebase. Use our experience in Elixir and Phoenix LiveView consulting so you can get back to focusing on the business. Schedule a meeting with me, and let’s chat 👉 orequals.com 💻 Pragmatic Studio’s course is the most efficient wa...
GraphQL vs REST for Elixir Devs
Просмотров 1,9 тыс.Год назад
In this episode of Software Sophistication: - Is LiveView a stable ecosystem? - What is the best approach for GraphQL vs other APIs, like REST, when you have LiveView code? - What’s the best way to integrate the Ash Framework with Phoenix? - Is there a way to implement dynamic events with no JS in LiveView? 🔥 I’ve built an expert team at Or Equals that will revitalize your codebase. Use our exp...
How to Manage Global State in LiveView (Compared to Javascript)
Просмотров 1,5 тыс.Год назад
In this episode of Software Sophistication: - Explaining LiveView.JS why this is required and what problems does it solve? - Do you need to multiple region deployment in LiveView, and how should it be done? - How do you handle global state in LiveView in comparison to React and other JS libraries 💻 Pragmatic Studio’s course is the most efficient way to learn Elixir/Phoenix LiveView. Use the cou...
Debug your LiveView App on a Phone with Ngrok
Просмотров 350Год назад
Ngrok is a great tool for demos and troubleshooting. It allows you to open up your localhost server, so that you can access it anywhere, even on a phone! In this video, I take you through how to set up Ngrok and use it to debug on a phone. ngrok.com/ 💻 Pragmatic Studio’s course is the most efficient way to learn Elixir/Phoenix LiveView. Use the course that I use to teach all my apprentices: ➤ P...
Will Phoenix LiveView replace Javascript?
Просмотров 2 тыс.Год назад
Software Sophistication is a Q/A show about Elixir, Phoenix LiveView, and Software development. In this episode: What is the role of Phoenix LiveView within the Javascript/frontend ecosystem? What VS Code plugins are good for Elixir development? Will Phoenix LiveView replace Javascript? 💻 Pragmatic Studio’s course is the most efficient way to learn Elixir/Phoenix LiveView. Use the course that I...
Learn Dependency Injection to Write Better Elixir Code
Просмотров 1,4 тыс.Год назад
In today's episode of LiveView Mastery, you're going to be learning the *dependency injection* design pattern and how to implement it in the Elixir programming language. 💻 Pragmatic Studio’s course is the most efficient way to learn Elixir/Phoenix LiveView. Use the course that I use to teach all my apprentices: ➤ Phoenix Liveview Course: pragmaticstudio.com/courses/phoenix-liveview?ref=plicque ...
Testing Elixir code with Wallaby
Просмотров 959Год назад
Testing Elixir code with Wallaby
Phoenix LiveView Crash Course
Просмотров 6 тыс.Год назад
Phoenix LiveView Crash Course
How to Deal with a Bad Boss in Tech
Просмотров 182Год назад
How to Deal with a Bad Boss in Tech
How to Install Alpine.Js in a Phoenix app in 3 Minutes
Просмотров 1,2 тыс.Год назад
How to Install Alpine.Js in a Phoenix app in 3 Minutes
How to start software testing. And why you need to know how.
Просмотров 181Год назад
How to start software testing. And why you need to know how.
The fastest way to learn Phoenix LiveView
Просмотров 2,2 тыс.Год назад
The fastest way to learn Phoenix LiveView
How to install Tailwind CSS in a Phoenix app
Просмотров 1 тыс.Год назад
How to install Tailwind CSS in a Phoenix app

Комментарии

  • @wanglijun9190
    @wanglijun9190 5 дней назад

    if you can share the github repo would be cooler

  • @SamOween
    @SamOween 15 дней назад

    Hey Josh, loved your TDD presentation. Are we getting any new content from you on this channel soon?

  • @roachcode
    @roachcode Месяц назад

    best video i've seen on RUclips on Phoenix LiveView. i can see the power, but what are your thoughts on Ruby on Rails + Turbo 8? i've experimented with and am not a huge fan of Turbo 7, but Turbo 8 seems even easier than Phoenix LiveView. i'm trying to go for the stack that will be more productive for me in the long run, but at the moment i don't know Elixir at all, and while i heard Phoenix is productive and loved, it looks very verbose compared to Rails.

  • @jsonkody
    @jsonkody 2 месяца назад

    2:45 .. yep, that's exactly why I've started to learn Elixir .. I have enough of JS madness. I'll still use Vue but not much more than that.

  • @luisfeliperodrigues7831
    @luisfeliperodrigues7831 2 месяца назад

    Maybe can you bring how to use live components, i mean, its a hell for me to use modals woth form, if you bring a video about its goin be awesome

  • @user-lv2rj3oi3d
    @user-lv2rj3oi3d 2 месяца назад

    Coming from Playwright: I HATE this

  • @bakbak1830
    @bakbak1830 3 месяца назад

    how one can setup the staging application? Will the steps be the same (except a new branch and a new app on DO)?

  • @AlbinKC96
    @AlbinKC96 3 месяца назад

    Who knew Kanye could code

  • @masoncaldwell4219
    @masoncaldwell4219 3 месяца назад

    love the video. any thoughts on how to edit / delete directly from the s3?

  • @luisfeliperodrigues7831
    @luisfeliperodrigues7831 3 месяца назад

    maybe you can bring us the way we can configure the right way the S3

  • @g8t0rz
    @g8t0rz 3 месяца назад

    Go gator(s)!

  • @adworse
    @adworse 5 месяцев назад

    Thank you so much for your video! Could you please show a gist with the component? Your editor unfortunately crops long lines of code :)

    • @liveviewmastery
      @liveviewmastery 3 месяца назад

      I dont have the source code anymore sadly

  • @jaeyson
    @jaeyson 5 месяцев назад

    @liveviewmastery quick question: is the app listening on 443 by default? what are the changes if im going port 80 only? i just want to test out if it's working without using webserver (e.g. nginx)

  • @djsnakeyes
    @djsnakeyes 5 месяцев назад

    Great tutorial. Super timely.

  • @liveviewmastery
    @liveviewmastery 6 месяцев назад

    Apologies for the code being small in this episode!

    • @anythingforclicks
      @anythingforclicks 4 месяца назад

      Do you know how to deploy a standalone frontend end that connects to a Phoenix backend ?

  • @xp10290
    @xp10290 6 месяцев назад

    Great video man.

  • @MatthiasToepp
    @MatthiasToepp 6 месяцев назад

    The code was a little small for me, making it hard to see.

    • @liveviewmastery
      @liveviewmastery 6 месяцев назад

      Ok, I will make sure to make the text editor bigger in future videos. Thank you!

  • @EricShans
    @EricShans 7 месяцев назад

    Thanks so much for this!

  • @liveviewmastery
    @liveviewmastery 7 месяцев назад

    A good guide for setting up Amazon S3: ruclips.net/video/i2JXvgHsV9w/видео.html

  • @serpent213
    @serpent213 7 месяцев назад

    Great content! Cheers from Germany! 🤗 🔥🔥🔥 ▷ Ash!

  • @TeiKagome
    @TeiKagome 7 месяцев назад

    Very helpful tutorial ! Would you mind sharing some pointers on how to solve frontend problems that html and css can't handle like the map integration in 0:44 ? Thanks !

  • @believer8091
    @believer8091 8 месяцев назад

    Chris McCord spoke of %MyApp.Scope{} at ElixirConf 2023

  • @alditascheplastick8772
    @alditascheplastick8772 8 месяцев назад

    Nice talk, very professional setup

  • @gonzalooviedo5435
    @gonzalooviedo5435 8 месяцев назад

    Wuoh!!!!!, Ash seems pretty Domain Drive Development

  • @arpanghoshal2579
    @arpanghoshal2579 8 месяцев назад

    Thanks this was very usefull. I have done normal uploads but only read about external uploads. Quick questions: * `consume_uploaded_entries/3` would only invoke after the upload was completed on the client side right? If we attempt to submit the form before the uploads are complete the form submission would wait until the uploads are done, is this understanding correct? I see the docs says "For form submissions, it is guaranteed that all entries have completed before the submit event is invoked" (I am guessing that when we do `entry.progress(100)` on the client side js code it informs the live view server process that the file was uploaded successfully.) * We added the "<%= hidden_input @form, :photo_url %>" in the template so that when editing on form submission we receive the photo url in the params, even if no new photo was uploaded. Is my understanding correct? Suggestion: I would would great if you can also add a link to the repo or the code for the other files in the gist, I mean the the live view module that actual has the handle_event callbacks.

  • @educates_ourselves
    @educates_ourselves 8 месяцев назад

    thank you

  • @pistrie8198
    @pistrie8198 8 месяцев назад

    Awesome, thank you for documenting this 🙂

  • @liveviewmastery
    @liveviewmastery 8 месяцев назад

    I missed one piece. You'll need to add the following to your config/config.exs file: config :your_app, access_key_id: "fake", secret_access_key: "fake", bucket: "fake", region: "your_s3_region"

  • @ldon7319
    @ldon7319 9 месяцев назад

    I mean this is great, it really is, but you start the video with the production block all ready. Is there a github link or something, because even though a piece of this is covered, it's kinda hard to fill in the blanks for someone starting out. Is there a course you have (not the pragmatic one....already have that) or something that shows the full code set? (obviously minus any secret keys or personal info)

    • @liveviewmastery
      @liveviewmastery 8 месяцев назад

      Unfortunately, I do not have this. Since the production code is a bit distracting, I may need to record this again, so that people can look at the source code.

  • @asdf3568
    @asdf3568 10 месяцев назад

    LiveView solves the problem with the complexity of SPA's

  • @pixelstriko1642
    @pixelstriko1642 10 месяцев назад

    "There's a migration generator." At that moment, the ash framework instantly slipped into my mix.exs, created a new resource and deployed itself on 84 kubernetes nodes 😂

  • @hareshsingh8168
    @hareshsingh8168 10 месяцев назад

    Great talk

  • @sawood2010
    @sawood2010 11 месяцев назад

    it's a great course. definitly worth it.

  • @ohaizto2
    @ohaizto2 11 месяцев назад

    Thanks for the info Elixir community. Keep them going!

  • @tomodiero7524
    @tomodiero7524 11 месяцев назад

    I don't want to put you on the spot, but I am asking because I don't know any better, would you code your apps using ash? or just use plain old elixir/ecto etc

    • @liveviewmastery
      @liveviewmastery 10 месяцев назад

      At this point, I would feel comfortable coding a web application in Ash. Using plain Elixir/Ecto would put a ton of work on you to make a custom web framework for your application. I would always use something like Phoenix/LiveView/Ash.

  • @maxdon2001
    @maxdon2001 Год назад

    Great video!

  • @lcezermf
    @lcezermf Год назад

    Awesome step-by-step, working fine here. Great Job!

  • @Misu9931
    @Misu9931 Год назад

    great video!!

  • @michaellatta
    @michaellatta Год назад

    For multi-region the only real approach is to partition the data for geography and replicate to other regions.

  • @peterdecroos1654
    @peterdecroos1654 Год назад

    "highly formulaic" isn't necessarily bad. there's a lot of highly formulaic apps that people are willing to be paid to be built. the biggest issue I see with a lot of these higher level frameworks is that they encourage garbage sql queries. Ecto at its base is nice because it lets sql be sql and I can write highly performant queries inside Ecto. (thats not to say Ecto doesn't have its own footguns) I perused the ash docs but it seems like a level of abstraction that could let junior devs blissfully write inefficient code.

    • @liveviewmastery
      @liveviewmastery 8 месяцев назад

      Zach was arguing that it works for "highly formulaic" apps and ones that aren't! haha! @ "it seems like a level of abstraction that could let junior devs blissfully write inefficient code" :D

  • @DevBishwasBh
    @DevBishwasBh Год назад

    Thanks for the video. I am a Python/Django developer. I have done Ruby On Rails on few of my projects. And Phoenix is next label. I would really appreciate a video from very start about a auth based todo app, go get started and familiarize myself. I really believe others will love it too.

    • @liveviewmastery
      @liveviewmastery 8 месяцев назад

      My crash course has frustratingly grown out of date. I think I will make a new one, building something like this from scratch :D

  • @abessesmahi4888
    @abessesmahi4888 Год назад

    Is there any advantages or benefit of using Wallaby over Elixir/Phoenix/LiveView Testing tools?

    • @lcezermf
      @lcezermf Год назад

      When using live view pages I really like to follow the live view approach, it works nicely. But I think this can be used on regular pages where you do not have LiveView running

    • @liveviewmastery
      @liveviewmastery 10 месяцев назад

      The overwhelming majority of the time, LiveView tests will get the job done. Wallaby tests are only needed if you're using custom Phoenix hooks that you want assurance of / under test.

  • @somosworld
    @somosworld Год назад

    Are we familiar with type classes? This sounds a lot like auto/semi-auto type class derivation from the Haskell or Scala world

    • @liveviewmastery
      @liveviewmastery Год назад

      Due to being an exclusive Elixir junkie, I haven't had to look into typeclasses. I'm very grateful lol

  • @lonewolfcoding5208
    @lonewolfcoding5208 Год назад

    as a node js dev for 2 yrs i want to know and compare difference between containerized app and this elixir i want to know everything like how they manage alot of clients do they need a load balancer do they need a advanced networking protocol for microsevices to talk to each other sample of this is webtransport and rsocket

  • @SantiSvk
    @SantiSvk Год назад

    how can i get the static path trough ~p sigil?

    • @liveviewmastery
      @liveviewmastery 8 месяцев назад

      Like this: <img src={~p"/images/little_puppy.jpg"}>

  • @pauloffborba
    @pauloffborba Год назад

    Great content! Thank you!!!

  • @teamjupeter9451
    @teamjupeter9451 Год назад

    Hi, Joshua, thank you for the wonderful lecture. Could you share some of the source code? Not all of it, but just the part shown in the screen.

    • @liveviewmastery
      @liveviewmastery Год назад

      Hey jupeter, you are quite welcome! I am not comfortable sharing the code, unfortunately.

  • @arpanghoshal2579
    @arpanghoshal2579 Год назад

    Actually all static assets like css, js and images are picked up from the `priv` folder. For CSS and JS the build tool like webpack or esbuild automatically copies the CSS and JS to priv (it might also do additional tasks like minify the CSS, etc). We can also configure the build tool to copy images, like for example webpack has a copy plugin which just copies files from a source to a target directory without any processing, this can be used to automatically copy images from `assets/images` to `priv/static/images`. That way we just deal with the `assets/images` folder and never have to manually copy stuff into priv. For me `priv` is like the `.build` directory but for assets, ideally I want the build tool to deal with it and I just do stuff in the `assets` directory only.

    • @liveviewmastery
      @liveviewmastery Год назад

      Amazing comment, Arpan. Ty! Aaaaah, so that's why this confused me in the past. SOME things get copied and not others. It never made sense to me.

  • @ryanmurphy6666
    @ryanmurphy6666 Год назад

    I ran into this with fonts. They have to go in priv too. I actually had to put fonts in both priv and assets to get them to work, but Phoenix docs on directory structure say to put them in priv.

    • @liveviewmastery
      @liveviewmastery Год назад

      Yeah, I never remember where to put things. I figured I'd just make this as a reference!

  • @Ashton351
    @Ashton351 Год назад

    I think we're getting digital distortion from your mic. Makes it hard to listen to.

    • @liveviewmastery
      @liveviewmastery Год назад

      Ashton, thank you for this feedback. we will look into this

    • @Ashton351
      @Ashton351 Год назад

      @@liveviewmastery NP. It sounds like you're overdriving the input that the mic is connected to. You want to do a sound-check while wathcing the 'peak' indicator. It should only light occasionally when talking at your loudest.