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

カテゴリー等 サイト名等 記事タイトル・トレンドワード等 リンクURL 頻出ワード・要約等/検索ボリューム 登録日
IT InfoQ Presentation: Building High-Trust and High-Performing Teams at Shopify in a Remote World https://www.infoq.com/presentations/digital-hybrid-shopify/?utm_campaign=infoq_content&utm_source=infoq&utm_medium=feed&utm_term=global Presentation Building High Trust and High Performing Teams at Shopify in a Remote WorldJesse McGinnis reflects on his own journey as a leader at Shopify as they navigated the world of transitioning to be digital only sharing three key elements of win for Shopify By Jesse McGinnis 2023-08-22 17:28:00
AWS AWS Database Blog How Amazon Finance Technologies built an event-driven and scalable remittance service using Amazon DynamoDB https://aws.amazon.com/blogs/database/how-amazon-finance-technologies-built-an-event-driven-and-scalable-remittance-service-using-amazon-dynamodb/ How Amazon Finance Technologies built an event driven and scalable remittance service using Amazon DynamoDBThe Amazon Finance Technologies FinTech payment transmission team manages products for the Accounts Payable AP team from invoices to the pay process Their suite of services handles the disbursement process from invoice generation to payment creation to make sure that payment beneficiaries receive their payments Amazon Business makes payments to a very diverse range of … 2023-08-22 17:37:16
AWS AWS Networking and Content Delivery Configuring client IP address preservation with a Network Load Balancer in AWS Global Accelerator https://aws.amazon.com/blogs/networking-and-content-delivery/configuring-client-ip-address-preservation-with-a-network-load-balancer-in-aws-global-accelerator/ Configuring client IP address preservation with a Network Load Balancer in AWS Global AcceleratorAWS Global Accelerator now supports client IP address preservation with Network Load Balancer endpoints This feature allows you to maintain the source IP address of the original client for packets that arrive at Network Load Balancers configured as Global Accelerator endpoints In this blog post we discuss use cases and benefits for using Global Accelerator … 2023-08-22 17:06:33
AWS AWS Monitor Amazon RDS Custom for SQL Server using Amazon CloudWatch | Amazon Web Services https://www.youtube.com/watch?v=HpdXKn4oI9g Monitor Amazon RDS Custom for SQL Server using Amazon CloudWatch Amazon Web ServicesAmazon RDS Custom for SQL Server is a managed database service for applications that require customization of the underlying operating system and database environment Amazon RDS Custom allows you to access and customize your database server host and operating system It supports applications that have dependencies on specific configurations and third party applications that require customizations in corporate e commerce and content management systems such as Microsoft SharePoint Monitoring is an important part of maintaining the reliability availability and performance of Amazon RDS Custom for SQL Server In this post we discuss how to use a CloudWatch dashboard to monitor Amazon RDS Custom for SQL Server and how to use CloudWatch alarms for proactive monitoring Additionally we give a few examples of metrics related alarms and demonstrate the setup process for improved monitoring capabilities Learn more at Subscribe More AWS videos More AWS events videos Do you have technical AWS questions Ask the community of experts on AWS re Post ABOUT AWSAmazon Web Services AWS is the world s most comprehensive and broadly adopted cloud platform offering over fully featured services from data centers globally Millions of customers ーincluding the fastest growing startups largest enterprises and leading government agencies ーare using AWS to lower costs become more agile and innovate faster RDSCustomSQLServer RDSCustom Cloudwatch Database AWSRDS Monitoring RDS SQLServer MicrosoftSQLServer AWS AmazonWebServices CloudComputing 2023-08-22 17:32:07
技術ブログ Developers.IO [アップデート] #VMwareExplore2023 VMware Cloud on AWSに関する発表まとめ https://dev.classmethod.jp/articles/update-vmware-cloud-on-aws-in-explore-2023-las-vegas/ explorevmwarecloudonaws 2023-08-22 17:44:04
海外TECH Ars Technica Excel gets containerized, cloud-based Python analytics and visualization powers https://arstechnica.com/?p=1962235 analytics 2023-08-22 17:15:44
海外TECH MakeUseOf How to Leave Voice Comments on Google Docs Using Mote https://www.makeuseof.com/leave-voice-comments-on-google-doc/ collaboration 2023-08-22 17:15:27
海外TECH MakeUseOf How to Fix "The Remote Device or Resource Won’t Accept the Connection" on Windows https://www.makeuseof.com/fix-the-remote-device-or-resource-wont-accept-the-connection-on-windows/ How to Fix amp quot The Remote Device or Resource Won t Accept the Connection amp quot on WindowsSeeing the quot The remote device or resource won t accept the connection quot error on Windows when trying to connect to the internet Here s how to fix it 2023-08-22 17:00:25
海外TECH DEV Community 🔥✍️ Notion-like Experience for Your GitHub Content https://dev.to/areknawo/notion-like-experience-for-your-github-content-5gk1 ️Notion like Experience for Your GitHub ContentA vast amount of technical content ーtechnical blogs product docs and others ーlives inside Git repos ーand for a good reason Aside from Git s version control platforms like GitHub provide tons of integrations and additional features to easily host and automate various workflows That s especially important for efficient content delivery for blogs or for docs to be kept in sync and right beside the documented codebase That s why while working on Vrite ーan open source technical content platform ーI knew a good integration with Git is crucial for many workflows It s a must have feature that has to be implemented right for technical writers to benefit from it So after weeks of research and development I m excited to share with you what I ve come up with and how you can use Vrite to edit your GitHub content The Various Types of Git IntegrationsNaturally the idea of integrating Git into a Notion like modern collaborative WYSIWYG editing environment is nothing new However not all Git integrations are created equal Some Content Management Systems CMSs similar in functionality to Vrite are Git based meaning they fundamentally rely on Git to work While that implies great Git integration it also comes with various limitations Vrite leans more towards headless API first CMS storing its content in a database and making it accessible via API for users to build custom frontends on top of This means that Git becomes a separate layer that has to be integrated into existing tooling CMSs and tools like knowledge bases approach this in various ways Most commonly I ve seen a one way integration meaning either your Single Source of Truth SSOT is a Git repo and every change has to be immediately committed to it or your SSOT is the actual app and you can commit changes in batches with little to no regard for content or updates that happen in the repo There seem to also be other solutions like periodic sync where a forceful sync happens every once in a while To me all these approaches seemed inferior to what developers have at their disposal in code editors and IDEs ーincluding the ability to commit and pull at any time resolve merge conflicts when necessary switch between branches stage certain changes etc I wanted to recreate at least a part of that in Vrite by integrating with various Git providers via their APIs ーstarting with GitHub Vrite Git SyncSo how does Git sync currently work in Vrite Let me take you through a quick overview Setting Up Sync with GitHubYou can use Vrite via the hosted version that s free while in Beta or self host it from the open source repo though good support for self hosting is still in the works When inside the dashboard open the Source control side panel From here you ll have to first select and configure a provider For now only GitHub is supported with other major providers GitLab BitBucket and Gitea to come later To configure GitHub you ll first have to select a repo and authorize access to it To do so first authenticate with GitHub and install the Vrite GitHub app Only accounts and repos authorized in the GitHub App s installation will be available for selection After you ve selected the repo and branch to sync you can optionally configure the mapping settings These dictate how to map the repository s content to Vrite Base directory ーindicates which directory to sync with so you can only sync e g docs directory It points to the root directory by default Match pattern ーa glob match pattern that applied relative to the base directory will only sync files with matched filenames By default it matches all md files Once you configure GitHub provider and Save the configuration you ll have to perform the initial sync That s when the existing content from GitHub will be synced into Vrite creating content groups for all the folders content pieces for synced files and indexing it all Depending on the amount of content you have this can take a while Managing Content In VriteOnce the sync is complete you ll see a new content group appear with a name corresponding to your repo Now a word on managing your Git content in Vrite In Vrite your content is organized into content pieces ーcontaining the actual content and related metadata and content groups ーgrouping multiple content pieces together In the Vrite dashboard s primary view ーKanban ーthese are displayed as individual draggable columns and cards inside them Kanban is great for managing the content production process but it doesn t necessarily represent the way your Git repo is structured ーwith nested folders and all That s why to provide a good experience for the new workflow with Git Vrite now supports nested content groups To navigate those you can use the folder icon next to the content group s name Click it to get inside the content group and drag it onto the other folder icon to move one group into the other The same dragging and clicking mechanism works with the breadcrumb that will appear in the toolbar Simply click a content group or the workspace icon to get back to the certain nesting level or drag a folder icon from the Kanban onto one part of the breadcrumb to move it Why use the folder icon for that I think it s a more intuitive way to manage group nesting while dragging entire columns is still reserved for rearranging the kanban But that s not all If you prefer a more folder like approach to managing your content you can always switch to the new list view similar to the one you ve experienced in GitHub The same rules apply here with the additional option to also drag individual content pieces onto the groups folder icons to move them This feature is to be added in the Kanban view One more thing to note is in regard to filename mapping Vrite supports various metadata for content pieces including title and slug but these didn t seem appropriate to use for filename mapping What if you want to use the title for something meaningful or the slug for publishing on your blog docs etc That s why Vrite added a new metadata field called Filename which is specifically meant to aid in use cases like Git integration assigning a meta filename to your piece However with the increased number of metadata fields I ve decided to keep some including filename disabled by default to allow you to better focus on the metadata that matters to you So if you use Git you ll likely want to go to the Settings →Metadata section and enable the fields that matter to you Pull Commit amp Resolve ChangesKnowing how to manage content in Vrite let s go back to the Source control panel and see how to sync your edits with Git First ーcommits Go to the editor and edit a piece or two You should see the changed files reflected in the Changes section shortly after In case you want to commit the changes simply provide a Commit message and commit The commit should show up in the repo as verified and authored by vrite io bot I decided against attributing changes to individual users as Vrite enables you to add team members and collaborate on the content in real time making it difficult to differentiate who actually made the change Now when you try to commit after a change has been done to the repo from outside your Vrite account you ll receive a “Pull required before committing changes error notification To resolve this you ll have to first pull the latest changes To do so simply use the button in the Pull section Vrite will fetch all commits made since the last pull or the initial sync and sync the content of files changed in those commits It can be done entirely automatically or there can be a conflict In this case you ll have to resolve it first before you can sync the changes All conflicted files will be listed in the Pull section Click on one of them to start resolving the conflict You ll see a Monaco Editor powered change editor The content incoming from the Git repo is on the left while the current content in Vrite is on the right You can make changes in the editor on the right this will ultimately become the result content Once you re done click Resolve If there are no other conflicts you should now be able to pull the latest changes Future ImprovementsWith that you now know pretty much all there is to know about GitHub sync in Vrite It s quite simple and still not as feature rich as you can find in code editors or IDEs but it gets the job done better than quite a few other CMS and knowledge base tools That said there s definitely room to improve I d like Vrite to be the “go to editor CMS for blogs and docs and this necessitates some additional features In the short term I m looking to add Custom remote transformers ーto allow developers to provide custom functions for processing content in and out of Vrite Stage and undo ーto better organize the commits from Vrite Custom blocks ーto extend the content that can be synced with and edited in Vrite to support more use cases like complex custom docs In the long term Support for other providers Easy switching between branches Custom WYSIWYG editor for conflict resolution Access to your Git version history right from Vrite Bottom LineSyncing the content from GitHub with Vrite allows you to have a great WYSIWYG editing experience for your technical content while still having access to all the features of Git and GitHub In addition to that you get to benefit from all the features of Vrite like easy content management powerful API with Webhooks and…an AI search though that s a story for another day In case you re interested in Vrite leave a on GitHub as well as any feature requests or issues you may have to support the project ️Try out Vrite️DocumentationJoin DiscordFollow on TwitterFollow on LinkedIn 2023-08-22 17:54:25
海外TECH DEV Community Building Next.js apps with Materio https://dev.to/logrocket/building-nextjs-apps-with-materio-21mc Building Next js apps with MaterioWritten by Suraj Vishwakarma️Building a website from scratch is not always the most suitable option due to time and resource constraints It also makes less sense to build sites from scratch when there already exist so many that have been coded by other developers This is where templates and libraries come in handy These tools allow you to simplify your work while still producing great projects Using templates is beneficial because the templates have already been tested and debugged by other developers which will increase the quality of your code Templates are also made with flexibility in mind They can be used and changed by other developers without causing complications In addition to code templates provide developers with customization options that fit the needs of their projects In this article we ll explore one such template for web applications Materio Materio is a Next js and React admin template based on MUI In this article we ll cover the following What is Materio Installing Materio Customizing your Next js app Styling with Materio Changing the color palette of the admin panel Making changes to typography What is Materio Materio is an admin template based on Material UI Its UI is developer friendly rich with features and highly customizable It is available in JavaScript and TypeScript versions and comes with features like Vertical and horizontal menus niche dashboards Different form layouts Different cards layout The Quick Search component Tables and grids Chart libraries A fully responsive layout An organized folder structure Clean well documented codeMaterio offers a free and premium tier The free version is basic but works for most of applications that require an admin panel The premium version provides more features including a greater variety of charts cards layouts and other components Learn what each tier has to offer here Installing Materio Installing Materio is simple The first step is to select the Materio template from the ThemeSelection website On the website you will find two options for downloading the theme Free Download and Check Pro Version For now click on Free Download You will need to sign in to the ThemeSelection site to download content from their website The downloaded file will be a zip file Extract it to your desired location In it you will find other files including LICENSE README md and an HTML file that will redirect you to the Materio documentation You will also find the JavaScript and TypeScript versions of the Materio template Open the version of the directory that best suits you In the directory you can install the project dependencies with your favorite package manager Materio recommends that developers use Yarn yarn installAfter installing the dependencies you can run the template with the following command yarn run devThis will start the Next js application at localhost Here is the landing page of the admin panel Customizing your Next js app In the src→views directory you will find different components to customize your Next js application such as cards dashboards form layouts tables and more Let s customize one of the components to display dynamic data We re going to customize the StatisticsCard component to display GitHub repository stats First let s fetch data in the index js page We need to import useState and useEffect from React import useState useEffect from react Then in the Dashboard component create a useEffect Hook We are fetching the data in this hook useEffect gt const fetchAndSetData async gt const res await fetch replace URL with GH repo that you want stats for const datajson await res json setData datajson fetchAndSetData Now we will set the data which is defined with the useEffect Hook above const data setData useState After this we need to set some props for StatisticsCard lt StatisticsCard stars data stargazers count forks data forks count issues data open issues gt In the src→pages→dashboard directory you will see the StatisticsCard js file where you will find the salesData array which stores the data You can change the name of the array to better reflect the data I have changed it to data With a few changes to the properties we can customize the data array to better suit how we want to display our GitHub repo data const data stats title Stars color primary icon lt TrendingUp sx fontSize rem gt stats title Forks color success icon lt AccountOutline sx fontSize rem gt stats color warning title Issues icon lt CellphoneLink sx fontSize rem gt Now we need to change this data according to the props Here are stars forks and issues as props We are assigning these values to the data array const StatisticsCard stars forks issues gt extracting the props data stats stars data stats forks data stats issuesAfter changing the data we can easily see the changes in the dashboard Styling with Materio The Materio template uses MUI as the CSS framework for adding styles You can also comfortably customize the Materio theme for the following Adding breakpoints to customize the responsiveness Overriding components such as alerts accordions avatars etc Changing the website s color palette Adding shadows Changing the spacing of components Changing the app s typographyIn the following sections we will review how to customize our app s color palette and typography Changing the color palette of the admin panel In the src→ core→theme directory you will find the theme configuration for all the components we mentioned earlier There you will find the palette directory which has the index js file that contains information related to the color palette In the index js file you will find the return section which contains all the colors Here you can make changes to reflect your desired color palette We ll change some colors to reflect a different theme We can change the main colors to a light or dark theme at the top of the file for customizing the main colorsconst lightColor colors in RGBconst darkColor colors in RGBconst mainColor mode light lightColor darkColorAfter that you can change the primaryGradient function that returns primary gradient colors for customizing gradientconst primaryGradient gt if themeColor primary return else if themeColor secondary return FF else if themeColor success return FF else if themeColor error return FF else if themeColor warning return FFA else return FFF Then in the return section you will find color variants such as primary secondary success etc Each variant has three main properties light dark and main The main color will be applied as default With the change in theme light and dark colors will be applied primary light main dark BDF contrastText FFF The image below demonstrates a comparison of the Materio theme before and after customizing the color palette Making changes to typography Next we can change the project s typography In the theme directory you will find the typography directory When you open the index js file you will be presented with the fourteen typography variations that are available in Materio Here are a few of them h fontWeight letterSpacing px color theme palette text primary h fontWeight letterSpacing px color theme palette text primary h fontWeight letterSpacing color theme palette text primary You can customize each of the variations to your style ーyou just have to provide the CSS properties with their value Here you can add the font family too Let s customize the h tag h fontWeight letterSpacing px fontFamily Inter lineHeight px color theme palette text primary You can also extend the typography by adding more variants inputErrorText fontFamily Inter fontSize px fontStyle normal fontWeight lineHeight normal color red Now when you need to add the variant in a component you can use the syntax below import Typography from mui material Typography importing Typography from MUI use variant tag to add the name of the typography variant lt Typography variant inputErrorText gt There is an error lt Typography gt After successful integration you can view it on the webpage This is how you can successfully customize typography in the Materio UI Because all the themes are based on MUI having basic knowledge about this framework will help you when customizing Otherwise you can easily learn while working because MUI is intuitive to learn ConclusionMaterio offers a plethora of features including vertical and horizontal menus niche dashboards form layouts different card layouts search components tables charts and more In this tutorial we learned how easy it is to install Materio how to populate a component with custom data and how to style our app using MUI For more control and customization consider using Materio to provide authentication and login pages to your project s admin panel Thanks for reading LogRocket Full visibility into production Next js appsDebugging Next applications can be difficult especially when users experience issues that are difficult to reproduce If you re interested in monitoring and tracking state automatically surfacing JavaScript errors and tracking slow network requests and component load time try LogRocket LogRocket is like a DVR for web and mobile apps recording literally everything that happens on your Next js app Instead of guessing why problems happen you can aggregate and report on what state your application was in when an issue occurred LogRocket also monitors your app s performance reporting with metrics like client CPU load client memory usage and more The LogRocket Redux middleware package adds an extra layer of visibility into your user sessions LogRocket logs all actions and state from your Redux stores Modernize how you debug your Next js apps ーstart monitoring for free 2023-08-22 17:47:11
海外TECH DEV Community 🪂 Looking Beyond ChatGPT: 7 Innovative Chatbot Alternatives 🚀 https://dev.to/shreya_gr/looking-beyond-chatgpt-7-innovative-chatbot-alternatives-4c4c 🪂Looking Beyond ChatGPT Innovative Chatbot Alternatives What is this article about It s about the list of ChatGPT alternative you can use if you don t find chatGPT align with your business goal Let s deep dive In the field of Natural Language Processing NLP has seen remarkable advancements leading to the creation of powerful tools like ChatGPT This AI model developed by OpenAI has proven to be a game changer for various applications from content generation to virtual assistants However as the technology landscape evolves so do the alternatives available to developers In this blog we will explore some compelling alternatives to ChatGPT that every developer should know about Rasa Open Source Conversational AI PlatformRasa is an open source platform for building conversational AI applications It provides developers with tools to design train and deploy their own chatbots and virtual assistants Rasa s key strength lies in its flexibility and customizability Developers can fine tune the behavior of the AI model to suit specific use cases and industries With options for both rule based and machine learning based approaches Rasa empowers developers to craft sophisticated conversational experiences tailored to their needs Key FeaturesAI Machine LearningContextual GuidanceFor DevelopersIntent RecognitionNatural Language ProcessingPre Configured BotReporting Analytics Dialogflow Google s NLP Powered Chatbot PlatformDialogflow powered by Google Cloud is a widely used platform for creating conversational interfaces across various platforms including websites mobile apps and messaging platforms It offers both pre built agents for common use cases and the ability to create custom agents from scratch Developers can leverage Google s NLP capabilities to design natural and interactive conversational experiences making Dialogflow a robust alternative to ChatGPT for businesses looking to integrate chatbots into their services Key FeaturesVisual flow builderOmnichannel implementationAdvanced AIState based data modelsEnd to end management Microsoft Bot Framework Building Intelligent BotsMicrosoft Bot Framework provides developers with tools to build intelligent bots that can communicate and interact with users through multiple channels This framework supports various AI services including Microsoft s Language Understanding Intelligent Service LUIS for natural language understanding and the integration of Cognitive Services for vision speech and more With its focus on creating comprehensive and versatile bot solutions the Microsoft Bot Framework is a solid choice for developers looking to build AI powered conversational agents Key FeaturesAI and natural languageOpen amp ExtensibleEnterprise grade solutionsOwnership and control Botpress Conversational AI PlatformBotpress is an open source conversational AI platform that offers a range of features for building deploying and managing chatbots It supports both rule based and machine learning based approaches allowing developers to blend different techniques to achieve the desired level of sophistication Botpress emphasises privacy and security making it a suitable alternative for businesses with stringent data protection requirements Key FeaturesManaged NLU EngineConversational StudioContextual FAQ Q amp A FunctionalityMultiple Language SupportContent Management SystemAnalyticsJavascript Code EditorExtensive Availability Scalability and PerformanceMulti language Single Bot IBM Watson AssistantIBM Watson Assistant is a robust platform for building AI powered chatbots and virtual assistants It offers a user friendly interface to design train and deploy conversational agents across various channels What sets Watson Assistant apart is its integration with IBM s AI services enabling developers to leverage powerful capabilities like language understanding sentiment analysis and entity recognition Additionally it allows developers to seamlessly integrate with other IBM services like data analytics making it suitable for data driven conversational experiences Key FeaturesAgent assistArtificial intelligenceIntegrationsSecurityVisual builder Voice TarsTars is a user friendly chatbot development platform that offers a range of features including drag and drop chatbot building integrations with popular messaging platforms and advanced analytics Tars is a great choice for developers who want to create chatbots quickly and easily without sacrificing functionality Key FeaturesOpen ai integrationLivechatGeo location keyboardDate and time scrollerMultilingual chatbotNo code chatbot builder Wit aiWit ai is a natural language processing platform that allows developers to build chatbots that can understand natural language commands It offers a range of features including support for multiple languages advanced analytics and integrations with popular messaging platforms Wit ai is a great choice for developers who want to create chatbots that can understand and respond to complex user requests Key FeaturesBotsMobile AppsSmart Home Wearable Devices A little about myself I m Shreya currently involved in the development of Firecamp an open source alternative to Postman Our journey in the world of open source software has just begun and we re excitedly embracing feedback from fellow developers If you re interested in joining me to build this API tool I wholeheartedly invite you to contribute and share your insights Your ideas and collaboration are highly valued Support it with your valuable Star ConclusionIn the ever evolving landscape of conversational AI developers are presented with a plethora of alternatives to ChatGPT each catering to specific needs and preferences Whether you re seeking advanced emotional engagement customization options data privacy or voice driven experiences the alternatives discussed in this blog offer viable options to consider Remember the world of conversational AI is vast and it s the synergy between cutting edge tools and creative developer minds that drives innovation and shapes the future of AI driven interactions So whether you opt for Replika s empathy Rasa s customizability Dialogflow s Google integration or any other alternative you re contributing to the evolution of conversational AI in your unique way 2023-08-22 17:43:33
海外TECH DEV Community Containerizing Next.js App with Docker: Quick Guide https://dev.to/pulkit30/containerizing-nextjs-app-with-docker-quick-guide-51ml Containerizing Next js App with Docker Quick GuideNext js is a powerful React framework that makes it easy to create server rendered React applications with exceptional performance and user experience However deploying Next js applications can be a bit challenging especially when it comes to managing dependencies configuring the environment and ensuring consistent behavior across different platforms This is where Docker comes in Docker is an open source platform that simplifies the process of building deploying and running applications in containers By containerizing your Next js app you can streamline your deployment process improve portability and ensure that your app runs consistently across different environments ‣To learn more about docker read Getting Started With DockerIn this blog post we ll walk you through the process of containerizing your Next js app using Docker We ll start by discussing the benefits of using Docker with Next js and then dive into the steps you need to take to get your app up and running in a Docker container Why Use Docker with Next js There are several reasons why you might want to consider containerizing your Next js application with Docker Consistent behavior across environments Docker containers provide an isolated environment where your app runs ensuring that it behaves consistently across different platforms and environments Simplified dependency management By bundling all the dependencies your app needs within a Docker container you eliminate the need to install and manage them manually on the host machine Easy deployment and scaling With Docker you can easily deploy and scale your Next js app to multiple instances making it easier to handle traffic spikes and high availability requirements Portable and shareable Docker containers can be easily shared with others making it easy for team members to collaborate on a project or deploy your app to different environments without the need for manual configuration Containerizing Your Next js App A Step by Step GuideTo get started with containerizing your Next js app follow these steps Step Install DockerBefore you can containerize your Next js app you need to have Docker installed on your machine You can download the appropriate version of Docker for your operating system from the Docker website Step Create a DockerfileA Dockerfile is a script that contains instructions for building a Docker image It specifies the base image dependencies and configuration needed to run your Next js app in a container In your Next js project s root folder create a new file named Dockerfile with the following content Use the official Node js image as the base FROM node Set the working directory inside the container WORKDIR app Copy package json and package lock json to the container COPY package json Install dependencies RUN npm ci Copy the app source code to the container COPY Build the Next js app RUN npm run build Expose the port the app will run on EXPOSE Start the app CMD npm start This Dockerfile specifies that we ll be using the official Node js image as our base and sets up a working directory inside the container We then copy our package json and package lock json files to the container and install the dependencies Next we copy the source code to the container and build the Next js app Finally we expose port and start the app using npm start Step Build the Docker ImageWith the Dockerfile in place you can now build the Docker image for your Next js app Run the following command in your project s root folder docker build t your image name Replace your image name with a name of your choice for the Docker image This command will create a Docker image with your Next js app and its dependencies ‣To learn more about docker images read Docker Image A Quick GuideStep Run the DockerRun Docker Image using the command given below docker run rm p name lt container name gt lt image name gt We have containerize out Next js application Step Stop Docker ContainerTo Stop running docker conatiner run the command below docker stop lt container name gt By this we have successfully containerize our Next js project using Docker Follow for more 2023-08-22 17:34:09
海外TECH DEV Community 12 Ruby Gems to make your Ruby coding smoother https://dev.to/beacampos/12-ruby-gems-to-make-your-ruby-coding-smoother-1619 Ruby Gems to make your Ruby coding smootherHow many Ruby gems do you have currently installed With around new gems released daily it is common to use trending libraries for managing everyday tasks You probably use Devise for authentication Cancan for authorization Kaminari for pagination or run tests with Rspec From time to time it is efficient to research new solutions For this purpose we have selected gems in several important categories that you should try All of them have been released within the last two years or three are regularly updated and have already gained the trust of Ruby on Rails developers We ve specified the release date and a number of downloads within a given period of time according to the Ruby Toolbox Active Record plugins PagyPagy is an agnostic library for pagination It is written in plain Ruby and is compatible with any framework and collection type It is a modern solution that significantly outperforms popular packages It is times faster and times lighter than Kaminari In addition Pagy is well explained with plenty of guides Date of first release February It has gained million downloads within two years Code quality UndercoverIts creators state that Undercover is “Like RuboCop but for code coverage It detects recently changed code blocks that have to be covered with tests Undercover can be used both locally and in an automated build Undercover is not super popular though it is quite a helpful library especially for big projects with legacy code Date of first release May For the first two years it had just k downloads Developer tools RexeThe command line executor is designed to simplify your Ruby command line by removing low level configuration parsing and formatting Rexe helps efficiently merge shell scripting and Ruby on the same command line It is a small script with a number of applications some of which are pretty funny For example you can use it as a simple calculator or a currency converter Date of first release February For the first years Rexe was downloaded k times OptimistOptimist is a command line option parser that does the parsing and then provides you with a hash table of options It helps you to save time and write less code It also automatically generates help pages On their wiki you will find a few examples of the commands use and short options generation In the end we like the name And we are not alone here the gem is very popular Date of first release August For the first years Optimist gained million downloads QuarantineQuarantine manages flaky tests by detecting and disabling them It also helps automate testing workflows Quarantine is compatible with the Rspec framework and Buildkite CI pipeline You can also set up a Jira workflow to get automatically created tickets in Jira for flaky tests Once the ticket is closed the test is removed from quarantine Date of first release April Within a year Quarantine was downloaded k times Graphics ApexchartsApexcharts is a library for creating amazing web charts in your Ruby app It s just beautiful you will find numerous examples of completely different types of charts To build the data for a chart it is recommended to use groupdate gem Date of first release June In a year this gem got k downloads Encryption LockboxThe Lockbox gem is a modern and user friendly way to encrypt your data It is secure simple and compatible with other libraries Another argument for trying it is that it is easy to migrate to Lockbox from another library Lockbox works perfectly with Devise which is the most popular authentication framework for Rails We have recently posted the experience of our friends from Planet Argon with setting up emails to reset a password with Devise and Mailtrap of course check this blog post for more info Date of first release January Within years Lockbox was downloaded k times Machine learning TensorStreamDo you use machine learning algorithms Then consider the TensorFlow implementation for Ruby It is not new but we found it worth sharing here TensorStream is an open source framework with no TensorFlow dependencies With its programming style close to TensorFlow and Ruby syntax you can build and run machine learning models in GPUs and CPUs It comes with a pure Ruby and OpenCL opcode evaluator An OpenCL backend is provided in a separate gem Date of first release May and k downloads over years Monitoring YabedaThis Ruby gem is a framework for setting up monitoring in your Ruby app Yabeda collects statistics on your app performance and allows you to export metrics to several monitoring systems In addition there are many plugins for Yabeda to configure monitoring with ease Date of first release October Over roughly years it was downloaded k times Deployment TomoTomo is an SSH based CLI tool for deploying Ruby apps Its distinguishing feature is its independence from Rake unlike the majority of Ruby based deployment tools Tomo is presented as an alternative to Capistrano Shipit and Mina It has no required gems dependencies but batteries are included as well as opinionated defaults and simple DSL Date of first release June For less than a year Tomo was downloaded k times Testing FakerMakerFakerMaker is a simple factory builder that creates disposable objects for testing It is created to supplement the Thoughtbot library for cases when you test an API don t use Rails or don t have model classes It is recommended to use FakerMaker with a Faker gem no dependency though Date of first release March In slightly more than a year this gem got k downloads Web apps services and interaction Cache CrispiesCache Crispies is a gem for JSON serialization that has a built in caching It doesn t limit you with the format of JSON responses It s fast and flexible and has a simple DSL Date of first release July k downloads were reached in less than a year Wrapping upLet me know what you think about this list by sharing it and your experience And Mailtrap is always here for safe and efficient testing of any kind of email you need to send from your Ruby app In fact Mailtrap is technology agnostic that s why there is no Ruby gem for it You can easily configure Mailtrap as a regular SMTP server or integrate it with your app via API and enjoy email testing previewing and debugging in a development or staging environment As always thanks for reading Visit the original article and much more helpful guides and blogs on mailtrap io 2023-08-22 17:25:29
海外TECH DEV Community JavaScript: Your guide to understanding functions. https://dev.to/fullstackjo/javascript-your-guide-to-understanding-functions-4c5l JavaScript Your guide to understanding functions Functions are reusable blocks of code that perform specific tasks They allow programmers to lessen code repetition and keep their code organized Think of Functions as Machines used in a factory where each machine performs a specific task and together they create a product In this article we re going to cover Function DeclarationParameters and ArgumentsDefault parameterRest Parameter and Spread OperatorReturn statementFunction expressionScope and ClosureArrow FunctionsHoistingImmediately Invoked function expression or IIFE Function DeclarationWe declare a function by using the reserved keyword function along with a name of your choice and parentheses function sayHello Consider this syntax the blueprint for functions Inside the function we write a code that will perform a task function sayHello console log Hello I am a Function In this example we created a function named sayHello that prints out Hello I am a Function to the console after invoking it The function above will not output anything to the console at the moment because it has not been invoked How do we invoke a function We simply call the function by its name followed by parentheses function sayHello console log Hello I am a Function sayHello Hello I am a Function Parameters and ArgumentsParameters are placeholders for values that a function can accept when creating it Arguments are the values passed to the function when invoking it function sayHello name console log Hello I am name sayHello John Hello I am JohnIn the example above the parameter name is a placeholder for the value passed as an argument You can pass your name for example as an argument to the function and it will print out your name instead of John In Other words parameters are like blank spaces that expect to be filled with values when you re about to use the function Arguments are the actual values you want to pass that will replace these blank spaces Default parameterA default parameter is a parameter that was assigned a value when declaring a function This is useful when a user does not pass an argument to the function The assigned value of the parameter will act as an argument Think of it as a backup argument function sayHello name User console log Hello name sayHello John Hello JohnsayHello Hello User Rest Parameter and Spread OperatorThe rest parameter is important it helps you pass an unlimited number of parameters to a function instead of using multiple parameters Here s an example of a function with multiple parameters function names a b c d e console log My students names a b c d e names John Jane Todd Michael Lenny My students names John Jane Todd Michael LennyThis function takes arguments that are the names of students and displays them But what if we have more than students What if we have or students We could give our function or parameters but there s a better way to do it and that is by using the rest operator function names name console log My students names name names John Jane Todd Michael Lenny Draco Harry Ginny My students names John Jane Todd Michael Lenny Draco Harry Ginny Return Statementreturn is a reserved keyword that will tell the function to stop executing When return is used inside a function the function will have a value otherwise its value will be undefined function names a b c d e console log My students names a b c d e names John Jane Todd Michael Lenny console log names John Jane Todd Michael Lenny undefined In this example we did not use the return keyword meaning this function returns a value of undefined Note that if you want your function to give back a meaningful result please specify a return statementfunction sayHello return Hello I am a function console log sayHello Hello I am a functionKeep in mind the return statement will not print out anything to the console unless console log is used The return statement can be assigned to variable and used in another part of your code to complete a task Remember the machine example Function expressionA function expression is when you define a function by assigning it to a variable which allow us to use the returned value in other parts of our code const calculateRectangleArea function width height return width height const width const height const area calculateRectangleArea width height console log The area of the rectangle is area The area of the rectangle is Scope and ClosureWhen a variable is declared or accessed the term scope is used It specifies how variables are visible and usable throughout your code JavaScript has two scope types Global Scope global scope variables are declared outside of any function they are also accessible anywhere inside the code including functions const globalVar I m in the global scope function printGlobalVar console log globalVar printGlobalVar I m in the global scopeLocal Scope local scope variables are variables declared inside a block of code such as inside a function or loops which we ll be seeing later in this series function greeting const message Hello from the local scope console log message greeting Hello from the local scope Closures involve a combination of functions that work together Imagine it as a tiny bubble that wraps around other functions inside this bubble All of the bubble s variables and parameters are stored inside of it and can still be used after the outer functions the bubble have finished function outer const outerVar I m from the outer function function inner console log outerVar inner function has access to outerVar return inner const closureFunction outer outer function has finished executing but inner still remembers outerVarclosureFunction Output I m from the outer function Arrow functionsArrow functions make it easy and efficient to define functions They were first introduced in ES and provide a more concise syntax for creating functions than traditional function expressions In other words it s a shorthand to define a function Just like a regular function it can also receive parameters In the body of the arrow function you can omit the curly braces and the return statement const sum a b gt a bconsole log sum thisif the function has one parameter the parentheses can be omitted const printName name gt console log My name is name printName John My name is John HoistingThe concept of hoisting is when function invocations are moved to the top of the source code This means you can use functions before they are declared in your code sayHello Output Hello function sayHello console log Hello This concept is also applies to variables console log name undefinedlet name john console log name johnthe first console log statement will print undefined and then the variable is assigned the value of john Immediately invoked function expressionImmediately invoked function expression or iife for short is a function that is defined in parentheses that wrap around it and followed by another pair of parentheses that immediately invoke it function const secretMessage This is an iife console log secretMessage This is an iife This type of function is used when you want to isolate variables from the outer scope or write modular code without affecting the global scope 2023-08-22 17:17:37
海外TECH DEV Community DotVVM Web Camera with JS Directive https://dev.to/esdanielgomez/dotvvm-web-camera-with-js-directive-473h DotVVM Web Camera with JS DirectiveIn this tutorial article we can see the process to integrate an image capture of a webcam from an application with DotVVM on ASP NET To meet this goal we will use the JavaScript library WebcamJS from our application through the JS Directive functionality of DotVVM If you need to know more about JS Directive in DotVVM here you can learn more URLSource code DotVVM Web Camera with JS Directive General ideaIn general this will be the flow or actions to be carried out in the solution From the DotVVM application call the camera viewer in JavaScript When taking the photo from JavaScript display the captured image and send the file name to DotVVM Call a NET side API to save the image file locally for future use for example analyze the image with Azure AI Services or save it to Azure Blob storage The solution will be as follows Agenda Steps to followIn order to take the photo save the file and display it in the application these will be the steps to follow WebcamJS library in the solution Define an API to save the result file JS Directive Configurations ViewModel Set the application logic View Webpage Results WebcamJS library in the solution In our solution we must consider the JavaScript file that we will need to use In this case a JS class has been defined with the aim of locating the webcamera on the web page my camera displaying the results in the results area sending the name of the new image file to DotVVM and calling an API to save the captured image file Define an API to save the result file To save the file in the local solution for example in wwwroot CameraPhotos we can establish an API which has a function that receives as a parameter a FormFile called from the JavaScript file This file could then be used to send it to an Azure Blob storage container or to an external service Note It is important to enable the use of drivers on the Starup cs or Program cs JS Directive Configurations In order to make JavaScript function calls and or receive data it is important to register this reference using the JS Directive For this purpose we will go to the class DotvvmStartup cs and in the ConfigureResources method we will register our module and its dependencies In this case our module will be camera module which contains a dependency called webcamjs que contains all the functionalities for the viewer and photo capture In both cases you need to specify the path and name of the JS files in the wwwroot space ViewModel Set the application logic For this case our only logic will be to define an attribute to store the name of the image file In the ViewModel you could define some other logic in case you need to do something else with the file in question View Webpage And here is the most important part from here we ll call JavaScript functionalities As a first point we must refer to the JS module that we established in the configuration within the DotvvmStartup cs class in this case with js camera module Likewise we can establish a static command to specify that from the JS file the data of the name of the image file can be sent and store it in the variable defined in the ViewModel Next we find the section where the webcam area will be located For this we have a div with a id my camera according to what is established in the JS file as well and then a button to call the action Take Photo or in other words the take snapshot function in JavaScript Finally here we can show the results under the same logic in this case with a div whose ID is results and additionally we can show the value of the variable that contains the name of the file of the generated image Results Considering the process analyzed up to this point we can now run the application take a picture and visualize the results Thanks for reading I hope you liked the article If you have any questions or ideas in mind it will be a pleasure to be able to be in communication and exchange knowledge with each other Source code DotVVM Web Camera with JS Directive See you in Twitter LinkedIn 2023-08-22 17:16:15
海外TECH DEV Community A Simple CRUD API in Rust with Cloudflare Workers, Cloudflare KV, and the Rust Router https://dev.to/damianesteban/a-simple-crud-api-in-rust-with-cloudflare-workers-cloudflare-kv-and-the-rust-router-3c9i A Simple CRUD API in Rust with Cloudflare Workers Cloudflare KV and the Rust Router IntroductionGreetings readers I had originally planned to cover Cloudflare Durable Objects in this post However I ve decided to hold off on that topic until we dig into some more Rust basics for Cloudflare Workers I m really enjoying my journey with Rust so far My Swift experience makes picking up Rust fairly intuitive though naturally there are differences like Rust s unique memory management model We may do a Swift vs Rust comparison another time that would be cool For now I want to focus on building simple CRUD APIs with Rust and Workers We will use the Cloudflare worker crate to build our API The worker crate is a framework for building Cloudflare Workers in Rust It provides a high level API for interacting with the Cloudflare Workers API Please note that this library is still in development so some things may change in the future See the GitHub repo for more information For routing and request handling we ll utilize the handy Router from the worker crate It provides a flexible API for defining routes and handlers to get up and running quickly To serialize and deserialize data we ll employ the popular serde crate along with serde json This will allow us to easily convert between Rust types and JSON when working with API requests and responses For async operations we ll use the Rust futures crate Finally for peristence we ll use Cloudflare KV By leveraging the Router for concise routing and serde for data serialization we get powerful libraries purpose built for API development in Workers This combination sets us up for productive and idiomatic API development in Rust By the end you ll see how straightforward it is to create fast resilient APIs in Rust on the Workers platform Let s get started Why Rust Rust is a modern systems programming language that emphasizes safety speed and concurrency With its excellent performance and low resource usage Rust is a great fit for building highly scalable serverless functions on platforms like Cloudflare Workers One key advantage of using Rust for Cloudflare Workers is its excellent WebAssembly WASM support Rust code can be efficiently compiled to WASM bytecode and executed with near native performance in the browser This makes it a fantastic fit for the serverless computing model of Cloudflare Workers The generated WASM module is uploaded to Cloudflare s edge network during deployment where it can quickly scale to handle requests across global data centers By leveraging Rust and WASM we get safe fast code with tiny bundles that load quickly For our API this means low latency and resilient performance for end users while keeping costs low on the serverless backend Rust s lightweight threading model also shines in the concurrent environment of Workers In this tutorial we ll use Rust and Workers to build a simple CRUD Create Read Update Delete API that allows us to manage data for an animal rescue organization OverviewOur API will support the following endpoints POST rescues Create a new animal rescue recordPUT rescues id Update an existing rescue recordDELETE rescues id Delete a rescue recordGET rescues Get all rescue recordsGET rescue id Get a rescue record by IDGET shared data Get some shared data accessible across requests Get StartedTo get started create a new Cloudflare Workers project with Rust support npm init cloudflare project name worker rustcd project nameTake a look in src lib rs You ll see a simple Hello World example This is the entry point for our Worker We ll replace this with our API code Be sure to add serde and serde json to your project cargo add serdecargo add serde jsoncargo add futures Implementing the APINOTE Please see this article if you need help setting up Workers KV for your project The final code at the end of the article contains comments explaining each section You can find the full code here Let s walk through the code step by step First we import the required crates use worker use serde Deserialize Serialize use serde json to string use futures future join all For async iterationNext we define a few structs to represent the data This is a shared data struct that we will pass to the routerstruct SharedData name String This is the struct that we will use to store and retrieve data from KV It implements Serialize and Deserialize derive Clone Debug Deserialize Serialize struct AnimalRescue id u name String age u species String This is the struct that we will use to update data in KV It implements Serialize and Deserialize derive Clone Debug Deserialize Serialize struct AnimalRescueUpdate name String age u species String SharedData holds some data we want to share across requests I ve added this here as an example of the Rust Router s support for storing state We ll use this later to demonstrate how to access shared data from a request handler AnimalRescue will be used to represent individual rescue records andAnimalRescueUpdate will be used to upload a record We derive Serialize and Deserialize so it can easily be converted to from JSON In the main worker module we first grab the shared data and create a router event fetch pub async fn main req Request env Env ctx Context gt Result lt Response gt let shared data SharedData name Rusty to string let router Router with data shared data router run req env await Then we configure the CRUD routes on the router router get shared data ctx let shared data ctx data name Response ok shared data post async rescues mut req ctx async move Create rescue logic get async rescues id req ctx async move Read rescue logic get async rescues req ctx async move Read all rescues logic delete async rescues id req ctx async move Delete rescue logic put async rescues id mut req ctx async move Update rescue logic To handle POST requests we deserialize the JSON body write to KV and return the created record post async rescues mut req ctx async move let kv ctx kv Animal Rescues Rusty KV let body req json lt AnimalRescue gt await let value to string amp body kv put amp body id to string value execute await Response from json amp body For GET we fetch the record or records from KV and handle if missing get async rescues id req ctx async move if let Some id ctx param id let kv ctx kv Animal Rescues Rusty KV return match kv get id json lt AnimalRescue gt await Some animal gt Response from json amp animal None gt Response error Animal not found Response error Animal not found get async rescues req ctx async move let kv ctx kv Animal Rescues Rusty KV let keys kv list execute await keys console debug keys let key names keys into iter map key key name collect lt Vec lt String gt gt console debug key names let futures key names iter map key kv get key json lt AnimalRescue gt let animals join all futures await into iter filter map animal animal ok collect lt Vec lt gt gt into iter map animal animal collect lt Vec lt gt gt let final result Response from json amp animals console debug Final Result n amp final result final result For PUT we fetch and update the record put async rescues id mut req ctx async move if let Some id ctx param id let kv ctx kv Animal Rescues Rusty KV let body req json lt AnimalRescueUpdate gt await if kv get id json lt AnimalRescue gt await is none return Response error Animal not found let new animal AnimalRescue id id parse lt u gt unwrap name body name age body age species body species let value to string amp new animal kv put amp id value execute await return Response from json amp new animal Response error Animal not found Finally for DELETE we fetch and delete the record delete async rescues id req ctx async move if let Some id ctx param id let kv ctx kv Animal Rescues Rusty KV return match kv delete id await Ok gt Response ok map resp resp with status Err e gt Response error e to string Response error Animal not found Here it is all together with comments explaining each section use worker use serde Deserialize Serialize use serde json to string use futures future join all This is a shared data struct that we will pass to the routerstruct SharedData name String This is the struct that we will use to store and retrieve data from KV It implements Serialize and Deserialize derive Clone Debug Deserialize Serialize struct AnimalRescue id u name String age u species String This is the struct that we will use to update data in KV It implements Serialize and Deserialize derive Clone Debug Deserialize Serialize struct AnimalRescueUpdate name String age u species String event fetch async fn main req Request env Env ctx Context gt Result lt Response gt Shared data is accessible across requests let shared data SharedData name Rustacean to string Create a new router with the shared data let router Router with data shared data Router definition router get shared data ctx Get the shared data from the context This is available because we used with data above let shared data ctx data name Return the response Response ok shared data post async rescues mut req ctx async move Get the KV namespace let kv ctx kv Animal Rescues Rusty KV Get the body of the request Note that AnimalRescue implements Deserialize let body req json lt AnimalRescue gt await Serialize the body to a string let value to string amp body Store the value in KV kv put amp body id to string value execute await Return the response Response from json amp body delete async rescues id req ctx async move Get the id from the request we use if let to check if the id exists if let Some id ctx param id Get the KV namespace let kv ctx kv Animal Rescues Rusty KV Delete the value from KV In this case we use the id as the key and return a match statement in case of an error return match kv delete id await NOTE I could not find a way to return a No Content response so this has an empty body Ok gt Response ok map resp resp with status Err e gt Response error e to string Response error Animal not found put async rescues id mut req ctx async move Get the id from the request we use if let to check if the id exists if let Some id ctx param id Get the KV namespace let kv ctx kv Animal Rescues Rusty KV Get the body of the request Note that AnimalRescueUpdate implements Deserialize let body req json lt AnimalRescueUpdate gt await Check to see if the id exists in KV if kv get id json lt AnimalRescue gt await is none If the id does not exist return an error return Response error Animal not found Create a new AnimalRescue struct from the body and id let new animal AnimalRescue id id parse lt u gt unwrap name body name age body age species body species Serialize new animal to a string let value to string amp new animal Store the value in KV kv put amp id value execute await Return the response return Response from json amp new animal Response error Animal not found get async rescues id req ctx async move Get the id from the request we use if let to check if the id exists if let Some id ctx param id Get the KV namespace let kv ctx kv Animal Rescues Rusty KV Get the value from KV In this case we use the id as the key and return a match statement because the value may not exist return match kv get id json lt AnimalRescue gt await Some animal gt Response from json amp animal None gt Response error Animal not found Response error Animal not found get async rescues req ctx async move Get the KV namespace let kv ctx kv Animal Rescues Rusty KV Get all the keys from KV let keys kv list execute await keys console debug keys Create a Vec of only the key names let key names keys into iter map key key name collect lt Vec lt String gt gt console debug key names Create a Vec of the futures each future will return an AnimalRescue from KV The JavaScript code most comprarable to this is const values keys map key gt key name const futures values map key gt kv get key json const animals await Promise all futures const final result new Response JSON stringify animals return final result let futures key names iter map key kv get key json lt AnimalRescue gt Wait for all the futures to complete This is similar to Promise all in JavaScript let animals join all futures await into iter filter map animal animal ok collect lt Vec lt gt gt into iter map animal animal collect lt Vec lt gt gt Create a response from the animals Vec wrapped in a Result type let final result Response from json amp animals console debug Final Result n amp final result final result run req env await ConclusionIn this post we saw how Rust and Cloudflare Workers enable you to build fast resilient APIs with minimal effort By leveraging Rust s performance and safety guarantees combined with Workers serverless architecture you can create APIs that scale automatically while keeping costs low The worker framework and crate allow rapid API development in idiomatic Rust style Serde provides ergonomic serialization to convert between Rust types and JSON for API requests responses And Workers KV offers a fast low latency database for the edge I hope you enjoyed this post If you have any questions or comments please reach out on Twitter estebanrules Next up is Cloudflare D I can t wait Originally published here 2023-08-22 17:13:00
Apple AppleInsider - Frontpage News Apple distributes seventh watchOS 10 developer beta https://appleinsider.com/articles/23/08/22/apple-distributes-seventh-watchos-10-developer-beta?utm_medium=rss Apple distributes seventh watchOS developer betaApple has seeded the seventh developer build of watchOS for testing with the fall launches getting ever nearer Developers can download the new watchOS betaDevelopers participating in the beta program can acquire the newest versions via the Apple Developer Center or by updating their devices with the beta software Public beta versions are usually available a short time after the developer releases through the Apple Beta Software Program Read more 2023-08-22 17:32:09
Apple AppleInsider - Frontpage News Apple issues first beta for macOS 13.6 Ventura https://appleinsider.com/articles/23/08/22/apple-issues-first-beta-for-macos-136-ventura?utm_medium=rss Apple issues first beta for macOS VenturaApple is back at the start of the beta testing process once more and has provided developer testers with a build of macOS Ventura to try out in what could be the last for Ventura The newest macOS Ventura beta is now availableDevelopers in the program can get the latest build by using the Apple Developer Center or by updating their Mac s installed beta through the Settings app Public beta versions are typically released shortly after the developer versions providing users the opportunity to participate via the Apple Beta Software Program Read more 2023-08-22 17:39:31
Apple AppleInsider - Frontpage News Apple seeds sixth macOS Sonoma developer beta https://appleinsider.com/articles/23/08/22/apple-seeds-sixth-macos-sonoma-developer-beta?utm_medium=rss Apple seeds sixth macOS Sonoma developer betaTesters in Apple s developer beta program can now try out the sixth beta build of macOS Sonoma on their Macs and MacBooks Apple releases new betasDevelopers enrolled in the program can access the latest builds by either visiting the Apple Developer Center or updating their Macs to the newest beta software For public users beta versions are normally made available through the Apple Beta Software Program after the developer versions are released Read more 2023-08-22 17:29:54
Apple AppleInsider - Frontpage News Apple seeds seventh tvOS 17 developer beta https://appleinsider.com/articles/23/08/22/apple-seeds-seventh-tvos-17-developer-beta?utm_medium=rss Apple seeds seventh tvOS developer betaApple has released its seventh developer beta of tvOS for testing by beta participants Developers enrolled in the beta can acquire the latest builds via the Apple Developer Center and by updating any Apple TV boxes already running the beta Public beta versions of milestone releases usually arrive shortly after the developer counterparts and the public can try them out via the Apple Beta Software Program when they become available The seventh beta replaces the sixth from August which in turn took over from the fifth released on August Read more 2023-08-22 17:26:32
Apple AppleInsider - Frontpage News Apple seeds seventh iOS 17, iPadOS 17 developer betas https://appleinsider.com/articles/23/08/22/apple-seeds-seventh-ios-17-ipados-17-developer-betas?utm_medium=rss Apple seeds seventh iOS iPadOS developer betasApple has rolled out its seventh developer betas for iOS and iPadOS for testing by beta participants New betas for iOS and iPadOSDevelopers taking part in the beta program can acquire the latest versions via the Apple Developer Center or by updating their devices with the beta software Public beta versions are generally available shortly after the developer releases through the Apple Beta Software Program Read more 2023-08-22 17:25:28
海外TECH Engadget The best mobile gaming controllers for 2023 https://www.engadget.com/best-mobile-game-controllers-140023505.html?src=rss The best mobile gaming controllers for Mobile gaming is serious business now The biggest titles out there are games like Fortnite and Genshin Impact helped along by legions of kids getting their first smartphone Lots of game publishers are putting out console quality experiences on mobile and it s taken time for gaming accessories to catch up But they have and now mobile gamers have a number of controller options to suit their play style We ve sorted through the leading options to highlight the pros and cons of each controller so you can decide which one is the best one for your desired gaming experience For players who prefer PlayStation style controllers BitDo Pro BitDo has built itself a reputation for versatile gamepads that can work with multiple systems from the Nintendo Switch to the Raspberry Pi And while the Pro is one of our top controllers for the Switch it s also a pretty great option for Android and iOS as well The advantage to using these with your phone is also the free BitDo software that gives you extensive customization options for the buttons it even has more options than you ll find on Nintendo s system Of course being a Bluetooth gamepad means it s easy enough to jump back and forth making this a good investment for people who own multiple portable devices like a Switch Pros PlayStation like design is comfortable configuration software is robust controller is available in multiple colorsCons Not small and would be best carried around in a caseFor players who like Xbox style controllers SteelSeries Nimbus and Stratus While the PlayStation s DualShock design has gained its share of devotees over the years the Xbox gamepad is the stereotypical image of the gamepad in many people s minds as well as the Discord logo So it makes sense that there are a lot more mobile gaming options with that shape and the best ones come from SteelSeries the Nimbus for Apple made devices and the Stratus for Google based devices Android and Chromebook The two controllers are for the most part identical They have shoulder buttons and triggers the d pad is the same and they both include sturdy phone mounts for attaching your device at the top ーthe type that clamps in place automatically Unlike a clamp from a more generic company the one SteelSeries provides with both controllers won t fight you during the process of mounting your phone Pros More players are likely to be familiar with Xbox style controllers both models include sturdy clamps for clipping your phone to the controller Cons You have to buy a different controller based on what OS you re using the controller with the clamp attached is unwieldyFor players who want to turn their Android phone into a Switch or Steam Deck like device Razer KishiLet s be honest the form factor is a big reason that devices like the Switch are so popular They re comfortable to hold well balanced and really put the screen front and center You don t really get that with a phone clamp or table stand Luckily Razer s Kishi is a super affordable option that s easy to slide your phone into ーthough the setup admittedly wasn t as quick for me as the SteelSeries options But at least the direct connection it forms with the phone using USB C or Lightning if you re on an iPhone is faster than Bluetooth The Kishi s biggest advantages ーbesides Razer s high end build quality ーare its passthrough charging so you never need to detach it to charge your phone and the size it folds down to when you do take it off your device It s smaller than the SteelSeries controllers making it ideal for throwing into a small bag Pros Provides a direct connection to a phone instead of relying on Bluetooth folds up compactly when not in useCons Phone with Kishi attached may feel bulkyFor players who want to turn their iPhone into a handheld console Backbone OneThe new Backbone One is similar to Razer s Kishi and made specifically for Apple devices though at a higher cost due to being newer and from a smaller company My colleague Mat Smith was a big fan of the One when he tried it and in my own use it has a few advantages over the Razer device namely a cleaner design and a more sweat friendly matte texture It also features Apple specific buttons ones that are much bigger and thus easier to hit than the ones on the Kishi Pros Nice matte finish specifically made for iPhone usersCons Expensive only works with iPhonesFor players who want the most portable controller possible or the cutest BitDo Zero If you have big hands the BitDo Zero is definitely not for you and your hands will likely cramp if you spend too long playing with this diminutive Bluetooth controller But for everyone else it s definitely worth a look if only because it s so small there s no reason to keep it on you at all times in case of an emergency Not that we could tell you what constitutes a gaming emergency but if one does come up you ll be glad to have this on hand It truly is keychain sized so you can clip it on your backpack or slide it into a Switch carrying case with ease And we love the bright colors which are based on the Switch Lite design and should blend in with your spring and summertime apparel Pros Cute and tiny comes with a strap for attaching to a bagCons Too small for gamers with big handsThis article originally appeared on Engadget at 2023-08-22 17:30:07
海外TECH Engadget Atari’s 2600+ is a miniature console that plays 2600 and 7800 game carts https://www.engadget.com/ataris-2600-is-a-miniature-console-that-plays-2600-and-7800-game-carts-171014464.html?src=rss Atari s is a miniature console that plays and game cartsAtari is teaming up with Plaion on a new retro home console after finally taking a mulligan on its last one The Atari pays homage to the original Atari which delighted children of the disco era starting in although this remake is based on the four switch model from It plays both Atari and games However most buyers will want to track down physical cartridges as the retro system which requires them to play is only bundled with a collection of titles that lacks system standouts like Pac Man Frogger Space Invaders and Pitfall The throwback console has been “lovingly recreated to the same specifications as the original although it s only percent of the size The console s “plus features come in the form of an HDMI output and widescreen support The company says the system has an enlarged cartridge socket to reduce cartridge sticking The Atari logo also lights up when powered on Atari PlaionThe system includes a modern remake of the classic Atari CX joystick the CX Although it supports two players only one stick is bundled You can order an extra for The company says a CX Paddle Controller remake is on its way as well The system s free games are bundled on a “ Games in cartridge including Adventure Combat Dodge Em Haunted House Maze Craze Missile Command RealSports Volleyball Surround Video Pinball and Yars Revenge Atari posted a complete list of compatible cartridges Prospective buyers may want to consider that hunting down physical games and potentially paying a premium for some will be part of the journey If the entire affair sounds familiar that s because the classic video game maker launched the long delayed Atari VCS just over two years ago But consumer interest in that model seemed to fall off a cliff after the initial excitement and the company discontinued the retro console in favor of reorganizing its hardware business while eyeing “a new commercial strategy We can only assume we re seeing the fruit of that today as it partners with Plaion The Atari launches “worldwide on November th for An optional second joystick adds another onto that Starting today the latest mini retro system is available for pre order on Atari s website This article originally appeared on Engadget at 2023-08-22 17:10:14
海外科学 NYT > Science Japan to Release Treated Water From Fukushima Nuclear Plant https://www.nytimes.com/2023/08/21/world/asia/japan-fukushima-water-release.html Japan to Release Treated Water From Fukushima Nuclear PlantIn the face of regional and domestic objections the country plans to proceed with a discharge at Fukushima that will eventually reach more than a million tons of water 2023-08-22 17:14:11
ニュース BBC News - Home British Museum bosses first alerted to thefts in 2021 https://www.bbc.co.uk/news/entertainment-arts-66582935?at_medium=RSS&at_campaign=KARANGA gradel 2023-08-22 17:16:49
ニュース BBC News - Home Sara Sharif: Surrey Police had contact with family of murdered girl https://www.bbc.co.uk/news/uk-england-surrey-66584753?at_medium=RSS&at_campaign=KARANGA family 2023-08-22 17:38:46
ニュース BBC News - Home Lucy Letby: What happens next with inquiry, prison and police review https://www.bbc.co.uk/news/explainers-66573845?at_medium=RSS&at_campaign=KARANGA child 2023-08-22 17:17:01
ニュース BBC News - Home Alexis Mac Allister: Liverpool midfielder's red card against Bournemouth is overturned https://www.bbc.co.uk/sport/football/66588200?at_medium=RSS&at_campaign=KARANGA Alexis Mac Allister Liverpool midfielder x s red card against Bournemouth is overturnedLiverpool midfielder Alexis Mac Allister s red card in Saturday s Premier League win over Bournemouth has been overturned following a successful appeal 2023-08-22 17:35:20
ニュース BBC News - Home Mason Greenwood: Man Utd forward moving to Saudi Arabia would be 'very surprising' https://www.bbc.co.uk/sport/football/66574759?at_medium=RSS&at_campaign=KARANGA Mason Greenwood Man Utd forward moving to Saudi Arabia would be x very surprising x Mason Greenwood moving from Manchester United to a Saudi Arabian club would be very surprising a senior league source has told BBC Sport 2023-08-22 17:34:37

コメント

このブログの人気の投稿

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