🔥 Untagged Template Literals will be supported in #angular v19.2.0
Simply use a template literal directly in your HTML template.
Why This Matters:
1️⃣ Cleaner Syntax: Eliminate extra concatenations or workaround functions in your templates.
2️⃣ Less Boilerplate: Injecting multiple variables or constructing dynamic classes is now a breeze.
3️⃣ Greater Flexibility: Handle everything from URLs to loops with simpler, more straightforward code.
Practical Examples:
🔹 Embed variables right into strings without tedious plus signs.
🔹 Create dynamic class names and style properties without elaborate logic.
🔹 Effortlessly pass entire strings through Angular pipes.
🔹 Enhance loops and structural directives to generate data-driven HTML elements.
In short, untagged template literals streamline the way you manage dynamic content. You can already play with it on You can already play with the feature on19.2.0-next.0 , simply upgrade your CLI using the
Simply use a template literal directly in your HTML template.
Why This Matters:
1️⃣ Cleaner Syntax: Eliminate extra concatenations or workaround functions in your templates.
2️⃣ Less Boilerplate: Injecting multiple variables or constructing dynamic classes is now a breeze.
3️⃣ Greater Flexibility: Handle everything from URLs to loops with simpler, more straightforward code.
Practical Examples:
🔹 Embed variables right into strings without tedious plus signs.
🔹 Create dynamic class names and style properties without elaborate logic.
🔹 Effortlessly pass entire strings through Angular pipes.
🔹 Enhance loops and structural directives to generate data-driven HTML elements.
In short, untagged template literals streamline the way you manage dynamic content. You can already play with it on You can already play with the feature on
--next flag.No more Enums, Namespaces and Class parameter in #TypeScript 👀
Now in TypeScript v5.8, we get a new
So what is non erasable syntax? 🤔
TypeScript is a compile time tool and it is stripped away during build time so it doesn't end up in your final application bundles. Enums, Namespaces and Class parameter break this pattern and are compiled to JavaScript when you build your application. This new
https://www.totaltypenoscript.com/erasable-syntax-only
Now in TypeScript v5.8, we get a new
--erasableSyntaxOnly flag that marks all non erasable syntax as an error. So what is non erasable syntax? 🤔
TypeScript is a compile time tool and it is stripped away during build time so it doesn't end up in your final application bundles. Enums, Namespaces and Class parameter break this pattern and are compiled to JavaScript when you build your application. This new
--erasableSyntaxOnly flag will throw a compile time error during compile time when you use one of this non erasable TypeScript features, effectively disabling the use of these features 🎉 https://www.totaltypenoscript.com/erasable-syntax-only
Total TypeScript
TypeScript 5.8 Ships --erasableSyntaxOnly To Disable Enums
TypeScript 5.8's new erasableSyntaxOnly flag enforces pure type annotations by disabling enums, namespaces, and parameter properties.
Angular Munich pinned «No more Enums, Namespaces and Class parameter in #TypeScript 👀 Now in TypeScript v5.8, we get a new --erasableSyntaxOnly flag that marks all non erasable syntax as an error. So what is non erasable syntax? 🤔 TypeScript is a compile time tool and it is…»
🚨 Achtung!🚨
Es ist heutzutage ähnlich wie bei der Wohnungssuche, wo man auf gefälschte Schufa-Formulare stoßen kann – die Situation ist unglaublich unsicher!
Das betrifft nicht nur job-Switcher oder CV-Tester. In jedem Kundenprojekt könnten versteckte Probleme existieren. Ob absichtlich oder durch frühere Entwickler integriert, sollte immer darauf geachtet werden.
Ich empfehle, solche Testaufgaben stets in Sandbox-Umgebungen durchzuführen, um Risiken zu minimieren!!!
#security #cv #jobsuche
Es ist heutzutage ähnlich wie bei der Wohnungssuche, wo man auf gefälschte Schufa-Formulare stoßen kann – die Situation ist unglaublich unsicher!
Das betrifft nicht nur job-Switcher oder CV-Tester. In jedem Kundenprojekt könnten versteckte Probleme existieren. Ob absichtlich oder durch frühere Entwickler integriert, sollte immer darauf geachtet werden.
Ich empfehle, solche Testaufgaben stets in Sandbox-Umgebungen durchzuführen, um Risiken zu minimieren!!!
#security #cv #jobsuche
Angular Munich
🚨 Achtung!🚨 Es ist heutzutage ähnlich wie bei der Wohnungssuche, wo man auf gefälschte Schufa-Formulare stoßen kann – die Situation ist unglaublich unsicher! Das betrifft nicht nur job-Switcher oder CV-Tester. In jedem Kundenprojekt könnten versteckte Probleme…
Self-Managed:
- Cuckoo -- Cuckoo or modified cuckoo does good job covering different OS platforms.
- drakvuf -- Unlike cuckoo, this is agentless. The setup for this is quiet involved but the results are great.
Sandboxie
- Noriben (not exactly a sandbox but does a decent job in Behavioural) -- A python noscript which montiors via ProcMon. Simple easy to setup in a VM. Again not exactly a Sandbox and you would miss out on lot of memory related things.
Hosted/Commercial
- Hybrid Analysis (Not sure for Student if they give a free base account)
- app.any.run - malware hunting for free
- VMRay (according to me one of the best Commercial Sandbox offering)
Also PacketTotal.com if you're dealing with pcaps
- Cuckoo -- Cuckoo or modified cuckoo does good job covering different OS platforms.
- drakvuf -- Unlike cuckoo, this is agentless. The setup for this is quiet involved but the results are great.
Sandboxie
- Noriben (not exactly a sandbox but does a decent job in Behavioural) -- A python noscript which montiors via ProcMon. Simple easy to setup in a VM. Again not exactly a Sandbox and you would miss out on lot of memory related things.
Hosted/Commercial
- Hybrid Analysis (Not sure for Student if they give a free base account)
- app.any.run - malware hunting for free
- VMRay (according to me one of the best Commercial Sandbox offering)
Also PacketTotal.com if you're dealing with pcaps
cuckoosandbox.org
Automated Malware Analysis - Cuckoo Sandbox - cuckoosandbox.org
Automated Malware Analysis – Cuckoo Sandbox Home About Download […]
DeepSeek & Datenschutz
Hallo! Wollte euch nur darauf aufmerksam machen, dass wenn ihr DeepSeek nutzen wollt - dann dort bitte erst recht nicht Unternehmens- und persönliche Informationen teilen!
DeepSeek speichert (in der Online Variante) neben ausgeführten Prompts auch Tastatureingaben und wie etwas eingegeben wird - das ist bei ChatGPT bspw. nicht der Fall und ist ein recht weitreichender Eingriff.
Hallo! Wollte euch nur darauf aufmerksam machen, dass wenn ihr DeepSeek nutzen wollt - dann dort bitte erst recht nicht Unternehmens- und persönliche Informationen teilen!
"Technical Information. We collect certain device and network connection information when you access the Service. This information includes your device model, operating system, keystroke patterns or rhythms, IP address, and system language. We also collect service-related, diagnostic, and performance information, including crash reports and performance logs. We automatically assign you a device ID and user ID. Where you log-in from multiple devices, we use information such as your device ID and user ID to identify your activity across devices to give you a seamless log-in experience and for security purposes."
DeepSeek speichert (in der Online Variante) neben ausgeführten Prompts auch Tastatureingaben und wie etwas eingegeben wird - das ist bei ChatGPT bspw. nicht der Fall und ist ein recht weitreichender Eingriff.
Hi 🫶🏻 everyone!!!
Changes are coming, and I want to bring you even more excitement and inspiration to grow 💪🏻 together with me.
I’m looking to improve my channel 🛠 and would love to hear your thoughts. What topics are you most interested in, and what would you like to read more about?
Also, which language do you prefer for the channel: English 🇺🇸 or German 🇩🇪?
Your input is very important to me ❤️, and I want to create content that truly adds value for you!
Changes are coming, and I want to bring you even more excitement and inspiration to grow 💪🏻 together with me.
I’m looking to improve my channel 🛠 and would love to hear your thoughts. What topics are you most interested in, and what would you like to read more about?
Also, which language do you prefer for the channel: English 🇺🇸 or German 🇩🇪?
Your input is very important to me ❤️, and I want to create content that truly adds value for you!
This media is not supported in your browser
VIEW IN TELEGRAM
🎥 The trailer for the Angular Documentary is here! 🚀
This documentary is a celebration of the people, ideas, and innovation that have made Angular what it is today, a tool that empowers developers around the world to create exceptional web experiences.
🎬 Watch the trailer, get inspired, and share the excitement! Let’s make this a viral moment for the Angular community. 💻❤️
This documentary is a celebration of the people, ideas, and innovation that have made Angular what it is today, a tool that empowers developers around the world to create exceptional web experiences.
🎬 Watch the trailer, get inspired, and share the excitement! Let’s make this a viral moment for the Angular community. 💻❤️
🔥3
MASSIVE & Quick performance WIN with NgOptimizedImage explained by Jarosław Żołnowski in new Angular Space article :) #angular 👇
Article
———
@Memoirs_of_a_ngxSamurai
Article
———
@Memoirs_of_a_ngxSamurai
🚨 AWS UG Munich - January 2025
30.01.2025,18:00...21:00
————————————————
AGENDA:
18:00 - Doors open, networking, drinks, food
18:30 - Markus Ostertag (AWS Hero): Recent AWS announcements
19:15 - Benjamin Hofmann, Biyan Cicek and Tim Chen (MaibornWolff): Incident Resolution Assistance with AI
20:00 - Ovidiu Hutuleac (Sr. Data Solutions Architect @ AWS): Deep Dive into Amazon Aurora DSQL
20:45 - More drinks, more networking
————————————————
Address:
- MaibornWolff GmbH KARE Kraftwerk
- Drygalski-Allee 25, München (11th Floor)
————————————————
Link: https://www.meetup.com/de-DE/aws-munich/events/305475561/?eventorigin=group_upcoming_events
#meetup #aws #awsMucUG
@Memoirs_of_a_ngxSamurai
30.01.2025,18:00...21:00
————————————————
AGENDA:
18:00 - Doors open, networking, drinks, food
18:30 - Markus Ostertag (AWS Hero): Recent AWS announcements
19:15 - Benjamin Hofmann, Biyan Cicek and Tim Chen (MaibornWolff): Incident Resolution Assistance with AI
20:00 - Ovidiu Hutuleac (Sr. Data Solutions Architect @ AWS): Deep Dive into Amazon Aurora DSQL
20:45 - More drinks, more networking
————————————————
Address:
- MaibornWolff GmbH KARE Kraftwerk
- Drygalski-Allee 25, München (11th Floor)
————————————————
Link: https://www.meetup.com/de-DE/aws-munich/events/305475561/?eventorigin=group_upcoming_events
#meetup #aws #awsMucUG
@Memoirs_of_a_ngxSamurai
The #angular resource API got an upgrade in v19.2!
You can now provide a default value to the resource API. This makes it easy to type the value property of the resource and allows for better handling when no values are returned ✅
Before 'resource()' resolves a value, it's value property is in an unknown state and returns 'undefined', so the type of '.value()' also includes 'undefined'.
When you give it a default value you can prevent this undefined state and type 👏
The default value is added to both resource and rxResource ➕
#ng19 #resourceAPI #rxResource
———
@Memoirs_of_a_ngxSamurai
You can now provide a default value to the resource API. This makes it easy to type the value property of the resource and allows for better handling when no values are returned ✅
Before 'resource()' resolves a value, it's value property is in an unknown state and returns 'undefined', so the type of '.value()' also includes 'undefined'.
When you give it a default value you can prevent this undefined state and type 👏
The default value is added to both resource and rxResource ➕
#ng19 #resourceAPI #rxResource
———
@Memoirs_of_a_ngxSamurai
Let's update the #node (2025-01-30)!
Notable Changes:
- crypto: update root certificates to NSS 3.107
- fs: allow exclude option in globs to accept glob patterns
- module: add ERR_UNSUPPORTED_TYPESCRIPT_SYNTAX
- sqlite: support TypedArray and DataView in StatementSync
- src: add --disable-sigusr1 to prevent signal i/o thread
- src,worker: add isInternalWorker
- test_runner: add TestContext.prototype.waitFor()
- test_runner: add t.assert.fileSnapshot()
- test_runner: add assert.register() API
Want to know more? Check out the release notes!
#nodejs
———
@Memoirs_of_a_ngxSamurai
Notable Changes:
- crypto: update root certificates to NSS 3.107
- fs: allow exclude option in globs to accept glob patterns
- module: add ERR_UNSUPPORTED_TYPESCRIPT_SYNTAX
- sqlite: support TypedArray and DataView in StatementSync
- src: add --disable-sigusr1 to prevent signal i/o thread
- src,worker: add isInternalWorker
- test_runner: add TestContext.prototype.waitFor()
- test_runner: add t.assert.fileSnapshot()
- test_runner: add assert.register() API
Want to know more? Check out the release notes!
#nodejs
———
@Memoirs_of_a_ngxSamurai
Stop using #APP_INITIALIZER in your #angular apps 🛑
In angular you can preform logic before your application is bootstrapped. This was always done by creating a provider for the APP_INITIALIZER injection token and giving it a factory method 🏗
But angular is moving to a standalone approach, has the inject function and improved on many other fronts.
Because of all these changes, APP_INITIALIZER has been deprecated for the new
The
With the new
Link
In angular you can preform logic before your application is bootstrapped. This was always done by creating a provider for the APP_INITIALIZER injection token and giving it a factory method 🏗
But angular is moving to a standalone approach, has the inject function and improved on many other fronts.
Because of all these changes, APP_INITIALIZER has been deprecated for the new
provideAppInitializer() function! ✅ The
provideAppInitializer() function takes a callback function and inside this function you can perform you initialization logic. With the old APP_INITIALIZER you had to declare a dependencies array inside your provider if you needed to use dependencies like the httpClient or some internal service. With the new
provideAppInitializer() you can simply inject whatever service you need, as it run inside the injection context 🔥 Link
#News
🌐 HTTP QUERY: A New Method for Search Queries
In the world of HTTP, there has long been a problem with transmitting complex search queries. When a developer needs to pass a large set of parameters for searching or filtering, there are two not-so-ideal options.
One can use GET and pass everything in the URL:
However, URLs have inherent length limitations, and encoding complex parameters can become cumbersome.
The second option is to use POST and send the parameters in the request body. However, POST is not intended for such operations: it is not cacheable and not idempotent, complicating interactions with CDNs and resending requests.
This is why the new QUERY method was introduced. It allows sending search parameters in the request body:
The QUERY method retains all the advantages of GET: it is safe, idempotent, and cacheable. It combines support for the request body with caching capabilities.
The method has officially received PROPOSED STANDARD status, indicating that support in browsers and web frameworks is on the horizon.
Summarizing:
RFC
🌐 HTTP QUERY: A New Method for Search Queries
In the world of HTTP, there has long been a problem with transmitting complex search queries. When a developer needs to pass a large set of parameters for searching or filtering, there are two not-so-ideal options.
One can use GET and pass everything in the URL:
GET /feed?q=foo&limit=10&sort=-published&filters[]=status:active&filters[]=type:post
However, URLs have inherent length limitations, and encoding complex parameters can become cumbersome.
The second option is to use POST and send the parameters in the request body. However, POST is not intended for such operations: it is not cacheable and not idempotent, complicating interactions with CDNs and resending requests.
This is why the new QUERY method was introduced. It allows sending search parameters in the request body:
QUERY /feed
Content-Type: application/json
{ "q": "foo", "limit": 10, "sort": "-published", "filters": ["status:active", "type:post"] }
The QUERY method retains all the advantages of GET: it is safe, idempotent, and cacheable. It combines support for the request body with caching capabilities.
The method has officially received PROPOSED STANDARD status, indicating that support in browsers and web frameworks is on the horizon.
Summarizing:
+============+=============+==================+==================+
| | GET | QUERY | POST |
+============+=============+==================+==================+
| Safe | yes | yes | potentially no |
+------------+-------------+------------------+------------------+
| Idempotent | yes | yes | potentially no |
+------------+-------------+------------------+------------------+
| Cacheable | yes | yes | no |
+------------+-------------+------------------+------------------+
| Content | "no defined | expected | expected |
| (body) | semantics" | (semantics per | (semantics per |
| | | target resource) | target resource) |
+------------+-------------+------------------+------------------+
RFC
IETF Datatracker
The HTTP QUERY Method
This specification defines the QUERY method for HTTP. A QUERY requests that the request target process the enclosed content in a safe and idempotent manner and then respond with the result of that processing. This is similar to POST requests but can be automatically…
🔥1
🚀 Enforce a standardized order of attributes in your #angular templates thanks to this #eslint rule.
💡 Consistency in your codebase is more important than the specific order you choose. Pick a standard and stick to it across your team.
Link to rule:
https://github.com/angular-eslint/angular-eslint/blob/main/packages/eslint-plugin-template/docs/rules/attributes-order.md
PS:
and this supports autofix (--fix)!!!
💡 Consistency in your codebase is more important than the specific order you choose. Pick a standard and stick to it across your team.
Link to rule:
https://github.com/angular-eslint/angular-eslint/blob/main/packages/eslint-plugin-template/docs/rules/attributes-order.md
PS:
and this supports autofix (--fix)!!!
❤1🔥1