投稿時間:2022-04-05 23:35:21 RSSフィード2022-04-05 23:00 分まとめ(52件)

カテゴリー等 サイト名等 記事タイトル・トレンドワード等 リンクURL 頻出ワード・要約等/検索ボリューム 登録日
IT 気になる、記になる… イーロン・マスク氏がTwitterの取締役に https://taisy0.com/2022/04/05/155462.html twitter 2022-04-05 13:42:16
IT 気になる、記になる… Apple、インドで「AirPods」シリーズを値上げ − 理由は不明 https://taisy0.com/2022/04/05/155450.html airpods 2022-04-05 13:08:01
IT ITmedia 総合記事一覧 [ITmedia News] Twitter、筆頭株主のイーロン・マスク氏を取締役に https://www.itmedia.co.jp/news/articles/2204/05/news161.html itmedianewstwitter 2022-04-05 22:09:00
AWS lambdaタグが付けられた新着投稿 - Qiita Redshift Data APIを使ってS3のJSONデータを取り込む https://qiita.com/ymktmk/items/291aa50456498d99e963 RedshiftDataAPIを使ってSのJSONデータを取り込むRedshiftへ取り込むデータがAPIでしか提供されていない場合にLambdaで外部のWebAPIを叩いて取得したデータをRedshiftに取り込むということになると思います。 2022-04-05 22:47:18
python Pythonタグが付けられた新着投稿 - Qiita python 配列を作る https://qiita.com/wwww_xxx12345/items/e69455d32ff3893f5fa7 gtgtgtsquares 2022-04-05 22:52:04
python Pythonタグが付けられた新着投稿 - Qiita 【備忘録】Django __str__ returned non-string (type int)エラーについて https://qiita.com/hakomasu/items/967bbcce876a37273b88 ここでinteger型を使用していたためにタイトルのエラーが発生していたよう。 2022-04-05 22:45:56
python Pythonタグが付けられた新着投稿 - Qiita Dockerを使ってUbuntuに自然言語処理環境を構築しよう https://qiita.com/macaru/items/3bc78e53d355ef669b02 構築した環境にpythonのインストール次にDocker内で次の処理をします。 2022-04-05 22:35:34
js JavaScriptタグが付けられた新着投稿 - Qiita Javascript ウインドウアラートを表示する https://qiita.com/wwww_xxx12345/items/0db72479a3b3933ffef4 ltscriptgt 2022-04-05 22:34:41
Ruby Rubyタグが付けられた新着投稿 - Qiita テストコード(RSpec)の構文 https://qiita.com/Q-junior/items/9d8278284c72705623e6 doendendendend 2022-04-05 22:40:05
Linux Ubuntuタグが付けられた新着投稿 - Qiita Dockerを使ってUbuntuに自然言語処理環境を構築しよう https://qiita.com/macaru/items/3bc78e53d355ef669b02 構築した環境にpythonのインストール次にDocker内で次の処理をします。 2022-04-05 22:35:34
AWS AWSタグが付けられた新着投稿 - Qiita Cloud Data Warehouse BenchmarkでRedshiftのデータを準備する https://qiita.com/zumastee/items/38f1723908ea94be2eaf CloudDataWarehouseBenchmarkでRedshiftのデータを準備する背景・目的Redshiftの性能や機能を試すためには、ある程度サイズや件数が多いデータが必要になります。 2022-04-05 22:59:51
AWS AWSタグが付けられた新着投稿 - Qiita AWS公式資料で挑むSCS認定(30)-こんな時どうする(全分野その7) https://qiita.com/mingchun_zhao/items/ac0d7999eaee4f443dd1 AWS公式資料で挑むSCS認定こんな時どうする全分野その前回AWS公式資料で挑むSCS認定こんな時どうする全分野そのはじめに「こんな時どうする」自作により、理解が徐々に深まるきがします。 2022-04-05 22:59:31
AWS AWSタグが付けられた新着投稿 - Qiita Redshift Data APIを使ってS3のJSONデータを取り込む https://qiita.com/ymktmk/items/291aa50456498d99e963 RedshiftDataAPIを使ってSのJSONデータを取り込むRedshiftへ取り込むデータがAPIでしか提供されていない場合にLambdaで外部のWebAPIを叩いて取得したデータをRedshiftに取り込むということになると思います。 2022-04-05 22:47:18
AWS AWSタグが付けられた新着投稿 - Qiita AWS 初めて使う時に参考にした記事 https://qiita.com/H-Toshi/items/e24c670d72f49041900b だとまで固定だから桁は変動出来るキーペアのタイプRSA従来型とEDポイントはRSA古くから使用されており、以前はこれ一択であった。 2022-04-05 22:22:34
Docker dockerタグが付けられた新着投稿 - Qiita Dockerを使ってUbuntuに自然言語処理環境を構築しよう https://qiita.com/macaru/items/3bc78e53d355ef669b02 構築した環境にpythonのインストール次にDocker内で次の処理をします。 2022-04-05 22:35:34
Docker dockerタグが付けられた新着投稿 - Qiita colimaをuninstallしても、`Cannot connect to the Docker daemon at unix:///Users/mynameisok/.colima/docker.sock. Is the docker daemon running?`出る場合 https://qiita.com/lala5/items/419c5bc3a2a0a78500f5 colimaをuninstallしても、CannotconnecttotheDockerdaemonatunixUsersmynameisokcolimadockersockIsthedockerdaemonrunning出る場合colimaを試したあと、もともと動いていたDockerforMacを利用とすると、うまくできなかった。 2022-04-05 22:15:35
Ruby Railsタグが付けられた新着投稿 - Qiita Railsでテーブルの削除 https://qiita.com/Bjp8kHYYPFq8MrI/items/9cf05a9b8940f16f7ba8 Railsでテーブルの削除mastersテーブルを削除してみる。 2022-04-05 22:31:54
海外TECH Ars Technica Affordable electric cars coming in 2027 from new GM/Honda project https://arstechnica.com/?p=1845828 america 2022-04-05 13:02:02
海外TECH MakeUseOf Plex Wants to Become Your Central Streaming App With Two New Features https://www.makeuseof.com/plex-discover-universal-watchlist-streaming-app/ Plex Wants to Become Your Central Streaming App With Two New FeaturesPlex has added two new features Discover and Universal Watchlist with the aim of becoming a central hub for all video streaming users 2022-04-05 13:36:53
海外TECH MakeUseOf The 8 Best Samsung Galaxy S22 Cases and Covers https://www.makeuseof.com/best-samsung-galaxy-s22-cases/ durable 2022-04-05 13:30:14
海外TECH MakeUseOf Luminar Neo vs. Luminar AI: Which Is the Better Photo Editor? https://www.makeuseof.com/luminar-neo-vs-luminar-ai/ features 2022-04-05 13:30:14
海外TECH MakeUseOf What Is What is Internet Control Message Protocol (ICMP) & How does it Work? https://www.makeuseof.com/what-is-internet-control-message-protocol-icmp-how-does-it-work/ What Is What is Internet Control Message Protocol ICMP amp How does it Work ICMP is a protocol to determine network availability and manage flow and error control at the network layer But what does that mean in practice 2022-04-05 13:16:13
海外TECH DEV Community Software performance testing - Why it's important? [2] https://dev.to/adaendra/software-performance-testing-why-its-important-2-2jc2 Software performance testing Why it x s important In the first post we discover what is Software Performance Testing and a bunch of different types of tests Today we will see why it s important to do performance tests PrerequisitesBefore talking about why performance tests are important we need to talk about the prerequisites If you want to do this kind of test you need to know for each operation the accepted latencythe volume of transactions that you can have in a normal period and during peaksThese information must comes from the business line if your service is right behind a front end serviceand or by the aggregation of all the requirements for your consumers Also this informations must come before you start your analysis architecture for the following reasons Things included with Performance Testing ArchitecturePerformance testing is something that can t arrive late in a project It must be here at the beginning Otherwise how can you be sure to respect all the performance conditions For example if you are alone with one oven to cook some pies for a party and don t know how many people will come how will you do if people come The idea with development is the same Developing something which can support or TPS is not the same You won t use the same tools you won t orchestrate the calls in the same way especially if you are working in a big enterprise where some services can be older or limited for some reasons MonitoringIf you want to check what s happening when you are doing performance tests you will need to have something set up to monitor your services and your infra During the performance testing phase it will be useful to check bottlenecks and understand what is limiting your service AlertingNow that you know what are your limits about latency and volume you will be able to add some alerts to prevent if the load is close to the max With that you will be proactive and may avoid a production issue Why it s important to do Performance tests So finally why it s important to do Performance tests As you can see in the previous part doing these tests embed a lot of things that can only be beneficial for your system Also and it s the biggest reason why your system will be reliable With all these tests a correct architecture matching the needs monitoring alerting you will avoid a lot of issues related to loading And if you are close to your maximum your alerting will ping you to let you know that you have to do something before it s too late I hope it will help you And see you to the next part How to do it 2022-04-05 13:39:06
海外TECH DEV Community Building a Slack App with Native SFDC Integration https://dev.to/salesforcedevs/building-a-slack-app-with-native-sfdc-integration-4m4m Building a Slack App with Native SFDC Integration Building a Slack App Designing a UIThis post is a continuation of our series based on a video series explaining how to build Slack Apps that integrate with Salesforce APIs With the Slack Starter Kit from Salesforce Slack app developers can offload common concerns like Salesforce authentication directory hierarchies reusable code and deployments to Heroku The end result is less time spent wrangling code and more time building features for your app In our last post we familiarized ourselves with the starter kit and set up our development environment to build a basic Slack app In this post we ll continue building on that Slack app focusing on how the Slack Starter Kit makes it easy to develop two essential components of every Slack app Listening for user interactionsDrawing a user interface Responding to eventsIf you ve ever developed a front end web app using JavaScript or CSS you re probably familiar with the basic tenets of event handling Events in this context are defined as the actions a user takes on your website For example a mouse pointer clicking on a link emits an onclick event a pointer linking over a piece of text emits onhover a keyboard keystroke emits onkeypressed and so on Photo by Stephen Phillips Hostreviews co uk on UnsplashIn Slack there s a multitude of events you can listen to ranging from individual events when a message is posted or pinned to global changes when channel names or visibilities are changed to the administrative when an app is installed or a new emoji is uploaded The full list of emitted events is truly impressive The process for listening to an event is as follows First your app needs to define a webhook URL This is a path on your server which can receive POST requests from Slack Next in your App Manifest you identify the events which you d like to capture When an event occurs in a workspace where your app is installed a JSON payload is sent to your app Every event has its own unique payload When your app receives the event from Slack you can do anything you want respond to the user pop open a dialog to ask for more information or simply store some information away in your database There s only one important point to remember you must respond to Slack within three seconds This is to let Slack know that your app received its payload and is working on a response You can do that work in the backgroundーperhaps on a different thread taking as long as you needーbut only after you let Slack know everything is OK Let s take a look at how event handling works in practice Head on over to your App Manifest and scroll down to the bottom of the page near the settings key It should look like this settings event subscriptions request url https lt your app name gt herokuapp com slack events bot events app home opened interactivity is enabled true request url https lt your app name gt herokuapp com slack eventsThis section identifies where Slack should send its payload once an event occurs The bot events key already defines one event to listen to app home opened which is triggered once your app is opened in Slack Now open up the local copy of your Starter Kit in your IDE navigate to apps slack salesforce starter app listeners events app home opened js As we saw in the last post the Starter Kit has an opinionated directory structure to resolve any ambiguities as to where modifications should be made In this case the events folder is responsible for defining all of our event responses just like the shortcuts folder defined our slack command in the previous article Search for the first occurrence of the following line client views publishAs the method name implies this function uses a Slack SDK to call an API named views publish The main view for this event is created by a function called authorization success screen which can be found in apps slack salesforce starter app user interface app home auth success js Let s make a few changes to these files On line add this line to fetch the timestamp of the event let event ts event event ts Change both authorization success screen calls to include this variable as a new argument view authorization success screen currentuser username event ts Finally open up auth success js change the method signature to include event ts and modify the displayed string to include this information use strict const HomeTab Blocks require slack block builder const authorization success screen username event ts gt preceding code remains unchanged Blocks Section text It s event ts and you are successfully authenticated to Salesforce as username continued code remains unchangedCommit this change and deploy it to Heroku as before git add git commit m Add event timestamp git push heroku mainWhen the deployment is done navigate to your app s tab in the left hand Slack menu You should see a different string which shows the timestamp of when you opened the app Creating a UIResponding to app home opened can be a useful event to listen to whenever your app needs a centralized location to fetch data Because of this our next step will be to fetch data from Salesforce and present it in our Slack UI To design and present layouts Slack provides a system known as Block Kit Just as HTML is a markup language for the web and Visualforce is a markup language for Salesforce Block Kit is a markup language for Slackーexcept it uses JSON For example here s what a button designed in Block Kit might look like type button text type plain text text Save style primary Block Kit ensures that every Slack App has a consistent user interface Because of this there s a limited set of UI elements that you can use When working with Block Kit you design your layout in JSON Then you use the Slack API to POST that JSON to a channel tab or direct message We already have a system in place for listening to an event and presenting text so let s build on that foundation Before we work in Slack though let s add some data to our fresh Salesforce org To launch your browser directly to your Salesforce org you can run the following command sfdx force org openIn the Setup menu search for the Data Import Wizard Choose CSV as your data type then copy paste the following lines into a new file called data csv Contact First Name Contact Last Name Contact DescriptionArden Isabela Lorem ipsum dolor sit ametRowina Arti Proin a est sit amet quam varius efficitur Aislin Oedipus Praesent et euismod semSindri Filbert Proin facilisis sit amet libero vulputate sodalesCyril Gratien Nulla at massa eu turpis venenatis egestasUpload this file as your data source Importing this data should only take a minute or two You can navigate to the Contacts tab if you d like to be extra sure and verify that these names exist Next we re going to make changes similar to the ones we made before when adding the event timestamp A variable called conn is available to use which serves as a connection to Salesforce We can use it to query for Contact data which is what we re interested in displaying in Slack Navigate to apps slack salesforce starter app user interface app home auth success js We ll await the resolving of the promise in this function and we ll include the existing connvariable as a new argument view await authorization success screen currentuser username event ts conn And once again open up auth success js and change the method signature to include conn You also need to declare the function as async use strict const HomeTab Blocks require slack block builder const authorization success screen async username event ts conn gt continued code remains unchanged for nowNext with this connection we re going to issue a query to Salesforce to get our newly created Contact records We ll then display them in the Home tab of our Slack app Since we already have a connection to Salesforce fetching the data is as easy as issuing an SQL query Place this code right before the place where the homeTab variable is defined const result await conn query SELECT Name Description FROM Contact let records result records let fields records map record gt return record Name record Description Then at the bottom of the blocks method call add these lines which represent the UI you re constructing out of Block Kit Blocks Section text It s event ts and you are successfully authenticated to Salesforce as username Blocks Header text Contacts Blocks Divider Blocks Section text fields join n If you navigate back to your Slack App s Home tab you ll see your organization s list of contacts Learning moreWe ve built a Slack app that fetches data from Salesforce and presents that data in a UI using a framework called Block Kit In our next post we ll send data from Slack back to Salesforce Before then you might want to familiarize yourself with how Block Kit works Slack provides the Block Kit Builder which is a playground for their UI elements Under the hood the Slack Starter Kit uses the Block Builder to simplify the UI assemblage we worked with 2022-04-05 13:38:35
海外TECH DEV Community The Transformative Effect of Automation in Healthcare https://dev.to/stevedavid/the-transformative-effect-of-automation-in-healthcare-1j23 The Transformative Effect of Automation in HealthcareThe Transformative Effect of Automation in HealthcareAutomation is transforming every industry that it comes into contact with It greatly improves efficiency productivity and minimizes mistakes by reducing the need for human intervention The same holds true even for healthcare Hospitals as well as outpatient care centers deal with a considerable load of operational tasks The bigger the organization the greater the workload Healthcare automation can ease that load and boost the efficiency of workflows Until automation was rolled out a few years ago people had to call up the hospital wait for the line to free up have the available time slots told to them and then finalize a time On the other end of the line a member of the staff would have had to attend each call check a calendar for availability and inform patients If a patient couldn t attend for any reason they had to call again and go through the whole process all over again However the growth of automation in medical workflows has led to the development of applications that make the whole appointment process simpler Using these people can just log in to a website or browse their smartphone to check for available appointment slots and select one with just a few clicks Moreover if any patient wants to reschedule he or she can do so without hassles This functionality eases the burden on the staff at the provider organization and even reduces staffing requirements The procedure for providers to get reimbursed in America is a long complicated one It involves verifying each patient s insurance eligibility documenting their clinical visit coding the services delivered and filling out claims to be submitted to the payer Needless to point out this entire process is highly prone to mistakes that can delay or even lose reimbursements But software for automating healthcare processes in billing would streamline workflows and accelerate the entire procedure of billing Claims can be filled with a few clicks and the software checks them before submission The entire process of medical coding and billing is accelerated and the errors minimized As a result providers can plug losses in revenue and enjoy timely reimbursements Larger the hospital greater the need for such automated healthcare systems They help reduce overhead in terms of staffing allow clinicians to focus more resources on care and also improve the overall patient experience Whether it s a large hospital in a metropolitan location or a small clinic with one doctor investing in a medical automation solution for coding and billing goes a long way in improving revenue cycles A promising domain within medical automation systems is the ability to gather medical data from patients outside clinical environments for processing This data is harnessed from IoT based devices like smartwatches and Fitbits smart wearables and remote patient monitoring devices Medical information like blood pressure heart rate physical activity and body temperature can be assessed using advanced health analytics to identify patients at higher risk of disease or impending medical emergency This is especially useful for patients with chronic conditions and elders living in assisted living centers In case of medical emergencies lurking around the corner analysis of long term health data automatically warns doctors well before full blown symptoms require hospitalization Healthcare automation has shown great promise in improving clinical operations and addressing challenges in the medical industry It has been receiving increasing amounts of investment across the globe We can look forward to a better healthcare industry that is more capable efficient and equitable 2022-04-05 13:31:54
海外TECH DEV Community Geocoding Against Custom Geography with Geocod.io & Turf.js https://dev.to/adamkatora/geocoding-against-custom-geography-with-geocodio-turfjs-54o3 Geocoding Against Custom Geography with Geocod io amp Turf jsFor most of my geocoding needs Geocod io more than fits the bill Their API provides a fast and simple way to convert addresses into geographic coordinates get congressional or state legislative districts and much more I d recommend giving their API docs a read if you have an upcoming project that you need geocoding for Full disclosure I m NOT sponsored by Geocod io I just like using their service and it makes my life easier Despite all these great features there are some instances where we need to check against geographic boundaries that Geocod io doesn t have An example of this would be seeing if someone s address is inside a specific City or County Council district Fortunately we can use turf js to extend Geocod io s functionality to fit our own specific needs The foot overview To give you the gist of what we ll be doingt First we ll still use Geocod io to convert our Address into latitude and longitude coordinates Doing so allows us to take those coordinates and work with them through the turf js module Next we ll take the geoJSON file of our custom geography and use the node geojson module to extract the features more on these later into a format we can pass into turf js as a polygon Once we have those two things ready to go we ll use a turf js function booleanPointInPolygon to check if our coordinates is inside one of those polygons If that all sounds a bit confusing now don t worry things will make more sense once we see it in action and also once we start visualizing some of our spatial data The Code Let s start with a fresh project I m creating a new directory called turf tut to hold our working files in Create that directory then cd inside and run the following commands to install our dependencies npm install geocodio library node node geojson turf turfnpm install dotenv save devEverything should be pretty self explanatory here the only thing that might look a little weird is that we ll be installing dotenv as a dev dependency to store our Geocodio API Key It s a bad idea to hard code API keys Once that finishes installing update your package json file to add the following start script Your final package json should look something like this Note the version numbers to the right of your packages might be different from mine If you copy paste this entire json file you ll need to re run npm install which will reinstall all these packages from the package json file scripts start node r dotenv config index js dependencies turf turf geocodio library node node geojson devDependencies dotenv Create a env file and add the following line to it GEOCODIO API KEY HelloWorld Finally create an index js file and add the following code const GEOCODIO API KEY process env GEOCODIO API KEYconst Geocodio require geocodio library node const geocoder new Geocodio YOUR API KEY const geoJSON require node geojson const turf require turf turf async function main console log GEOCODIO API KEY main Now if we run npm start we should see the below response ❯npm start gt start gt node r dotenv config index jsHelloWorld Take note that since we called r dotenv config in our start script we could access those env vars through the process env object without having to configure that in our code You ll also notice that we re executing our code inside async function main this is to avoid issues with top level awaits a topic that I won t go into here Before we can dive into writing code we have final setup steps downloading some geoJSON data to work with and setting up a Geocod io account For geoJSON go to and select City Council Districts Clipped to Shoreline and click the globe that says GeoJSON You ll be redirected to a text webpage with the GeoJSON data save the data from that website or grab the file from the example repo Data Side Note When working with public data like this especially datasets that deal with things like legislative districts it s important to note that the possibility of the data being inaccurate or incomplete always exists Just be aware that nyc gov provides this data as is for informational purposes only as stated in their disclaimerFor Geocod io go to dash geocod io register sign up for an account then once you re logged in hit the API Keys button on the left hand sidebar then hit the Create an API Key button The only permissions we ll need are GET v geocode Give your key a name save it then you should be able to copy your key and paste it into the env file we created earlier in the GEOCODIO API KEY variable Let s return to our index js file and start building out our geocoder With your API Key now stored as a env variable we can update our index js change the Geocodio config line like below const geocoder new Geocodio YOUR API KEY lt Change thisconst geocoder new Geocodio GEOCODIO API KEY lt To this Then update our main function async function main var geoResponse await geocoder geocode City Hall Park New York NY console log JSON stringify geoResponse null var lng geoResponse results location lng var lat geoResponse results location lat var pt turf point lng lat console log Our coordinates are lng lat console log Our point is pt It s only a few lines of code but we have a lot going on here To start we create a variable geoResponse and set it equal to the value of the promise returned from geocoder geocode In the above code I supplied the address City Hall Park New York NY that is as you probably could assume the address for New York City Hall Next we console log the response I just used JSON stringify to make sure everything gets printed so you can see what the API response schema looks like you could also check the docs for this Then we extract the Longitude and Latitude from our geocoder geocode response and store them as variables Next we create a variable pt which we set as a turf point Note that the point function accepts a single array of Longitude Latitude Turf js uses the longitude first convention as does GeoJSON If you take those coordinates and plug them into Google Maps they ll need to be latitude first so it s good to keep track of this while we work Finally I console log our coordinates array as well as the turf point pt After running npm start again you should see an output similar to the following ❯npm start gt start gt node r dotenv config index js input address components city New York state NY zip country US formatted address New York NY results address components city New York county New York County state NY zip country US formatted address New York NY location lat lng accuracy accuracy type place source TIGER Linedataset from the US Census Bureau Our coordinates are Our point is type Feature properties geometry type Point coordinates Great we now have a means to convert an address into lng lat coordinates and convert that into a turf js point If you ll recall back to our ft overview that s one of the two input parameters we need for booleanPointInPolygon So let s now turn our attention to our geoJSON file If you haven t worked with geoJSON before it might be worth briefly familiarizing yourself I m by no means an expert on GeoJSON but I ll do my best to explain enough to get through our use case GeoJSON is valid JSON ie you can save the file as either a json or geojson however GeoJSON has a pre defined format for how its data should be structured which allow different applications to share GeoJSON between them Here s an example of GeoJSON data type Feature properties name Dinagat Islands geometry type Point coordinates If that looks familiar it s because our turf point from earlier is actually valid GeoJSON itself Taking a closer look at the geojson file you ll also notice that the first value type is equal to Feature In this case features refer to Simple Features which are things like points lines polygons multi points etc think back to high school geometry Additionally geojson files can have the type of FeatureCollection which again you probably guessed is comprised of a collection of Features FeatureCollection is the type of the NYC Councilmanic districts file that we downloaded earlier Another great tool is this online geojson editor courtesy of Tom MacWright You can either copy paste the contents of our geoJSON file onto that website or use the file upload feature to load it up After loading the file you ll see a map of New York City with various polygons overtop of city limits Each of those polygons is a distinct City Council district and is a geoJSON Feature See told you it d be easier to visualize If you try clicking on a specific polygon you ll see that geojson io shows a pop over tooltip with more info about that polygon This additional info is the properties value on our GeoJSON file In the below image I zoomed in on the map to City Hall and clicked the polygon to pull up the properties for that feature You can see that it has the properties OBJECTID CounDist Shape Area Shape Length The other properties geojson io adds so that you can change the polygon line amp fill colors etc Just disregard those The property that we re interested in is CounDist that refers to the number of the NYC Council District Side Note The properties Shape Area and Shape Length were included on the geoJSON file when we downloaded it GeoJSON doesn t automatically compute those values for you But Turf js has the area function that you could use to implement size calculation if you wanted Geojson io also has a nice feature Table view which further helps understand how our geojson data works If you click a cell in the Table view of our geojson file you ll see the map zooms you to be centered on that polygon You ll also notice that you can edit the contents of the cell I mentioned this earlier but the table view really highlights it the OBJECTID field Council District Turning our attention back to index js you can comment out our existing console log calls for now add the following new code inside our main function at the bottom var geodata await geoJSON createUsingFile nyc city council json var features geodata GetAllFeatures features forEach feature gt console log feature properties In this new section of code we re creating a new variable geodata and setting it s value to the return of geoJSON createUsingFile That does things it loads our geoJSON from file into memory so our application can manipulate the geoJSON file but we also get access to some nice helper functions from the node geojson module such as GetAllFeatures which we use in the next line to save each of the features from our geoJSON file into a new array And as we just saw each feature in our geoJSON is a file so when we call the forEach function over our features array we console log the properties of each feature which should be OBJECTID CounDist Shape Area Shape Length After updating the code and running npm start again you should see output like the following gt start gt node r dotenv config index js OBJECTID CounDist Shape Area Shape Length OBJECTID CounDist Shape Area Shape Length rest OBJECTID CounDist Shape Area Shape Length Finally update our features forEach loop to the following features forEach feature gt THIS IF ELSE IF VERY IMPORTANT if feature geometry type Polygon var poly turf polygon feature geometry coordinates else if feature geometry type MultiPolygon var poly turf multiPolygon feature geometry coordinates var isPointInPoly turf booleanPointInPolygon pt poly if isPointInPoly console log Your point is in Council District feature properties CounDist Once again we ve added only a few lines of code but there s a lot going on here So let s break it down The first thing we do is check if our feature is of type Polygon or MultiPolygon It is very important we run this check because if we try passing a MultiPolygon geoJSON feature to the Polygon turf js we ll get a confusing error message and spend a couple hours banging our heads against a keyboard until we figure it out Don t ask me why I know that Once we have our correct polygon type we then pass our point pt from earlier and polygon into the turf booleanPointInPolygon function That function again this is kinda obvious here checks if the point is inside the polygon and if so returns True Finally if we hit a match we console log back to the user which feature aka council district the match was in For clarity I saved the result of booleanPointInPolygon to a new variable but you could just as easily run the if check on the function itself From looking at the pdf map on the nyc gov site I know that City Hall should be in district but now for the moment of truth Can our app figure that out After saving index js run npm start one last fateful time gt start gt node r dotenv config index jsYour point is in Council District It s a thing of beauty Look out Uber Extra Credit If we really want to test how well our Geocoder does let s pull an address off Governor s Island to see if the MultiPolygon is really testing all the polygons Originally I wanted to use the address Statue of Liberty because the GeoJSON file from ny gov indicated it was also in Council District There were problems with that though Geocod io had a hard time converting the very non standard address into lat lng coordinates and The Statue of Liberty is technically in New Jersey so I don t know what that s included in the GeoJSON file Since resolving inter state disputes is also outside the scope of this tutorial I pulled the address for Taco Vista a TexMex restaurant at Carder Rd New York NY instead Sounds tasty Change line in index js to geocoder geocode Carder Rd New York NY then run npm start Once again Council District ConclusionGeoSpatial data can be really fun and really frustrating to work with I hope this example was helpful for someone looking to get their toes feet and dive into working with spatial data geoJSON and turf js more A good further extension of this project would be to integrate it into Express js as a backend api then use Mapbox or leaflet js to build a frontend to display the points and polygons on a map 2022-04-05 13:31:24
海外TECH DEV Community Curiosity | A Valuable Trait for Software Engineer https://dev.to/tahirraza_se/curiosity-a-valuable-trait-for-software-engineer-4bai Curiosity A Valuable Trait for Software EngineerDo you know Albert Einstein has a quote sayingI am neither especially clever nor especially gifted I am only very very curious Albert EinsteinThis quote changed the way I think about learning new things Now every time I want to or have to learn something new it s not a problem anymore because now I am actually really curious about things And in my opinion Curiosity is a trait that every software engineer should have to grow as a professional The field of software development evolves at a really fast pace every day there is something new to learn a new update of the packages you are using a new security vulnerability found which you have to patch It s like a continuously erupting volcano of knowledge all around us For example if you hear a word like Kubernetes and you are curious about it you can learn something new about it today And if you are someone like me you will start by learning the meaning of the name and where it comes from and get familiar with it quickly Like I just found out the word Kubernetes comes from an old Greek word for “helmsman someone who steers a ship like a container ship which also gives a hint about the ship wheel logo So as the name suggests it is something that steers or in other words orchestrates and it s exactly what it does Kubernetes is an open source container orchestration system for automating software deployment scaling and management Google originally designed Kubernetes If you curious key term in this definition of Kubernetes leads to learn something new for example these words Open source ContainerScalingDeploymentSo what s the conclusion if you are curious you can learn something new every day and you can have fun along the way so keep learning and keep coding 2022-04-05 13:28:48
海外TECH DEV Community The tale of the triathlete and C++ performance https://dev.to/imaculate3/the-tale-of-the-triathlete-and-c-performance-1g7a The tale of the triathlete and C performanceLet s solve the problem of the triathlete who wants to get a rough idea of their training efforts using C Given that running is twice as hard as biking and swimming is four times as hard as running she wants the weighted sum of all her activities provided as a list where an activity is made of distance and type There is enough clarity to the problem so lets get to it VThe most straight forward solution looks like the function below double calculateTriathleteEffortV vector lt int gt distances vector lt string gt types double result for int i i lt distances size i int distance distances i string type types i if type swim result distance else if type run result distance else if type bike result distance return result It sums up the activities distances weighted by respective factors It works just fine and runs in an average of microseconds per run over million runs If we have to calculate this for billions of athletes it will not scale V Bit ManipulationAn easy way to optimize this is by using replacing multiplication with bit shift operations This is possible because the factors are multiples of and bit shifts are generally faster than arithmetic operations double calculateTriathleteEffortV vector lt int gt distances vector lt string gt types double result for int i i lt distances size i int distance distances i string type types i if type swim result distance lt lt else if type run result distance lt lt else if type bike result distance return result The V function above runs in microseconds Surprisingly this optimization has made things worse The explanation lies somewhere in the assembly output The compile command below saves the intermediate files including the assembly file which we should examine g save temps fverbose asm test athlete cpp o test athlete exeThe instructions from V and V are practically the same so it looks like the compiler does a better job at this optimization than us test athlete cpp result distance movl rbp eax distance tmp sall eax test athlete cpp result distance cvtsisd eax xmm movsd rbp xmm result tmp addsd xmm xmm tmp tmp movsd xmm rbp tmp result jmp L test athlete cpp result distance lt lt movl rbp eax distance tmp sall eax test athlete cpp result distance lt lt cvtsisd eax xmm movsd rbp xmm result tmp addsd xmm xmm tmp tmp movsd xmm rbp tmp result jmp L We are therefore better off with multiplication so we have to look for the gains elsewhere V BranchesV branches between activity types using if else if statements where each if statement is processed in the arbitrary order we have set swim gt run gt bike even though each case is independent of the others Using switch case statements allows the compiler to generate jump tables which are faster We will attempt that and to do that we have to change the data type of activity type to enum because strings can t be used in switch case statements typedef enum RUN BIKE SWIM Type double calculateTriathleteEffortV vector lt int gt distances vector lt Type gt types double result for int i i lt distances size i int distance distances i Type type types i switch type case SWIM result distance break case RUN result distance break case BIKE result distance break return result This not only eliminates expensive if else if jumps also but string comparison of activity types and the results do speak for themselves V runs in an average of microseconds per run almost twice as fast This is definitely an optimization we want to keep Can we do better Probably lets try eliminating jumps altogether V BranchesWe can eliminate branches by using a look up table to translate activity types to multiplication factors typedef enum RUN BIKE SWIM Type int factors double calculateTriathleteEffortV vector lt int gt distances vector lt Type gt types double result for int i i lt distances size i int distance distances i Type type types i result distance factors type return result V runs in an average of microseconds per run marginally better than V The cost of jumps is replaced by array access which is only borderline faster Although marginal it is still faster we ll therefore carry it forward as we continue to look for more performance opportunities We have gone as far as we can to optimize the algorithm lets try tweaking the data structures V Constant vector referencesWe didn t give a lot of thought into the function API it accepts vectors which are passed by value even though they are only read in the function We can correct that bya Passing the vectors by reference this should shave some time that is spent copying all elements b Marking the vectors as constant to ensure the function doesn t change the original vectors double calculateTriathleteEffortV const vector lt int gt amp distances const vector lt Type gt amp types double result for int i i lt distances size i int distance distances i Type type types i switch type case SWIM result distance lt lt break case RUN result distance lt lt break case BIKE result distance break return result V runs in an average of microseconds per run almost x faster than V It might be hard to hard to top that but lets try changing the parameters from vectors to static arrays V Array parametersThere is no need to pass dynamically sized vectors when the size never changes Vector elements reside in the heap which makes access slower Alternatively accessing static arrays elements is faster because they are on the stack Arrays are passed to functions as pointers therefore we need not worry about copying on passing by value double calculateTriathleteEffortV int distances Type types int size double result for int i i lt size i int distance distances i Type type types i switch type case SWIM result distance lt lt break case RUN result distance lt lt break case BIKE result distance break return result V above runs in an average of microseconds per run almost twice as fast V and significantly faster than V We can probably do better but we ll stop here The table summarizes the gains or losses each version brought FunctionTime us Delta from previous Delta from V VV VVVVWe have witnessed a speedup of almost in our function applying very practical tweaks some of which didn t work It is therefore very important to measure if attempted optimizations are working The journey to performance doesn t end here there is probably more ways to make it run faster and a lot more ways to reduce the memory footprint Benchmarks and profiling should guide these decisions In the meantime our triathletes will definitely appreciate the runtime improvements 2022-04-05 13:27:45
海外TECH DEV Community How to Handle Reactivity in Svelte https://dev.to/smpnjn/how-to-handle-reactivity-in-svelte-1p5k How to Handle Reactivity in SvelteSvelte like most frontend frameworks is a reactive language That means data updates translate straight into UI updates Let s look at how reactivity works in Svelte If you re brand new to Svelte read my guide on getting started with Svelte here Reactivity in SvelteAt its most basic variables are generally reactive in Svelte For example creating a component like this will result in a live updating counter displayed within the button lt script gt let x const addToCounter function x lt script gt lt button id counter on click addToCounter gt x lt button gt lt style gt button background ffb border radius px border none font weight bold cursor pointer padding rem rem color white font size rem lt style gt Above x is increased by one every time the button is clicked We do this with on click addToCounter The x displayed in counter is automatically increased and displays the new value on every click In that way Svelte provides reactivity out of the box so it s really easy to intuitively understand what s going on Svelte also provides some more advanced reactivity features Reactive CalculationsIn some scenarios we want to update a value like x and then do a calculation on it We may then display that within our UI somewhere For example lt script gt let x let bigX x const addToCounter function x lt script gt lt button id counter on click addToCounter gt bigX lt button gt lt style gt button background ffb border radius px border none font weight bold cursor pointer padding rem rem color white font size rem lt style gt Above we want to show our calculated bigX value within the button tag which should equal x Upon clicking the button x will increase by one and therefore we d expect bigX to also react However in Svelte this will not work as calculated values like this aren t inherently reactive As such we need to tell Svelte that bigX should also react To do that we replace let with The below code will now update bigX every time x is updated and display it within our button lt script gt let x bigX x const addToCounter function x lt script gt lt button id counter on click addToCounter gt bigX lt button gt lt style gt button background ffb border radius px border none font weight bold cursor pointer padding rem rem color white font size rem lt style gt Reactivity Principles in SvelteSvelte intelligently understands that if bigX x and we want bigX to be reactive that it should only update if x is updated Reactive blocks in SvelteIn the same way that we can make independent variables run again whenever something within them changes we can do the same for block statements For example let s say we want to check if x is equal to If we write the following it won t do anything let x if x console log x is x const addToCounter function x That s because on initiation x is and the if statement only runs once If we want it to run every time x updates we add to the start let x if x console log x is x const addToCounter function x The same can be done with curly bracket block statements alone For example the below code console logs x any time it changes let x console log x const addToCounter function x Out of all the frontend frameworks Svelte perhaps makes reactivity the most easy If you ve enjoyed this article you can find more Svelte content here 2022-04-05 13:26:46
海外TECH DEV Community How to better design website layouts and elements - Part 1 https://dev.to/itsrakesh/how-to-better-design-website-layouts-and-elements-part-1-594d How to better design website layouts and elements Part Small things create a bigger impact on the overall design of your website In a previous blog on web design principles I shared four pillars of web design you must follow Now let s see some rules best practices and how to better design different website elements Following these you can take better design decisions for your website elements easily Let s get started Hero layoutHero section is the first thing people see So here are some different ways you can design it Slipt ScreenThis is the most common layout we see on most websites where we put images on one side text and call to action on another side Here balance should be maintained for image and text imagine this like two equal width columns Example Feature highlight layoutThis layout is used when we want to highlight the top feature that instantly grabs the user s attention You often find this layout with big text followed by a call to action button followed by a big image or video Example Featured imageThis layout introduces their brand with an image of their product These layouts make sense when your brand is a single product like a shoe brand a mobile brand etc Example Other layouts similar to this layoutImage carouselVideo imageImage as background BoxesThese type of layouts quickly grabs visitors into their products without letting them waste their time scrolling We often found e commerce websites using this layout Also this layout will be more effective if your brand is popular enough that visitors don t even need an intro to your brand Example Try out nowThis layout quickly gives access to try the product from the hero section itself without signing up This is like going shopping trying the product take it or leave it Example These are some popular hero layouts most websites use Each layout has a different impact on visitors So think before you decide on a layout Button designThe four stages in the life cycle of a button Attract the visitorTell the visitor they are about to click the buttonTell the visitor they clicked the buttonGive feedback Optional When you design a button make sure it goes through at least the first stages of its life cycle Attract the visitorFirst make visitors feel it s a button A button should contain a background colour text icon and a small shadow that brings a d effect to the button and makes it feel like a button Some rules and guidelines Padding It is recommended to have x height as width for spacing between text and border in a button Priority Design buttons based on priority Prioritize based on importance Safe area Leave some space around the button as a safe area Why Safe area helps avoid overlap between two buttons and helps in the accessibility of buttons when the user navigates the website by tabbing a blueish shadow appears around the button Use icons Icons Text combined buttons attract more than normal text buttons Always place icons on the left and text on the right But if you are giving directions you are free to put them on the left or right Tell the visitor they are about to click the buttonThis step can be achieved by adding a hover effect and add a shadow ring around the button for accessibility A slight brightening or darkening of the existing colour is enough or if there is an icon text combo add a little animation I see people overdo this step it may look cool but not a better UX Tell the visitor they clicked the buttonAdd a click effect to achieve this step Give feedback Optional Give feedback after a button click In some cases this step is not required in some cases it is highly recommended Feedback can be a popup or a toast or within the button Let s say we are giving the feedback within the button Feedback is of two types Waiting feedbackCompletion feedbackWaiting feedback This feedback tells the visitor some operation is going on please wait We often find this in loading operations Completion feedback Tell the user whether the operation is successful or failed or something This feedback is not always necessary That s all about designing a button This is becoming big so I divided this article into two parts Part in the next article In the meantime read this if you haven t already Web design principles with examples Rakesh Potnuru・Nov ・ min read webdev beginners design I write every week Follow for more 2022-04-05 13:24:31
海外TECH DEV Community Operating System Concepts 9th edition notes https://dev.to/zajblahaj/operating-system-concepts-9th-edition-notes-10k4 Operating System Concepts th edition notes Part Overview Chapeter Introduction What Operating Systems Do System ViewAn operating system is the heart of computers mobiles and other computing devices that helps operate the hardware and software OS carry out the most commonly required operations Process ManagementMemory managementFile System ManagementIO System ManagementProtection and Security Process Management 2022-04-05 13:22:11
海外TECH DEV Community How the alias Command works on Linux https://dev.to/smpnjn/how-the-alias-command-works-on-linux-19f How the alias Command works on LinuxWe ve covered a lot of linux commands and it s sometimes necessary to write the same command over and over again On Linux and other Unix like systems we can use the alias command to avoid the drudgery of typing the same thing over and over again It lets us make custom commands that will run a specific command of our choosing The alias command has no options so it can simply be written as shown alias NAME STRING How the alias Command works on LinuxLet s say we are constantly using the cd command to move into our documents folder Instead of writing cd Documents every time we can define a new command which runs cd Documents I m going to call it gtd go to documents alias gtd cd Documents Now all we have to type into our terminal to go to our documents folder is gtd and it ll run cd Documents You can literally create any custom command with alias Here is another example where we create a command mtf which moves my file txt in the current folder to test my file txt alias mtf mv my file txt test my new file txt Alias only lasts for the sessionThe only thing to note about alias is that the commands created are not permanent If you close the terminal window you ll lose them so they provide a nice efficiency boost for a session but need to be redefined if you want to create them again This is so you don t end up with many unused commands sitting around and taking up name spaces unalias CommandIf you think you ve made a mistake and want to remove an alias command then just use unalias For example to remove our mtf command we can run the following unalias mtf 2022-04-05 13:18:11
海外TECH DEV Community Celebrate quitting https://dev.to/koenighotze/celebrate-quitting-2j61 Celebrate quittingCompanies celebrate when people join They post on LinkedIn They post photos of great swag They send introductory mails to co workers All what is missing is fireworks But sometimes co workers quit People quit their company for various reasons Some bad like terrible projects or leaders Some quiet good Maybe a new exciting opportunity in a different part of the economy Maybe the person wants to try something new Who knows Regardless of the reasons we as leaders should treat quitting the same way we treat joining In an open honest and transparent way Otherwise people will fill this information vacuum with rumors And we can be sure that these rumors will be worse than the true story My suggestion is to at least write a short mail to the co workers Talk about the person s growth and about the person s impact on other people Remember the successes projects and challenges Recall some funny anecdotes But be careful that this is indeed funny and not embarrassing And do not forget to thank the leaving person Don t resent that you are losing a colleague If you are sad that a person quit then this is a testimony to the quitter Don t be happy because you are losing a valuable colleague But be happy for that person because her journey continues And remember it is a small world Leavers may come back later So let s make sure the door stays open 2022-04-05 13:17:53
海外TECH DEV Community Why I decided that I must live my life on my terms. https://dev.to/hugohamelcom/why-i-decided-that-i-must-live-my-life-on-my-terms-2bp0 Why I decided that I must live my life on my terms Yesterday I was talking to my partner and even though I had heard Alex Hormozi mention that We re all going to die it doesn t matter who we are I had never had the click that I needed to have to feel it We re all going to die one day and we don t know when that day will be I ve spent my whole life trying to find my purpose where I was simply disappointed most of the time and I was always looking at other people and comparing myself But now I can finally say that I am slowly feeling like I am finding it with more clarity For that reason as scary as it might be I decided that I needed to stop being scared of things that weren t going to help me achieve the goals that I have set for myself The one is to make sure that I always focus on doing something that I love The second one is to enjoy the process and the journey that comes with doing what I love Basically I want to grow old doing what I love not feeling that I am working More specially what that means is building solutions that solve problems help people and improve how things are being done innovate What s that one thing for you 2022-04-05 13:11:50
Apple AppleInsider - Frontpage News #AppleToo founders in legal battle accusing each other of harassment https://appleinsider.com/articles/22/04/05/appletoo-founders-in-legal-battle-accusing-each-other-of-harassment?utm_medium=rss AppleToo founders in legal battle accusing each other of harassmentThe two founders of the anti harassment campaign AppleToo are embroiled in a complex series of accusations against each other which have resulted in a restraining order Ashley Gjovik left source LinkedIn and Cher Scarlett source GoFundMe Apple software engineer Cher Scarlett and senior manager Ashley Gjovik spearheaded the AppleToo movement in It gave a voice and an outlet to reportedly hundreds of women who have been discriminated against in Apple Read more 2022-04-05 13:56:23
Apple AppleInsider - Frontpage News Elon Musk joins Twitter board of directors after becoming its largest shareholder https://appleinsider.com/articles/22/04/05/elon-musk-joins-twitter-board-of-directors-after-becoming-its-largest-shareholder?utm_medium=rss Elon Musk joins Twitter board of directors after becoming its largest shareholderTwitter has appointed Elon Musk to its board of directors just one day after the billionaire purchased a stake in the social media company Credit TwitterIn a tweet on Tuesday Twitter CEO Parag Agrawal said he was excited to share that Musk was joining the board adding that through conversations with Elon in recent weeks it became clear to us that he would bring great value to the Board Read more 2022-04-05 13:37:59
海外TECH Engadget Elon Musk will join Twitter's board of directors https://www.engadget.com/elon-musk-twitter-board-of-directors-132707294.html?src=rss Elon Musk will join Twitter x s board of directorsElon Musk isn t just stopping at buying a stake in Twitter ーhe s also have a seat at the table As CNBCreports Twitter is appointing Musk to the company s board of directors He ll be of value as both a quot passionate believer and intense critic quot of the social network according to chief executive Parag Agrawal An SEC filing shows that Musk will serve as a Class II director that is not top tier with a term that expires at the company s annual shareholder meeting The appointment limits the stake Musk can hold He can t own more than percent of common stock during his tenure and for days afterward Twitter co founder and former CEO Jack Dorsey thought well of the deal In a response to the news he believed Musk quot cares deeply quot about the planet and Twitter Musk and Agrawal quot lead with their hearts quot he said It s too soon to say how much influence Musk will have as a director However he recently blasted Twitter for allegedly falling short of quot free speech principles quot and asked the social site s users if they want an edit button He clearly intends to make his presence felt not to mention thumb his nose at the SEC for its crackdown against his finance related tweets I m excited to share that we re appointing elonmusk to our board Through conversations with Elon in recent weeks it became clear to us that he would bring great value to our Board ーParag Agrawal paraga April 2022-04-05 13:27:07
海外TECH Engadget Amazon orders up to 83 launches for its Project Kuiper internet satellites https://www.engadget.com/amazon-project-kuiper-launch-partners-131048042.html?src=rss Amazon orders up to launches for its Project Kuiper internet satellitesAmazon needs partners if it s going to send its Project Kuiper internet satellites to space and the tech giant now has them lined up The company has reached deals with Arianespace ULA and its close ally Blue Origin to offer as many as launches for Project Kuiper over the next five years The arrangements will let Amazon field the quot majority quot of its satellites and is supposedly the largest commercial launch deal to date ULA will provide the most launches with Atlas and Vulcan Centaur rockets ferrying satellites into orbit Arianespace s Ariane will deliver satellites across launches Blue Origin will provide just launches aboard New Glenn although there will be options for up to additional flights There was no mention of who would provide the first launch or a narrower timeframe for when that mission will occur Amazon expects to deploy its first two prototype satellites by the end of this year It s no surprise that Amazon would land such a large deal however If Amazon is going to compete with SpaceX s Starlink it needs guarantees that its satellite constellation will launch in a timely fashion ーSpaceX has already deployed over satellites to date and will use as many as to offer worldwide coverage These deals let Amazon focus on getting Project Kuiper ready for service and spare it the indignity of asking its main rival SpaceX for help with any launches 2022-04-05 13:10:48
海外TECH Engadget Ubisoft’s Rainbow Six series heads to mobile later this year https://www.engadget.com/ubisoft-rainbow-six-mobile-announcement-130047665.html?src=rss Ubisoft s Rainbow Six series heads to mobile later this yearRainbow Six is coming to phones and tablets On Tuesday Ubisoft announced Rainbow Six Mobile a new entry in its long running first person shooter franchise that will be exclusive to Android and iOS devices Set to come out later this year with Ubisoft s Montreal studio leading development the company says the free to play release will bring the “true Rainbow Six Siege experience to mobile Expect five on five matches with your team taking turns to play both offense and defense As with Siege you ll need to use the specific weapons gadgets and skills available to your operator to win UbisoftUbisoft Montreal says it has tweaked the game to make matches shorter but players can look forward to classic Rainbow Six Siege maps including Bank and Border making a return The same goes for game modes like Secure Area and Bomb Starting today players can sign up to take part in a series of upcoming tests Ubisoft plans to hold before the game becomes widely available later this year 2022-04-05 13:00:47
海外TECH Engadget The Olive Max 2-in-1 hearing aids come with adaptive hearing tech https://www.engadget.com/olive-max-2-in-1-hearing-aids-adaptive-hearing-tech-130038724.html?src=rss The Olive Max in hearing aids come with adaptive hearing techOlive Union has started taking pre orders for Olive Max its new pair of hearing aids that doubles as a pair of ordinary wireless earbuds The company says the model was built on top of the success of Olive Pro the in hearing aids earbuds it released back in While Olive Pro looks like a pair of Apple AirPods Max uses a custom built design that wraps around the top the wearer s ear for a quot more stable listening experience quot The new model also serves as a the debut product for Olive s adaptive hearing technology which is apparently its most requested feature nbsp Olive s adaptive hearing tech is powered by an AI that learns and improves the feature the more a user wears the device It then uses machine learning tech to automatically customize Max s sound settings to suit the wearer s current environment The new model also comes with a new voice auto focus feature and a new sound engine that give it the capability to detect voices better as well as to more effectively reduce and filter background noise Olive claims Max is capable of separating voices from noises with such quot incredible accuracy quot that it won t distort the user s own voice while it s filtering out ambient sounds nbsp The Olive Max is an FDA Class hearing aid that works for people with mild to severe hearing loss It can last for up to hours on a single charge though its charging case can extend its battery life for up to hours It also only takes five minutes to set up using its accompanying iOS or Android app The model is now available for pre order for and will start shipping in the fourth quarter of After the promo ends Olive Max will be sold for 2022-04-05 13:00:38
Cisco Cisco Blog How COPE leverages esports to inspire youth success https://blogs.cisco.com/csr/how-cope-leverages-esports-to-inspire-youth-success How COPE leverages esports to inspire youth successShae Williams cofounded nonprofit COPE to assist parents and their children to get the most from esports She will speak at an upcoming Women Rock IT event 2022-04-05 13:00:45
ニュース BBC News - Home Bucha killings: Satellite image of bodies site contradicts Russian claims https://www.bbc.co.uk/news/60981238?at_medium=RSS&at_campaign=KARANGA bucha 2022-04-05 13:42:52
ニュース BBC News - Home Bobbi-Anne McLeod: Man admits teenager's murder https://www.bbc.co.uk/news/uk-england-devon-60987941?at_medium=RSS&at_campaign=KARANGA plymouth 2022-04-05 13:29:10
ニュース BBC News - Home Can Arslan found guilty of murdering neighbour https://www.bbc.co.uk/news/uk-england-gloucestershire-60995894?at_medium=RSS&at_campaign=KARANGA boorman 2022-04-05 13:45:46
ニュース BBC News - Home Manchester Airport: Police could help tackle 'chaos', mayor says https://www.bbc.co.uk/news/uk-england-manchester-60994073?at_medium=RSS&at_campaign=KARANGA airport 2022-04-05 13:20:20
ニュース BBC News - Home What are Elon Musk's plans for Twitter? https://www.bbc.co.uk/news/technology-60995694?at_medium=RSS&at_campaign=KARANGA board 2022-04-05 13:19:05
ニュース BBC News - Home Business Secretary Kwasi Kwarteng orders scientific review of fracking impact https://www.bbc.co.uk/news/uk-politics-60999026?at_medium=RSS&at_campaign=KARANGA energy 2022-04-05 13:15:53
ニュース BBC News - Home Leah Williamson named England captain for European Championships https://www.bbc.co.uk/sport/football/60993379?at_medium=RSS&at_campaign=KARANGA championships 2022-04-05 13:42:54
北海道 北海道新聞 洞爺湖町長選告示 現職と新人 再び火ぶた https://www.hokkaido-np.co.jp/article/666076/ 真屋 2022-04-05 22:16:00
北海道 北海道新聞 地銀障害、電源機器の故障が原因 システム運用会社が発表 https://www.hokkaido-np.co.jp/article/666069/ 地方銀行 2022-04-05 22:06:00
北海道 北海道新聞 ソ6―3オ(5日) ソフトバンクが開幕8連勝 https://www.hokkaido-np.co.jp/article/666068/ 開幕 2022-04-05 22:04:00
ビジネス 東洋経済オンライン 中国スマホ「シャオミ」、海外売上高が5割に迫る 2021年の総売上高3割増、調整後純利益7割増 | 「財新」中国Biz&Tech | 東洋経済オンライン https://toyokeizai.net/articles/-/577995?utm_source=rss&utm_medium=http&utm_campaign=link_back biztech 2022-04-05 22:30:00

コメント

このブログの人気の投稿

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

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

投稿時間:2020-12-01 09:41:49 RSSフィード2020-12-01 09:00 分まとめ(69件)