IT |
気になる、記になる… |
Microsoft、ARMベースの「Surface Go 4」や11インチの新型「Surface Pro」を開発中か |
https://taisy0.com/2023/04/20/170922.html
|
surfa |
2023-04-19 15:26:45 |
IT |
気になる、記になる… |
Anker、使わなくなったUSB充電器やモバイルバッテリーを持ち込むと対象のUSB-C搭載製品が10%オフになるキャンペーンを開始 |
https://taisy0.com/2023/04/20/170919.html
|
anker |
2023-04-19 15:17:11 |
AWS |
AWS - Webinar Channel |
Database performance monitoring and tuning with Amazon DevOps Guru for RDS |
https://www.youtube.com/watch?v=94OcuTpehm0
|
Database performance monitoring and tuning with Amazon DevOps Guru for RDSAmazon DevOps Guru for RDS is a machine learning ML powered capability that is designed to empower database administrators developers and DevOps engineers to quickly detect diagnose and remediate a wide variety of database related performance issues in Amazon Aurora PostgreSQL Amazon Aurora MySQL and Amazon RDS for PostgreSQL When DevOps Guru detects a database related performance issue such as resource over utilization or misbehavior of certain SQL queries the service immediately notifies you and provides diagnostic information and recommendations to help you resolve the issue quickly The service can also help you detect potential database issues with your databases early so that you can prevent them from impacting your users With DevOps Guru you can monitor your databases for performance bottlenecks and operational issuesーno manual setup ML expertise or deep database expertise required In this session you will learn the types of issues DevOps Guru for RDS can detect and how to get started today |
2023-04-19 15:12:14 |
AWS |
AWS - Webinar Channel |
AWS ML Heroes in 15: Building GenAI Experiences on AWS Ep 2 |
https://www.youtube.com/watch?v=1iKLk4t1oNY
|
AWS ML Heroes in Building GenAI Experiences on AWS Ep Tune in to learn how to build AI powered experiences leveraging the latest technology in Machine Learning and Generative AI with Hugging Face through AWS self managed ML infrastructure services and ML frameworks such as PyTorch Tensorflow Hugging Face AWS Deep learning AMIs DLAMIs AWS Deep learning containers DLCs and AWS Amazon Elastic Kubernetes Service EKS Join our AWS ML Hero for in depth presentation interactive demo followed by a short Q amp A session |
2023-04-19 15:09:00 |
AWS |
AWS - Webinar Channel |
Analytics in 15: Accelerated ETL for Amazon Redshift with AWS Glue |
https://www.youtube.com/watch?v=cdmo163Q5-M
|
Analytics in Accelerated ETL for Amazon Redshift with AWS GlueLearn how AWS Glue is accelerating and simplifying data integration with Amazon Redshift speeding time to value from minutes to seconds and delivering one click Redshift browsing from Glue Studio It s easier than ever to author and operationalize your ETL pipelines for transformation and data quality for Redshift using AWS Glue Tens of thousands of customers use Amazon Redshift and AWS Glue every day now see how these solutions are even better together |
2023-04-19 15:04:16 |
AWS |
AWS - Webinar Channel |
Analytics in 15: Opensource Table Formats with AWS Glue and Amazon EMR |
https://www.youtube.com/watch?v=QHNr4waoMoI
|
Analytics in Opensource Table Formats with AWS Glue and Amazon EMRCurious about Transactional Data Lakes Come join our AWS experts as we take you through the most popular open source table formats how these table formats can help you enable a modern data strategy and how to build on these formats with Amazon EMR and AWS Glue In this session we ll cover some of the key differences between these different table formats help you decide which table format may be the best fit for your workloads and show you how to start building today |
2023-04-19 15:01:07 |
AWS |
AWSタグが付けられた新着投稿 - Qiita |
AWSについて簡単に解説してみた②(学習まとめ) |
https://qiita.com/moriaki1983/items/9203c4af3a4c85488f37
|
amazonapigateway |
2023-04-20 00:24:36 |
技術ブログ |
Developers.IO |
[アップデート] AWS Lambda でPython3.10ランタイムがサポートされました |
https://dev.classmethod.jp/articles/aws_lambda_support_python310/
|
awslambda |
2023-04-19 15:53:55 |
海外TECH |
Ars Technica |
So long, red envelopes: DVDs-in-the-mail version of Netflix ends in September |
https://arstechnica.com/?p=1932979
|
envelopes |
2023-04-19 15:06:07 |
海外TECH |
MakeUseOf |
6 Features We Expect to See on the Pixel 7a |
https://www.makeuseof.com/pixel-7a-features-we-expect/
|
android |
2023-04-19 15:30:17 |
海外TECH |
MakeUseOf |
How to Fix the “A Device Which Does Not Exist Was Specified” Error in Windows 10 & 11 |
https://www.makeuseof.com/device-does-not-existspecified-error-windows/
|
How to Fix the “A Device Which Does Not Exist Was Specified Error in Windows amp Does Windows believe your external hard drive has phased out of existence Get things right again with our guide |
2023-04-19 15:15:19 |
海外TECH |
DEV Community |
🍂Simplify the back end with low code solutions: Amplication, Supabase, and Appwirte overview |
https://dev.to/hunghvu/simplify-the-back-end-with-low-code-solutions-amplication-supabase-and-appwirte-overview-4ia7
|
Simplify the back end with low code solutions Amplication Supabase and Appwirte overviewThe modern web space is built up on time and resources of uncountable numbers of contributors over decades There is a high chance that the tasks you are trying to achieve have been done by someone somewhere When talking about websites people think about the front end and the back end Each has its own ecosystem and associate frameworks to build up the product but you as a developer still need to tie everything together This leads to a question what if there is an existing product that helps you bind everything together out of the box In the case of the back end management systems such as headless content management systems and learning management systems come into play and back end as a service comes into play This article focuses on a comparison between back end as a service and headless content management systems It is a continuation of the previous two that dived into headless CMS so if you are not aware of them go ahead and check them out Headless content management introductionStrapi vs Directus vs Payload Headless content management comparison What is a headless content management system headless CMS Imagine you are a creator and you create content on a daily basis e g similar to the article you are reading at some points you are going to have dozens if not hundreds and more pieces in your pocket To centrally manage them you need a management system specifically designed for content in this case and it is a headless CMS In this case the front end team is responsible for the presentation layer and they can retrieve information from the headless CMS to display be it videos images text and more Unlike traditional CMS systems that combine content creation storage and delivery into a single software a headless CMS separates content management from content delivery In other words it provides an API for developers to access the content which can then be delivered through any platform or device such as websites mobile apps or IoT devices With a single source of truth developers have no need to manually modify content in their code and effectively create a separation of concerns This decoupling of the content management and delivery layers provides more flexibility and freedom to developers and content creators allowing them to create and manage content independently of any specific presentation layer It also enables developers to use their preferred front end technologies and frameworks giving them more control over the user interface and user experience What is Back end as a Service BaaS BaaS is a type of service that provides developers with a complete server side infrastructure for building and deploying applications across multiple platforms e g desktop apps websites and mobile apps It allows developers to focus on the client side development of their applications while the BaaS takes care of the back end infrastructure Usually BaaS is a cloud service but as time goes on more self hosted solutions have appeared on the market A BaaS typically offers a set of pre built services and features such as user authentication access control list workflow and most fundamentally database management and creation These services can be accessed through a web based dashboard or an API which developers can integrate into their applications If you are familiar with the object relational mapper then in a sense BaaS is a GUI version of that plus a lot more functionalities to build a full featured back end Using BaaS developers to accelerate the development process by reducing the amount of time and resources needed to build and maintain the back end infrastructure This can result in faster time to market for applications and lower development costs BaaS also handle the scalability and availability of the back end infrastructure ensuring that the applications can handle high traffic and maintain high uptime What are the differences between headless CMS and BaaS Both headless CMS and BaaS provide a battle tested and full featured back end out of the box In fact many of their functionalities overlap so what makes the difference here FocusHeadless CMS focuses on providing a flexible content management system that can be used to manage content for different channels and platforms This means their data usually are unstructured like articles images and videos Besides there is almost always a user friendly dashboard e g for creators so it greatly reduces the learning curve for non technical users BaaS meanwhile focuses on providing a GUI approach little to no code to build a back end The data can be unstructured but more than often BaaS is used to create a complex structured application data model for tasks such as transactions user profiles and so on These data may not even be used on the front end instead the other back end is its user BaaS targets developers so end users usually do not know about BaaS s existence CustomizationBoth headless CMS and BaaS are very customizable However headless CMS focuses more on content creation relation functionalities out of the box such as a WYSIWYG editor and content modeling so other functionalities such as payment processing might need to be manually integrated That said many headless CMS has an existing method to integrate via plugins for example In contrast BaaS as a full featured package usually includes everything out of the box CostBoth can provide cloud and self hosted solutions Usually a self hosted solution is only available when the product is open source When talking about cloud cost though CMS for the most part follows a subscription per person model e g user month Meanwhile the BaaS pricing model can vary a lot from subscription to pay per uptime per request and so on Essentially it is the same as traditional infrastructure as a service cloud provides What are some open source BaaS solutions There are various BaaS providers on the market but not many are open source so let s focus on them today AmplicationAmplication is a relatively new open source BaaS provider that aims to simplify the development process by providing a low code platform for building and deploying applications In fact it just reached version production ready in September Amplication supports PostgreSQL MySQL MongoDB and a variety of integrations but most notably it generates the whole back end with a human readable NestJS codebase for you You do not run Amplication as a service or use it as a dependency instead you use Amplication to generate codes for you You own the code and it can be hosted wherever you prefer This feature is the one and only in an open source market so not counting proprietary products like AWS Amplify Amplication provides both cloud and self hosted solutions There are a few points The price is fairly steep Aside from a customized enterprise plan only two plans Free and Pro exist Free is slightly feature limited and Pro costs month billed annually at the time of writing This indicates that small business may not be their targetted segment It is unclear whether the self hosted option is feature limited Also if you are a business customer in a regulated sector there is no public Compliance statement on their website so you may need to reach out to their customer support first to confirm the clearance However as a relatively new platform Amplication is still evolving and may not have all the features and integrations of more established BaaS providers Still it has the potential to be a leader in a low code solution segment AppwriteAppwrite is another open source BaaS provider that offers a range of back end services for building web and mobile applications Coincidentally its first production ready version v was also released back in September Appwrite provides features such as user authentication database storage file storage serverless functions and email sending Unlike Amplication you integrate Appwrite to your back end with SDK This may sound confusing because BaaS should be responsible for the whole back end in the first place isn t it Yes although it handles all business logic for your application Appwrite is a dependency of your application that you have to manually initialize and configure This is another form of BaaS When talking about Appwrite the product has three strengths They might not be unique but many other solutions do not have them all at the same time Support for multiple platforms and programming languages Serverless functions Real time data subscription That said Appwrite abstracts the database meaning it is handled internally and only the NoSQL like interface is exposed so you have less flexibility in this regard Appwrite also provides both cloud and on premise options However their cloud service is still in private beta and there is no official pricing at the moment The on premise or self hosted is free and full featured but certainly it costs in the overhead maintenance And the same Amplication Appwrite does not have any public statement about Compliance so you may have to reach out to their support for clarification on this matter SupabaseFounded in in roughly the same period as Amplication and Appwrite however Supabase is arguably the most established open source solution among the three In a sense Supabase is a direct equivalent and close to feature parity with Appwrite offering a self hosted option plus a mature cloud platform that offers enterprise support and an even greater amount of integrations However Supabase only supports PostgreSQL the opposite of the NoSQL approach in Appwrite Regarding the cloud platform price Supabase has a Free plan a Pro plan and a customized Enterprise plan There are a few points to mention Unlike Amplication which generates code and you are responsible for the hosting solution Supabase provides integration and hosting services for you The Pro plan costs per month per project That said this is a different pricing model compared to Amplication so they are not comparable They also have add ons for the subscription and the compute instance can be customized to your need These will change the subscription fee though Supabase does not seem to have usage caps on their Pro plan so if you accidentally exceed the limit prepare your pocket On the topic of Compliance Supabase has official support for SOC Type There is no mention of other compliances but they certainly do not support HIPAA and PCI learned from their ToS and confirmed by a support agent What are some open source headless CMS The articles below dived deep into different solutions on the market Do feel free to check them out if you are interested in this topic Headless content management introductionStrapi vs Directus vs Payload Headless content management comparison Wrap upThe article gives you an introduction to the concept of headless CMS BaaS the differences between them and some open source BaaS solutions on the market That said this article is just an introduction to the topic the tip of the iceberg you can say so there is a lot more to learn about If you notice the three mentioned BaaS all have their trade off so make sure to do deeper research before you decide to commit to one solution Hopefully this article was able to help you be aware of these fascinating products and successfully in improving your developer experience and productivity This article was originally published at Amplication vs Supabase vs Appwrite for an effortless back end If you find this article to be helpful I have some more for you ChromeOS Flex have I just opened a can of worms How to set up Bitwarden Enterprise SSO via OIDC with Google Cloudflare Turnstile and Wordfence FA break WordPress login flow how to fix it Is AMD GPU better than Nvidia on Linux It dependsAnd let s connect LinkedInGitHubTwitter |
2023-04-19 15:36:10 |
海外TECH |
DEV Community |
New way of passing data to dynamically created components (New Feature 🎉) |
https://dev.to/this-is-angular/new-way-of-passing-data-to-dynamically-created-components-new-feature--27kf
|
New way of passing data to dynamically created components New Feature Topics covered in this article How it works todayHow it can be done in Angular vHow to migrate to the new APIHow to test itCaveats How it works todayWhen working with Angular we often need to render dynamic components For example we might want to render a component based on the user s input In order to do that we can use NgComponentOutlet directive So we will take a look at how we can pass data to dynamically created components using NgComponentOutlet directive today Example Let s say we need to show a component based on the type we choose in a dropdown In order to pass data to dynamic components rendered by NgComponentOutlet directive we have to Create an injection tokenCreate a new injectorPass the data in the injector using the injection token Pass the injector to the NgComponentOutlet directive Use the injection token to get the data in the dynamic component So first we need to create an injection token export interface DynamicData url string updated changes any gt void callback to update the data export const DATA TOKEN new InjectionToken lt DynamicData gt data Now let s take a look at our dynamic components ImageComponent and VideoComponent and how we can use the injection token to get the data in the dynamic component Component template lt img src data url gt lt button click data updated url gt Update lt button gt export class ImageComponent data inject DATA TOKEN will be of type DynamicData Component template lt video src data url controls gt lt video gt lt button click data updated url gt Update lt button gt export class VideoComponent data inject DATA TOKEN will be of type DynamicData Pretty complex usecase I know but this is just for demonstration purposes Now let s take a look at how we can use the NgComponentOutlet directive to render the dynamic components Component template lt label for type gt Type lt label gt lt select ngModel selectedType ngModelChanges changeType event name type gt lt option value image gt Image lt option gt lt option value video gt Video lt option gt lt select gt lt ng container ngComponentOutlet selectedItem component injector selectedItem injector gt export class ParentComponent private readonly injector inject Injector items image component ImageComponent injector Injector create parent this injector providers provide DATA TOKEN useValue url updated changes any gt console log Image changes changes video component VideoComponent injector Injector create parent this injector providers provide DATA TOKEN useValue url updated changes any gt console log Video changes changes selectedType image video image selectedItem this items this selectedType changeType type image video this selectedType type this selectedItem this items this selectedType As you can see we have to create a new injector for each dynamic component register the data we want to pass to the injection token and then and pass it to the NgComponentOutlet directive using the selectedItem We also pass an updated callback to the value This callback is used to update the data in the parent component in our case it just logs So it will work like an event emitter output Yeah This is a lot of boilerplate code But it s getting better in Angular v How it can be done in Angular vIn Angular v we can pass data to dynamically created components using the NgComponentOutlet directive using the inputs property First thing we will do is to covert our ImageComponent and VideoComponent to use the Input decorator Component template lt img src url gt lt button click updated url gt Update lt button gt export class ImageComponent Input url string Input updated changes any gt void Component template lt video src url controls gt lt video gt lt button click updated url gt Update lt button gt export class VideoComponent Input url string Input updated changes any gt void It s pretty simple right Now let s take a look at how we can use the inputs property to pass data to dynamically created components Component template lt label for type gt Type lt label gt lt select ngModel selectedType ngModelChanges changeType event name type gt lt option value image gt Image lt option gt lt option value video gt Video lt option gt lt select gt lt ng container ngComponentOutlet selectedItem component inputs selectedItem inputs gt export class ParentComponent items image component ImageComponent inputs url updated changes any gt console log Image changes changes video component VideoComponent inputs url updated changes any gt console log Video changes changes selectedType image video image selectedItem this items this selectedType changeType type image video this selectedType type this selectedItem this items this selectedType As you can see we can pass the data directly to the inputs property No need to create a new injector and register the data in the injector We can also do the same trick with the callback to update the data in the parent component How to migrate to the new approachIf you are using the old approach you can migrate to the new approach by doing the following Convert your dynamic components to use the Input decorator instead of the inject function Before Component export class ImageComponent data inject DATA TOKEN After Component export class ImageComponent Input data DynamicData Pass the data directly to the inputs property of the NgComponentOutlet directive Before Component template lt ng container ngComponentOutlet item component injector item injector gt export class ParentComponent private readonly injector inject Injector items image component ImageComponent injector Injector create parent this injector providers provide DATA TOKEN useValue url updated changes any gt console log Image changes changes After Component template lt ng container ngComponentOutlet item component inputs item inputs gt export class ParentComponent items image component ImageComponent inputs data url updated changes any gt console log Image changes changes Remove the injected Injector from the parent component but also the InjectionToken created to pass the data to the dynamic component How to test itTo test the new approach we will use the TestBed to create a test module and then create a test component that uses the NgComponentOutlet directive describe ParentComponent gt let component ParentComponent let fixture ComponentFixture lt ParentComponent gt beforeEach async gt await TestBed configureTestingModule imports ParentComponent ImageComponent VideoComponent compileComponents beforeEach gt fixture TestBed createComponent ParentComponent component fixture componentInstance fixture detectChanges it should create gt expect component toBeTruthy it should display image by default gt const imageElement fixture debugElement query By css img nativeElement as HTMLImageElement expect imageElement src toBe it should switch to video gt select video option from the dropdown const selectElement fixture debugElement query By css select nativeElement as HTMLSelectElement selectElement value video selectElement dispatchEvent new Event change fixture detectChanges const videoElement fixture debugElement query By css video nativeElement as HTMLVideoElement expect videoElement src toBe it should update image data gt spyOn console log const imageUpdateButton fixture debugElement query By css button imageUpdateButton triggerEventHandler click null expect console log toHaveBeenCalledWith Image changes url it should update video data gt spyOn console log const selectElement fixture debugElement query By css select nativeElement as HTMLSelectElement selectElement value video selectElement dispatchEvent new Event change fixture detectChanges const videoUpdateButton fixture debugElement query By css button videoUpdateButton triggerEventHandler click null expect console log toHaveBeenCalledWith Video changes url If our testing approach is just testing only what we see on the screen then the tests should not change at all We are still testing the same thing We are just using a different approach to create the dynamic components CaveatsWe are used to use the Output decorator to tell Angular that we want to listen to an event from the child component But the NgComponentOutlet directive won t support the Output decorator or add an outputs field So we are left with the callback approach to notify the parent component about the changes in the child component ConclusionI hope you enjoyed this article and I hope that you will find this new feature useful If you have any questions or suggestions feel free to leave a comment below This is the PR community contribution that implements the feature Thanks to HyperLife Thanks for reading Enea Jahollari enea jahollari coming in Angular v ️ Signals Non destructive hydration support Esbuild dev server Material components token API Create standalone app schematics Required inputs Bind route data to inputs Set inputs in NgComponentOutlet angular PM Apr I tweet a lot about Angular latest news videos podcasts updates RFCs pull requests and so much more If you re interested about it give me a follow at Enea Jahollari Give me a follow on dev to if you liked this article and want to see more like this |
2023-04-19 15:11:15 |
海外TECH |
DEV Community |
Updating Monaco broke Fastly Fiddle: here's how I solved it with useCallback in React |
https://dev.to/fastly/updating-monaco-broke-fastly-fiddle-heres-how-i-solved-it-with-usecallback-in-react-2j92
|
Updating Monaco broke Fastly Fiddle here x s how I solved it with useCallback in ReactMy colleague Dora and I recently updated Fastly Fiddle s dependencies and we suddenly found that user input in our code editor was erratic and unusably slow We fixed it by moving some state from the component into a local variable persisted across renders thanks to useCallback This is what we saw in the UI Popping open the network panel we can see a request to the server for every keystroke second after the key was pressed Ouch Our debounce is clearly broken and not only that but we re also supposed to be cancelling save requests that are already in progress if a new keystroke is made and that clearly isn t working either It turns out that the bottom line is if you read state in a function that s been memoized you will get an out of date version of that state In our case Monaco the code editor component was memoizing a function invoking an outdated version of it and as a result we were never able to tell that a save operation was already in progress so we didn t cancel the existing operation and cued up a new one The problematic codeMany performance problems and behavioural bugs in React applications seem to stem from a too hazy understanding of what causes a component to re render what happens when a component re renders and in what context a function is being invoked Fortunately I am friends with Ivan Akulov who is basically web performance in human form and he helped me figure this out In Fastly Fiddle we have a state variable saveOperation which is read and updated by a saveHandler function and which is also passed down into child components const saveOperation setSaveOperation useState const saveHandler async userInput gt if saveOperation saveOperation abort const debounceDelay abortableWait DEBOUNCE DELAY setSaveOperation debounceDelay await debounceDelay setSaveOperation null render lt Main onSave saveHandler gt We re trying to wait for an idle period before saving the user s work a debounce Every time we see new keystrokes we abort the pending save or any in flight API request that is already in progress We re doing this using an abortable promise pattern there s probably a more idiomatic way to do this in React but this seemed to work pretty well saveHandler is going to get redefined every time the component renders but that should be fine saveOperation is component state which will persist across renders Right Memoization problemHowever there s a risk if anything further down the component tree memoizes the reference to saveHandler we might end up calling an out of date version of the function which has captured an out of date version of saveOperation Turns out this is exactly what s happening After our dependency update we discovered that when keystrokes were entered into a code editor component powered by Monaco the resulting invocation of saveHandler found saveOperation to be undefined every time The lt Main gt component eventually passes the saveHandler function to Monaco like this lt MonacoEditor theme fiddle key props codeContext options monacoOptions value props value onChange props saveHandler gt The new version of Monaco then memoizes the onChange callback which means that when keystrokes are entered into the editor the saveHandler that gets fired is one that doesn t have the latest value of saveOperation so we don t know there s a save already in progress so we don t cancel it and all hell breaks loose Progress state is an antipattern So what s the solution I could investigate why Monaco is memoizing the handler and maybe try and convince it to not do that but this problem highlights that using useState to store saveOperation is maybe not the best idea in the first place Apart from making the function dependent on data in the parent context using state also means we re render the component every time we update it Since saveOperation doesn t affect the component s render output that doesn t seem right I ve decided to call this kind of data progress state since it effectively carries data forward from one invocation of a function to the next to allow a subsequent invocation to adjust its behaviour based on knowing where we left off in the previous one useState is the most obvious way to do this but it s not a good one The React y way to do this is actually useRef Solution useRefconst saveOperation useRef null const saveHandler async userInput gt if saveOperation current saveOperation current abort const debounceDelay abortableWait DEBOUNCE DELAY saveOperation current debounceDelay await debounceDelay saveOperation current null Updating saveOperation now won t trigger a render and this will work even if saveHandler gets memoized The reason this works is the same reason useRef variables always have that weird current thingy hanging off them The variable created by useRef is immutable so capturing it into a function is fine because we know it cannot be reassigned the value of saveOperation which is an object will never change However the properties of that object can change and a function that has captured a reference to the object will see those updated properties That s why refs have a current property Solution useCallback closuresReact s useCallback hook creates a reference to a function and then reuses it in subsequent renders of the component rather than redefining the function every time We figured you could use this with an Immediately Invoked Function Expression IIFE to capture a value that persists between renders const saveHandler useCallback gt let saveOperation return async userInput gt if saveOperation saveOperation abort saveOperation abortableWait DEBOUNCE DELAY await saveOperation saveOperation null Now when the component is first rendered React will execute the IIFE and assign the resulting function to saveHandler The returned function has access to saveOperation which is trapped in a closure created by the IIFE I like this solution because it leans more on fundamentals of JavaScript rather than relying on the framework to solve the problemit creates a tighter scope for my data saveOperation is not accessible outside of saveHandler It s the simplest use of saveOperation no need to use a setter function and no need to use a current property However React s docs on useCallback have this caveat In the future React may add more features that take advantage of throwing away the cache ーfor example if React adds built in support for virtualized lists in the future it would make sense to throw away the cache for items that scroll out of the virtualized table viewport This should match your expectations if you rely on useCallback as a performance optimization So in future my callback might get redefined more often but for a use case like debouncing it seems like that would still be fine most of the time ConclusionThere are some nice lessons in this debugging exercise Don t overuse useState Learn to love useRef And it s nice that React has a solution to this and that we can also solve it using JS language primitives Fine go ahead and flame me for doing React wrong I don t care React is weird anyway |
2023-04-19 15:07:23 |
海外TECH |
DEV Community |
Setup HarperDB on Equinix Bare Metal Server |
https://dev.to/chefgs/setup-harperdb-on-equinix-bare-metal-server-43eo
|
Setup HarperDB on Equinix Bare Metal Server Table of ContentsIntroduction to HarperDBWays to Host HarperDBIntroduction to Equinix Bare MetalEquinix Account Setup and Completing PrerequisitesCreate an On Demand Server in EquinixLogin into the Server using SSHInstall and Run HarperDB on Equinix ServerPrerequisitesHarperDB installation using npmRun HarperDB in EquinixAlternate method to run HarperDBAccess the HarperDB using Equinix IPStart using HarperDB hosted in EquinixCreate SchemaCreate TableInsert a RecordConclusionDocument References Introduction to HarperDBHarperDB is a globally distributed edge data platform that is designed to handle massive amounts of data with ultra low latency Other edge database solutions are not write optimized and global replication is slow Whereas HarperDB is read and write optimized handling upwards of K writes per second per node with ms global replication HarperDB s clustering methodology relies on eventual consistency to be much more efficient than more traditional options and you can t lock out the database globally Read more about HarperDB and the use case it is trying to solve in this blog HarperDB has the solutions listed below and if you re an organization looking for database solutions in this area can utilize the HarperDB for your need Distributed DatabaseEdge Computing Edge CachingInfrastructure Savings Ways to Host HarperDBThere are multiple ways available to getting started with HarperDB but the quickest way to get up and running with HarperDB is with HarperDB Cloud It is also possible to Install HarperDB on Cloud Instances across public cloud providers like AWS Azure GCP and On premise Cloud providers like Equinix and Linode In this blog we will see how to set up the HarperDB database in Equinix Cloud Bare Metal Server and create steps to create a DB schema Table and insert a record Introduction to Equinix Bare MetalEquinix is one of the leaders in providing on demand bare metal as a service product offering You can sign up here to get started with Equinix Equinix Account Setup and Completing PrerequisitesIn this section we will see the steps to get started with Equinix Step Sign up for an account Step During the sign up we need to add payment method for billing apply “deploynow code to get the trial credit of Step Create an organization and a project under the orgStep Click on the name of the Project to go to the project pageStep Click on Project Settings gt SSH KeysStep Create an ssh key in your workstation from which we will be logging into “Equinix Instance using the SSH method Follow the guide here if you re new to creating the SSH key for your workstationStep Copy the public key generally file name will be id rsa pub from the file ending with pib Step Paste Public key value in SSH key page by adding new “Add new key Create an On Demand Server in EquinixIn this section we will see the steps to deploy our on demand server to install HarperDB Step Go to project gt Bare metal servers gt On demandStep Go to the “Classic tab choose the metro region in which you want to host the HarperDB server Step Choose operating system for this HarperDB demo I ve selected the OS “Ubuntu Step Expand “Optional settings and go to “SSH keys to select SSH key we have added earlierStep Verify the summary and click on “Deploy Now Step We can observe the server instance is getting deployedStep After some time the instance deployment will be complete and we can see the instance is up and runningStep Click the instance “hostname to open the instance details Login into the Server using SSHUsing the public IPV address we can get into the server using SSH methodUse the private key pair of the public key we have added in the SSH key while creating the instance It will be located in the path ssh ssh i ssh equinix key root The authenticity of host can t be established ED key fingerprint is SHA AGNWfuXwEvSbiTtReGwSqouiUirqvXbfBjB StmM This key is not known by any other namesAre you sure you want to continue connecting yes no fingerprint yesWarning Permanently added ED to the list of known hosts Welcome to Ubuntu LTS GNU Linux generic x Documentation Management Support System information as of Thu Apr UTC System load Processes Usage of of GB Users logged in Memory usage IP address for bond Swap usage updates can be applied immediately Your Hardware Enablement Stack HWE is supported until April The programs included with the Ubuntu system are free software the exact distribution terms for each program are described in theindividual files in usr share doc copyright Ubuntu comes with ABSOLUTELY NO WARRANTY to the extent permitted byapplicable law root c small x Now we logged into the server and let us see the steps to install HarperDB in the Equinix Server Install and Run HarperDB on Equinix Server PrerequisitesI ve followed the installation steps available here and followed the Linux installation steps for installing nvm since we deployed Ubuntu OS in Equinix Since it is just a demo installation I ve skipped the LVM configuration and Configure Data volume sections Now HarperDB needs npm and NodeJS So we need to install them using nvm Node version manager which is the recommended way for installing NodeJS and npmI ve used below commands to install nvmcurl o bashexport NVM DIR HOME nvm s NVM DIR nvm sh amp amp NVM DIR nvm sh This loads nvm s NVM DIR bash completion amp amp NVM DIR bash completion This loads nvm bash completionAfter running the above commands either you can exit and re login to the Equinix server so the changes will go into effect exitThen install nvm version which worked fine for me nvm install HarperDB installation using npmI ve used the offline installation method for installing HarperDB in Equinix Step Download installation packagewget Step install using npmsudo npm install g harperdb tgz harperdb installThere are some optional steps available in the documentation which can help HarperDB to start when the OS boots Run HarperDB in EquinixAfter the successful installation execute the command harperdb run to start the databaseFollow the prompts to start the database harperdb runThis version of HarperDB is tested against Node js version the currently installed Node js version is Some issues may occur with untested versions of Node js Starting HarperDB HarperDB not found starting install process Starting HarperDB install Terms amp Conditions can be found at and can be viewed by typing or copying and pasting the URL into your web browser I Agree to the HarperDB Terms and Conditions yes no yesPlease enter a destination for HarperDB root hdbPlease enter a server listening port for HarperDB Please enter a username for the HDB ADMIN HDB ADMINPlease enter a password for the HDB ADMIN hidden HarperDB installation was successful ▒▒▒▓▓▓▓▓▓▓▓▓▓▓▒▒ ▒▒▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▒▒▒▒▒▒▒▒▒▒▒▒ ▒▒▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓▒▒▒▒▒▒▓▓▓▓▓▓▓▓▓▓▓▒▒ ▒▒▒▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▒▒▒▒▒▒▒▒▒▒▒▒▓▓▓▓▓▓▓▓▒ ▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▓▓▓▓▒ ▒▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▓▓▓▓▓▒▒ ▒▒▒▒▓▓▓▓▓▓▓▓▓▓▓▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▓▓▓▓▓▓▓▓▓▓▒▒▒▒▒▒ ▒▒▒▒▒▒▒▓▓▓▓▓▓▓▓▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▒▒▒▒▒▒▒▒▒▒▒ ▒▒▒▒▒▒▒▒▒▒▓▓▓▓▓▒▒▒▒▒▒▒▒▒▒▒▒▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▒▒▒▒▒▒▒▒▒▒▒▒▒▒ ▒▒▒▒▒▒▒▒▒▒▒▒▒▓▓▒▒▒▒▒▒▒▒▒▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▒▒▒▒▒▒▒▒▒▒ ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▒▒▒▒▒▒ ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒ ▒▒▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓▒▒▒▒▒▒▒▒▒▒▒ ▒▒▒▓▓▓▓▓▓▓▓▓▓▒▒▒▒▒▒▒▒▒▒▒▒ ▒▒▒▒▓▓▓▓▓▓▒▒▒▒▒▒▒▒▒▒▒ ▒▒▒▓▓▒▒▒▒▒▒▒▒▒▒▒ ▒▒▒▒▒▒▒ HarperDB Inc Denver CO HarperDB successfully started Alternate method to run HarperDBThere is also a single line command available to run HarperDB which has all the database invocation arguments passed as CLI optionsharperdb install TC AGREEMENT yes ROOTPATH home ubuntu hdb OPERATIONSAPI NETWORK PORT HDB ADMIN USERNAME HDB ADMIN HDB ADMIN PASSWORD abc Access the HarperDB using Equinix IPHarperDB runs in the server so it can be accessed via localhost port http localhost Also we can access the server from outside using the “equinix public ip port as Start using HarperDB hosted in EquinixWe will now see how to create a DB schema create tables and insert records in it Refer the “Quick Start Examples in API docs to explore the various programming methods for creating HarperDB elements like schema tables etc I ll be using the curl method to play around with HarperDB Create Schemaroot c small x curl location request POST u HDB ADMIN admin http localhost header Content Type application json data raw operation create schema schema dev message schema dev successfully created Create Tableroot c small x curl location request POST u HDB ADMIN admin http localhost header Content Type application json data raw operation create table schema dev table dog hash attribute id message table dev dog successfully created Insert a Recordroot c small x curl location request POST u HDB ADMIN admin http localhost header Content Type application json data raw operation insert schema dev table dog records id dog name Penny owner name Kyle breed id age weight lbs message inserted of records inserted hashes skipped hashes ConclusionIn this article we discussed the introduction to HarperDB data platform and how it was easy to get started with the HarperDB setup in the Equinix Bare metal on demand server Also we have gone through how to access the database and tried out creating a DB schema Table and Record Hope this article should be useful for database professionals developers and data architects looking for a tutorial of HarperDB installation on Equinix bare metal servers Document ReferencesHarperDB Getting StartedHarperDB API documentationEquinix Getting Started Follow my work and get in touch This is Saravanan I m a DevOps Evangelist Tech Blogger Mentor AWS Community Builder Hashicorp Ambassador Content CreatorGitHubLinkedInTwitterYouTubegsaravanan dev |
2023-04-19 15:03:43 |
海外TECH |
DEV Community |
Featured Mod of the Month: Andy Piper |
https://dev.to/devteam/featured-mod-of-the-month-andy-piper-2fg6
|
Featured Mod of the Month Andy PiperWe ve started up this new series to shine a spotlight on the different DEV moderators ーtrusted members and tag mods ーwho help to make DEV a kind helpful place Aside from spreading good vibes and helping fellow community members these folks also assist us with removing spam and keeping posts well organized by adding and removing tags as necessary amongst other things If you want to learn more about what these awesome folks do I recommend checking out our Trusted Member and Tag Moderation guides There is information about how to apply in both guides if you re interested in joining up as a moderator Introducing Andy Piper This month we d like to put the focus on Andy Piper a long serving tag moderator here on DEV with many tags under his purview devrel mqtt micropython circuitpython arduino esp esp openapi gear basic raspberrypi pihole iot mastodon fediverse amp activitypub Andy is a super cool developer with a rich history in DevRel previously at Twitter and a strong interest in maker projects ーthink Raspberry Pi and d printing I greatly value his experience as a developer and appreciate his help with moderating the community here at DEV Not to mention I feel very lucky to count Andy as a friend Thank you Andy Andy PiperFollow Developer Advocate prefer he they them Friendly DEV moderator amp helper LEGO fan IoT hacker MicroPython tinkerer Perpetual student The InterviewLet s jump right into my questions and Andy s answers Michael Tharrington Can you tell us about your developer origin story like how you first got into tech and what was your first real developer job And then just basically how things went from there Andy Piper Yeah I ve been around quite a while in life and so my origin story goes back to the s which makes me feel very old but I m not that old really And so I got into tech in the s My parents got me an bit computer which was called an Acorn Electron So Acorn was a company in the UK that was kind of competing or it was around the time of the Sinclair ZX Spectrum Commodore all of those kinds of computers back then And Acorn was a company that won a contract to supply computers to schools back in the s So every school had what were then called BBC Micros ーit was a program with the BBC broadcaster in the UK to encourage kids to learn to code So I learned to code using a language called BASIC which is still around Somebody s just posted about a BASIC interpreter on DEV this week referencing BASIC stands for Beginners All purpose Symbolic Instruction Code and it s a good language to learn to code in So I started off back in the s before the Internet was around and when I was at school I had a little company with a friend selling software to some other schools ーeducational software for chemistry I didn t get into PCs and Windows until a lot later on when I was in my teens I had a degree in history so it was difficult to get a job in tech In the late s I managed to get a job at the UK Post Office on a management training scheme in their technology division But I still wasn t programming properly I was kind of doing helpdesk type work But I was coding for myself so I am self taught as a developer completely ーI ve got no sort of formal education in computer science or anything After four years at the UK Post Office I d learned on the job stuff like UNIX and version control systems that came before Git called CVS And I was working with some consultants from IBM who introduced me to their manager I ended up going to work for IBM as an experienced software engineer basically in their integration practice I did years at IBM Then I was doing a lot of public speaking and our community work with different things like Internet of Things There s a technology called MQTT which is for sending messages between small devices which was from IBM and I ended up working for VMware on a cloud platform called Cloud Foundry as an advocate Then I was at Twitter for nearly nine years doing API stuff So I ve done a ton of stuff almost all sorts of hobby in the background community stuff which is interwoven with being able to do stuff professionally as well Michael Nice That s really cool And I ve got a question that wasn t listed but jumping off from that when do you think you realized that you were the computer person in the room or the most technical person When abouts would you say you kind of landed on that realization Andy I was always Yeah I was always the one at my school There was kind of a very clear group of nerds around You know when I was at school we had a room that was the computer room ーthe room that had the computers ーand everybody went to a computer lesson in that room Everybody didn t have a phone in their pocket and you know computers weren t everywhere so I was always really into that and into that group When I was at university a lot of people were coming to me for technical support and help They d often got a laptop and they didn t know how to get on the university e mail system ーthings like that So I ended up writing a help sheet for the other students this is how you sign up for university e mail these are the commands to type to access the system ーI wish I still had that actually But that was very much my first instructional piece I really wanted to work in tech and when I got to the end of my university course I started to go around and try to do job interviews I was really disappointed to discover how hard it was without having a technical or science degree to even get my foot in the door for most of those interviews But yeah I decided pretty early on it was either going to be tech or teaching And I ve been fortunate in the end to sort of combine both just through how I behave and the kind of events and communities I ve been involved in But again I don t have any formal education in how to educate I ve just learned it along the way Michael Awesome that makes sense Okay moving to another question if you could go back in time to when you first started as a developer and give yourself one bit of technical advice and one bit of non technical advice what would you tell yourself Andy So I thought hard about this because I was going through these questions earlier and I m going to give you the non technical advice first which is I think it s taken me a long time to really learn how to listen And I still interrupt people quite often Also patience I think patience and listening are the two things that I value the most and I ve learned the most about I think early on I had a real problem with not listening ーtrying to invent solutions first to problems I d get impatient if I couldn t solve something immediately or if people behaved irrationally or what I thought was irrationally I didn t always just absorb the situation So those are two things that I think I would encourage myself to think about at an earlier age Technically I struggled a little bit with the question because one of the bits of advice I often give to folks who come to me for technical advice and they sort of say you know what programming language should I learn It doesn t really matter because everything changes all the time So I was trying to find a way of telling myself years ago that and then I actually thought technically I think the thing that s been most valuable that would be better to start using earlier would be source control And it s a very boring thing to say but I m sure that I lost so much time by not being able to go back to where I started or track the changes I ve made in the past And systems like Git are not easy to learn I ve tried to teach them to people before and they are not always intuitive I still have to go back and read the manual to figure out how to do stuff So I think technically learning about source control earlier would have been better though it didn t really exist when I was just setting out anyway But yeah just getting comfortable with that concept Even still the last few days I ve had several computers around me and I ve got bits of code on each of them I m thinking why didn t I just put this stuff in one place and go from there It s just for my own lack of technical knowledge Michael Is source control the same as versioning Andy Yeah basically versioning is the ability to go back through history ーdecide where you re at share that state between machines and people Michael Cool so you know when you mentioned CVS earlier as Git version control that was like the early version Andy Yeah yeah Before that there was another system called RCS and then there was CVS and then there were a couple of other things And then eventually Linus Torvalds decided that he hated them all and he was going to write his own And that s why we have this thing called Git He invented Git to manage Linux ーthe source control of Linux basically ーand now it s taken over the world Michael Thanks for that OK cool I m moving on to question As a developer what are your specialties or areas of focus Andy So I guess it tracks with my interests and my background When I was at IBM I was doing a lot of stuff to do with messaging Programs sending messages between one another sending data between one another There s this technology called MQTT which is a lightweight messaging protocol for sensors and other things My D printer is sat here right now using that technology which is something that I worked on years ago at IBM and it s publishing every single update Every single time it moves the print head it s sending a little message into the cloud saying the temperature is degrees I ve got this much filament and I am moving between here amp here So MQTT messaging and Internet of Things is one thing that I m super interested in for historical reasons because I know a lot of stuff about it APIs APIs are how programs interact with programs So you ve got how hardware interacts with the world through MQTT and other messaging software You ve got how programs talk to one another So like posting something new on DEV there s something behind that That is the DEV API that is supporting the ability for a user to post that information into DEV You don t really see that because it s all done through your browser but I ve got a ton of background with that stuff And then programming language the one I normally reach for now is Python because it s easy and straightforward and it s on all the platforms It doesn t require me to think too hard It s a very expressive language It lets you kind of write code as you think about it usually And those are the kinds of things I have spoken about at conferences and in the last couple of years Michael Cool OK moving on How did you first discover DEV and what encouraged you to become a moderator for the community Andy So I was following Ben and ThePracticalDev quite a few years ago and I guess the question is how did I discover them And I don t remember but I was following them and then DEV came out from thepracticaldev as a thing and became a new site And I really liked the look amp feel and ease of use of it I started sharing some of my stuff and I could write in a Format that was familiar to me ーMarkdown And I found myself going there most days or fairly frequently to see what was new or what stories were bubbling up on the front page And then from the moderation perspective I love to see things stay on track and I think that it s important that communities can have off topic conversations but unless there s a core purpose for the community then things rapidly disintegrate So I always think that keeping on topic like making sure that if we re talking about web development we re talking about web development We re not talking about I don t know spaceships or something totally different And also moderation can be tricky with people People have different opinions People don t always realize there s another person on the end of the screen on the other end of the words they re typing So there can sometimes be communication breakdowns or misunderstandings and just trying to keep everything friendly and conversational ーit s something that is kind of part of my DNA When I started at Twitter and I inherited Twitter s developer forums there had been no moderation They were very negative and everybody really just came there to complain and shout and that became a self fulfilling or snowballing behavior and everybody came in just to shout louder than everybody else rather than sharing solutions to problems And so I m quite keen on keeping conversations healthy as best I can and that s why I offered to help if I can Michael You certainly do help Thank you I m interested when you inherited Twitter s developer forums what did you try to do to kind of move the situation back to a more productive “let s think of solutions mindset rather than throwing our hands up or pointing fingers at one another ーwas there anything that you could kind of point to Andy We started over and were more present or at least one or two of us were more present We didn t want to lose the information that had been there previously So we ーand I didn t feel great about it ーbut what I did mostly was to go through and delete remove mute the off topic content We moved to a different system a different platform for running the forums ーfrom Drupal to Discourse When we did that migration we went through and got rid of everything that was openly offensive You know any inappropriate conversation and comment because it just drove people away and drove people to just deliver more of that kind of input So we really started over created new topic categories created new ground rules and enforced those ground rules If people were not going to behave in the way that was expected then we were going to have to ask them not to be there When I first started six months before we did this sort of reboot I spent a lot of time every morning again being a geographically distributed team as we are at DEV overall as a group of moderators you know certain time zones other people aren t gonna be online and you re just going to see a wall of spam and you re just going to be clicking to get rid of it all And I m not saying that s a problem with DEV completely but certainly back in the day that was absolutely the problem with the Twitter forums It was just overrun Michael I m going to jump on to one last question What are you working on or learning about now Are there any projects that you ve been particularly focused on personal or professional Is there anything that you re currently learning new or old tech Andy So what I m learning at the moment I m in the middle of a career break accidental career break right now So I m spending a ton of time learning At the moment it s related to software development but also not I m doing some learning some D printing and computer aided design ーD modeling So I m learning all those things I ve been writing recently about the Mastodon API and Python and I ll be writing some more about that soon so I m excited about again APIs the Fediverse conversational communities And I m doing a lot of fun things with again stuff I ve written about in the past on DEV which has tended to be MicroPython So small devices hacking on little connected screens that I can like send MQTT messages to that are going to be a dashboard on my pegboard here And I m also really enjoying going back to my roots with bit computers So I ve got something over here which is about the size of my palm it s called an AGON Light You just plug it into a keyboard and a screen It doesn t go online you just write BASIC programs on it It s cool it s nice It s really the kind of thing I grew up with Except now instead of being you know this big gestures widely it s this big gestures something hand sized Michael This is all really interesting stuff Can you just talk briefly about what you do as far as D printing goes what have you been working on Andy I d been wanting a D printer for a while mainly to put my electronics project into cases And so I borrowed one from a friend just after I finished my last job And then there s been some new ones that have come out and I got really into how D printing works I bought a really fancy one that can change the color of filament and things like that So I m mainly making things like cases for electronics But I ve been learning I ve bought a really cheap one and I ve bought a really expensive one The cheap one was like from China and it sits on a little trolley here the code is open source for it and I can program it with a Raspberry Pi and do cool stuff with it The high end one is more like the Apple of D printing It s like I m not going to fiddle with this I just want it to work I don t want to start you know breaking it I ve been making gifts for people There s all kinds of stuff I ve been making I ve mostly been making stuff for my own workshop but I ve got a ton of ideas that I like to play with This is the classic thing that they call the Benchy So this is the benchmarks thing like any D printer you re expected to print this thing because it tests things like the curves and the circles how closely you can see the layers and stuff like that So this is kind of like a benchmark test for d printers and I ve got literally got one on my desk here Michael It really reminds me of a rubber duck Just has that look to it Andy Yeah definitely Shortly thereafter the call dropped but you re not missing anything ーwe had completed the interview Wrap upThanks so much for checking out this interview Stay tuned for future issues in this series |
2023-04-19 15:03:12 |
Apple |
AppleInsider - Frontpage News |
Apple highlights strides toward limiting environmental impact in annual Environmental Progress Report |
https://appleinsider.com/articles/23/04/19/apple-highlights-strides-toward-limiting-environmental-impact-in-annual-environmental-progress-report?utm_medium=rss
|
Apple highlights strides toward limiting environmental impact in annual Environmental Progress ReportAhead of Earth Day Apple has updated its environmental page documenting its progress toward becoming carbon neutral by Image Credit AppleAs it does every April Apple has released its yearly Environmental Progress Report a document detailing the steps Apple takes to lessen its environmental impact Read more |
2023-04-19 15:34:25 |
海外TECH |
Engadget |
Google will reportedly announce a foldable Pixel phone at I/O next month |
https://www.engadget.com/google-will-reportedly-announce-a-foldable-pixel-phone-at-io-next-month-155136945.html?src=rss
|
Google will reportedly announce a foldable Pixel phone at I O next monthGoogle may be close to launching its long rumored foldable Pixel phone CNBCclaims to have seen internal communications revealing that the Pixel Fold will be announced at the I O conference on May th and ship in June The device will reportedly cost around or close to the Samsung asks for the Galaxy Z Fold The company may tout a few advantages over its rival The Pixel Fold will have a book like design with a inch external screen and inch folding display but will supposedly have the quot most durable hinge quot of any foldable according to Google It should also be water resistant and pack a larger battery that lasts up to hours in normal use and hours with Extreme Battery Saver Don t expect performance gains The Pixel Fold will apparently use the same Tensor G chip as in the Pixel series and previous leaks suggest it might have cameras that predate the Pixel As with other Pixels the draw may be the pure Android experience ーthis will be the first opportunity to see Google s own approach to foldable devices The price is still steep compared to regular Pixel phones which top out at for the Pixel Pro Google may sweeten the deal by encouraging trade ins however The company may even offer a free Pixel Watch to Fold buyers If the details are accurate the foldable Pixel may not be an easy sell Google is expected to debut the Pixel this fall and that s likely to include upgrades like a third generation Tensor chip With that in mind North Americans have had few options for foldable phones beyond the Galaxy Z Fold series and previous gen Moto Razr models The Pixel Fold may stand out simply by providing real competition in a small category This article originally appeared on Engadget at |
2023-04-19 15:51:36 |
海外TECH |
Engadget |
The Beats Studio Buds are back down to $100 |
https://www.engadget.com/beats-studio-buds-are-back-down-to-100-151601887.html?src=rss
|
The Beats Studio Buds are back down to We ve previously found the Beats Studio Buds to be a well rounded and relatively affordable set of true wireless earbuds for most people If you ve been thinking about picking up a pair they re currently on sale for at multiple retailers including Amazon Walmart Target and Best Buy That s more than the earbuds all time low but still about below their average street price in recent months For reference they originally launched at The deal applies to each color finish We gave the Studio Buds a review score of when they launched in mid The best thing they have going for them is their design They re small lightweight and more than comfortable enough to wear for hours at a time The shape is cleverly angled so that inserting and removing the earbuds feels natural They re not as stable for jogging as Beats Fit Pro but their IPX rated water resistance means they can survive workouts all the same Their case isn t oversized either and it charges over USB C The Studio Buds have a mellow and fairly well balanced sound profile with bass that s punchy but not overbearing They underemphasize the treble range a bit so things like vocals can sound less detailed but in general it s a pleasant listen with most types of music There are active noise cancellation and transparency modes as well neither is as effective as higher end models like Apple s AirPods Pro or Sony s WF XM but they re passable If you want superior ANC for less than Anker s Soundcore Space A is a better buy Like other Beats earbuds the Studio Buds pair quickly with iPhones and support Apple friendly perks like Find My device tracking and hands free Siri access But they also play well on Android with similar fast pairing and device finding features There are some caveats though The Studio Buds battery life is just OK lasting around eight hours with ANC off and around five hours with it on Call quality is similarly middling and while the design is comfortable it lacks features like wireless charging automatic pausing when you remove an earbud and multipoint connectivity Though the earbuds are easier to use with iPhones than most they don t use one of Apple s proprietary wireless chips ーignore the Amazon listing that says otherwise ーso they lack some features that you d get with the Fit Pro or AirPods Pro such as audio sharing and automatic switching between Apple devices On the plus side Apple has added support for onboard volume controls and instant iCloud pairing since the Studio Buds launched The other possible hang up is that Apple seems likely to launch a revised model of the Studio Buds in the near future Reports from toMac nbsp and The Verge say that these will be called the Studio Buds and feature improved ANC and transparency modes in a largely identical design Exactly how much these will cost and whether they ll replace the current pair is unclear but we may know soon as FCC filings for the device were spotted just this week Nevertheless if you want a stylish pair of lightweight earbuds the existing Studio Buds remain a solid value when they re discounted to this extent Follow EngadgetDeals on Twitter and subscribe to the Engadget Deals newsletter for the latest tech deals and buying advice This article originally appeared on Engadget at |
2023-04-19 15:16:37 |
Cisco |
Cisco Blog |
#SeeItToBeIt: Inclusivity is an ongoing journey |
https://feedpress.me/link/23532/16080921/seeittobeit-inclusivity-is-an-ongoing-journey
|
SeeItToBeIt Inclusivity is an ongoing journeyI find myself looking not towards the past but towards the future and how important equality inclusivity and equity are in the context ofーThe future of tech The future of leadership The future of emerging talent |
2023-04-19 15:00:47 |
海外TECH |
WIRED |
The Search for Long Covid Treatments Takes a Promising Turn |
https://www.wired.com/story/long-covid-treatments/
|
The Search for Long Covid Treatments Takes a Promising TurnScientists believe lasting symptoms following a coronavirus infection is not a single disorder New clinical trials could more effectively reach solutions |
2023-04-19 15:38:44 |
金融 |
金融庁ホームページ |
金融庁主催 サステナビリティ開示に係る国際カンファレンスの開催結果を掲載しました。 |
https://www.fsa.go.jp/news/r4/sonota/20230419/20230419.html
|
開示 |
2023-04-19 17:00:00 |
金融 |
金融庁ホームページ |
「トランジション・ファイナンス環境整備検討会」(第8回)議事次第について公表しました。 |
https://www.fsa.go.jp/singi/transition_finance/siryou/20230324.html
|
環境 |
2023-04-19 17:00:00 |
金融 |
金融庁ホームページ |
「トランジション・ファイナンス環境整備検討会」(第7回)議事次第について公表しました。 |
https://www.fsa.go.jp/singi/transition_finance/siryou/20230221.html
|
環境 |
2023-04-19 16:59:00 |
金融 |
金融庁ホームページ |
「トランジション・ファイナンス環境整備検討会」(第7回)議事要旨について公表しました。 |
https://www.fsa.go.jp/singi/transition_finance/gijiyousi/20230221.html
|
要旨 |
2023-04-19 16:58:00 |
金融 |
金融庁ホームページ |
「トランジション・ファイナンス環境整備検討会」(第6回)議事要旨について公表しました。 |
https://www.fsa.go.jp/singi/transition_finance/gijiyousi/20221205.html
|
要旨 |
2023-04-19 16:57:00 |
ニュース |
BBC News - Home |
Teenagers charged with murder over Alabama shooting |
https://www.bbc.co.uk/news/world-us-canada-65328736?at_medium=RSS&at_campaign=KARANGA
|
alabama |
2023-04-19 15:48:41 |
ニュース |
BBC News - Home |
Colin Beattie resigns as SNP treasurer after arrest |
https://www.bbc.co.uk/news/uk-scotland-65327953?at_medium=RSS&at_campaign=KARANGA
|
audit |
2023-04-19 15:57:21 |
ニュース |
BBC News - Home |
UK inflation: Supermarkets say price rises will ease soon |
https://www.bbc.co.uk/news/business-65312127?at_medium=RSS&at_campaign=KARANGA
|
prices |
2023-04-19 15:40:22 |
ニュース |
BBC News - Home |
Doctor's death due to AstraZeneca Covid vaccine reaction - inquest |
https://www.bbc.co.uk/news/uk-england-london-65321937?at_medium=RSS&at_campaign=KARANGA
|
tragic |
2023-04-19 15:46:06 |
ニュース |
BBC News - Home |
Cause of grey hair may be 'stuck' cells, say scientists |
https://www.bbc.co.uk/news/health-65309374?at_medium=RSS&at_campaign=KARANGA
|
colour |
2023-04-19 15:07:05 |
ニュース |
BBC News - Home |
Police sergeant David Stansbury in court charged with rape on duty |
https://www.bbc.co.uk/news/uk-england-devon-65325460?at_medium=RSS&at_campaign=KARANGA
|
plymouth |
2023-04-19 15:09:35 |
ニュース |
BBC News - Home |
Gwent Police: Nine officers investigated over offensive messages |
https://www.bbc.co.uk/news/uk-wales-65324637?at_medium=RSS&at_campaign=KARANGA
|
officer |
2023-04-19 15:09:36 |
ニュース |
BBC News - Home |
Dyscalculia: Do Rishi Sunak's maths plans add up for everyone? |
https://www.bbc.co.uk/news/uk-65303368?at_medium=RSS&at_campaign=KARANGA
|
plans |
2023-04-19 15:02:19 |
ニュース |
BBC News - Home |
Sudan conflict: Residents flee capital Khartoum as fighting continues |
https://www.bbc.co.uk/news/world-africa-65325382?at_medium=RSS&at_campaign=KARANGA
|
evacuation |
2023-04-19 15:51:45 |
ニュース |
BBC News - Home |
Ultrarunner who used car in race made 'massive error' |
https://www.bbc.co.uk/news/uk-scotland-65322631?at_medium=RSS&at_campaign=KARANGA
|
error |
2023-04-19 15:31:30 |
ニュース |
BBC News - Home |
Chelsea: Thiago Silva says club need to 'stop and put a strategy in place' |
https://www.bbc.co.uk/sport/football/65320642?at_medium=RSS&at_campaign=KARANGA
|
Chelsea Thiago Silva says club need to x stop and put a strategy in place x Chelsea defender Thiago Silva says the club need to stop and put a strategy in place or risk another difficult campaign next season |
2023-04-19 15:19:19 |
コメント
コメントを投稿