投稿時間:2021-10-22 04:30:06 RSSフィード2021-10-22 04:00 分まとめ(36件)

カテゴリー等 サイト名等 記事タイトル・トレンドワード等 リンクURL 頻出ワード・要約等/検索ボリューム 登録日
AWS AWS Partner Network (APN) Blog How to Use Webhooks to Automate Red Hat OpenShift App Rebuilds from AWS CodeCommit https://aws.amazon.com/blogs/apn/how-to-use-webhooks-to-automate-red-hat-openshift-app-rebuilds-from-aws-codecommit/ How to Use Webhooks to Automate Red Hat OpenShift App Rebuilds from AWS CodeCommitOne of the offerings to help joint AWS and Red Hat customers build for an open hybrid cloud future is Red Hat OpenShift Service on AWS ROSA a fully managed OpenShift service jointly supported by both Red Hat and AWS In this post we focus on a single but common use case often observed in the field where a joint enterprise customer has made investments in the AWS Cloud and is now considering expanding and adopting ROSA service as part of the AWS portfolio 2021-10-21 18:12:05
AWS AWS - Webinar Channel Building with Amazon DocumentDB with MongoDB Compatibility - APAC https://www.youtube.com/watch?v=oXI__aicQs4 Building with Amazon DocumentDB with MongoDB Compatibility APACLearn how to build and run applications with Amazon DocumentDB We will cover options for connecting to your Amazon DocumentDB cluster discuss best practices for using DocumentDB and how to migrate data into DocumentDB 2021-10-21 18:48:02
AWS AWS - Webinar Channel Boost PostgreSQL DB w/ Amazon ElastiCache for Redis - NAMER https://www.youtube.com/watch?v=DAm22sPMST8 Boost PostgreSQL DB w Amazon ElastiCache for Redis NAMERRelational databases are the core of most applications today But when it comes to latency your relational database may hit some performance limitations imposed by disk based storage To boost performance of your relational database the most effective strategy is implementing an in memory cache to reduce pressure on your database reduce latency and increase throughput and scalability Join us as we show you how to boost performance of your applications by adding an in memory caching layer to your PostgreSQL database using Amazon ElastiCache for Redis alongside Amazon Relational Database Service RDS 2021-10-21 18:33:00
AWS AWS - Webinar Channel Boost PostgreSQL DB w/ Amazon ElastiCache for Redis - EMEA https://www.youtube.com/watch?v=QBCktlnB8Vw Boost PostgreSQL DB w Amazon ElastiCache for Redis EMEARelational databases are the core of most applications today But when it comes to latency your relational database may hit some performance limitations imposed by disk based storage To boost performance of your relational database the most effective strategy is implementing an in memory cache to reduce pressure on your database reduce latency and increase throughput and scalability Join us as we show you how to boost performance of your applications by adding an in memory caching layer to your PostgreSQL database using Amazon ElastiCache for Redis alongside Amazon Relational Database Service RDS 2021-10-21 18:32:24
Program [全てのタグ]の新着質問一覧|teratail(テラテイル) ACCESSのフォームのポップアップ表示に、ファイルを開くwindowが隠れる https://teratail.com/questions/365608?rss=all ACCESSのフォームのポップアップ表示に、ファイルを開くwindowが隠れる前提・実現したいことエクセルのファイルを開くWindowがAccessのFormの裏側に隠れてしまうので最前面に表示したい。 2021-10-22 03:21:41
Program [全てのタグ]の新着質問一覧|teratail(テラテイル) 【Vue.js, axios】axiosで取得したデータをdataに追加したい https://teratail.com/questions/365607?rss=all 商品詳細ページにアクセスした際に、①商品全体の情報、②個別の商品に紐づいたメタ情報nbspの点を別々で取得する必要があり、取得の際にaxiosを利用して取得しています。 2021-10-22 03:19:31
Program [全てのタグ]の新着質問一覧|teratail(テラテイル) Solidityでarduinoからのデータをudp通信で受信する方法 https://teratail.com/questions/365606?rss=all arduino 2021-10-22 03:05:01
海外TECH Ars Technica Microsoft prepares another major Windows update… for Windows 10 https://arstechnica.com/?p=1806460 november 2021-10-21 18:11:09
海外TECH MakeUseOf Google Fit Not Counting Steps on Your Android Phone? 5 Tips to Fix It https://www.makeuseof.com/google-fit-not-tracking-steps-fix/ android 2021-10-21 19:00:11
海外TECH MakeUseOf What Are Quick Time Events in Gaming? https://www.makeuseof.com/what-are-quick-time-events-in-gaming/ events 2021-10-21 18:45:22
海外TECH MakeUseOf Need to Block Apps and Calls Immediately? Use the iPhone’s Downtime on Demand Feature https://www.makeuseof.com/downtime-on-demand-explained-iphone/ Need to Block Apps and Calls Immediately Use the iPhone s Downtime on Demand FeatureThe Downtime feature blocks apps and notifications on your iPhone to help you get away from the screen Here s how to use it with Downtime on Demand 2021-10-21 18:00:44
海外TECH DEV Community Let's Build A Job Portal With iOS https://dev.to/appwrite/lets-build-a-job-portal-with-ios-50in Let x s Build A Job Portal With iOSHey iOS devs if you hadn t heard Appwrite has just released with platform wide Apple support So what is Appwrite Appwrite is an open source self hosted end to end backend as a service for web and mobile applications Learn more at Appwrite io In this tutorial we are going to build a job portal application for iOS with SwiftUI using Appwrite as the back end service So let s get started Technical RequirementIn order to continue with this tutorial you will need to have the following Access to an Appwrite project or permission to create one If you don t already have an Appwrite instance you can always install it using our official installation guide Access to XCode or newer Find more about Xcode here ️Create iOS projectWe will start by creating a new project Open Xcode and select start new project On the next screen select iOS gt App then click next On the next screen give your project a name organization id and in interface select SwiftUI and language Swift then click next On the next screen select the folder where you want to save your new project and click create This will create a new project and open it in Xcode You should now see the following screen AuthenticationWe will start by implementing authentication For that we will create a LoginView AuthViewModel and AppwriteService In order to create a view just hit cmd N on your keyboard You will be presented with the new file dialog There select SwiftUI View option and click next In the next dialog box rename your view to LoginView and click create button to create the view Update the code of the LoginView to the following import SwiftUIstruct LoginView View State private var email State private var password State private var isActiveSignup false EnvironmentObject var authVM AuthViewModel var body some View NavigationView VStack NavigationLink destination SignupView isActive isActiveSignup EmptyView HStack Text Welcome back to nAppwrite Jobs font largeTitle padding top multilineTextAlignment leading Spacer Spacer frame height HStack Text Let s sign in font title Spacer padding bottom TextField E mail text self email padding background Color gray opacity cornerRadius SecureField Password text self password padding background Color gray opacity cornerRadius Spacer frame height Button Login authVM login email email password password foregroundColor white padding frame width height background Color pink cornerRadius HStack Text Anonymous Login onTapGesture authVM loginAnonymous Text Text Signup onTapGesture isActiveSignup true padding top Spacer foregroundColor white padding leading trailing navigationBarTitleDisplayMode inline navigationBarHidden true struct LoginView Previews PreviewProvider static var previews some View LoginView preferredColorScheme dark This will create a simple login view as the following Similarly let s create SignupView and update with the following code import SwiftUIstruct SignupView View State private var email State private var password State private var name EnvironmentObject var authVM AuthViewModel Environment presentationMode var presentationMode var body some View VStack HStack Image back icon resizable frame width height onTapGesture presentationMode wrappedValue dismiss Spacer padding top bottom HStack Text Join nAppwrite jobs font largeTitle Spacer Spacer frame height HStack Text Create an account font title padding bottom Spacer padding bottom TextField Name text self name padding background Color gray opacity cornerRadius TextField E mail text self email padding background Color gray opacity cornerRadius SecureField Password text self password padding background Color gray opacity cornerRadius Spacer frame height Button Create account authVM create name name email email password password foregroundColor white padding frame maxWidth infinity maxHeight background Color pink cornerRadius Spacer padding leading trailing navigationBarHidden true struct SignupView Previews PreviewProvider static var previews some View SignupView preferredColorScheme dark This will create a simple signup view as the following Also create HomeView where later we will display the list of jobs import SwiftUIstruct HomeView View EnvironmentObject var authVM AuthViewModel var body some View VStack HStack Text Appwrite Jobs font title fontWeight bold Spacer Text Logout onTapGesture authVM logout padding top padding horizontal ScrollView HStack Text Find your dream njobs font largeTitle Spacer padding vertical padding horizontal Text Hello World struct HomeView Previews PreviewProvider static var previews some View HomeView preferredColorScheme dark Also create MainView and update with the following codeimport SwiftUIstruct MainView View EnvironmentObject var authVM AuthViewModel var body some View Group if authVM isLoggedIn HomeView else LoginView animation easeInOut transition move edge bottom struct ContentView Previews PreviewProvider static var previews some View MainView This is a simple view that displays either LoginView or HomeView based on authentication state Next let s create our AuthViewModel Hit cmd N again This time select Swift File and click next Now name your file AuthViewModel and click create Following the above steps create another swift file and name it AppwriteService This is a simple class responsible for initializing the Appwrite SDK and exposing the account service for use in the authentication view model Let us also organize our code files into groups In the left sidebar right click on Appwrite Jobs and select New Group Rename the newly created group into Views Follow the same process to create another group called ViewModels Now drag and drop the view files and view model files to the respective groups Your project explorer should look like the following Before we can continue we first need to add the Appwrite Swift SDK as a dependency To do that go to File gt Add Packages In the new dialog that appears tap the top right search icon and type the GitHub URL for the SDK and hit Enter You should see the sdk for apple package listed Now select the sdk for apple package and on the right side select dependency rule as Branch then choose from main for stable code or dev for the latest code Now click on the Add Package button Xcode will download the Appwrite Swift SDK along with its dependencies and will be added to your project Make sure the proper target is selected in the Add to target view then click Add Package button The package should successfully be added to your project Once we have the package now we can initialize our Appwrite SDK To do that update AppwriteService class with the following code import Foundationimport Appwriteclass AppwriteService private set var client Client private set var account Account static let shared AppwriteService init client Client setEndpoint YOUR ENDPOINT setProject YOUR PROJECT ID account Account client client Here we are creating an Appwrite service class that has client and account variables We also have a public static shared instance of AppwriteService class to make it easily accessible In the init method we are initializing our SDK and then the account service To initialize the SDK you need to instantiate the Client object and set at least the endpoint and project ID both of which can be obtained from the Appwrite console which we will look into in the next section Now that we have our SDK initialized and ready and account service instantiated let us update the AuthViewModel with the following code import Foundationimport Appwriteclass AuthViewModel ObservableObject Published var isLoggedIn false Published var error String Published var user User static let shared AuthViewModel init getAccount private func getAccount AppwriteService shared account get result in DispatchQueue main async switch result case failure let err self error err message self isLoggedIn false case success let user self user user self isLoggedIn true func create name String email String password String AppwriteService shared account create email email password password name name result in switch result case failure let err DispatchQueue main async print err message self error err message case success self login email email password password func logout AppwriteService shared account deleteSession sessionId current result in DispatchQueue main async switch result case failure let err self error err message case success self isLoggedIn false self error nil func loginAnonymous AppwriteService shared account createAnonymousSession result in switch result case failure let err DispatchQueue main async self error err message case success self getAccount public func login email String password String AppwriteService shared account createSession email email password password result in switch result case failure let err DispatchQueue main async self error err message case success self getAccount Here we are extending ObservableObject so that we can publish changes to our UI We have two published var to keep track of errors and logged in state so that UI can subscribe to those and update accordingly Next up we have methods for login get account and logout Here we are using the Appwrite s account service to perform those action Logging in is as simple as calling a createSession method on account service object with email and password Once the session is created calling the get method on account service will return the active user s details Finally logging user out is simple by calling deleteSession method with session id parameter as current to delete the currently active session We need to update the Appwrite JobsApp as the following import SwiftUI mainstruct Appwrite JobsApp App var body some Scene WindowGroup MainView environmentObject AuthViewModel shared preferredColorScheme dark Here we are passing the instance of AuthViewModel as the environment object so that we can access it from all of our views ‍ ️Setting up Appwrite ProjectGreat work Now the only thing left to do to get our authentication working is set up our Appwrite project If you already have a project set up on your Appwrite console you can skip to the next section If not and you have a freshly installed Appwrite following our installation guide then you can signup to create a root account You should now be logged in and see an empty list of projects Click on the Create Project button and give your project a name Finally click Create to create your project You should then be redirected to the project s dashboard Click Settings option to access the project settings There on the right sidebar you should find your endpoint and your project id Update YOUR ENDPOINT and YOUR PROJECT ID in the AppwriteService class with the values you obtain from project settings page Finally you need to add a platform Back to project home scroll down and click on the Add Platform button and select New iOS App option In the dialog box that appears enter the easy to recognizable name for your platform and then the bundle id You can find the bundle id for your project in XCode Setting up DatabaseNow that we have set up our project time to set up the database a jobs collection for saving the list of jobs In the Appwrite console on left sidebar click on Database In the database page you can click Add Collection to create a new collection In the dialog box that appears enter the name of your collection and click Create This will redirect you to the newly created collection s page We now need to add attributes to our collection On the collection settings page tap on add and enter Label Title key title and rule type Text and click on create button Once created you can expand the rule under rules section and make it required Similarly add the following rulesLocationlabel Locationkey locationrule type Textrequired true Linklabel Linkkey linkrule type urlrequired true Companylabel Companykey companyrule type textrequired trueSet the read and write permission as the following Let s Test AuthenticationNow that we have set up Appwrite project as well as our iOS project It s time to build and test that authentication is working Open your iOS project in XCode and hit the play icon in the top left to start building the project Once built it will run inside the Simulator that is selected and if successful it should look like the following Tap Anonymous Login you should be able to login and see the Home Page ‍ ️Listing JobsTime for listing jobs We will start by creating Job model and update with the following code import Foundationclass Job Identifiable public let id String public let title String public let link String public let logo String public let company String public let description String public let location String init id String title String link String logo String company String description String location String self id id self title title self link link self logo logo self company company self description description self location location public static func from map String Any gt Job return Job id map id as String title map title as String link map link as String logo map logo as String company map company as String description map description as String location map location as String public func toMap gt String Any return title title as Any link link as Any logo logo as Any company company as Any description description as Any location location as Any Secondly create the JobItemView and update with the following code import SwiftUIimport Kingfisherstruct JobItemView View let job Job init job Job self job job var body some View ZStack RoundedRectangle cornerRadius style continuous fill blue opacity VStack alignment leading ZStack alignment center RoundedRectangle cornerRadius style continuous fill gray opacity KFImage url URL string job logo resizable scaledToFit frame height frame width height Text job title font largeTitle padding top HStack spacing Text job company fontWeight semibold Text job location fontWeight semibold padding bottom Text job description padding all struct JobItemView Previews PreviewProvider static var previews some View JobItemView Job id title Swift Developer link logo company Google description Swift Developer location Tel Aviv preferredColorScheme dark This will create a simple job item card view Let us also create the JobsViewModel file and update with the following code import Foundationclass JobsViewModel ObservableObject Published var jobs Job init getJobs func getJobs AppwriteService shared database listDocuments collectionId ecfa result in DispatchQueue main async switch result case failure let err print err message case success let docList let convert String Any gt Job dict in return Job from map dict self jobs docList convertTo fromJson convert Here again we are creating an observable object so that we can get and display the list of jobs in our UI To get the list of jobs we are calling listDocuments and passing the collection id of the collection we created If successful we update the list of job by converting the json into our job model Finally let s update the HomeView with the following code import SwiftUIstruct HomeView View EnvironmentObject var authVM AuthViewModel ObservedObject var jobsVM JobsViewModel JobsViewModel var body some View VStack HStack Text Appwrite Jobs font title fontWeight bold Spacer Text Logout onTapGesture authVM logout padding top padding horizontal ScrollView HStack Text Find your dream njobs font largeTitle Spacer padding vertical padding horizontal ForEach jobsVM jobs job in JobItemView job padding vertical padding horizontal struct HomeView Previews PreviewProvider static var previews some View HomeView preferredColorScheme dark Now if you run and login you should see the list of jobs you have added in your collection Mine looks as the following We ve built a complete app that interacts with Appwrite s account and database APIs with our SDK for Apple and SwiftUI which you can find over at our GitHub Repo ️CreditsHope you enjoyed this article We can t wait to see what you will build If you get stuck anywhere feel free to reach out to us on our friendly support channel run by humans ‍ Here are some handy links for more information Getting Started with AppleSwift PlaygroundAppwrite GithubAppwrite Documentation 2021-10-21 18:25:51
海外TECH DEV Community Pair programming https://dev.to/afrinc/pair-programming-342d Pair programmingWell I stumbled upon one article on Pair Programming on dev io and I loved it I could basically understand the notion of doing pairing while coding It opened up a whole new level of perspective for writing softwares together It introduces some amazing ways one can collaborate during programming My team have been following this practice for over year now and everyday brings new lessons to us Would suggest everyone to give it a go This article suggested ways to get the most out of it I am sure many of you will find it helpful So did you pair with anyone today 2021-10-21 18:22:59
海外TECH DEV Community Demo: Disabling JavaScript Won’t Save You from Fingerprinting https://dev.to/savannahjs/demo-disabling-javascript-wont-save-you-from-fingerprinting-4838 Demo Disabling JavaScript Won t Save You from FingerprintingFingerprinting is a way to identify website users without using cookies or data storage Instead device properties like language and installed fonts are used to create highly accurate unique identifiers that work even if the browser has incognito mode turned on A common misconception is that disabling JavaScript can prevent fingerprinting Since advertisers and bad actors use it for ad targeting and tracking your online activity it s a natural albeit incorrect assumption that disabling JavaScript will protect you against fingerprinting In this article we will demonstrate that fingerprinting can occur even in the absence of JavaScript Check out the demo to see it in action The demo should show the same fingerprint even if visitors attempt to conceal their identities using the following methods among others Requesting desktop mode in mobile browsersSpoofing the user agentUsing incognito modeChanging the internet connectionThese are just a handful of the many use cases where fingerprinting can uniquely identify devices even as other methods fail How the demo worksWhen you open the main page of the demo your browser sends several HTTP requests to the demo s server automatically The list of requests and the request contents depend on your specific device and browser more on this later The server extracts meaningful pieces of data ーor signals ーfrom the HTTP requests and stores them in a database Your device signals stay the same as you visit different websites and subsequently can be used to reliably identify and track you over time The server links the requests of a single visitor together using a unique random token by inserting this token into the main page s HTML code As a result all HTTP requests from the main page contain the token and different visitors requesting the main page receive unique pieces of HTML code Here s a simplified example of how this works function getMainPageHTML const token makeRandomString return lt html gt lt body gt lt img src image token gt lt iframe src frame token gt lt iframe gt lt a href result token gt See the fingerprint lt a gt lt body gt lt html gt Your fingerprint is shown on a separate page The URL contains the token as well The server finds your signals using this token calculates a hash sum using all of the signals and returns the result to the browser the hash sum is the fingerprint In our demo the page is placed inside an iframe to make the fingerprint viewable on the main page but keep in mind that the server can access the fingerprint behind the scenes at any moment No JavaScript signal sourcesThe following is a list of signal sources that don t require JavaScript however not all signals listed are included in the demo largely due to their low contribution to accuracy or inherent instability IP address not included in demo The server receives your IP address with every HTTP request Typically IP addresses are unique but are considered unstable when your underlying internet connection changes e g from Wi Fi to cellular or VPN is turned on your device IP address changes as well For this reason IP address is not used as a signal in the demo HTTP headersHTTP headers are a part of every HTTP request and response ーthey come before the body i e the payload and consist of name value pairs separated by colons This meta information enables better communication between the browser and the server Some HTTP request headers contain information about the user s browser settings The demo uses these header values as signals The following illustration depicts a browser HTTP request and a server HTTP response when a user visits example com You can view the headers under the Network section of your browser s development toolbox Browsers send these headers with every HTTP request in turn the backend can parse signals from these headers from any HTTP request including the request for the main page User Agent not included in demo This HTTP header signal contains detailed information about the browser version operating system and other device related information This header value is considered unstable as mobile browsers alter it when a desktop version of the website is requested Additionally Safari provides an easy way to change the user agent value and many privacy related browser extensions spoof the user agent For these reasons user agent isn t used in the demo AcceptBrowsers use this HTTP header value to tell servers what file types are supported For example Accept text html application xhtml xml application xml q The file types supported depends on the browser engine and version Browsers send different header values for different types of resources e g webpages images stylesheets video and audio The demo makes individual requests to get Accept header values for each resource type lt html gt lt head gt lt link rel stylesheet href headers token style gt lt head gt lt body gt lt img src headers token style gt lt body gt lt html gt No separate request for the web page header is needed because browsers send the header with the request for the main page The demo doesn t use lt audio gt and lt video gt tags since media requests aren t made when the page is invisible if these tags were used the page would produce a different fingerprint when visible Also the Accept header value for audio video requests never changes in a single browser engine Accept LanguageThis HTTP header value tells the server what languages the client prefers For example Accept Language en GB en US q en q ru q Google Chrome only sends one language in incognito mode so the demo uses the first language as a signal Accept EncodingThis HTTP header value advertises which content encoding e g compression algorithm the browser is able to understand and varies with browser engine version For example Accept Encoding gzip deflate br Client Hints not included in demo Client Hints are special HTTP headers Browsers don t send these by default ーif the server responds with an Accept CH header the browser will add the Client Hints to future requests to this website For example this response header makes browsers send a Device Memory and a Sec CH UA Full Version header Accept CH Device Memory Sec CH UA Full VersionCurrently only Google Chrome and other Chromium based browsers support this header Chromium browsers don t send Client Hints when JavaScript is disabled thus Client Hints aren t used in the demo CSSThe demo collects several signals using the browser s CSS engine All the CSS signals work the same way the page s CSS code determines whether or not to send an HTTP request based on the browser OS device and other parameters In general the CSS code for a signal looks like this lt div class css probe gt lt div gt lt style gt magic query css probe background url signal token signalName lt style gt If your browser matches the magic query CSS selector it will apply the background style to the lt div gt tag and make an HTTP request to download the background image with the URL signal token signalName The server will then save this information in the database If your browser doesn t match the selector the server will treat the absence of a request as a signal as well css probe is a random class name for a signal as every signal must have a unique class name The magic selectors used in the demo are described in the following section Feature queriesA special CSS rule called supports applies CSS styles only if the browser supports the given feature Different browsers vary in terms of their features so these can be used to tell browser engines apart This is CSS code that will only trigger an HTML request in Chromium based browsers supports webkit app region inherit css probe background url Other features in place of webkit app region used in the demo include moz appearance detects Firefox and other browsers with the Gecko engine apple pay button style detects Safari webkit touch callout detects any iOS browser moz osx font smoothing detects macOS Firefoxaccent color detects modern Chromium version and Gecko version browsers Since Tor uses an outdated version of Gecko the absence of this feature indicates that the browser is most likely Tor Media queries media is a CSS keyword that enables the application of CSS styles based on various conditions outside the page In general CSS code with a media query looks like this media feature value selector If the feature matches the value the interior CSS code is applied to the page A feature may have multiple possible values so the demo can produce various HTTP requests depending on the feature value The browser either makes one of the requests or none at all This is what the CSS code looks like in general lt div class css probe gt lt div gt lt style gt media featureX value css probe background url signal token featureX value media featureX value css probe background url signal token featureX value lt style gt The demo uses the following media features hover and any hover indicate whether the device allows users to hover over HTML elementspointer and any pointer indicate whether the device has a pointing device e g a mouse and how accurate it is color indicates whether the device s screen supports colors and how many bits are used in a single color channel of the screencolor gamut denotes the color space the device s screen is capable offorced colors indicates whether the browser is set up to restrict the color paletteinverted colors indicates whether the operating system inverts the screen colorsmonochrome indicates whether the screen is monochrome ーeither naturally or because of operating system settingsprefers color scheme indicates whether the user has chosen the light or the dark theme in the operating system settingsprefers contrast indicates whether the user has asked the system to increase or decrease the amount of contrast between adjacent colorsprefers reduced motion indicates the user s preference in having less motion on the screendynamic range indicates whether the display supports HDRThe next set of features are a bit trickier device width device height and webkit device pixel ratio reflect the resolution of the whole screen and its pixel density The values of these features are arbitrary ーyou can write CSS code that has a media rule for all the thousands of possible values but it will only add unnecessary bloat to your code base Instead the demo checks ranges of values using the min and max rules Below is an example of how to detect screen width media max width px css probe background url signal token screenWidth media min width px and max width px css probe background url signal token screenWidth media min width px and max width px css probe background url signal token screenWidth media min width px css probe background url signal token screenWidth More range entries with narrower values will result in a higher degree of precision The screen width and height values of an Android device will swap when it s rotated from portrait orientation to landscape and vice versa In order to preserve the fingerprint the demo swaps the values in order to make the width always be smaller than the height FontsOperating systems have a myriad of different built in fonts additionally desktops systems typically allow users to add their own custom fonts It s impossible to retrieve a list of all the user s fonts without JavaScript and the user s permission but it is possible to check whether a specific font is installed A CSS rule called font face adds a custom font for use on the web page The rule includes a set of font names to search the device for and a URL of the font file If an installed font with the given name is found the browser will use it otherwise it will download the font file from the specified URL For this reason the server can make the determination that the font is missing if the URL has been requested For example lt div style font face Helvetica gt a lt div gt lt style gt font face font family Helvetica src local Helvetica url signal token fontHelvetica format truetype lt style gt The demo uses the following fonts Roboto and Ubuntu are available on Android and ChromeOSUbuntu is available on UbuntuCalibri and MS UI Gothic are available on WindowsGill Sans and Helvetica Neue are available on macOSArimo is available on ChromeOSAs you can see installed fonts are an effective way to tell operating systems apart ConclusionDisabling JavaScript doesn t prevent your device from being fingerprinted as most browsers will still leak an abundance of data such as IP addresses behavior patterns and more And since most websites require JavaScript to function properly using this method to preserve your online privacy will invariably lead to a suboptimal web experience Special browsers like Tor guarantee anonymity and the exact same fingerprint across all users for those that take privacy to the extremes this may be the only option Star follow or fork our no JavaScript fingerprinting demoEmail any questions you have to oss fingerprintJS comJoin our Discord channel to discuss all things FingerprintJS cybersecurity and privacyJoin our team and work on exciting research in device security work fingerprintjs com 2021-10-21 18:08:06
海外TECH DEV Community Custom Checkbox in React (Animated and Accessible) https://dev.to/tomdohnal/custom-checkbox-in-react-animated-and-accessible-3jk9 Custom Checkbox in React Animated and Accessible In this article you re going to learn how to create a custom animated yet accessible checkbox The technique that you ll learn is also applicable for styling radio inputs You can find the video version of this article on YouTube How NOT to create a custom checkbox Let s first have a look at some possible but wrong approaches to creating custom checkboxes and explore their drawbacks As you can t really use CSS as you d normally do for styling form elements like buttons or text inputs to style your checkboxes you might be tempted to do something like this Do NOT do this Bad ay hard to integrate with form libraries function Checkbox const isChecked setIsChecked useState false return lt div className checkbox isChecked checkbox active onClick gt setIsChecked isChecked gt provide styles for checkbox checkbox active classesThere are several problems with this approach It s bad for for the accessibilityIf your user happens to be using a screen reader there is no way that the screen reader can recognise that your div is actually a checkbox let alone recognise if the checkbox is checked or not It breaks the native form behaviourThe div element doesn t emit change events so it s harder to integrate it with form libraries Moreover the form data on the div element aren t sent to the server upon form submission You could fix this by using aria role checkbox on the div element other aria attributes and a lot of JavaScript However there is a simpler way How to create a custom checkbox First we ll have a look at how we ll approach it conceptually so that we have a big picture of the implementation We re going to use three different HTML elements for creating a custom checkbox A label an input type checkbox and span or svg or whatever you d like The input type checkbox is going to be visually hidden but still accessible for screen readers and we re gonna use the label element as a parent element so that clicking anywhere in the checkbox triggers the change event on the input type checkbox Using label as a parent element is valid HTML as per edef LABELWe ll use aria hidden true on the custom span or svg checkbox so that it s hidden for screen readers as its purpose is only decorative We re also going to toggle checkbox active class on it so that we can style it differently for checked and unchecked states With that said let s write some JSXimport useState from react function Checkbox const isChecked setIsChecked useState false return lt label gt lt input type checkbox onChange gt setIsChecked isChecked gt lt span className checkbox isChecked checkbox active This element is purely decorative so we hide it for screen readers aria hidden true gt Don t you dare to check me lt label gt To visually hide the native checkbox create and import a new CSS file with the following taken from input type checkbox clip rect clip path inset height px overflow hidden position absolute white space nowrap width px To learn more about visually hiding things in CSS visit this blog post on CSS TricksIf you now hit save and open the browser you ll see something like this The native checkbox is hidden but we still need to style our custom one Let s do it in the next section Styling Our Custom CheckboxLet s first include some styles for our custom checkbox checkbox display inline block set to inline block as inline elements ignore height and width height px width px background fff border px ddd solid margin right px checkbox active border color purple background purple This is going to result in something like this While it reacts to our input it s missing something a checkmark indicating if the checkbox is checked or not Let s turn our span into an svg and add a checkmark function Checkbox return lt label gt lt svg className checkbox isChecked checkbox active This element is purely decorative so we hide it for screen readers aria hidden true viewBox fill none gt lt path d M L L strokeWidth stroke isChecked fff none only show the checkmark when isCheck is true gt lt svg gt Don t you dare to check me lt label gt You can find the source code for this section on CodeSandbox Animating Checkbox using React SpringIn this section we ll make the checkbox even prettier while maintaining its accessibility We ll be using React Spring library for the animations You might be able to pull this animation off just with plain CSS but as we ll be animating the SVG Path and we ll need JavaScript to measure its length to make the animation possible library like React Spring will come in handy I ve created a whole series on animating SVGs with React Spring Be sure to check it out if you want to learn about it in more detail First let s tackle the easier bit animating the background and border colours After adding react spring as a dependency using your favourite package manager let s import animated and useSpring from the library and turn svg into animated svg and path into animated path so that they re set and ready to be animated import animated useSpring from react spring function Checkbox return lt label gt lt animated svg gt lt animated path gt lt animated svg gt lt label gt Once we re done we ll use the useSpring hook to animate backgroundColor and borderColor attributes This is going to be analogical to toggling the values of those properties by using the checkbox active CSS class function Checkbox const checkboxAnimationStyle useSpring backgroundColor isChecked fff borderColor isChecked ddd return lt label gt lt animated svg style checkboxAnimationStyle gt lt animated svg gt lt label gt Finally we ll remove the checkbox active class from our CSS file as it s no longer needed Animating the CheckmarkWe ll be using a famous technique for animating SVG Paths using strokeDashoffset and strokeDasharray in this tutorial I created a whole blog post explaining this subject in much more detail To animate the checkmark we first need to measure and store its length We ll use useState to store its length pass a callback to the ref property of our SVG Path and call ref getTotalLength to measure its length function Checkbox const checkmarkLength setCheckmarkLength useState null return lt label gt lt animated svg gt lt animated path ref ref gt if ref setCheckmarkLength ref getTotalLength gt lt animated svg gt lt label gt Now that we ve got the length of the path we can set the strokeDasharray to checkmarkLength and use useSpring to animate the strokeDashoffset between and checkmarkLength And we ll set the stroke to fff no matter of the isActive state value If you re not use how this works see my blog post where I explain this very technique in detail function Checkbox const checkmarkAnimationStyle useSpring x isChecked checkmarkLength return lt label gt lt animated svg gt lt animated path stroke fff strokeDasharray checkmarkLength strokeDashoffset checkmarkAnimationStyle x gt lt animated svg gt Don t you dare to check me lt label gt export default Checkbox If you now try your code out you ll see that it s working quite okay While our animation is working quite smoothly I think we can still add a little bit of spice to take it to the next level First let s tweak the config of the useSpring hook Let s import the config variable from React Spring which includes some predefined configs and use config config gentle in our useSpring calls This is going to give our animations a little bit more of a playful feel import config from react spring function Checkbox const checkboxAnimationStyle useSpring config config gentle const checkmarkAnimationStyle useSpring config config gentle Next if you look at the animation really closely you ll notice that the checkmark animation only appears for a brief moment That s because the checkmark is white for the whole duration of the animation while the background is animating from white to purple So during the time when the background is white the checkmark is barely visible as it s white on a white background We can tackle this by using the useChain hook from React Spring This hook enables us to trigger the useSpring animations one after another In our case we ll use it to delay the checkmark animation a bit so that it only starts animating when the background of the checkbox is already mostly purple We ll do the opposite when animating in the other direction Let s import useChain along with useSpringRef from react spring Then we ll use the useSpringRef hook to create references to our useSpring calls which we ll then pass into the useChain function import useSpringRef useChain from react spring function Checkbox const checkboxAnimationRef useSpringRef const checkboxAnimationStyle useSpring ref checkboxAnimationRef const checkmarkAnimationRef useSpringRef const checkmarkAnimationStyle useSpring ref checkmarkAnimationRef useChain isChecked checkboxAnimationRef checkmarkAnimationRef checkmarkAnimationRef checkboxAnimationRef gt delay by seconds If we now play the animation it looks bonkers You can find the source code for the whole tutorial on CodeSandbox 2021-10-21 18:06:48
Apple AppleInsider - Frontpage News App Store in-app events are launching on Oct. 27 https://appleinsider.com/articles/21/10/21/app-store-in-app-events-are-launching-on-oct-27?utm_medium=rss App Store in app events are launching on Oct Apple is reminding developers to begin creating in app events ahead of the launch of the feature as well as new App Store tools meant to highlight such events Credit AppleThe new feature introduced in iOS and iPadOS is meant to allow developers to create and promote in app events like game competitions movie premieres or live streamed experiences Apple says that users can discover in app events via promotional cards on an app s App Store listing in search results or in editorially curated selections Read more 2021-10-21 18:39:09
Apple AppleInsider - Frontpage News Apple TV+ 'Mythic Quest' picked up through season 4 https://appleinsider.com/articles/21/10/21/apple-tv-mythic-quest-picked-up-through-season-4?utm_medium=rss Apple TV x Mythic Quest x picked up through season Rob McElhenney and two guest stars have announced that Mythic Quest will run for at least two more seasons with the next season arriving at some point in Charlotte Nicdao and Rob McElhenney in Mythic Quest season two premiering May on Apple TV The Tweet announcing the series features Sir Anthony Hopkins and Ron McElhenney Jason Sudeikis from Apple TV Ted Lasso made an appearance at the end of the tweet as well talking to Hopkins Read more 2021-10-21 18:04:29
Apple AppleInsider - Frontpage News Feds probing Apple & big tech companies about digital payment systems [u] https://appleinsider.com/articles/21/10/21/us-consumer-protection-agency-to-probe-apple-other-big-tech-companies?utm_medium=rss Feds probing Apple amp big tech companies about digital payment systems u The U S Consumer Financial Protection Bureau has launched a probe into the consumer data and financial practices of digital payment systems including Apple Pay Google PayPal and others Credit Consumer Financial Protection BureauFollowing a Wall Street Journal report that the CFPB was to query big tech firms about data use it has now been revealed that the probe is into management of digital payment systems Read more 2021-10-21 18:33:14
海外TECH Network World Gartner: Top strategic predictions for 2022 and beyond https://www.networkworld.com/article/3637951/gartner-top-strategic-predictions-for-2022-and-beyond.html#tk.rss_all Gartner Top strategic predictions for and beyond Expect the unexpected that s just one of the core premises IT leaders need to embrace in the next few years according to Gartner s top strategic predictions for and beyond IT leaders need to be able to move in multiple strategic directions at once said Daryl Plummer distinguished research vice president and Gartner Fellow to the virtual audience at the firm s IT Symposium Xpo Americas held this week Network certs Significant raises for the right ones“Resilience opportunity and risk have always been components of good business strategy but today these issues hold new meaning Plummer said “This year s predictions embody how resilience must be built in more non traditional ways from talent to business modularity while opportunity and risk must be viewed with a greater sense of urgency To read this article in full please click here 2021-10-21 18:34:00
海外科学 NYT > Science Tuskless Elephants Escape Poachers, but May Evolve New Problems https://www.nytimes.com/2021/10/21/science/tuskless-elephants-evolution.html Tuskless Elephants Escape Poachers but May Evolve New ProblemsScientists identified the genes that played a role in many female elephants of Mozambique s Gorongosa National Park being born without tusks 2021-10-21 18:21:33
海外科学 NYT > Science South Korea’s First Homemade Rocket Lifts Off but Is ‘One Step Short’ https://www.nytimes.com/2021/10/21/world/asia/south-korea-rocket.html South Korea s First Homemade Rocket Lifts Off but Is One Step Short The country aspires to be a leader in space technology with plans to land an uncrewed craft on the moon by President Moon Jae in said the initial launch was excellent “for a first try 2021-10-21 18:30:17
海外科学 NYT > Science Pain Doctor Accused of Sexually Assaulting Patients Faces New Federal Charges https://www.nytimes.com/2021/10/20/health/ricardo-cruciani-federal-charges.html Pain Doctor Accused of Sexually Assaulting Patients Faces New Federal ChargesRicardo Cruciani a former pain management physician already faces state charges Each of the federal charges carries a maximum sentence of years 2021-10-21 18:36:46
海外科学 NYT > Science In a First, Surgeons Attached a Pig Kidney to a Human https://www.nytimes.com/2021/10/19/health/kidney-transplant-pig-human.html In a First Surgeons Attached a Pig Kidney to a HumanA kidney grown in a genetically altered pig functions normally scientists reported The procedure may open the door to a renewable source of desperately needed organs 2021-10-21 18:28:47
ニュース BBC News - Home Strictly Come Dancing: Judi Love to miss this week's show with Covid-19 https://www.bbc.co.uk/news/entertainment-arts-59002666?at_medium=RSS&at_campaign=KARANGA spokesperson 2021-10-21 18:54:11
ニュース BBC News - Home Royal Cornwall Hospitals Trust declares critical incident https://www.bbc.co.uk/news/uk-england-cornwall-58996914?at_medium=RSS&at_campaign=KARANGA demand 2021-10-21 18:39:53
ニュース BBC News - Home Under-strength Spurs lose at Vitesse in Europa Conference League https://www.bbc.co.uk/sport/football/58987624?at_medium=RSS&at_campaign=KARANGA Under strength Spurs lose at Vitesse in Europa Conference LeagueTottenham pay the price for leaving their star players at home as Dutch side Vitesse Arnhem earn a deserved win in the Europa Conference League 2021-10-21 18:40:23
ビジネス ダイヤモンド・オンライン - 新着記事 短期衆院選の結果がどうであれ、自民党の人事刷新が必要な理由 - 永田町ライヴ! https://diamond.jp/articles/-/284897 人事刷新 2021-10-22 03:50:00
ビジネス ダイヤモンド・オンライン - 新着記事 メタバース構築への道はビデオゲームから - WSJ PickUp https://diamond.jp/articles/-/285455 wsjpickup 2021-10-22 03:45:00
ビジネス ダイヤモンド・オンライン - 新着記事 中国軍機の大挙飛来、台湾市民の危機意識に変化 - WSJ PickUp https://diamond.jp/articles/-/285456 wsjpickup 2021-10-22 03:40:00
ビジネス ダイヤモンド・オンライン - 新着記事 コンビニスイーツの次はコンビニ野菜!?セブン、ファミマ、ローソンが乗り出すワケ - News&Analysis https://diamond.jp/articles/-/285454 newsampampanalysis 2021-10-22 03:35:00
ビジネス ダイヤモンド・オンライン - 新着記事 サッカー森保監督が、解任論のさなかでも選手から思いを寄せられる理由 - ニュース3面鏡 https://diamond.jp/articles/-/285230 2021-10-22 03:30:00
ビジネス ダイヤモンド・オンライン - 新着記事 健康生活を約束する「究極の筋トレ」、どんな風にどれくらいやるべきか? - 検証!フィットネスの「驚くべき底力」 https://diamond.jp/articles/-/284638 重要 2021-10-22 03:25:00
ビジネス ダイヤモンド・オンライン - 新着記事 採用面接では「自己肯定感」と「自己効力感」のどちらに注目するべきか? - HRオンライン https://diamond.jp/articles/-/284771 2021-10-22 03:20:00
ビジネス ダイヤモンド・オンライン - 新着記事 本当に仕事ができる優秀な人が大事にしている「特別な習慣」とは? - ゼロ秒思考[行動編] https://diamond.jp/articles/-/281731 即断即決 2021-10-22 03:15:00
ビジネス ダイヤモンド・オンライン - 新着記事 ひろゆきが語る「何をやっても続かない人の口グセ」ワースト2 - 1%の努力 https://diamond.jp/articles/-/284917 youtube 2021-10-22 03:05:00
IT 週刊アスキー Razerが米国でハプティック内蔵ヘッドホンから自作パーツまで発表 https://weekly.ascii.jp/elem/000/004/072/4072774/ razer 2021-10-22 03:30:00

コメント

このブログの人気の投稿

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

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

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