Google |
Official Google Blog |
JYSK boosts frontline teams with Android Enterprise |
http://feedproxy.google.com/~r/blogspot/MKuf/~3/rZ5CQ67YubA/
|
JYSK boosts frontline teams with Android EnterpriseEditor s note Flemming Thøgersen is Team Manager and Stinus Stoumann Hoeks is Senior IT Consultant of IT Client Infrastructure for JYSK an international retailer based in Denmark JYSK is an international home retailer with Scandinavian roots and our mission is to make it easy to furnish every room in any home With more than stores in countries and a strong online presence JYSK always has great selections and service no matter how customers want to shop Android Enterprise has been key to sustaining our retail operations during the COVID pandemic and giving our frontline retail workers more powerful digital tools Our store colleagues use smartphones to enhance the in store customer experience through quickly fulfilling click to collect orders and answering customer questions with ready access to our digital services We re also using dedicated Android tablets to gather customer feedback for continually improving our support Enhancing the in store experienceAndroid smartphones are central to our digital retail strategy with a deployment of over devices across our stores They re essential for keeping our retail store electronic shelf labels updated with the latest product information These digital displays on our product shelves show the item price description and other helpful information for our customers We use our Android devices to link each electronic shelf label to its merchandise with an NFC tag With mobility being so critical to a consistent digital initiative we place high value on the enrollment and management experience Device setup through Android Enterprise is simple and streamlined with zero touch enrollment ーthis enabled our IT team to quickly enroll devices and apply the key configurations at scale It s a streamlined process and reduces the complexities and potential errors that can occur with manual device setup Our IT admins use managed Google Play for enterprise app distribution which has been invaluable for ensuring our teams have the internal communication productivity and inventory apps available on their Android devices Employees access JYSK inventory systems on their Android smartphones to answer in store customer questions about the merchandise They are able to check for the availability of JYSK products on our web store looking up pricing information and giving the customers the answers they need right away The devices are also essential for staying in touch with colleagues in store and across the company and connecting to other essential JYSK internal services Retail store teams use Android devices to quickly check on inventory More of our customers are taking advantage of the convenience of click and collect ーordering online and picking their items up in store Dedicated Android smartphones in the hands of our retail staff enable us to quickly service these customers with minimal friction to our operations Android devices instantly connect our frontline retail staff to our digital services fulfilling online orders and looking up inventory to answer any questions Customer satisfaction is a core value for our company Android allowed us to scale up our customer insights ーwe make a tablet available in Android Enterprise kiosk mode at many of our stores for customers to rate their experience The customers can also enter feedback from their own device hands free by scanning a QR code and answering a survey We receive more than one million responses every month which has been an invaluable source of feedback to continuously improve our retail experience Device value with Android Enterprise RecommendedDevice choice is an important factor in going with Android We only select devices from the Android Enterprise Recommended catalogue which we ll be doing again as we expand our deployment Android Enterprise Recommended gives our IT team the confidence to select devices that support the enterprise features we need with the highest level of data and device security Android will continue to be a key component to our digital strategy as we issue more devices to our retail and inventory teams with access to our new inventory tracking system and moving logistical processes off of legacy systems We look forward to continued success with Android as we support our global customer base Join the upcoming event Digitization with Android Enterprise A game changer for your frontline to hear directly from customers about their experiences and learn compelling findings from the Forrester Total Economic Impact Study which investigates the ROI of Android Enterprise for business |
2021-04-15 17:00:00 |
python |
Pythonタグが付けられた新着投稿 - Qiita |
(Python超初心者が)ツイッターを感情分析して為替(ドル円)を予測した結果 |
https://qiita.com/kamimura123/items/2b7cce6d611c073fd71a
|
Python超初心者がツイッターを感情分析して為替ドル円を予測した結果はじめに私はプログラム知識はほぼありませんが、最近なにかとAIを聞くので興味がありました。 |
2021-04-16 01:33:24 |
python |
Pythonタグが付けられた新着投稿 - Qiita |
自然言語処理用学習データを動画内から収集したかった... |
https://qiita.com/Chisenon/items/1b3f63baeebdf97ea296
|
オプションの説明o出力先のPath→出力先のフォルダを指定してくださいpspleeternstems→nで分割されますstems→vocalaccompanimentstems→vocalbassdrumotherstems→vocalbasspianodrumother※分割元動画が長すぎると途中で処理が落ちる場合があります文字起こしspeechrecognitionを使って実際に文字起こしをしてみますPythonimportspeechrecognitionassrAUDIOFILEここに抽出した音声ファイルのPathをrsrRecognizerwithsrAudioFileAUDIOFILEassourceaudiorrecordsourceprint音声データの文字起こし結果nnrrecognizegoogleaudiolanguagejaすると結果まとめ一応目的としていた、動画からセリフのみを抽出して文字起こしをすることはできた。 |
2021-04-16 01:10:47 |
Program |
[全てのタグ]の新着質問一覧|teratail(テラテイル) |
オブジェクトに当たった時にアニメーションさせたい |
https://teratail.com/questions/333490?rss=all
|
オブジェクトに当たった時にアニメーションさせたい前提・実現したいことUnityでオブジェクトに当たった時にアニメーションをさせたいです。 |
2021-04-16 01:23:39 |
Program |
[全てのタグ]の新着質問一覧|teratail(テラテイル) |
Vector3型の配列を組みたいのですが、うまくいきません。 |
https://teratail.com/questions/333489?rss=all
|
Vector型の配列を組みたいのですが、うまくいきません。 |
2021-04-16 01:12:48 |
Program |
[全てのタグ]の新着質問一覧|teratail(テラテイル) |
ActiveModel::DeprecationHandlingMessageArray Factory_bot RSpec実行時エラー |
https://teratail.com/questions/333488?rss=all
|
ActiveModelDeprecationHandlingMessageArrayFactorybotRSpec実行時エラー前提・実現したいことfactorybotを使用したRSpecテストの実装nameが重複している時、エラーが表示されていることを期待するテストを実装したいですが、以下のエラーが発生します。 |
2021-04-16 01:02:35 |
Program |
[全てのタグ]の新着質問一覧|teratail(テラテイル) |
C言語のfor文について |
https://teratail.com/questions/333487?rss=all
|
C言語のfor文についてC言語で以下の問題を出題されたのですが、以下で入れた配列データが、for文を抜けると初期化されてしまい。 |
2021-04-16 01:02:26 |
AWS |
AWSタグが付けられた新着投稿 - Qiita |
AWSアソシエイト試験に向けて2(サービスの種類と仮想化とクラウドの基礎知識) |
https://qiita.com/shitikakei/items/92aa11935f476d5cab26
|
クラウドの特徴つのサービス構成オンデマンド・セルフサービス人を介さずに必要に応じてサーバー、ネットワーク、ストレージを設置・拡大・設定できる幅広いネットワークアクセスネットワークを通じて各種デバイスから利用可能であるリソースの共有ハードウェアの使用容量などを複数利用者で共有し、利用者ごとの需要によって動的に割り当てられる迅速な拡張性リソースは必要に応じて手動でも自動でも増減できる計測可能なサービスである稼働状況が常に計測され、利用状況を可視化することでコントロールや最適化ができ、それに応じて従量課金を取ることができるクラウドのつの提供形態まずプライベートなのかパブリックなのかその中間なのかで分かれる。 |
2021-04-16 01:01:46 |
海外TECH |
Ars Technica |
Google Earth is now a 3D time machine |
https://arstechnica.com/?p=1757139
|
earth |
2021-04-15 16:17:14 |
海外TECH |
DEV Community |
Still Using HTML? Start Using React Components |
https://dev.to/reedbarger/still-using-html-start-using-react-components-1lgo
|
Still Using HTML Start Using React ComponentsHTML is the language of the web but creating entire websites with HTML alone can be repetitive and hard to manage In this lesson we re going to see how to use the JavaScript library React as a way to add convenient and reusability to our websites React is a powerful tool for any developer who knows HTML and wants to build more organized and dynamic websites faster Let s get started Want the complete guide to become a professional React developer from start to finish Check out The React Bootcamp Why should I use React instead of HTML React arrived in as a better way to build web apps with JavaScript It s often referred to as a library for building UIs short for user interfaces What makes React such a desirable library to learn is that it doesn t replace HTML It takes advantage of HTML s popularity and strength as the most popular programming language by letting them use a very similar syntax to HTML to build interfaces and add dynamic features to it using JavaScript How to build a user interface with HTMLIn light of React s versatility we can recreate any site or user interface that we see on the web For this lesson let s remake part of an app that you likely use every dayーGoogle Search This may seem ambitious if you are brand new to React but it requires a knowledge of only two simple concepts HTML and basic JavaScript functions What s the way to build out a user interface without knowing React or even JavaScript By using HTML elements as part of a simple HTML document Here s how we would show the first three results that come up when you search for reactjs in Google lt DOCTYPE html gt lt html gt lt head gt lt title gt reactjs Search Results lt title gt lt head gt lt body gt lt section gt lt div gt lt a href gt React A JavaScript Library for Building User Interfaces lt a gt lt div gt lt h gt reactjs org lt h gt lt div gt lt div gt React makes it painless to create interactive UIs lt div gt lt div gt lt div gt lt a href web framework gt React web framework Wikipedia lt a gt lt div gt lt h gt ›wiki ›React web framework lt h gt lt div gt lt div gt React is a JavaScript library for building user interfaces lt div gt lt div gt lt div gt lt a href gt React reactjs Twitter lt a gt lt div gt lt h gt ›reactjs lt h gt lt div gt lt div gt The latest Tweets from React reactjs lt div gt lt div gt lt section gt lt body gt lt html gt Using static HTML alone would be fine if we only needed to show a few links But how could we display s or s of links this way all with different data as a search engine might need to do What s a better that is a simpler and more extensible way of writing this HTML alone is not going to be the answer We ll need a way of making our site more dynamic to display as many links as we need When it comes to adding behavior to a site we need JavaScript And since our goal is to build great apps with JavaScript we know to use React How to upgrade any HTML site to a React appLet s turn our static HTML into a dynamic React app Sound difficult It s simpler than you think We can build a React app out of a single HTML document All we have to do to is bring React in with the following external scripts lt script src umd react development js gt lt script gt lt script src umd react dom development js gt lt script gt lt script src babel js gt lt script gt The first is for building our React app and the second is for displaying or rendering the React app in the browser The first is React the second ReactDOM The third script is to bring in a tool called Babel We ll touch on what that does in a bit Here s what our code looks like at this point lt DOCTYPE html gt lt html gt lt head gt lt title gt reactjs Search Results lt title gt lt script src umd react development js gt lt script gt lt script src umd react dom development js gt lt script gt lt script src babel js gt lt script gt lt head gt lt body gt lt our script must have type text babel for Babel to work gt lt script type text babel gt React code will go here lt script gt lt body gt lt html gt and it s almost a React app Note that we have a script where we can write our React code but no HTML Let s fix that How to create and render our React appEvery React app must have what s known as an entry point The entry point is an HTML element where we insert our React application into the page The conventional entry point is a div with the id of root lt div id root gt lt div gt We ll add that then use the render function from ReactDOM to do the work of rendering the app The first is the app itself meaning our HTML from before and the second must reference our entry point We can create that reference by saying document getElementById root So now we have everything we need to run our React app lt DOCTYPE html gt lt html gt lt head gt lt title gt reactjs Search Results lt title gt lt script src umd react development js gt lt script gt lt script src umd react dom development js gt lt script gt lt script src babel js gt lt script gt lt head gt lt body gt lt div id root gt lt div gt lt our script must have type text babel for Babel to work gt lt script type text babel gt ReactDOM render lt section gt lt div gt lt a href gt React A JavaScript Library for Building User Interfaces lt a gt lt div gt lt h gt reactjs org lt h gt lt div gt lt div gt React makes it painless to create interactive UIs lt div gt lt div gt lt div gt lt a href web framework gt React web framework Wikipedia lt a gt lt div gt lt h gt https en wikipedia org ›wiki ›React web framework lt h gt lt div gt lt div gt React is a JavaScript library for building user interfaces lt div gt lt div gt lt div gt lt a href gt React reactjs Twitter lt a gt lt div gt lt h gt https twitter com ›reactjs lt h gt lt div gt lt div gt The latest Tweets from React reactjs lt div gt lt div gt lt section gt document getElementById root lt script gt lt body gt lt html gt And if we look at our result it works like before Perfect Now let s use React to improve our site by dynamically displaying our links How to make HTML reusable with React componentsIf we examine our HTML structure each link consists of the same parts Each has a url a title a shorter url and an excerpt For each link we have to repeat the same HTML elements again and again In programming if you re having to repeat yourself a great deal it s likely a sign that your code can be simplified and shortened in some way As programmers we always strive to repeat ourselves as little as possible We try to write code that is DRY where you don t repeat yourself React is at core JavaScript plus some features to help us build apps And since we re working with JavaScript what is a JavaScript feature that allows us to create or output something as many times as we like A function Let s create one here and we ll call it Link function Link create link HTML output The reason being that we want this function to return or output a link s HTML every time we call it To do that let s return our first link s HTML function Link return lt div gt lt a href gt React A JavaScript Library for Building User Interfaces lt a gt lt div gt lt h gt reactjs org lt h gt lt div gt lt div gt React makes it painless to create interactive UIs lt div gt lt div gt So now let s use it to display each link it returns To do so instead of calling it like Link in React we can write it like it was an HTML element lt Link gt If you ve seen this for the first time it might bend your brain a little bit Here we are using HTML syntax but we are calling a JavaScript function You ll get comfortable with it as you see this more often Also did you notice that we didn t have to use an opening and closing tag like it was a normal HTML element More about that in a minute How does React convert HTML looking syntax into JavaScript It does so with the help of a special tool called Babel the third script we added You can see how it works in action here What s happening Babel a JavaScript tool called a compiler converts compiles this code that looks like HTML into valid JavaScript What is this HTML like syntax JSXThis HTML which is in fact JavaScript is called JSX which stands for JavaScript XML XML if you re not familiar is a slightly stricter way of writing HTML Stricter means that we need to use a closing forward slash for elements with one tag For example lt input gt in HTML as valid JSX is lt input gt So to reiterate JSX is not valid JavaScript code Meaning you couldn t put JSX in a browser and expect it to work We need both a compiler like Babel to convert it into valid JavaScript and then React to use that created JavaScript So now to use our custom Link element we remove all three of the links HTML and replace them with three Links like so lt DOCTYPE html gt lt html gt lt head gt lt title gt reactjs Search Results lt title gt lt script src umd react development js gt lt script gt lt script src umd react dom development js gt lt script gt lt script src babel js gt lt script gt lt head gt lt body gt lt div id root gt lt div gt lt script type text babel gt ReactDOM render lt section gt lt Link gt lt Link gt lt Link gt lt section gt document getElementById root lt script gt lt body gt lt html gt And if we look at our result we do indeed have three links This is the power of React it takes the reusability of JavaScript functions but allows us to use them like they were HTML We refer to these custom elements made with JavaScript as components So we ve gained a great deal of readability here by using components We don t have any confusion about what we re looking at if we ve named our components well No need to read through a ton of HTML elements to see what the app displays We see immediately that we have three custom links The anatomy of a function componentNow that we know how components operate let s take a second look at our Link function component Our code may look pretty straightforward there are a few subtle things you should take note of here function Link return lt div gt lt a href gt React A JavaScript Library for Building User Interfaces lt a gt lt div gt lt h gt reactjs org lt h gt lt div gt lt div gt React makes it painless to create interactive UIs lt div gt lt div gt The function component name is capitalized Link instead of link This is a required naming convention for React components We use a capitalized name to distinguish components from normal functions Note that functions which return JSX are not the same as normal JavaScript functions Notice how the JSX we are returning has a set of parentheses around it As you are first writing your React code it s easy to forget these parentheses which will result in an error Wrap your JSX in parentheses if it span mores than one line Finally our Link function returns some JSX Every React component must return either JSX elements or other React components And yes React components can return other components So since React components can return other React components we can make an App component This App component will contain our entire set or tree of components and will show of what our app consists And with an App component this makes our render method much easier to read lt DOCTYPE html gt lt html gt lt head gt lt head gt lt body gt lt div id root gt lt div gt lt script type text babel gt function Link return lt div gt lt a href gt React A JavaScript Library for Building User Interfaces lt a gt lt div gt lt h gt reactjs org lt h gt lt div gt lt div gt React makes it painless to create interactive UIs lt div gt lt div gt function App return lt section gt lt Link gt lt Link gt lt Link gt lt section gt ReactDOM render lt App gt document getElementById root lt script gt lt body gt lt html gt We see from this code that React components have a hierarchy or order like HTML elements As a result we can refer to different parts of our component tree as either parents or children In this case for example to each rendered Link component App is the parent To App all three Links are its children Note that whenever we render or return JSX there can only be one parent component But a parent component can have as many child components as well as elements as needed When we look at the output of our code you ve likely noticed the following problemーWe have three instances of the same link That s because we are using the same data for each link we create Yet we know each link has different dataーa different title url short url and excerpt So how do we pass in unique data to our components How to pass dynamic data to components PropsIf we wanted to pass some title text to a normal JavaScript function we would do so like this Link Our link title here But how to we do pass data to function components Normal HTML elements accept data in the form of attributes But unlike HTML attributes attributes aren t recognized on React components The data doesn t stay on the component itself Where do they go As arguments to the function component Again this is something we re familiar with since we know the basics of functions We know that functions output data using return and accept data with arguments If we had an HTML element say a div with an attribute called title this code would be invalid HTML doesn t have a title attributes for any of its elements lt div title Our link title here gt lt div gt But if we created this title attribute on our Link component lt link title Our link title here gt This is valid And since we wrote title like an attribute on our component it is passed to the Link function as an argument called title In code we can think of it like const linkData title Our link title here Link linkData Notice that the linkData argument is an object React collects and organizes the data passed to a given component as a single object The name for data passed to a component such as title is props All prop values exist within the function component itself on a props object And since our goal is to use our title prop within our Link component we can write the following function Link props return lt a gt props title lt a gt We use this curly braces syntax to insert the title prop from props title wherever we want And the same applies to any other prop passed down to a component These curly braces allow us to insert or interpolate dynamic values wherever we need Now we have everything we need to fix our links For each of the Link components we need to pass down their title url short url and excerpt as individual props lt DOCTYPE html gt lt html gt lt head gt lt title gt reactjs Search Results lt title gt lt script src umd react development js gt lt script gt lt script src umd react dom development js gt lt script gt lt script src babel js gt lt script gt lt head gt lt body gt lt div id root gt lt div gt lt script type text babel gt function Link props return lt div gt lt a href props url gt props title lt a gt lt div gt lt h gt props shortUrl lt h gt lt div gt lt div gt props excerpt lt div gt lt div gt function App return lt section gt lt Link title React A JavaScript Library for Building User Interfaces url props consisting of two or more words must be written in camelcase shortUrl reactjs org excerpt React makes it painless to create interactive UIs gt lt Link title React web framework Wikipedia url web framework shortUrl en wikipedia org ›wiki ›React web framework excerpt React is a JavaScript library for building user interfaces gt lt Link title React reactjs Twitter url shortUrl twitter com ›reactjs excerpt The latest Tweets from React reactjs gt lt section gt ReactDOM render lt App gt document getElementById root lt script gt lt body gt lt html gt Looking at our output we still get the same result But there was a bit of a trade off here Through props we were able to make our Link component much more readable Now we can make any Link based off of whatever valid prop data we give it But now you can see that our App component got a lot bigger by providing the prop values immediately on each Link Isn t there a way that we can move all this data somewhere else How to separate the data from the interfaceLet s move our data out of the component tree and put it somewhere more convenient but still use the data as needed To do that we ll make an array of objects with the link data to pass down to the Link components through props This allows us to put it our data wherever we want in another JavaScript file even The benefit is that it doesn t clutter up our components anymore lt DOCTYPE html gt lt html gt lt head gt lt head gt lt body gt lt div id root gt lt div gt lt script type text babel gt const linkData title React A JavaScript Library for Building User Interfaces url shortUrl reactjs org excerpt React makes it painless to create interactive UIs title React web framework Wikipedia url web framework shortUrl en wikipedia org ›wiki ›React web framework excerpt React is a JavaScript library for building user interfaces title React reactjs Twitter url shortUrl twitter com ›reactjs excerpt The latest Tweets from React reactjs function Link props return lt div gt lt a href props url gt props title lt a gt lt div gt lt h gt props shortUrl lt h gt lt div gt lt div gt props excerpt lt div gt lt div gt function App return lt section gt lt Link title url shortUrl excerpt gt lt Link title url shortUrl excerpt gt lt Link title url shortUrl excerpt gt lt section gt ReactDOM render lt App gt document getElementById root lt script gt lt body gt lt html gt Now how do we display each Link with its data using the linkData array If you ve worked with arrays before to get each element we loop or iterate over the array Here for each loop we can pass the props data down to the Link component again This pattern is a very common one in React So much so that there is a special array method that we can use to perform this iteration called map It is not the same as the map method in regular JavaScriptーit is for working with JSX and components alone lt DOCTYPE html gt lt html gt lt head gt lt head gt lt body gt lt div id root gt lt div gt lt script type text babel gt const linkData title React A JavaScript Library for Building User Interfaces url shortUrl reactjs org excerpt React makes it painless to create interactive UIs title React web framework Wikipedia url web framework shortUrl en wikipedia org ›wiki ›React web framework excerpt React is a JavaScript library for building user interfaces title React reactjs Twitter url shortUrl twitter com ›reactjs excerpt The latest Tweets from React reactjs function Link props return lt div gt lt a href props url gt props title lt a gt lt div gt lt h gt props shortUrl lt h gt lt div gt lt div gt props excerpt lt div gt lt div gt function App return lt section gt linkData map function link return lt Link key link url title link title url link url shortUrl link shortUrl excerpt link excerpt gt lt section gt ReactDOM render lt App gt document getElementById root lt script gt lt body gt lt html gt By moving our data out of the UI and displaying each link using map we have a far simpler React app that can accept as many links as we choose Finally note in our code that where we are mapping over our linkData the entire expression is surrounded by our curly braces Be aware that JSX allows us to insert any valid JavaScript expression between curly braces How to build apps the React wayWhat was the point of covering these various patterns Not only to cover the basics of JSX and how React combines HTML and JavaScript but also to show you how React developers think How do you think like a React developer By knowing how to break down our UI into reusable components When a React developer plans out an application they want to make they start by identifying all individual parts of the app and seeing what parts can be made into reusable components We do that by seeing if each part has the same visual HTML structures and accept the same or very similar sets of data through props Now to come full circle let s take a new look at the starting UI that we wanted to recreate at the beginning If we were to look at this like a React developer it might look something like this The better you get with using components the faster you ll be able to build your own websites and applications with ease Enjoy this post Join The React BootcampThe React Bootcamp takes everything you should know about learning React and bundles it into one comprehensive package including videos cheatsheets plus special bonuses Gain the insider information hundreds of developers have already used to master React find their dream jobs and take control of their future Click here to be notified when it opens |
2021-04-15 16:51:58 |
海外TECH |
DEV Community |
Making Games with Autistic Students: A Partnership between the National Museum of Computing, Track.org, and Azure Advocates |
https://dev.to/azure/making-games-with-autistic-students-a-partnership-between-the-national-museum-of-computing-track-org-and-azure-advocates-3c1e
|
Making Games with Autistic Students A Partnership between the National Museum of Computing Track org and Azure AdvocatesOn the Academic Team within Cloud Advocacy at Microsoft we have the privilege of working with educators and students of all kinds Some are doing cutting edge research at top tier schools others are just starting their learning careers and trying out different kinds of software as they progress along their individual learning paths We are also able to talk to the Museums and Libraries sector and I have been leading a Museums and Libraries pilot program now in its second year We have built prototypes for archives helped with expositions and had a long and rewarding engagement with the Cooper Hewitt Museum I published Microsoft s first museum focused Learn module It s been fun and very rewarding for those of us who love museums Not the least of our exciting engagements has been the work we have done as partners with Track a charity in the UK that works to help autistic adults find employment and the National Museum of Computing located on the historic Bletchley Park estate TNMOC is home to many historic computers perhaps its most famous one is its reconstructed Bombe the computer that Alan Turing used at the Park to crack the Enigma code and shorten WWII You can take a D virtual tour of the museum While working with Thomas Cliffe of Track and Jacqui Garrad the Museum Director we devised a plan to help keep students engaged with the museum even while it is closed due to COVID a series of workshops and coaching on how to develop games Before meeting the students we organized a department wide workshop led by Thomas on how to best serve the needs of Autistic learners especially in an online teaching context This training proved invaluable and very moving for many attendees We then progressed to creating workshops with the idea that we would be able to provide individualized coaching as needed to help students build and demo their games We provided office hours so students could check in and find help with any problems jlooper bletchley park workshop A workshop hub for Bletchley Park the National Museum of Computing in the UK Build Games with Azure Advocates Would you like to try your hand at building games using various methods In this repo we would like to list some projects for you to get started in game development GameTypeLevelMakeCode ArcadeMakeCode Arcade includes sample games to create using a web based drag and drop interface or by writing JavaScript or Python code Pick a game tutorial and use either blocks or Python or JavaScript to get started Full instructions are in this fileBeginnerMinecraft on MakeCodeUse blocks or Python or JavaScript to get started coding your own Minecraft environment Use the Education Edition if your school is an affiliate or the standard MakeCode Minecraft Windows only to set up the gameBeginnerBabylon js PlaygroundIn this browser based playground get to know D programming using TypeScript or JavaScript Use the inspector to work with the interfaceIntermediateStorytelling Game Engine… View on GitHubWe began with the idea that we could reuse the base engine that powers our Mystery series of games Students could create a winding choose your own adventure type story by adding links and markdown files We began with a workshop on how to build such a game and realized that different types of games were also of interest as the local setup for individualized code development proved challenging for attendees So Chris rapidly built a second two part workshop using Microsoft MakeCode Huge kudos to Chris for this rapid pivot to create workshops to better suit the students Finally we were excited to see the students demo their work in an online demo day We were happy to see that one student built a totally customized maze game Another built an amusing pirate game using the VuePress game engine So in the end we were treated to two very interestingly individualized demos Stevie demos her maze game built in MakeCodeChristopher shows off his fun pirate game yo ho We are excited to enter a new phase in our partnership to showcase game development as a potential career path for students and career changers giving them friendly access to Microsoft employees who are delighted to see the cool projects they build using exciting new technologies TRACK tracknnltd Our Partnership with tnmoc is creating opportunities for autistic adults to develop employability skills across a range of areas So far we have hosted a Virtual Introduction to Games design with staff from Microsoft and have lots more activities planned autismacceptance PM Mar This afternoon was simply a fantastic and inspiring opportunity to see how the smallest things that we all do together and collaborate bring people out of their shells and make a huge difference Jacqui Garrad |
2021-04-15 16:48:13 |
海外TECH |
DEV Community |
Types of Saas Solutions: Categories and Examples |
https://dev.to/blackthornvision/types-of-saas-solutions-categories-and-examples-266j
|
Types of Saas Solutions Categories and Examples What is software as a service SaaS SaaS is web based software accessible through the internet Since SaaS adopts cloud computing technology there s no need for installing desktop applications ーusers simply subscribe to a service hosted on a remote server For example Netflix is a BC SaaS platform that offers licensed videos on demand and follows a subscription model The global SaaS market is expanding rapidly and will hit billion in While COVID is causing dramatic shifts in business due to telecommuting and social distancing more companies rely on the SaaS model Let s take a closer look at the benefits of SaaS for business Benefits of BB SaaS solutionsThe SaaS model benefits software providers and their customers For developers SaaS allows a recurring revenue stream and faster deployment compared to traditional on premise software For companies SaaS offers the chance to reach a wider audience and save software development and maintenance costs Here are the top advantages of choosing SaaS for business Cost effective A software vendor holds all maintenance and infrastructure costs Accessible SaaS products can be accessed from anywhere via a web browser Scalable Customers can change their usage plans anytime without hassle Easy to integrate SaaS solutions support multiple integrations with other platforms Secure The decentralized nature of cloud based technology protects user data from breaches and loss Come with free service SaaS provides automated backups free updates and swift customer support Easy to use A friendly interface and simple user flow make SaaS easy to use for everyone regardless of their technical skills Offer free trials Most SaaS vendors allow you to try it before you buy it The best part is that SaaS fits all industries and company sizes so both large and small businesses can benefit from it equally In the next chapter we will explore different categories along with the most prominent examples of SaaS software The most common types of SaaS for businessAs we mentioned earlier the SaaS market is huge and highly segmented The cloud service model has reached all business niches and generates billions of dollars in revenue for SaaS companies For example Salesforce ーthe world s largest SaaS provider ーmade billion in alone While the complete list of SaaS categories can be extensive we will cover the most widely used ones Discover more |
2021-04-15 16:09:37 |
海外TECH |
DEV Community |
Looking Back on 2020 - The Year I Became an AWS Hero, Started a Conference and Won The Liberty Mutual Chairman's Award |
https://dev.to/aws-heroes/looking-back-on-2020-the-year-i-became-an-aws-hero-started-a-conference-and-won-the-liberty-mutual-chairman-s-award-4fph
|
Looking Back on The Year I Became an AWS Hero Started a Conference and Won The Liberty Mutual Chairman x s AwardOn th April I was stunned to find out I had won the Liberty Mutual Chairman s award To put this into context The Chairman s Award is our most prestigious award handed out once a year and recognises employees whose significant contributions effort and performance go above and beyond If you are ever in Boston my name should soon be permanently displayed somewhere in the Foyer of the Liberty Mutual HQ This is only the second time someone from Liberty IT has won the award so I am truly humbled by it The award description This seemed like a perfect opportunity to reflect on the past to months share what I have learned what mistakes I made and how I ended up here Why AWS CDK I have used a lot of technologies in my career why have I pushed so hard to make this one easy for our engineers to embrace Why not just pull out the old it depends when asked about Infrastructure as Code tools years ago I was promoted into a different role within Liberty I went from driving the technical direction of a product area working with a specific set of teams to being an enabling function across developers in Belfast Dublin or thousands globally within the wider organisation I was given the freedom and autonomy to do this my own way but how could I have any kind of impact on a group this large Honestly on day one I wasn t sure this was possible but I had some down time and my colleague Mark McCann had said to me Have you seen AWS CDK It s pretty cool The LIT technical strategy set by Dave Anderson was that we wanted to be serverless first My new area in Liberty Mutual also had a serverless first north star I sat and thought about the biggest blockers to serverless developer productivity from my previous team Two things came to mind CloudFormationAPI GatewayThe configuration we needed to use for API Gateway was so specific that a typical CloudFormation Template CFT with just a gateway in it was approx lines long Developers facing that reality coming from SpringBoot where you just annotate a method was grim You also had no local validation of the CFT developers needed to deploy and hope it worked it frequently didn t so we used to sit around at tea telling our horror stories Dedicated Infra engineers will tell me that pure YML for CFT is the best method but for everyday engineers to move at the speed we wanted it was causing considerable drag and stress Since Mark had put AWS CDK in my head I thought can it help here The way I evaluated it was to build an AWS CDK construct for our API Gateway configuration this construct came with a full set of unit tests and reduced the lines of YML mentioned above to about lines of TypeScriptI had never seen a product with so much potential to get us where we needed to go through developer empowerment before it even allowed us to bring our engineering excellence standards from previous platforms The problem was AWS CDK had basically only gone Generally Available GA it was changing rapidly to meet the needs of early adopters and as such examples of people using it were scarce I also had to factor in that the serverless team at AWS were mostly focused on their new product at the time AWS SAM We needed to use the product right there and then not wait years To me this seemed like the right level for an enabling architect to operate Introducing The Software AcceleratorAt this exact moment in time a Senior Architect in Liberty Mutual Rajesh Kannan was creating the Software Accelerator This was going to be our developer enablement platform where everyone could share working patterns and practices for rapid deployment To see this platform in action you can sign up for CDK Day on th April Accelerator CDK Day I excitedly phoned Rajesh and said hey this is a game changer he agreed and had already luckily decided the accelerator would be based on AWS CDK This left me in a fortunate position I had a technology I could see the potential in and a currently unreleased platform still in dev that could make this technology easy to distribute What was missing The working patterns I wanted to make sure that by the time the Accelerator launched our engineers had working patterns to deploy with it Developers have deadlines to meet and one bad experience with a technology causes inertia to try it again so this was mission critical to our serverless first journey in my head Finding The PatternsThere was a decision point where as an Architect I could have gone to my happy place and created super complex opinionated patterns backed by my ideas alone That plan would not have worked what we needed was for groups of engineers to reuse contribute back to the same patterns without all the bloat I would inevitably add due to personal preferences The easiest way to create these patterns was to find someone in the industry who is already recognised and respected so that when a developer disagrees with the implementation you can say well this well known industry expert says otherwise want to get them on a call and discuss it Before we set that up here is all the evidence for why it works and here are all the companies doing it in production Still disagree Jeremy Daly was that industry expert an AWS Serverless Hero who had a famous blog post dedicated to serverless patterns The intention here was never to take away credit from Jeremy but to open up a new audience of developers by coding his patterns in AWS CDK and linking it all back to him Open Source or Inner Source The next big decision was if I should do this just for Liberty or since the industry as a whole was lacking reliable code examples for AWS CDK if I should create my first ever proper open source project In December I attended AWS re Invent where I spoke to other developers plus watched some of the talks where I confirmed this was an industry issue On Jan th after some holiday time off I made my decision Matt Coulter nideveloper Was thinking “be the change you want to see in the world today so I purchased cdkpatterns com so that developers can have a place to grab the official cdk version of aws serverless archs Wanna help contribute some patterns I d be ecstatic Mvp will be a github repo PM Jan MarketingI now had a new problem my social media presence was non existent so how would I get the word out I had no budget to spend on advertisements or on a marketing team I decided to start small and created the CdkPatterns twitter handle then every time I created a new pattern I would tweet about it and tag the pattern s original creator this way if what I was doing was valuable they might retweet it and growth would be organic I also created a dev to account and started blogging about each of the patterns as they were released Finally I created a YouTube channel where I talked through the theory of some of the patterns I will show later how the marketing worked out but we have some steps in the story to discuss first Building a ProductThe plan was to make a developer productivity play through some kind of product called CDK Patterns with open source at the core How would I judge the success of my product It wasn t profits or usage in production since I was focused on education over reusable libraries I did not want to own the code liability for the whole CDK community I wanted to empower them to use the standard AWS constructs without custom building Ideally people wouldn t even know my name after using the product The North Star of CDK Patterns was to increase serverless adoption of AWS CDK in the industry but at that point in time the community was very small and we didn t meet I decided that for the first while I would judge success on unique visitors to the repo clones GitHub stars and I would also take an informal check of serverless AWS CDK noise in the industry blog posts YouTube videos conference presentations etc It is important to note that we are talking about the behaviour of a global developer community here which is a rich tapestry of interactions motivations and reactions so I knew I could contribute to the outcome I wanted but I am not in any way claiming that I owned this whole north star I had a second North Star that was voluntary serverless AWS CDK adoption in Liberty Mutual This was something I could easily measure through Accelerator usage metrics This one was arguably more important but I knew it would come as a side effect of the industry adoption The Language ProblemIt quickly became apparent that since AWS CDK supported multiple programming languages TypeScript Python Java Net at the time I needed a way to not isolate the majority of the community I did a quick poll on Twitter to ask what languages people were using and at the time Python TS covered of users with TypeScript the majority CDK Patterns cdkpatterns Pythonista Friends I see you so today I added a python version of every pattern Clone build deploy and learn today at cdkpatterns com serverless ServerlessForEveryone python PM Feb I came up with a flow where all new patterns get added in TS Python with the other languages something the community could contribute later as needed The Monorepo ProblemIn another poll I asked the community if they would rather have a repo per pattern or keep them all together in all available languages The resounding answer was to keep them all together Whilst on paper this seems simpler and easier for users it presents an information discovery problem There is only so much you can do with a GitHub readme file believe me I pushed the limits I created two solutions to try and solve this problem the first was a cli tool that allowed developers to clone any single pattern in their desired language with one command CDK Patterns cdkpatterns I m very excited to share with you a new way of learning cdk patterns Now you can clone and deploy any pattern in commands npmjs com package cdkp This is a beta solution for now so be kind but I hope you all enjoy using it ServerlessForEveryone AM Mar The second was to create the website cdkpatterns com as an information radiator for the patterns available in the repo I allowed you to browse all the patterns or filter the patterns by the AWS component contained within e g Lambda SNS SQS The Content ProblemOnce I had CDK Patterns established a new problem emerged how do I help people choose the right pattern for their situation If I just kept adding patterns with no guidelines then it would be overwhelming with choice The solution I came up with was to pair the patterns with the AWS Well Architected Framework the idea was that developers could do a well architected review of their application and then based on the outcome of that report they could find CDK Patterns to help fill the gaps Heitor Lessa helped me significantly with refining this idea If you read the recent AWS case study on Liberty Mutual you will see this mirrored our internal strategy as well Matt Coulter nideveloper Announcing cdk patterns alter ego serverless patterns co uklook inside the well architected section to see cdk patterns matched with serverless well architected best practices heitor lessa has helped me so much with this Now let s fill in the blanks PM May Bringing The Community TogetherRemember my North star was to increase serverless adoption of AWS CDK in the industry but I had no way of judging this since we didn t meet properly I had this idea to create a new conference called CDK Day where the whole community could come together for one day and showcase the brightest and best of CDK by this point we had CDKs AWS CDK CDK for Terraform and cdks for Kubernetes I wrote a full article on this idea which goes into who the amazing group were that brought this together and the timelines we faced Launching A Virtual Global Conference In Two Weeks Through AWS Community Builders Matt Coulter・Aug ・ min read aws awscdk cloud cdkday as well as my learnings Everything I Learned Creating CDK Day My First Global Virtual Conference Matt Coulter・Oct ・ min read awscdk cdkday conference The short version is that over people signed up to attend with over tuning in live for the keynote People signed up from nearly everywhere this still astonishes me Most of the talks were about serverless implementations so I was ecstatic to see the community developing Part of the discussions for CDK Day were about how do we keep people talking and Sebastian Korfmann had purchased the cdk dev domain so we agreed to create a cdk dev Slack space which would be used for attendees to chat during the day and hopefully they would stay there afterwards As of April there are over members in that slack community with constant daily interactions AWS Summit AmericasIn one of the most surreal experiences of my career the day before CDK Day Werner Vogels as CTO of Amazon quoted me in his keynote where he tells the origin story of AWS CDK He also took the time to talk about CDK Patterns and deep dive into how they apply the Well Architected Framework Matt Coulter nideveloper Aaaaaaagh Werner talking about me Liberty IT LibertyMutual and serverless well architected CdkPatterns Highlights are the CloudWatch Dashboard and the Lambda Power TunerCheckout the keynote here pages awscloud com aws summit onl…also remember cdkpatterns com PM Sep You can watch the full video here A couple of days later he also said these very kind words Werner Vogels werner NIDeveloper Matt you played a very important role in the evolution of the CDK so you should take big credit for its success PM Oct Published Articles With AWSAWS were graceful enough to ask me to co author a couple of blog posts with them as wellThe CDK Patterns Open Source JourneyLiberty IT Adopts Serverless Best Practices with CDK Speaking At Events and others speaking about CDK Patterns Another great avenue to spread the word about CDK Patterns was to appear at other people s events There is a massive amount of work in preparing to speak at an event crafting the slides narrative but it definitely brings traction Serverless BashNI Dev ConfAWS Community Days Dublin Matt Coulter nideveloper What a great setup at AWSCommunityDay Dublin AWSUserGroups today If you missed my talk representing Liberty IT you can find the slides here speakerdeck com nideveloper bu… PM Oct Serverless Chats Podcast Serverless Chats Podcast serverlesschats On the next episode Jeremy chats with Matt Coulter NIDeveloper about why he built CDKPatterns com how he used it to help Liberty IT choose the CDK how they ve used these patterns to implement Well Architected serverless solutions and much more Don t miss it PM Nov Marcia Villalba What to Watch at re InventDave Anderson at re Invent Matt Coulter nideveloper Great job davidand Love that CdkPatterns made it to re Invent PM Dec Jason Fulghum at re Invent Matt Coulter nideveloper I m just catching up with some of the re Invent talks i m up to “AWS CDK what s new and what s next thanks jason fulghum for mentioning my wee project CdkPatterns AM Dec The ResultsIn December I gave this presentation showing the social media growth and repo stars trendAs of April the CDK Patterns Twitter account has followers the repo has over GitHub Stars hundreds of visitors clones per week The interesting thing about monitoring the repo usage is that visitors are always higher than clones but that is because developers open the repo find the few lines they need copy it into their IDE and leave Given my original mission was an education play this is the perfect balance that I always wanted The YouTube channel has subscribers I haven t put enough time into it to have serious growth All of this led to me being announced as one of the first AWS DevTools Heroes I can t embed any more tweets so the image will have to do with the link to the blog underneath Hero announcement blog What Have I Learned In no particular order The AWS Community are awesome So many welcoming people willing to just pitch in and helpDon t underestimate the amount of time you will spend doing marketing vs coding if you build a productDevelopers genuinely love AWS CDKOrganising a conference is a serious amount of work even virtually It only works when you can pull together an awesome team of volunteersManaging Pull Requests and maintaining an open source repo is basically a full time job How Can You Get More Involved If you are excited about everything you have read and serverless architectures deployed through AWS CDK then you can Follow CdkPatterns on TwitterSign up for and share CDK Day with everyone you knowJoin the cdk dev slackOpen a Pull Request with a new CDK Pattern on cdkpatterns com |
2021-04-15 16:05:11 |
海外TECH |
DEV Community |
Creating {legacy} static build via docker and deploying with mina-scp |
https://dev.to/pramodshinde7/creating-legacy-static-build-via-docker-and-deploying-with-mina-scp-3hde
|
Creating legacy static build via docker and deploying with mina scpI am sure Many of our applications have turned into a legacy codebase such applications might have some outdated scripts or build process that might need frequent maintenance and updates In this post I will walk you through the steps with which we can move our frontend build creation script into the docker container and deploy through mina and mian scp gems seamlessly Even if your code is not a legacy codebase it is always better to build your application into a docker container because You need to create build in a production like environments If you want to do a production system upgrades it s lot more easier to test build creation in docker containers in advance Avoid any package missing or mis match issues at runtime specially on older node versions lt x x Brief backgroundI had a angular x application running with node x x things were all good until we noticed following First issue was previously on servers node modules and bower packages were moved on servers manuallyWe were having two production staging servers with different node x x and x x setup receptively In older node lt x x npm install does not support package json Package addition and updates were a nightmareWe were frequently facing package related issues because of lack of proper package jsonWe resolved all above issues one by one after deciding to fix the node version and upgraded to version x x and moved the build creation process into a docker container to have a standard build creation and deployment process Creating a build in docker container via docker composeIf you are new to docker and docker compose I would advise you to get your hands dirty in docker concepts by referring it here and here DockerfileDockerfile In this file we are only specifying required ubuntu node npm and yarn versions that are required for application and before that we are installing few dependencies FROM ubuntu SHELL bin bash l c RUN mkdir usr local nvmENV NVM DIR usr local nvmENV NODE VERSION ENV NVM INSTALL PATH NVM DIR versions node v NODE VERSION install ubuntu related dependenciesRUN apt get update q amp amp apt get install qy curl ca certificates gnupg build essential no install recommends amp amp apt get cleanRUN apt get install y git zip install nvmRUN curl o bash install node version RUN source NVM DIR nvm sh amp amp nvm install NODE VERSION amp amp nvm alias default NODE VERSION amp amp nvm use defaultWORKDIR usr bullet copy dependencies json file to docker containerCOPY package json WORKDIRCOPY yarn lock WORKDIRCOPY bower json WORKDIR install package managerRUN source NVM DIR nvm sh amp amp npm install g yarn RUN source NVM DIR nvm sh amp amp npm install g bower RUN source NVM DIR nvm sh amp amp npm install g gulp RUN source NVM DIR nvm sh amp amp yarn install quietRUN source NVM DIR nvm sh amp amp bower install quiet allow rootCOPY WORKDIROnce the dockerfile is ready we can use this in docker compose with following docker compose yml file to create multiple services docker compose ymlversion services frontend app amp frontend app build context dockerfile Dockerfile image my frontend app volumes usr frontend app static build usr frontend app static build nodemodules usr frontend app node modules bowercomponents usr frontend app bower components start lt lt frontend app ports command bash c source usr local nvm nvm sh amp amp gulp dev create build lt lt frontend app command bash c source usr local nvm nvm sh amp amp gulp prod amp amp rm f static build build zip amp amp zip rq static build build zip build volumes nodemodules bowercomponents In docker compose file we are creating start and create build services start is to start the application inside the docker container with following command Running build on port source usr local nvm nvm sh amp amp gulp devcreate build is to create and compress a build with following command Creating prod build removing old build and creating new buildsource usr local nvm nvm sh amp amp gulp prod amp amp rm f static build build zip amp amp zip rq static build build zip build Important to note that we have created shared volumes and folders between host and container So that we can have build zip to be created on host and node modules can be shared across the builds if no changes to package json Once above setup is done we can easily create or start the build using following commands Starting a builddocker compose up start Creating a builddocker compose up create buildAfter above setup is verified we can deploy this build via mina and mina scp gem as followingNote Hope you have done basic setup which is needed for mina deployment Let me know if you need any help Deploying static build to serversFollowing is the sample mina deployment script which is copying and zipping build to the server config deploy rb Mina version v require mina scp Basic settings like branch server repo settings goes here set branch staging gem install mina v you can use latest mina version gem install mina scp v Put any custom mkdir s in here for when mina setup is ran all releases task setup gt environment doenddesc create a build on the local task create build gt environment do to before hook do Put things to run locally before ssh queue echo gt creating static build queue sudo docker compose up create build endenddesc Deploys the current version to the server task deploy gt environment do deploy do Put things that will set up an empty directory into a fully set up instance of your project invoke deploy link shared paths queue echo gt uploading build domain domain branch branch deploy to deploy to scp upload static build build zip deploy to build zip verbose true invoke deploy cleanup to launch do queue echo gt Unziping build queue cp deploy to build zip deploy to current build zip queue unzip q deploy to current build zip queue echo gt Unzip completed end endendHere we are creating and deploying build viamina create buildmina deployIf you have noticed we are copying build static build build zip created in docker via mina scp s scp upload command and unzipping in deploy task scp upload static build build zip deploy to build zip verbose true That s it We have successfully created and deployed static build with the help of docker and mina If you have reached here and have any suggestions or thoughts let me know in comments section |
2021-04-15 16:03:16 |
海外TECH |
DEV Community |
Using the react-native-push-notification library for your React Native notification needs |
https://dev.to/retool/using-the-react-native-push-notification-library-for-your-react-native-notification-needs-3a54
|
Using the react native push notification library for your React Native notification needsNotifications are critical to the mobile experience Not only are notifications an important way to interact with your users but they also serve to grow user engagement and retention But notifications on a mobile platform can get complicated In addition to “local or “in app notifications that you might want to display while the user is actively using your application you might want to also use “push notifications that bring users back when they aren t using your application To make matters more complicated the mechanisms for providing push notifications on Android and iOS devices are different If you have simple notification needs a notification library may not be necessary However the more complicated your notification needs the more useful a library becomes to help manage them There are a number of React Native notification libraries to choose from and this post will spotlight one of the leading options react native push notification Why react native push notification is a popular React Native notification libraryTo start the react native push notification library supports local and push notifications and uses a platform independent approach to adding new features This can be a huge advantage for developers who want speed to value now and flexibility for their future notification needs Given that react native push notification is the most popular library you can expect more complete documentation and helpful resources as you explore how to solve problems with a quick web search Although there are plenty of choices when it comes to third party React Native notification libraries or even building your own react native push notification is a top option thanks to its popularity support of both mobile platforms and notification types many features and a wealth of available documentation What to consider before building notifications from scratch or choosing a libraryIf you were sure you only needed a particular type of notification on a particular platform it might make sense to create your own solution from scratch Even in that case though using a proven library allows you to save time by not replicating somebody else s work And since your application s needs may change over time it may be worth using a library that supports many notification types across many platforms even if you don t initially need to The APIs for sending local and push notifications are different and to make things spicier the APIs for doing both for Android and iOS are different too In addition there are multiple mechanisms for sending push notifications Since a library already exists to deal with all of these issues in most cases it makes sense to use a library rather than create your own solution When selecting which library to use to address a particular need an easy way to start is to explore the most popular solution available When a library is popular that means many of those users already researched other possible solutions for the problem you re trying to solve and decided on that library the react native push notification library in this case And the more popular a library is the better it tends to be supported and the better its documentation It can sometimes be difficult to gauge how popular something is but React libraries are downloaded from official repositories and the download statistics are publicly available Developers can also explicitly rate a library via stars if they like it and those statistics are also publicly available Specifically react native push notification has over stars while the closest competitor react native notifications has less than half that number The raw report has more information but as you can see from just the download statistics below it is clear that react native push notification is by far the most popular React Native notification library Source npmtrendsThe main reason this library is so popular is that it presents a unified way to support both notification types on both platforms but it is also chock full of features These include scheduled notifications as well as the ability to add custom badges and sounds Even though using a library makes dealing with React Native notifications simpler there is still a fair amount of complexity that needs to be worked through This is mostly because the mechanisms for sending push notifications are profoundly different which adds a thick layer of complexity to an already complex problem On top of that the way you register a device to receive notifications is vastly different between Android and iOS devices So documentation and support become even more important because of the inherent complexity that no library can completely eliminate The GitHub page for the react native push notification library provides excellent support and documentation You can also find more robust and helpful documentation to walk you through any issues you might encounter with the react native push notification library Some specific resources include Main website Push notification tutorial Local notification tutorial Common mistakes General support Honorable mentions for React Native notification librariesEven though react notify push notification is the most popular option in most situations there might be other situations where a different library may be a better fit All of the options mentioned here also meet our criteria for being active and well supported react native notificationsThis library is a close runner up to react notify push notification but offers fewer common features is larger and will take longer to load Few common features mean there will be more code in your application doing roughly the same thing based on what platform the application is running on A significant advantage of this library is that it is sponsored by a well established company Wix which means it is highly likely to continue to be updated and supported in the future Another advantage is that it has more platform specific features Android vs iOS so if you want to take full advantage of the notification features available for one or both platforms then you might want to use this library react native onesignalThis library allows local notifications and push notifications via the OneSignal service Because using OneSignal bypasses the normal push notification mechanisms this library is much easier to use and much smaller Using this library also provides for a unified notification system if you support more than one application or more than one mobile platform The main disadvantage to using this library is that a OneSignal account is required and while some limited functionality is free of charge significant use of the service costs money The pricing structure available here is fairly complicated but the free option is really only useful for push notifications to mobile platforms If you re sure you will only ever need mobile push notifications or you are in a position to pay for the expected volume of notifications then you might want to use this library react native root toastThis is a relatively easy to use library that allows only local “toast notifications Toast notifications are simple allow no user interaction and can be set to expire after being displayed for a certain amount of time If you are sure you only need local notifications then this library may be a better choice It s time to stop worryingーstart using the react native push notification library todayNotifications and especially push notifications can be a critical and differentiating part of your mobile app experience There are some best practices to follow but the main point is that the best notifications are timely personal and actionable When done properly notifications can increase user satisfaction and retention so it is definitely an advantage to implement notifications in your application Unfortunately React Native notifications are difficult and usually require you to use a library For most situations the library you want to use is react native push notification It supports both local and push notifications both major platforms is free to use has many features and is well supported and documented |
2021-04-15 16:02:37 |
海外TECH |
DEV Community |
Adapt your Angular apps for dual-screen devices with ngx-foldable |
https://dev.to/angular/adapt-your-angular-apps-for-dual-screen-devices-with-ngx-foldable-4058
|
Adapt your Angular apps for dual screen devices with ngx foldableFoldable and dual screen devices are becoming increasingly more common over time but you may wonder if investing development time to support these devices might be worth it especially when creating fully responsive web apps is already a challenge Using the new CSS and JavaScript primitives is a fun way to discover and learn about the new possibilities offered by devices like the Surface Duo yet you might be looking for a more efficient way to adapt existing apps without having to make drastic changes and dive too much into custom CSS That s what we re going to explore here In this post we ll take a look at how you can use Angular to create a foldable web experience with minimal changes to an existing code base We ll start from the photo gallery demo create an Angular version of it and then see how using an Angular library makes the foldable adaptation way easier to approach TL DR key takeawayAdapting existing apps to foldable devices does not mean that you have to rethink your design and code entirely With ngx foldable library you can adapt existing Angular apps to support dual screen devices with minimal changes to your app and no CSS react foldable is also an alternative if you re working with React and I m sure that similar libraries will eventually become available for other frameworks Re creating the Photo Gallery demo with AngularI wanted to keep the demo app as simple as possible to understand so I used the Angular CLI to generate the project using the minimal template ng new photo gallery minimal prefix pg style css routing false strictIt gives us a nice working base with strict type checking and single file components which looked perfect for building this demo I won t cover here all the details about what I did to recreate the demo as I mostly took the existing JavaScript and CSS code from the original photo gallery app and put it in Angular components You can find the complete application source code on GitHub but let s have a closer look at the most interesting parts here App componentThe file app component ts is the root component of our application It contains the state as which image is currently selected and all the components composing our app By looking at its template you can glimpse at how our appplication works lt pg gallery images images select setImage event gt lt pg gallery gt lt pg fold gt lt pg fold gt lt pg details image currentImage gt lt pg details gt lt pg fullview image currentImage close closeImage previous previousImage event next nextImage event gt lt pg fullview gt From there you can see that our app is made of main components Gallery a scrollable list of thumbnailsFold a placeholder for the space taken by the fold area on dual screen devicesDetails show the zoomed in version of the selected image with its description on dual screen devicesFullview show the selected image in full screen on single screen devicesThe App component also includes some styling to lay out these components depending of the device configuration host width vw height vh display flex flex direction row media screen spanning single fold vertical host flex direction row media screen spanning single fold horizontal host flex direction column reverse media screen spanning none host flex direction row Here we re using specific media queries to adapt the layout on a dual screen configuration You ll see these media queries also used in the other components to hide or show them and adapt their design for every configuration so let s have a closer look Fold Details and Fullview componentsThese three components are used to display differens things depending on what device it s running on The Fullscreen component is used only on single screen devices whereas the Fold and Details components are used on dual screen devices import Component from angular core Component selector pg fold template lt div class fold gt lt div gt styles fold height width background size px px background color background image linear gradient deg rgba transparent transparent rgba rgba transparent transparent media screen spanning single fold vertical fold height env fold height width env fold width media screen spanning single fold horizontal fold height env fold height width env fold width export class FoldComponent You can see here that by default the Fold component is hidden height and width set to and it s made visible with different sizes when a dual screen device is used The Details component uses a similar approach The Fullview component does the opposite by hiding itself when a dual screen device is detected with this media query media screen spanning single fold horizontal screen spanning single fold vertical container display none With that we ve covered the main principles behind the orginal photo gallery adaptation You can see the full source code for this version here But we ve not really made good usage of Angular features here as we are including all components whether they re needed or not and use CSS to show or hide them We also had to use extra CSS with specific media queries meaning more work was needed to make this demo It might not be an issue here as our demo remains quite simple but in more complex applications this could result in reduced performance due to unnecessary component rendering and maintenance issues due to the scattered CSS approach Introducing ngx foldableThe Angular library ngx foldable was specifically designed to allow adapting Angular applications while making minimal changes to your code It provides directives and services to access the screen context information and react to changes automatically We install it with npm install ngx foldable and then import the FoldableModule into our app import FoldableModule from ngx foldable NgModule imports FoldableModule export class AppModule Revisiting the App componentWith the library set up we can now use the provided fdSplitLayout fdWindow and fdIfSpan directives to rebuild our App component template lt div fdSplitLayout flex reverse gt lt pg gallery fdWindow images images select setImage event gt lt pg gallery gt lt pg details fdWindow fdIfSpan multi image currentImage gt lt pg details gt lt pg fullview fdIfSpan none image currentImage close closeImage previous previousImage event next nextImage event gt lt pg fullview gt lt div gt First you ll notice that we added a top lt div gt container with the directive fdSplitLayout This directive enables us to build a split layout on dual screen devices without the need for extra CSS The first parameter allow to choose which kind of CSS layout you want to use so we re using flex here Other possible options are grid or absolute to better fit your existing app layout The second parameter allows you to choose whether you want to reverse the window segments order when the spanning ie the orientation changes or keep the normal order Next you ll notice that we added the fdWindow directive to the Gallery and Details components This one allows you to assign a particular component to a window segment in dual screen mode and works only within a fdSplitLayout container element The best part of the fdSplitLayout and fdWindow directives are that they re only activated on dual screen devices so absolutely no CSS is added when the app is running on a single screen device Notice that we also got rid of the Fold component as it s no longer needed Finally we used the fdIfSpan structural directive to show hide the Details and Fullview components depending on the context This directive works the same as ngIf except that it s wired to pre defined conditions related to the current screen context fdIfSpan multi means that the Details component will only be attached to the DOM in a multi screen context no matter what the orientation of the device is The Fullview component uses the opposite value none meaning that it will be present only on single screen devices Note that we could have also used the else syntax exactly like a regular ngIf Other possible conditions are fold vertical and fold horizontal if you need to target a specific orientation Using these three directives we can now remove ALL the specific CSS related to single dual screen adaptation Yup you read that right With that the new CSS for our App component simply becomes host width vw height vh Less code in the end better performance and no need for specific CSS sounds like a win here You can see the final web app here Going furtherWe ve seen how we can abstract the handling of device adaptation and provide a higher level API using Angular While it s always interesting to have a look at the CSS primitives behind it sometimes we just want a more straightforward way of achieving our intent That s also why CSS libraries like Bootstrap and Tailwind CSS are so popular for quickly creating Responsive Designs You can take a look at the app final code and the details of the changes when using the ngx foldable library If you re curious you can also dive into the code behind ngx foldable and see how it works Contributions are welcomed too Follow me on Twitter I would be happy to discuss and take your suggestions |
2021-04-15 16:01:15 |
Apple |
AppleInsider - Frontpage News |
Mobile gaming company AppLovin raises $1.8B in IPO |
https://appleinsider.com/articles/21/04/15/mobile-gaming-company-applovin-raises-18b-in-ipo?utm_medium=rss
|
Mobile gaming company AppLovin raises B in IPOMobile gaming company AppLovin has raised billion in its initial public offering on Thursday giving it a market capitalization of billion Credit AppLovinThe company s market valuation marks one of the biggest public debuts of thus far Backed by private equity group KKR AppLovin is known for App Store hits such as Matchington Mansion and Wordscapes It also sells marketing software to other developers Read more |
2021-04-15 16:27:18 |
海外TECH |
Engadget |
Arcade Fire release a 45-minute song through Headspace's mindfulness app |
https://www.engadget.com/arcade-fire-headspace-meditation-app-song-164201787.html
|
legend |
2021-04-15 16:42:01 |
海外TECH |
Engadget |
Xwing completes first autonomous gate-to-gate commercial cargo flight |
https://www.engadget.com/xwing-first-autonomous-commercial-cargo-flight-160057111.html
|
Xwing completes first autonomous gate to gate commercial cargo flightAutonomous aviation startup Xwing has completed the first gate to gate commercial cargo flight using a Cessna Grand Caravan B utility aircraft retrofitted with its AutoFlight system |
2021-04-15 16:00:57 |
海外TECH |
CodeProject Latest Articles |
PVS.MediaPlayer - Audio and Video Player Library |
https://www.codeproject.com/Articles/109714/PVS-MediaPlayer-Audio-and-Video-Player-Library
|
librarymicrosoft |
2021-04-15 16:38:00 |
海外科学 |
NYT > Science |
How the Largest Animals That Could Ever Fly Supported Giraffe-Like Necks |
https://www.nytimes.com/2021/04/14/science/pterosaurs-necks-azhdarchids.html
|
necksthese |
2021-04-15 16:53:10 |
金融 |
金融庁ホームページ |
金融審議会「市場制度ワーキング・グループ」(第8回)議事次第について公表しました。 |
https://www.fsa.go.jp/singi/singi_kinyu/market-system/siryou/20210415.html
|
金融審議会 |
2021-04-15 18:00:00 |
海外ニュース |
Japan Times latest articles |
Tepco lapse a wake-up call for Japan’s nuclear security protocols, expert says |
https://www.japantimes.co.jp/news/2021/04/15/national/nra-niigata-tepco-nuclear-security/
|
Tepco lapse a wake up call for Japan s nuclear security protocols expert saysThe incident in Niigata is “of particular concern because the potential security breaches lasted for months a top expert in the field said |
2021-04-16 02:58:05 |
海外ニュース |
Japan Times latest articles |
Japan lost track of key North Korean liaison officer several years ago |
https://www.japantimes.co.jp/news/2021/04/15/national/north-korea-negotiator/
|
tokyo |
2021-04-16 02:40:10 |
海外ニュース |
Japan Times latest articles |
IAEA to oversee release of contaminated water from Fukushima nuclear plant |
https://www.japantimes.co.jp/news/2021/04/15/national/iaea-tepco-japan-fukushima/
|
IAEA to oversee release of contaminated water from Fukushima nuclear plantThe agency will play a central and permanent role in monitoring the discharge operation its Director General Rafael Grossi said in an interview Wednesday |
2021-04-16 02:22:37 |
海外ニュース |
Japan Times latest articles |
Japan joins U.S. in urging China to accelerate climate action |
https://www.japantimes.co.jp/news/2021/04/15/business/economy-business/japan-china-emissions/
|
koizumi |
2021-04-16 02:03:14 |
海外ニュース |
Japan Times latest articles |
Japan’s ticket to zero carbon could be century-old technology |
https://www.japantimes.co.jp/news/2021/04/15/business/methanation/
|
japan |
2021-04-16 02:01:08 |
海外ニュース |
Japan Times latest articles |
Japan urged to outlaw LGBTQ discrimination before Olympics |
https://www.japantimes.co.jp/news/2021/04/15/national/social-issues/lgbt-tokyo-olympics/
|
equality |
2021-04-16 02:00:50 |
海外ニュース |
Japan Times latest articles |
Kuroda warns of lingering COVID-19 pain as BOJ pares outlook for two regions |
https://www.japantimes.co.jp/news/2021/04/15/business/economy-business/boj-kuroda-modest-recovery/
|
regionsthe |
2021-04-16 01:30:29 |
海外ニュース |
Japan Times latest articles |
In break from official line, LDP No. 2 floats Tokyo Games cancellation |
https://www.japantimes.co.jp/news/2021/04/15/national/olympic-games-coronavirus/
|
In break from official line LDP No floats Tokyo Games cancellation What is the point of the Olympics if it helps spread the virus further said LDP Secretary General Toshihiro Nikai on a television program |
2021-04-16 01:27:31 |
海外ニュース |
Japan Times latest articles |
White Sox lefty Carlos Rodon tosses no-hitter against Indians |
https://www.japantimes.co.jp/sports/2021/04/15/baseball/mlb/rodon-tosses-no-hitter/
|
White Sox lefty Carlos Rodon tosses no hitter against IndiansLeft hander Carlos Rodon threw the th no hitter in Chicago White Sox history striking out seven batters in an rout of the Cleveland Indians in |
2021-04-16 02:58:26 |
海外ニュース |
Japan Times latest articles |
Microsoft’s $20 billion AI deal will shake up how we work |
https://www.japantimes.co.jp/opinion/2021/04/15/commentary/world-commentary/microsoft-ai-nuance-communications-dax/
|
Microsoft s billion AI deal will shake up how we workAt first glance it may seem like a strange candidate for what would become Microsoft s second largest acquisition after its billion deal for LinkedIn Corp |
2021-04-16 01:15:49 |
海外ニュース |
Japan Times latest articles |
Smaller armies and better defenses in a new world |
https://www.japantimes.co.jp/opinion/2021/04/15/commentary/world-commentary/defense-u-k-cybersecurity-terrorism-war/
|
kingdom |
2021-04-16 01:09:36 |
ニュース |
BBC News - Home |
Prince Philip: Duke's four children to walk alongside coffin at funeral |
https://www.bbc.co.uk/news/uk-56761074
|
buckingham |
2021-04-15 16:18:03 |
ニュース |
BBC News - Home |
George Floyd death: Ex-officer Chauvin will not take the stand |
https://www.bbc.co.uk/news/world-us-canada-56763599
|
floyd |
2021-04-15 16:09:09 |
ニュース |
BBC News - Home |
Covid-19: Record numbers on England hospital waiting lists, and beauty brand U-turns |
https://www.bbc.co.uk/news/uk-56763789
|
coronavirus |
2021-04-15 16:54:33 |
北海道 |
北海道新聞 |
フジの提出文書など開示 外資規制違反で総務省 社長「問題ある会食ない」 |
https://www.hokkaido-np.co.jp/article/533725/
|
外資規制 |
2021-04-16 01:06:25 |
コメント
コメントを投稿