投稿時間:2023-08-29 23:26:32 RSSフィード2023-08-29 23:00 分まとめ(29件)

カテゴリー等 サイト名等 記事タイトル・トレンドワード等 リンクURL 頻出ワード・要約等/検索ボリューム 登録日
TECH Techable(テッカブル) AI防犯・防災のアースアイズ、AIの学習効果を高める新手法確立!AIカメラの精度向上で誤検知率改善 https://techable.jp/archives/218314 eeail 2023-08-29 13:00:52
AWS AWS Partner Network (APN) Blog Develop a Cost-Aware Culture for Optimized and Efficient SaaS Growth https://aws.amazon.com/blogs/apn/develop-a-cost-aware-culture-for-optimized-and-efficient-saas-growth/ Develop a Cost Aware Culture for Optimized and Efficient SaaS GrowthIn this blog we ll explore how you can develop a cost aware culture incorporating cost consideration in product development and make informed decisions that align with both product goals and cost optimization objectives As a SaaS leader you can gain sustainable growth maximize resource efficiency and drive long term financial success by developing a cost aware culture Start rethinking how you manage your cost and collaborate with AWS and the AWS Partner community to grow your SaaS business 2023-08-29 13:54:42
python Pythonタグが付けられた新着投稿 - Qiita Pythonで画像を一括リサイズ・圧縮するGUIアプリを作ってみた! https://qiita.com/akiba_burari/items/0a9e6ac803916762b491 pillow 2023-08-29 22:56:54
python Pythonタグが付けられた新着投稿 - Qiita [Python / pipenv] pipenv lock -r が使えないとき https://qiita.com/siruku6/items/0e1637c4077e11785af8 errornosuchoptio 2023-08-29 22:45:04
python Pythonタグが付けられた新着投稿 - Qiita 仮想環境を作成してローカルでcolaboratoryを使用する方法 https://qiita.com/goto2023/items/649e3075dd68fc78f106 colaboratory 2023-08-29 22:38:59
js JavaScriptタグが付けられた新着投稿 - Qiita 3次元物体の回転~javascript~ https://qiita.com/takatakao397/items/2eb23bc11371dd214abd javascript 2023-08-29 22:11:23
AWS AWSタグが付けられた新着投稿 - Qiita 【Databricks】Unity Catalogを作成してみた-3 https://qiita.com/zumax/items/957d9bf39c462b3ef348 unitycat 2023-08-29 22:42:14
海外TECH Ars Technica Cybersecurity experts say the west has failed to learn lessons from Ukraine https://arstechnica.com/?p=1963971 collaborative 2023-08-29 13:18:05
海外TECH MakeUseOf Siri Suggestions Not Popping Up on iPhone? Here's How to Fix It https://www.makeuseof.com/siri-suggestions-not-appearing-on-iphone-fixes/ Siri Suggestions Not Popping Up on iPhone Here x s How to Fix ItIs Siri not showing suggestions on your iPhone This could result due to incorrect settings or software bugs Either way we ll help you fix it 2023-08-29 13:30:27
海外TECH MakeUseOf InMotion V12HT is the Ultimate Hill-Climbing EUC for Commuting and Fun https://www.makeuseof.com/inmotion-v12ht-review/ climbing 2023-08-29 13:15:24
海外TECH MakeUseOf How to Configure Static IP Address on Ubuntu 22.04 LTS and 22.10 https://www.makeuseof.com/configure-static-ip-address-settings-ubuntu-22-04/ jammy 2023-08-29 13:15:24
海外TECH MakeUseOf Pocket-Sized 3DMakerpro Seal Easily Renders 3D Scans for You https://www.makeuseof.com/pocket-sized-3dmakerpro-seal-3d-scans/ dmakerpro 2023-08-29 13:01:24
海外TECH MakeUseOf What Is GoodWill Ransomware and How Can You Stop It Infecting You? https://www.makeuseof.com/what-is-goodwill-ransomware/ charitable 2023-08-29 13:01:24
海外TECH DEV Community The Art of Understanding Before Coding https://dev.to/vit0rr/the-art-of-understanding-before-coding-40g1 The Art of Understanding Before CodingSome developers when receives a task starts thinking about implementing the requirements whether it will be complicated or not the piece of the code to be refactored or something like that You shouldn t think about code before understanding your business SplitIf you re this developer I suggest splitting the process of understanding and organizing the task to implement the requirements It does not make sense to start doing something you don t understand If you need to know if you understand something an excellent way is to write about it or draw the task using Excalidraw for example This process will force you to understand the task think about problems and help you ask the right questions Some questions that would be nice to ask yourself for example For featuresWhy is this feature important What kind of problem this feature is solving Who needs this feature For bugsConflict the wrong and proper behavior Think about what logs are saying Understand the nature of the bugDoes it happen during some specific flow Does it happen for a wrong implemented business logic Can you reproduce it If it is from a ticket what is the customer reporting If you think that you understand it try to draw it Something like this image from researchgate CodeNow that you think about the problem you can start to think about the implementation If you are doing it well you will believe that the code is the more uncomplicated part of the process And the crucial is to understand what to code With it you can reduce the scope of code debugging and start to visualize your app in chunks instead of wasting time writing or reading something unrelated to your task You will probably write less code and deliver your job faster and with more quality Also you will improve your knowledge about the business and the code and will be more efficient in helping others in your team ConclusionUltimately the deal is that you understand that you would split your task into steps and start by really understanding what and why you are doing Don t worry about time This process can take some time but the deal is always to try to understand what you are doing Banner from unsplash 2023-08-29 13:31:45
海外TECH DEV Community The Sisyphean Quest for Web Performance https://dev.to/this-is-learning/the-sisyphean-quest-for-web-performance-22l3 The Sisyphean Quest for Web PerformanceIt s been more than years since we started using SPAs Single Page Applications This approach was revolutionary for DX Developer Experience However in terms of web performance we experienced a decline unlike any seen before leading to catastrophic times for interactivity Even now we see this issue with applications built using frameworks that solely rely on SPAs These frameworks have tried to improve their rendering methods In this article we will explain the evolution of rendering on the web culminating with a spotlight on a new rendering technique that many believe will revolutionize web performance The history of web development often begins with a total SSR PHP amp JQuery for example During those times DX Developer Experience was challenging and riddled with errors and the code was complex and difficult to debug While this article won t delve extensively into those aspects it s worth noting that these tools offered developers complete autonomy over their application s architecture Thus any performance issues were often the result of mistakes in their code In contrast with SPAs Single Page Applications it s usually the framework itself that becomes the root cause of major performance problems Client Side Rendering CSR Single Page Applications SPA marked a significant shift in web development a true revolution in building web apps Initially we were thrilled with the outstanding UX it provided However as time progressed we began to encounter performance bottlenecks because we have started to use SPAs for startup critical applications such as ecomerce where startup matters a lot Our apps took longer to become visible and interactive Often users were greeted with a blank screen at the start forced to wait The more our apps relied on JavaScript the longer these delays became Regrettably as we scaled our apps we often sacrificed performance This increasing complexity largely stemmed from one root issue JavaScript s limitations The question here is it s because of what it s because we should wait for the browser to download execute and render all the javascript of our application to be visible and interactive this figure shows us how it works Image Source feature youtu beTo address these performance challenges we experimented with various methods like lazy loading preloading and code splitting However as history would have it these enhancements proved insufficient Server Side Rendering SSR As previously mentioned SSR is a traditional method of rendering However it became essential to revisit this approach to tackle certain challenges The primary concern was performance prompting a reimagined approach to how SSR operates After addressing the SPA issue frameworks such as Angular and React sought to enhance their method of delivering page content to the browser Instead of sending a blank HTML and then downloading the JavaScript for the entire web app to execute they choose to generate the webpage on the server This server rendered page contains HTML CSS and also data from a database or an API Once this is sent to the client we have a page that is visible completely visible but unfortunately not interactive so the JavaScript should be delivered and executed on the client side in order to add handlers to the DOM nodes it meas that our page will be visible twice This process is known as hydration re executing of application code in order to make the static page interactive In simpler terms the DOM will be hydrated with JavaScript Image Source the Time to Interactive is comparable to that of an SPA if not longer due to larger HTML payload This marks the beginning of an extensive journey during which all frameworks will strive to optimize the hydration process as much as possible Static Site Generation SSG For websites focused on content that requires minimal interaction and feature content that doesn t frequently change SSR might be an overkill It can hinder the Time to First Byte and CSR might negatively impact our Core Web Vitals This calls for an alternative method introducing Static Site Generation SSG With SSG an HTML page is produced during build time for each potential route So if there are articles an individual HTML page will be generated for each during the build phase Image Source This approach appears to be efficient with great performance but it s clear it has a drawback For instance every time a new article is created in the database the entire website must be rebuilt and redeployed for that article to become accessible to users here comes another approach Incremental Static Site Generation iSSG The name is clear and the goal is clearer iSSG is to fix the problem that we had with SSG we don t need to rebuild and redeploy our websites with iSSG we will be able to add new pages and also update existing pages It s important to note that SSG or iSSG is best suited for sites that require minimal interactions and don t frequently update page content While these rendering methods excel in terms of SEO and performance they aren t ideal for web applications that demand extensive interactions with APIs or frequent changes to the page s state While these methods aim for peak performance they don t fit every scenario Hence a more versatile approach that addresses a broader range of cases is necessary Progressive HydrationThe concept of progressive hydration in SSR is straightforward enhancing the hydration process With traditional Server Side Rendering while the page is visible it isn t interactive meaning buttons won t function initially This is because we must wait for the entire JavaScript code to be downloaded and executed on the client side However progressive hydration as its name implies allows for the step by step hydration of our page This means the hydration occurs node by node within the DOM As a result some buttons may become interactive immediately while others lag behind due to the ongoing hydration process Once this process concludes the entire page achieves interactivity Image Source This method is good but it still uses hydration just in a better way The challenge is guessing which part of the page a user might interact with next It s great that users can quickly use parts of the page but they might have to wait if they want to use other parts They won t get full interaction until the whole page is ready Streaming Server Side RenderingWe ve just delved into progressive hydration where the DOM is hydrated step by step Now picture a scenario where the entire rendering process for the web page including HTML and CSS is also done progressively Image Source With this method we send chunks of HTML and JavaScript to paint the user interface as quickly as possible This ensures that users can interact with parts of the page almost immediately This technique is effective in minimizing the Time to First Byte TTFB which is beneficial Selective HydrationEvery server side rendering technique we ve discussed so far has its merits but they aren t one size fits all solutions Consider a page we want to render using SSR that has a component requiring data on its initial load from an external API This means there will be a delay in rendering the HTML on the server which isn t ideal Enter Selective Hydration Instead of halting the entire page s rendering while waiting for a data intensive component this approach sends other components to the client first These components are rendered and made interactive while the browser awaits the server fetched data for the specific component in question Image Source Clearly the hydration process for other components continues uninterrupted This method boosts performance without negatively affecting other parts of our website React Server ComponentsIn the React world this marked a revolutionary shift RSC introduced a new approach to building web apps transforming how components are managed and rendered more efficiently and effectively RSC is more server centric to enhance the client side rendering delivering only what s necessary For exemple if a component should only be visible under a certain condition instead of making that decision on the client side it can be determined server side This avoids sending the component to the client benefiting web performance since there s no need to download and execute a component that will never be displayed RSC has a zero bundle size allowing us to render static content that might have previously required JavaScript libraries for construction In the past this was done client side using libraries for content that didn t need interactivity With RSC we can handle this server side producing only static content with no additional bundle size For more details zero bundle size componentsWith RSC we gain secure full access to the backend as server components are never delivered to the client This approach allows us to fetch data directly from the database eliminating the need for an endpoint For more details full access to the backendRSC enhances both user experience UX and developer experience DX In RSC all imports automatically become code splitting points eliminating the need for additional configuration This not only facilitates the developer s work but also boosts performance as the server determines whether or not a component should be rendered For more details automatic code splittingTo deep dive in RSC you can consider reading this RFC Islands Architecture Partial Hydration Now we are in a new era an era of JavaScript the Island Architecture It s a new way of building websites without having the need to hydrate all our website in the first load this concept of Islands Architecture was popularized first by Astro Framework using a technique called Partial Hydration The concept of partial hydration allows developers to determine what aspects are loaded and when in order to provide fast interactivity This is done by being able to put some client side JS only where it is needed Partial hydration definitely is a wise and practical strategy Our webpage is initially sent as pure HTML from the server to the client JavaScript is not shipped by default In the example of Astro the guiding principle is to build Islands of Interactivity that the browser can hydrate on its own We can optimize how the page loads javascript by treating each component Island independently ResumabilityIn our earlier discussions we delved into how various frameworks aimed to optimize the hydration process Hydration traditionally seen as a bottleneck for website performance has often been the focal point for improvement Yet instead of merely enhancing what s existing it might be time for a revolutionary shift in our approach The question isn t just about doing it faster but possibly about doing nothing at all Introducing Resumability The name itself gives a clue to stop and resume This concept suggests picking up right where the server left off eliminating the repetitive nature of traditional hydration processes Resumability s primary goal is optimal performance emphasizing minimalistic javascript and pure HTML Consider a contact form on the page s bottom Traditional methods preload the necessary JavaScript while partial hydration slightly improves this But with Resumability the JavaScript loads only upon direct interaction such as clicking the send button This innovative perspective championed by the emerging framework Qwik offers a fresh take on web app development focusing on scalability without sacrificing performance If we try to think deeply about the figure above we will understand the reel problem scaling If we have an extensive web application it will take a lot of time to load with hydration How it is done in Qwik in Qwik there is code extraction for optimizing performance For each event on our page a specific JavaScript file is linked If an action isn t taken like pressing a button its JavaScript isn t loaded Qwik doesn t only load files upon interaction After the initial interactive page load it preemptively downloads the necessary javascript code for the current page via a service worker storing it in the browser s cache This prevents constant server requests Instead it pulls from the cache or if not yet available fetches it from the serverーthis is called prefetching Unlike other frameworks that bog down initial loads with JavaScript Qwik remains interactive without waiting for the JavaScript to be downloaded Using this approach Core Web Vitals like FCP LCP and TTI experience significant enhancements directly through the framework without requiring developer interventions or specific optimization techniques In contrast many other frameworks necessitate manual optimizations from code splitting and lazy loading to caching and more Qwik takes away this pressure from developers Instead of getting bogged down with configuration they can focus solely on app development The framework takes care of the rest ensuring optimized performance This innovative approach not only enhances user experience UX by improving performance but also streamlines the developer experience DX For more details you can read this article Qwik The Post Modern Framework Ayoub Alouane for This is Learning・Jul javascript qwik frontend typescript ConclusionIn web development the quest for the best web performance possible has been nothing short of Sisyphean The evolutionary journey through CSR SSR SSG and others showcased the industry s relentless pursuit of excellence However each approach had its limitations and none seemed capable of fully overcoming the performance bottlenecks Then emerged a glimmer of hope Resumability offering a promising future where performance no longer feels like an uphill battle Article resources 2023-08-29 13:23:42
海外TECH DEV Community Create an Infinite Horizontal Scroll Animation with Tailwind CSS https://dev.to/cruip_com/create-an-infinite-horizontal-scroll-animation-with-tailwind-css-2ck Create an Infinite Horizontal Scroll Animation with Tailwind CSS Live Demo DownloadIn this tutorial we will show you how to create a cool infinite horizontal animation using only CSS This effect can be used to display a variety of things and for this post we ll focus on building a logo carousel that smoothly scrolls from right to left using Tailwind CSS classes The best part is that you can simply copy and paste the code into your HTML page and there s no need for any custom CSS As the last thing before we begin if you re interested in seeing infinite horizontal scroll in action in a real case scenario look at our dark Next js landing page template or our recruitment website template Let s begin Create the HTML structureFirst let s set up a straightforward structure for our logo carousel using an unordered list lt div class w full inline flex flex nowrap gt lt ul class flex items center justify center md justify start amp li mx amp img max w none gt lt li gt lt img src facebook svg alt Facebook gt lt li gt lt li gt lt img src disney svg alt Disney gt lt li gt lt li gt lt img src airbnb svg alt Airbnb gt lt li gt lt li gt lt img src apple svg alt Apple gt lt li gt lt li gt lt img src spark svg alt Spark gt lt li gt lt li gt lt img src samsung svg alt Samsung gt lt li gt lt li gt lt img src quora svg alt Quora gt lt li gt lt li gt lt img src sass svg alt Sass gt lt li gt lt ul gt lt div gt Each list item will represent a company s logo and we ve added the alt attribute to every image to ensure accessibility The ul element has the classes flex and items center which make the logos stand in a row and be vertically centered Additionally we ve used some arbitrary Tailwind CSS variants to optimize the layout amp li mx adds a horizontal margin of px to each list item amp img max w none removes the default maximum width applied to images preserving their original size even on smaller screens Define the animationDefining the animation is straightforward All we need to do is translate the ul element to the left from to However Tailwind CSS doesn t provide this specific animation out of the box so we ll define it ourselves in our tailwind config object Typically you d have a tailwind config js file in your project s root directory But since we re using the Tailwind CDN we ll define the tailwind config object within a script tag in our HTML file tailwind config theme extend animation infinite scroll infinite scroll s linear infinite keyframes infinite scroll from transform translateX to transform translateX We ve named the animation infinite scroll and it s a linear infinite and lasts for seconds We ve also specified the keyframes of the animation to translate from to Using this animation is as easy as adding the class animate infinite scroll to the element you wish to translate In our case that s the ul element Make the animation loopNow if you preview the page you ll see that the animation works like a charm But there s one tiny hiccup when the ul element reaches it suddenly jumps back to breaking the seamless flow To avoid that we ll duplicate the ul element and position it right after the existing one This way when the animation reaches the duplicate element takes over ensuring the animation continues without any disruptions We know redundant elements in HTML are a no no so for now let s add the aria hidden true attribute to the duplicated element making it invisible to screen readers Later we ll use some just a bit of JavaScript to create the duplicate element dynamically lt div class w full inline flex flex nowrap gt lt ul class flex items center justify center md justify start amp li mx amp img max w none animate infinite scroll gt lt li gt lt img src facebook svg alt Facebook gt lt li gt lt li gt lt img src disney svg alt Disney gt lt li gt lt li gt lt img src airbnb svg alt Airbnb gt lt li gt lt li gt lt img src apple svg alt Apple gt lt li gt lt li gt lt img src spark svg alt Spark gt lt li gt lt li gt lt img src samsung svg alt Samsung gt lt li gt lt li gt lt img src quora svg alt Quora gt lt li gt lt li gt lt img src sass svg alt Sass gt lt li gt lt ul gt lt ul class flex items center justify center md justify start amp li mx amp img max w none animate infinite scroll aria hidden true gt lt li gt lt img src facebook svg alt Facebook gt lt li gt lt li gt lt img src disney svg alt Disney gt lt li gt lt li gt lt img src airbnb svg alt Airbnb gt lt li gt lt li gt lt img src apple svg alt Apple gt lt li gt lt li gt lt img src spark svg alt Spark gt lt li gt lt li gt lt img src samsung svg alt Samsung gt lt li gt lt li gt lt img src quora svg alt Quora gt lt li gt lt li gt lt img src sass svg alt Sass gt lt li gt lt ul gt lt div gt Voila The animation is now seamless and never ending If you find the speed too slow or too fast for your taste go ahead and tweak the animation duration in the tailwind config js file Creating a gradient maskEven though we ve set a maximum width for our container the animation goes a bit wild and extends beyond the edges taking over the whole page That s totally fine but if you want to keep things within the container we definitely need a gradient mask Just add two classes to the element containing the unordered lists overflow hidden which hides anything that extends beyond the container s borders mask image linear gradient to right transparent black px black calc px transparent which defines a gradient mask at the container s edges transitioning from transparent to black lt div class w full inline flex flex nowrap overflow hidden mask image linear gradient to right transparent black px black calc px transparent gt lt ul class flex items center justify center md justify start amp li mx amp img max w none animate infinite scroll gt lt gt lt ul gt lt ul class flex items center justify center md justify start amp li mx amp img max w none animate infinite scroll aria hidden true gt lt gt lt ul gt lt div gt Use a bit of JavaScript to clone the listAlright as mentioned earlier now we ll see how we can easily create the duplicate element using Alpine js to make the code cleaner and more readable Here s what we re going to do Remove the duplicated list from the HTML Define a x data directive with an empty object Add an x ref attribute to the element containing the list to be duplicated so we can refer to it in Alpine js Define the x init directive with a function that works its magic when the page loads lt div x data x init nextTick gt let ul refs logos ul insertAdjacentHTML afterend ul outerHTML ul nextSibling setAttribute aria hidden true class w full inline flex flex nowrap overflow hidden mask image linear gradient to right transparent black px black calc px transparent gt lt ul x ref logos class flex items center justify center md justify start amp li mx amp img max w none animate infinite scroll gt lt li gt lt img src facebook svg alt Facebook gt lt li gt lt li gt lt img src disney svg alt Disney gt lt li gt lt li gt lt img src airbnb svg alt Airbnb gt lt li gt lt li gt lt img src apple svg alt Apple gt lt li gt lt li gt lt img src spark svg alt Spark gt lt li gt lt li gt lt img src samsung svg alt Samsung gt lt li gt lt li gt lt img src quora svg alt Quora gt lt li gt lt li gt lt img src sass svg alt Sass gt lt li gt lt ul gt lt div gt The function defined in x init simply copies the ul element and inserts it right after adding the aria hidden attribute to the duplicated element ConclusionsAs for all our tutorials we also included components for both Next js and Vue so you can easily integrate this animation in your favorite framework If you re hungry for more guides and tips we invite you to look at our section of Tailwind CSS tutorials or our gallery of Tailwind CSS templates if you need a starting point for your next project 2023-08-29 13:19:05
海外TECH DEV Community Form Handling | React | Part 2 | Error Validation https://dev.to/shubhamtiwari909/form-handling-react-part-2-error-validation-3hfp Form Handling React Part Error ValidationHello everyone today we will continue our series on React form handling with Error validation What is error validation It is simple validating form input fields and check for some particular cases where we don t want the user to enter some particular values Examples could be empty input fields minimum number of characters to enter in an input email validation etc In the previous part we had setup our form with initial values and submit handlers already so i will refer to that same form in this part as well Validation logicYou can create a custom validation for your fields but we are going to use a library called Yup which will allow us to create validations easily To install the yup library enter this command in the terminalnpm i yup Creating validationAs we have created input fields name email and company we are going to create validation for those fieldsimport as Yup from yup const validationSchema Yup object name Yup string required Name is required email Yup string email Email format invalid required Email is required company Yup string required Company is required As the code is explainable itself we are creating validation for required field and for email validation as well Now pass this validationSchema to the useFormik object const formik useFormik initialValues onSubmit validationSchema Creating Error componentCreate a Component name TextError and paste this code there TextError jsimport React from react function TextError props return lt div className text red absolute bottom text sm gt props children lt div gt export default TextError Using the Error componentJust below all input fields paste this codeimport TextError from TextError lt input type text id name name name className form input value formik values name onChange formik handleChange gt formik errors name lt TextError gt formik errors name lt TextError gt null lt input type email id email name email className form input value formik values email onChange formik handleChange gt formik errors email lt TextError gt formik errors email lt TextError gt null lt input type text id company name company className form input value formik values company onChange formik handleChange gt formik errors company lt TextError gt formik errors company lt TextError gt null Just like we are accessing input values with formik value fieldname we are going to access to errors similar to it formik errors fieldname We have added a condition that if the error exist display it with TextError component else it will be null it will apply to all the fieldsBut if you test it out all the fields will show error even if you enter in field that is a bad user experience as we need to show the error only to that field which is visited To fix this issue we are going to use things onBlur event and touched object in formik Checking for visited fieldsTo check for which field is visited and then show error for that particular field add the onBlur event to all the inputs and use another condition with touched object touched object contains the info about which input has been visited and which is not it can accessed similar to values and errors formik touched fieldname Now add onblur to inputs and touched condition to error message Remember just like handleChange and handleSubmit handleBlur will be constant and should not be changed as it is inbuilt formik method lt input type text id name name name className form input value formik values name onChange formik handleChange onBlur formik handleBlur gt formik touched name amp amp formik errors name lt TextError gt formik errors name lt TextError gt null lt input type email id email name email className form input value formik values email onChange formik handleChange onBlur formik handleBlur gt formik touched email amp amp formik errors email lt TextError gt formik errors email lt TextError gt null lt input type text id company name company className form input value formik values company onChange formik handleChange onBlur formik handleBlur gt formik touched company amp amp formik errors company lt TextError gt formik errors company lt TextError gt null We are checking here whether the field is visited using touched and if it is true then we are checking whether the error exist if it is true also then we are going to show the error Final Codeimport React from react import useFormik from formik import as Yup from yup import TextError from TextError const initialValues name Shubham email company const onSubmit values gt console log Form data values const validationSchema Yup object name Yup string required Name is required email Yup string email Email format invalid required Email is required company Yup string required Company is required function DemoForm const formik useFormik initialValues onSubmit validationSchema return lt div className grid container gt lt form className form container onSubmit formik handleSubmit gt lt div className form control gt lt label htmlFor name gt Name lt label gt lt div className relative gt lt input type text id name name name className form input value formik values name onChange formik handleChange onBlur formik handleBlur gt formik touched name amp amp formik errors name lt TextError gt formik errors name lt TextError gt null lt div gt lt div gt lt div className form control gt lt label htmlFor email gt E mail lt label gt lt div className relative gt lt input type email id email name email className form input value formik values email onChange formik handleChange onBlur formik handleBlur gt formik touched email amp amp formik errors email lt TextError gt formik errors email lt TextError gt null lt div gt lt div gt lt div className form control gt lt label htmlFor company gt Company lt label gt lt div className relative gt lt input type text id company name company className form input value formik values company onChange formik handleChange onBlur formik handleBlur gt formik touched company amp amp formik errors company lt TextError gt formik errors company lt TextError gt null lt div gt lt div gt lt button type submit className form submit gt Submit lt button gt lt form gt lt div gt export default DemoFormThat s it for this part in the next part We are going to reduce some boilerplate for our form using Formik componentsTHANK YOU FOR CHECKING THIS POSTYou can contact me on Instagram LinkedIn Email shubhmtiwri gmail com You can help me with some donation at the link below Thank you gt lt Also check these posts as well 2023-08-29 13:03:09
海外TECH DEV Community How Much Does It Cost To Create Soulbound Token (SBT)? https://dev.to/adelelara/how-much-does-it-cost-to-create-soulbound-token-sbt-1hob How Much Does It Cost To Create Soulbound Token SBT In the realm of digital assets and blockchain technology Soulbound Tokens SBTs have emerged as a groundbreaking concept that offers exciting possibilities for ownership and authenticity However a question that often arises among blockchain enthusiasts is How much does it really cost to create a Soulbound Token Today we aim to shed some light on this mysterious topic exploring the factors and components that contribute to the overall cost of creating an SBT First let us see… What is Soulbound Token Soulbound tokens offer startups an unparalleled opportunity to revolutionize their fundraising initiatives fostering a mutually beneficial relationship with investors while simultaneously driving growth and innovation The creation of soulbound tokens proves to be a compelling strategy paving the way for a future where fundraising transcends traditional boundaries and propels startups towards unprecedented heights Why Startups Should Create Soulbound Token For Fundraising Embracing Tokenization A Paradigm Shift in FundraisingTokenization has emerged as a groundbreaking concept that allows startups to break free from traditional fundraising limitations By creating soulbound tokens these projects can offer investors an opportunity to participate and benefit directly from their success creating a deeper level of engagement and commitment This approach eliminates the intermediaries typically involved in traditional fundraising streamlining the process while enhancing transparency and trust Empowering Investors Benefits of Soulbound TokensSoulbound tokens serve as an incentive to investors offering them more than just financial returns By aligning their interests with the startup investors become genuine stakeholders invested not only in the company s success but also in its long term vision This symbiotic relationship fosters a sense of loyalty and commitment creating a loyal community of advocates who actively support the startup s growth both financially and by spreading the word Democratizing Fundraising Access for AllThrough soulbound tokens startups can open up fundraising opportunities to a broader investor base Tokenization enables fractional ownership allowing even small investors to participate in early stage projects that were previously accessible only to venture capitalists or accredited investors This democratization of fundraising empowers startups to tap into a more diverse pool of potential supporters fostering a truly inclusive startup ecosystem Enabling Continuous Engagement Beyond the Funding RoundUnlike traditional fundraising models that conclude once the desired funding threshold is reached soulbound tokens enable startups to cultivate long term relationships with investors These tokens can facilitate ongoing engagement providing investors with exclusive benefits such as early access to product releases voting rights in decision making processes or even revenue sharing This sustained involvement helps the startup solidify its community and continuously fuel innovation Navigating Regulatory Challenges Embracing ComplianceWhile the concept of soulbound tokens is revolutionary startups must navigate regulatory landscapes to ensure compliance Collaborating with legal experts early in the token creation process is crucial to ensure adherence to relevant guidelines Prioritizing compliance safeguards the startup and its investors minimizing potential legal and financial risks while paving the way for a successful and ethical fundraising campaign Now let us move the question… How Much Does It Cost To Create Soulbound Token SBT To ascertain the cost of creating a Soulbound Token we must first understand the core elements involved in the process There are three primary factors that determine the expenses associated with SBT creation gas feessmart contract developmentplatform specific costsAs the blockchain landscape evolves and new platforms emerge these costs may continue to fluctuate Approximately Soulbound token development cost ranges from to Therefore it is essential to conduct thorough research and consult experts to get accurate estimates before embarking on your Soulbound Token creation journey So why wait It s time to unleash the potential of your startup and embark on an extraordinary fundraising adventure with a soulbound token 2023-08-29 13:02:50
海外TECH DEV Community How to Test HarperDB Custom Functions with Node Tap https://dev.to/doabledanny/how-to-test-harperdb-custom-functions-with-node-tap-53hl How to Test HarperDB Custom Functions with Node Tap IntroWhen making changes to an app automated tests help to ensure that your new code hasn t broken any previously developed features Tests help to save you time as you won t have to always manually test everything out when adding new features or making changes to a codebase This is especially important as your application grows larger In this article I m going to show you how to write some basic feature tests for a HarperDB custom functions applications project to ensure that the api routes are working as planned We will also write a unit test to ensure that one of our individual functions is working correctly In case you re not familiar HarperDB is a database streaming broker and application development platform It has a flexible component based architecture simple HTTP S interface and a high performance single model data store that accommodates any data structure Github repoThe complete code repository for this project Don t forget to give it a star Installing HarperDB locallyI m on Mac so to install HarperDB I opened a terminal and entered npm install g harperdbThis installed HarperDB instance on my Mac is located at the destination Users danadams hdb Server with Listening port Username for HDB ADMIN HDB ADMINPassword whatever you set this to during installationWe can now start HarperDB with the command harperdbNow we can use HarperDB locally Creating a HarperDB custom functions projectNow we have HarperDB installed locally we can create a new HarperDB custom functions project Custom functions also known as applications are simply Fastify API routes that can very quickly access data from the HarperDB database To create a new custom functions project open up a new terminal and cd change directory into the custom functions directory of your local HarperDB instance cd hdbcd custom functionsYou can check that you re in the correct directory by entering pwd print working directory Currently I m here Users danadams hdb custom functions Now that we re in the right place we need to actually create a new custom functions project We could do all of this from scratch or we can just clone HarperDB s custom functions starter template to get us going quickly So let s clone this into our custom functions folder git clone If you now enter ls list files and directories you should see harperdb custom functions template listed Let s rename this folder to testing project tutorial mv harperdb custom functions template testing project tutorialAlright let s open up this project in VS Code code testing project tutorial Setting up HarperDB StudioLet s now set up HarperDB studio so we can easily view our database with a nice UI in the browser First create an account with HarperDB Then we need to connect up our locally installed HarperDB instance by registering a user installed instance Select Register User Installed Instance Then connect up the local HarperDB instance that you installed in the previous step Creating our Schema and Table in HarperDB StudioIn HarperDB studio click on Browse in the nav bar then create a new schema called testing project tutorial Inside this schema create a new table called posts with hash attr of id hash attr are like HarperDB s version of primary keys Defining some useful constants for our projectCreate the file config constants js in the project root Add the following project constants export const HDB URL http localhost testing project tutorial export const SCHEMA testing project tutorial Creating our HarperDB Custom Function API routesFirst let s create a route where we can get a list of blog posts In your HarperDB studio go to the functions tab and go to your testing project tutorial project Under the routes folder create a file called posts Create a route that accepts a GET request then fetches all the posts from the posts table routes posts jsimport SCHEMA from config constants js const POSTS TABLE posts export default async server hdbCore logger gt GET get list of posts server route url posts method GET handler request reply gt request body operation sql sql SELECT FROM SCHEMA POSTS TABLE return hdbCore requestWithoutAuthentication request Click the save button in HarperDB studio then navigate to this new route http localhost testing project tutorial postsWe get back an empty array as we currently have no posts So let s create a route that accepts a POST request and some data related to a post The posted data should be a JSON object with the fields username title and content routes posts js POST create a new post server route url posts method POST handler request reply gt const data request body let validatedData try validate the posted data using our custom validateCreateProductInput function validatedData validateCreatePostInput data catch error posted data is invalid so return the error message return reply status send message error message data is all good so insert it into the posts table request body operation insert schema SCHEMA table POSTS TABLE records validatedData return hdbCore requestWithoutAuthentication request But the above route won t work just yet as we need to create the validateCreateProductInput function Above we re wrapping this in a try catch block as we want this validation function to throw errors if the posted data is not valid From HarperDB studio create a new helper file called posts Then create the validation function helpers posts jsexport function validateCreateProductInput input const username title content input if username title content throw Error username title and content are required if username length gt throw Error username must be less than characters return username username toLowerCase title content And of course let s import this function at the top of our routs posts file routes posts jsimport validateCreateProductInput from helpers posts js Let s now use Postman to test out our routes I ve exported a Postman JSON collection file that you can simply import into Postman to quickly get you going For the create post route we can send our post data in a raw JSON body And the post was created successfully Let s check the posts table Perfect Now to check that our get posts route returns this new post Awesome Let s now write some tests to ensure our routes are working as planned Setting up our project for testingFor this part of the project I m going to begin working in VS Code rather than coding directly into HarperDB studio to make it easy to install some npm packages First let s install the testing framework node tap as a dev dependency npm i tap DLet s also create a script in package json to run our tests package json name testing project tutorial version description An example HarperDB Custom Function type module author Danny Adams scripts test tap devDependencies tap All of our tests can now be ran with npm run test Testing creating a post Unit testsFirst we will write unit tests to check that our validateCreatePostInput function is working correctly with different inputs When writing tests it s important to not forget about testing the sad paths what if some form input is invalid or a url param is invalid Do we get the correct status code error message redirect view etc It s often a good approach to start writing the sad tests first as it gets you brainstorming about what can go wrong and how it should be handled So let s start by writing a unit test to check that our validateCreatePostInput function throws an error with the correct message if we pass it invalid data In the project root create the file tests posts createPost test js and add the following code tests posts createPost test jsimport test from tap import validateCreatePostInput from helpers posts js test POST posts async t gt Unit test sad path test Test if error is thrown from validate post data function call async t gt t throws gt const input username Danny Adams title This is the Title content This is the contents of the post Blah blah etc no content provided should throw error validateCreatePostInput input message username title and content are required error message we expect name ExpectedErrorName Optional check error name if needed The test above is a unit test as we are only testing one piece of code our validation function Above we re using node tap to test that the function throws an error with the correct message if we don t pass a content field After running the test with npm run test Our test passes How does Node Tap know which of our files to run as tests It simply looks for files that end in test js Challenge see if you can write a unit test to check what happens if we post a username that is too long Next let s write the happy path where the input data is correct Unit test happy path test Check post data is validated correctly async t gt const input username Danny Adams title This is the Title content This is the contents of the post Blah blah etc naughtyKey This key shouldn t be here const validData validateCreatePostInput input t equal validData title input title t equal validData content input content t equal validData username input username toLowerCase username should be lowercased t equal validData hasOwnProperty naughtyKey false naughtyKey should not be returned from validateCreateProductInput Above we are simply checking that our validation function returns the validated data that we expect Now that we have these tests if we needed to modify our validation function in the future these tests would tell us if the function is no longer behaving as it should Feature testsMost of your tests should be feature tests as they help to ensure that the application as a whole is working as expected Let s test that our api route to create a new post is working correctly We ll first write the unhappy paths to get us thinking about what could go wrong then we ll write the happy path Unsuccessful post creationFirst create a helper function at the bottom of the createPost test js file that we can reuse to send a POST request to our api tests createPost test jsasync function postThePost input const response await fetch HDB URL posts method POST headers Content Type application json body JSON stringify input const json await response json return response json Now let s create two feature tests to check that our api returns the expected status codes and error message when we send invalid data tests createPost test jstest POST posts async t gt … Feature test sad path test Trying to create a post with username that is too long async t gt const username This username is just way to long const title This is the Title const content This is the contents of the post Blah blah etc const response json await postThePost username title content t equal response status t equal json message username must be less than characters Feature test sad path test Trying to create a post with no title async t gt const username Test User const title const content This is the contents of the post Blah blah etc const response json await postThePost username title content t equal response status t equal json message username title and content are required …Above we re asserting that we get the correct error status codes for bad request and that the error messages returned are as expected Create a post successfullyNow let s test what creating a post successfully should look like the happy path First at the bottom of the test file create a deletePosts helper function We will use this to delete the test post that we create tests posts createPost jsasync function deletePosts postIdsArray const response deleteResponse json deleteJson await harperDbClient operation delete schema testing project table posts hash values postIdsArray console log Delete response console log deleteResponse deleteJson return deleteResponse deleteJson Let s also create a harperDbClient function that we can reuse to interact with our HarperDB data helpers harperdb jsexport async function harperDbClient body var myHeaders new Headers myHeaders append Content Type application json myHeaders append Authorization process env HARPERDB SECRET var raw JSON stringify body var requestOptions method POST headers myHeaders body raw redirect follow try const response await fetch http localhost requestOptions const json await response json return response json catch error console log error We also need to install the dotenv package to load in our environment variables npm i dotenvAdd your HarperDB secret into a env file at your project root your env file should look like this then load the variables at the top of the test file tests posts createPost jsimport dotenv config Here s how our successful post creation test will work Create a post by hitting our POST api endpoint with some valid data From the api s json response get the inserted hashes This is an array of the post ids that were just created HarperDB automatically creates these ids when inserting a record Pass a callback to node tap s teardown function to delete these test posts once the test is complete The teardown function will run automatically when node tap detects that this test is complete Fetch the new post from the posts table so we can check that it was inserted correctly by comparing it to the original input data Run our assertions e g t equal to check status codes messages and data are all as expected Putting this into code tests posts createPost jsimport HDB URL SCHEMA from config constants js import harperDbClient from helpers harperdb js … Feature test happy path test Create a post successfully async t gt create some post data const username Test User const title This is the Title const content This is the contents of the post Blah blah etc Hit our custom function api endpoint to create new post const response json await postThePost username title content console log JSON R console log json inserted hashes const postIds json inserted hashes Teardown gt run callback once test is complete t teardown async gt Clean up delete the test post from db const deleteResponse await deletePosts postIds console log Deleted posts with status deleteResponse status Fetch this new post from the db const response dbResponse json dbJson await harperDbClient operation search by hash schema SCHEMA table posts hash values postIds get attributes id username title content const dbNewPost dbJson console log DB RESULT console log dbResponse dbJson dbNewPost Check status and response is correct from api t equal response status t equal json message inserted of records Check the post was inserted correctly into the db t equal dbResponse status t equal dbNewPost username username toLowerCase username should be lowercased t equal dbNewPost title title t equal dbNewPost content content Testing getting postsTo test our api endpoint to get all posts we ll do the following Insert test posts into the posts tableUse node tap s teardown function to delete these new posts once the test is completeFetch all posts by making a GET request to our posts routeCheck that one of the posts we got back is one of the new posts that we created and that it contains the correct data tests posts createPost jsimport HDB URL SCHEMA from config constants js import harperDbClient from helpers harperdb js … Feature test happy path test Create a post successfully async t gt create some post data const username Test User const title This is the Title const content This is the contents of the post Blah blah etc Hit our custom function api endpoint to create new post const response json await postThePost username title content console log JSON R console log json inserted hashes const postIds json inserted hashes Teardown gt run callback once test is complete t teardown async gt Clean up delete the test post from db const deleteResponse await deletePosts postIds console log Deleted posts with status deleteResponse status Fetch this new post from the db const response dbResponse json dbJson await harperDbClient operation search by hash schema SCHEMA table posts hash values postIds get attributes id username title content const dbNewPost dbJson console log DB RESULT console log dbResponse dbJson dbNewPost Check status and response is correct from api t equal response status t equal json message inserted of records Check the post was inserted correctly into the db t equal dbResponse status t equal dbNewPost username username toLowerCase username should be lowercased t equal dbNewPost title title t equal dbNewPost content content Things we could improve on in this projectThere we have it you now know how to run some unit and feature tests in a custom functions project However if this was a serious project we d definitely want to improve on a few things Currently our tests are working with our main database This is generally considered bad practice as it can result in our tests messing up our development data and get us in a mess It would probably be better to work with a test schema with the same tables as the real schema It s usually a good idea to clear out all test data in each table after running each test so that tests don t interfere with each other and cause unexpected issues We would then have complete control over what is in each table at the beginning of each test and so can test exactly what we expect to be in each table It could also be a good idea to create a separate environment for testing e g env testing then when running our tests we could specify the environment we want to use in the npm script E g package json scripts test NODE ENV test dotenv e env test tap Thanks for reading If you enjoyed this article it d be awesome if you could give me a sub on YouTube You could also follow me on Twitter Cheers 2023-08-29 13:02:46
Apple AppleInsider - Frontpage News Vision Pro display delays may get solved by China suppliers https://appleinsider.com/articles/23/08/29/vision-pro-display-delays-may-get-solved-by-china-suppliers?utm_medium=rss Vision Pro display delays may get solved by China suppliersApple may be running into problems with screen supplies for the Apple Vision Pro and it is reportedly looking to vendors in china for answers The Vision Pro s OLED displays are expensive and difficult to manufactureThe complexity of the displays in Apple Vision Pro and the difficulty of manufacturing them in sufficient qualities was said to mean Apple slashed its orders for The only previously known manufacturer Sony also reportedly refused to increase its production capacity for the screens Read more 2023-08-29 14:00:00
Apple AppleInsider - Frontpage News iPhone 14 Pro Max was the best-selling smartphone for first half of 2023 https://appleinsider.com/articles/23/08/29/iphone-14-pro-max-was-the-best-selling-smartphone-for-first-half-of-2023?utm_medium=rss iPhone Pro Max was the best selling smartphone for first half of The iPhone Pro Max is the most shipped smartphone in the world for the first half of a report claims with iPhones occupying half of the top ten spots for the period iPhone Pro MaxThe iPhone has always been a popular device with the main non Pro model usually among the top selling models In analysis by Omdia it is claimed that the iPhone Pro models are the most popular model in so far Read more 2023-08-29 13:36:01
海外TECH Engadget German Bionic’s latest exoskeleton helps healthcare workers lift elderly patients https://www.engadget.com/german-bionics-latest-exoskeleton-helps-healthcare-workers-lift-elderly-patients-130046538.html?src=rss German Bionic s latest exoskeleton helps healthcare workers lift elderly patientsGerman Bionic the robot exoskeleton startup behind the lightweight Apogee exosuit just revealed the Apogee a hardware refresh intended to service health care workers The powered exoskeleton allows nurses and other health care professionals to have greater access to patients particularly the elderly and the infirm The company hopes to decrease the “immense levels of stress endured by these medical professionals To that end the Apogee is designed as a “personal lift assistant providing active assistance while walking lifting and arranging patients for treatments and sanitary procedures like showers The robo suit offers nearly pounds of back relief per lift and includes integrated grips for getting a stable hold on things and for repositioning patients Just like its sibling exoskeleton the Apogee is small and lightweight so it can be worn by a variety of people in a diverse array of environments It s also waterproof which should help when bathing patients and dust proof which should help when uh working in rundown medical facilities straight out of a Stephen King novel Most German Bionic products like the powerful Cray X are designed for industrial settings but the Apogee is made for health clinics so it features a softer form factor with light “patient friendly colors The suit s unibody exterior is designed for an easy disinfection process so germs and bacteria won t accumulate This is obviously quite essential in healthcare environments German Bionic touts recent data celebrating the efficacy of exoskeleton wearable products in the healthcare space saying that it “offers flexible and reliable support to nursing staff The Apogee is rolling out across North America now so it s already available for purchase by health care entities If you want to try it for yourself book a passage to Germany in November The company s offering in person demos at global medical trade show Medica on November These exoskeletons cost or per month forr bulk purchasers nbsp This article originally appeared on Engadget at 2023-08-29 13:00:46
海外TECH Engadget Snapchat's new 'Dreams' feature uses generative AI to remix users' selfies https://www.engadget.com/snapchats-new-dreams-feature-uses-generative-ai-to-remix-users-selfies-130038172.html?src=rss Snapchat x s new x Dreams x feature uses generative AI to remix users x selfiesSnapchat has added a new generative AI feature to its app Called “Dreams it s in some ways similar to the company s signature AR effects known as lenses But instead of real time camera based effects the feature uses generative AI to remix users selfies into “fantastical images that transform their persona into new identities The feature which can be found in the app s “memories section begins by asking users to take selfies showing their face at different angles The app will then creates a series of eight images based on themes like “time travel or “alternate universes Eventually Snap says users will be able to create Dreams that include their friends likenesses as well Dreams is the latest generative AI experiment from the company which launched its MyAI chatbot earlier this year using OpenAI s models Dreams uses open source tools and internal data though the company hasn t provided details about specific partners The feature also highlights how the company is using interest in the technology as a source of revenue MyAI was initially limited to Snapchat the app s premium subscription tier before it was released to all the app s users this spring The company has since added specialized features for subscribers including the ability for MyAI to reply to photo Snaps with its own AI generated images Likewise Dreams will have both a free and paid component Snap is allowing non Snapchat subscribers to access just one ーso use it wisely ー“pack of eight selfies while subscribers will get access to one pack a month the company says it plans to update Dreams with new themes and styles regularly All users will be able to buy additional packs for a in app purchase SnapIn practice the images appear to have some of the same limitations as other AI based image generators A promotional image shared by Snap showed what appeared to be the tips of partial fingers strangely placed over the subject s chest When I tried Dreams to create my own AI selfies some of the resulting images also had strange looking hands though it at least showed the correct number of fingers placed in an anatomically correct position Still I can see how the feature could keep Snapchat users ーwho have collectively sent more than billion messages to MyAI ーcoming back And as tools like Midjourney have moved behind paywalls Snap s offerings might just seem like a better deal for those looking to try out generative AI This article originally appeared on Engadget at 2023-08-29 13:00:38
海外TECH WIRED The Weird, Big-Money World of Cybercrime Writing Contests https://www.wired.com/story/hacking-contests-cybercriminals/ prize 2023-08-29 13:30:00
ニュース BBC News - Home Luis Rubiales: Hermoso kiss 'shows why women don't report abuse' https://www.bbc.co.uk/news/uk-66632652?at_medium=RSS&at_campaign=KARANGA jenni 2023-08-29 13:54:26
ニュース BBC News - Home Eminem and Vivek Ramaswamy revive battle between pop stars and politicians https://www.bbc.co.uk/news/entertainment-arts-66646344?at_medium=RSS&at_campaign=KARANGA musicians 2023-08-29 13:00:44
ニュース BBC News - Home Luis Rubiales: Ella Toone says Lionesses back Jenni Hermoso and Spanish FA president should resign https://www.bbc.co.uk/sport/av/football/66619588?at_medium=RSS&at_campaign=KARANGA Luis Rubiales Ella Toone says Lionesses back Jenni Hermoso and Spanish FA president should resignEngland s Ella Toone says Luis Rubiales should do the right thing and resign after he kissed Spanish player Jenni Hermoso on the lips after the World Cup final 2023-08-29 13:06:42
ニュース Newsweek 金正恩の愛する娘ジュエ、後継者として「内定確定」か? https://www.newsweekjapan.jp/stories/world/2023/08/post-102518.php 金正恩の愛する娘ジュエ、後継者として「内定確定」か北朝鮮の金正恩国務委員長が娘の主愛ジュエとともに海軍司令部を訪れたが、もはや主愛が後継者に内定したのではないかという分析が韓国の北朝鮮専門家らによって出された。 2023-08-29 22:09:17
海外TECH reddit What's actually so unsafe about going 30 on a 60? https://www.reddit.com/r/drivingUK/comments/164hyyh/whats_actually_so_unsafe_about_going_30_on_a_60/ What x s actually so unsafe about going on a I m not talking about motorways I totally get it for those Hello there slow driver mcgee here I will usually drive well below the speed limit on a country lane due to a number of factors Lack of confidence unsafe road conditions being blinded by people s headlights I do not feel safe travelling at so I am not safe When I say this to people I m told that I m a terrible monster that s causing all of the world s suffering But why exactly is that The only thing I can think of is that it forces people to overtake me Which is just the other driver being impatient Or drivers going slamming into the rear which is on them Councils work very hard to slow people down Am I missing something here submitted by u joehighlord to r drivingUK link comments 2023-08-29 13:05:12

コメント

このブログの人気の投稿

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