投稿時間:2023-04-25 22:17:39 RSSフィード2023-04-25 22:00 分まとめ(20件)

カテゴリー等 サイト名等 記事タイトル・トレンドワード等 リンクURL 頻出ワード・要約等/検索ボリューム 登録日
Ruby Rubyタグが付けられた新着投稿 - Qiita オフラインリアルタイムどう書く問題作成リハビリ #0 Ruby で解く https://qiita.com/mtsmfm/items/2adb204678c782e34ac8 問題 2023-04-25 21:45:46
Docker dockerタグが付けられた新着投稿 - Qiita Docker コンテナ内でゾンビプロセスが発生してしまう問題への対処 https://qiita.com/k_tomo/items/d2327655dd97f4642be2 docker 2023-04-25 21:01:22
海外TECH Ars Technica 33 practical gift ideas for Mother’s Day 2023 https://arstechnica.com/?p=1930308 mother 2023-04-25 12:30:50
海外TECH DEV Community Creating Resource group and Virtual machine using Command-line interface (CLI) in Azure https://dev.to/mojeed88/creating-resource-group-and-virtual-machine-using-command-line-interface-cli-in-azure-1lj8 Creating Resource group and Virtual machine using Command line interface CLI in AzureAzure command line interface Azure CLI is another way of creating Virtual Machine in Azure apart from PowerShell Like Azure PowerShell the Azure CLI is a command driven scripting environment that also uses the Azure REST API to execute management tasks in Azure It is nearly identical to Azure PowerShell in capability and function running on Windows Linux and Mac Also as with Azure PowerShell you can run the Azure CLI in a web browser through the Azure Cloud Shell giving you the capability to run the Azure CLI in scenarios were running it natively might not be possible or feasible Below are the steps to take when using CLI to create Resource group and Virtual machine in Azure Login to your Azure portalAfter that click on the cloud shell in the Azure porta then select BashAfter clicking on Bash then you can paste your resource group script to create your Resource group just as shown belowFrom the above image it shows that resource group has been created which “myCoolRg and this can also be confirm by clicking on Resource group in Azure portal to see if our resource group has been created See the image belowThe next step is to create virtual machine by pasting the script as shown belowClick on the virtual machine name “myVMcli to see if it has been created and running See the image below Wow we have our virtual machine running 2023-04-25 12:36:50
海外TECH DEV Community Avoid Common Pitfalls with Next.js Server-Side Rendering https://dev.to/hi_iam_chris/avoid-common-pitfalls-with-nextjs-server-side-rendering-2gi6 Avoid Common Pitfalls with Next js Server Side RenderingNextJS is an amazing JavaScript framework that uses ReactJS for building UI applications It comes with many great features that help you build faster and SEO friendly applications like server side rendering However like any tool if used incorrectly it can end up decreasing your performance instead of improving it And in this article we will cover some of the incorrect uses of server side rendering that might cause your web application to load slower instead of faster Using slow requests in the getServerSideProps functionThis function is the place where you might want to get the data required for your page component Maybe load it from some rd part API or maybe you just need to get it from your database However that should not take long There should not be more than seconds until your user gets to see the first items in the browser And if your data fetching takes more than that it is impossible to meet that criteria Take a look at the next example const BadPractices firstName lastName gt return lt div gt hello firstName lastName lt div gt const getData async gt const p new Promise res rej gt setTimeout gt res firstName john lastName doe return p export async function getServerSideProps context const data await getData return props data In the example above we have a simple component that takes some data as props and displays them That data is retrieved from the getData function that returns them with a timeout of five seconds Yes locally running this is different than running it on a server but for the sake of the example if there was no delay a user would get the response in around milliseconds Because of this delay the response is just above seconds If you have such a long lasting request maybe a better solution is to fetch data on the client and display some loading indicator to the user That way user is informed that data is being loaded and the page didn t just freeze Expensive calculations in the getServerSidePropsYour getServerSideProps function should be simple Just a simple preparation of data and sending it to the page component But sometimes you might be tempted to make some extra data preparation for your UI component Be careful with that because it can heavily affect your response time export async function getServerSideProps context for let i i lt i for let j j lt j return props firstName john lastName doe Let s take an example from the first point and just change the getServerSideProps function to the one above You can notice two nested loops just running times each making its complexity of O n This makes a local delay in response of around seconds Yes you might think that this is a nonsense example and no one would write this in the code But you would be surprised how many times I saw developers creating even worse complexities by merging data from different sources locally and causing big performance issues Generating too large HTMLThis one would also be a static generation issue but in any case the result HTML is so large that takes a long time to load In the example below I am just displaying one image and one of the popular techniques to improve user experience is displaying placeholder images which I am using below as well const HeavyUI gt return lt div gt hello firstName lastName lt Image src DJI JPG alt Picture of the dog fill placeholder blur blurDataURL placeholderImage gt lt div gt For this to work the placeholder image is converted to base and used for display until the correct image is loaded The problem happens if you use the incorrect image that takes too much memory In this example I took the final image and directly converted it which caused an initial loading time to be over five seconds because the full image of MB was injected into the HTML Yes an intentional mistake but often happens that an incorrect image is used Other reasons could generate large HTML as well Maybe there is not one large image but many small ones or just content generated ends up being large like big tables or lists These are all things you should keep in mind when using server rendering Wrap upServer side rendering and static site generation are great tools to improve your web application performance And when utilized correctly can give amazing SEO improvement However it is important to use it correctly The user should have some visible response in the first seconds and a longer time might even cause ranking penalties by search engine That is why I hope this article can help you to avoid some common mistakes The code used in the examples above can be found in my GitHub repository For more you can follow me on Twitter LinkedIn GitHub or Instagram 2023-04-25 12:35:58
海外TECH DEV Community SPARTAN. Type-safe Angular full-stack development powered by Analog. https://dev.to/this-is-angular/spartan-type-safe-angular-full-stack-development-powered-by-analog-17dm SPARTAN Type safe Angular full stack development powered by Analog In Server Side Rendering SSR is an essential part of modern web applications In the React ecosystem NextJs has become so incredibly popular that the official React documentation now recommends to use it when creating a new project The Vue docs point to Nuxt as the recommended way to take a Vue application from the example to a production ready SSR app So what about Angular We all know Angular as a popular single page application framework SPA by Google It s strength has always been in enterprise applications who require developers to build and manage complex systems But indeed Angular has had support for server side rendering SSR through Angular Universal for years However in developer surveys Angular s SSR capabilities has been the top area Angular users want to see improvements in To put it short SSR is currently one of the weaknesses of this amazing framework The good news the team is working hard to bring improvements to Universal and the core framework that will soon allow us to leverage the full power of Angular combined with modern SSR solutions I invite you to read this exciting article by Jessica Janiuk from the Angular team to learn more The even better news is that SSR with Angular today might be a lot further than you think already brandontroberts has created an amazing community project called Analog A metaframework a la NextJs or Nuxt built on top of Angular Vite and Nitro There will be a whole article dedicated to getting started with Analog that will go into much more detail I also recommend to check out the official documentation at analogjs org to learn more In this article we will go a step further and augment Analog with some other tools to create a complete incredibly powerful application stack that is typesafe from the database to the DOM rendering template Thankfully Angular s TypeScript support is unrivaled as the framework has been developed entirely in TypeScript since its initial release became available more than ten years ago To maintain this high focus on typesafety throughout the entire application is only natural With both client and server written in TypeScript Analog puts us in an exceptional position to fully capitalize on this especially as more and more fantastic server side capabilities become available in the Typescript ecosystem Once we augment these two fundamental pillars with other amazing mostly typesafe technologies we end up with the following stack Supabase Prisma Analog tRPC Tailwind Angular and Nx Or short SPARTAN Of course all the source code is available to you and if you are already excited about this and cannot wait to get your hands dirty I invite you to check out the repository here I will do my best to present compelling arguments for each of the underlying technologies Continue reading to learn why I think they deserve to power your upcoming full stack application The SPARTAN StackLet s get our hands dirty and see the different components that make up the SPARTAN stack NxLet s start with the workspace The location where your code will reside and the features that meet the needs of your users will be implemented It reminds me of a craftsman s workshop if you will There is only a workbench at first and as you move along and continue working on your projects you gradually fill it with all the tools you need Our beloved uncle Nx has been doing woodworking for years and arrives on the first day with a toolbox filled with every tool one could ever need But let s get back to software Nx is a next generation build system that offers first class monorepo support and strong integrations for all well known javascript frameworks It enables you to use  frontend frameworks like Angular or backend frameworks like NestJs to architect test and build your project at any size It comes with a fantastic collection of tools that make managing monorepos much easier A monorepo is a multi project and multi library version controlled code repository By enabling us to reuse components and types not just between multiple front end libraries but also between the frontend and the backend monorepos make it simple to increase the DRYness of our code The ability to share code across the client and server in a s∂ingle repository is a game changer for us There are many more advantages to monorepos and far better papers have been written about them To get started with Nx you can run the following command and select the following options npx create nx workspace latestChoose your style ·integratedWhat to create in the new workspace ·angularRepository name ·spartanApplication name ·appDefault stylesheet format ·cssEnable distributed caching to make your CI faster ·No AngularThe aforementioned command will create for you a Nx workspace that is already set up to be used with Angular Well done Your SPARTAN project s foundation has just been established Let me briefly explain why Angular is my preferred framework before we go on Angular has opinionated routing solutions a strong HttpClient for making asynchronous web queries and my personal favorite an outstanding dependency injection system Angular provides programmers with all the resources they need to create outstanding applications right out of the box It is more than simply a library it is a full fledged framework Also Angular is written in TypeScript Static type checking is now possible with our IDE helping in identifying mistakes early on When both the frontend and the backend are created using TypeScript this is extremely powerful This enables us to be typesafe from the database all the way through to the template that renders our data to the DOM When creating something from scratch it s easy to overlook that applications on the internet are utilized by individuals of all abilities It s possible that some users will need assistive technology to use our applications Good accessibility ay features have been baked into the Angular framework By default the Angular development team prioritizes accessibility Look at the Angular Component Development Kit for example Its accessibility features are fantastic It offers all the tools necessary to build your own extendable aesthetically pleasing and easily accessible components and is maintained by the framework s creators Built with Angular for everyone Building with Angular also means building with everyone The incredible community surrounding Angular is perhaps its best feature They are an amazing group of folks from all different backgrounds The amazing Angular core team which cares about users developers and ensures that everyone has a say when they plan and build new features is the community s spearhead pardon the pun Angular truly supports excellent community projects and the community takes full advantage by providing tremendous tools and features on top of an amazing framework AnalogWe are off to a strong start and have a full fledged complete framework as the essential component of our stack So let s add Analog to Angular and give it some superpowers Adding Analog to your workspace is quite simple with the brand new Nx plugin Install the analogjs platform npm i analogjs platformAnd add a preconfigured Analog application nx g analogjs platform app analog trpcAnalog is a metaframework for Angular It provides you with all the benefits of Angular but extends its capabilities with even more Analog uses Vite for serving and building as well as Vitest for testing Vite is a next generation JavaScript bundler that is super fast It also gives us access to the Vite ecosystem with hundreds of very powerful plugins A mature frontend framework like Angular combined with access to all the benefits of Vite is truly incredible It seems like the Angular team shares this opinion as it is also working to move the built in dev server for Angular to Vite Minko Gechev mgechev Yesterday we released Angular v next It brings you a few features to try ‣Dev server powered by Vite‣Hydration we built in collaboration with Chrome Aurora‣Non experimental TypeScript decorators‣HTTP request caching ‣Much moregithub com angular angula… PM Apr Another incredible advantage of Analog is that it comes equipped to handle both Server Side Rendering SSR and Static Site Generation SSG for Angular applications With Analog Angular can easily power marketing websites blog pages and more As Analog is SSR by default no further configuration is necessary Analog comes with SSG support It makes it simple for you to export your website as basic static assets that you can host on GitHub Pages S or any other static file server Whether you choose to go fully static or leverage the benefits of server side rendering Analog offers all of the SSR benefits for SEO and performance today Still there is even more With Angular we already get non destructive hydration and significantly improved web vitals enhancements You can expect even greater performance once zoneless applications powered by signals are released in version Building on Analog puts you in a great position to take full advantage of those features Last but not least Analog supports API server routes and file based routing for Angular apps In an analog application the folder hierarchy and filenames determine the routing You won t ever need to declare a route array again Don t worry you can still use the full power of the Angular router with its route guards and resolvers by defining route metadata within your files TailwindCSSEvery good application needs a great UI Although it s easier said than done there are tools that help us do our best work Tailwind is one of those essential tools for me Tailwind is a utility first CSS framework packed with classes like flex pt text center and rotate These utility classes let you to modify the layout color spacing font shadows and more to create a distinctive component design without leaving your HTML or adding any additional CSS code To me there are several key factors that earn Tailwind it s place in the SPARTAN stack Its set of utility classes have good design principles built in Building your reusable UI components with tailwind gives you consistency and flexibility out of the box Tailwind plays together perfectly with Angular The framework is built around components which encapsulate part of the UI and can be assembled to achieve the user experience you desire I would even claim that Angular makes working with tailwind especially fun Angular s directives are perfect to hide the often complained about ugly markup I wrote a whole article about this directive and tailwind love affair Also if you dare you can something like this to extract your tw classes and keep your Angular templates clean Brandon Roberts youtube com BrandonRobertsDev brandontroberts Wait when did this become a thing in Angular PM Apr Warning This seems to be highly controversial so use at your own risk Since we are using Vite and Nx adding tailwind will also be super straightforward We install the necessary dependenciesnpm install D tailwindcss postcss autoprefixerThen we add a tailwind config to the root of our application const createGlobPatternsForDependencies require nrwl angular tailwind const join require path type import tailwindcss Config module exports darkMode class content index html join dirname src stories spec ts html createGlobPatternsForDependencies dirname theme extend Finally we tell Vite to run PostCSS and create the tailwind classes by adding a postcss config js file to our application const join require path module exports plugins tailwindcss config join dirname tailwind config js autoprefixer tRPCAt this point our frontend is ready to go However it turns out that Analog sneakily turned us into a full stack developer Code that we put inside the server folder is actually executed on the server It s that easy Well let s take full advantage of our API being built in the same language and the same repository Let s make our server client interaction super smooth and super typesafe with tRPC tRPC stands for TypeScript Remote Procedure Call and is a lightweight library for remotely calling backend functions on the client side It makes communication between the backend and frontend incredibly easy taking advantage of TypeScript inference to automatically warn you of errors on your client before you even save the change on your server file Using tRPC will feel like using an SDK for your API s server code giving you confidence in your endpoints On the server you create a tRPC API by defining your procedures Procedures are the composable functions used to build your backend They re composable and can be queries mutations or subscriptions Routers contain multiple procedures Often we use a the popular Zod validator library to ensure the input from the client has exactly the shape that our procedure expects Finally we always export the type of our API s tRPC router so we can use it in our frontend code In the SPARTAN repository I have already implemented tRPC adapters for both the client inside our Angular application and the Nitro server which Analog provides to us by default This makes using tRPC and Analog super easy If you are interested in the underlying source code feel free to check out the spartan trpc package which is located in the libs trpc folder For more information on tRPC I recommend checking out their amazing documentation site trpc io PrismaNow our front end code is typesafe as is our server code and our front end and server interaction is both very smooth and typesafe We re just a few steps away from having complete typesafety from our database to the template generating the DOM Prisma is the tool that will bring us there Prisma is a Node js and TypeScript ORM An ORM is an Object Relational Mapper which is a piece of code that wraps the code required to manipulate the data allowing you to avoid using SQL and instead interact directly with an object in the same language you re using Hibernate is a popular ORM for Java and the Spring framework NET has the entity framework  and Typescript has Prisma Prisma however goes beyond just a simple ORM It has an intuitive data model automated migrations I can t emphasize how valuable this is typesafety and auto completion With Prisma you include a definition of your database schema within your code repository Prisma then creates a properly typed Client using this information The Prisma client is query builder that is specific to your database schema and is aware of every one of your tables their fields and their relationships With Prisma we are literally typesafe from the database to the template Additionally it creates SQL migrations automatically using the Prisma schema monitors the execution of migrations and offers tools for identifying and resolving conflicts and drifts between migrations and the database schema This completely changes the game as it enables your database and all of its types to evolve alongside your application code We can add Prisma to our stack like this npm install prisma save devThen we initialize the client with npx prisma initThis will create a prisma folder in our Nx workspace s root directory Inside there is a file called schema prisma I added the following contents generator client provider prisma client js datasource db provider postgresql url env DATABASE URL model note id BigInt id map notes pkey default autoincrement created at DateTime default now db Timestamptz note String This will tell Prisma to create a JavaScript TypeScript client connect to a Postgres SQL database using the DATABASE URL connection url with a schema that has a simple table called note for our example Of course you will adjust the schema to fit your project At this point our typesafe stack is ready for development The only thing that is missing is persistent data storage our PostgresSQL database SupabasePostgreSQL is one of the worlds most scalable databases It is a sophisticated object relational system applying SQL Postgres allows you to securely store vast quantities of complex data It enables developers to build the most sophisticated programs carry out administrative operations and establish integral environments It is an open source technology trusted by millions of developers It turns out that every Supabase project is powered by a dedicated PostgreSQL database Supabase is a fantastic open source Firebase replacement that is powered by the aforementioned Postgres database It also provides a lot more features as your project expands and becomes more involved Supabase provides solutions for common needs like as authentication instant APIs edge functions real time subscriptions and storage making it a robust platform on which to develop your application Even better Supabase is open source at heart You can look through the source code You may self host it utilize their free plan to get started or commit to one of their premium subscriptions to receive a fully managed production quality environment that scales with your needs Supabase just wrapped up their Launch Week with a ton of incredible features This includes an AI assistant that was added to their premium platform  It is aware of your database design and can help you when creating more complex SQL queries I m even more thrilled by their most recent releases of outstanding open source projects such as the PostgreSQL package manager database dev dbdev serves the same purpose for PostgreSQL that npm does for JavaScript It gives your PostgresSQL database incredibly easy access to packages that give your DB superpowers like full text search or one time only read data access àla Snapchat The best thing is that dbdev can load any PostgreSQL instance that has the required fundamental extensions independent of the Supabase platform Again the code is open source I can t wait to see where this project goes in the future and I have no doubt that we will soon be able to utilize a lot more fantastic libraries Like Brandon Roberts puts it Brandon Roberts youtube com BrandonRobertsDev brandontroberts Always bet on open source PM Apr Let s complete this last step and finish our typesafe fullstack SPARTAN stack We will set up our persistent data storage and then use Prisma to sync our database schema to the Postgres database that our project will run on There are two ways to get up and running with Supabase Connecting directly to your managed instance on supabase comLocally using Docker Option Connecting to supabase com instanceThis way is super easy Simply by creating your account you will also have set up your first project This means that you are ready to connect to your projects database already Let s connect our application to our Supabase Postgres instance Add a env file at the root of your Nx workspace and add the following code snippet Environment variables declared in this file are automatically made available to Prisma See the documentation for more detail accessing environment variables from the schema Prisma supports the native connection string format for PostgreSQL MySQL SQLite SQL Server MongoDB and CockroachDB See the documentation for all the connection string options DATABASE URL postgresql postgres YOUR PASSWORD db YOUR SUPABASE REFERENCE ID supabase co postgres schema public It s really this easy Prisma can now take over the DB management and make sure that our schema is migrated to our Supabase instance Option Connecting to local supabase instanceSupabase also allows you to run a version of their system locally To get up and running you can follow this guide They do a great job explaining how to get started and there is plenty of resources to help you if you get stuck If you want the quick and dirty way and are on a Mac Here is what I did to get up and running Install supabase CLIbrew install supabase tap supabase Log into CLIsupabase loginCreate your access token from and paste it into your terminal window Create Supabase project if you are in the spartan directory move UP cd create your project foldermkdir spartan supabase move into the new foldercd spartan supabase start a new git repository ーimportant don t skip this stepgit init Start Supabase servicessupabase initandsupabase start Important Make sure Docker is running and configured correctly I had Docker already installed and running However my setup is not compatible with the config Supabase expects bydefault I ran the following command to get it to work for now DOCKER HOST unix Users YOUR USER ACCOUNT NAME docker run docker sock supabase startFor more info see this issue on GitHub Connect to local DBThe previous step can take a while as all the docker images have to be downloaded first However once everything completes you will see a console output that looks like this Started supabase local development setup API URL http localhost DB URL postgresql postgres postgres localhost postgres Studio URL http localhost Inbucket URL http localhost anon key eyJh service role key eyJh Take your cyber security hat off for a minute we are working locally after all and copy the connection string postgresql postgres postgres localhost postgresAdd a env file at the root of your Nx workspace and add the connection string like so Environment variables declared in this file are automatically made available to Prisma See the documentation for more detail accessing environment variables from the schema Prisma supports the native connection string format for PostgreSQL MySQL SQLite SQL Server MongoDB and CockroachDB See the documentation for all the connection string options DATABASE URL postgresql postgres postgres localhost postgres schema public Perfect You should be able to connect to your local Supabase Postgres instance now Initializing the DBNow that we have successfully set up our DB we need to set up our database schema Primsa makes this super easy We can push the schema defined in our schema prisma file to our DB runningyarn prisma db pushFinally we create our prisma client by runningyarn prisma generateThat s it Now our DB should be all set up and ready to go Bringing it all togetherWhile the instructions should get you pretty close to running your own SPARTAN application the easiest way to get started with the full stack is to clone fork the repository It has all the little tweaks needed to get things running done already You can start making changes right away git clone The files that will be most interesting to you are index page ts inside the analog trpc application import Component OnInit from angular core import injectTRPCClient from trpc client import AsyncPipe DatePipe JsonPipe NgFor NgIf from angular common import FormsModule NgForm from angular forms import note from prisma client import waitFor from wait for const inputTw focus visible ring focus visible ring red focus visible outline block w full appearance none rounded lg px py transition colors text base leading tight md text sm bg black dark bg zinc focus bg white dark focus bg dark placeholder text zinc dark placeholder text zinc contrast more border contrast more border current const btnTw focus visible ring focus visible ring zinc focus visible outline flex items center justify center rounded lg px py text sm font bold tracking tight shadow xl shadow red bg DD hover bg opacity text zinc hover text primary darker Component selector analog trpc home standalone true imports AsyncPipe FormsModule NgFor DatePipe NgIf JsonPipe host class block h full p template lt div class justify center flex mt mb items center gt lt h class font medium italic text xl text DD font bold gt SPARTAN lt h gt lt img class ml block w alt Spartan Logo src assets spartan svg gt lt div gt lt form class py flex items center f ngForm ngSubmit addPost f gt lt input required autocomplete off class inputTw name newTitle ngModel newTitle gt lt button class ml btnTw gt lt button gt lt form gt lt div class mt gt lt div class mb p font normal border border zinc rounded md ngFor let note of notes trackBy noteTrackBy gt lt div class flex items center justify between gt lt p class text sm text zinc gt note created at date lt p gt lt button class text xs h bg opacity hover bg opacity text zinc btnTw click removePost note id gt x lt button gt lt div gt lt p class mb gt note note lt p gt lt div gt lt div class text center rounded xl p bg zinc ngIf loadingPosts amp amp notes length gt lt h class text xl font medium gt No notes yet lt h gt lt p class text zinc gt Add a new one and see them appear here lt p gt lt div gt lt div gt export default class HomeComponent implements OnInit private trpc injectTRPCClient public loadingPosts false public notes note public newTitle public ngOnInit waitFor this trpc note list query then notes gt this notes notes public noteTrackBy index number note note gt return note id public addPost form NgForm if form valid form form markAllAsTouched return this trpc note create mutate title this newTitle then gt this fetchPosts this newTitle form form reset public removePost id bigint this trpc note remove mutate id then gt this fetchPosts private fetchPosts this loadingPosts true this trpc note list query then notes gt this loadingPosts false this notes notes It shows you how to query update and delete records in our DB using the tRPC client The client interacts with a trpc endpoint defined in the trpc ts file inside the server routes trpc folder of the same analog trpc application import appRouter from trpc routers import createContext from trpc context import createTrpcNitroHandler from spartan trpc export API handlerexport default createTrpcNitroHandler router appRouter createContext The appRouter comes from server trpc routers index ts and consolidates all other routers of your application In our case that is the notesRouter that is in the notes file of the same folder I suggest you should make changes to the source code of that file e g remove the list procedure and see how typescript immediately notifies you of the breaking change in the index page tsimport z from zod import router publicProcedure from trpc import PrismaClient from prisma client const prisma new PrismaClient export const noteRouter router create publicProcedure input z object title z string mutation input gt prisma note create data note input title list publicProcedure query gt prisma note findMany remove publicProcedure input z object id z bigint mutation input gt prisma note delete where id input id This is it You now have the full power of fullstack typesafety right at your finger tips This is SPARTAN What s nextAllowing NestJs as a backend provider is one of the most frequently requested features for Analog Nest is a powerful framework for building efficient scalable Node js server side applications It provides an application architecture which allows us to create highly testable scalable loosely coupled and easily maintainable applications The architecture is heavily inspired by Angular which in theory makes it a perfect fit for Analog and SPARTAN Feature Use NestJS integration as SSR http server brandonroberts posted on Apr Which scope s are relevant related to the feature request platformInformationNestJS is very popular Node js framework for building APIs and is widely used in the Angular ecosystem This feature would allow NestJS to be used as the server for the api routes and provided integration as the backend for SSR Links In development NestJS would be configured under the api path During the build it would host the Analog application and provide additional configured API routes Describe any alternatives workarounds you re currently usingNo responseI would be willing to submit a PR to fix this issue Yes No View on GitHub Unfortunately tRPC and NestJs do not play well together by default and the tRPC team does not intend to integrate the two through an official plugin for the time being However there is other tools out there that offer a similar type safe experience built for REST API s which is where NestJs shines Specifically I am talking about ts rest which has an official NestJs integration I am excited to explore those other options and see how SPARTAN can be the best possible starter for your enterprise full stack Angular projects With signals landing in Angular I also plan to make them an integral part of the SPARTAN stack timdeschryver has created an amazing form library called ng signal forms that is completely driven by signals and already provides an absolutely amazing developer experience dealing with even the more complex scenarios we need to tackle in our real world applications My goal is to integrate it into the current application to show how signals will transform Angular development in the future Finally there is an amazing repository called Taxonomy which serves as a great resource to the NextJs community showing off how a real world application can be built with version of the framework In an ideal world the SPARTAN repository could become such a beautifully crafted resource for the Angular community That is the ambitious goal I have for SPARTAN and if this article got you excited about what is possible I invite you to reach out with your ideas and even consider contributing yourself The future is brightWith Analog Angular finally has it s own meta framework that enables us to built on top of all the amazing features that Angular provides which gives us access to an amazing Vite ecosystem and will enable all of us to build better faster and more amazing full stack Angular applications Together with a powerful tools like TailwindCSS tRPC databases like Postgres and infrastructure providers like Supabase who are open source at heart I couldn t be more excited for more and more people and companies to go all in on Analog and maybe even the SPARTAN stack in the future As always do you have any further questions or suggestions for blog posts What do you think of this project Is this something you could see yourself working with I am curious to hear your thoughts Please don t hesitate to leave a comment or send me a message Finally if you liked this article feel free to like and share it with others If you enjoy my content follow me on Twitter or Github 2023-04-25 12:07:26
Apple AppleInsider - Frontpage News The UK's Digital Markets Unit may finally get its regulatory powers after all https://appleinsider.com/articles/23/04/25/the-uks-digital-markets-unit-may-finally-get-its-regulatory-powers-after-all?utm_medium=rss The UK x s Digital Markets Unit may finally get its regulatory powers after allAfter three years the UK s Digital Markets Unit is edging closer to gaining powers to crack down on big tech companies with draft legislation set to be introduced to parliament on Tuesday UK ParliamentThe Digital Markets Unit has existed since as a part of the UK s Competition and Markets Authority with the unit intended to keep tabs on big tech companies like Apple While it doesn t have any regulatory powers on its own that is set to change Read more 2023-04-25 12:58:44
Apple AppleInsider - Frontpage News VogDUO's magnetic wireless car charger for iPhone adds class with leather https://appleinsider.com/articles/23/04/25/vogduos-magnetic-wireless-car-charger-for-iphone-adds-class-with-leather?utm_medium=rss VogDUO x s magnetic wireless car charger for iPhone adds class with leatherVogDUO s Magnetic Wireless Car Charger for iPhone combines utility and style for a luxury charging experience with a sleekly designed MagSafe compatible charger for use inside a vehicle The VogDUO Magnetic Wireless Car Charger uses genuine leather from Europe for a premium finish It s common for devices like the iPhone to be used while on the move For drivers it functions as the GPS and a communications hub while passengers occupy their attention while in transit Read more 2023-04-25 12:14:19
海外TECH Engadget BMW brings its Digital Key Plus feature to Samsung Galaxy and Pixel phones https://www.engadget.com/bmw-brings-its-digital-key-plus-feature-to-samsung-galaxy-and-pixel-phones-122534824.html?src=rss BMW brings its Digital Key Plus feature to Samsung Galaxy and Pixel phonesBMW has announced Android smartphone owners can now use hands free technology that opens your car with your phone The feature known as the Digital Key Plus will be available on the Samsung Galaxy S Galaxy S Ultra Google Pixel Pro and a range of other newer Samsung devices Prior to this it was only available for anyone with an iPhone or Apple Watch The Digital Key Plus uses ultra wideband UWB digital radio technology to function the same way any traditional key fob would When your phone goes near your car ーfrom inside your pocket bag or so on ーit unlocks and then locks back up again when you leave You can also access controls directly on the My BMW app to lock and unlock the car open your trunk and control the temperature The homepage lets you know the status of each feature such as if your car is actually locked nbsp BMW previously released its Digital Key for the Samsung Galaxy S and Google Pixel phones but that feature required drivers to hold their phone up to the door handle The hands free option is a small upgrade but saves digging for your phone at least BMW also claims the UWB technology s precision almost entirely removes the risk of anyone jamming or intercepting the radio signals nbsp The expansion follows BMW s December announcement that you can share a Digital Key between Apple and Google devices Basically if you re nice enough to let a friend borrow your car for the weekend they can use their phone to control it nbsp At the moment you need a pretty new car to make use of this new feature Only BMW cars built since November with Digital Key Plus technology are compatible with Androids The company plans to use remote software updates to eventually expand access to older models nbsp This article originally appeared on Engadget at 2023-04-25 12:25:34
海外TECH CodeProject Latest Articles Bring Your Animations to H264/HEVC Video https://www.codeproject.com/Articles/5161187/Bring-Your-Animations-to-H264-HEVC-Video acceleration 2023-04-25 12:40:00
海外TECH CodeProject Latest Articles Fastest Intro To Rust: From Zero To Hello World https://www.codeproject.com/Articles/5359628/Fastest-Intro-To-Rust-From-Zero-To-Hello-World hello 2023-04-25 12:39:00
ニュース BBC News - Home Prince William secretly settled phone-hacking claim, court told https://www.bbc.co.uk/news/uk-65387663?at_medium=RSS&at_campaign=KARANGA papers 2023-04-25 12:49:30
ニュース BBC News - Home Lola James: Stepdad jailed for life for violent murder of toddler https://www.bbc.co.uk/news/uk-wales-65384347?at_medium=RSS&at_campaign=KARANGA abuse 2023-04-25 12:40:05
ニュース BBC News - Home CBI business lobby group is finished, says City boss https://www.bbc.co.uk/news/business-65384749?at_medium=RSS&at_campaign=KARANGA helena 2023-04-25 12:36:49
ニュース BBC News - Home Joshua Reynolds: Portrait of Mai (Omai) saved by US and UK funds https://www.bbc.co.uk/news/entertainment-arts-65387131?at_medium=RSS&at_campaign=KARANGA getty 2023-04-25 12:22:23
ニュース BBC News - Home Hosepipe ban extended to cover much of Devon https://www.bbc.co.uk/news/uk-england-devon-65375080?at_medium=RSS&at_campaign=KARANGA devon 2023-04-25 12:28:33
ニュース BBC News - Home World Snooker Championship 2023 results: Ronnie O'Sullivan takes charge against Luca Brecel https://www.bbc.co.uk/sport/snooker/65381832?at_medium=RSS&at_campaign=KARANGA World Snooker Championship results Ronnie O x Sullivan takes charge against Luca BrecelSeven time champion Ronnie O Sullivan moves into a lead over Luca Brecel in a high quality start to their World Championship quarter final 2023-04-25 12:25:39
ニュース BBC News - Home Sri Lanka v Ireland: Tourists post highest Test score of 492 https://www.bbc.co.uk/sport/cricket/65388858?at_medium=RSS&at_campaign=KARANGA galle 2023-04-25 12:39:32
ニュース BBC News - Home Liam Smith v Chris Eubank Jr: Rivals to fight again in Manchester on 17 June https://www.bbc.co.uk/sport/boxing/65267113?at_medium=RSS&at_campaign=KARANGA manchester 2023-04-25 12:02:22
ニュース BBC News - Home When is the cost of living payment and who can claim it? https://www.bbc.co.uk/news/business-61592496?at_medium=RSS&at_campaign=KARANGA bills 2023-04-25 12:08:23

コメント

このブログの人気の投稿

投稿時間:2021-06-17 05:05:34 RSSフィード2021-06-17 05:00 分まとめ(1274件)

投稿時間:2021-06-20 02:06:12 RSSフィード2021-06-20 02:00 分まとめ(3871件)

投稿時間:2020-12-01 09:41:49 RSSフィード2020-12-01 09:00 分まとめ(69件)