Пікірлер
@AnthonyDev
@AnthonyDev Күн бұрын
What an amazing talk, thanks! Now I'll learn ngrx.
@ManfredSteyer
@ManfredSteyer 5 күн бұрын
Angular Architecture Workshop: www.angulararchitects.io/en/training/advanced-angular-architecture-workshop/
@richarddefortune1329
@richarddefortune1329 6 күн бұрын
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.
@mattspeed
@mattspeed 6 күн бұрын
Usually I prefer to manage bare state in services via observables, but that's definitely looks interesting, I'm sold!
@g-luu
@g-luu 6 күн бұрын
amazing thanks.
@SunilM15
@SunilM15 24 күн бұрын
Nice, crisp and to the point explanation of new angular changes with ease and good examples. Kudos to Michael !!!
@pienJe
@pienJe 25 күн бұрын
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)
@MartinaKraus
@MartinaKraus 24 күн бұрын
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 😊)
@JonRista
@JonRista 26 күн бұрын
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?
@MartinaKraus
@MartinaKraus 26 күн бұрын
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
@JonRista
@JonRista 26 күн бұрын
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.
@MartinaKraus
@MartinaKraus 26 күн бұрын
@@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
@JonRista
@JonRista 26 күн бұрын
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. 😉
@biovawan
@biovawan 26 күн бұрын
Can't see the url on mobile KZbin :'(
@g.brantzos
@g.brantzos 27 күн бұрын
Good content, bad video quality
@pienJe
@pienJe 25 күн бұрын
better then bad content, good video quality :')
@mayori-engineering-hub
@mayori-engineering-hub 27 күн бұрын
Can anybody access your browser remote to hack your keys?
@MartinaKraus
@MartinaKraus 26 күн бұрын
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.
@TheMrDrummer93
@TheMrDrummer93 27 күн бұрын
35:31 but this is just working because everything is on localhost. It will not work with real websites. Am I wrong?
@mugatu2017
@mugatu2017 27 күн бұрын
excellent content, thank sManfrend
@ManfredSteyer
@ManfredSteyer 28 күн бұрын
Angular Security Workshop: www.angulararchitects.io/trai... Get your tickets now!
@erikkerkhoven2631
@erikkerkhoven2631 Ай бұрын
Nice!!
@helloworlditsworld
@helloworlditsworld Ай бұрын
Don’t tell my wife but I seriously love you man! Haha thank you for the content and information
@GLawSomnia
@GLawSomnia Ай бұрын
Ok this was one of the best talks i have ever listened to. Will tell my coworkers about implementing an BFF
@ManfredSteyer
@ManfredSteyer Ай бұрын
Angular Security Workshop with Philippe De Ryck: www.angulararchitects.io/en/training/angular-security-with-dr-de-ryck/
@stanislautsishkou5632
@stanislautsishkou5632 Ай бұрын
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.thalhammer
@alexander.thalhammer Ай бұрын
We're here in Styria -> we're distilling everything 🤣🤣🤣
@philippjohn555
@philippjohn555 Ай бұрын
Nice talk as always.
@alinghinea98
@alinghinea98 Ай бұрын
first time I see the injections with # prefix. Is there a convention on why did you write it like that?
@ManfredSteyer
@ManfredSteyer Ай бұрын
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).
@alinghinea98
@alinghinea98 Ай бұрын
@@ManfredSteyer Thanks for clarification :)
@LarsRyeJeppesen
@LarsRyeJeppesen Ай бұрын
This was great. Love signals, but having to use untracked() heavily lol
@ManfredSteyer
@ManfredSteyer Ай бұрын
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.
@superduper1211
@superduper1211 Ай бұрын
awesome . thank you for sharing
@ManfredSteyer
@ManfredSteyer Ай бұрын
Angular Architecture Workshop: www.angulararchitects.io/en/training/advanced-angular-architecture-workshop/
@LarsRyeJeppesen
@LarsRyeJeppesen Ай бұрын
Great stuff!
@hendrx
@hendrx 2 ай бұрын
That being said, the innnovation section at 7:20 is close to perfect, things are moving in the right direction
@mayori-engineering-hub
@mayori-engineering-hub 2 ай бұрын
Do not add signals
@LarsRyeJeppesen
@LarsRyeJeppesen Ай бұрын
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.
@andreashahn9037
@andreashahn9037 Ай бұрын
@@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-dev
@lambda-dev Ай бұрын
@@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-hub
@mayori-engineering-hub 2 ай бұрын
Bad bad bad , a lot of changes and angular is becoming unpopular
@hendrx
@hendrx 2 ай бұрын
Jesus lord, I hope for the love of God they don't waste their resources on AI
@ManfredSteyer
@ManfredSteyer 2 ай бұрын
IMHO, there is a lot of potential for using AI for migration scripts, as LLMs are pretty good with source code.
@hendrx
@hendrx 2 ай бұрын
@@ManfredSteyer LLMs are just a hit or miss when it comes to code, I have yet to find a task of mine that has been taken over by AI code generators, that's if you're a senior of course.
@LarsRyeJeppesen
@LarsRyeJeppesen Ай бұрын
@@hendrx Absolutely agree. It's a productivity boost in some cases.. It's a stack-overflow on steroids.
@hendrx
@hendrx Ай бұрын
@@LarsRyeJeppesen it's a code snippet generator at this point
@mann_von_welt
@mann_von_welt 2 ай бұрын
Thanks for sharing, looking forward to going zoneless in our next project!
@LarsRyeJeppesen
@LarsRyeJeppesen Ай бұрын
We did and it is awesome
@peterchapman6210
@peterchapman6210 3 ай бұрын
Thankyou, This looks brilliant! I too really am a fan of the original global store, and redux pattern, and the devtools. When using the other stores, such as component store, I essential thing I really missed was the the devtools, as they have been a life saver to me in the past when debugging and tracking what actions change the state. This would be worth it just for the devtools, but now also with this redux pattern as well, this will really could convince me to swap from the global store over to the signal store.
@koempf
@koempf 4 ай бұрын
wie ist das mit dem Feature withDevTools in production Mode... ich muss den Toolkit ja unter "dependencies": { installieren, weil ich ja evtl. withcallState verwenden möchte. In Produktion möchte ich aber nicht die Devtools sehen ?
@RainerHahnekamp
@RainerHahnekamp 4 ай бұрын
Hast recht. Es gibt da eine schnelle und eine etwas längere Lösung. Die schnelle ist ein Flag, wo du es während der Produktion nicht läuft, aber das JavaScript trotzdem im Bundle ist. Die lange ist, dass es auch aus dem Bundle fliegt. Das wird ein bisschen knackiger. Kannst du fürs erste Mal mit der schnellen Lösung leben? Installieren musst das toolkit natürlich in dependences (hast eh schon erklärt wieso).
@koempf
@koempf 4 ай бұрын
@@RainerHahnekamp Hi Rainer :-) super danke für die schnelle Antwort... das Flag muss ich dann selber in meinen Store einbauen? oder gibt es das irgendwo ? liebe Grüsse :-)
@RainerHahnekamp
@RainerHahnekamp 4 ай бұрын
@@koempf Serwas, nein das gibts noch nicht. Das müsste ich noch machen. Wäre super, wenn du mir einen Issue auf GitHub anlegen könntest. Dann hab ich einen offiziellen "Arbeitsauftrag". Falls nicht, kanns aber ich auch so machen.
@koempf
@koempf 4 ай бұрын
@@RainerHahnekamp super ich mache einen Eintrag :-) noch kurz eine letzte Frage :-) bei der standalone patchState function... da muss ich bei Objekten immer die immutability beachten ? ich wurde da bei einem internen Vortrag gefragt ob es dafür eine Library gibt um das nicht immer machen zu müssen 🙂
@RainerHahnekamp
@RainerHahnekamp 4 ай бұрын
@@koempf ja, gibts: github.com/timdeschryver/ngrx-immer. Wir werdens aber auch im toolkit irgendwann aufnehmen.
@LeonhardPfeiffer-Friedl
@LeonhardPfeiffer-Friedl 5 ай бұрын
4th Option: Jasmine/Jest for everything with @puppeteer/ng-schematics
@harrymiller7559
@harrymiller7559 5 ай бұрын
a train, that is too fast. 🙂. In germany this will never happen.
@krzysiekpiasecki
@krzysiekpiasecki 5 ай бұрын
The summary of our Dev conclusions. Thanks.
@amitev
@amitev 5 ай бұрын
51:21 Servus, is there a reference to the Playwright initiative so we can see what has happened with it?
@yelose85
@yelose85 5 ай бұрын
Please!! Could you make a video or a course explaining how to test AngularFire within a standalone app? like firebase authentication or firestore?. Thank you
@LarsRyeJeppesen
@LarsRyeJeppesen 5 ай бұрын
This was great. Reminds me to implement webauthn on our internal site.
@ManfredSteyer
@ManfredSteyer 5 ай бұрын
Angular Architecture Workshop: www.angulararchitects.io/training/advanced-angular-architektur-workshop/
@RainerHahnekamp
@RainerHahnekamp 5 ай бұрын
Here is the link to my slides: speakerdeck.com/rainerhahnekamp/towards-modern-change-detection
@alexander.thalhammer
@alexander.thalhammer 5 ай бұрын
Seems like my hair was a bit excited at the beginning 😀
@ManfredSteyer
@ManfredSteyer 5 ай бұрын
Source code at github a at: boudard/springboot-module-federation
@ManfredSteyer
@ManfredSteyer 5 ай бұрын
Source Code provided by Alain: github.com/aboudard/springboot-module-federation
@AlainBoudard
@AlainBoudard 5 ай бұрын
I'd love to be able to post the url of the repo, but my comments keep being deleted.
@ManfredSteyer
@ManfredSteyer 5 ай бұрын
Seems like it worked now. Please see my comment outside of this thread.
@AaronScribner-qj5qs
@AaronScribner-qj5qs 5 ай бұрын
Is there a code repo for this?
@AaronScribner-qj5qs
@AaronScribner-qj5qs 5 ай бұрын
The interviews are good, but without having reference source code to read and follow, these are of no interest to me.
@dannyvenier4728
@dannyvenier4728 5 ай бұрын
@@AaronScribner-qj5qs he points to his github at aboudard for the angular-module-federation project
@AlainBoudard
@AlainBoudard 5 ай бұрын
Thanks a million Manfred for having me ! It was a pleasure to share with you !
@ManfredSteyer
@ManfredSteyer 5 ай бұрын
Angular Architecture Workshop: [English] www.angulararchitects.io/en/training/advanced-angular-architecture-workshop/ [German] www.angulararchitects.io/training/advanced-angular-architektur-workshop/
@VinitNeogi
@VinitNeogi 6 ай бұрын
Angular Renaissance 🚦