投稿時間:2022-03-16 01:39:46 RSSフィード2022-03-16 01:00 分まとめ(47件)

カテゴリー等 サイト名等 記事タイトル・トレンドワード等 リンクURL 頻出ワード・要約等/検索ボリューム 登録日
AWS AWS Compute Blog Using organization IDs as principals in Lambda resource policies https://aws.amazon.com/blogs/compute/using-organization-ids-as-principals-in-lambda-resource-policies/ Using organization IDs as principals in Lambda resource policiesThis post is written by Rahul Popat Specialist SA Serverless and Dhiraj Mahapatro Sr Specialist SA Serverless AWS Lambda is a serverless compute service that runs your code in response to events and automatically manages the underlying compute resources for you These events may include changes in state or an update such as a user … 2022-03-15 15:33:45
AWS AWS The Internet of Things Blog 5 tips to build AWS IoT Greengrass v2 Components https://aws.amazon.com/blogs/iot/5-tips-to-build-aws-iot-greengrass-v2-components/ tips to build AWS IoT Greengrass v ComponentsAWS IoT Greengrass v announced on December is an open source edge runtime service that you can use to build deploy manage and locally act on the data that your intelligent IoT devices capture For example you can run data prediction machine learning models filter and aggregate device data as you desire and use … 2022-03-15 15:30:27
python Pythonタグが付けられた新着投稿 - Qiita DataFrameの一括処理の時にpartialを使うと便利だった https://qiita.com/GETB/items/21498af3f63fcd632a08 DataFrameの一括処理の時にpartialを使うと便利だった概要pythonのfunctoolspartialの宣伝引数の一部を固定した新たな関数が作れるDataFrameにmapで一括処理する時に便利だったpartialとは関数partialは、関数の位置引数・キーワード引数の一部を「凍結」した部分適用として使われ、簡素化された引数形式をもった新たなオブジェクトを作り出します。 2022-03-16 00:09:41
js JavaScriptタグが付けられた新着投稿 - Qiita 【チェックボックス】trueとfalseのあいだ https://qiita.com/kamipoo/items/4b6842b2740a4cf3eb19 子チェックボックスの属するグループのチェックされた数を比較して、親チェックボックスの状態を制御しています。 2022-03-16 00:36:29
js JavaScriptタグが付けられた新着投稿 - Qiita プログラミング初学者や個人開発未経験者にこそお勧めしたいchrome拡張機能開発 https://qiita.com/euno_eng/items/f30647b229b9b6b67501 『あれプログラミング出来るようになったのに、社会の課題を一つも解いてないぞ・・・』当然と言えば当然ですが、多くのプログラミング入門書には宿題やテストという意味での課題はあっても、各個人が解くべき社会課題というのは示してくれません。 2022-03-16 00:19:12
js JavaScriptタグが付けられた新着投稿 - Qiita SVGのアニメーションをSMILとReactでつくる https://qiita.com/TKfumi/items/c40b602be9707e472e13 SVGのアニメーションをSMILとReactでつくる概要SVGにアニメーションを実装する方法は、CSSやSMIL、JavaScriptのライブラリなどが候補となると思います。 2022-03-16 00:10:19
Ruby Rubyタグが付けられた新着投稿 - Qiita グループ登録機能を追加してみた:改 https://qiita.com/murara_ra/items/09bccc725caba30e7c2c グループ登録機能を追加してみた改前回deviseを使ってgroup機能の登録を試みたが、中間テーブルに保存されないという現象が起きてしまった。 2022-03-16 00:01:35
Docker dockerタグが付けられた新着投稿 - Qiita Docker + nginxでマルチ配信を構築 https://qiita.com/kakiyuta/items/02a8ae3449854443ca31 成果物・構成成果物は以下の通りです。 2022-03-16 00:13:21
Ruby Railsタグが付けられた新着投稿 - Qiita グループ登録機能を追加してみた:改 https://qiita.com/murara_ra/items/09bccc725caba30e7c2c グループ登録機能を追加してみた改前回deviseを使ってgroup機能の登録を試みたが、中間テーブルに保存されないという現象が起きてしまった。 2022-03-16 00:01:35
技術ブログ Developers.IO Layer0のGraphQL Cachingを試してみる https://dev.classmethod.jp/articles/try-graphql-caching-on-layer0/ graphqlcaching 2022-03-15 15:33:15
海外TECH MakeUseOf How UserSearch Can Help You Enjoy Better Dates https://www.makeuseof.com/usersearch-better-dates/ nightmare 2022-03-15 15:51:35
海外TECH MakeUseOf 8 Tricks to Get More Real Instagram Followers https://www.makeuseof.com/tag/get-more-real-instagram-followers/ instagram 2022-03-15 15:45:14
海外TECH MakeUseOf What Is Epidemic Sound and Why Should Creators Use It? https://www.makeuseof.com/what-is-epidemic-sound/ perfect 2022-03-15 15:30:14
海外TECH MakeUseOf How to Merge Microsoft Outlook PST Files: 5 Easy Methods https://www.makeuseof.com/tag/merge-outlook-pst-files/ How to Merge Microsoft Outlook PST Files Easy MethodsAn Outlook PST file contains all the data for your inbox If you have multiple Outlook PST files how can you merge them all Let s find out 2022-03-15 15:16:14
海外TECH MakeUseOf How to Use SongRec: The Best Shazam Client for Identifying Songs on Linux https://www.makeuseof.com/how-to-install-and-use-songrec/ How to Use SongRec The Best Shazam Client for Identifying Songs on LinuxIf you find yourself vibing to a song you don t know the name of SongRec has got you covered Here s how to use SongRec to identify songs on Linux 2022-03-15 15:16:14
海外TECH MakeUseOf Is the Ugreen Nexode 100w Charger the Best on the Market? https://www.makeuseof.com/ugreen-nexode-100w-charger/ model 2022-03-15 15:10:42
海外TECH MakeUseOf 10 React Best Practices You Need to Follow In 2022 https://www.makeuseof.com/must-follow-react-practices/ article 2022-03-15 15:01:14
海外TECH DEV Community Central Limit Theorem https://dev.to/aws-builders/central-limit-theorem-892 Central Limit TheoremThe following video on Central Limit Theorem in minutes discusses the following topics PopulationSampleCentral Limit TheoremCentral Limit Theorem example Hope you find it useful in your datascience and machine learning journey 2022-03-15 15:46:50
海外TECH DEV Community The weirdly obscure art of Streamed HTML https://dev.to/tigt/the-weirdly-obscure-art-of-streamed-html-4gc2 The weirdly obscure art of Streamed HTMLMy goal from last time reuse our existing APIs in a demo of the fastest possible version of our ecommerce website…and keep it under kilobytes I decided this called for an MPA aka a traditional web app Site Thang Not SPA Whatever And with that decision I doomed the site to feel slow and clunkyIn theory there s no reason MPA interactions need be as slow as commonly encountered But in practice there are many reasons Here s an example At Kroger product searches take two steps Send user s query to an API to get matching product codesSend those product codes to an API to get product names prices etc Using those APIs to generate a search results page would look something like this const resultsData fetch api search new URLSearchParams query usersSearchString then r gt r json then upcs gt fetch api products details new URLSearchParams upcs then r gt r json res writeHead resultsData success content type text html charset utf const htmlResponse searchPageTemplate render searchedQuery usersSearchString results resultsData res write htmlResponse res end Each fetch takes time and api products details only happens after api search finishes Plus those requests traveled from my computer to the datacenter and back A real server making those calls would sit next to the others for very fast requests But on my demo machine the calls usually took milliseconds sometimes spiking as high as ms Combined with the target G network server processing time and other inconvenient realities I was frequently flouting the ms limit for “natural and continuous progression of tasks So the problem is high Time to First Byte huh No worries High Time to First Byte TTFB is a known performance culprit Browser devtools Lighthouse and other speed utensils all warn about it so there s lots of advice for fixing it Except none of the easily found advice for improving TTFB helps Optimize the server application to prepare pages fasterNode js spent ms or less handling the request and sending HTML Very little to be gained there Optimize database queries or migrate to faster database systemsI was not allowed to touch our databases or API servers Upgrade server hardware to have more memory or CPUThis ran on a MacBook Pro with plenty of unused RAM and CPU Cache the expensive lookupsCaching can t help the first requests unless I precache all known endpoints or something Even then that wouldn t work for search users can and will search for strings never seen before The problem web performance is other peopleIf only two API calls were a struggle I was in for ruination Here are some data sources our homepage uses Authentication and user infoItems in shopping cartSelected store pickup vs delivery etc Recommended productsProducts on salePrevious purchasesSponsored productsLocation specific promotionsRecommended couponsA B testsSubscription to Kroger Boost…and so on You get it there s a lot ーand that s only the stuff you can see Like many large companies each data source may be owned by different teams With their own schedules SLAs and bugs After you see real API charts Krazam s satirical microservices diagram gets either more or less funny Still figuring out which Let s say the data sources I listed are each one API call What are the odds my server can respond quickly enough Let s say client request creates downstream requests to a longtail latency affected subsystem And assume it has a probability of responding slowly to a single request Then the probability that at least of the downstream requests are affected by the longtail latencies is equivalent to the complement of all downstream requests responding fast probability of responding fast to any single request which is That s percent This means that the client request has an almost percent chance of being affected by a slow response That is equivalent to expecting client requests being affected out of million client requests That s a lot of members ーWho moved my th percentile latency And since users visit multiple pages in MPAs the chances of suffering a high TTFB approaches “guaranteed Gil walks through a simple hypothetical example a typical user session involves five page loads averaging resources per page How many users will not experience something worse than the th percentile ーEverything You Know About Latency Is WrongI believe this is why Kroger com used a SPA in the first place ーif disparate teams APIs can t be trusted at least they won t affect other teams code Similar insulation from other teams components is probably one reason for React s industry adoption The solution streamed HTMLIt s easier to show than to explain Download video HTML Streaming vs Non streamingBoth pages show search results in seconds But they sure don t feel the same Not all sites have my API bottlenecking issue but many have its cousins database queries and reading files Showing pieces of a page as data sources finish is useful for almost any dynamic site For example…Showing the header before potentially slow main contentShowing main content before sidebars related posts comments and other non critical informationStreaming paginated or batched queries as they progress instead of big expensive database queriesBeyond the obvious visual speedup streamed HTML has other benefits Interactive ASAPIf a user visits the homepage and immediately tries searching they don t have to wait for anything but the header to submit their query Optimized asset deliveryEven with no lt body gt to show you can stream the lt head gt That lets browsers download and parse styles scripts and other assets while waiting for the rest of the HTML Less server effortStreamed HTML uses less memory Instead of building the full response in RAM it sends generated bytes immediately More robust and faster than incremental updates via JavaScriptFewer roundtrips happens before while JS boots immune to JS errors and the other reasons of visits have broken JavaScript…And because it s more efficient that leaves more CPU and RAM for the JavaScript we do run not to mention painting layout and user interactions But don t take my word for it Progressive rendering via multiple flushes ·Stoyan StefanovFun hacks for faster content ·Jake ArchibaldProgressive Rendering ーThe Key to Faster Web ·Dinesh PandiyanDinesh PandiyanStreams FTW ·Jake ArchibaldHopefully you see why I considered HTML streaming a must And that s why not SveltePreviously…Maybe if I sprinkled the HTML with just enough CSS to look good…and if I had any room left some laser focused JavaScript for the pieces that benefit most from complex interactivity That s exactly what Svelte excels at So why didn t I use it Because Svelte does not stream HTML I hope it does someday If not Svelte then what I found only things on NPM that could stream HTML Dust a template language that seems to have died twice Marko some library with an ungoogleable name and a rainbow logo…oh and JSX like syntax And a client side virtual DOM that fit in my budget And eBay has battle tested it for its ecommerce websites And it only uses client side JS for stateful components You don t say It s nice when a decision makes itself Marko s lt await gt made streaming easyMarko streams HTML with its lt await gt tag I was pleasantly surprised at how easily it could optimize browser rendering with all the control I wanted over HTTP HTML and JavaScript Source markojs com streamingAs seen in Skeleton screens but fast lt SiteHead gt lt h gt Search for “ searchQuery lt h gt lt div SearchSkeletons gt lt await searchResultsFetch gt lt stalls the HTML stream until the API returns search results gt lt then result gt lt for product of result products gt lt ProductCard product product gt lt for gt lt then gt lt await gt lt div gt lt await gt for nice to havesImagine a component that displays recommended products Fetching the recommendations is usually fast but every once in a while the API hiccups lt await gt s got your back lt await productRecommendations timeout gt lt wait up to ms gt lt then recs gt lt RecommendedProductList of recs gt lt then gt lt catch gt lt don t render anything no big deal if this fails gt lt catch gt lt await gt If you know how much money product recommendations make you can fine tune the timeout so the cost of the performance hit never exceeds that revenue And that s not all lt await productRecommendations client reorder gt lt placeholder gt lt immediately render placeholder to prevent content jumping around gt lt RecommendedProductsPlaceholder gt lt placeholder gt lt then recs gt lt RecommendedProductList of recs gt lt then gt lt await gt The client reorder attribute turns the lt await gt into an HTML fragment that doesn t delay the rest of the page behind it but asynchronously renders when ready client reorder requires JavaScript so you can weigh the tradeoffs of using it vs a timeout with no fallback I think you can even combine them That s how Facebook s BigPipe renderer worked which once lived on the same page as React Wouldn t it be nice to have the best of both Let me tell you it is nice Marko s lt await gt is awesomeBest of all these lt await gt techniques are Marko s golden path ーheck its very reason for being Marko has stream control no other renderer makes easy a way to automatically upgrade streamed HTML with JavaScript and years of experience with the inevitable bugs and edge cases Yes I was quite taken with Marko Let me have my fun However the fact that Marko was apparently my one option does raise a certain question… Why is HTML streaming not common Or in the words of another developer after my demo “if Chunked Transfer Encoding is so useful how come I ve never heard of it That is a very fair question It s not because it s poorly supported ーHTML rendered progressively in Netscape Beta Netscape And it s not because the technique is barely used ーGoogle search results stream after the top navbar for instance I think one reason is the inconsistent nameSteve Souders called it “early flushing which is not…the best name “Chunked transfer encoding is the most unique but it s only in HTTP HTTP HTTP and even HTTP stream differently It was known as “HTTP streaming before HLS DASH and other forms of video over HTTP took up that mindspace The catch all term is “progressive rendering but that applies to many other things interlaced images visualizing large datsets video game engine optimizations etc Many languages frameworks don t care for streamingOlder languages frameworks have long been able to stream HTML but were never really good at it Some examples PHP Requires calling inscrutable output buffering functions in a finicky order Ruby on Rails ActionController Streaming has a lot of caveats In particular This approach was introduced in Rails and is still improving Several Rack middlewares may not work and you need to be careful when streaming Those points are going to be addressed soon Rails hit in There was clearly not much demand to address those points Rails modern way is Turbo Streams but those need JS to render so not the same thing Django Django really doesn t like streaming at all StreamingHttpResponse should only be used in situations where it is absolutely required that the whole content isn t iterated before transferring the data to the client Perl Perl s autostream behavior is controlled by a variable yes that s a pipe but that sort of nonsense is normal for it God I love Perl Because streaming was never their default happy path languages frameworks considered it a last resort where you gained performance at the expense of the “real render features Here s a telling quote You can still write ASP NET pages that properly stream data to the browser using Response Write and Response Flush But you can t do it within the normal ASP NET page lifecycle Maybe this is a natural consequence of the ASP NET abstraction layer Regardless it still sucks for users ーThe Lost Art of Progressive HTML Rendering Node js is a happy exception As proudly described on Node s About page HTTP is a first class citizen in Node js designed with streaming and low latency in mind Despite that the “new hot JavaScript frameworks have been struggling to stream for a while React s had renderToNodeStream since but using it was tricky Ergonomic streaming is the focus of a lot of upcoming React SSR work Ember s Glimmer can stream HTML but it s been “experimental since too Vue can stream but with caveats and incompatibilities since it s not the default These frameworks have the staff funding and incentives to make streaming work so the holdup must be something else Maybe it s hard to retrofit streaming onto their abstractions especially without ruining established third party integrations Streaming rarely mentioned as a TTFB fixAs mentioned near the beginning when high TTFB is detected streaming is almost never suggested as a fix I think that s the biggest problem A Web API with a bad name can become popular if it s mentioned enough Personally I ve only seen streaming HTML recommended for TTFB once and it s in chapter of High Performance Browser Networking In an aside At the bottom Inside a lt details gt labeled “Beware of The Leopard So that s one silver bullet downI had streaming HTML but that was no substitute for the other lead bullets to back it up Now I had to…make the website You know write the components style the design build the features How hard could that be Hint people are paid to do those things 2022-03-15 15:30:58
海外TECH DEV Community Building Website from Scratch - Part 7 https://dev.to/shriekdj/building-website-from-scratch-part-7-3jj9 Building Website from Scratch Part I Created a YouTube Video About this Series Hey Fellas This Is Shrikant Again With My New Random Video About Creating A Website or as I Say How to Build a Website From Scratch from index html file to Blog Or CMS GitHub Pages to Custom Domain Something Like that Here is Link to dev to Blog Post Series Named Building Website from Scratch Here is the Link To My GitHub Repo Don t Forget to Star Repo React to Blog Post And After that Like the Video and Subscribe the Channel If you Want to bye 2022-03-15 15:22:54
海外TECH DEV Community An all-in-one guide to gRPC-Gateway https://dev.to/logrocket/an-all-in-one-guide-to-grpc-gateway-4g11 An all in one guide to gRPC GatewayWritten by Anshul Goyal️gRPC Gateway is a plugin that generates a reverse proxy server for gRPC services that convert Restful JSON into gRPC and vice versa In other words gRPC Gateway will create a layer over your gRPC services that will act as a Restful JSON service to a client gRPC Gateway generates code from Protocol Buffer s definitions of gRPC services Introduction Why gRPC Gateway Setting up gRPC Gateway Using gRPC Gateway Common usage patterns Using gRPC Gateway with Gin Running reverse proxy and gRPC service on the same port IntroductiongRPC Gateway is a plugin for protoc and will generate Go code from the gRPC definition The generated code can be used as a standalone server or mounted on an existing codebase gRPC Gateway is highly customizable with support for generating open API documentation from protoc files In this tutorial guide we will cover both standalone servers and integration with existing code in detail Take a look at this flow chart to get an understanding of how a gRPC gateway works Why gRPC Gateway gRPC gateways build a proxy for a gRPC service that acts as a Restful JSON application to the client It opens the possibility of using the same codebase for supporting both Restful JSON and gRPC There are two major use cases for this Legacy clients might not support gRPC and require a Restful JSON interface Browsers may not support gRPC out of the box so for the web client that wants to interact with gRPC services gRPC Gateway is the go to option The most common gRPC Gateway pattern is to create a single gRPC gateway server which might be running on multiple machines that interfaces with multiple gRPC services as a proxy for clients The diagram below explains the working of this service A gRPC gateway generated reverse proxy is horizontally scaled to run on multiple machines and a load balancer is used in front of these instances A single instance can host multiple gRPC services reverse proxies Setting up gRPC GatewaygRPC Gateway is a plugin for protoc Before using it the protocol buffer compiler must be installed on the system Follow this guide on offical gRPC website to install protoc on your system according to the operating system you are using gRPC Gateway uses and generates Go code To install Go follow the guide on the official website Once you have installed Go on your system you are all set to install the gRPC Gateway plugin Create a directory named grpc gateway demo which will hold the gRPC Gateway project For building protocol buffers and generating a gRPC gateway reverse proxy Buf will be used You can install Buf by following the guide on the official website Project structureAll the Protocol Buffers files will be in the proto directory while Go files will be in root For setting up the Go project use go mod init grpc gateway demo and create a main go file Your project should look like this ├ー main go├ー go mod└ー proto Configuring BufBuf requires three different files to generate stubs and reverse proxies buf gen yamlThese files specify all the plugins the compiler should use and related options With Buf you can simply specify the name and option in a YAML file Buf also allows building code to use remote plugins i e specified plugins will be downloaded by Buf automatically during the build and maintained by Buf on the local system version vplugins generate go structs for protocol buffer defination remote buf build library plugins go v out gen go opt paths source relative generate gRPC stubs in golang remote buf build library plugins go grpc v out gen go opt paths source relative generate reverse proxy from protocol definations remote buf build grpc ecosystem plugins grpc gateway v out gen go opt paths source relative generate openapi documentation for api remote buf build grpc ecosystem plugins openapiv v out gen openapivbuf yamlThis file should be in the root of all the proto files These files specify the required dependency for compiling proto files Google APIs for example version v deps adding well known types by google buf build googleapis googleapisbuf work yamlThis file specifies all the folders directories that contain Protocol Buffer definitions in your workspaces version vdirectories protoOnce complete your project structure should resemble this ├ーbuf gen yaml├ーbuf work yaml├ーgo mod├ーmain go└ーproto ├ーbuf yamlYou can test your configuration by running the buf build command in your project root Using gRPC GatewayUntil now you have set up gRPC Gateway as a plugin but now the question arises of how to define basic API specifications like HTTP method URL or request body For defining what these specification options are using in Protocol Buffers definition of an rpc method on a service the following example will make it more clear proto hello hello world proto define syntax used in proto filesyntax proto options used by gRPC golang plugin not related to gRPC gateway option go package github com anshulrgoyal grpc gateway demo grpc gateway demo well know type by google gRPC gateway uses HTTP annotation import google api annotations proto package hello world simple messagemessage HelloRequest string name message HelloReply string message a gRPC serviceservice Greeter SayHello is a rpc call and a option is defined for it rpc SayHello HelloRequest returns HelloReply option type is http option google api http this is url for RESTfull JSON api and method this line means when a HTTP post request comes with v sayHello call this rpc method over this service post v sayHello body The option keyword is used to add specifications for the Rest request The option method is chosen and the path for that request is specified In above example post is the HTTP method for request and v sayHello is the response You can now build your code using the buf generate command in the root of your project directory After the command completes there should be a gen directory in the root of your project with Go code inside These files contain stubs for gRPC and the gRPC gateway reverse proxy openapiv contains the open API documentation for Swagger UI gen go hello hello world pb go hello world pb gw go hello world grpc pb go openapiv hello hello world swagger json Implementing the serviceAs an example this tutorial will implement the gRPC server in Go Any gRPC implementations will work perfectly fine for the gRPC gateway The advantage of using Go is that you can run both gRPC service and gRPC Gateway generated code in the same process Here is Go s implementation for the Greeter service sever main go package mainimport context fmt log net importing generated stubs gen grpc gateway demo gen go hello google golang org grpc GreeterServerImpl will implement the service defined in protocol buffer definitionstype GreeterServerImpl struct gen UnimplementedGreeterServer SayHello is the implementation of RPC call defined in protocol definitions This will take HelloRequest message and return HelloReplyfunc g GreeterServerImpl SayHello ctx context Context request gen HelloRequest gen HelloReply error return amp gen HelloReply Message fmt Sprintf hello s request Name nil func main create new gRPC server server grpc NewServer register the GreeterServerImpl on the gRPC server gen RegisterGreeterServer server amp GreeterServerImpl start listening on port for a tcp connection if l err net Listen tcp err nil log Fatal error in listening on port err else the gRPC server if err server Serve l err nil log Fatal unable to start server err The above file is a basic implementation for the gRPC service It listens on port You can test it on any gRPC client Registering services on a gRPC gateway proxyEach gRPC server supported by the gRPC gateway proxy needs to be registered on it Under the hood the gRPC gateway server will create a gRPC client and use it to make gRPC requests to the provided endpoint You can provide various DailOptions to the Register function proxy main gopackage mainimport context log net net http github com grpc ecosystem grpc gateway v runtime google golang org grpc gen grpc gateway demo gen go hello func main creating mux for gRPC gateway This will multiplex or route request different gRPC service mux runtime NewServeMux setting up a dail up for gRPC service by specifying endpoint target url err gen RegisterGreeterHandlerFromEndpoint context Background mux localhost grpc DialOption grpc WithInsecure if err nil log Fatal err Creating a normal HTTP server server http Server Handler mux creating a listener for server l err net Listen tcp if err nil log Fatal err start server err server Serve l if err nil log Fatal err ServerMux is a multiplexer that will route requests to various registered services based on the path of the JSON Restful request The grpc WithInsecure dial option is used to allow a service to connect to gRPC without using authentication localhost is the URL where the gPRC service is running ーsince the Greet gRPC service build seen earlier service is running on port localhost is used Once the handlers are registered mux is ready to handle HTTP requests Here the Go standard HTTP server from http package is used You are also free to use other implementations and later on this article will demonstrate this using Gin with the gRPC gateway proxy ServerMux implements the ServeHTTP interface ーit can be used as Handler in the HTTP server The server is running on port For starting the server just run go run proxy main go in the root of your project directory Using path parametersNow if you want to make the v sayHello API a GET call inside of a POST call and pass data as a path parameter then with a gRPC gateway setup complete you don t need to change anything in code ーjust by changing protocol buffer definitions and regenerating the stubs you are all set to use the new API message HelloRequest string name service Greeter rpc SayHello HelloRequest returns HelloReply option google api http get v sayHello name The path provided in the above snippet is v sayHello name You can use any key from the request payload HelloRequest in this case as a path parameter If you use a GET request with the path v sayHello jane the request will be routed to the Greeter sayHello gRPC call You can use any number of path parameters in the URL Now you have some basic understanding of the gRPC gateway and its setup The example we have used is just an introduction to the gRPC gateway but to run something in production you need to have logging tracing and error handling Common usage patternsFor any system to be production ready it should have some error handling and allow some kind of error logging Adding loggingThis section of the article will demonstrate how to use middleware with a gRPC gateway generated proxy ServerMux implements a Handler interface so you can use any middleware to wrap the ServerMuxand log incoming and outgoing requests type Handler interface ServeHTTP ResponseWriter Request To create a middleware for logging you can extract information related to an HTTP request from Request and the information about the response is extracted using the httpsnoop package func withLogger handler http Handler http Handler the create a handler return http HandlerFunc func writer http ResponseWriter request http Request pass the handler to httpsnoop to get http status and latency m httpsnoop CaptureMetrics handler writer request printing exracted data log Printf http d s s n m Code m Duration request URL Path The withLogger method will wrap the Handler interface and call snoop to extract information Under the hood the ServerHTTP method is called by the httpsnoop package server http Server Handler withLogger mux This is no different from any other handler used in the Go ecosystem Since ServerMux is a normal handler any middleware available will also work with a gRPC gateway generated reverse proxy Error handlinggRPC gateways already come with mapping for translating gRPC error codes to HTTP status used by the client It will automatically map well known and used gRPC codes to the HTTP status for example InvalidArgument is converted to bad request For a complete list you can check this link If you have custom requirements like needing a non conventional status code you can use the WithErrorhandler option that takes an error handler function ーall errors will be passed to this function with the request and response writer runtime WithErrorHandler func ctx context Context mux runtime ServeMux marshaler runtime Marshaler writer http ResponseWriter request http Request err error The error handler function gets the following arguments ctx Context holds metadata about execution mux This is ServerMux it holds config data about the server like which header should be passed to response marshaler Converts Protocol Buffer response to JSON response writer This is the response writer for the client request This requests objects that contain information sent by the client err Error sent by the gRPC serviceHere is a simple example of WithErrorHandler In this example the HTTP status for the request is changed to when an error occurs irrespective of the error mux runtime NewServeMux runtime WithErrorHandler func ctx context Context mux runtime ServeMux marshaler runtime Marshaler writer http ResponseWriter request http Request err error creating a new HTTTPStatusError with a custom status and passing error newError runtime HTTPStatusError HTTPStatus Err err using default handler to do the rest of heavy lifting of marshaling error and adding headers runtime DefaultHTTPErrorHandler ctx mux marshaler writer request amp newError The status is changed by creating a new error and passing it to DefaultHTTPErrorHandler It is important to note that DefaultHTTPErrorHandler performs a lot of work under the hood to convert the error to a valid JSON response ーtry to use it wherever possible HTTP headers and gRPC metadatagRPC and Restful JSON pass metadata differently In Restful JSON HTTP headers are used to send HTTP headers whereas gRPC abstracts out sending metadata by providing a metadata interface depending on the language used The gRPC gateway provides a simple mapping interface to convert gRPC metadata to HTTP headers and vice versa It also allows for two different methods to handle header to metadata conversion Firstly WithOutgoingHeaderMatcher handles the header going from the gRPC gateway back to the client It converts metadata into HTTP headers i e any metadata passed by the gRPC service will be sent back to the client as HTTP headers var allowedHeaders map string struct x request id func isHeaderAllowed s string string bool check if allowedHeaders contain the header if isAllowed allowedHeaders s isAllowed send uppercase header return strings ToUpper s true if not in the allowed header don t send the header return s false usagemux runtime NewServeMux convert header in response going from gateway from metadata received runtime WithOutgoingHeaderMatcher isHeaderAllowed This method takes a string and returns true if the header is passed to the client or false if not Secondly WithMetadata handles incoming HTTP headers i e cookies content type etc Its most common use case is to get an authentication token and pass it to metadata HTTP headers extracted here will be sent to the gRPC service in metadata mux runtime NewServeMux handle incoming headersruntime WithMetadata func ctx context Context request http Request metadata MD header request Header Get Authorization send all the headers received from the clientmd metadata Pairs auth header return md It takes a function that takes requests and returns metadata Be careful about headers converted to metadata since the client browsers load balancer and CDN are in many of them There are also some restrictions on keys for gRPC Here is a complete example package mainimport context log net net http strings github com felixge httpsnoop github com grpc ecosystem grpc gateway v runtime google golang org grpc google golang org grpc metadata gen grpc gateway demo gen go hello func withLogger handler http Handler http Handler return http HandlerFunc func writer http ResponseWriter request http Request m httpsnoop CaptureMetrics handler writer request log Printf http d s s n m Code m Duration request URL Path var allowedHeaders map string struct x request id func isHeaderAllowed s string string bool check if allowedHeaders contain the header if isAllowed allowedHeaders s isAllowed send uppercase header return strings ToUpper s true if not in the allowed header don t send the header return s false func main creating mux for gRPC gateway This will multiplex or route request different gRPC service mux runtime NewServeMux convert header in response going from gateway from metadata received runtime WithOutgoingHeaderMatcher isHeaderAllowed runtime WithMetadata func ctx context Context request http Request metadata MD header request Header Get Authorization send all the headers received from the client md metadata Pairs auth header return md runtime WithErrorHandler func ctx context Context mux runtime ServeMux marshaler runtime Marshaler writer http ResponseWriter request http Request err error creating a new HTTTPStatusError with a custom status and passing error newError runtime HTTPStatusError HTTPStatus Err err using default handler to do the rest of heavy lifting of marshaling error and adding headers runtime DefaultHTTPErrorHandler ctx mux marshaler writer request amp newError setting up a dail up for gRPC service by specifying endpoint target url err gen RegisterGreeterHandlerFromEndpoint context Background mux localhost grpc DialOption grpc WithInsecure if err nil log Fatal err Creating a normal HTTP server server http Server Handler withLogger mux creating a listener for server l err net Listen tcp if err nil log Fatal err start server err server Serve l if err nil log Fatal err Query parametersQuery parameters are supported by default You can add them in the path with the same key in message definitions So if you had a key named last name in HelloResponse you can enter the path v sayHello anshul last name goyal without changing anything in the gateway code Customizing the responsegRPC Gateway allows you to customize if you want keys in your response in original case or camelCase By default it is camelCase but you can edit Marshaler configuration to change it mux runtime NewServeMux runtime WithMarshalerOption runtime MIMEWildcard amp runtime HTTPBodyMarshaler Marshaler amp runtime JSONPb MarshalOptions protojson MarshalOptions UseProtoNames true EmitUnpopulated true UnmarshalOptions protojson UnmarshalOptions DiscardUnknown true Using gRPC Gateway with GinGin is a very popular Go web framework You can use gRPC Gateway with Gin since it is just a handler It will allow you to add additional routes on your server that may not be generated by gRPC Gateway package mainimport context log net http strings github com gin gonic gin github com grpc ecosystem grpc gateway v runtime google golang org grpc google golang org grpc metadata gen grpc gateway demo gen go hello var allowedHeaders map string struct x request id func isHeaderAllowed s string string bool check if allowedHeaders contain the header if isAllowed allowedHeaders s isAllowed send uppercase header return strings ToUpper s true if not in the allowed header don t send the header return s false func main creating mux for gRPC gateway This will multiplex or route request different gRPC service mux runtime NewServeMux convert header in response going from gateway from metadata received runtime WithOutgoingHeaderMatcher isHeaderAllowed runtime WithMetadata func ctx context Context request http Request metadata MD header request Header Get Authorization send all the headers received from the client md metadata Pairs auth header return md runtime WithErrorHandler func ctx context Context mux runtime ServeMux marshaler runtime Marshaler writer http ResponseWriter request http Request err error creating a new HTTTPStatusError with a custom status and passing error newError runtime HTTPStatusError HTTPStatus Err err using default handler to do the rest of heavy lifting of marshaling error and adding headers runtime DefaultHTTPErrorHandler ctx mux marshaler writer request amp newError setting up a dail up for gRPC service by specifying endpoint target url err gen RegisterGreeterHandlerFromEndpoint context Background mux localhost grpc DialOption grpc WithInsecure if err nil log Fatal err Creating a normal HTTP server server gin New server Use gin Logger server Group v grpc gateway Any gin WrapH mux additonal route server GET test func c gin Context c String http StatusOK Ok start server err server Run if err nil log Fatal err Simply use the gin WrapH method with a wildcard path and you are ready to use gin with your server It allows you to add a route to your server if you want You can also add routes directly to ServerMux using HandlePath err mux HandlePath GET test func w http ResponseWriter r http Request pathParams map string string w Write byte ok Running reverse proxy and gRPC service on the same portIt is possible to run both services on a single port You can do this by using the cmux package cmux will split the gRPC traffic and RestFull JSON by differentiating between the protocol used because gRPC will use HTTP and RestFull JSON will use HTTP package mainimport context fmt log net net http github com felixge httpsnoop github com grpc ecosystem grpc gateway v runtime github com soheilhy cmux importing generated stubs gen grpc gateway demo gen go hello google golang org grpc GreeterServerImpl will implement the service defined in protocol buffer definitionstype GreeterServerImpl struct gen UnimplementedGreeterServer SayHello is the implementation of RPC call defined in protocol definitions This will take HelloRequest message and return HelloReplyfunc g GreeterServerImpl SayHello ctx context Context request gen HelloRequest gen HelloReply error if err request Validate err nil return nil err return amp gen HelloReply Message fmt Sprintf hello s s request Name request LastName nil func main create new gRPC server grpcSever grpc NewServer register the GreeterServerImpl on the gRPC server gen RegisterGreeterServer grpcSever amp GreeterServerImpl creating mux for gRPC gateway This will multiplex or route request different gRPC service mux runtime NewServeMux setting up a dail up for gRPC service by specifying endpoint target url err gen RegisterGreeterHandlerFromEndpoint context Background mux localhost grpc DialOption grpc WithInsecure if err nil log Fatal err Creating a normal HTTP server server http Server Handler withLogger mux creating a listener for server l err net Listen tcp if err nil log Fatal err m cmux New l a different listener for HTTP httpL m Match cmux HTTPFast a different listener for HTTP since gRPC uses HTTP grpcL m Match cmux HTTP start server passing dummy listener go server Serve httpL passing dummy listener go grpcSever Serve grpcL actual listener m Serve func withLogger handler http Handler http Handler return http HandlerFunc func writer http ResponseWriter request http Request m httpsnoop CaptureMetrics handler writer request log Printf http d s s n m Code m Duration request URL Path ConclusionThis tutorial explained all the essentials required for building an excellent gRPC Gateway reverse proxy for your gRPC service Since gRPC Gateway ServerMux is now just a handler you can build on top of by adding more middleware like body compression authentication and panic handling You can also play with the gRPC gateway configuration All the code examples can be found here LogRocket Full visibility into your web appsLogRocket is a frontend application monitoring solution that lets you replay problems as if they happened in your own browser Instead of guessing why errors happen or asking users for screenshots and log dumps LogRocket lets you replay the session to quickly understand what went wrong It works perfectly with any app regardless of framework and has plugins to log additional context from Redux Vuex and ngrx store In addition to logging Redux actions and state LogRocket records console logs JavaScript errors stacktraces network requests responses with headers bodies browser metadata and custom logs It also instruments the DOM to record the HTML and CSS on the page recreating pixel perfect videos of even the most complex single page and mobile apps Try it for free 2022-03-15 15:18:27
海外TECH DEV Community High Performance and Truly EPYC: Vultr’s New VMs Are Ready for Anything https://dev.to/vultr/high-performance-and-truly-epyc-vultrs-new-vms-are-ready-for-anything-3d89 High Performance and Truly EPYC Vultr s New VMs Are Ready for AnythingToday we re launching a completely new Optimized Cloud Compute product line along with a refreshed Cloud Compute lineup of virtual machines Overall we re introducing a wide range of shapes and sizes of High Performance VMs all with NVMe SSD storage and including instances powered by rd Generation AMD EPYCprocessors This is kind of a big deal for us and hopefully for you too Now more than ever you might want to use Vultr for everything ranging from mission critical enterprise needs to your personal projects Compute for Any Use CaseWe have made a number of updates to our platform but before we dive into the details here is a bird s eye view You can think of our Compute platform as having three discrete product lines Optimized Cloud Compute Starting at per month these VMs are easy to use and elastically scalable Because they run atop dedicated vCPUs your workloads run with fast consistent performance with no noisy neighbors This quality makes these instances the best choice for many business applications such as high traffic websites transcoding CI CD etc Cloud Compute Starting at just per month these VMs are highly affordable because they run on shared vCPUs For many bursty applications e g low traffic websites game servers VPNs etc Cloud Compute instances deliver great performance at a remarkably low cost Bare Metal Starting at per month these servers provide dedicated physical CPUs and direct access to your server s underlying hardware thereby delivering maximum performance without any virtualization overhead Bare Metal is as easy to provision and manage as our VMs and for particularly intense workloads it can deliver the best price to performance You ll now see these product categories when you deploy a server within our control panel Powered by rd Generation AMD EPYC CPUs and NVMe SSD StorageAll Optimized Cloud Compute instances and select High Performance Cloud Cloud instances are powered by rd Gen AMD EPYC CPUs This is particularly obvious when you provision a Cloud Compute instance in the control panel Within that section you ll see new options for CPU amp Storage Technology This is the first time we ve offered AMD processor powered virtual machines and given their exceptional performance these VMs are now our default and recommended option for most users AMD has pushed the performance and technology capabilities of the EPYC family of processors over the last few years rd generation EPYC processors which power our new VMs continue that trajectory providing up to cores in a single CPU The particular rd Gen EPYC processors that underpin our new VMs are powered by AMD s Zen microarchitecture which delivers fantastic performance per core along with a maximum frequency of GHz We obviously still love Intel too and if Intel powered instances are the right choice for your needs we have a wide range of plans for you Optimized Cloud Compute is Powered by Dedicated vCPUs Built with NVMe SSD Storage and Available in a Variety of Server TypesToday s launch includes the introduction of a new product line called Optimized Cloud Compute Unlike our typical Cloud Compute instances that run on shared vCPUs Optimized Cloud Compute instances run on vCPUs that are dedicated to your workload so you never have to worry about noisy neighbors Optimized Cloud Compute instances are available in a variety of server types with varying levels of CPU RAM and storage to best support a broad range of workloads Optimized Cloud Compute instances are designed to be a more affordable alternative to solutions like AWS EC in order to help users transition from the Big Tech clouds to our independent platform Here s how to think about which server type is best for you •General Purpose Often a good starting point these VMs provide a typical balance of CPU RAM and NVMe SSD storage We recommend General Purpose instances for many web and application servers e commerce game servers video and audio streaming API serving and relational databases •CPU Optimized For compute bound applications these VMs provide proportionally more CPU than they do RAM and NVMe SSD storage We recommend CPU Optimized instances for workloads like video encoding batch processing CI CD high performance computing HPC ad serving and analytics processing •Memory Optimized For memory bound applications these VMs provide proportionally more RAM than they do CPU and NVMe SSD storage We recommend Memory Optimized instances for open source databases e g MySQL in memory databases and caches e g Memcached and real time analytics •Storage Optimized These VMs provide especially generous proportions of NVMe SSD storage accompanying a typical balance of CPU and RAM We recommend Storage Optimized instances for large non relational databases e g Cassandra and MongoDB and high frequency online transaction processing OLTP Get Started Today All Around the GlobeVultr is available in locations across five continents •North America Atlanta Chicago Dallas L A Mexico City Miami New Jersey Seattle Silicon Valley Toronto•South America São Paulo•Europe Amsterdam Frankfurt London Madrid Paris Stockholm Warsaw•Asia Seoul Singapore Tokyo•Australia Melbourne SydneyAs always you can provision new instances via our control panel API or CLI Businesses interested in our new compute offerings should contact sales to learn more Managed service providers and resellers interested in bringing the Vultr platform to their customers are welcome to join our partner program 2022-03-15 15:16:55
海外TECH DEV Community What is React? https://dev.to/codingvarsity/what-is-react-417d What is React React is a free and open source JavaScript library You can build fast and interactive user interfaces with React React is maintained by Meta and React community consisting of individual developers and companies React is generally used for building single page applications mobile apps and server rendered applications React is very popular with k stars on GitHub and is usually the first choice of a developer working on SPA s these days Let s learn about the features that make React stand out among the front end libraries React is Component basedComponents are isolated pieces of code that represent a piece of user interface like buttons text box navigation bar etc It is a JavaScript function or class which accepts properties props and returns a react element React element is a lightweight description of what to render React takes the description React element and displays the result component React is declarativeReact follows the declarative paradigm When we instruct React what to render for each state it will update the right components when the data changes It simplifies stuff and makes your code more predictable and easier to debug JSXJSX is a syntax extension to JavaScript It describes what UI should look like in each state thus helps in writing declarative code It also shows more useful error and warning messages const element lt h gt coding varsity lt h gt Don t worry about the syntax we will look into JSX in more detail in another article React allows only one way data flowReact apps consists of a series of nested components Data is passed in one direction from the parent to the child component using props React allows only the unidirectional flow of data But what if a child component wants to update something in the interface We will learn about how to do this in another article React is fastReact does not work on the DOM directly Instead it creates a virtual DOM in memory and compares it with the original DOM If there is a difference react update only the part of DOM which is changed It does not render the whole web page again SummaryReact is a free and open source JavaScript library You can build fast and interactive user interfaces with React React is generally used for building single page applications mobile apps and server rendered applications React is component based You write declarative code when working with React It makes your code more predictable and easier to debug React allows only one way binding React is fast It only updates part of DOM that is changed instead of rendering the whole page again 2022-03-15 15:15:10
海外TECH DEV Community On-demand Incremental Static Regeneration is Here!!! https://dev.to/psypher1/on-demand-incremental-static-regeneration-is-here-2e2l On demand Incremental Static Regeneration is Here IntroductionI wrote an article about Data Fetching in Nextjs in it I talked about the different way data is fetched and rendered in Next js I explained how Incremental Static Regeneration is what happens when you add revalidate to getStaticProps What Does ISR Currently DoCurrently when you want to use Incremental Static Regeneration you employ a revalidate parameter in your return statement This function gets called at build time on server side It may be called again on a serverless function if revalidation is enabled and a new request comes inexport async function getStaticProps const res await fetch https posts const posts await res json return props posts Next js will attempt to re generate the page When a request comes in At most once every seconds revalidate In seconds At build time all pages are generated and rendered When a request is made to a pre rendered page the cached page is shown Any requests to the page before the seconds will instantaneously show the cached page When a request is made after the seconds the page is regenerated in the background When that has succeeded the cached version is discarded invalidated and the updated page is shown becoming the new cache With revalidate set to all visitors will see the generated version of your site for seconds This will soon be a thing of the past What Will This Feature Introduce From Next js v you will now have access to the unstable revalidate function This will allow revalidation of pages that use getStaticProps This is referred to as On demand Incremental Static Regeneration In essence you have the ability to manually purge the Next js cache making it easier to update your site when the data that fuels it changes You won t need to add revalidate to getStaticProps when using this feature How To Use On demand Incremental Static RegenerationLet s take a look at how you make use of On demand Incremental Static Regeneration in your Next app Create a secret token only known by your next appAdd the token to your Environment VariablesSECRET TOKEN Create the revalidation API route pages api revalidate jsexport default async function handler req res Check for secret to confirm this is a valid request if req query secret process env SECRET TOKEN return res status json message Invalid token try await res unstable revalidate path to revalidate return res json revalidated true catch err If there was an error Next js will continue to show the last successfully generated page return res status send Error revalidating And there you have it Your pages regenerate automatically ConclusionI am so excited about this new feature I have been racking my brain as to what is a sensible revalidate time it being in seconds wasn t helping at all As of today if you run npx create next app latest you can now use O n demand Incremental Static Regeneration Update February I had some questions after I read the docs so I reached out to Lee RobinsonFor the token a jwt one will work Yes you can use any kind of token to secure the route Am I able to pass more that I one path to this await res unstable revalidate path to revalidate You can only currently revalidate a single path at once Thank you for reading let s connect Thank you for visiting this little corner of mine Let s connect on Twitter Polywork and LinkedIn 2022-03-15 15:10:45
海外TECH DEV Community Appendix: Sustainability (Development and Deployment Process) - AWS Well-Architected Framework Study Guide https://dev.to/aidutcher/appendix-sustainability-development-and-deployment-process-aws-well-architected-framework-study-guide-4po2 Appendix Sustainability Development and Deployment Process AWS Well Architected Framework Study GuideReturn to Well Architected Framework GuideAppendix SustainabilityHow do your development and deployment processes support your sustainability goals Adopt methods that can rapidly introduce sustainability improvementsKeep your workload up to dateIncrease utilization of build environmentsUse managed device farms for testingReturn to Well Architected Framework Guide 2022-03-15 15:08:57
海外TECH DEV Community UK Bank Holidays https://dev.to/aelbozie/uk-bank-holidays-45ok UK Bank HolidaysIt seems like the only authoritative source on UK Bank Holidays is gov uk e g it will include substitute days when Christmas Day is on a weekend You can use curl and jq to save the dates to csv curl jq r title date events title date csv gt uk bank holidays csv 2022-03-15 15:07:58
海外TECH DEV Community Appendix: Sustainability (Hardware Patterns) - AWS Well-Architected Framework Study Guide https://dev.to/aidutcher/appendix-sustainability-hardware-patterns-aws-well-architected-framework-study-guide-2nng Appendix Sustainability Hardware Patterns AWS Well Architected Framework Study GuideReturn to Well Architected Framework GuideAppendix SustainabilityHow do your hardware management and usage practices support your sustainability goals Use the minimum amount of hardware to meet your needsUse instance types with the least impactUse managed servicesOptimize your use of GPUsReturn to Well Architected Framework Guide 2022-03-15 15:06:33
海外TECH DEV Community Appendix: Sustainability (Data Patterns) - AWS Well-Architected Framework Study Guide https://dev.to/aidutcher/appendix-sustainability-data-patterns-aws-well-architected-framework-study-guide-1eg1 Appendix Sustainability Data Patterns AWS Well Architected Framework Study GuideReturn to Well Architected Framework GuideAppendix SustainabilityHow do you take advantage of data access and usage patterns to support your sustainability goals Implement a data classification policyUse technologies that support data access and storage patternsUse lifecycle policies to delete unnecessary dataMinimize over provisioning in block storageRemove unneeded or redundant dataUse shared file systems or object storage to access common dataBack up data only when difficult to recreateReturn to Well Architected Framework Guide 2022-03-15 15:04:51
海外TECH DEV Community Top React dashboard libraries https://dev.to/logrocket/top-react-dashboard-libraries-45gg Top React dashboard librariesWritten by David Omotayo️Dashboards visually display important metrics providing modern enterprise application owners and administrators with sharable insights that can be helpful for monitoring performance spotting trends and identifying issues There are many options available for building a dashboard application and the choice of framework is often the most important factor In my opinion you can t go wrong with React It s the most popular and versatile UI framework available React offers seamless integration with multiple third party frontend tools and packages enabling large chunks of data to be manipulated and visualized e g charts graphs and data grids with ease But using React to build a dashboard from scratch can take a lot of time and effort The same is true of other frontend technologies In this article I ll share a curated list of the best free open source dashboard templates that are sophisticated enough to be standalone libraries and that can be easily set up and modified for projects as needed Let s take a look at the following React dashboard libraries React admin Ant Design Pro React Dashboard Material Dashboard React Volt React Dashboard Airframe React Core UI React Shards React React Reduction Argon Dashboard React Mosaic Lite Paper Dashboard React Azia Star Admin React React adminFirst on the list is React admin a comprehensive open source library for building data driven admin dashboards React admin is based on the React framework and is powered by popular UI data management and routing technologies such as Material UI Redux React Final Form and React Router This library uses data providers to easily adapt to several backend architectures like GraphQL REST and SOAP React admin s loosely coupled design makes it very easy to replace any of its core systems For example you could use Bootstrap instead of the default Material Designs This library can be integrated into an existing project or used as a standalone project with either JavaScript or TypeScript Features Data validation Internationalization in Theming Authentication OAuth and more WYSIWYG editorQuick start Install via npm npm install react adminInstall via Yarn yarn add react adminStats GitHub stars k License MIT npm weekly downloads k Links Demo GitHub repo npm page Ant Design ProAnt Design Pro is a free open source UI library for scaffolding production ready admin interface solutions for enterprise applications The library is based on the React Umi and Ant Design UI library so it s highly customizable well documented and has an easy learning curve Ant Design Pro is maintained by the Ant Group and Alibaba a large ecommerce corporation The library is regularly updated and well maintained Ant Design Pro provides developers the option to choose between JavaScript or TypeScript for development Features Responsiveness Theming Internationalization in UI testingQuick start Clone the repo git clone depth Stats GitHub stars k License MIT Links Demo GitHub repo npm page React DashboardReact Dashboard is an admin library created by Flatonic a company that offers free and premium templates for various JavaScript frameworks React Dashboard is a free admin dashboard built with React Bootstrap React Router Redux and GraphQL This library comes with a working Node js backend integration allowing for easy data visualization and authentication Features Authentication Responsiveness Flatlogic CSS set CRUD operationsQuick start Clone the repo git clone o react dashboard b master single branch Stats GitHub stars k License MIT Links Demo GitHub repo Material Dashboard ReactMaterial Design React is a developer friendly admin dashboard library based on Google s Material Design MUI and React This library comes with pre built design blocks that ensure a seamless development process It also offers over frontend individual elements such as buttons inputs and cards that can be easily modified using MUI s styled API and sx prop custom styling Quick start Install via npm npm i material dashboard reactClone the repo git clone Stats GitHub stars k NPM weekly downloads License MIT Links Demo GitHub repo npm page Volt React DashboardVolt React Dashboard is a free open source React dashboard library based on Bootstrap and Sass frontend technologies This library is built upon React components using React Hooks and a data driven methodology that ensures an improved developer experience Volt s structural design makes it easy to visualize data obtained from backend technologies The library passes data between pre made components with an array of objects that can be easily integrated into pre made components such as form elements and other UI elements Quick start Install via npm npm i themesberg volt react dashboardClone the repo git clone Stats GitHub stars License MIT Npm weekly downloads Links Demo GitHub repo npm page Airframe ReactAirframe React is an admin dashboard library with minimalistic design and innovative light UI for building large scale dashboard applications This library is made up of a large collection of pre made components that can be used to set up all types of custom data visualization web apps such as admin panels and data analytics Airframe is based on React Bootstrap React Router and Reactstrap Quick start Install via npm npm i react airframeClone the repo git clone Stats GitHub stars k License MIT Npm weekly downloads Links Demo GitHub repo npm pageN B Airframe React hasn t been updated since Nonetheless it is still a better option than building dashboards from scratch Core UI ReactCore UI React is a lightweight MIT licensed open source dashboard library built on Bootstrap and React with TypeScript Core UI React is made up of styled components from the core UI CSS library which acts as an extension of Bootstrap that adds extra functionalities to the library This library s transparent code and lack of redundant dependencies make it light enough to offer the ultimate user experience Quick start Install via npm npm i coreui reactClone the repo git clone Stats GitHub stars k License MIT Npm weekly downloads k Links Demo GitHub repo npm page Shards ReactShards React is one of the best dashboard libraries for manipulating data chunks from blogging platforms It has an easy to use React UI toolkit that is based on Material Design and Font Awesome This library includes customizable components for managing and visualizing data from any blogging platform These components include tables forms blog dashboards blog post stats and more Quick start Install via npm npm i shards reactInstall via Yarn yarn add shards reactStats GitHub stars License MIT Npm weekly downloads k Links Demo GitHub repo npm pageN B Shards React hasn t been updated since React ReductionReact Reduction is a library built with React and Bootstrap It provides numerous components cards charts and widgets for creating sleek and professional dashboards Quick start Clone the repo git clone Stats GitHub stars k License MIT Links Demo GitHub repoN B React Reduction hasn t been updated since Argon Dashboard ReactArgon Dashboard React is based on Bootstrap and Reactstrap It is a free open source library that comes with fully coded components providing the freedom to choose and combine different variations to create amazing web apps This library also offers several pre built examples making the development process seamless Quick start Install via npm npm i argon dashboard reactInstall with Bower bower install argon dashboard react Clone the repo git clone Stats GitHub stars License MIT Links Demo GitHub repo npm page Mosaic LiteMosaic Lite is an open source library built with Tailwind CSS and React It is a responsive dashboard template with pre coded charts and widgets for building user interfaces for SaaS products and modern web apps Quick start Clone the repo git clone Stats GitHub stars License MIT Links Demo GitHub repo Paper Dashboard ReactPaper Dashboard React is a colorful dashboard library based on Bootstrap It comes with a large number of components designed to look neat and well organized This library is made up of the right amount of dependencies with just enough features for easy usage Quick start Install via npm npm i paper dashboard reactClone the repo git clone Stats GitHub stars License MIT Links Demo GitHub repo npm page AziaAzia is yet another incredible React dashboard library based on the Bootstrap framework The library is packed with a lot of UI elements components and pre made sample pages that will get your projects up and running in no time Quick start Clone the repo git clone Stats GitHub stars License MIT Links Demo GitHub repo Star Admin ReactStar Admin React is a powerful dashboard library with various inbuilt essential UI elements Star Admin React is based on the Bootstrap UI library and it offers unlimited customization options for visualizing data and creating unique web apps Quick start Clone the repo git clone Stats GitHub stars License MIT Links Demo GitHub page ConclusionIn this article we reviewed top free solutions for building professional dashboards and admin panel web apps with React With these libraries you don t have to waste time and effort building a dashboard from scratch These React libraries are loaded with essential tools UI kits and comprehensive documentation that ensures a stress free and productive developer experience Full visibility into production React appsDebugging React applications can be difficult especially when users experience issues that are hard to reproduce If you re interested in monitoring and tracking Redux state automatically surfacing JavaScript errors and tracking slow network requests and component load time try LogRocket LogRocket is like a DVR for web and mobile apps recording literally everything that happens on your React app Instead of guessing why problems happen you can aggregate and report on what state your application was in when an issue occurred LogRocket also monitors your app s performance reporting with metrics like client CPU load client memory usage and more The LogRocket Redux middleware package adds an extra layer of visibility into your user sessions LogRocket logs all actions and state from your Redux stores Modernize how you debug your React apps ーstart monitoring for free 2022-03-15 15:04:47
Apple AppleInsider - Frontpage News Apple TV+ announces first all-Spanish-language drama https://appleinsider.com/articles/22/03/15/apple-tv-announces-first-all-spanish-language-drama?utm_medium=rss Apple TV announces first all Spanish language dramaA episode medical drama called Midnight Family is now in production for Apple TV and marks the streamer s first such show made entirely in Spanish Joaquin Cosio Source ProtoplasmaKid Wikimedia Commons CC BY SA Currently filming in Mexico City Midnight Family is the story of Marigaby Tamayo an ambitious and gifted medical student and played by Renata Vaca It also stars Joaquin Cosio Diego Calva and Sergio Bautista Read more 2022-03-15 15:39:27
海外TECH Engadget ‘Ms. Marvel’ trailer reveals a June 8th premiere on Disney+ https://www.engadget.com/ms-marvel-release-date-trailer-disney-plus-streaming-151727395.html?src=rss Ms Marvel trailer reveals a June th premiere on Disney Ms Marvel one of several Marvel Cinematic Universe shows coming to Disney this year will premiere on June th Disney also revealed a trailer for the series It centers around Kamala Khan Iman Vellani a Pakistani American whose idol is Captain Marvel It s not too much of a spoiler to say that Kamala gains cosmic powers of her own such as super strength and a shapeshifting ability seemingly through mystical bracers On top of becoming a superhero Kamala has to contend with more ordinary aspects of life as a teenager including high school crushes career counseling and parents Ms Marvel who ll be familiar to those who ve read the comics or played Marvel s Avengers is the MCU s first Muslim superhero She ll also appear in The Marvels which is scheduled to hit theaters on February th Before Ms Marvel premieres Moon Knight which stars Oscar Issac will debut on March th On Wednesday all the MCU shows that were previously exclusive to Netflix ーincluding Daredevil Jessica Jones and Luke Cage ーwill arrive on Disney 2022-03-15 15:17:27
海外TECH Engadget Amazon's latest Echo Show 5 is on sale for $45 right now https://www.engadget.com/amazon-echo-show-5-sale-151110513.html?src=rss Amazon x s latest Echo Show is on sale for right nowNow might be a good moment to buy an Echo Show as a smart alarm clock Amazon is once more selling the second gen Echo Show for a record low or a large percent below the official price You can also buy the Kids edition for percent off if the colorful shell and year long Kids subscription prove appealing Buy Echo Show at Amazon Buy Echo Show Kids at Amazon The Echo Show is practically tailor made for your nightstand between its small size a sunrise alarm and a tap to snooze feature It sounds surprisingly good for its size and includes a camera with privacy shutter for morning video calls If you just want to check the weather or control your Alexa powered smart home from your bed this is all you need There are some limitations The interface isn t quite as elegant as Google s Nest Hub and you ll want that device if you use other Nest devices or otherwise immerse yourself in the Google Assistant ecosystem The video calling performance isn t a huge leap over the first gen Echo Show and you can t plug in a better set of speakers For though there s not much room to complain ーit costs less than an Echo Dot with clock while offering more overall functionality Follow EngadgetDeals on Twitter for the latest tech deals and buying advice 2022-03-15 15:11:10
Cisco Cisco Blog Summary: Visibility is the cornerstone of a digital strategy in financial institutions https://blogs.cisco.com/financialservices/summary-visibility-is-the-cornerstone-of-a-digital-strategy-in-financial-institutions Summary Visibility is the cornerstone of a digital strategy in financial institutionsLearn what a Asian financial services giant did to accelerate their journey to digital when the pandemic put the spotlight on their infrastructure and the need for visibility 2022-03-15 15:00:40
海外TECH CodeProject Latest Articles Build an Ionic app for searching gifs using Giphy API https://www.codeproject.com/Articles/5327557/Build-an-Ionic-app-for-searching-gifs-using-Giphy entry 2022-03-15 15:56:00
海外TECH CodeProject Latest Articles Introduction to TDD in Ionic framework https://www.codeproject.com/Articles/5327558/Introduction-to-TDD-in-Ionic-framework ionic 2022-03-15 15:54:00
海外科学 BBC News - Science & Environment UK gets first new-style pylons in a century https://www.bbc.co.uk/news/science-environment-60754357?at_medium=RSS&at_campaign=KARANGA environment 2022-03-15 15:24:07
金融 ◇◇ 保険デイリーニュース ◇◇(損保担当者必携!) 保険デイリーニュース(03/16) http://www.yanaharu.com/ins/?p=4861 日系企業 2022-03-15 15:26:54
金融 RSS FILE - 日本証券業協会 株式投資型クラウドファンディングの統計情報・取扱状況 https://www.jsda.or.jp/shiryoshitsu/toukei/kabucrowdfunding/index.html 株式投資 2022-03-15 15:30:00
金融 金融庁ホームページ 審判期日の予定を更新しました。 https://www.fsa.go.jp/policy/kachoukin/06.html 期日 2022-03-15 16:00:00
ニュース BBC News - Home Ukraine war: Infection and hunger as hundreds hide in Mariupol cellar https://www.bbc.co.uk/news/world-europe-60736845?at_medium=RSS&at_campaign=KARANGA mariupol 2022-03-15 15:39:28
ニュース BBC News - Home Covid in Scotland: Mask rules will stay in force until April https://www.bbc.co.uk/news/uk-scotland-60750364?at_medium=RSS&at_campaign=KARANGA covid 2022-03-15 15:34:48
ニュース BBC News - Home Ukraine war: Russia's ex-president among 370 new UK sanctions targets https://www.bbc.co.uk/news/uk-politics-60752241?at_medium=RSS&at_campaign=KARANGA spokesman 2022-03-15 15:54:24
ニュース BBC News - Home Oil price falls below $100 but petrol hits new high https://www.bbc.co.uk/news/business-60737256?at_medium=RSS&at_campaign=KARANGA crude 2022-03-15 15:36:09
ニュース BBC News - Home PM defends Saudi Arabia trip despite human rights record https://www.bbc.co.uk/news/uk-politics-60754155?at_medium=RSS&at_campaign=KARANGA russian 2022-03-15 15:52:37
ニュース BBC News - Home Premiership leaders Leicester fined for salary cap overspend https://www.bbc.co.uk/sport/rugby-union/60754388?at_medium=RSS&at_campaign=KARANGA regulations 2022-03-15 15:17:15
北海道 北海道新聞 道内各地で風雪、交通機関乱れる https://www.hokkaido-np.co.jp/article/657307/ 交通機関 2022-03-16 00:14:32
北海道 北海道新聞 ロシア抜きの核合意は「策略」 ラブロフ氏、米を批判 https://www.hokkaido-np.co.jp/article/657345/ 策略 2022-03-16 00:10:00

コメント

このブログの人気の投稿

投稿時間:2021-06-17 22:08:45 RSSフィード2021-06-17 22:00 分まとめ(2089件)

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

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