Ryan Kienstra
Ryan Kienstra
  • Видео 142
  • Просмотров 31 427
useEffect alternative for React
Here's a clearer way than useEffect().
It's easier to understand, as you can look in one place for where the state changes.
Просмотров: 132

Видео

Caching Dependencies in CircleCI
Просмотров 4272 года назад
You can usually cache dependencies in CircleCI with simple commands. Here are examples from real repos for Node, PHP, and Gradle. The Local CI extension will give you a sanity-check while you're using these commands: marketplace.visualstudio.com/items?itemName=LocalCI.local-ci
CircleCI CLI: A killer feature of CircleCI
Просмотров 1,4 тыс.2 года назад
See how to use the CircleCI CLI to debug your CI/CD. You'll get bash access to the running job, so you can fix it in your local. You don't have to guess what's wrong, push a commit, wait for it to fail, guess again… You can fix the problem in your local.
CircleCI Orb Example
Просмотров 2,1 тыс.2 года назад
Orbs can speed up your builds with caching, and make them much simpler. Here's a step-by-step example of adding orbs to a CircleCI config. You can also get feedback with the Local CI extension: marketplace.visualstudio.com/items?itemName=LocalCI.local-ci
CircleCI Tutorial For Beginners
Просмотров 1 тыс.2 года назад
Here's how to set up CircleCI® for a JavaScript and PHP repo. You'll see the jobs passing before pushing. Here's the Local CI extension to make this faster: marketplace.visualstudio.com/items?itemName=LocalCI.local-ci JavaScript linting and tests, PHP linting and tests, and e2e tests.
Debug CircleCI® Locally
Просмотров 2,1 тыс.2 года назад
Debug your CircleCI® builds locally, with bash access and caching. Here's a real example of debugging a repo's CI/CD Install Local CI to speed up your debugging: marketplace.visualstudio.com/items?itemName=LocalCI.local-ci
Debug Jest Tests In Visual Studio Code
Просмотров 6863 года назад
Here's an easy debugging setup for Jest in VS Code. You don't need an extension, just some edits to your launch.json. If one of your Jest tests fails, don't fly blind! gist.github.com/kienstra/7eeb395d7f17f8026bb9c5face623ae1
Fix Flaky Puppeteer Tests
Просмотров 5084 года назад
When Puppeteer tests fail in CI, you usually don't know why. Here's a way to get a screenshot of when the test failed, and see if other selectors would have succeeded. Don't 'fly blind' with tests. Getting debugging information is crucial to fixing the test. Here's the code: github.com/kienstra/augmented-reality/pull/241
Async JavaScript: Watch Out For This
Просмотров 424 года назад
Async and await are easy to use. But it's easy to forget something. You still have to use a try/catch block if you want to catch errors. For example, an axios.get() request could throw an error. In traditional promise usage, it's easier to remember that it needs a .catch() callback, as you're adding a .then() callback.
Machine Learning in WordPress
Просмотров 2,6 тыс.4 года назад
Here's a fast and powerful way to use machine learning in WordPress. Using only a few lines of code, you can get answers to questions. You'll see how to use this right away on your WordPress site or app. This uses a TensorFlow model, BERT. You don't have to train it, or know anything about machine learning.
TypeScript Tutorial: Find Bugs With Minimal Code
Просмотров 984 года назад
Here's a fast way to use TypeScript. You won't have to write much code. You can use JSDoc, which TypeScript will get types from. So you'll get many of the benefits of TypeScript, without slowing your builds. Also, you won't have to change anything in Webpack or your tests. Here's the code: github.com/kienstra/easy-survey/pull/63
TypeScript with React
Просмотров 534 года назад
TypeScript can prevent bugs, but how do you set it up in React? Here's a tutorial on converting JS files to TypeScript, including the issues it reveals. You'll see how to add types to a component, and what to do if there are type errors. Here's the code: github.com/kienstra/augmented-reality/pull/178
How to handle disagreements at work
Просмотров 1234 года назад
Here are some ways to: - Avoid needless conflicts - 'Carry the day' if you need to - Keep goodwill Some disagreements aren't worthwhile. You might not remember them in 2 days. But if they are important, you can: - Acknowledge the person's valid points - Point out an additional point if possible, not how their point is wrong
Testing React Components
Просмотров 644 года назад
There are usually a lot more components than helper functions in Gutenberg-based plugins. But it seems more common to test helper functions. Here are some real examples of testing React components in Gutenberg. github.com/getblocklab/block-lab/pull/514/files#diff-5d5ed8f5e2a92902fa6cd07c5fe490c7R1 …using the React Testing Library: testing-library.com/docs/react-testing-library/intro
Easier Development With a 'Scratch Pad' Plugin
Просмотров 324 года назад
Here's a quick thing you can do to make development a little easier. Create a 'scratch pad' plugin with test snippets. Maybe you're testing how something works with certain filters. Or you don't want to define constants in the theme you're testing. This makes it easier to test code, and not worry about deleting it later.
Pre-commit hook for faster development
Просмотров 1,4 тыс.4 года назад
Pre-commit hook for faster development
Polite Persistence
Просмотров 314 года назад
Polite Persistence
Your bug's in production...what do you do?
Просмотров 1175 лет назад
Your bug's in production...what do you do?
Why should you go to WordCamps?
Просмотров 425 лет назад
Why should you go to WordCamps?
Software side projects: How to find time and ideas
Просмотров 1195 лет назад
Software side projects: How to find time and ideas
Advanced Developers Do This
Просмотров 425 лет назад
Advanced Developers Do This
Problem solving and debugging, from a mechanical engineer
Просмотров 1635 лет назад
Problem solving and debugging, from a mechanical engineer
Having interests outside technology can help in your job (at Google I/O)
Просмотров 245 лет назад
Having interests outside technology can help in your job (at Google I/O)
The biggest mistake I made in learning development, and how you can avoid it
Просмотров 425 лет назад
The biggest mistake I made in learning development, and how you can avoid it
Talking to new people at conferences
Просмотров 265 лет назад
Talking to new people at conferences
Should you do live demos?
Просмотров 255 лет назад
Should you do live demos?
Talking about your own skills
Просмотров 345 лет назад
Talking about your own skills
Interviewing as a developer with less stress
Просмотров 435 лет назад
Interviewing as a developer with less stress
Expanding your job informally
Просмотров 255 лет назад
Expanding your job informally
Speaking up as an engineer: giving feedback and getting help
Просмотров 365 лет назад
Speaking up as an engineer: giving feedback and getting help

Комментарии

  • @alimuhareb8170
    @alimuhareb8170 18 дней назад

    A glimpse into the future haha

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

    Most apps need some useEffect() calls. But most useEffect() logic can go in other places, like handlers.

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

    Thanks a ton for the video, I get the issue with docker image download issue "Error response from daemon: Please run 'docker login'... retrying image cache not found on this host, downloading"

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

    Is this available with Mocha test runner ?

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

      No, sorry. I think Puppeteer has something like this baked in by now, so this video isn't relevant anymore.

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

    thank you this helped

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

      @mewko9091, thanks a lot, really glad it helped!

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

    Found this video super helpful and genuine. It wasn’t overwhelming like most content out there on the subject. Thanks!

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

      @brookepeck9408, thanks a lot for your very kind comment!

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

    Exactly what I needed after just barely shaving off time trying to manually cache my gradle dependencies. I saved just 30s off a 3 minute build, but with the orb approach I got it down to 1 minute.

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

      Hi Jorgen, thanks for your kind words, so glad it got your build down to 1 minute.

  • @jamiepond
    @jamiepond 2 года назад

    legend, thank you for this tutorial!

  • @quince10
    @quince10 2 года назад

    Does localci has to be on MacOS, how about windows?

    • @RyanKienstra
      @RyanKienstra 2 года назад

      Hi Frank, unfortunately, it doesn't work on Windows now. It sounds like debugging CI/CD is a pretty high priority for you. If so, I can send you a test version that works with Windows.

  • @danielmdev
    @danielmdev 2 года назад

    Only works for mac OS

    • @RyanKienstra
      @RyanKienstra 2 года назад

      You're right 😊 What OS would you like it to work on?

    • @danielmdev
      @danielmdev 2 года назад

      I'm using windows 10, so I'm connecting via ssh to my container

    • @RyanKienstra
      @RyanKienstra 2 года назад

      Thanks, Dan! I probably can't support Windows, unfortunately. Sorry for leaving you out in the cold, I wish I could.

  • @RyanKienstra
    @RyanKienstra 2 года назад

    Simple commands like node/install-packages are usually enough to cache dependencies.

  • @ngohoangart
    @ngohoangart 2 года назад

    too bad the plugin is not free

    • @RyanKienstra
      @RyanKienstra 2 года назад

      Yeah, that would be nice!

    • @ngohoangart
      @ngohoangart 2 года назад

      @@RyanKienstra by any chance you know how to set up environment for LocalCI test? seems like its not picking up environment .env file locally.

    • @RyanKienstra
      @RyanKienstra 2 года назад

      ​@@ngohoangart, sorry, could you elaborate on what the environment is, and what .env file you'd like it to pick up?

  • @RyanKienstra
    @RyanKienstra 2 года назад

    This sets CircleCI apart for me. You can fix bugs in your local.

  • @chima2g
    @chima2g 2 года назад

    For anyone looking for the files in this tutorial, they can be found in branch "update/handle-e2e-failure" in the repo. I don't know whether there's a better / more up to date branch for those files, though

    • @RyanKienstra
      @RyanKienstra 2 года назад

      Hi @chima2g, thanks a lot for listing that branch. That's the most up to date one I've done.

  • @HugoRafaelAzevedo-
    @HugoRafaelAzevedo- 2 года назад

    No Linux support for Local CI?!

    • @RyanKienstra
      @RyanKienstra 2 года назад

      Hi Hugo, Linux users have used it, I just haven't tested it on Linux. I just ordered a Linux laptop to test it this week.

    • @HugoRafaelAzevedo-
      @HugoRafaelAzevedo- 2 года назад

      @@RyanKienstra , They do have a CLI client, which allowed me to test jobs locally. Here is an example of it: "circleci local execute --job php-test74" ... being "php-test74" the name for my local job. They also allow configuration file's validation via CLI: "circleci config validate" The VSCode extension doesn't seam to work (at least in my machine). I've got a post-install error, which seams to produce an error loading the extension on the editor. Btw, thanks a lot for your video, as I was struggling to set everything up (as I wanted), and ended up doing it in less than 5mins after watching it! Cheers.

    • @RyanKienstra
      @RyanKienstra 2 года назад

      ​@@HugoRafaelAzevedo-, thanks, great to hear you got CircleCI set up! What Linux OS do you use? Thanks for trying Local CI, even though it didn't work.

    • @HugoRafaelAzevedo-
      @HugoRafaelAzevedo- 2 года назад

      @@RyanKienstra , Debian based Kubuntu.

    • @RyanKienstra
      @RyanKienstra 2 года назад

      ​@@HugoRafaelAzevedo-, thanks for letting me know, I also see that Local CI doesn't work on Ubuntu-based machines. I'll work on it.

  • @preetigupta1806
    @preetigupta1806 2 года назад

    Guide me more..❤

    • @RyanKienstra
      @RyanKienstra 2 года назад

      Oh thanks!

    • @preetigupta1806
      @preetigupta1806 2 года назад

      @@RyanKienstraYa i have started r project on wordpress and i wanna use ML in this

    • @RyanKienstra
      @RyanKienstra 2 года назад

      @@preetigupta1806, good to hear!

  • @RyanKienstra
    @RyanKienstra 2 года назад

    Caching can be much simpler with orbs.

  • @RyanKienstra
    @RyanKienstra 2 года назад

    CircleCI's new free plan is like a pro plan. It has plenty of credits, and it's really easy to get started.

  • @RyanKienstra
    @RyanKienstra 2 года назад

    The shorter the feedback loop, the faster debugging is.

  • @snehashisbera8316
    @snehashisbera8316 2 года назад

    Well this helps me a lot Thanks. In India its morning 4am and I am just working for more that 30 hour's in a single questions and now I got my ans from your video.

    • @RyanKienstra
      @RyanKienstra 2 года назад

      Thanks so much for watching the video and for your kind words!

  • @neetrab
    @neetrab 3 года назад

    Hello. Question: I am in the process of interviewing. I applied to a position entitled "Supply Chain Specialist". A recruiter posted the ad. When I was given the information of who I would be greeting in the interview, the itinerary says, "Candidate: Customer Service Representative - (and then my name)." I am very frustrated because I did not apply to that title. If they posted that in the 1st place, I would've never even looked at the job ad and probably would've never applied. I have my personal reasons for why I would not want to be called that. The job functions are very similar to what I've done in the past and I was good at that and I'm okay with that the duties being similar to this job. I just want the title that they advertised. Do you think I have a good chance to negotiate a title change?? If they really want a CSR, they should've said that in the job title. I think I really want to work there as I've done my research about the company.

    • @RyanKienstra
      @RyanKienstra 2 года назад

      Hi @neetrab, sorry for the delay. It never hurts to interview for the job, they might have the job you want available. But once you accept a certain job, it's probably going to take a while to change the job title.

  • @pippperoni
    @pippperoni 3 года назад

    Great video! Thanks for the tips

    • @RyanKienstra
      @RyanKienstra 3 года назад

      Thanks so much for watching it!

  • @prettylittleinvestor
    @prettylittleinvestor 3 года назад

    What if you keep getting duties added to your workload year after year with no recognition of that in a job title? Like I’ve been supporting the director of my program for 3 years and fly solo on most things. After 3 years, I feel like I’ve earned assistant director or senior xyz on my title. What would your advice be in that situation?

    • @RyanKienstra
      @RyanKienstra 3 года назад

      Honestly, change companies if you can. If they won't acknowledge it after 3 years, you'd probably do much better somewhere else.

    • @prettylittleinvestor
      @prettylittleinvestor 3 года назад

      @@RyanKienstra I’m getting my doctorate right now and I don’t have the time to start a job search, interview, etc. where I am works for my family but at times I feel as though I need to table my ambitions. I love where I work and I love what I do, but I think it’s totally foolish to be a doctoral candidate holding the job title of an entry level person.

    • @RyanKienstra
      @RyanKienstra 3 года назад

      Yeah, that's strange that your job title is entry level. Good to hear you're working on your doctorate, it sounds like that'll get you to where you're looking for.

    • @prettylittleinvestor
      @prettylittleinvestor 3 года назад

      ... ok this is weird but I literally watched this video 3 days ago and drafted an email to my boss 2 days ago asking that we talk about my growth. Yesterday I tell myself that I’m not going to send the email and revisit my feelings in April ... today we have a meeting and I literally got a promotion! He says to choose a title that I feel reflects the work I do, be creative, sky is the limit ... and I’m there, like, shocked! He has no idea that I have a draft email that was never sent, asking for a promotion to Assistant Director lol - so looks like I’m staying for a little longer 👍👍

    • @RyanKienstra
      @RyanKienstra 3 года назад

      Haha, great job! So good to hear!

  • @sKopheK
    @sKopheK 3 года назад

    tnx for the setup, however - isn't the screen a bit zoomed in? hard to actually have the full picture

    • @RyanKienstra
      @RyanKienstra 3 года назад

      Thanks for the feedback, it is probably too zoomed in.

  • @jessicahalfmann7218
    @jessicahalfmann7218 3 года назад

    Do you have to be connected/friends to leave a reccomendation?

    • @RyanKienstra
      @RyanKienstra 3 года назад

      Yes, it looks like it. I just tested it, and I couldn't find a way to recommend someone that I'm not connected to.

    • @jessicahalfmann7218
      @jessicahalfmann7218 3 года назад

      @@RyanKienstra Thank you!

  • @OzHunter
    @OzHunter 4 года назад

    Bien un nuevo video eeeeeeeee

    • @RyanKienstra
      @RyanKienstra 4 года назад

      Gracias, Oscar! Lo hice para ti :)

  • @OzHunter
    @OzHunter 4 года назад

    Oh sí un nuevo video

  • @JDFromAnotherPlanet
    @JDFromAnotherPlanet 4 года назад

    Can you please tell me from where receiver receive the request for recommendation??

    • @RyanKienstra
      @RyanKienstra 4 года назад

      Hi JD, you'll usually see it in the 'Messaging' section.

    • @JDFromAnotherPlanet
      @JDFromAnotherPlanet 4 года назад

      @@RyanKienstra My follow member didn't receive anything!

    • @RyanKienstra
      @RyanKienstra 4 года назад

      @@JDFromAnotherPlanet, hm, I'm not sure why it's not there. Maybe ask LinkedIn support.

    • @JDFromAnotherPlanet
      @JDFromAnotherPlanet 4 года назад

      @@RyanKienstra but do I need to message then for the reminder they hadn't received the notification

    • @RyanKienstra
      @RyanKienstra 4 года назад

      @@JDFromAnotherPlanet Hm, I'm not sure. Sorry, I don't work for LinkedIn, I really can't give technical support for them.

  • @MrWilde
    @MrWilde 4 года назад

    Thanks Ryan, was some good advice

    • @RyanKienstra
      @RyanKienstra 4 года назад

      Thanks, Robert! Thanks a lot for watching.

  • @OzHunter
    @OzHunter 4 года назад

    eeeeeeeeeeeeeeeeeeeee

    • @RyanKienstra
      @RyanKienstra 4 года назад

      Gracias, Oscar! Te mando un eeeee tambien.

  • @sayedtaqui483
    @sayedtaqui483 4 года назад

    Very helpful explanation. Is it a good practice to define both Interface as well as proptypes for component props ( manually or by using some packages like babel-plugin-typescript-to-proptypes ) ? Or would defining the run time proptypes be enough?

    • @RyanKienstra
      @RyanKienstra 4 года назад

      Hi Sayed, thanks a lot for watching this. Hope you're doing great. Good question. If you're already using PropTypes, refactoring to TypeScript probably isn't needed. Using both might be overkill. But babel-plugin-typescript-to-proptypes looks interesting. I didn't know about that. Like you mentioned, PropTypes looks at the types at runtime, while TypeScript doesn't.

    • @sayedtaqui483
      @sayedtaqui483 4 года назад

      @@RyanKienstra Thank you Ryan! 🙂 that makes sense. I am doing good. You are creating quality content. I am thinking to watch your videos one by one, they are really good and informative.

    • @RyanKienstra
      @RyanKienstra 3 года назад

      @@sayedtaqui483, thanks so much! That means a lot, hope you enjoyed them.

  • @genarolara2943
    @genarolara2943 4 года назад

    Primero 😅 🇨🇱🇨🇱🇨🇱

    • @RyanKienstra
      @RyanKienstra 4 года назад

      Jaja, Genaro! Muchas gracias! Ojala que estes bien :)

  • @OzHunter
    @OzHunter 4 года назад

    Ah buenísimo

  • @RyanKienstra
    @RyanKienstra 4 года назад

    Here's the repo: github.com/kienstra/machine-learning/

  • @OzHunter
    @OzHunter 4 года назад

    Ah muy cool.

    • @RyanKienstra
      @RyanKienstra 4 года назад

      Gracias, Oscar! Eres muy cool tambien :)

  • @thecastiel69
    @thecastiel69 4 года назад

    Why do you have only 70 subscribers? This is very underrated channel.

    • @RyanKienstra
      @RyanKienstra 4 года назад

      Haha, thanks! I'm working on it, I appreciate you watching and your kind words.

  • @RyanKienstra
    @RyanKienstra 4 года назад

    Not all disagreements are worth having :) But for important points, here are some ways to convince people.