20:30 As far as I understood when Angular goes through the component tree it goes throught all components anyway. The difference is in which mode it does. If in global mode it does not find any dirty compoenents then it checkd that route in targeted mode. So anyway all compoenents are checked, then I dont understand how the number of checks are reduced. I guess we need to emphasize that only checks in global mode are reduced. Is this correct or I miss something?
@elenavinokurova557822 күн бұрын
Thank you, this is a very important topic
@tolojanaharypatrickandre891924 күн бұрын
Great content !
@erinkylecordero26 күн бұрын
Thanks so much, this helped me as a junior dev. I have barely any experience and found it difficult to have to design an architecture, especially for a job. This gave me enough hints to get started.
@SydneyApplebaum27 күн бұрын
tempting`
@amazhecode979928 күн бұрын
It was inspiring. Thank you for sharing it
@hansschenker29 күн бұрын
This talk is too detailed (some details are only for Angular team members ). Alex has a hard time for abstracting from his gigantic task to satisfy all the rules and can not rise the level of abstraction and use metaphors for this difficult topic to explain concept.
@sergeyd2199Ай бұрын
Bluesky? Lol 😂
@Almighty_Flat_EarthАй бұрын
When you change slides, a white flash appears and it's annoying.
@dhavalvАй бұрын
Awesome in depth into Synchronization. Thank you Angular Graz for making this possible.
@SunilM15Ай бұрын
As again a great talk by Alex 👏, many thanks 🤗
@tobiasbrenner7176Ай бұрын
awesome talk. Thank you for sharing
@GuroBeridzeАй бұрын
fucking awesome, we need more video From Alex
@RainerHahnekampАй бұрын
Great stuff!
@emberarcАй бұрын
Since the appearance of signals, I feel like the Angular dev team, following the waves of trends, is turning a well-thought-out enterprise-level framework into something React-like and FP-oriented. Big mistake.
@emberarcАй бұрын
But we definitely don't want to define dynamic class properties or methods. That's why we use a typed language like TS.
@ManfredSteyerАй бұрын
I might look like dynamic props at first glance. But it's indeed statically typed. The NGRX does a great job telling TypeScript about the Types of all the props you define.
@AlainBoudard3 ай бұрын
Awesome content as usual, thanks for sharing Manfred. A quick note, we don't see the URL of the page, so we d'ont really know why it's a strange URL.
@AnthonyDev3 ай бұрын
What an amazing talk, thanks! Now I'll learn ngrx.
One of the best presentations on signal store. I don't know why this video is not the top result. I definitely will use your technique to reduce repetitive code.
@mattspeed3 ай бұрын
Usually I prefer to manage bare state in services via observables, but that's definitely looks interesting, I'm sold!
@g-luu3 ай бұрын
amazing thanks.
@SunilM154 ай бұрын
Nice, crisp and to the point explanation of new angular changes with ease and good examples. Kudos to Michael !!!
@pienJe4 ай бұрын
Very clear and good session! The part where the error for sqllite is shown is a bit over te top these days (I would hope, it's really bad practice to return that to the frontend, but I guess everything goes :p)
@MartinaKraus4 ай бұрын
Well... I wish you would be right 😅 but it's still not that difficult sometimes to get more informations about the database used (even though this one on juice shop is really way tooooo easy 😊)
@JonRista4 ай бұрын
I am curious how the is being rendered... Is the Angular Sanitiser being used to mark the search input text as safe html? If not, wouldn't Angular by default prevent rendering the frame?
@MartinaKraus4 ай бұрын
Good point here. You are absolutely right. Usualy the angular sanitizer prevents us from things like that. But the sanitizer wasn't used here. We can't control always the way npm Package Authors or other devs in our team are interacting with the DOM. The sanitizer just jumps in if we use the Angular API to interact with the DOM
@JonRista4 ай бұрын
OK.. So one way or another, someone explicitly bypasses the default security mechanisms built into Angular in order to allow the to be rendered. Another layer of security in that case, would be code reviews. Such efforts to bypass sanitization should be one of the key things reviewers should be on the lookout for during code reviews. Or an argument for paired programming where such implementation would immediately become a point of discussion, and using a Sanitiser like DOM purifier would come up immediately.
@MartinaKraus4 ай бұрын
@@JonRista absolutely. That's why there is a security principle called "defense in depth" always have more prevention measurement applied than just one. Beside good sanitization the http security header Content-Security-Policy is a great second line of defense
@JonRista4 ай бұрын
Aye, agreed. I was just surprised that the was rendering at all in your example, as that is fairly unusual with Angular under normal circumstances. It takes explicit effort to bypass the built in measures to prevent that. That kind of thing is actually a good argument for paired programming, as it is the most proactive and efficient way to prevent such code from ever being committed in the first place. 😉
@AlainBoudard3 ай бұрын
@@JonRista totally agree, this should be mentioned in the video when the is rendered, otherwise it looks like a major Angular bug, doesn't it ? Anyway, excellent presentation !
@biovawan4 ай бұрын
Can't see the url on mobile KZbin :'(
@g.brantzos4 ай бұрын
Good content, bad video quality
@pienJe4 ай бұрын
better then bad content, good video quality :')
@mayori-engineering-hub4 ай бұрын
Can anybody access your browser remote to hack your keys?
@MartinaKraus4 ай бұрын
Hey I am not 100% sure what you mean tbh. So Things you store in your browser can be accessed through a JavaScript API and are open to be stolen when you are attacked by a JavaScript injection - but it's not really like someones controlling your browser remotely.
@TheMrDrummer934 ай бұрын
35:31 but this is just working because everything is on localhost. It will not work with real websites. Am I wrong?
@mugatu20174 ай бұрын
excellent content, thank sManfrend
@ManfredSteyer4 ай бұрын
Angular Security Workshop: www.angulararchitects.io/trai... Get your tickets now!
@erikkerkhoven26314 ай бұрын
Nice!!
@helloworlditsworld4 ай бұрын
Don’t tell my wife but I seriously love you man! Haha thank you for the content and information
@GLawSomnia4 ай бұрын
Ok this was one of the best talks i have ever listened to. Will tell my coworkers about implementing an BFF
@ManfredSteyer4 ай бұрын
Angular Security Workshop with Philippe De Ryck: www.angulararchitects.io/en/training/angular-security-with-dr-de-ryck/
@stanislautsishkou56325 ай бұрын
Sounds like signals are always a state of data, and it is not possible to make a decision for invoking data change based on data state, the concept of `view = function(state)` is broken in such case. Data could not have an intention to be self changed (via `effect`), because behaviour is not a data or state feature. Behaviour that based on Action/Event is a missing part of signal architecture
@alexander.thalhammer5 ай бұрын
We're here in Styria -> we're distilling everything 🤣🤣🤣
@philippjohn5555 ай бұрын
Nice talk as always.
@alinghinea985 ай бұрын
first time I see the injections with # prefix. Is there a convention on why did you write it like that?
@ManfredSteyer5 ай бұрын
Not really. It’s the official ecmascript syntax (es2022) and I decided to use it in this example. Saying this, the TypeScript private also has several benefits: it’s easier to debug (because it’s actually public after transpiling to JavaScript) and it comes with no performance overhead at runtime (for the same reason).
@alinghinea985 ай бұрын
@@ManfredSteyer Thanks for clarification :)
@LarsRyeJeppesen5 ай бұрын
This was great. Love signals, but having to use untracked() heavily lol
@ManfredSteyer5 ай бұрын
I totally feel you. Using untracked or some wrapper around it like a custom explicitEffects helper or toObservable really helps to see what’s going on and to avoid issues.
That being said, the innnovation section at 7:20 is close to perfect, things are moving in the right direction
@mayori-engineering-hub5 ай бұрын
Do not add signals
@LarsRyeJeppesen5 ай бұрын
Signals is the best thing that ever happened. What are you talking about ? ALL frameworks are moving (or have moved) to signals, and that is with a good reason. Fine grained change detection is amazing. Ditching zoneJS is amazing. I can't imagine not using signals by now.
@andreashahn90375 ай бұрын
@@LarsRyeJeppesen Signals are not the best thing and should not be used for everything. The second you need some asynchronous data it becomes a hassle with computed -> toObservable -> toSignal etc. They solve a tiny thing but people misuse them already.
@lambda-dev4 ай бұрын
@@andreashahn9037 the problem with signals right now is that they are not fully implemented yet and are experimental, like you said with asynchronous requests: The angular http client still uses observables and has no signal support. Moving to signals is a good choice and getting rid of zone.js, but signals should with care until they are production ready.
@mayori-engineering-hub5 ай бұрын
Bad bad bad , a lot of changes and angular is becoming unpopular