投稿時間:2022-04-14 21:37:39 RSSフィード2022-04-14 21:00 分まとめ(40件)

カテゴリー等 サイト名等 記事タイトル・トレンドワード等 リンクURL 頻出ワード・要約等/検索ボリューム 登録日
IT 気になる、記になる… イーロン・マスク氏、Twitterの完全買収を提案 https://taisy0.com/2022/04/14/155806.html twitter 2022-04-14 11:16:05
ROBOT ロボスタ 【中村獅童×初音ミク】今年は入鹿退治を題材とした超歌舞伎『永遠花誉功』の全貌が明らかに 過去作品をニコニコで再放送決定! https://robotstart.info/2022/04/14/supr-kabuki-ntt-2022.html 2022-04-14 11:30:11
Ruby Rubyタグが付けられた新着投稿 - Qiita 初学者:Rubyの初歩的なコードをまとめてみた。 https://qiita.com/ezakiglico0215/items/883fb15b8322a1dac32a greetinghellowouldputs 2022-04-14 20:35:45
AWS AWSタグが付けられた新着投稿 - Qiita aws lightsail (nginx , php8.1 をインストール) https://qiita.com/ma7ma7pipipi/items/dcc65e7ec120abcd1ac6 imezoneasiatokyolocalectl 2022-04-14 20:40:35
AWS AWSタグが付けられた新着投稿 - Qiita EC2のメタデータタグに設定したEverything(It's you)を取得してみた https://qiita.com/h2m_kinoko/items/915e33c5618f5f1a1bf6 everythingitsyou 2022-04-14 20:24:39
AWS AWSタグが付けられた新着投稿 - Qiita VPCにあるエンドポイントサービスってなに? https://qiita.com/miyuki_samitani/items/50a3765bf615fd86d640 awsprivatelink 2022-04-14 20:01:28
Docker dockerタグが付けられた新着投稿 - Qiita 【Docker】 Dockerの定義が変わるたびにイメージを削除している人に試してもらいたいコマンド https://qiita.com/simoyama2323/items/7e8cac4574db09849d07 docker 2022-04-14 20:39:07
Docker dockerタグが付けられた新着投稿 - Qiita ローカル開発環境自動化のススメ https://qiita.com/kijuky/items/89accbeaffdb39457dd4 開発 2022-04-14 20:12:56
技術ブログ Developers.IO Greengrass Development Kit CLI(GDK CLI)の新バージョン V.1.1.0 を試してみた https://dev.classmethod.jp/articles/greengrass-development-kit-cli%ef%bc%88gdk-cli%ef%bc%89%e3%81%ae%e6%96%b0%e3%83%90%e3%83%bc%e3%82%b8%e3%83%a7%e3%83%b3-v-1-1-0-%e3%82%92%e8%a9%a6%e3%81%97%e3%81%a6%e3%81%bf%e3%81%9f/ github 2022-04-14 11:15:02
海外TECH Ars Technica Heat-driven photovoltaic device hits 40 percent efficiency https://arstechnica.com/?p=1847963 temperatures 2022-04-14 11:00:35
海外TECH MakeUseOf 8 Things You Need to Do Before You Sell, Trade In, or Give Away Your iPhone https://www.makeuseof.com/things-to-do-before-selling-iphone/ Things You Need to Do Before You Sell Trade In or Give Away Your iPhoneProtect your data and create a nice experience for the new owner by following all these tips before getting rid of your iPhone 2022-04-14 11:16:13
海外TECH DEV Community Incident Response for AWS MySQL https://dev.to/giladmaayan/incident-response-for-aws-mysql-32l6 Incident Response for AWS MySQL What is AWS MySQL AWS supports MySQL in various ways including the fully managed Amazon Relational Database Service Amazon RDS It simplifies configuration operation and scaling tasks allowing you to easily operate a relational database like MySQL in the AWS cloud Amazon RDS supports DB instances that run several versions of MySQL It provides flexible capacity for your database and can help manage common database administration tasks Once you create an Amazon RDS for MySQL DB instance you can perform various tasks including Resize your DB instance Authorize connections to your DB instance Create Multi AZ secondaries and read replicas Restore data from snapshots and backups Monitor your DB instance s performance Use MySQL apps and utilities to access and store the DB instance s data What Is AWS Systems Manager Incident Manager Incident Manager is a feature of AWS Systems Manager that provides an incident response and management console AWS Systems Manager helps you centralize operational data from various AWS services and automate tasks across AWS resources What is AWS Systems Manager AWS Systems Manager lets you create logical groups of resources for example applications application stack layers production and development It allows you to choose a resource group and then view various related metrics including Recent API activityRelated notificationsResource configuration changesOperational alertsSoftware inventoryPatch compliance statusAWS Systems Manager provides a centralized console to view and manage AWS resources You can take action according to the specific operational needs of each resource group This tool aims to provide you with comprehensive visibility and control over resources What is Incident Manager Incident Manager provides an incident management console for mitigating and recovering from incidents affecting applications hosted in the AWS cloud An incident can be an unplanned interruption to services or an unexpected reduction in quality You can use AWS tools to extend the capabilities of Incident Manager For example adding CloudWatch alarms and metrics AWS Chatbot and AWS CloudTrail to facilitate rapid incident response You can create and automate response plans and let Amazon EventBridge events or CloudWatch alarms initiate them Incident Manager lets you define runbooks and then use AWS Systems Manager automation to automate critical responses These runbooks also provide detailed steps to first responders Using various contact methods Incident Manager can automatically engage the relevant stakeholders for each incident Incident Manager can automatically escalate through responders to ensure visibility and active participation during each incident and employ an AWS Chatbot client to ensure incident responders actively respond to incidents It also provides incident tracking features letting responders review incident details follow runbooks and create and remediate follow up items Securing Amazon RDSAmazon offers various features you can use to manage information security for AWS RDS resources and databases hosted on RDS instances Depending on the type of task users need to perform with RDS you can use any of the following access management methods Network access controlーyou can achieve the greatest network access control by running a DB instance within a virtual private cloud VPC via the Amazon VPC service User access controlーAWS Identity and Access Management IAM policies enable you to assign permissions that allow only specific users to manage RDS resources Resource management privileges include creating describing modifying and deleting DB instances modifying security groups and tagging resources DB instance access controlーsecurity groups can help you restrict connectivity to databases on a DB instance only to specific IP addresses and EC instances Secure protocolsーyou can establish secure connections with DB instances running MySQL databases through Transport Layer Security TLS or Secure Socket Layer SSL protocols Data encryptionーRDS encryption enables you to secure DB instances and snapshots at rest It encrypts the data on the hosting server using the industry standard AES encryption algorithm AWS Systems Manager Incident LifecycleAWS Systems Manager Incident Manager is an incident lifecycle management tool which lets you recover AWS hosted applications from a cyber attack as quickly as possible It provides tools and best practices for every stage of the event lifecycleAlerting and EngagementIncident Manager supports the alerting and engagement phases of incident response by generating alerts about events in your application This step starts before any event is detected and requires a deep understanding of the application You can use Amazon CloudWatch metrics to monitor data about application performance that might indicate a cyber attack TriageWhen an alert comes in first responders need to determine its potential impact Incident Manager lets you classify an incident into five levels of impact Critical impactーcomplete application failure that significantly affects all customers Partial application failureーincident impacting many customersModerate impactーincident that results in reduced service to customersLow impactーincident that is felt by customers but has minimal impactNo impactーincident that does not currently affect customers but urgent action is required to avoid impact Investigation and MitigationIncident Manager provides an incident details view that provides the following capabilities Runbooksーthese are automated processes that can investigate the incident automatically discover data or try common solutions The playbook also provides clear repeatable steps to help the team mitigate this type of incident Timelineーshows the actions taken both automated and manual Each intervention by the team is automatically recorded with a timestamp and automatically generates details Metrics ーdisplays automatically selected metrics and metrics manually added by the team This provides important information about application activity during an event Chatーyou can use chat channels to interact with events directly through AWS chatbots AWS Chatbot lets you use Incident Manager API operations in automated chat channels You can resolve the incident directly from the chat channel from any device Post incident AnalysisAfter the event is over Incident Manager enables post incident analysis This provides a structure for teams to develop new response methods and improve their process In this part of the process Incident Manager helps teams discover and implement the following optimizations Changes needed to applications related to the eventーhardening applications and improving fault tolerance Incident response plan changesーincorporating lessons learned over time Changes to runbooksーchanging the steps needed to address a specific type of cyber incident Changes to alertingーafter an incident the team may have discovered an important metric or threshold that can be used to alert to an incident earlier ConclusionIn this article I explained the basics of hosted MySQL on AWS via the Relational Database Service RDS and showed how to manage incident response for MySQL using the AWS Systems Manager Incident Manager feature I hope this will be useful as you improve the security posture of your cloud hosted databases in AWS 2022-04-14 11:44:44
海外TECH DEV Community Thoughts of Learning typescript for the past few weeks https://dev.to/kamrulhaider/thoughts-of-learning-typescript-for-the-past-few-weeks-3966 Thoughts of Learning typescript for the past few weeksFor the past few weeks I have been learning Typescript So just to understand my learning I want to answer a question about typescripts What is typescript According to their website “TypeScript is a strongly typed programming language that builds on JavaScript giving you better tooling at any scale Through my learning what I understand is that typescript is an extension of JavaScript It helps you validate your variables and functions in a better way with faster implementation Also with typescript we can handle our errors faster and can detect them very easily It increases our productivity by adding some additional syntax and by catching errors earlier by our editor In the above screenshot we can see two variable declared with the let keyword later it was changed into different types as a to number and b to string Which is completely okay in JS But in typescript you need to declare the types so that further changes of value can remain in the same type Like below Although in typescript there are some syntax and methods that can convert a variable to multiple types 2022-04-14 11:40:19
海外TECH DEV Community How GitHub is Improving Developer Experience https://dev.to/this-is-learning/how-github-is-improving-developer-experience-8jj How GitHub is Improving Developer ExperiencePhoto by Annie Spratt on UnsplashIn the last couple of years the number of developers contributing to Open Source has grown exponentially The Github team deserves all praise The Developer Experience is much better than what it used to be They are lowering the entry barrier for new developers to come and contribute to Open Source Let s go through some great tools introduced and some amazing changes around GitHub which improved the Developer Experience and made GitHub an undisputed leader ToolsLet s go through the tools introduced in the past few years CodespacesOne of the biggest problems developers face is setting up the development environment As someone contributing to multiple Open Source projects it s a pain and I am sure many of you will agree with this GitHub came up with Codespaces You setup the development environment in a single click it s amazing isn t it And can use it online too press and it spins up your environment on the cloud Many Open Source developers have access to use it for free For enterprises you need to pay to use it and the pricing is much cheaper than buying a high end laptop GitHub ActionsAfter NodeJS this is the best thing Developer Community got Before GitHub Actions it was a pain to setup the CI CD and everyone especially Open Source maintainers knows this With GitHub Actions you can setup CI CD for your project with ease and even you don t need to leave the github com With so many Actions created by the community you can setup your essential CI CD within a few minutes So what are you waiting for Go ahead and utilize this feature and you can publish your Actions on marketplace Code SearchSearching code on GitHub was a pain it was slow confusing and sometimes we used to get results we were not looking for GitHub launched GitHub Code Search which makes code search faster and more accurate you can select which repo you want to search code for You get a lot of filters for the correct code CopilotI am sure you already know what Copilot is and what it can do for you I still get amazed by what it can sometimes do I write a single character and press the tab and it writes the exact code that I am thinking even better Many developers got the access and are enjoying it and it has improved my productivity for sure Also try Copilot for writing blog posts you will be surprised GitHub CLINo I am not talking about Git which we use GitHub decided to release its CLI because why not This is the era of CLI You can open a PR see a PR status see all issues etc You can download it from here GitHub SponsorsNot a tool but a fantastic addition to the ecosystem funding for Open Source is a tricky topic Many large enterprises use them but don t care to support them GitHub sponsors are trying to fill that gap so organizations and developers know what projects they rely on and choose to sponsor projects or open source contributors With GitHub Sponsors developers keep the entire money as GitHub does not charge any fee You can get more details here GitHub Mobile AppWhat if you are traveling and there is an emergency and you need to review and merge PR GitHub mobile app has matured over the year and is available for both Android and Apple phones It has most of the features you need to review merge and read the code Download if from here Github com Dark themeEveryone I know was rooting for this feature GitHub finally launched a dark theme We have multiple themes to choose from you can also sync them with the system setting Fetch UpstreamKeeping a fork in sync with the remote branch was always a pain With this feature GitHub just solved an immense pain for s of contributors on GitHub Projects Beta Everyone using GitHub relies on other tools like Jira and Azure DevOps for project management For enterprises it is easy to pay for a project management tool For open source maintainers not so much they rely on GitHub issues With Projects they will be able to plan in a better way DiscussionsIf you are Open Source maintainers you know how much pain it was to manage questions and RFCs using GitHub issues Open Source maintainers pushed developers to use StackOverflow but was it the best choice Open Source projects miss so much valuable content available somewhere else In case some question on SO leads to a new Bug or a feature Discussions are the best place to have QnA and RFCs and it allows to convert Discussion to issues as well It means all information is available in the repository Also maintainers know who is helping the project more by getting involved in QnA To enable Discussions for the repository Go to Settings and you will find the below option ListI am sure like me many of you star a lot of repositories on GitHub But do you remember why you starred those repositories or which one you starred once you have starred many of them I don t so I was pleased when List was introduced You can add a starred repository to an existing list or create a new List so you remember why you starred the repo Special RepositoryGitHub has a special repository Create a repository with the same name as your username to use it You can use this repository to customize your GitHub profile you can visit my profile to see an example Also if you want to customize yours don t miss this free course By Eddie Update PR with remote BranchAnother big pain while doing PRs was what if your PR takes some time to merge and the master is already ahead Of course you update your branch with the main branch and you have to do it manually which wastes the developer s time GitHub came up with an option to update your PR with a single button click thus saving a lot of time for developers Command Palette Feature Preview Want to navigate through GitHub quickly Use the new Command Palette To open the command palette use the below keys macOS ⌘k or ⌘opt kother Ctrl k or Ctrl alt kThis feature is not enabled for everyone Go to the Feature Preview tab to see if you have access to this feature Pull Request File Tree Feature Preview It is difficult to find and review a file when you change many files within a PR Sometimes the file is at the bottom of the screen and reviewers have to scroll to see the files With this feature we get the files changed within the review tab and it s easy to navigate and look for changes in a file GitHub ReleasesCreating a release note is essential It tells the users of your projects product what the changes introduced in the new release are Open Source maintainers have used different approaches for years Thanks to GitHub releases you can do it from the repository itself Once you draft a new release you can choose your tag name against which branch you want to draft the release and it will pick up all the issues included in the new release Example Code NavigationI read Open Source code to understand what they do and sometimes the reference to some functions is in another file Before the code navigation feature landed on GitHub the only way was to go to that file and read It was time consuming with code navigation it s easy to move to another file where the code exists Community Initiative Stars ProgramIn GitHub launched the GitHub stars Program to recognize the developers educating and inspiring the developers across the globe Unlike most programs this Program is unique as developers worldwide can nominate you The perk of being one of the stars you get to give early feedback for new features and interact with a fantastic team Also no one can beat the GitHub in swag and I have almost my entire streaming setup given by GitHub It supports you as well so you can continue your community effort ConclusionThese are a few tools and features there are many I recently found I can follow organizations on GitHub now GitHub is pushing a lot of great features Let me know which one is your favorite and I know it isn t easy to choose Shoutout to my GitHub sponsors for supporting my work 2022-04-14 11:25:47
海外TECH DEV Community Astronomical computing – Ep 2 https://dev.to/rhannequin/astronomical-computing-ep-2-4c08 Astronomical computing Ep Angles are one of the most important concepts in astronomy Celestial objects are visible from our point of view living on Earth as laying on an imaginary sphere This is the celestial sphere which by its name states that objects position on it can be described with angles source lumenlearning comThere are many astronomical coordinate systems but we will focus on the two most used Horizontal coordinate systemThe horizontal coordinate system also know as altitude azimuth system is quite easy to understand It is basically describing the object s position as up down and left right As an observer watching the celestial hemisphere from its center as the whole sphere is not visible due to the ground a coordinate can be described with two elements altitude the angle between the horizon and the objectazimuth the angle between the north and the objectA few important things must now be explained The horizon is actually called the celestial horizon as it differs from the common horizon that includes the Earth topography It is a horizontal plane on which the observer is standing The north is also called the true north which is the direction towards the Earth s geographic North Pole These angles are described in arc degrees These degrees are the one we know from school where °is a complete circle Equatorial coordinate systemMore difficult to apprehend but extensively used in astronomy the equatorial coordinate system uses spherical coordinates without distance coordinates with a center being the center of Earth It is therefore not based on the observer s point of view and appears to be fixed relatively to the background stars The Earth rotation doesn t affect the coordinates Here are its two components declination which is the angular distance of the object perpendicular to the celestial equatorright ascension which is the angular distance on the celestial equator between the object and the vernal equinox Here again a lot of information must be provided The celestial equator is the intersection between the celestial sphere and the plane made by the Earth equator The vernal equinox is one of the two point on the celestial equator where it intersects with ecliptic plane which is the plane of the Earth s orbit around the Sun The declination is usually described in degrees minutes and seconds where the degree is an arc degree of a full circle the minute represents one sixtieth of a degree and the second represents one sixtieth of a minute The right ascension is usually described in hours minutes and seconds where hours represent a full circle the minute represents one sixtieth of a hour and the second represents one sixtieth of a minute source wikimedia Many different units for many different anglesWe learned that in astronomy we have to manipulate many angles and more importantly many different units We talked about the arc degree the degree manipulated with minutes and seconds angles expressed in hours There is also the radian an angle unit used so that a corresponding °angle can also be written πrad Spoiler about the book units are sometimes mixed up between formulas which means we must be able to convert an angle from one unit to another Such functions will be the first step in our Ruby library and will be the main topic of the next episode Happy hacking Sources Celestial sphere Horizontal coordinate system Equatorial coordinate system Celestial equator Equinox Radian 2022-04-14 11:23:33
海外TECH DEV Community Cloud computing – everything you need to know https://dev.to/firdavs_kasymov/cloud-computing-everything-you-need-to-know-31ld Cloud computing everything you need to knowCloud computing is one of the most popular buzzwords amongst technology enthusiasts and professionals It is a revolutionary technology that has changed how applications are built deployed and used I m pretty sure everyone reading this article has used an app or service that takes advantage of cloud computing technology Despite being a popular topic not so many people understand the fundamentals of cloud computing and how significant this technology is to this era where we rely on computers to do almost everything In this article we will discuss all the basics of cloud computing including the cloud computing providers and how different categories of users can take full advantage of this technology Let s dive in What is cloud computing In simple terms cloud computing refers to the delivery of computing services including server hardware storage networking analytics software and databases over the internet Back in the days before cloud computing organizations used to rely on their local servers to host their in house applications and storage of data Cloud computing has changed all this companies no longer have to spend thousands or even millions of dollars building local computing infrastructure They can simply rent computing resources and storage they need from any of the cloud computing providers including Amazon Web Services AWS Microsoft Azure Google Cloud Alibaba Cloud and many more AWS is still the most popular cloud computing service provider with a market share of over For the most of this article AWS will be our major focus since it is the most popular option and the one with the most services Source Cloud computing services delivery models Infrastructure as a Service IaaS This is a cloud computing delivery model where providers such as AWS Microsoft Azure and Google Cloud offer users computing resources storage and application programming interfaces APIs that they can use for their various workloads AWS has a wide range of services that users can choose from based on their computing and storage needs Some of the most of most used ones include Elastic Computer Cloud EC for computing and Amazon Simple Storage Service Amazon S for storage With these services users pay for what they need For instance EC gives you the option to choose the number of CPU cores and the amount of RAM you need for your application AWS has more than services that developers and other professionals can choose from to get their work done Platform as a Service PaaS PaaS is a cloud computing delivery model where the service providers host software development tools on their servers These tools are mainly used for building and testing applications before they are deployed on the web for final consumers to use Some of the popular PaaS platforms include Google App Engine AWS Elastic Beanstalk and Salesforce s Lightning Platform These platforms provide all the tools that developers need in their app development cycle Many of these PaaS platforms also host the software after it is developed However a developer can choose to host their software on another platform of their choice Software as a Service SaaS This refers to a cloud computing delivery model where providers deliver software applications via the internet The target market for SaaS applications are final consumers SaaS applications can be accessed by anyone via their mobile device or computer Some of the popular SaaS platforms include Google WorkSpace Microsoft HubSpot Salesforce Shopify and many more Benefits of using cloud computing services like AWS Cost effectiveCost is one of the reasons organizations are shifting from local computing to cloud computing With cloud computing companies pay for the specific resources they need Services such as Amazon s EC give users the option to pay based on the exact computing resources they are using That means costs only go up when your application is being used the most It is much easier to scale upCloud computing service providers like AWS allow you to get more resources for your application with just a few clicks You also have the option of automating this process Scaling up with local computing requires procuring and configuring new servers which is time consuming and costly Deploying apps in different regionsApplications deployed on a server that is geographically closer to you run faster than those deployed further away AWS has computing infrastructure in up to geographical regions spread out across all the five continents including North America South America Africa Asia Europe and Australia So developers can deploy their apps in regions where they expect most of their users to be located Unlimited storage capacityNo matter how much space you need cloud services like Amazon s S got you covered As we shared earlier you have the option of paying for the exact kind of space you need So you can always increase the size based on your storage demands Data securityAWS and other cloud computing providers spend billions of dollars on the security of their platforms So if you deploy your app on any of the top rated platforms you will be assured of top notch security Final thoughtsCloud computing is one of those fundamental technologies that is affecting almost everyone in a certain way Enterprises and businesses now rely on IaaS platforms to deploy apps without having to incur the huge costs of buying and maintaining servers On the other hand developers and other professionals are using PaaS platforms to build test and deploy apps And finally final consumers now use SaaS applications to do power demanding tasks like photo editing without necessarily having to buy expensive and powerful computers As long as you are using the internet you will at some use a cloud computing service 2022-04-14 11:20:22
海外TECH DEV Community How to Operate the “useContext” Hook In React https://dev.to/kuldeeptarapara/how-to-operate-the-usecontext-hook-in-react-4jdp How to Operate the “useContext Hook In ReactThe useContext hook in React assembles it comfortably to pass data to your app Without holding them manually deliver props down the tree It can create an easy choice for Redux when your data is superficial or your app is short Most React Hooks operations deliver elements credentials they didn t have earlier Consumer elements hand data but it is bulky to note extended functional code to operate this context API So the UseContext hook enables the creation of the code readable less verbose and terminates the need to present a consumer element Syntax const authContext useContext initialValue So if you are planning to outsource React js development services then you should choose BOSC Tech Labs for all your IT outsourcing needs The useContext hook is slightly distinct though it just assembles things to look pleasant In this article we will read about operating the useContext in React syntax const authContext useContext initialValue Why Context in React Elements are the construction blocks of the consequence in React These elements are illustrated in a tree hierarchy where an element is the parent of a child element The data gush in React is down the order which is the data gush from parent element to child element and further down If the element is more in depth in the hierarchy than the parent element then the data is passed through all the midpoint elements first And then it resolves conveniently to the element at the bottom of the order To prevent this type of design operating redux as a library some ReactJs developers perform on the global stock And that supplies data or conditions globally And without giving data or selecting a hierarchy it is instantly attainable to all elements There are a few steps to execute react useContext in your project To assemble a reference object create a file and export that reference object from that file theme context jsexport const ThemeContext React createContext theme themes dark toggleTheme gt We have assembled and shipped a context object and it receives a defaulting parameter or value that can depart to it If no prop is passed through the parent element it brings the default prop defined in the context object Now in a parent element whose value is to pass to the child element We will encase any child elements varying down the hierarchy in the comeback context provider Element A ーElement B ーElement C ーElement D predecessor child child child Here in the above line element A is the parent element Element B is the child of element A Element C is the child of element B And Element D is the child of element C app jsimport ThemeContext themes from theme context import ThemedButton from themed button function Toolbar props return Change Theme class App extends React Component constructor props super props this state theme themes light this toggleTheme gt this setState state gt theme state theme themes dark themes light themes dark render return Here class App is the ancestor the Toolbar is a child functional element and ThemedButton is also a child component ThemedButton will take the default value of the context as it is not wrap it inside any context provider We are done with the parent element and now move on to the child element definition In child elements we can access values ​​in many manners Let s examine the first method to access the value in the child element context type Themed button jsBefore Contextimport ThemeContext from theme context class ThemedButton extends React Element render let props this props let theme this props this props used return ThemedButton contextType ThemeContext export default ThemedButton After Contextimport ThemeContext from theme context import React from react class ThemedButton extends React Element render let props this props let theme this context Replaced by this context return ThemedButton contextType ThemeContext export default ThemedButton Here ThemedButton is a child element and if you desire to access the value then use ContextType before shipping the segment So now we will see that there is another way to access matters ​​using React Hooks import ThemeContext from theme context import React useContext from react class ThemedButton extends React Component render let theme useContext ThemeContext return export default ThemedButton We used the useContext hook and after that we can instantly access the belongings as shown above Conclusion This is how we can operate with the “useContext hook in react We hope you got an idea about using the “useContext hook in react So Thank you for reading our article We hope you enjoyed our content Moreover please share your ideas with us so that we can improve our content 2022-04-14 11:08:12
海外TECH DEV Community Top 5 Technologies for SaaS Application Development https://dev.to/hiwilliam2/top-5-technologies-for-saas-application-development-1bdg Top Technologies for SaaS Application DevelopmentIn the last few years the prevalence of SaaS app development has steadily increased at an exponential rate Traditional software is being phased out in favor of SaaS products and services The SaaS market is expected to be worth billion by according to Statista In years these numbers have increased In today s competitive business environment software as a service SaaS is becoming a more feasible option for businesses looking for accessibility flexibility and scalability As leading overseas giants rely on SaaS Approaches your startup or company would benefit from investing in this cutting edge technology as well However creating products for today s users is no easy task You d need a technology stack to enable those features in your solution Through this blog you ll know the most effective technologies for developing SaaS apps So let s get started Top technologies for SaaS application Development It s very crucial to choose the right technology or to create a list that is appropriate for your product or service in order to assure efficient growth and positive advancement Moving on here are the top technologies for SaaS product development So take a look 2022-04-14 11:07:18
海外TECH DEV Community Implementing micro-frontends – A path to evolve legacy codebases https://dev.to/mbellagamba/implementing-micro-frontends-a-path-to-evolve-legacy-codebases-4e37 Implementing micro frontends A path to evolve legacy codebasesMicro frontends are the present and the future for scaling large client side applications Why should you implement this architectural style Let s dig into the reasons that led me and my team to adopt it Working at scale is one of the main goals of modern software engineering Micro frontends is an architectural style and a technique many organizations are adopting to address this problem Generally speaking the motivations for using this approach are basically the same that makes us choose micro services in the “backend world breaking down a monolithic codebase into micro apps each of which developed by autonomous team responsible for the entire lifecycle of this portion of the project This approach has the main benefits of improving the development process and the developer experience because each team is focused on a smaller scope and it can independently deploy new features adapting to changes with a high velocity In other words micro frontends inherit microservices well known benefits such as development agility technological freedom and targeted deployments We pay for this high encapsulation of business rules and this high flexibility for each team with an increased effort for infrastructure since automation is one of the key requirements for a successful implementation Modern cloud technologies greatly simplify this work and can be considered the enabling technologies for this architectural style Despite this a distributed system is intrinsically more complex than a monolithic one because we must take in consideration aspects such as orchestration distributed failures observability and automated deployments Objectives amp PrinciplesFor the purpose of the article we can consider our initial architecture as a classic client server application where the PHP server is responsible for generating HTML pages and JavaScript client side code is responsible for making these pages interactive We need to evolve the user experience making the user interface more responsive and more app like We also need to improve the developer experience because maintaining this legacy codebase has become overwhelming and the team was not so fast to adapt to ever evolving requirements The final objective of this architecture migration is to improve the user experience modernize the user interface and speed up the development process and we would achieve this purpose satisfying the following objectives Independent artifacts team should be able to independently deploy their frontend applications with minimal impact to other services Other teams should consider other micro frontends more or less like a black box Easier maintenance each micro frontend module should be developed in isolation and the developer has lower cognitive load when developing a feature or debugging Each micro frontend has a separate and decoupled codebase from the others and each of them represents a business subdomain For this reason it s easier for a developer to become a sub domain expert Autonomous teams each team should be responsible for making the right choices for its module Technology independence the legacy framework and tooling should coexist with modern technologies allowing to evolve the codebase without struggling Scalable development  each micro frontends should be independent from each other so each team could deploy at its own pace increasing the development speed ChallengesAs it often happens in software engineering every choice comes at a cost or at least with some aspects to take into consideration Choosing a micro frontends architecture requires facing these challenges Parent child integration The micro frontend architecture involves loading different modules to compose the UI of an application This requires defining the communication modalities between the loaded micro frontends that guarantee the performance the consistency of the user experience that is expected from a monolithic application and at the same time the low coupling between the modules Many of the implementation strategies involve creating an app shell that acts as an orchestrator of the micro frontends Operational complexity A micro frontend application involves creating and managing separate infrastructure for all teams Automation is a critical aspect of the implementation to ensure scalability of the system Consistent user experience Child applications should use the same design system of the parent application This could be particularly difficult when evolving a legacy application because sharing the same UI components and CSS libraries is not an option ImplementationFirst of all let s briefly describe the application domain which is useful to understand our choices Nuvola is a web application that offers a range of services that fully cover the needs of schools from teaching to administration Teachers use the software for teaching management insert lesson topics assignments grades absences etc Instead the primary purpose for parents and pupils is to read the data entered by the teachers Finally the school secretariat uses it to fulfill administrative burdens registration of documents communications personnel management etc The core concept is to apply a Strangler Pattern in order to gradually eliminate the original application by replacing each sub domain with a micro frontend Adopting the Pattern in combination with a micro frontends architecture can enable the frontend team to independently deploy each application module and increase the parallelism of development We followed the Micro frontends Decision Framework as a guide for top level architectural choices This is a super short summary of our decisions Definition vertical split Every page displays a single micro frontend and there s an orchestration layer responsible for switching micro frontends We identified a subdomain with a type of user so each micro frontend is a micro app serving a single type of user Composition client side A tiny layer of JavaScript code is responsible for loading micro frontends on the page In our architecture switching between micro frontends is a residual use case because it can happen only for users with different roles like both teacher and parent in the same school Routing client side Since we compose micro frontends client side delegating the routing responsibility to the same JavaScript code is the go to choice Communication local storage Previous choices aim to enforce encapsulation and minimize the need for communication between micro frontends so the only thing we need to share is authentication In future developments if the modules need to share something more we will likely rely on a loose communication system such as an event emitter We chose to attach parent and child using a run time integration via javascript because it s one of the most flexible ways to do that Each micro frontend exposes an entry point and a rendering function The app shell knows the list of entry points of the available micro frontends and is responsible for loading them on the page lt html gt lt head gt lt title gt Parent application lt title gt lt head gt lt body gt lt script gt const microFrontendEntries pupils area teachers area administrative area const microFrontendScript document createElement script microFrontendScript src microFrontendEntries window location pathname document body appendChild microFrontendScript lt script gt lt body gt lt html gt This example is a basic implementation of the app shell Once the micro frontend is loaded on the page it renders the corresponding content In our configuration the app shell does not render anything it s only responsibility is to load and orchestrate micro frontends Full disclosure at the time of writing each micro frontend is served by separate HTML pages and the server is responsible for redirecting the user to the corresponding micro frontend HTML Future release will adopt the implementation described previously Deployment pipelineAWS CodePipeline orchestrates the pipeline steps A new commit is pushed to the repository main branch triggering the deployment AWS CodeBuild clones the latest version of the code from the repository and runs the build commands that install dependencies transpile and minify code The build step produces static assets JS SVG CSS HTML files Build output is transferred to an S bucket AWS CloudFront serves static assets to the parent application A side note on assets cachingA popular performance optimization technique for serving static assets is to set a long cache expiration time and generate dynamic file names by including the content hash When connecting micro frontends together their entrypoint must be stable and can t be dynamically generated with the content hash algorithm So the solution we adopted is to generate a manifest file which maps the micro frontend name with the dynamic name of the entry point The manifest file must never be cached or at most it can be saved in a shared cache CDN that we can invalidate at each deployment Cache is configured on our S origin setting Cache Control header appropriately Manifest file Cache Control max age s max age month on sharedAll other assets Cache Control max age year Webpack Module FederationOn Webpack was released We are already distributing our first version of the micro frontends solution based on the code previously presented However This release is shipped with the Module Federation plugin which abstracts the parent child integration in a very effective way Being a Wepack plugin we just upgraded Webpack to version and we were ready to use it Put it simply  Module Federation allows to assign to each module the role of host or remote Remote modules can be considered independent and expose one or more entry points Host modules are containers that know entry points of remote modules and can therefore use them There s a lot more things going on but this is the core concept For instance Module Federation allows each module to be both remote and host at the same time or can handle shared libraries avoiding the user downloading shared libraries multiple times when it is a dependency of many micro frontends on the page Here s an example of configuration for a remote module const ModuleFederationPlugin require webpack containerconst deps require package json dependenciesmodule exports plugins new ModuleFederationPlugin name RemoteApp filename remoteEntry js exposes renderMFE src index shared react requiredVersion deps react singleton true react dom singleton true requiredVersion deps react dom This configuration declares a remote entry for a module called RemoteApp that exposes a renderMFE function Moreover it declares two shared libraries react and react dom It could seem counterproductive to share something between micro frontends instead avoiding a multi framework approach keeps the project more cohesive and more maintainable However we know this is a very valuable possibility because we probably need it during further steps of migration to allow the coexistence of jQuery and React for the small period of time we need to completely migrate our codebase What s next At the time of writing this article we have completed the migration of the parents and pupils area and we have noticed an increase in the use of this section by our users This for us means that the update has been well received and has fixed at least some of the usability issues that made it less user friendly Secondly we have seen a relative reduction in the cost of our cloud architecture due to adopting the API model compared to generating HTML on our main servers Infrastructure costs have grown in absolute terms due to two factors Our user base is constantly growing more and more schools are choosing to use Nuvola as a management software and as an electronic register The advent of the COVID pandemic has generated greater use of our software which has represented the official software solution for communicating with schools during the distance learning period Given the excellent results obtained we are already working on the migration of the other parts of the software using the same principles already implemented Surely Webpack Module Federation will play a key role in this process and will be used for an even simpler and more immediate orchestration Grazie per aver letto fino a questo momento condivideròmaggiori dettagli del nostro percorso in post futuri Continuate a seguirci nel nostro blog By Mirco Bellagamba Software engineer front end specialist 2022-04-14 11:05:04
海外TECH DEV Community How to Add Customer Profile to Your Next.js Ecommerce Store https://dev.to/medusajs/how-to-add-customer-profile-to-your-nextjs-ecommerce-store-26dp How to Add Customer Profile to Your Next js Ecommerce StoreMedusa is an open source headless commerce platform that aims to provide developers with a great developer experience Although it provides Next js and Gatsby storefronts to use you can also use any storefront of your choice To make your developer experience even easier Medusa provides a client NPM package that you can use with JavaScript and Typescript frameworks In this tutorial you ll learn how to install and use the Medusa JS Client in your storefront to implement a customer sign up and profile flow You can find the code for this tutorial in this GitHub repository PrerequisitesThis tutorial assumes you already have a Medusa server installed If not please follow along the quickstart guide Furthermore this tutorial uses the Next js starter to implement the customer profile However the tutorial will focus on how to use the Medusa JS Client in particular So you can still follow along if you are using a different framework for your storefront Install the Medusa JS ClientIn your storefront project s directory install the Medusa JS client if you don t have it installed already npm install medusajs medusa jsIf you re using our Next js or Gatsby starters then you don t need to install it Initialize ClientIn the Next js starter the client is initialized in utils client js and you can just import it into your components However if you re using your custom storefront here s how you can initialize the Medusa client const client new Medusa baseUrl BACKEND URL Where BACKEND URL is the URL to your Medusa server You can then use the methods and resources in the client to send all types of requests to your Medusa server which you ll see later in this tutorial Add StylesThis step is optional and can be skipped To add some styling for the rest of the tutorial you can create the file styles customer module css with this content Add Customer to ContextIn the Next js starter the StoreContext holds all variables and methods important to the store like the cart object In this section you ll add a variable and a method to the context customer and setCustomer respectively In the defaultStoreContext variable in context store context js add the following export const defaultStoreContext customer null setCustomer async gt Then in the reducer function add a case for the setCustomer action case setCustomer return state customer action payload Inside the StoreProvider function add inside the useEffect under the cart initialization the following to retrieve the customer if they are logged in and set it in the context try to retrieve customerclient auth getSession then customer gt setCustomer customer catch e gt setCustomer null Notice here that you re using client auth getSession client has been initialized earlier in the file so if you re implementing this in your own storefront you d need to initialize it before this code snippet Then you use auth getSession which allows you to retrieve the current logged in customer if there is any If the customer is logged in and is returned in the response you set it in the context otherwise you set the customer to null Then add a new function inside StoreProvider to handle setting the customer const setCustomer customer gt dispatch type setCustomer payload customer This will just dispatch the action to the reducer which will set the customer object in the context Finally add the setCustomer function to the value prop of StoreContext Provider returned in StoreProvider return lt StoreContext Provider value setCustomer gt children lt StoreContext Provider gt Create Sign Up and Sign In PagesIn this section you ll create the sign up and sign in pages to allow the customer to either create an account or log in with an existing one Sign Up PageCreate the file pages sign up js with the following content import as Yup from yup import useContext useEffect useRef from react import StoreContext from context store context import createClient from utils client import styles from styles customer module css import useFormik from formik import useRouter from next router export default function SignUp const router useRouter const setCustomer customer useContext StoreContext useEffect gt if customer router push customer router const buttonRef useRef const handleSubmit handleBlur handleChange values touched errors useFormik initialValues email first name last name password validationSchema Yup object shape email Yup string email required first name Yup string required last name Yup string required password Yup string required onSubmit function values if buttonRef current buttonRef current disabled true const client createClient client customers create email values email first name values first name last name values last name password values password then customer gt setCustomer customer return lt div className styles container gt lt main className styles main gt lt form onSubmit handleSubmit className styles signForm gt lt h gt Sign Up lt h gt lt div className styles inputContainer gt lt label htmlFor email gt Email lt label gt lt input type email name email id email className styles input onChange handleChange onBlur handleBlur value values email gt errors email amp amp touched email amp amp lt span className styles error gt errors email lt span gt lt div gt lt div className styles inputContainer gt lt label htmlFor first name gt First Name lt label gt lt input type text name first name id first name className styles input onChange handleChange onBlur handleBlur value values first name gt errors first name amp amp touched first name amp amp lt span className styles error gt errors first name lt span gt lt div gt lt div className styles inputContainer gt lt label htmlFor last name gt Last Name lt label gt lt input type text name last name id last name className styles input onChange handleChange onBlur handleBlur value values last name gt errors last name amp amp touched last name amp amp lt span className styles error gt errors last name lt span gt lt div gt lt div className styles inputContainer gt lt label htmlFor password gt Password lt label gt lt input type password name password id password className styles input onChange handleChange onBlur handleBlur value values password gt errors password amp amp touched password amp amp lt span className styles error gt errors password lt span gt lt div gt lt div className styles inputContainer gt lt button type submit className styles btn ref buttonRef gt Sign Up lt button gt lt div gt lt form gt lt main gt lt div gt In this page you use Formik and Yup to create and validate the form This form has fields email first name last name and password These fields are required to sign up a customer in Medusa The important bit here is the part that uses the Medusa client in the onSubmit function passed to useFormik const client createClient client customers create email values email first name values first name last name values last name password values password then customer gt setCustomer customer You first initialize the Medusa client You use the utility function in utils client js to do that but if you don t have that in your storefront you can replace it with the initialization mentioned earlier in the tutorial Then you use client customers create which will send a request to the create customer endpoint This endpoint requires the email first name last name and password fields If the sign up is successful the customer object will be returned and a session token will be saved in the cookies to keep the user logged in You use the customer object to set the customer in the context Notice also that at the beginning of the component you check if the customer is already logged in and redirect them to the home page in that case useEffect gt if customer router push customer router Sign In PageNext create the file pages sign in js with the following content import as Yup from yup import useContext useEffect useRef from react import StoreContext from context store context import createClient from utils client import styles from styles customer module css import useFormik from formik import useRouter from next router export default function SignIn const router useRouter const setCustomer customer useContext StoreContext useEffect gt if customer router push customer router const buttonRef useRef const handleSubmit handleBlur handleChange values touched errors useFormik initialValues email password validationSchema Yup object shape email Yup string email required password Yup string required onSubmit function values if buttonRef current buttonRef current disabled true const client createClient client auth authenticate email values email password values password then customer gt setCustomer customer return lt div className styles container gt lt main className styles main gt lt form onSubmit handleSubmit className styles signForm gt lt h gt Sign In lt h gt lt div className styles inputContainer gt lt label htmlFor email gt Email lt label gt lt input type email name email id email className styles input onChange handleChange onBlur handleBlur value values email gt errors email amp amp touched email amp amp lt span className styles error gt errors email lt span gt lt div gt lt div className styles inputContainer gt lt label htmlFor password gt Password lt label gt lt input type password name password id password className styles input onChange handleChange onBlur handleBlur value values password gt errors password amp amp touched password amp amp lt span className styles error gt errors password lt span gt lt div gt lt div className styles inputContainer gt lt button type submit className styles btn ref buttonRef gt Sign In lt button gt lt div gt lt form gt lt main gt lt div gt This page also makes use of Formik and Yup to create and validate the form This form only needs an email and a password The important bit is in the onSubmit function passed to useFormik const client createClient client auth authenticate email values email password values password then customer gt setCustomer customer Just like before you start by initializing the Medusa client Then you authenticate the customer using client auth authenticate which calls the Authenticate Customer endpoint This endpoint requires parameters email and password If successful a customer object is returned which you use to set the customer in the store context using setCustomer A cookie will also be set to maintain the login session for the customer Add Links to Navigation BarFinally in components layout nav bar jsx initialize the customer from the StoreContext const cart customer useContext StoreContext Then in the returned JSX add the following to add a link to the new pages customer amp amp lt Link href sign up gt Sign Up lt Link gt customer amp amp lt Link href sign in gt Sign In lt Link gt customer amp amp lt Link href customer gt Profile lt Link gt Notice that you also add a link to the customer profile which you ll implement in the next section Test it OutMake sure that the Medusa server is running first Then run the server for your storefront npm run devIf you open localhost now you ll see that there are new links in the navigation bar for sign up and sign in You can try clicking on Sign Up and registering as a new user Or click Sign In and log in as an existing user Once you re logged in you should be redirected back to the home page and you should see a Profile link in the navigation bar Add Customer ProfileThe customer profile will have pages Edit customer info view orders and view addresses Create Profile LayoutYou ll start by creating a layout that all profile pages will use Create components layout profile jsx with the following content import useContext useEffect from react import Link from next link import StoreContext from context store context import styles from styles customer module css import useRouter from next router export default function Profile children activeLink const router useRouter const customer useContext StoreContext useEffect gt if customer router push customer router return lt div className styles container gt lt main className styles main gt lt div className styles profile gt lt div className styles profileSidebar gt lt Link href customer gt lt a className activeLink customer styles active gt Edit Profile lt a gt lt Link gt lt Link href customer orders gt lt a className activeLink orders styles active gt Orders lt a gt lt Link gt lt Link href customer addresses gt lt a className activeLink addresses styles active gt Addresses lt a gt lt Link gt lt div gt lt div className styles profileContent gt children lt div gt lt div gt lt main gt lt div gt This first checks the customer and context to see if the user is logged in Then it displays a sidebar with links and the main content displays the children Create Edit Profile PageThe edit profile page will be the main customer profile page Create the file pages customer index js with the following content import as Yup from yup import useContext useRef from react import Profile from components layout profile import StoreContext from context store context import createClient from utils client import styles from styles customer module css import useFormik from formik export default function CustomerIndex const customer setCustomer useContext StoreContext const buttonRef useRef const handleSubmit handleChange handleBlur values errors touched useFormik initialValues email customer email first name customer first name last name customer last name password validationSchema Yup object shape email Yup string email required first name Yup string required last name Yup string required password Yup string onSubmit values gt buttonRef current disabled true const client createClient if values password delete values password client customers update values then customer gt setCustomer customer alert Account updated successfully buttonRef current disabled false return lt Profile activeLink customer gt lt form onSubmit handleSubmit gt lt h gt Edit Profile lt h gt lt div className styles inputContainer gt lt label htmlFor email gt Email lt label gt lt input type email name email id email className styles input onChange handleChange onBlur handleBlur value values email gt errors email amp amp touched email amp amp lt span className styles error gt errors email lt span gt lt div gt lt div className styles inputContainer gt lt label htmlFor first name gt First Name lt label gt lt input type text name first name id first name className styles input onChange handleChange onBlur handleBlur value values first name gt errors first name amp amp touched first name amp amp lt span className styles error gt errors first name lt span gt lt div gt lt div className styles inputContainer gt lt label htmlFor last name gt Last Name lt label gt lt input type text name last name id last name className styles input onChange handleChange onBlur handleBlur value values last name gt errors last name amp amp touched last name amp amp lt span className styles error gt errors last name lt span gt lt div gt lt div className styles inputContainer gt lt label htmlFor password gt Password lt label gt lt input type password name password id password className styles input onChange handleChange onBlur handleBlur value values password gt errors password amp amp touched password amp amp lt span className styles error gt errors password lt span gt lt div gt lt div className styles inputContainer gt lt button type submit className styles btn ref buttonRef gt Save lt button gt lt div gt lt form gt lt Profile gt This is very similar to the sign up form You use Formik and Yup to create and validate the form The form has inputs email first name last name and password which is optional The important bit here is the part in the onSubmit function passed to useFormik const client createClient if values password delete values password client customers update values then customer gt setCustomer customer alert Account updated successfully buttonRef current disabled false Just like you ve done before you start by initializing the Medusa client Then if the password is not set you remove it from the list of values since you ll be passing it to the server as is You should only pass the password if the customer wants to change it To update the customer info you can use client customers update which sends a request to the Update Customer endpoint This endpoint accepts a few optional parameters including email last name first name and password If the customer info is updated successfully a customer object is returned which you use to set the updated customer in the context You also show an alert to the customer that their account is now updated If you click on the Profile link in the navigation bar now you ll see the profile page with the sidebar and the edit profile page as the first page Try updating any of the information and click Save You should then see an alert to let you know that it s been updated successfully Orders PageThe next page you ll create is an orders page which will display the customer s orders Create a new file pages customer orders js with the following content import useEffect useState from react import Link from next link import Profile from components layout profile import createClient from utils client import formatMoneyAmount from utils prices import styles from styles customer module css import useRouter from next router export default function Orders const orders setOrders useState const pages setPages useState const router useRouter const p router query p parseInt router query p useEffect gt const client createClient client customers listOrders limit offset p then result gt setOrders result orders setPages Math ceil result count result limit p return lt Profile activeLink orders gt lt h gt Orders lt h gt lt table className styles table gt lt thead gt lt tr gt lt th gt ID lt th gt lt th gt Total lt th gt lt th gt Status lt th gt lt tr gt lt thead gt lt tbody gt orders map order gt lt tr key order id gt lt td gt order id lt td gt lt td gt formatMoneyAmount currencyCode order currency code amount order total lt td gt lt td gt order status lt td gt lt tr gt lt tbody gt lt table gt lt div className styles pagination gt pages gt amp amp p gt amp amp lt Link href customer orders p p gt Previous lt Link gt pages gt amp amp p gt amp amp p lt pages amp amp lt span gt lt span gt pages gt amp amp p lt pages amp amp lt Link href customer orders p p gt Next lt Link gt lt div gt lt Profile gt You first create an orders state variable which starts out as empty You also have a pages state variable to keep track of the number of pages available Then in useEffect you retrieve the orders using the Medusa client useEffect gt const client createClient client customers listOrders limit offset p then result gt setOrders result orders setPages Math ceil result count result limit p After initializing the client you retrieve the orders of the customer using client customers listOrders This method sends a request to the Retrieve Customer Orders endpoint This endpoint accepts fields limit offset fields and expand Here you just use limit and offset limit indicates how many orders should be retrieved per page and offset indicates how many orders to skip from the beginning to get the orders of the current page This request returns the list of orders as well as additional fields important for pagination including count which indicates the total count of the orders and limit which is the current limit set You set the orders state variable to the orders returned from the method and you set the number of pages based on the count and limit fields Finally you display the orders in a table showing the ID total and status You also show pagination links for “Previous and “Next if applicable for the page This is done for the simplicity of the tutorial If you open the orders page now you ll see the list of orders for your customer if they have any Addresses PageThe last page you ll create in the profile is the Addresses page which will allow the customer to see their shipping addresses Create the file pages customer addresses js with the following content import Profile from components layout profile import StoreContext from context store context import styles from styles customer module css import useContext from react export default function Addresses const customer useContext StoreContext return lt Profile activeLink addresses gt lt h gt Addresses lt h gt customer amp amp customer shipping addresses length amp amp lt p gt You do not have any addresses lt p gt customer amp amp customer shipping addresses map address gt lt div key address id className styles address gt lt span gt lt b gt First Name lt b gt address first name lt span gt lt span gt lt b gt Last Name lt b gt address last name lt span gt lt span gt lt b gt Company lt b gt address company lt span gt lt span gt lt b gt Address Line lt b gt address address lt span gt lt span gt lt b gt Address Line lt b gt address address lt span gt lt span gt lt b gt City lt b gt address city lt span gt lt span gt lt b gt Country lt b gt address country lt span gt lt div gt lt Profile gt You use the shipping addresses field in the customer object stored in the context and display the addresses one after the other You can also access the billing address if the customer has any using customer billing address If you go to the Addresses page now you ll see the customer s shipping addresses listed What s NextUsing the Medusa JS Client you can easily interact with the APIs to create an even better customer experience in your storefront This tutorial did not cover all the aspects of a profile for simplicity Here s what else you can implement View Single Orders You can use the orders object you already retrieved on the orders page to show the information of a single order or you can use the Retrieve Order endpoint which is accessible in the client under client orders retrieve Address Management You can use the Update Shipping Address endpoint accessible in the client under client customers addresses updateAddress you can use the Add Shipping Address endpoint which is accessible in the client under client customers addresses addAddress and you can use the Delete Shipping Address endpoint which is accessible in the client under client customers addresses deleteAddress Saved Payment Methods You can retrieve the saved payment methods if you use a payment provider that supports saving payment methods like Stripe using the Retrieve Saved Payment Methods endpoint accessible in the client under client customers paymentMethods list Reset Password You can add reset password functionality using the Create Reset Password Token endpoint accessible in the client under client customers generatePasswordToken then you can reset the password using the Reset Customer Password endpoint accessible in the client under client customers resetPassword You can check out the API documentation for a full list of endpoints to see what more functionalities you can add to your storefront Should you have any issues or questions related to Medusa then feel free to reach out to the Medusa team via Discord 2022-04-14 11:03:43
海外TECH DEV Community Is it really worth it to spend time reading e-books? https://dev.to/noraclarck1993/is-it-really-worth-it-to-spend-time-reading-e-books-1ig7 Is it really worth it to spend time reading e books The contrast between ebooks and paper books might take hours to debate However as we move towards a digital world everyone must stay up to the trends and adapt The number of individuals who read books steadily decreases as more people get interested in technology Publishing is one industry that has transitioned to digital to serve readers better Because ebooks have so many advantages they are being used by academic institutions and organizations to share information with their users If you d like to learn more about the main benefits of electronic books over printed books keep reading Hundreds of thousands of books to choose fromThe portability of ebooks is one of their most appealing features There s no need to worry about losing your favorite such as Romantic Suspense Books since they re small enough to fit in a purse or backpack One ebook may hold thousands of ebooks which will amaze you Imagine what it would have been like if you had to lift a hundred volumes There s no need to be concerned about the storage limit this way As a result students save time and energy by not lugging about as many books Simple updatesWhat happens if your instructor instructs you to use a more recent edition of the book you re supposed to be reading You go out and spend money on a new book correct On the other hand ebooks don t need to be updated all you have to do is click the update button In seconds authors and publishers may make modifications to their ebooks without contacting a publishing agency It saves money and timeEbooks were created to save readers both time and money Ebooks allow you to save both time and money by eliminating the need to purchase physical copies The days of students shelling out hundreds of dollars for books at bookshops are long gone Because of this they were forced to travel between towns and get the necessary materials With ebooks in users pockets they have instant access to anything in today s world A pleasure to look atWhen reading on an electronic device one may quickly alter screen brightness based on preference Readers that have a dark mode do not put pressure on your eyes Students easy access to a wide range of online resources is one of the most significant drawbacks of ebooks This is why parents must monitor their children s reading habits Similar to spy s parental control software some applications enable parents to update the privacy controls of ebooks Shareable materialUnlike printed books ebooks may be sent to numerous users simultaneously Ebooks include a built in social function that lets you share the material with other users One person could get a printed copy of the book but rather an ebook can be shared with several individuals at once Ebooks have made it possible for students and colleagues to communicate with their supervisors and lecturers in real time Experience of virtual and augmented realityAugmented reality has revolutionized the eBook experience D graphics on the user s screen may now be added to text and photos Readers can see a computer generated D representation of the picture which enhances the immersion of the reading experience specially if you are reading Vampire Romance ebooks To see an augmented version of a picture all the user needs to aim their smartphone at the image file This technology is being included in eBooks by several educational institutions and organizations to improve the user s experience Easily obtainable throughout the worldYou may save eBooks to your computer for later use The eBook is portable and may be read at any time There are no restrictions on where students or staff may access the training materials People on the move will appreciate its portability Even if you don t have internet connectivity you can still use specific eReaders since they provide offline access Readers may access any eBook such as Erotic Romance Ebook at any time and from any location unlike physical books that must be ordered or bought from a bookshop resulting in wasted time due to delivery or travel time Final ThoughtsIn comparison to physical books eBooks have a lot more potential As opposed to traditional print books eBooks enable readers to engage with the information The most a reader can do while working with a printed book is highlight or make notes on individual pages eBooks on the other hand provide a plethora of options including the ability to listen to the book as an audiobook or view videos as well as search for unfamiliar vocabulary eBooks already have an advantage in user engagement because of augmented reality and interactive features EBooks are more cost effective than print books for both the publisher and the end user Shortly eBooks will revolutionize the studying and educational experience but print books will always have a place in our cultural heritage 2022-04-14 11:01:30
海外TECH DEV Community About my newly learned technology (Redux toolkit) https://dev.to/sayamkhanraj1/about-my-newly-learned-technology-redux-toolkit-2jf7 About my newly learned technology Redux toolkit At the start of the end game I was tasked with learning Redux The difference between React and Redux was not clear to me for quite some time when I started learning React for the first time First of all let s talk about redux Redux is an open source JavaScript library for managing the application state Usually is used with libraries like React or Angular for building user interfaces This tool can be a means for cleaning up React applications As a MERN stack developer I use redux on react Especially when I have a medium and large project with a lot of reducers and actions I have probably already decided to keep the action types as constants in the strings using redux which is a good approach Let s talk about my learning process I checked the Redux documentation It was pretty good actually For some reason it just didn t entirely click for me I checked a bunch of YouTube videos as well The ones I found just seemed rushed and not detailed Then after some days on our course added an advance crash course about redux Our instructor did a great class about redux Still I m working on it I have taken into consideration my struggles You did fall a few times but that was okay earning to walk also had a learning curve to it However with a systematic approach to learning I overcame that 2022-04-14 11:01:20
Apple AppleInsider - Frontpage News Apple Car rumored to run new custom OS to control all aspects of driving https://appleinsider.com/articles/22/04/14/apple-car-rumored-to-run-new-custom-os-to-control-all-aspects-of-driving?utm_medium=rss Apple Car rumored to run new custom OS to control all aspects of drivingA new industry report claims that Apple is planning to have its own centrally integrated OS for the long rumored Apple Car similar to how Tesla has one system operating driving controls and entertainment CarPlay in iOS The giant majority of patents and other regulatory filings regarding the forthcoming Apple Car have concentrated on hardware issues Nonetheless it s unlikely that the self driving vehicle would ship with nothing more than an expanded version of CarPlay Read more 2022-04-14 11:44:05
Apple AppleInsider - Frontpage News Elon Musk bids to buy Twitter outright for $41 billion https://appleinsider.com/articles/22/04/14/elon-musk-bids-to-buy-twitter-outright-for-41-billion?utm_medium=rss Elon Musk bids to buy Twitter outright for billionTesla s Elon Musk wants to transform Twitter and has made a best and final offer to buy of the company and says he will reconsider being a shareholder if he s rejected Credit TwitterFollowing his buying a stake in Twitter Elon Musk was first announced as joining the board of directors then changed his mind and pulled out Now he s reportedly told the board that he believes Twitter needs to be transformed Read more 2022-04-14 11:33:11
Apple AppleInsider - Frontpage News Mac testing site BareFeats founder Robert Arthur Morgan dies, aged 77 https://appleinsider.com/articles/22/04/14/barefeats-robert-arthur-morgan-dies-aged-77?utm_medium=rss Mac testing site BareFeats founder Robert Arthur Morgan dies aged Longstanding Mac expert and self professed mad scientist creator of the BareFeats website Robert Arthur Morgan has died at home in Portland Oregon Robert Arthur Morgan source BeatFeats Also calling himself Rob ART Morgan tested Mac hardware and wrote about his results on BareFeats from to early Everything he wrote on the site was based on direct test results conducted by him in his own specially created test lab Read more 2022-04-14 11:12:03
海外TECH Engadget Wikipedia editors vote to block cryptocurrency donations https://www.engadget.com/wikipedia-editors-vote-to-block-cryptocurrency-donations-113549175.html?src=rss Wikipedia editors vote to block cryptocurrency donationsWikipedia editors have voted in favor of dropping cryptocurrency from the Wikimedia Foundation s donation options As Ars Technica reports an editor for the online encyclopedia called GorillaWarfare wrote a proposal for the foundation to stop accepting cryptocurrencies as they are quot extremely risky investments quot They also pointed out that cryptocurrencies may not align with the foundation s commitment to environmental sustainability nbsp One of the biggest controversies surrounding cryptocurrencies is that mining spending and trading them use massive amounts of energy That s the reason why Mozilla caught flak after it announced that it would start accepting crypto donations prompting the organization to put its plans on hold According to a Bitcoin Energy Consumption Index those processes use up terawatt hours of electricity per year which is comparable to what s consumed by some countries such as Thailand Wikimedia accepts Bitcoin Bitcoin Cash and Ether GorillaWarfare s proposal welcomed comments over three months starting in January In all users voted in favor of the proposal while voted against Those who argued in favor of cryptocurrency donations explained that they provide safer ways to donate and that fiat currencies have environmental issues of their own nbsp Even though the community voted in favor of blocking crypto donations it s still just a request that the Wikimedia Foundation may or may not grant A spokesperson from the foundation told Ars quot We are aware of the community s request that the Foundation consider ending our acceptance of donations in cryptocurrency Our Fundraising team is reviewing the request and related discussions and we will provide additional information once they complete that process quot 2022-04-14 11:35:49
海外TECH Engadget The Morning After: Elon Musk faces lawsuit over his Twitter investment https://www.engadget.com/the-morning-after-elon-musk-faces-lawsuit-over-his-twitter-investment-111507827.html?src=rss The Morning After Elon Musk faces lawsuit over his Twitter investmentElon Musk Tesla CEO SpaceX boss that guy has been Twitter s largest shareholder for mere weeks but has packed in enough drama and turmoil to make it feel like months He s now facing legal action over the handling of his latest investment A Twitter shareholder has filed a class action lawsuit against Musk over his day delay in officially disclosing his investment in Twitter to the SEC It continues the bizarre ebb and flow between the Tesla CEO and Twitter After becoming the social network s biggest shareholder Musk agreed to join Twitter s board of directors Then the decision was reversed following several days of bizarre tweets from Musk who polled his Twitter followers on whether the company should change its name and speculated on whether the service was “dying As we noted in our report Twitter CEO Parag Agrawal told employees it was “for the best that Musk ultimately wouldn t take the position on the board ーMat SmithThe biggest stories you might have missedThe New York Public Library makes four banned books free nationwide on its e reader appPolar revives the Pacer as a back to basics running watchHouston Astros stadium will be the first in MLB to use Amazon s Just Walk Out techSamsung s portable Freestyle projector is off for today onlyKia s EV SUV will arrive in the US in the second half of Amazon is rebranding IMDb TV as FreeveeDungeons and Dragons owner Hasbro buys up D amp D Beyond Novation s first keyboard for FL Studio offers a lot of utility for No Man s Sky s new update offers the life of a space pirateTime to smuggle No Man s SkyNo Man s Sky is already an enormous game and it keeps growing Hello Games has now launched its Outlaws update which adds smuggling as well as the game s first new starship in two years You can buy illicit goods in outlaw systems and sell them for a hefty profit in a regulated system as long as you re able to smuggle them in helping to flesh out your very own take on Han Solo but with derpy dinosaurs and occasional heavy resource management Continue reading Robosen s Optimus Prime Transformer robot truck gets an auto converting trailerAmazing but expensive HasbroRobosen Robotics Optimus Prime robot can automatically transform into a truck just like the movie cartoon versions but it will cost you for the privilege Now Hasbro and Robosen have launched a companion Trailer and Roller set for Optimus Prime You just need another Continue reading Meta will take a percent cut from sales in Horizon WorldsRemember when the company blasted Apple s percent cut Meta has confirmed to CNBC that it will take a total percent cut from digital asset sales in Horizon Worlds including percent through the Meta Quest Store and percent through Horizon Worlds itself Meta is promising quot goal oriented quot bonuses to virtual developers whose worlds are particularly active Nonetheless the rate isn t exactly pleasing to digital product makers Continue reading The Witcher Wild Hunt next gen update is delayed indefinitelyIt s still happening CD Projekt Red has delayed its Witcher free next gen upgrade quot until further notice quot after deciding to finish the project with an internal development team instead of Saber Interactive The company wants to evaluate the necessary quot scope of work quot according to a statement The update was originally slated to arrive before the end of June Continue reading Meta reportedly plans to release its first AR glasses in Mark Zuckerberg apparently sees them as the company s iPhone moment VCG via Getty ImagesMeta is going hard on its vision for augmented reality and the metaverse According to anonymous sources talking to The Verge the company aims to launch its first AR glasses in These would be followed by a quot lighter more advanced quot model in and a third iteration in The initial model would be independent of your phone but you would need a quot phone shaped device quot to handle the computing part and rely on a wristband for controls Are you ready for some AR accessories Continue reading 2022-04-14 11:15:07
海外TECH CodeProject Latest Articles Using GFX in PlatformIO https://www.codeproject.com/Articles/5327404/Using-GFX-in-PlatformIO platformio 2022-04-14 11:13:00
医療系 医療介護 CBnews 感染対策向上加算、施設基準の実績は研修実施など-届け出時「不要」と再度強調、22年度改定Q&A https://www.cbnews.jp/news/entry/20220414203957 厚生労働省 2022-04-14 20:50:00
金融 RSS FILE - 日本証券業協会 諸外国における国民ID制度に関する調査 https://www.jsda.or.jp/anshin/mynumber/idtyousa.html 外国 2022-04-14 12:57:00
ニュース BBC News - Home UK to give asylum seekers one-way ticket to Rwanda https://www.bbc.co.uk/news/uk-politics-61097114?at_medium=RSS&at_campaign=KARANGA trial 2022-04-14 11:44:15
ニュース BBC News - Home Russian warship Moskva: What do we know? https://www.bbc.co.uk/news/world-europe-61103927?at_medium=RSS&at_campaign=KARANGA russia 2022-04-14 11:21:00
ニュース BBC News - Home Elon Musk makes offer to buy Twitter https://www.bbc.co.uk/news/business-61104231?at_medium=RSS&at_campaign=KARANGA extraordinary 2022-04-14 11:23:23
ニュース BBC News - Home Covid levels starting to fall in UK, says ONS https://www.bbc.co.uk/news/health-61106918?at_medium=RSS&at_campaign=KARANGA onsabout 2022-04-14 11:37:22
ニュース BBC News - Home PM vows to set record straight over claims he misled MPs over parties https://www.bbc.co.uk/news/uk-politics-61105335?at_medium=RSS&at_campaign=KARANGA partygate 2022-04-14 11:31:43
ニュース BBC News - Home Queen not expected to attend Easter Sunday service https://www.bbc.co.uk/news/uk-61107445?at_medium=RSS&at_campaign=KARANGA castle 2022-04-14 11:09:43
ニュース BBC News - Home Germany kidnap plot: Gang planned to overthrow democracy https://www.bbc.co.uk/news/world-europe-61106241?at_medium=RSS&at_campaign=KARANGA democracy 2022-04-14 11:17:58
ニュース BBC News - Home Blackpool Zoo's 'irreplaceable' giant tortoise dies aged 105 https://www.bbc.co.uk/news/uk-england-lancashire-61098627?at_medium=RSS&at_campaign=KARANGA blackpool 2022-04-14 11:20:26
北海道 北海道新聞 亜大勝ち点2、最多12盗塁 東都大学野球第2週 https://www.hokkaido-np.co.jp/article/669612/ 最多盗塁 2022-04-14 20:03:00
IT 週刊アスキー 合計で2850個の「ジェム」が手に入る!『シン・クロニクル』で200万ダウンロード突破記念ログインボーナスを開催中 https://weekly.ascii.jp/elem/000/004/089/4089344/ 開催中 2022-04-14 20:25:00

コメント

このブログの人気の投稿

投稿時間: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件)