TECH |
Engadget Japanese |
2005年2月10日、130万画素カメラを備えた超小型ケータイ「premini-II」が発売されました:今日は何の日? |
https://japanese.engadget.com/today10-203022532.html
|
premini |
2022-02-09 20:30:22 |
AWS |
AWS Partner Network (APN) Blog |
Saint Louis University Improves Researcher Productivity by Automating Processing of Large Datasets |
https://aws.amazon.com/blogs/apn/saint-louis-university-improves-researcher-productivity-by-automating-processing-of-large-datasets/
|
Saint Louis University Improves Researcher Productivity by Automating Processing of Large DatasetsSaint Louis University is at the cutting edge of research studying human behavior and its economic impact Learn how the Sinquefield Center for Applied Economic Research SCAER uses MontyCloud DAY a no code autonomous CloudOps platform to run an environment that s fully automated and self managed MontyCloud also helps SCAER automate mounting and unmounting Amazon EBS volumes on demand when Amazon EC instances are provisioned |
2022-02-09 20:28:35 |
海外TECH |
MakeUseOf |
How to Free Up Space on Mac: 8 Tips and Tricks You Need to Know |
https://www.makeuseof.com/tag/everything-can-free-space-mac/
|
drive |
2022-02-09 20:45:24 |
海外TECH |
MakeUseOf |
5 Reasons Why Using Illegal IPTV Streams Is a Bad Idea |
https://www.makeuseof.com/tag/reasons-illegal-iptv-streams-bad/
|
ideaillegal |
2022-02-09 20:30:13 |
海外TECH |
MakeUseOf |
The Top 10 Penetration Testing Tools for Security Professionals |
https://www.makeuseof.com/penetration-testing-for-security-professionals/
|
penetration |
2022-02-09 20:30:12 |
海外TECH |
MakeUseOf |
3 Things the Latest Intel Arc Alchemist Leaks Reveal |
https://www.makeuseof.com/intel-arc-alchemist-leaks-reveal-about-intels-new-gpus/
|
levels |
2022-02-09 20:25:23 |
海外TECH |
MakeUseOf |
How to Change the Date and Time in Windows 11 |
https://www.makeuseof.com/windows-11-change-date-time/
|
windows |
2022-02-09 20:16:12 |
海外TECH |
DEV Community |
My Autoconf Primer |
https://dev.to/keelefi/my-autoconf-primer-1jkb
|
My Autoconf PrimerSince a young age I ve learned that build systems and dependency management range from difficult to mind bogglingly frustrating My best experiences have been with Autotools which might surprise many However I had never made anything serious from scratch using Autotools myself but rather only modified things setup by others Lately I had some positive experiences building C programs linking libguile with Autoconf and this prompted me to try something bigger I setup the build toolchain for a C program using Autotools In this blog post I attempt to document what I learned along the way Autotools Automake and AutoconfThe first question I wanted answered is if I should be using Autotools Autoconf or even Automake The answer is that Autotools is not a binary or similar but rather it s an umbrella term for Autoconf Automake and everything related On the other hand automake is a binary that converts a Makefile am into Makefile in In my brand new program I needed to learn very little about Automake I created a top level Makefile am containing a pointer to the related documentation and an instruction to recurse into the subdirectory src cat Makefile amSUBDIRS srcdist doc DATA README mdThe file in src Makefile am contains information of the sources to compile into objects and the resulting binaries cat src Makefile am bin PROGRAMS test algorithmtest algorithm SOURCES algorithm cpp exception cpp job cpp warning cpp test algorithm cppYou can run automake as a standalone program However I found it far more convenient to call it using autoreconf autoreconf is a program that runs automake and autoconf and more conveniently for you Typically I run autoreconf with the following switches i to generate missing auxiliary files v for verbose output and f to force regeneration of all configuration files autoreconf vifBut now I m getting ahead of myself Before we can run autoreconf we need to write the input for autoconf namely configure ac Introduction to AutoconfThe role of Autoconf is to generate the configure to ship with a software distribution The input file configure ac is formatted in the macro language M Now this might be a bit confusing but configure and hence autoconf is not meant to work with software dependency management Instead the main design principle of Autoconf is to work with features and capabilities of the installed system where the distributed software is compiled config hAlthough I didn t use it myself I need to mention config h for what it is worth I should probably try it out and update this part of the blog post later As a result of running configure a header file config h is typically generated This header file contains detected capabilities of the system we are running the compilation on For example if we look for pthread config h will contain suitable define s to indicate if pthread is found and linkable or not As stated previously I did not utilize config h and therefore no such file is generated in my case Structure of configure acThe first statement of configure ac must be AC INIT and the last must be AC OUTPUT The rest of the statements can be placed anywhere except for when they depend on each other This dynamic seems to have created a de facto standard structure for configure ac files Even the Autoconf manual has a section Standard configure ac Layout However I find it quite confusing and instead I follow a mental picture which is as follows InitializationCompiler settingsConfiguration FilesDependenciesOutputAs previously stated AC INIT is the first statement It accepts parameters such as program name program version maintainer e mail address etc In my case it is AC INIT algorithm As part of the initialization phase I also put a statement to initialize automake with AM INIT AUTOMAKE I found this in the automake manual Note that statements starting with AC are for Autoconf and statements starting with AM are macros for Automake However AM INIT AUTOMAKE is the only statement for Automake in my case Now this is really important We give some parameters that look just like compiler flags but they are for Automake when it generates Makefile in etc I used Wall Werror and foreign I needed foreign because otherwise Automake requires all the files in a standard GNU package i e NEWS README AUTHORS and ChangeLog My AM INIT AUTOMAKE is as follows AM INIT AUTOMAKE Wall Werror foreign Compiler settingsNext we need to select a compiler When compiling a standard C program we use AC PROG CC In my case I m compiling C so I use AC PROG CXX instead Note that the macro AC PROG CPP is related to the C preprocessor and has nothing to do with C for the C preprocessor command use the macro AC PROG CXXCPP The only parameter that AC PROG CC and AC PROG CXX accept are a compiler search list but no compiler flags Instead if you want to specify compiler flags you need to set CFLAGS or CXXFLAGS before calling the macro As per the Autoconf manual by default AC PROG CC CXX sets C CXX FLAGS to g O or g if the detected compiler is not a GNU compiler But if C CXX FLAGS was already set it s kept unchanged In my case I call the macro AC PROG CXX with the following construct CXXFLAGS g O Wall Werror AC PROG CXXFurthermore as my source code uses C features I use an extra macro for that But it s a little special and I will come back to it later in the section Autoconf Archive Configuration filesAs explained earlier Automake compiles an Makefile in from Makefile am However this Makefile in is not yet a Makefile To specify which makefiles need to be compiled we use the macro AC CONFIG FILES In my case AC CONFIG FILES Makefile src Makefile Note that we will still distribute the Makefile in and the Makefile will be generated only on site The instructions to build the file are contained in config status while the configure will use Furthermore the utility of AC CONFIG FILES is not retricted to makefiles but other files can be specified too However I had no such use DependenciesAs explained earlier Autoconf doesn t work with software dependency managers in the conventional sense I ll call this section Dependencies anyhow as that s how I think about it There are various things you can do here and in my case I was happy I needed different ways to search for libraries and headers as that really made me learn Dependencies AC CHECK LIBThe most typical thing you would do is AC CHECK LIB To AC CHECK LIB you give the library name a symbol in the library and optionally a code segment to execute on success and a code segment to execute on failure For example in my scenario I ended up doingAC CHECK LIB pthread pthread create AC MSG ERROR pthread is not installed My first surprise was that a symbol from the library is needed In fact the macro will expand into a C program that will be compiled The source of the C program will contain the symbol we indicated i e pthread create and the program will be linked against the library i e with the flag lpthread If compilation succeeds the third parameter will be executed but since its the default action will be taken Note that to disable the default action you can do If compilation fails we run the fourth parameter which is a macro to signal an error and halt operation The default action is to add the specified library to LIBS i e in my case LIBS lpthread LIBS yes I double checked from the generatedconfigure Furthermore the defineHAVE LIBlibrarywill be set In my case it s define HAVE LIBPTHREAD I think there s at least two takeaways here First of all we don t match libraries with any kind of versioning Instead we look for a symbol I would assume this can cause headache with missing or deprecated features Furthermore the macro AC CHECK LIB uses always C linking This means that C libraries cannot be added using this construct unless the library also has some symbols using C linking i e extern C Dependencies Linking C librariesSince we can t use AC CHECK LIB for linking C code what other options do we have There s a macro AX CXX CHECK LIB but that is not distributed as part of Autoconf and not even the Autoconf Archive so I have decided against using it Instead I found a blog post that suggests writing your own check The basic idea is to use the macro AC LINK IFELSE this is the same macro as AC CHECK LIB uses To AC LINK IFELSE you give a source to compile and a segment to run on success and a segment to run on failure In my case AC LINK IFELSE lt source here gt HAVE lt library gt AC MSG ERROR lt library gt is not installed To generate the source code that is used to verify linking the blog post suggests using the macro AC LANG PROGRAM The macro takes to parameters a prologue and a body In my case AC LANG PROGRAM include lt gtest gtest h gt EXPECT EQ We are still missing two pieces here First even though we set AC PROG CXX we have never set the language to use when running compilation tests This is done using the macro AC LANG By setting AC LANG C AC LINK IFELSE will use a C compiler and linker rather than the default choice of a C compiler Furthermore on success AC CHECK LIB will add the specified library to the variable LIBS Therefore we have to do it manually If we would want to be really fancy we could unset the library from LIBS if the test fails Since we exit on failure we don t unset anything Here s the whole block of code AC LANG C LIBS lgtest LIBS AC LINK IFELSE AC LANG PROGRAM include lt gtest gtest h gt EXPECT EQ HAVE GTEST AC MSG ERROR gtest is not installed Dependencies HeadersSome dependencies are merely headers To check the availability of a header there s the macro AC CHECK HEADER This macro takes the header as it would be used in a include preprocessor directive Furthermore you can specify an action to take on success and on failure respectively In my case I m using the header only library nlohmann json and only headers from gmock and thus I m using the following two statements AC CHECK HEADER nlohmann json hpp AC MSG ERROR nlohmann json is not installed AC CHECK HEADER gmock gmock h AC MSG ERROR gmock is not installed Dependencies pkg configThe idea behind pkg config seems simple enough it s a program that can be used to query for installed software and their versions respectively pkg config requires software to be distributed with package metadata contained in a pc file The metadata file will contain various information of the package such as CFLAGS and LIBS Sounds like a replacement for AC CHECK LIB right The Autoconf Archives provides the macro AX PKG CHECK MODULES However on various online forums and blogs I found warnings about how Autoconf and pkg config have a fundamentally different approach Therefore I decided against using pkg config in my setup As I understand it one problem is that merely the success or failure of running pkg config does not adequately indicate if linking the package works For example if pkg config is not installed the test may fail even though the dependency we are looking for exists and is linkable Likewise there can be a discrepancy between how pkg config and our compiler linker of choice works Lastly the information in the pc file can be wrong The last point is probably relevant when chrooting or similar All of configure acIn the previous sections I ve explained all of my configure ac with the exception of AC OUTPUT There s not much to it we just have to call it in the end of configure ac as it will generate the files needed for Automake My whole configure ac is as follows comments included cat configure acAC INIT algorithm AM INIT AUTOMAKE Wall Werror foreign CXXFLAGS g O Wall Werror AC PROG CXX check that compiler supports c and set std c AX CXX COMPILE STDCXX noext mandatory AC CONFIG FILES Makefile src Makefile AC CHECK LIB pthread pthread create AC MSG ERROR pthread is not installed AC CHECK LIB doesnt work well with C linking Instead we use a test program to see if linking of gtest works AC LANG C LIBS lgtest LIBS AC LINK IFELSE AC LANG PROGRAM include lt gtest gtest h gt EXPECT EQ HAVE GTEST AC MSG ERROR gtest is not installed nlohmann json is a header only library AC CHECK HEADER nlohmann json hpp AC MSG ERROR nlohmann json is not installed we need gmock headers even though we don t link itAC CHECK HEADER gmock gmock h AC MSG ERROR gmock is not installed AC OUTPUT Recap on UsageAlright so you ve created all the needed source files and now you wonder what commands to use First we doautoreconf to generate configure Makefile in and many more files autoreconf vifNote This step is only done by package maintainers To the end user we ship all of configure Makefile in s etc The first command the end user does is to run theconfigure script configureIf we as the package maintainers did everything correctly running configure at the end user will either fail ifthe program or library would never be able to compile or run properly Likewise assuming we did everything correctly if configure succeeds then also compiling and running the program or library will work To build the source makeNote that if we did everything correctly overriding compiler flags with CXXFLAGS or CFLAGS if C program linkablelibraries with LIBS etc will work properly The Autoconf ArchivesThe Autoconf Archives is a separate software distribution from Autoconf itself It contains a multitude of macros that can be used when generating the configure Note that it s not an issue to depend on the Autoconf Archives as we don t distribute the configure ac but instead we distribute configure Hence the end user needs neither Autoconf nor the Autoconf Archives ConclusionIn this post I went through what I learned as I setup a C project which is built with Autoconf and Automake Autoconf is quite different from CMake and other build systems For this reason it s probably off putting for newcomers as many things seem unnecessarily complicated However in my experience well written configure files tend to work far better on various systems compared to many other solutions I doubt I ve reached that level of understanding but everyone needs to start somewhere While it was definitely frustrating to figure out many things about Autoconf I m happy I did it I feel I understand the world of package management and software distribution a tad better |
2022-02-09 20:43:23 |
海外TECH |
DEV Community |
Andys blog-2 |
https://dev.to/ksingh7/andys-blog-2-1fl6
|
Andys blog Some random text with a link Serious titleThis post goes on dev and medium both using new action Some Code Snippetdef myFunction return true |
2022-02-09 20:37:13 |
海外TECH |
DEV Community |
Using Alpine's Persist plugin in a separate JavaScript file |
https://dev.to/tylerlwsmith/using-alpines-persist-plugin-in-a-separate-javascript-file-462n
|
Using Alpine x s Persist plugin in a separate JavaScript fileAlpine s Persist plugin stores the value of an Alpine variable in local storage which allows it to persist across page navigations and still be present on subsequent visits to the site It is accessed through the magic persist function lt div x data greeting persist hello world gt lt input type text x model value greeting gt lt div gt The problemWhen a page or component has lots of functionality Alpine s x data attribute can get a little unwieldy Thankfully you can extract the x init data into a function Unfortunately the following won t work app jsfunction myData return greeting persist hello world lt app js imported above gt lt div x data myData gt lt h x text greeting gt lt h gt lt div gt The app js script file doesn t have access to the magic persist function Using this persist won t work either The solutionFortunately it s simple to use Alpine s Persist plugin when defining x data as a function in a script file All you need to do is replace persist with Alpine persist app jsfunction myData return greeting Alpine persist hello world With this change you will be able to use the persist function in a separate script file This works because under the hood the persist plugin just binds itself to the Alpine object source code GotchasThere are two gotchas you can run into when trying to get this all to work Gotcha The x data function must be globally accessible If you use Webpack Vite or nearly any other bundler the functions you define in your JavaScript files won t be globally accessible You can test this by trying to call the function directly in the JavaScript console within the browser s developer tools If you run myData in the console and get an error that says Uncaught ReferenceError myData is not defined it means that Alpine can t see the myData function either To fix this assign the myData function to the window object app jsfunction myData return greeting Alpine persist hello world window myData myData window is the global scope in JavaScript which means myData will now be accessible anywhere Gotcha The x data function must be defined before Alpine initializesIn Alpine js the order in which scripts load matters You must make sure that the script where your x data function is defined loads before Alpine If you re loading Alpine through CDN script tags you can ensure that the x data function is defined before Alpine initializes by including the script where it is defined before the Alpine scripts lt DOCTYPE html gt lt html gt lt head gt lt Our script comes first gt lt script defer src app js gt lt script gt lt script defer src alpinejs persist x x dist cdn min js gt lt script gt lt script defer src x x dist cdn min js gt lt script gt lt head gt lt body gt lt div x data myData gt lt input type text x model value greeting gt lt div gt lt body gt lt html gt If you re using Alpine as an NPM package you need to make sure that you define your x data function before you call Alpine start import Alpine from alpinejs import persist from alpinejs persist Our function comes before Alpine start function myData return greeting Alpine persist hello world window myData myData window Alpine Alpine Alpine plugin persist Alpine start |
2022-02-09 20:34:14 |
海外TECH |
DEV Community |
How Does Exipure Shark Tank Works Inside The Body? |
https://dev.to/xebax72861/how-does-exipure-shark-tank-works-inside-the-body-4k68
|
How Does Exipure Shark Tank Works Inside The Body Here are a few highlights about the item which empowers to get appropriate information about it Key elements give more data about the enhancement than different realities Every one of the key highlights is enlisted Affordable by all and has a modest cost so everybody can partake in the advantages of this supplement Has an ideal weight reduction supplement Provides a superior invulnerable framework and digestion to battle against any popular or contagious infection Brings about normal changes in the body to get appropriate working of the heart Normalize glucose levels to get liberated from diabetes Contains a decent assortment of regular fixings that back weight loss sure outcomes are given out by the supplement Cures numerous emotional wellness illnesses with ease These are a few significant elements of utilizing Exipure which empowers an individual to have legitimate weight reduction in less period and with great wellbeing Visit Now Official Website Of Exipure |
2022-02-09 20:31:00 |
海外TECH |
DEV Community |
Spring Kafka Streams playground with Kotlin - I |
https://dev.to/thegroo/spring-kafka-streams-playground-with-kotlin-i-4g4c
|
Spring Kafka Streams playground with Kotlin IIn this series I will cover the creation of a simple SpringBoot Application which demonstrates how to use Spring kafka to build an application with Kafka Clients including Kafka Admin Consumer Producer and Kafka Streams The sample application will use the domain of Trading to give it a meaningful context I will be posting multiple articles in the next few days with the complete setup What are we buildingWe will build a simple application that simulates in a very simplified way the processing of quotes and leverage for stocks and sends those quotes in Kafka topics quotes gt stock quotes topicleverage prices gt leverage prices topicWe will then create a GlobalKTable with a materialize view for the leverage prices so we can use it to join with incoming quotes and expose the most up to date leverage for a stock taking advantage of the local default materialized state store Rocksdb that is created for us automatically by Kafka Streams I wrote a quick article about Rocksdb in the past if you want more information about it With that information we will then create a Kafka Stream that combines such information i e when receiving a quote it will try to enrich the quotes with an existing leverage and then will Send Apple quotes APPL to it s specific topic gt appl stocks topicSend GOOGL quote GOOGL to it s specific topic gt googl stocks topicSend all other quotes to a different topic gt all other stocks topicCount total quotes per type Count total quotes per type per interval From there we will expose some endpoints to enable us to directly query data from the local storage created by the Kafka streams for leverage and total per interval using grouping windowing counting state stores and Interactive queries from Kafka Streams implementations This is a visual overview of what we re building In this first part we will create the Spring Boot application add the files to run local Kafka add the dependencies we need to build the project and the initial schemas PrerequisitesYou will need Git Java Maven Docker and Docker Compose or Kubernetes installed to follow this series I also assume you are familiar with running Spring Boot applications and using docker compose or Kubernetes to run local infra required If you are not please follow these other posts where you will find detailed instructions about each of those Spring boot crash course Shows how to create a spring boot application using the Spring boot initializer site One to run them all Shows how to run Kafka infra with docker compose and some tricks Simplest Spring Kafka Consumer and Producer Java Shows how to develop a simple spring kafka consumer and producer using Java Simplest Spring Kafka Consumer and Producer Kotlin Shows how to devleop a simple spring kafka consumer and producer using Kotlin Running Kafka on Kubernetes for local development Shows how to use Kubernetes Kafka infra for local development Creating the applicationGo to the Spring Boot Starter site and create a project with the following configurations Project Maven ProjectLanguage KotlinSpring Boot Dependencies Spring WebProject Metadata Group com maiaArtifact simple spring kafka stream kotlinName simple spring kafka stream kotlinDescription Spring Kafka Kotlin PlaygroundPackage name com maia simplespringkafkastreamkotlinPackaging JarJava If you prefer you can also clone the sample repo of this project using git clone git github com mmaia simple spring kafka stream kotlin git and to check the first step with only the initial app to do that check out tag v git checkout v after cloning the project Once you create yourself extract the generated project or clone the repo pointing to tag v you can then build and run it to validate mvn clean package DskipTestsand then mvn spring boot run You should see the app running Add local infraLet s now add the setup to run Kafka locally I will be providing two setups so you can decide if you want to use docker compose or Kubernetes I will not go into details on the implementation as I have past posts covering both approaches as mentioned before Docker compose approach is explained in the post One to run them all but in this project we will be using the official Confluent Kafka schema registry and zookeeper versions Kubernetes approach is explained in the post Running Kafka on Kubernetes for local developmentSo make sure to add a docker compose or Kubernetes setup of your preference before continuing to the next steps You can also simple check out the v tag version of the example repository which contain those to take a look if you prefer git checkout v Run local infraAgain please check aforementioned articles for further details and explanations if needed Docker compose from a terminal on the project root folder docker compose up dORKubernetes open terminal on kubernetes folder and kind create cluster config kind config yml and after Kind is started kubectl apply f kafka ksAdd this line kubernetes tmp to your gitignore file if you re using kubernetes so git will ignore the mapped volume files for kafka and zookpeeper Add Kafka maven dependenciesMake the following changes to the pom xml file in the root folder of the project Add the confluent repository and plugin repository in order to download the confluent dependencies and be able to auto generate the avro schemas more on that later lt repositories gt lt repository gt lt id gt confluent lt id gt lt url gt lt url gt lt repository gt lt repositories gt lt pluginRepositories gt lt pluginRepository gt lt id gt confluent lt id gt lt url gt lt url gt lt pluginRepository gt lt pluginRepositories gt Add the version for the libraries we will be using inside the lt properties gt tag just after the tag lt avro version gt lt avro version gt lt confluent version gt lt confluent version gt lt spring kafka version gt lt spring kafka version gt lt kafka version gt lt kafka version gt And finally add the actual library dependencies inside the lt dependencies gt tag lt kafka confluent deps gt lt dependency gt lt groupId gt org springframework kafka lt groupId gt lt artifactId gt spring kafka lt artifactId gt lt dependency gt lt dependency gt lt groupId gt org apache kafka lt groupId gt lt artifactId gt kafka streams lt artifactId gt lt version gt kafka version lt version gt lt dependency gt lt dependency gt lt groupId gt org apache avro lt groupId gt lt artifactId gt avro lt artifactId gt lt version gt avro version lt version gt lt dependency gt lt dependency gt lt groupId gt io confluent lt groupId gt lt artifactId gt kafka avro serializer lt artifactId gt lt version gt confluent version lt version gt lt dependency gt lt dependency gt lt groupId gt io confluent lt groupId gt lt artifactId gt kafka streams avro serde lt artifactId gt lt version gt confluent version lt version gt lt dependency gt If you prefer you can checkout to the current status using Tag v git checkout v Add initial avro schemasLet s now add the initial Avro Schemas for Leverage and Quotes they will be the contract for our messages for the topics where we will initially send Leverage and Quote information as explained in the beginning of this post Create a folder under src main called avroCreate a file inside this folder called leverage price quote avscCreate another file inside the same folder called stock quote avscAdd the following content to those files leverage price quote avsc namespace com maia springkafkastreamkotlin repository type record name LeveragePrice fields name symbol type string name leverage type double stock quote avsc namespace com maia springkafkastreamkotlin repository type record name StockQuote fields name symbol type string name tradeValue type double name tradeTime type null long default null In the pom xml file under the lt build gt lt plugins gt section add the following avro plugin configuration lt avro gt lt plugin gt lt groupId gt org apache avro lt groupId gt lt artifactId gt avro maven plugin lt artifactId gt lt version gt avro version lt version gt lt executions gt lt execution gt lt phase gt generate sources lt phase gt lt goals gt lt goal gt schema lt goal gt lt goals gt lt execution gt lt executions gt lt plugin gt The avsc files will be used as a contract definition for the payload you will be sending and consuming from Kafka topics The confluent Kafka clients enforce that for you Enforcing a contract can avoid many issues like poison pills and together with the Schema Registry provide a framework for consistent incremental versioning of your messages Important to mention that the Confluent Schema registry also supports formats other than Avro like Protobuff and Json if you prefer one of them over Avro You can now download build the project so the avro plugin will generate the Java Objects we will use in our Producers next mvn clean package DskipTestsThis should generate the java objects automatically under target generated sources avro com maia springkafkastreamkotlin repository You may git checkout v to check out the code up to this point Congratulations you have reached the end of the first part of this tutorial series You can now take a rest and when you re ready move to the second part which will be published soon Where we will be creating the Topics using Kafka Admin Client and also create the Kafka Producers and Rest Endpoints to enable us to create messages and send them to Kafka Photo by Joshua Mayo on Unsplash |
2022-02-09 20:30:44 |
海外TECH |
DEV Community |
Eagle Hemp CBD Gummies Ingredients - Safe Or Dangerous? |
https://dev.to/xebax72861/eagle-hemp-cbd-gummies-ingredients-safe-or-dangerous-n7k
|
Eagle Hemp CBD Gummies Ingredients Safe Or Dangerous Eagle Hemp CBD Gummies is laid out with an all normal regular CBD removal gained using a triple isolating ground This makes the CBD Gummies astoundingly strong CBD leaves the concentrate used to change into CBD Gummies customarily It is percent liberated from made materials pesticides or herbicides of any kind Eagle Hemp CBD Gummies is conveyed utilizing hemp It is a brand name sort of the weed family Set forth an endeavor not to be uncertain You won t feel woozy right after taking it Besides this thing which contains no extra substances depends on completing all achievement risks Likewise assuming you are among individuals who are looking for strong decisions for their sensible life Eagle Hemp CBD Gummies is a sensible endeavor Visit now for More information official website |
2022-02-09 20:30:14 |
海外TECH |
DEV Community |
Guide to Churn Prediction : Part 5— Graphical analysis |
https://dev.to/mage_ai/guide-to-churn-prediction-part-5-graphical-analysis-1b82
|
Guide to Churn Prediction Part ーGraphical analysis TLDRIn this blog we ll explore discrete and categorical features in the Telco Customer Churn dataset using univariate graphical methods OutlineRecapBefore we beginUnivariate graphical analysisConclusion RecapIn part of the series Guide to Churn Prediction we analyzed and explored continuous data features in the Telco Customer Churn dataset using graphical methods Before we beginThis guide assumes that you are familiar with data types If you re unfamiliar please read blogs on numerical and categorical data types Statistical conceptsLet s go over a couple of statistical concepts Balanced dataBalancedThe data is said to be balanced if the number of records in each category is equal or nearly equal Imbalanced dataImbalanced Image by Mediamodifier from PixabayData is said to be imbalanced if the number of records in one category is greater than the number of records in other categories Note If the target feature has categorical data we ll look at how data is distributed across all of the categories and check if the feature has balanced or imbalanced data Univariate graphical analysisThe main purpose of univariate graphical analysis is to understand the distribution patterns of features To visualize these distributions we ll utilize Python libraries like matplotlib and seaborn These libraries contain a variety of graphical methods such as bar plots count plots KDE plots violin plots etc that help us visualize distributions in different styles Now let s perform univariate graphical analysis on discrete and categorical data features Import libraries and load datasetLet s start with importing the necessary libraries and loading the cleaned dataset Check out the link to part to see how we cleaned the dataset import pandas as pd import matplotlib pyplot as plt python library to plot graphs import seaborn as sns python library to plot graphs matplotlib inline displays graphs on jupyter notebook df pd read csv cleaned dataset csv df prints data setCleaned dataset Identify discrete and categorical featuresDiscrete features are of int data type while categorical features are of object data type Note Sometimes categorical data is represented in the form of numbers So if the data type of a feature is int and has unique values or and etc or categories then it s a categorical feature otherwise it s a discrete feature So let s check the data types of features using the dtypes function and identify discrete and categorical features df dtypesData types of features Observations Country State “City “Zip Code “Gender “Senior Citizen “Partner “Dependents “Phone Service Multiple Lines “Internet Service “Online Security “Online Backup “Device Protection “Tech Support “Streaming TV “Streaming Movies “Contract “Paperless Billing “Payment Method “Churn Label “Churn Value and “Churn Reason features are of object data type so these are categorical features “Count “Tenure Months “Churn Value “Churn Score and “CLTV features are of the int data type So let s look at the values in these features and decide if they re discrete or categorical features Display the int data type features using select dtypes function df select dtypes int Features of int data type Observations The “Count and “Churn Value features data is in the form of s and s So these are categorical features “Tenure Months “Churn Score and “CLTV are discrete features Create new datasetsBased on the type of data separate the features and create new datasets Create a dataset df disc that contains all the discrete features and display the first records using head method df disc df Tenure Months Churn Score CLTV df disc head Discrete featuresCreate a dataset df cat that contains all the categorical features and display the first records using head method df cat df Country State City Zip Code Count Gender Senior Citizen Partner Dependents Phone Service Multiple Lines Internet Service Online Security Online Backup Device Protection Tech Support Streaming TV Streaming Movies Contract Paperless Billing Payment Method Churn Label Churn Value Churn Reason df cat head Categorical features Distribution plotsWe visualize discrete and categorical features distributions using graphical methods like count plots bar plots pie charts etc Count plots These plots are graphical representations of the count of individual values in each category of a dataset Each bar represents a unique value or a category The length of each bar represents the number of values in each category Discrete data plots fig plt figure figsize sets the size of the plot with width as and height as for i columns in enumerate df disc columns ax plt subplot i creates subplots in rows with upto plots in each row sns countplot data df disc x df disc columns creates count plots for each feature in df disc dataset ax set xlabel None removes the labels on x axis ax set title f Distribution of columns adds a title to each subplot plt tight layout w pad adds padding between the subplots plt show to display the plotsCount plots of discrete featuresLet s take a closer look at the “Tenure Months plot “Tenure Months count plot Observations Approximately customers have been with the company for one month and nearly customers have been with the company for months Categorical data plots fig plt figure figsize sets the size of each subplot with width as and height as for i columns in enumerate df cat columns ax plt subplot i creating a grid with rows and columns it can display upto subplots sns countplot data df cat x df cat columns creates count plots for each feature in df cat dataset ax set xlabel None removes the labels on x axis ax set title f Distribution of columns adds a title to each subplot plt xticks rotation rotate the x axis values by degrees plt tight layout w pad adds padding between the subplots plt show displays the plotsCount plots of categorical features Observations The company is providing various services to the customers like phone internet multiple telephone lines and other additional services like online security online backup and device protection plans Now let s take a closer look at all the plots Observations All the values in the “Count column are identical The male to female customer ratio is nearly equal and the majority of them are non senior The majority of the customers are either single or don t have any dependents Observations Most of the customers have a phone service subscription and nearly half of them have multiple telephone lines The company s internet services were used by the majority of its consumers Fiber optic is the most popular internet connection among the company s customers Observations Customers can subscribe to additional services such as online security and backup but just a small percentage of customers have taken advantage of these The majority of customers are on a month to month contract Now let s take a look at the distribution of categories in the target feature “Churn Label and see if the data is balanced or imbalanced Yes represents churned customers while No represents non churned customers Observations When compared to the number of non churned consumers the number of churned customers is quite low i e the data is not evenly distributed among the categories So this indicates that the data is imbalanced ConclusionAs seen univariate graphical analysis is the simplest way of analyzing data This analysis helps us comprehend the data better Source GIPHYThat s it for this blog Next in the series we ll perform multivariate graphical analysis and find reasons for customer churn Thanks for reading |
2022-02-09 20:22:13 |
海外TECH |
DEV Community |
To refactor or not to refactor? |
https://dev.to/joannaotmianowska/to-refactor-or-not-to-refactor-501n
|
To refactor or not to refactor While working with code especially legacy one you may often stumble upon parts of the code that needs refactoring But should you always refactor You may say where this question is coming form Just refactor There is a Scout rule Always leave the code in the better shape That s true But It s good to leave code in a better shape that it was before However refactoring especially in complex legacy projects may be time consuming and may not add a clear benefit to your current work Before refactoring consider things below How complex is the change I want to make Why I want to make this change Will other devs benefit from it or do I only want to rewrite the code in my way Does current task benefit from this change If so how Would this change slow down the development What is testing scope for that Is there any additional regression testing needed after this change is implemented There are also small refactoring tasks you can usually do with no major impact these are Code formatting so the code is more readable and follows current project standard Change variables or functions names to be more descriptive Extracting code to variables functions if you see that code is being duplicated Creating helper functions that can be reusedAnd do you always refactor |
2022-02-09 20:18:54 |
海外TECH |
DEV Community |
Before Wordle... |
https://dev.to/isabellabond/before-wordle-5969
|
Before Wordle If you ve been on the internet recently you ve probably come across Wordle If you haven t you should definitely check out this highly addictive internet word game where you try to guess a letter word using color based clues Each day you will get six tries to guess a new word After submitting a guess the letters of your guess will turn different colors Green letters indicate a correct letter in the correct spot yellow letters indicate a correct letter in an incorrect spot and grey letters indicate a letter that is not in the word at all When I first came across this wildly fun word game something about it felt familiar and for a good reason I created my own version of Wordle about years ago Back in high school everyone would play what we called The Letter Word Game on our school whiteboards Two players or teams would each come up with their own letter word and keep it a secret Then just like Wordle each team would take turns trying to guess the word After each guess the opposing player or team would circle or X out letters that they got right or got wrong respectively with different colored circles corresponding to correct placement or not Seems pretty familiar right Well for the final project for one of the first programming classes I ever took two friends and I decided to digitize the game Students could log on to the school computers and connect with their friends using their IP address to play The online interface made it so that we didn t have to spend time thinking about X ing out and circling the right letters the game did it for us so we could play much faster To say it was popular would be an understatement My classmates and I played until we graduated It was my first truly successful programming project and one of the reasons why I started believing in the idea that I could be a software engineer one day This was long before I knew about software hosting on websites such as Github so although I had a copy of the repository holding the blood sweat and tears that went into the creation of the Letter Word Game on my laptop for many years somewhere along the way I lost it The only remnants I have of the game is a clipping from a paper I wrote about the project A few days ago it was announced that Wordle which began as a Covid side project was purchased by The New York Times for a price in the low seven figures I couldn t help but laugh to myself that perhaps in another universe my Letter Word Game could ve taken off just like that Moral of the story You re never too young or too inexperienced to create something awesome All you need is a great idea and you never know you might have the next Wordle on your hands |
2022-02-09 20:17:55 |
海外TECH |
DEV Community |
Agrippa 1.4 is out 🎉🎊 |
https://dev.to/nitzanhen/agrippa-14-is-out-23co
|
Agrippa is out The fourth minor version of Agrippa the React component CLI is finally out Once again Agrippa s community has grown a lot since the release of the previous minor update v back in December Agrippa has grown by over stars since the previous release in absolute terms that s our biggest growth yet Releasing a new version is always a good opportunity to express my deep gratitude to everyone using Agrippa and especially those of you who ve given your feedback suggested features or opened other issues on our GitHub repository You re the best If you re not using Agrippa join us Read the Getting Started guide or visit us on GitHub v We have some exciting new features released in v New terminal UI Agrippa s terminal UI has been revamped it should now be more informative a lot cleaner and especially much more aesthetic As an example Styled components Agrippa now supports styling with styled components This is actually the second issue opened for Agrippa and it s been open for quite a while now It s truly nice to see it finally implemented To check it out use the value styled components for the styling flag tsPropsDeclarationTS users can now select between interfaces and types for component props declarations For more info see the docs on tsPropsDeclaration New post command variablesTwo new variables lt ComponentName gt and lt component name gt can now be used with post commands The first is the generated component s name in pascal case e g NiceButton while the second is in kebab case e g nice button Dependency cleanupTwo packages that Agrippa has been using up to now but hasn t really needed to were removed and Agrippa should now be a little lighter That s pretty much it We ve already begun to work on the next features for Agrippa Our main focus in the near future is on implementing test file generation further expanding Agrippa s flexibility to suite custom use cases and more That being said we re always on the lookout ideas for new features and improvements so if you have one please share it with us To get started with Agrippa read the Getting Started guide or visit us on GitHub Your thoughts and feedback as always are most welcome If you ve found a bug with this release or want to suggest a new feature please submit an issue Cheers |
2022-02-09 20:15:23 |
海外TECH |
DEV Community |
DevDiscuss is BACK for Season 8! |
https://dev.to/devteam/devdiscuss-is-back-for-season-8-4knb
|
DevDiscuss is BACK for Season We re thrilled to share that DevDiscuss is back for a brand new season We re kicking things off right with a bit of a CodeNewbie Podcast crossover episode listen to their season premiere on a related topic here We can t wait for you to hear our show S E The Many Benefits of Learning in Public DevDiscuss Your browser does not support the audio element x initializing × Quick refresher ーDevDiscuss is the first original podcast from DEV all about the burning topics that impact all our lives as developers As you ll discover in the DevDiscuss SE premiere our conversation with Gift and Swyx comes at the perfect time as the first cohort of the CodeNewbie Challenge recently began and there s a brand new Learn in Public track this year Hosts ben ーCreator of DEV amp Co Founder of Forem ridhwana Engineering Manager at Forem Guests lauragift ーFrontend Developer and past CodeLand speaker on the topic of learning in public swyx Head of Developer Experience at Temporal Technologies Let us know your thoughts on this show in the comments below ーor on Twitter thepracticaldev You can follow DevDiscuss to get episode notifications and listen right in your feed ーor subscribe on your platform of choice Plus if you leave us a review we ll send you a free pack of thank you stickers Details here Quick Listening LinksApple PodcastsSpotifyGoogleListen NotesTuneInRSS FeedDEV Pods Site AcknowledgementsThe wonderful levisharpe for producing amp mixing the showOur season eight sponsors Duckly Compiler amp Scout APM Thanks for tuning in to DevDiscuss We can t wait for you to hear the rest of S ️ |
2022-02-09 20:04:04 |
Apple |
AppleInsider - Frontpage News |
Facebook Messenger, Instagram updated with new features on iOS |
https://appleinsider.com/articles/22/02/09/facebook-messenger-instagram-updated-with-new-features-on-ios?utm_medium=rss
|
Facebook Messenger Instagram updated with new features on iOSMeta has updated the Facebook Messenger app with Vanish Mode and a Split Payments features while also providing updates to Instagram for Safer Internet Day Facebook Messenger gets Split Payments featureThe Facebook Messenger update focuses on new features that enhance users control over message content For example voice messages can now be minutes in length and Vanish Mode brings Snapchat style messaging Read more |
2022-02-09 20:12:43 |
Apple |
AppleInsider - Frontpage News |
Compared: iPhone 13 lineup versus Samsung Galaxy S22 lineup |
https://appleinsider.com/articles/22/02/09/compared-iphone-13-lineup-versus-samsung-galaxy-s22-lineup?utm_medium=rss
|
Compared iPhone lineup versus Samsung Galaxy S lineupUntil Samsung s new S range of phones is shipping they can t readily be compared with Apple s iPhone models but the published specifications suggest the Android release has a lot going for it Samsung s Galaxy S and the iPhone ProSamsung has announced its new range of phones the Samsung S S Plus and S Ultra Although not even close to identical they are broadly aimed at the same kinds of users as Apple s iPhone iPhone Pro and iPhone Pro Max Read more |
2022-02-09 20:40:43 |
海外TECH |
Engadget |
Relive Samsung's bizarre 'Bridgerton' Galaxy S22 reveal |
https://www.engadget.com/samsung-galaxy-s22-bridgerton-204509756.html?src=rss
|
Relive Samsung x s bizarre x Bridgerton x Galaxy S revealSamsung s reputation for occasionally strange product introductions is alive and well in The company unveiled the Galaxy S at its Unpacked event with a Bridgerton crossover you can watch below Yes the Netflix tie in is exactly as odd as it sounds The S is introduced at an quot inventor s ball quot where creators try to impress the queen who approves after demanding a dance to showcase a handset that won t ship until sorry years in the future The production is more than a little forced but it s at least consistent with Shonda Rhimes alternate history take on Regency era Britain There are also some clever touches The man introducing the Galaxy S is Lord Tristar the Korean hanja word Samsung means quot three stars quot while the previous presenter with an unconvincing raincoat demo is Lord Mackintosh ーwe don t have to explain the symbolism behind that one Will the Bridgerton video sell many more Galaxy S units Probably not You ll definitely remember this unveiling though and the period piece livened up what was mostly a by the numbers hardware refresh It s certainly miles better than the awkward sexist Galaxy S launch event Samsung would probably prefer you forget |
2022-02-09 20:45:09 |
海外TECH |
Engadget |
You can now split the bill with friends on Facebook Messenger |
https://www.engadget.com/facebook-messenger-split-payments-201930967.html?src=rss
|
You can now split the bill with friends on Facebook MessengerSplitting a restaurant bill or dividing the costs of a group trip can be tedious Meta is attempting to make this easier by rolling out its Split Payments feature to all Facebook Messenger users The feature which was previously in testing will likely be perfect for occasions when you are dividing the cost of something with two or more people For example dividing the purchase of a new microwave with your three roommates the cost of a new birthday gift for grandma with your siblings or even this weekend s Super Bowl party nbsp If you or your friends are new to using Facebook Payments in Messenger the feature will ask for payment details either a debit or credit card or Paypal Here s how it works First put all the payers in a group chat on Messenger Then either tap the plus icon on the very bottom of the screen or tap on the name of the group and then tap “Split Payments You ll see a prompt labeled “Get Started From there you can select whether you want to split payments with everyone in the group or exclude certain people including yourself You ll then be asked to enter the total amount of the bill or the payment The feature then automatically splits the cost equal between the number of people you selected If one or more people owe slightly more you can also manually enter in a different amount Meta rolling out a bill splitting function for Meta is no doubt another way to keep up with payment apps like Venmo Block formerly known as Square and Splitwise But given that many people already use Messenger for coordinating group activities or relaying communications within a group a messaging app may have an advantage here |
2022-02-09 20:35:30 |
海外TECH |
Engadget |
Ubisoft is reportedly making a stealth-focused game based on 'Assassin's Creed Valhalla' |
https://www.engadget.com/assassins-creed-rift-report-201840177.html?src=rss
|
Ubisoft is reportedly making a stealth focused game based on x Assassin x s Creed Valhalla x Ubisoft reportedly plans to repurpose an Assassin s Creed Valhalla expansion into a standalone release According to Bloomberg the company is working on a game codenamed “Rift What started life as DLC for the latest entry in the company s long running historical franchise apparently morphed into a full game sometime late last year Per Bloomberg the game will star Basim Ibn Ishaq pictured above a character that appears in Valhalla What s more it won t be a massive open world game and will instead focus more on stealth gameplay Ubisoft may release Rift either this year or in According to Bloomberg Ubisoft made the decision to repurpose the expansion to fill out its near term release schedule The company plans to release Rift before Assassin s Creed Infinity the project that s supposed to turn the franchise into a live online service like GTA Online As the outlet notes several Ubisoft projects have struggled in recent years We haven t seen Beyond Good and Evil nbsp since and exactly a year ago this month Ubisoft delayed Prince of Persia The Sands of Time Remake indefinitely And we may not see those release anytime soon either Beyond Good and Evil is reportedly stuck in pre production after five years of development nbsp |
2022-02-09 20:18:40 |
Cisco |
Cisco Blog |
Silicon photonics explained: Cisco Optics Podcast Episode 18 notes |
https://blogs.cisco.com/sp/silicon-photonics-explained-cisco-optics-podcast-episode-18-notes
|
Silicon photonics explained Cisco Optics Podcast Episode notesJoin us for Episode of the Cisco Optics Podcast where we continue a conversation with Ron Horan who runs Product Management for the Cisco Client Optics Group |
2022-02-09 20:53:16 |
Cisco |
Cisco Blog |
Meet the newest winners of Cisco Networking Academy’s Be the Bridge Awards |
https://blogs.cisco.com/csr/meet-the-newest-winners-of-cisco-networking-academys-be-the-bridge-awards
|
contributions |
2022-02-09 20:40:00 |
海外科学 |
NYT > Science |
The Next Vaccine Debate: Immunize Young Children Now, or Wait? |
https://www.nytimes.com/2022/02/09/health/covid-kids-vaccines.html
|
The Next Vaccine Debate Immunize Young Children Now or Wait It s not clear whether three doses of the Pfizer BioNTech vaccine will adequately protect young children But the F D A may authorize the first two doses anyway |
2022-02-09 20:16:21 |
海外科学 |
NYT > Science |
New York Drops Indoor Mask Mandate, Easing Covid Rules |
https://www.nytimes.com/2022/02/08/us/politics/new-york-mask-mandate.html
|
New York Drops Indoor Mask Mandate Easing Covid RulesAfter a scare in November New Jersey s governor and other Democratic leaders held back channel talks over lifting mandates and helping voters impatient with restrictions reclaim a sense of normalcy |
2022-02-09 20:56:18 |
海外科学 |
NYT > Science |
With Mask Restrictions Set to Lift, a Haze of Uncertainty Lingers |
https://www.nytimes.com/2022/02/08/health/covid-mask-restrictions.html
|
mandates |
2022-02-09 20:52:51 |
海外科学 |
BBC News - Science & Environment |
Neanderthal extinction not caused by brutal wipe out |
https://www.bbc.co.uk/news/science-environment-60305218?at_medium=RSS&at_campaign=KARANGA
|
africa |
2022-02-09 20:40:34 |
ニュース |
BBC News - Home |
Police to email 50 people in Downing Street party inquiry |
https://www.bbc.co.uk/news/uk-politics-60327143?at_medium=RSS&at_campaign=KARANGA
|
downing |
2022-02-09 20:46:32 |
ニュース |
BBC News - Home |
Neanderthal extinction not caused by brutal wipe out |
https://www.bbc.co.uk/news/science-environment-60305218?at_medium=RSS&at_campaign=KARANGA
|
africa |
2022-02-09 20:40:34 |
ビジネス |
ダイヤモンド・オンライン - 新着記事 |
日本M&Aセンターから大量移籍で急成長fundbook、M&A業界仁義なき人材争奪戦の深層 - 沸騰!M&A仲介 カネと罠 |
https://diamond.jp/articles/-/295138
|
fundbook |
2022-02-10 05:25:00 |
ビジネス |
ダイヤモンド・オンライン - 新着記事 |
「年収1億円」に転職で手が届く!?M&A仲介業界が欲しがる人材の意外な条件 - 沸騰!M&A仲介 カネと罠 |
https://diamond.jp/articles/-/295137
|
|
2022-02-10 05:20:00 |
ビジネス |
ダイヤモンド・オンライン - 新着記事 |
年金改革で受給額147万円増も!【共働き世帯】ねんきん定期便では分からない真の金額を初試算 - 年金 老後不安の真実 |
https://diamond.jp/articles/-/295188
|
日本年金機構 |
2022-02-10 05:15:00 |
ビジネス |
ダイヤモンド・オンライン - 新着記事 |
薬学部「6年で卒業できない大学」ランキング【57私立大】2位青森大学、1位は? - 薬剤師31万人 薬局6万店の大淘汰 |
https://diamond.jp/articles/-/293935
|
私立大学 |
2022-02-10 05:10:00 |
ビジネス |
ダイヤモンド・オンライン - 新着記事 |
ウクライナ危機、欧州首脳は外交解決目指し奔走 - WSJ発 |
https://diamond.jp/articles/-/295936
|
首脳 |
2022-02-10 05:09:00 |
ビジネス |
ダイヤモンド・オンライン - 新着記事 |
北京五輪がデジタル元の実験場に、米ビザに苦悩 - WSJ発 |
https://diamond.jp/articles/-/295937
|
北京五輪 |
2022-02-10 05:05:00 |
ビジネス |
ダイヤモンド・オンライン - 新着記事 |
つい読んでしまう文章「三つの共通点」、文章で相手を動かしたい人の勘違い - 最強の文章術 |
https://diamond.jp/articles/-/294418
|
田中泰延 |
2022-02-10 05:05:00 |
ビジネス |
電通報 | 広告業界動向とマーケティングのコラム・ニュース |
データとCXの時代へ。電通のPeople Driven Marketingを知る三つの基調講演 |
https://dentsu-ho.com/articles/8078
|
peopledrivenmarketing |
2022-02-10 06:00:00 |
ビジネス |
電通報 | 広告業界動向とマーケティングのコラム・ニュース |
コラボレーションは、コミュニケーションから生まれる |
https://dentsu-ho.com/articles/8050
|
早稲田大学 |
2022-02-10 06:00:00 |
北海道 |
北海道新聞 |
<社説>JR札幌圏運休 再発防ぐ検証が必要だ |
https://www.hokkaido-np.co.jp/article/643961/
|
運休 |
2022-02-10 05:05:00 |
ビジネス |
東洋経済オンライン |
池袋店と渋谷店が握る「そごう・西武のお値段」 建て替えの青写真と従業員の処遇がカギ | 不動産 | 東洋経済オンライン |
https://toyokeizai.net/articles/-/510198?utm_source=rss&utm_medium=http&utm_campaign=link_back
|
建て替え |
2022-02-10 05:40:00 |
ビジネス |
東洋経済オンライン |
中国人が羽生選手を「熱烈応援」その深い心理 五輪を国の威信をかけた場とする考えも根強い | 中国・台湾 | 東洋経済オンライン |
https://toyokeizai.net/articles/-/510141?utm_source=rss&utm_medium=http&utm_campaign=link_back
|
北京冬季五輪 |
2022-02-10 05:20:00 |
コメント
コメントを投稿