IT |
ITmedia 総合記事一覧 |
[ITmedia News] ポケモンGOの米Nianticが新たなARゲーム「ペリドット」公開 バーチャルペットを育てて繁殖 |
https://www.itmedia.co.jp/news/articles/2204/14/news068.html
|
itmedia |
2022-04-14 02:01:00 |
海外TECH |
Ars Technica |
Razer-designed Linux laptop targets AI developers with deep-learning emphasis |
https://arstechnica.com/?p=1847747
|
razer |
2022-04-13 17:40:12 |
海外TECH |
Ars Technica |
Lawsuit: Musk saved $143 million by illegally waiting to disclose Twitter stake |
https://arstechnica.com/?p=1847734
|
price |
2022-04-13 17:02:59 |
海外TECH |
MakeUseOf |
How to Speed Up Your Amazon Fire TV Stick |
https://www.makeuseof.com/tag/speed-up-amazon-fire-tv-stick/
|
stick |
2022-04-13 17:30:14 |
海外TECH |
MakeUseOf |
How to Use Built-In Angular Directive: ngIf, ngFor, ngClass, and More |
https://www.makeuseof.com/angular-built-in-directives-ngif-ngfor-ngclass/
|
How to Use Built In Angular Directive ngIf ngFor ngClass and MoreAngular s directives add additional behavior to parts of your application Find out how to use the most common and useful directives |
2022-04-13 17:30:13 |
海外TECH |
DEV Community |
How to set up WYSIWYG editing in MkDocs with CloudCannon |
https://dev.to/cloudcannon/how-to-set-up-wysiwyg-editing-in-mkdocs-with-cloudcannon-1na4
|
How to set up WYSIWYG editing in MkDocs with CloudCannonMkDocs is a fantastic static site generator SSG for project documentation It builds quickly its documentation source files are written in Markdown and its sites are configured with a single YAML file It has a wide variety of themes and best of all its built files are pure static HTML which can be hosted anywhere It s also the most recent SSG we re supporting at CloudCannon With almost stars on GitHub it s clear that MkDocs has a large number of users fans and contributors That s why we re pleased to be bringing our collaborative editing CMS to MkDocs so whole teams ーeven non technical content team members or those just learning Markdown ーcan jump right in and be instantly productive With CloudCannon s Content Editor you ll be able to set up a rich text content editing experience that brings WYSIWYG editing to MkDocs build flow all in a matter of minutes Once it s all set up it ll be ready to edit in Markdown or rich text and will look a little like this Let s dig in shall we Installing MkDocsIf you already have a MkDocs site you d like to connect to CloudCannon skip ahead to step For everyone else we ll start by installing MkDocs ーwe re basically following the instructions at MkDocs org so check those out if you have more questions In this example I ll add a very basic MkDocs site ーtwo pages in Markdown format and a config file called mkdocs yml The build process itself will happen within CloudCannon so there s no need to connect the site folder you d create locally when you use the build command I d also recommend adding site to your gitignore file CloudCannon also offers an easy interface for editors to add new pages themselves The repo I ll connect is up at ーfeel free to use this and jump ahead to step or follow the simple instructions at below to create and set up your own site Let s install MkDocs first pip install mkdocsWe can now create a new project and then navigate to the docs folder within your project folder mkdocs new cc project cd cc project docsYou ll see that there s a single page in the docs folder index md Let s add to that ーcreate a Markdown file called about md and add any Markdown content you d like I ve added stock MkDocs lorem ipsum for now but we can change this later Jump back to your project folder and now edit your mkdocs yml file to reflect your nav items and site name site name MkCloudCannon site url nav Home index md About about mdIf you re serving locally you ll be able to see that these nav items immediately populate in the navigation menu and that the search function immediately works searching across all of your pages with no configuration on your part Easy Put these files into a new repository on your GitHub GitLab or Bitbucket account and let s get ready to edit Connecting your MkDocs site to CloudCannonConnecting your site to CloudCannon is as easy as adding your Git repository which for this sample site contains only three files ーmy mkdocs yml configuration file and my pages docs index md and docs about md If you haven t already sign up for a CloudCannon account Once you re in add a new site connect your own files for this tutorial name your site choose your Git provider and select your source files ーyour new repository Or mine if you like Now we ve connected our site and we could view it on a free test domain on any device but a documentation site is only as strong as its ease of editing And how do we make editing it easier Let s tell CloudCannon how you and your team will want to edit your site and its pages by creating a new YAML file cloudcannon config yml We ll define what CloudCannon shows in the CMS sidebar the pages in MkDocs docs folder where new files should go how CloudCannon should build URLs and most importantly for your technical writers which rich text buttons will be available in CloudCannon s WYSIWYG Content Editor Here s the contents of my cloudcannon config yml file Which collections CloudCannon will show in the CMS sidebar collections config docs name Documentation path docs output true url full slug mkdocs default url behavior for nested files Where CloudCannon should put new files and how it should build URLs paths uploads docs Put new files inside the docs folder static docs Reference files in the docs folder as lt file gt The available buttons in the CloudCannon Content Editor editables content link true blockquote true bold true format p h h h h h h italic true strike true subscript true superscript true underline true bulletedlist true indent true numberedlist true outdent true code true embed true horizontalrule true image true table true undo true redo true removeformat true copyformatting trueNote that while I ve added a lot of options for editors above I haven t added everything ーsee our documentation for defining editable regions to see all of your options Now that we ve added this cloudcannon config yml file to our site CloudCannon will rebuild it automatically Once we refresh we ll see that our page is now fully editable Any saved changes will automatically trigger a new build You can turn this feature off and manually trigger or schedule your site builds in the settings ーwhatever works for you and your team Here s a quick video overview of the whole process That was easy Now what That brings us to the end of this short and sweet post ーwe ve created a new site brought it into CloudCannon and defined just how CloudCannon will enable you to interact with your site and its pages There s a tremendous amount of power potential and flexibility in that cloudcannon config yml file and we ve barely scratched the surface If you d like to dig into more of the deep configuration options in CloudCannon check out our documentation on using the configuration cascade which is a set of sources containing customizable options for the editor each with a different scope and priority This allows you to set global defaults and where necessary override those for specific collections or files If you come across any issues while you re dialling in your configuration please reach out to us via our support channel ーwe re here to help |
2022-04-13 17:21:20 |
海外TECH |
DEV Community |
Grow traffic to your GitHub profile w/ GitHub Actions |
https://dev.to/francescobianco/grow-traffic-to-your-github-profile-2n2a
|
Grow traffic to your GitHub profile w GitHub ActionsThe secret to popularizing your profile lies in not neglecting any of your side projects You know those GitHub projects you haven t touched since Maybe you don t know but they often attract traffic but not finding an appropriate call to action they end up looking at your README and then running away With the repository I have created you will be able to keep track of all incoming traffic on each of your projects in one place This allows you to concentrate on the most popular projects but at the same time to fish out some interesting projects from the bottom that perhaps alone makes a few visits a month Take a look at the link at the bottom of the page Please share it on twitter I put this button that can speed up your work Add onAlso remember to always take care of the social aspect of your projects see for example how I configured the social card of the project I just released LinksThe progect |
2022-04-13 17:06:09 |
海外TECH |
DEV Community |
AWS Karpenter Hands-on |
https://dev.to/aws-builders/aws-karpenter-hands-on-custom-resources-1am9
|
AWS Karpenter Hands on AbstractKarpenter Just in time Nodes for Any Kubernetes Cluster It is one of Node based autoscaling adding or removing nodes as needed beyond cluster autoscaler What does this post provides Hands on installing karpenter on EKS ClusterProvide permission for Karpenter to create AWS resources through IAM for service account IRSA Create sample karpenter provisioner to test scaling out and scaling down nodes by karpenterFinally what Karpenter improvements vs cluster autoscaler Table Of ContentsPre requisiteCreate karpenter service accountInstall karpenter using helm chartKarpenter provisionerTest karpenter scaleout nodesKarpenter DeprovisioningTroubleshootingKarpenter improvementsConclusion Pre requisite EKS clusterIAM Instance profile which will be assigned to EKS nodes and help them to join the EKS clusterOIDC provider Create karpenter service account The best practice to provide AWS permission for Kubernetes service is Using IAM Service Account Instead Of Instance Profile For EKS PodsIf you already setup OIDC by using IAM identity provider then you can create the IAM role as service account for karpenter manually or using CDK The role needs permission on EC actions onlykapenter sa tsThen generate service account yaml base on the output IAM role ARNkarpenter sa yamlCreate service account by kubectl apply f karpenter sa yaml and then check the result kf get sa n karpenterNAME SECRETS AGEkarpenter controller m Install karpenter using helm chart Use karpenter values yaml to disable creating new serviceAccount and point to the one which is created above Replace clusterName and clusterEndpoint with your EKS clusterInstalling the Chart helm repo add karpenter helm repo update helm upgrade install karpenter karpenter karpenter namespace karpenter version values yaml karpenter values yaml waitCheck the karpenter pod created it is included controller and webhook containers Describe the pod to ensure it is assigned correct serviceAccount with proper IAM role kf get pod n karpenterNAME READY STATUS RESTARTS AGEkarpenter fcc tq Running msNote that Karpenter provide autoscalling nodes for our services but it still needs node to deploy itself we run the Karpenter controller on EKS Fargate or on a worker node that belongs to a node group Karpenter provisioner Provisioner Provides options for karpenter controller creates expected nodes such as instance profile AMI family such as Bottlerocket instance type security group subnet tags capicity type such as spot etc Sample provisioner instanceProfile As describe above this profile just needs enough permissions to join the EKS cluster eg eks node role dev with permission AmazonEKS CNI Policy AmazonEKSWorkerNodePolicy AmazonECContainerRegistryReadOnly AmazonSSMManagedInstanceCore Use Bottlerocket as AMI familysubnetSelector Specify tag of the subnet we want to host the nodes we should use private subnet of the EKS VPC so ensure the private subnets have tag EksCluster EKSVpc PrivateSubnet securityGroupSelector Specify tag of the security group we want to attach to the nodesNode requirements spot instances small size as we just testtaints Taint the nodes if we want to control our services assigned to expected nodes and seperate resourcesdev provisioner yamlApply the yaml file by kf apply f dev provisioner yaml and then check result kf get provisioners karpenter sh NAME AGE dev m Test karpenter scaleout nodes Test the karpenter provisioner we just create above by apply the deployment First check that there s no provisioned node created yet kf get node l karpenter sh provisioner name dev No resources foundApply the deployment test deployment yaml note that the deployment must have tolerations map with the taints if we specify in the provisioner kf apply f yaml test deployment yaml deployment apps inflate created kf get pod NAME READY STATUS RESTARTS AGE inflate dbc rtdg Running s inflate dbc xsbn Running s kf get node l karpenter sh provisioner name dev NAME STATUS ROLES AGE VERSION ip ap northeast compute internal Ready lt none gt s v eks bcdcWe can check log of karpenter controller to see how it works T Z INFO controller provisioning Batched pods in s commit d provisioner dev T Z DEBUG controller provisioning Discovered subnets subnet bfed ap northeast a subnet ebab ap northeast c subnet feaccd ap northeast b commit d provisioner dev T Z INFO controller provisioning Computed packing of node s for pod s with instance type option s t xlarge commit d provisioner dev T Z DEBUG controller provisioning Discovered security groups sg ffcbbdf sg defef commit d provisioner dev T Z DEBUG controller provisioning Discovered kubernetes version commit d provisioner dev T Z DEBUG controller provisioning Discovered ami fdfdaa for query aws service bottlerocket aws ks x latest image id commit d provisioner dev T Z DEBUG controller provisioning Created launch template Karpenter eks dev commit d provisioner dev T Z DEBUG controller provisioning Discovered EC instance types commit d provisioner dev T Z DEBUG controller provisioning Discovered EC instance types zonal offerings commit d provisioner dev T Z INFO controller provisioning Launched instance i cde hostname ip ap northeast compute internal type t xlarge zone ap northeast b capacityType spot commit d provisioner dev T Z INFO controller provisioning Bound pod s to node ip ap northeast compute internal commit d provisioner dev T Z INFO controller provisioning Waiting for unschedulable pods commit d provisioner dev Go to AWS console to check the node Karpenter Deprovisioning How Karpenter nodes are deprovisionedNode empty Node with no pods non daemonset will be deleted after ttlSecondsAfterEmptyNode expired based on ttlSecondsUntilExpired to delete node no matter of any workload This option is to handle node upgrade with latest AMI We can protect the application s availability by using Disruption budgetsDisruption budgets PodDisruptionBudgetBy adding a karpenter sh do not evict annotation to the pod you are instructing Karpenter to preserve the node until the Pod is terminated or the do not evict annotation is removedIn our provisioner we specify ttlSecondsAfterEmpty so let s delete the test deployment yaml and check karpenter scale down the node kf delete f yaml test deployment yaml deployment apps inflate deleted kf get pod No resources found in default namespace kf get node l karpenter sh provisioner name dev No resources foundSee log for more detail T Z INFO controller node Added TTL to empty node commit d node ip ap northeast compute internal T Z INFO controller node Triggering termination after s for empty node commit d node ip ap northeast compute internal T Z INFO controller termination Cordoned node commit d node ip ap northeast compute internal T Z INFO controller termination Deleted node commit d node ip ap northeast compute internal Troubleshooting Error we might get and how to troubleshootI got following error due to wrong setup the ServiceAccount T Z ERROR controller provisioning Could not launch node launching instances getting launch template configs getting launch templates creating launch template UnauthorizedOperation You are not authorized to perform this operation Encoded authorization failure message uBZrZUSziCVRjVuPSiwFLaqJMFHwZIuPvJPp psYQMPEUtzbldDOxSZDXrdTLdFz zxjzNhOPtnmenOgb sEDxiMuClKprCuBGlQxOJzUYEFxFBMksqC aoPrnMnDzKjdMlNdBsnjUuFntnYBopIZGA MwkgVotuOLDZlsjZidyWQRoeHtf uTWzwnWTFusSEA yhxudEuPoTCECj RdbSgpcHZUiUKDKSRNvwLlibg dmvQriGCeXRNRhQuMridNGIVXmHjBNnmgliZQXzVGe NY MI WsykgLtmnCMvGhTeGIpLvZMolVdEIOgDnDydMfIVxDKqJLNFuxwhzTpvJUYKR i HibmRgNAc NXwDQBoEqkOuSiTYBzYDsKyCgrtVjwPHgOesCGUegNJBrErcsXSSxSRpTqYu FwCAPLKFzwphrChTxlaONWfi LyDpkpbVisoH vqJkbsThe error of authorization status of a request was encoded so we need to decode for get more info of the error by using decode authorization message aws sts decode authorization message encoded messag uBZrZUSziCVRjVuPSiwFLaqJMFHwZIuPvJPp psYQMPEUtzbldDOxSZDXrdTLdFz zxjzNhOPtnmenOgb sEDxiMuClKprCuBGlQxOJzUYEFxFBMksqC aoPrnMnDzKjdMlNdBsnjUuFntnYBopIGA MwkgVotuOLDZlsjZidyWQRoeHtf uTWzwnWTFusSEA yhxudEuPoTCECj RdbSgpcHZUiUKDKSRNvwLlibg dmvQriGCeXRNRhQuMridNGIVXmHjBNnmgliZQXzVGe Y MI WsykgLtmnCMvGhTeGIpLvZMolVdEIOgDnDydMfIVxDKqJLNFuxwhzTpvJUYKR i HibmRgNAc NXwDQBoEqkOuSiTYBzYDsKyCgrtVjwPHgOesCGUegNJBrErcsXSSxSRpTqYu FwCAPLKFzwphrChTxlaONWfi LyDpkpbVisoH vqJkbs DecodedMessage allowed false explicitDeny false matchedStatements items failures items context principal id AROAZUFRJWVHLMTMS i fadeea arn arn aws sts assumed role eks node role dev i fadeea action ec CreateLaunchTemplate resource arn aws ec ap northeast launch template conditions items key aws Region values items value ap northeast key aws ID values items value key aws Service values items value ec key aws Resource values items value launch template key aws Type values items value launch template key aws Account values items value key aws ARN values items value arn aws ec ap northeast launch template Invalid instance profileError T Z ERROR controller provisioning Could not launch node launching instances with fleet error s InvalidParameterValue Value eks node role dev for parameter iamInstanceProfile name is invalid Invalid IAM Instance Profile name commit d provisioner dev Reason in my case is that the IAM role attached to EC was created by CDK and the instance profile named eg eks febfdbb ab a acf edffdc not the role name To fix this issue we can create new instance profile with role name and add to the role aws iam create instance profile instance profile name eks node role dev aws iam add role to instance profile instance profile name eks node role dev role name eks node role dev Karpenter improvements Karpenter improvementsDesigned to handle the full flexibility of the cloud Karpenter has the ability to efficiently address the full range of instance types available through AWS Cluster autoscaler was not originally built with the flexibility to handle hundreds of instance types zones and purchase options Group less node provisioning Karpenter manages each instance directly without using additional orchestration mechanisms like node groups This enables it to retry in milliseconds instead of minutes when capacity is unavailable It also allows Karpenter to leverage diverse instance types availability zones and purchase options without the creation of hundreds of node groups Scheduling enforcement Cluster autoscaler doesn t bind pods to the nodes it creates Instead it relies on the kube scheduler to make the same scheduling decision after the node has come online A node that Karpenter launches has its pods bound immediately The kubelet doesn t have to wait for the scheduler or for the node to become ready It can start preparing the container runtime immediately including pre pulling the image This can shave seconds off of node startup latency Conclusion At the time of writing this post Karpenter is still on its way to add improve many features check more hereIn practice we can create multiple karpenter provisioners in following usecasesWhen different teams are sharing a cluster and need to run their workloads on different worker nodes with specific request resources or AMI such as Bottlerocketwhen create multiple vclusters and would like to seperate resources between vclusters In general using multiple provisioners makes sure that the most appropriate assets are available to each teamReferences Introducing Karpenter An Open Source High Performance Kubernetes Cluster AutoscalerConfigure the Node Termination Handler to use queue processor mode ltag user id follow action button background color a important color df important border color a important Vu Dao Follow AWSome Devops AWS Community Builder AWS SA ️CloudOpz ️ vumdao vumdao |
2022-04-13 17:04:35 |
海外TECH |
DEV Community |
Build a Web App with Pandas |
https://dev.to/pcarrogarcia/build-a-web-app-with-pandas-5d86
|
Build a Web App with Pandas A Web App to Show your Insights to the WorldPandas is one of the most popular data science libraries for analysing and manipulating data But what if you want to present your data to other people in a visual manner With Anvil you can wrangle data with pandas and build a dashboard for it entirely in Python In this tutorial we re going to build a dashboard app using the Netflix Movies and TV Shows dataset by Shivam Bansal We ll use Pandas to manipulate our data then Plotly to visualize it and turn it into an interactive dashboard These are the steps that we will cover We ll start by creating our Anvil appThen we ll design our dashboard using Anvil componentsWe ll upload our CSV data into AnvilAfter that we ll have to read our data from our fileWe ll clean and prepare the data for plottingUsing Plotly we will build our plotsFinally we will add some finishing touches to the designLet s get started Step Create your Anvil appGo to the Anvil editor and click on “Blank App and choose Material Design We just want an empty app so we ll delete the current Form and then add a new Blank Panel form Now let s rename our app Click on the app s name on the top left corner of the screen This takes us to the General Settings page where we can modify our app s name Step Design your dashboardWe will build our user interface by adding drag and drop components from the Toolbox First add a ColumnPanel where we will fit all our other components Then let s add three Plots into the ColumnPanel we can adjust their sizes by clicking and dragging their edges use Ctrl Drag for finer adjustments We ll also drop a Label into our app and place it above the plots Select your Label and in the Properties Panel on the right change the text to “Netflix Content Dashboard Set the font size to and if you want you can customize the font Finally we ll set the spacing above property of all the components to large you can find this under the Layout section of the Properties Panel Step Upload your data into AnvilWe need our data to be accessible to our code in Anvil to be able to work with it Anvil can store files in the database so we ll updload it into a table and look the file up by its name To do that open the database window from the Sidebar Menu and click the Add Table button We ll call this table “data and by clicking on New column we ll create the following columns file Media column file name Text column Once our columns are created we ll upload our CSV file into it Click on the upload icon on file and select the file you want After that we ll give it a name on the file name column double click the cell and name it netflix Step Read the dataNext we need to read the data from our CSV Go back to the App Browser and under Server Code click on Add Server Module We will be writing our code in our Server Module since we need to be in the server side to use pandas If you want to learn more about the structure of the web and the differences between Client and Server code check out our Client vs Server Code in Anvil explainer Import io and pandas at the top of the module and write the csv to df function which will fetch the data in our data table and convert it into a Pandas DataFrame import ioimport pandas as pddef csv to df f d app tables data get file name f file df pd read csv io BytesIO d get bytes index col return dfWith this we are now able to transform our data into a dataframe Pandas is only available to the server on a Personal plan and above or on a Full Python interpreter trial Data explorationWith our data in a DataFrame we can start exploring it For this we will want to see print statements as we fiddle with the data so we ll create explore a function in which we ll call our csv to df function and write our print statements anvil server callabledef explore netflix df csv to df netflix print netflix df head We made this function available to the client side by decorating it as anvil server callable which means we can call it from the client using anvil server call to be able to see our print statements in our console So let s do just that add the following line to your Form innit function class Form FormTemplate def init self properties self init components properties anvil server call explore All we have to do now is run our app to see the output After that we can continue adding print statements to our function on the Server and run it as we explore the data Note that pandas will assume you re on a narrow display so it may not show all your dataframe columns To avoid this you will need to modify pandas s display width by adding the line pd set option display width to your explore function Step Get the data into shapeBefore we can plot our data we need to clean it and prepare it for plotting We ll do all the necessary transformations to our data inside a function that we ll call prepare netflix data which we ll place above our explore function That way when we re done transforming our data we ll be able to easily print out our results using explore The first thing we need to do is call our csv to df function to fetch our data def prepare netflix data netflix df csv to df netflix Our figures will only use data from the type country and date added columns so we ll slice our DataFrame using the loc property netflix df netflix df loc type country date added There s also some missing values that we ll have to deal with so that we don t include missing data in our plots Pandas has a few different ways to handle missing values but in this case we ll just use dropna to get rid of them netflix df netflix df dropna subset country The country column contains the production country of each movie or TV Show in Netflix However some of them have more than one country listed For simplicity we re going to assume the first one mentioned is the most important one and we ll ignore the others We ll also create a separate DataFrame that only contains the value counts for this column sorted by country this will be useful later on when we input the data into our plots netflix df country countries for countries in netflix df country str split country counts pd DataFrame netflix df country value counts rename axis countries reset index name counts sort values by countries Our date added variable currently contains only strings which is not a very easy format to work with when we want to plot something in chronological order Because of this we ll convert it into datetime format using to datetime which will allow us to easily order the data by year later on netflix df date added pd to datetime netflix df date added We ll return our transformed dataframe and the country counts variable that we just created This is how the full function should look by the end def prepare netflix data netflix df csv to df netflix netflix df netflix df loc type country date added netflix df netflix df dropna netflix df country countries for countries in netflix df country str split country counts pd DataFrame netflix df country value counts rename axis countries reset index name counts sort values by countries netflix df date added pd to datetime netflix df date added return netflix df country countsFinally we can print the output of prepare netflix data inside our explore function to make sure everything looks right def explore netflix df csv to df netflix print netflix df head print prepare netflix data This is what the output should look like when we run our app Now that we re happy with how our data looks we can move on to building our plots Step Build the plotsOur data is in a Pandas DataFrame so we can only work with it on the Server where we can access external packages This means that we ll have to create our plots in our Server Module Our dashboard contains three figures A map showing the number of films per production countryA content type pie chart A line chart of content added through timeNow we need to create them import plotly graph objects at the top of the Server Module and write the create plots function which should be decorated as anvil server callable Before anything else we ll call our prepare netflix data function to fetch our transformed data After that we ll first create and return our map plot using Plotly s Scattergeo import plotly graph objects as go anvil server callabledef create plots netflix df country counts prepare netflix data fig go Figure go Scattergeo locations sorted netflix df country unique tolist locationmode country names text country counts counts marker dict size country counts counts sizemode area return figIn order to display our figures we will need to access the output our Server function in the Client side so we ll call create plots using anvil server callable inside the init method in our Form code Anvil s Plot component has a figure property with which we can set the figures that we want to display class Form FormTemplate def init self properties self init components properties anvil server call explore fig anvil server call create plots self plot figure figWe can check that everything is working like we want it to by running our app This is how it looks so far Let s now do the same with our other two plots We ll add a pie chart and a line chart to our create plots function anvil server callabledef create plots netflix df country counts prepare netflix data fig go Figure go Scattergeo locations sorted netflix df country unique tolist locationmode country names text country counts counts marker dict size country counts counts sizemode area fig go Figure go Pie labels netflix df type values netflix df type value counts fig go Figure go Scatter x netflix df date added dt year value counts sort index index y netflix df date added dt year value counts sort index return fig fig figAnd we ll call them from the client in the same way we did our previous plot class Form FormTemplate def init self properties self init components properties anvil server call explore fig fig fig anvil server call create plots self plot figure fig self plot figure fig self plot figure figWith that we have a functional dashboard Step Finishing touchesWith everything set up we can move onto customizing our plots and styling our app For my dashboard I decided to go with a Netflix like color scheme We ll use Plotly s built in styling capabilities to modify the look of our figures Let s start by updating the plots markers We need to add some lines of code to our current plots to set their colors sizes and positioning def create plots netflix df country counts prepare netflix data fig go Figure go Scattergeo locations sorted netflix df country unique tolist locationmode country names text country counts counts marker dict size country counts counts line width sizeref sizemode area color D Making the map bubbles red fig go Figure go Pie labels netflix df type values netflix df type value counts marker dict colors D A Making the pie chart two different shades of red hole Adding a hole to the middle of the chart textposition inside textinfo percent label fig go Figure go Scatter x netflix df date added dt year value counts sort index index y netflix df date added dt year value counts sort index line dict color D width Making the line red This is how the dashboard looks with the modified markers Now let s move on to modifying our plots layouts for which we ll use Plotly s update layout inside our create plots function With it we ll be able to change our figures s margins set their titles and background color and make other small styling changes fig update layout title Production countries font dict family Raleway color white Customizing the font margin dict t b l r Changing the margin sizes of the figure paper bgcolor Setting the card color to grey plot bgcolor Setting background of the figure to grey hoverlabel dict font size font family Raleway geo dict framecolor rgba bgcolor rgba landcolor DDD lakecolor rgba fig update layout title Content breakdown by type margin dict t b l r showlegend False paper bgcolor plot bgcolor font dict family Raleway color white fig update layout title Content added over time margin dict t b l r paper bgcolor plot bgcolor font dict family Raleway color white hoverlabel dict font size font family Raleway return fig fig figLet s now change the background colour of our app to a dark grey To do so open theme css which is in the Assets section of the App Browser Inside it CTRL F to find the body section and add the line background color to it This is how it should look body font family Roboto Noto Arial sans serif font size px line height background color After adjusting the plot sizes and changing our Label s color to white our dashboard is ready to be shared All you need to do now is publish your app to make it available to the world Clone the AppIf you want to check out the source code for our Netflix dashboard click on the link below and clone the app Clone the app This app as cloned will only work if you re on a Personal plan and above or on a Full Python interpreter trial New to Anvil If you re new here welcome Anvil is a platform for building full stack web apps with nothing but Python No need to wrestle with JS HTML CSS Python SQL and all their frameworks just build it all in Python Yes Python that runs in the browser Python that runs on the server Python that builds your UI A drag and drop UI editor We even have a built in Python database in case you don t have your own Why not have a play with the app builder It s free Click here to get started Get building |
2022-04-13 17:04:31 |
海外TECH |
DEV Community |
Defensa Penal - Abogado |
https://dev.to/andreacastillo822/defensa-penal-abogado-452d
|
Defensa Penal AbogadoSi alguna vez estáen problemas legales y necesita un abogado le animamos a poner a Espinoza Perea en la parte superior de su lista Como mencionamos anteriormente estuvieron dispuestos a tomar nuestro caso cuando muchos otros nos rechazaron Y gracias a su arduo trabajo fuimos declarados inocentes de los cargos que se nos imputaban No podemos agradecerles lo suficiente por su amabilidad y dedicación a nuestro caso Después de leer este artículo espero que estéde acuerdo en que el Bufete Espinoza Perea es una buena opción para aquellos que buscan un abogado de defensa penal y constitucional en todo el Ecuador Este testimonio de clientes de Espinoza Perea Boutique jurídica ha intentado proporcionar una visión objetiva de la empresa sus servicios y las formas en que puede ayudarle Si bien la situación de cada persona es única esperamos que este artículo le déinformación sólida para sopesar sus opciones y tomar una decisión informada cuando se trata de elegir un abogado |
2022-04-13 17:00:41 |
Apple |
AppleInsider - Frontpage News |
Chinese lockdowns impacting MacBook Pro supply, iPhone SE unaffected, analyst says |
https://appleinsider.com/articles/22/04/13/chinese-lockdowns-impacting-macbook-pro-supply-iphone-se-unaffected-analyst-says?utm_medium=rss
|
Chinese lockdowns impacting MacBook Pro supply iPhone SE unaffected analyst saysApple s high end MacBook Pro models appear to be affected by lockdowns in key Chinese manufacturing cities while stock of the iPhone SE doesn t appear to be impacted yet iPhone SE In a tweet on Wednesday analyst Ming Chi Kuo notes that delivery estimates for Apple s new MacBook Pro are stretching by three to five weeks after officials in Shanghai and Kunshan declared Covid lockdowns which halted production Read more |
2022-04-13 17:59:33 |
Apple |
AppleInsider - Frontpage News |
Apple's $1,999 Mac Studio is in stock now, add AppleCare for $1 |
https://appleinsider.com/articles/22/04/11/apples-mac-studio-is-in-stock-now-add-applecare-for-1?utm_medium=rss
|
Apple x s Mac Studio is in stock now add AppleCare for Apple s new Mac Studio is in high demand but the standard M Max model is in stock now ーand AppleInsider readers can add AppleCare for only AppleCare is discounted to just when added to Apple s Mac StudioWith M Max equipped MacBook Pros on backorder for well over a month and Mac Studio dates slipping as well it wouldn t come as a surprise if the standard Mac Studio would be difficult to source But Apple Authorized Reseller Adorama has units of the base spec featuring Apple s M Max chip GB of memory and a GB SSD in stock now with an exclusive Mac Studio deal also in place Read more |
2022-04-13 17:19:04 |
海外TECH |
Engadget |
Kia's EV9 SUV will arrive in the US in the second half of 2023 |
https://www.engadget.com/kia-ev9-suv-us-release-window-172037850.html?src=rss
|
Kia x s EV SUV will arrive in the US in the second half of Just a couple weeks after Kia announced a European release window for its EV the automaker has revealed when US drivers will be able to get behind the wheel of the electric SUV It said at the New York Auto Show that the EV is coming Stateside in the second half of Kia didn t announce any more details at the show as Autoblog nbsp notes meaning pricing is still unknown Still at least the timeframe has been narrowed down The automaker hasn t spilled the beans on how the road ready version of the EV differs from the boxy concept model In November Kia offered an early look at the concept EV which had a inch dashboard display and a yoke style wheel It said the EV offered up to miles of range and kW charging that boosts the battery level from percent to percent in minutes |
2022-04-13 17:20:37 |
海外TECH |
Engadget |
Novation's first keyboard for FL Studio offers a lot of utility for $200 |
https://www.engadget.com/novation-fl-keys-37-hands-on-fl-studio-midi-controller-170047186.html?src=rss
|
Novation x s first keyboard for FL Studio offers a lot of utility for It s hard to believe that FL Studio née Fruity Loops has been around for years It s even harder to believe that it took years for someone to make dedicated hardware for the DAW And that it was another four years before a second company had a stab at it after Akai s Fire Now Novation is taking its well regarded LaunchKey series giving it a light facelift and rebranding it as FLKey the first keyboard MIDI controller designed exclusively for controlling FL Studio FLKey comes in two varieties the FLKey and FLKey Mini Novation sent over the key version for me to test and I can tell you that physically it s nearly indistinguishable from the Launchkey It s got the same full size keybed velocity sensitive pads and eight knobs across the top They even both have the same amount of buttons and pitch and mod wheels placed somewhat awkwardly above the keys The only real difference is that the FLKeys are gray instead of black and the labels on the controls are slightly different Terrence O Brien EngadgetThe build is solid but not what you d call rugged I probably wouldn t take the FLKey out on tour Everything is plastic and the keys have a slight springiness to them The pads are velocity sensitive and have polyphonic aftertouch but are a tad stiff and small They ll get the job done for finger drumming but can t compare with those found on an Akai device There s a small screen that gives you useful info at a glance like preset names And the eight knobs across the top are smooth and have a nice amount of resistance but are quite small They make sense on the Mini model but on the they look slightly out of place Still considering the almost rock bottom price of this is all pretty impressive What makes the FLKey stand out though is its out of the box mapping for controlling FL Studio With the pads and pots you can easily control volume and panning both from the mixer and channel rack control many of Image Line s native plugins and play chords with a single button You can t ditch the mouse completely but you can perform most basic tasks directly from the controller If you re intimately familiar with FL Studio chances are you ll be able to get further with the keyboard than me I haven t used FL Studio much since I was in college and it was still called Fruity Loops I had to relearn some terminology and try to unlearn some habits I d developed after years of using Ableton Live as my primary DAW But once I got over the initial hump I found it relatively easy getting the rough outline of a track down with just the keyboard Terrence O Brien EngadgetI actually think that the FLKey lineup offers deeper control than its Ableton focused siblings in the Launchkey series at least when it comes to producing a full song from start to finish Whereas the Launchkey lineup seems more focused on Live s performance features FLKey feels built more with production in mind That probably has as much to do with the difference in the DAWs approaches as anything else though It s super quick and easy to lock the keyboard into a particular scale or to assign the pads across the top to the chords in said scale The latter is especially useful for me since I am what is commonly referred to as a terrible keyboard player It also takes just a single button push to quantize a performance after you ve recorded it which again is super handy for someone like me who s simply faking their way around a keyboard Terrence O Brien EngadgetIf you re sticking to FLStudio s built in plugins the knobs are often mapped to controls automatically though it seems a little random in terms of what they actually control This is probably the biggest issue with the FLKey again probably more to do with FLStudio s quirks than anything else consistency Ableton Live was built very consciously from moment one with UI consistency being high on the list of priorities so mapping controls is a much simpler and more predictable affair FLStudio is a bit more hodgepodge Every plugin has its own unique interface with controls scattered around and sometimes presented in oddly skeuomorphic ways In some plugins the mapping is completely nonexistent For instance while the buttons for changing presets work flawlessly in DX and Harmless they don t work at all in Sawyer or GMS And the mod wheel doesn t seem to do anything in most plugins Terrence O Brien EngadgetIt s also worth quickly mentioning that while the back is largely spartan there is a full sized pin MIDI DIN there So when you re not knocking out beats with FPC or chopping up samples in SliceX you can control your hardware synths too FL Studios quirks can be part of its charm But it does make it hard to build on top of what Image Line has already done Still if there s any company I d have faith in making it work it would be Novation Over the years it s developed a reputation for relentlesslyupdating its products and adding new features So there s a decent chance that FLKey s rough edges will get smoothed out |
2022-04-13 17:00:47 |
海外TECH |
CodeProject Latest Articles |
Using oneAPI to Convert CUDA to SYCL |
https://www.codeproject.com/Articles/5328712/Using-oneAPI-to-Convert-CUDA-to-SYCL
|
convert |
2022-04-13 17:59:00 |
金融 |
金融庁ホームページ |
金融庁職員の新型コロナウイルス感染について公表しました。 |
https://www.fsa.go.jp/news/r3/sonota/20220413.html
|
新型コロナウイルス |
2022-04-13 18:00:00 |
ニュース |
BBC News - Home |
Minister Lord David Wolfson quits over Covid law-breaking at No 10 |
https://www.bbc.co.uk/news/uk-politics-61097076?at_medium=RSS&at_campaign=KARANGA
|
boris |
2022-04-13 17:47:19 |
ニュース |
BBC News - Home |
Ukraine: Fugitive Putin ally Medvedchuk arrested - security service |
https://www.bbc.co.uk/news/world-europe-61089039?at_medium=RSS&at_campaign=KARANGA
|
ukrainian |
2022-04-13 17:20:20 |
ビジネス |
ダイヤモンド・オンライン - 新着記事 |
【Q&A】会社が副業禁止。やはり、副業をしてはダメでしょうか? - 40代からは「稼ぎ口」を2つにしなさい |
https://diamond.jp/articles/-/301583
|
|
2022-04-14 02:55:00 |
ビジネス |
ダイヤモンド・オンライン - 新着記事 |
社会人になっても「社会の仕組みがわからない」人におすすめの一冊 - 独学大全 |
https://diamond.jp/articles/-/301390
|
読書 |
2022-04-14 02:50:00 |
ビジネス |
ダイヤモンド・オンライン - 新着記事 |
オンライン商談に 新人を同席させる時の 指導法とは? - テレワーク時代のマネジメントの教科書 |
https://diamond.jp/articles/-/301029
|
|
2022-04-14 02:45:00 |
ビジネス |
ダイヤモンド・オンライン - 新着記事 |
2分でわかる!「イスラエルってどんな国?」パレスチナ問題を1からおさらい - 読むだけで世界地図が頭に入る本 |
https://diamond.jp/articles/-/301150
|
|
2022-04-14 02:40:00 |
ビジネス |
ダイヤモンド・オンライン - 新着記事 |
【精神科医が教える】 「かまってちゃん」の特徴とは? - 精神科医Tomyが教える 心の荷物の手放し方 |
https://diamond.jp/articles/-/301306
|
voicy |
2022-04-14 02:35:00 |
ビジネス |
ダイヤモンド・オンライン - 新着記事 |
「歌を使ってラクラク暗記」どんな試験にも効く最強勉強法 - 大量に覚えて絶対忘れない「紙1枚」勉強法 |
https://diamond.jp/articles/-/301551
|
資格 |
2022-04-14 02:30:00 |
ビジネス |
ダイヤモンド・オンライン - 新着記事 |
理想体重を30年維持する医師が 誰にでも腸活をすすめる理由 - 認知症専門医が毎日食べている長寿サラダ |
https://diamond.jp/articles/-/301465
|
理想体重を年維持する医師が誰にでも腸活をすすめる理由認知症専門医が毎日食べている長寿サラダ世界最先端の革命的認知症治療に取り組む、認知症研究年超の医学博士。 |
2022-04-14 02:25:00 |
コメント
コメントを投稿