python |
Pythonタグが付けられた新着投稿 - Qiita |
LINE Messaging API+Ngrok+Python で実験的にLINEボットを開発してみよう Part3会話盛りだくさん編 |
https://qiita.com/Antareskkudo/items/d3601c2c9888712ec49e
|
messagingapingrokpython |
2022-08-11 21:10:53 |
海外TECH |
DEV Community |
Show dev: I built a collection of popover components with Tailwind CSS |
https://dev.to/themesberg/show-dev-i-built-a-collection-of-popover-components-with-tailwind-css-cki
|
Show dev I built a collection of popover components with Tailwind CSSHello devs Me and my friends built a collection of popover components using the utility first Tailwind CSS framework classes and building a JavaScript integration with the Flowbite component library A popover is basically a popup box that shows when hovering or clicking over a trigger element where you can show additional information like a paragraph user profile info and more Here s a preview of one of the popover components In this article I will show you the collection of popover examples and how you can get started using them in your projects Getting startedFirst of all you need to make sure that you have Tailwind CSS and Flowbite installed in your project Install Tailwind CSSYou can either follow the quickstart guide or follow the next steps to install Tailwind CSS Install tailwindcss via NPM npm install D tailwindcssnpx tailwindcss initConfigure the template paths inside the tailwind config js file type import tailwindcss Config module exports content src html js theme extend plugins Create a new src input css file and add the following content tailwind base tailwind components tailwind utilities Compile and watch for changes in CSS npx tailwindcss i src input css o dist output css watchGreat Now that you have Tailwind CSS installed we can proceed by installing Flowbite as well Install FlowbiteInstall Flowbite as a dependency using NPM by running the following command npm i flowbiteRequire Flowbite as a plugin inside the tailwind config js file module exports plugins require flowbite plugin Include the main JavaScript file to make interactive elements work lt script src path to flowbite dist flowbite js gt lt script gt Additionally to your own content data you should add flowbite to apply the classes from the interactive elements in the tailwind config js file module exports content node modules flowbite js If you use Webpack or other bundlers you can also import it like this import flowbite Include via CDNThe quickest way to get started working with FlowBite is to simply include the CSS and JavaScript into your project via CDN Require the following minified stylesheet inside the head tag lt link rel stylesheet href lt current version gt dist flowbite min css gt And include the following JavaScript file before the end of the body element lt script src lt current version gt dist flowbite js gt lt script gt Awesome Now that you have both Tailwind CSS and Flowbite installed in your project you can use the Popover component collection right away Tailwind CSS PopoverInitialize a new popover by adding the data popover target elementId data attribute to the trigger element where elementId is the id of the popover component Source code lt button data popover target popover default type button class text white bg blue hover bg blue focus ring focus outline none focus ring blue font medium rounded lg text sm px py text center dark bg blue dark hover bg blue dark focus ring blue gt Default popover lt button gt lt div id popover default role tooltip class inline block absolute invisible z w text sm font light text gray bg white rounded lg border border gray shadow sm opacity transition opacity duration dark text gray dark border gray dark bg gray gt lt div class py px bg gray rounded t lg border b border gray dark border gray dark bg gray gt lt h class font semibold text gray dark text white gt Popover title lt h gt lt div gt lt div class py px gt lt p gt And here s some amazing content It s very engaging Right lt p gt lt div gt lt div data popper arrow gt lt div gt lt div gt Here s another example where you can use information about a user profile instead of a description Source code lt button data popover target popover user profile type button class text white bg blue hover bg blue focus ring focus outline none focus ring blue font medium rounded lg text sm px py text center dark bg blue dark hover bg blue dark focus ring blue gt User profile lt button gt lt div id popover user profile role tooltip class inline block absolute invisible z w text sm font light text gray bg white rounded lg border border gray shadow sm opacity transition opacity duration dark text gray dark bg gray dark border gray gt lt div class p gt lt div class flex justify between items center mb gt lt a href gt lt img class w h rounded full src docs images people profile picture jpg alt Jese Leos gt lt a gt lt div gt lt button type button class text white bg blue hover bg blue focus ring focus ring blue font medium rounded lg text xs px py dark bg blue dark hover bg blue focus outline none dark focus ring blue gt Follow lt button gt lt div gt lt div gt lt p class text base font semibold leading none text gray dark text white gt lt a href gt Jese Leos lt a gt lt p gt lt p class mb text sm font normal gt lt a href class hover underline gt jeseleos lt a gt lt p gt lt p class mb text sm font light gt Open source contributor Building lt a href class text blue dark text blue hover underline gt flowbite com lt a gt lt p gt lt ul class flex text sm font light gt lt li class mr gt lt a href class hover underline gt lt span class font semibold text gray dark text white gt lt span gt lt spa gt Following lt span gt lt a gt lt li gt lt li gt lt a href class hover underline gt lt span class font semibold text gray dark text white gt lt span gt lt span gt Followers lt span gt lt a gt lt li gt lt ul gt lt div gt lt div data popper arrow gt lt div gt lt div gt Here s an example where you can show a description and image similar to the Wikipedia popovers Source code lt p class font light text gray dark text gray gt Due to its central geographic location in Southern Europe lt a href class text blue underline dark text blue hover no underline data popover target popover image gt Italy lt a gt has historically been home to myriad peoples and cultures In addition to the various ancient peoples dispersed throughout what is now modern day Italy the most predominant being the Indo European Italic peoples who gave the peninsula its name beginning from the classical era Phoenicians and Carthaginians founded colonies mostly in insular Italy lt p gt lt div id popover image role tooltip class inline block absolute invisible z w text sm font light text gray bg white rounded lg border border gray shadow sm opacity transition opacity duration dark text gray dark bg gray dark border gray gt lt div class grid grid cols gt lt div class col span p gt lt div class space y gt lt h class font semibold text gray dark text white gt About Italy lt h gt lt p gt Italy is located in the middle of the Mediterranean Sea in Southern Europe it is also considered part of Western Europe A unitary parliamentary republic with Rome as its capital and largest city lt p gt lt a href class flex items center font medium text blue dark text blue dark hover text blue hover text blue gt Read more lt svg class ml w h aria hidden true fill currentColor viewBox xmlns gt lt path fill rule evenodd d M a L a l a l a z clip rule evenodd gt lt path gt lt svg gt lt a gt lt div gt lt div gt lt img src docs images popovers italy png class col span h full alt Italy map gt lt div gt lt div data popper arrow gt lt div gt lt div gt PlacementYou can also set the position of the popover component relative to the trigger element by using the data popover placement top right bottom left data attribute and its values Source code lt button data popover target popover top data popover placement top type button class text white mb bg blue hover bg blue focus ring focus outline none focus ring blue font medium rounded lg text sm px py text center dark bg blue dark hover bg blue dark focus ring blue gt Top popover lt button gt lt div id popover top role tooltip class inline block absolute invisible z w text sm font light text gray bg white rounded lg border border gray shadow sm opacity transition opacity duration dark text gray dark border gray dark bg gray data popper reference hidden data popper escaped data popper placement top style position absolute inset auto auto px px margin px transform translated px px px gt lt div class py px bg gray rounded t lg border b border gray dark border gray dark bg gray gt lt h class font semibold text gray dark text white gt Popover top lt h gt lt div gt lt div class py px gt lt p gt And here s some amazing content It s very engaging Right lt p gt lt div gt lt div data popper arrow style position absolute left px transform translated px px px gt lt div gt lt div gt lt button data popover target popover right data popover placement right type button class text white mb bg blue hover bg blue focus ring focus outline none focus ring blue font medium rounded lg text sm px py text center dark bg blue dark hover bg blue dark focus ring blue gt Right popover lt button gt lt div id popover right role tooltip class inline block absolute invisible z w text sm font light text gray bg white rounded lg border border gray shadow sm opacity transition opacity duration dark text gray dark border gray dark bg gray data popper reference hidden data popper escaped data popper placement right style position absolute inset px auto auto px margin px transform translated px px px gt lt div class py px bg gray rounded t lg border b border gray dark border gray dark bg gray gt lt h class font semibold text gray dark text white gt Popover right lt h gt lt div gt lt div class py px gt lt p gt And here s some amazing content It s very engaging Right lt p gt lt div gt lt div data popper arrow style position absolute top px transform translated px px px gt lt div gt lt div gt lt button data popover target popover bottom data popover placement bottom type button class text white mb bg blue hover bg blue focus ring focus outline none focus ring blue font medium rounded lg text sm px py text center dark bg blue dark hover bg blue dark focus ring blue gt Bottom popover lt button gt lt div id popover bottom role tooltip class inline block absolute invisible z w text sm font light text gray bg white rounded lg border border gray shadow sm opacity transition opacity duration dark text gray dark border gray dark bg gray data popper reference hidden data popper escaped data popper placement top style position absolute inset auto auto px px margin px transform translated px px px gt lt div class py px bg gray rounded t lg border b border gray dark border gray dark bg gray gt lt h class font semibold text gray dark text white gt Popover bottom lt h gt lt div gt lt div class py px gt lt p gt And here s some amazing content It s very engaging Right lt p gt lt div gt lt div data popper arrow style position absolute left px transform translated px px px gt lt div gt lt div gt lt button data popover target popover left data popover placement left type button class text white mb bg blue hover bg blue focus ring focus outline none focus ring blue font medium rounded lg text sm px py text center dark bg blue dark hover bg blue dark focus ring blue gt Left popover lt button gt lt div id popover left role tooltip class inline block absolute invisible z w text sm font light text gray bg white rounded lg border border gray shadow sm opacity transition opacity duration dark text gray dark border gray dark bg gray data popper reference hidden data popper escaped data popper placement left style position absolute inset px px auto auto margin px transform translated px px px gt lt div class py px bg gray rounded t lg border b border gray dark border gray dark bg gray gt lt h class font semibold text gray dark text white gt Popover left lt h gt lt div gt lt div class py px gt lt p gt And here s some amazing content It s very engaging Right lt p gt lt div gt lt div data popper arrow style position absolute top px transform translated px px px gt lt div gt lt div gt ConclusionYou can check out the whole documentation and examples of the Tailwind CSS Popover Component from the Flowbite Library itself Credits Tailwind CSSFlowbite |
2022-08-11 12:46:00 |
海外TECH |
DEV Community |
Ahead-of-time JitPack Builds with Custom GroupId via GitHub Actions |
https://dev.to/cicirello/ahead-of-time-jitpack-builds-with-custom-groupid-via-github-actions-55cp
|
Ahead of time JitPack Builds with Custom GroupId via GitHub ActionsThis post is a continuation of a series of tips and tricks for JitPack The first post of this series concerned the unique Maven repository called JitPack that builds artifacts of dependencies on demand from a git repository and explained how to configure your repository for successful builds with recent JDK versions essentially covering what I had to do to get JitPack builds to work for one of my libraries that requires JDK Disclaimer I am not affiliated with JitPack and this is not official documentation In this installment we ll see how to use your preferred Maven groupId with JitPack rather than JitPack s default of com github USER or similar for other git hosts More importantly we ll see how to do so effectively with ahead of time builds JitPack is designed for on demand builds but does include a webhook that you can configure in your GitHub or Bitbucket repository to enable ahead of time builds However there isn t a built in way of doing the same for a customized groupId such as the conventional reverse domain name The trick explained in this post may also be useful to those using JitPack with a git host not currently supported by JitPack s webhooks Additionally the trick explained in this post utilizes GitHub Actions workflows but you should be able to adapt the technique to CI CD frameworks of other git hosts or even from a shell script Table of Contents The rest of this post is organized as follows How to use JitPack with a customized groupIdHow to build ahead of time with a customized groupIdGitHub Actions workflows for ahead of time JitPack buildsWhere you can find me How to use JitPack with a customized groupIdMaven Central and other Maven repositories typically use the reverse of a domain or subdomain controlled by a library s publisher as the Maven groupId This is the conventional naming scheme for groupId For example for my libraries I use org cicirello as the groupId on Maven Central for all of my libraries I can also if I wanted to use any org cicirello SUBDOMAIN on Maven Central since I ve verified ownership of the domain itself On JitPack the groupId is instead based on a combination of git host e g GitHub and userid on that git host This is because JitPack builds artifacts on demand from the source repository the first time anyone imports a specific version via git tag branch commit hash etc The prior post of this series has a more detailed explanation of how JitPack works For consistency with artifacts published on Maven Central or elsewhere it would be nice to use the reverse domain approach on JitPack as well And it turns out JitPack does support this You can find the details in the JitPack documentation To accomplish this you configure a TXT record with your DNS provider mapping git yourdomain extension to When you or someone else references your library via a groupId equal to your reverse domain JitPack checks for such a TXT record with your DNS provider discovering the corresponding GitHub or other git host repository It essentially creates an alias on JitPack The result is that via JitPack your library can be imported either via JitPack s default git host repository name approach or with your reverse domain An example for one of my libraries is as follows The default way of importing from JitPack involves adding the following to the pom xml to use this as a dependency lt dependency gt lt groupId gt com github cicirello lt groupId gt lt artifactId gt chips n salsa lt artifactId gt lt version gt lt version gt lt dependency gt But once the domain is configured the following works as well lt dependency gt lt groupId gt org cicirello lt groupId gt lt artifactId gt chips n salsa lt artifactId gt lt version gt lt version gt lt dependency gt The latter is preferred since it matches the dependency specification required if importing from Maven Central Conveniently for me the repository name for this library is identical to the artifactId that I was already using on Maven Central because JitPack doesn t provide a mechanism for using an artifactId that differs from repository name Note however that JitPack has an odd behavior that each of the above cases is treated as if they were distinct The first time the artifact is imported using com github cicirello will require a build and the first time that anyone imports using org cicirello will also require a build Thus it is not exactly creating an alias Both will build the library producing jar files with identical contents but with different names to the jar files as if they were distinct artifacts How to build ahead of time with a customized groupIdAlthough JitPack is designed to build artifacts on demand once built future requests by you or others for the same version no longer require a build Thus although the first import suffers the delay of waiting for a build subsequent imports are as fast as most other Maven repositories note I have not actually timed this but there is no human discernible difference that I can see once built If you are simply using the git host username combination for the groupId then JitPack provides a webhook that you can configure on GitHub or Bitbucket The details of JitPacks webhooks can be found in JitPack s documentation Once configured each push to your default branch e g main will utilize the webhook causing JitPack to build the current commit In this way the first actual import won t suffer from a delay awaiting a build However as we saw in the previous section JitPack treats the custom reverse domain as a separate groupId from the git host based version So those webhooks won t execute the ahead of time build against the custom reverse domain groupId It also appears to only support GitHub and Bitbucket so if your project is hosted elsewhere those webhooks may not be an option Trick After each push to the default branch use curl to trick JitPack into thinking we re importing the latest repository snapshot but using your reverse domain JitPack will start a build You don t actually want the artifacts You just want to start a build So use curl with a timeout to avoid waiting for the build Here s an example assuming that your reverse domain is com example with a repository name and thus artifactId of REPOSITORY and a default branch of main curl s m The m above is a second timeout I ve used a bit of trial and error on the timeout length I started with second which often didn t start the build Next I tried seconds which did often start the build but occasionally failed to get the build started on JitPack seconds seems to work consistently to get the build started Be aware that the above curl will actually fail with a non zero error code once it times out unless your project builds in under seconds Don t worry about it You don t want the artifacts now anyway And even if you did the above curl won t give them to you It will just serve a page where they are listed You just want the artifacts to be available later Assuming you use the above in a script you might actually want something like what follows to avoid failing your entire job when curl times out curl s m true Trick On each release of your library use curl to trick JitPack into thinking we re importing the latest release via its corresponding version number If the release tag is v then execute the following curl dropping the v for consistency with other Maven repositories This still assumes that your reverse domain is com example with a repository name of REPOSITORY so just modify this for your real reverse domain and repository name curl s m trueThe URL in this example is where your release s artifacts will live once they are built Requesting the URL to that directory gets the build started GitHub Actions workflows for ahead of time JitPack buildsIf your project is on GitHub you can put all of the above into one or more GitHub Actions workflows to automate this Here s how I m doing it On pushes to default branch On each push to the default branch assumed main in this example I m using the following workflow just fill in the details of your reverse domain and default branch name where relevant This sample workflow makes the same assumptions as the previous section e g that your reversed domain is com example etc See jitpack build yml in one of my repositories for a live example name jitpack buildon push branches main jobs jitpack runs on ubuntu latest steps name Request main SNAPSHOT from JitPack run timeout in seconds to avoid waiting for build curl s m trueMost GitHub workflows usually need an actions checkout step but we don t need that here because we re not actually doing anything with the code from our repository here On releases I use GitHub release events to start a workflow that builds and deploys artifacts to Maven Central as well as to GitHub Packages At the end of that workflow I added a step to handle the ahead of time builds on JitPack Below is an abridged version of that workflow that only shows what is necessary for ahead of time builds on JitPack It runs when you create a release The first step removes the v from the release tag After which we use the curl trick name Releaseon release types created jobs publish runs on ubuntu latest steps name Get the release version removing the v from the tag id get version run echo set output name VERSION GITHUB REF refs tags v name Request release from JitPack to trigger build run JITPACK URL steps get version outputs VERSION timeout in seconds to avoid waiting for build curl s m JITPACK URL trueThe complete live workflow from my project is found here if you want to see how I ve incorporated this into a larger workflow that builds and deploys to Maven Central and GitHub Packages That workflow is found within the following repository cicirello Chips n Salsa A Java library of Customizable Hybridizable Iterative Parallel Stochastic and Self Adaptive Local Search Algorithms Chips n Salsa A Java library of customizable hybridizable iterative parallel stochastic and self adaptive local search algorithmsCopyright C Vincent A Cicirello Website API documentation Publications About the LibraryPackages and Releases Build Status JaCoCo Test Coverage Security DOILicenseSupport How to CiteIf you use this library in your research please cite the following paper Cicirello V A Chips n Salsa A Java Library of Customizable Hybridizable Iterative Parallel Stochastic and Self Adaptive Local Search Algorithms Journal of Open Source Software OverviewChips n Salsa is a Java library of customizable hybridizable iterative parallel stochastic and self adaptive local search algorithms The library includes implementations of several stochastic local search algorithms including simulated annealing hill climbers as well as constructive search algorithms such as stochastic sampling Chips n Salsa now also includes genetic algorithms as well as evolutionary algorithms more generally The library very extensively supports simulated… View on GitHub Where you can find meOn the Web Vincent A Cicirello Professor of Computer Science Vincent A Cicirello Professor of Computer Science at Stockton University is aresearcher in artificial intelligence evolutionary computation swarm intelligence and computational intelligence with a Ph D in Robotics from Carnegie MellonUniversity He is an ACM Senior Member IEEE Senior Member AAAI Life Member EAI Distinguished Member and SIAM Member cicirello org Follow me here on DEV Vincent A CicirelloFollow Researcher and educator in A I algorithms evolutionary computation machine learning and swarm intelligence Follow me on GitHub cicirello cicirello My GitHub Profile Vincent A CicirelloSites where you can find me or my workWeb and social media Software development Publications If you want to generate the equivalent to the above for your own GitHub profile check out the cicirello user statisticianGitHub Action View on GitHub |
2022-08-11 12:45:47 |
海外TECH |
DEV Community |
How to create multilingual static pages |
https://dev.to/fanmixco/how-to-create-multilingual-static-pages-2ei4
|
How to create multilingual static pagesFrom time to time we have the experience of building websites without frameworks like Angular Vue js or React Perhaps for fun we are new or we just want something really simple In my case I started building my personal website several years ago In those days I didn t know Angular and was a little bit messy to support all that I needed I didn t consider myself a front end developer It was more like my hobby Something important in my case was to add multilingual support since I speak English and Spanish fluently This was a little bit messy since I couldn t find any good library or solution After several attempts I came up with the following pieces of code that can simplify your life also I have two files one for English and one for Spanish where I store the translations in JSONs as constants If you wonder why I don t store only the JSONs I had some issues later reading the files when you are using a static page lang en jsconst translations telephone Telephone email Email contactMe Contact me lang es jsconst translations telephone Teléfono email Email contactMe Contáctame The next script is for reading the scripts get script jsconst getScript url gt new Promise resolve reject gt const script document createElement script script src url script async true script onerror reject script onload script onreadystatechange function const loadState this readyState if loadState amp amp loadState loaded amp amp loadState complete return script onload script onreadystatechange null resolve document head appendChild script And the last script is for setting the values in your HTML translations jslet lang en let nLang navigator languages navigator languages navigator language navigator userLanguage split let supportedLang en es lang supportedLang includes nLang nLang lang getScript lang lang js then gt document querySelectorAll data translation forEach item gt item innerHTML translations item dataset translation catch e gt console error e So how do you consume configure in your HTML You define a data attribute called data translation with the value you expect from the JSON like this lt script src get script js gt lt script gt lt script src translations js gt lt script gt lt p data translation contactMe gt lt p gt lt p data translation telephone gt lt p gt lt p data translation email gt lt p gt And that s all Now you can create your static multilingual pages without frameworks Follow me at LinkedInYouTubeInstagramCyber ProphetsSharing Your Stories |
2022-08-11 12:25:00 |
海外TECH |
DEV Community |
We created a journaling tool for developers |
https://dev.to/pixerizer/we-created-a-journaling-tool-for-developers-45ll
|
We created a journaling tool for developerswe created DevJourWe are developers ourselves and we found it hard to keep track of notes and feedback We thought about creating a small tool that could help us clear our minds and organise our thought through answering simple questions Its still in a very early phase looking to gather feedback to make it better |
2022-08-11 12:20:01 |
Apple |
AppleInsider - Frontpage News |
Epic Games versus Apple appeals to be heard on October 21 |
https://appleinsider.com/articles/22/08/11/epic-games-versus-apple-appeals-to-be-heard-on-october-21?utm_medium=rss
|
Epic Games versus Apple appeals to be heard on October The US Court of Appeals will now hear from Apple and Epic Games both of which are appealing against aspects of the antitrust rulings from their previous App Store lawsuit Still from Epic Games Free Fortnite videoApple chiefly won its case against the Fortnite games developer The company objects to certain details of the ruling Read more |
2022-08-11 12:03:46 |
海外TECH |
Engadget |
Xiaomi's second foldable phone is only 5.4mm thick in tablet mode |
https://www.engadget.com/xiaomi-mix-fold-2-leica-pricing-availability-124434422.html?src=rss
|
Xiaomi x s second foldable phone is only mm thick in tablet modeMerely a day after Samsung s Galaxy Z Fold launch Xiaomi was quick to follow with a surprising punch The Mix Fold is the Chinese brand s second foldable phone featuring a surprising thickness of just mm when opened ーbarely enough to house a USB C port ーand mm thick when folded While Huawei s Mate Xs is also mm thick when opened bear in mind that it folds outwards instead and therefore lacks a secondary display not to mention its mm thick camera column One of the features that enables the Mix Fold s thickness is Xiaomi s third gen micro water drop hinge which allows for a tighter fold on the flexible display panel within the mm tall hinge structure To put things into perspective Xiaomi pointed out that the current water drop hinge structure on a competitor s foldable ーwith an obvious image reference to Huawei s Mate X ーis mm tall as illustrated in the second gallery image below The company added that with this new hinge and panel the crease is even less visible ーnarrower space over all with an average depth of less than mm Interestingly Xiaomi was willing to sacrifice a bit of battery juice to reach this thickness going from the original Mix Fold s mAh to mAh It s as if Xiaomi is betting big on the efficiency of Qualcomm s Snapdragon Gen processor here There s still support for W rapid charging which goes from zero to percent in just minutes Together with the smaller hinge and slimmer body parts these contribute to a lighter overall weight ー grams about ounces instead of the old grams about ounces Other goodies include larger heat dissipation components dual Harman Kardon speakers NFC and IR remote Some adjustments have been made on the two displays For one both have adopted a slightly wider aspect ratio The exterior Samsung panel now comes in a inch size with a x resolution shielded by Gorilla Glass Victus The interior foldable screen is a supposedly more efficient inch Samsung Eco²OLED panel with a x resolution and it s covered by a flexible piece of ultra thin glass um Both screens support up to Hz refresh rate and nit brightness along with Dolby Vision and HDR There are also three ambient sensors around the phone for a more accurate auto brightness for both screens XiaomiOn the photography side there s no more liquid lens gimmick this time The Mix Fold shares a near identical megapixel main camera with optical stabilization and megapixel ultra wide camera as the Xiaomi but this time with a Leica Summicron certification ーmuch like the Xiaomi S Ultra which kick started this partnership You also get an megapixel x portrait camera mm equivalent as well as a megapixel selfie camera on the other side But of course you can also unfold the phone and switch to the rear cameras for selfies instead in which case you ll be using the secondary screen as a viewfinder Given the phone s thickness a camera bump was inevitable so Xiaomi could only attempt to minimize the camera module height and it did so by switching to the less common SMA shape memory alloy actuator to power the main camera s optical stabilization It s unclear whether there are any performance disadvantage with this solution though Xiaomi s Mix Fold alongside Buds Pro and Watch S Pro XiaomiWith the Leica partnership the Mix Fold s camera app gained a Leica Authentic mode for those prefer natural looking shots as well as a self explanatory Leica Vibrant mode for everyone else Regardless of the photography mode this foldable phone produces the classic Leica M s shutter sound when shooting and you ll find various Leica inspired filters lens effects and interface elements throughout the camera app If you often take photos of fast moving kids or pets you ll apparently appreciate Xiaomi s AI assisted CyberFocus AI tech here which was ported over from the company s CyberDog and already featured on the Xiaomi series Much like the S Ultra and the original Mix Fold the Mix Fold is China only for now so good luck finding an importer in your area That said Xiaomi added that it worked with Google on optimizing Android L but rebadged as MIUI Fold for the Mix Fold so there may still be hope for an eventual international rollout The Xiaomi Mix Fold starts from yuan about for the GB RAM GB storage version then it jumps to yuan about for double the storage then to yuan about for a whopping TB All three flavors come with a vegan leather case with a built in kickstand and folks in China can already pre order today |
2022-08-11 12:44:34 |
ニュース |
@日本経済新聞 電子版 |
国境越えるバーチャルインフルエンサー、人超える影響力
https://t.co/kcOTjYS4IS |
https://twitter.com/nikkei/statuses/1557705957592948744
|
国境 |
2022-08-11 12:30:15 |
ニュース |
@日本経済新聞 電子版 |
ウクライナ軍、南部で攻勢 幹部「年末までに州奪還」
https://t.co/Np1obKWoa1 |
https://twitter.com/nikkei/statuses/1557701520321159168
|
攻勢 |
2022-08-11 12:12:37 |
ニュース |
BBC News - Home |
UK heatwave: Four-day extreme heat warning comes into effect |
https://www.bbc.co.uk/news/uk-62499044?at_medium=RSS&at_campaign=KARANGA
|
disrupt |
2022-08-11 12:39:22 |
ニュース |
BBC News - Home |
NHS IT services held hostage by ransomware hackers |
https://www.bbc.co.uk/news/technology-62506039?at_medium=RSS&at_campaign=KARANGA
|
attack |
2022-08-11 12:28:38 |
ニュース |
BBC News - Home |
Man killed during attacks around Skye is named by police |
https://www.bbc.co.uk/news/uk-scotland-highlands-islands-62503691?at_medium=RSS&at_campaign=KARANGA
|
taser |
2022-08-11 12:46:36 |
ニュース |
BBC News - Home |
Ryan Giggs: Covid lockdown was utter hell, ex tells court |
https://www.bbc.co.uk/news/uk-wales-62505497?at_medium=RSS&at_campaign=KARANGA
|
behaviour |
2022-08-11 12:18:41 |
北海道 |
北海道新聞 |
道南大雨 松前町全世帯に避難指示 12日さらに強まる見通し 土砂災害注意 |
https://www.hokkaido-np.co.jp/article/716857/
|
土砂災害 |
2022-08-11 21:41:27 |
北海道 |
北海道新聞 |
村上が史上最年少40号本塁打 王、秋山を抜く22歳 |
https://www.hokkaido-np.co.jp/article/716859/
|
史上最年少 |
2022-08-11 21:35:41 |
北海道 |
北海道新聞 |
WHO、日本に新組織設立へ 広島サミット時、首相合意 |
https://www.hokkaido-np.co.jp/article/716861/
|
世界保健機関 |
2022-08-11 21:31:00 |
北海道 |
北海道新聞 |
EEZ落下は習氏が決断 弾道ミサイル、日本けん制 |
https://www.hokkaido-np.co.jp/article/716860/
|
中国人民解放軍 |
2022-08-11 21:31:00 |
コメント
コメントを投稿