IT |
InfoQ |
Presentation: Adventures in Performance |
https://www.infoq.com/presentations/factors-code-performance/?utm_campaign=infoq_content&utm_source=infoq&utm_medium=feed&utm_term=global
|
Presentation Adventures in PerformanceThomas Dullien discusses how language design choices impact performance how Google s monorepo culture and Amazon s two pizza team culture impact code efficiency why statistical variance is an enemy By Thomas Dullien |
2023-08-11 09:05:00 |
Ruby |
Rubyタグが付けられた新着投稿 - Qiita |
vim-lsp-settings で typeprof を無効にするための設定 |
https://qiita.com/nisshy0516/items/804d9baf27b9eb967e45
|
vimls |
2023-08-11 18:52:23 |
Ruby |
Rubyタグが付けられた新着投稿 - Qiita |
permitメソッドについて |
https://qiita.com/linlin_7712/items/9373929df7701a028bac
|
param |
2023-08-11 18:40:11 |
Docker |
dockerタグが付けられた新着投稿 - Qiita |
[Docker] Pixelfedインスタンスを作って慣れるDocker入門 |
https://qiita.com/everylittle/items/a9b7fb1097c3f48039e8
|
docker |
2023-08-11 18:42:40 |
Docker |
dockerタグが付けられた新着投稿 - Qiita |
MySQL Docker コンテナに、実行時でなくビルド時に初期データ入力をしたい |
https://qiita.com/Daiius/items/9b3f26137380de74d049
|
docker |
2023-08-11 18:36:40 |
Docker |
dockerタグが付けられた新着投稿 - Qiita |
任意の .onion ドメインを生成する |
https://qiita.com/MatchaDev/items/0f457386d1dac45c2e7a
|
onion |
2023-08-11 18:22:10 |
技術ブログ |
Developers.IO |
AWS CDK v2.91.0 で CDK diff コマンドに –quiet オプションが追加され、進捗メッセージを抑制できるようになりました |
https://dev.classmethod.jp/articles/aws-cdk-v2-91-0-update-cdk-diff-quiet-option-to-suppress-progress-messages/
|
awscdkv |
2023-08-11 09:45:46 |
海外TECH |
DEV Community |
mirrord as an alternative to Telepresence |
https://dev.to/eyalb/mirrord-as-an-alternative-to-telepresence-39mn
|
mirrord as an alternative to TelepresenceA question that comes up often from those already familiar with local Kubernetes development is how mirrord compares to Telepresence The idea at the base of both products is indeed similar instead of deploying your new code to the cloud and testing it there connect it to the cloud from your local machine By shifting left on cloud testing this way you utilize your cloud environment much more effectively and speed up your development process The people at Ambassador Labs wrote about it at length However the technical approach at the base of mirrord is very different from that of Telepresence which translates into significant differences in usability compatibility and performance What Telepresence does is install an operator in your cluster then connect you to the cluster via VPN either your entire development machine or a containerized subset On the other hand this is what happens when you run a local process with mirrord mirrord starts a pod called the mirrord agent on the same network namespace as your target This pod is cleaned up automatically at the end of execution mirrord then injects itself into your process overrides low level functions and relays them to the mirrord agent who then executes them on the target in the cluster and sends back the results For example when your process tries to read a file mirrord intercepts that function call and instead asks the agent to read that file from the remote target mirrord does this for everything traffic file operations environment variables so your process behaves as if it was executed within the Kubernetes cluster and with the entire context of your target It s pretty heavy lifting compared to just starting a VPN mirrord has to hook and reimplement a lot of functions for everything to work smoothly across different frameworks But there s a payoff By providing your local process with the entire remote context of the pod you chose to target mirrord natively supports complex flows For example if when your process receives a request it queries a database since mirrord provides it with the pod s environment variables and files it s going to have the necessary credentials and since mirrord intercepts the outgoing requests and sends it out from the remote pod instead it won t be interrupted by any network rules blocking access from outside of the cluster mirrord doesn t need root access on your machine All it does is override the functions of a running process the rest of your machine remains untouchedYou don t have to install anything on your cluster mirrord uses the Kubernetes API so all you need is a configured kubeconfig mirrord does create a pod when it runs but it cleans itself up at the end of execution As you might have guessed mirrord supports traffic mirroring It can still intercept traffic like Telepresence does but if you want to leave the remote process completely untouched mirrord can also just duplicate its traffic and send a copy to you The original requests are handled by the remote service so people accessing it are completely unaware that you re using mirrord to debug it As opposed to Telepresence which works at the network level mirrord works at the pod level This means it also supports pods that aren t exposed through a service and gives your local code access to anything the pod can access including components outside the cluster It also natively supports environments with service mesh like Linkerd or Istio Because the mirrord client works at the process level you can easily configure exactly what s executed remotely and what stays local For example you could make all the components of the remote cluster accessible to your local process but have it write to the database locally or have it read files from the local file system except a few specific files that you want to get from the remote pod mirrord is a tool for developers and as such in addition to a CLI tool it also comes as an IDE plugin for both VS Code and the IntelliJ IDEs This is the most popular way to use mirrord where it naturally fits into the existing development workflow Most importantly though all of these things are supported out of the box and with no required changes to your system You don t have to set up mounts manually ingest environment variables or create headless services Just run your process with mirrord and everything works It s this lack of friction that really makes the vision of local Kubernetes development possible a true shift left of the cloud where running your code in Kubernetes isn t the thing you re saving for last after all the unit tests and local setups but rather the first thing you do when you write new code Usage is simple and intuitive In the CLI And in the IDE enable mirrord run or debug your code and select a target For example in VSCode Try it out If you want to take mirrord for a spin check out the quick start guide We d love to hear about your experience or just general thoughts chat us up on our Discord or open an issue or discussion on GitHub |
2023-08-11 09:50:22 |
海外TECH |
DEV Community |
Meet the new Core Web Vital: Interaction to Next Paint (INP) 🎨 |
https://dev.to/enterspeed/meet-the-new-core-web-vital-interaction-to-next-paint-inp-dbc
|
Meet the new Core Web Vital Interaction to Next Paint INP In March Interaction to Next Paint INP will replace one of the current Core Web Vitals First Input Delay FID This is a big deal since Core Web Vitals affect both user experience and your organic rankings on Google Core Web Vitals became a part of Google s ranking algorithm in Before we dive into what Interaction to Next Paint ICP is let s do a quick recap by answering the following questions What are Core Web Vitals Why are they important If you re already familiar with Core Web Vitals you can skip to the Meet the new kid on the block INP section What is core Web Vitals Image source Core Web Vitals represent a trio of essential user centric metrics introduced by Google for evaluating and enhancing website performance These three are Largest Contentful Paint LCP This metric measures the time the largest visible element takes to appear influencing the perceived speed of a website s loading process First Input Delay FID FID measures the responsiveness of a webpage by quantifying the delay between a user s initial interaction e g clicking a button and the browser s ability to respond It indicates how smoothly users can interact with a site Cumulative Layout Shift CLS CLS evaluates visual stability by calculating unexpected layout shifts during page load These shifts can lead to accidental clicks or confusing user experiences CLS aims for a smooth loading process without abrupt visual changes These metrics collectively offer insights into the user experience journey on a website covering loading efficiency interactivity and visual consistency Why are Core Web Vitals important A poor user experience can both frustrate and infuriate users There are multiple reasons why it s essential to consider Core Web Vitals when developing a website for instance User Experience UX Core Web Vitals directly address the factors that influence how users perceive and engage with websites Websites can create a smoother and more satisfying user journey by focusing on loading speed interactivity and visual stability Search Engine Optimisation SEO Google has integrated Core Web Vitals into its ranking algorithm making them a critical element for search engine optimisation Websites that excel in these metrics are more likely to rank higher in search results leading to increased visibility and organic traffic Conversion Rate Optimisation CRO Core Web Vitals are crucial in CRO strategies Improved user experience stemming from better loading times and interactivity directly contributes to higher conversion rates Users are more likely to complete desired actions when they have a seamless and engaging website experience Now let s look at the new Core Web Vital that will replace First Input Delay FID The new metric Interaction to Next Paint INP Meet the new kid on the block INPYou can think of Interaction to Next Paint INP as First Input Delay FID on steroids Where FID only measures the first interaction INP measures all page interactions That means you get the latency of all the interactions the user has made with a page However you are not getting the value metric of each interaction but instead a single value which all nearly all interactions were below longest interaction observed ignoring outliers INP gets calculated when the user leaves the page So where FID tells you something about the first impression INP tells you something about the overall experience A low INP will indicate that the page consistently responded fast to all or the vast majority of user interactions But why switch out FID with INP According to Chrome usage data users spend roughly of the time on a page after it loads Therefore responsiveness throughout the page lifecycle is essential in determining the overall user experience The INP metric precisely evaluates this aspect The goal is to provide good responsiveness to the user which comes when the page responds quickly to the user s interaction This response will be some sort of visual feedback Visual feedback tells the user if an item has been added to the shopping cart a login form is being authenticated etc INP is not about showing the end result as quickly as possible but to cue the user that something is happening An interaction might be highly complex and take a long time INP doesn t care how long a network fetch takes but rather how quickly you display visual feedback to the user This could be with a loading spinner INP only wants to know how long the next paint is blocked Why Because poor responsiveness can cause multiple unintended responses e g clicking a button too many times which results in a poor user experience We ve talked a lot about interactions so let s look at exactly what an interaction is What is an interaction Image source The interactivity is often happening through JavaScript However native browser controls like checkboxes radio buttons and CSS powered controls also provide interactivity INP doesn t measure all interaction types but only Mouse clickingTapping on a touchscreenKeystrokes pressing a key on a keyboard This means that INP does not measure hovering and scrolling unless the user scrolls with their keyboard space page up down etc since this is a keystroke It s also important to note that an interaction may consist of multiple parts For instance when you hit a key you trigger the keydown and the keyup events In this case the event with the longest duration within the interaction is chosen for the interaction s latency How many interactions there are on a website depends on the type of website page If a page is made up of mostly text and images there may be few or no interactive elements If on the other hand the page includes a text editor or a game there could be hundreds or even more interactions What is a good INP Image source It can be challenging to rate responsiveness as good or poor since the capability of a user s device can vary a lot e g older vs newer devices However a good rule of thumb is to measure the th percentile of page loads segmented across mobile and desktop devices Then a good INP would be below or at ms If the INP is between ms and ms your page s responsiveness needs improvement Everything above ms means that your page has poor responsiveness How do you measure INP The best way to measure INP is by using field data which refers to real world performance data collected from users interacting with your website One way to get these field data is to use the Chrome User Experience Report CrUX if your website qualifies for inclusion You can find the CrUX in Pagespeed Insights Another way to get field data is by using a Real User Monitoring tool RUM like SpeedCurve If you re using a framework like Next js v Nuxt js v or Gatsby v you can also use Vercels Speed Insights You can also test INP in the lab synthetic testing but it s recommended to have field data so that you can reproduce and identify slow interactions Read more about how to diagnose slow interactions in the lab Tip If you don t have any field data the Total Blocking Time TBT which assesses page responsiveness during load correlates very well with INP Can INP always be measured No there are times when INP isn t measured for instance The user never interacted clicked tapped or pressed a key with the page A bot accessed the page e g a crawler or a headless browser How to optimize INP Before we can optimise INP we need to know one crucial thing Can you guess what it is We need to know what to optimise Yes I know it seems obvious But unlike other web vitals such as Largest Contentful Paint LCP finding which interactions are slow can be difficult Ideally you already have loads of field data showing which interactions need to be optimised Unfortunately in the real world this isn t always the case Maybe you don t have any Real User Monitoring RUM implemented on your site Perhaps you don t have the required traffic amount to be present in the CrUX reports Or maybe it s an entirely new site that you want to ensure performs well before shipping it So let s see how we can find and diagnose these slow interactions in the lab Diagnosing INP in the labTo diagnose INP in the lab you will need a Chrome browser and the Web Vitals Chrome Extension Once installed locate the extension and open it Click on the gear icon settings in the bottom right corner Enable Console logging and click save Now all interactions will be logged into your console You can open the console using the keyword shortcut Ctrl Shift J on Windows and Cmd Opt J on Mac including other web vitals Next it s time to put in the legwork You need to go through your site interactions to test if any interactions need improvement If you have a larger site you can write down common user flows and test them out For instance if you have an e commerce site the flow and interactions could look something like this Click on a product Select a variant e g size colour Select quantity Click Add to cart Click the cart icon in the header Click the Go to checkout button Apply a discount code Fill out the shipping address Choose a shipping option Go to payment Remember the more interactions you can test the better For instance you may find that the discount field is performing slowly without showing any loading indicator Or maybe the Postal code field which automatically fills out the City field is the sinner Once you have been through all interactions or the most common ones you should have a list of interactions which need improvement If you don t have any give yourself a pad on the back and take a break If you re not that lucky we will look into how we optimise the interactions Optimise interactionsNow you should have identified one or more slow interactions you can reproduce An interaction can be split into three phases The input delay Starts when the user initiates an interaction and ends when the event callbacks begin to run The processing time The time it takes for event callbacks to run to completion The presentation delay The time it takes for the browser to present the next frame Add these three together and you get the total interaction latency Reducing Input delayInput delay the time from user interaction initiation to event callback execution on a website plays a crucial role in determining the responsiveness of web interactions These are some of the ways we can reduce input delay Prioritise Brief Interactions Shortening the duration of interactions is key to meeting the Interaction to Next Paint INP metric While eliminating input delay entirely is challenging focusing on reducing main thread workload during user interactions can significantly enhance responsiveness Optimise Timer Usage and Animation Be careful about employing JavaScript timers like setTimeout and setInterval Instead try to use CSS animations over JavaScript animations as they minimise the accumulation of animation frames that can cause delays Manage Long Tasks Long tasks on the main thread contribute to extended input delays Optimise task workload and consider breaking down lengthy tasks into smaller segments using yielding to improve overall responsiveness Address Interaction Overlap Interaction overlap where subsequent actions interrupt the rendering of the initial interaction can worsen input delay Use techniques like debouncing for user inputs and the AbortController to manage resource intensive interactions Optimising Event CallbacksAfter tackling input delay the focus shifts to ensuring these callbacks respond swiftly to user interactions Here are some of the ways we can optimise these callbacks Frequent Main Thread Yielding Prioritise minimising work within event callbacks Break tasks into smaller units using techniques like setTimeout to prevent long tasks from obstructing the main thread This approach enhances overall responsiveness Efficient Rendering with Yielding Yield immediately after an event callback that updates the UI to expedite rendering Advanced techniques involve structuring code to prioritise rendering critical tasks deferring non critical ones for subsequent tasks Preventing Layout Thrashing Avoid synchronous layout issues layout thrashing by refraining from updating and immediately reading styles within the same task Be cautious of properties causing this problem in JavaScript Minimising Presentation DelayNow it s time for the presentation where we need to minimise the delay as much as possible The presentation delay occurs between event callbacks completion and the browser painting the next frame to reflect interaction changes Reducing DOM Size Smaller DOMs lead to quicker rendering while larger DOMs increase workload Efforts like flattening the DOM or strategically adding elements help though large DOMs may remain challenging Lazy Rendering with content visibility Utilise CSS s content visibility to render elements as they approach the viewport It cuts rendering time benefiting the Interaction to Next Paint INP metric Smart HTML Rendering via JavaScript JavaScript rendered HTML impacts performance involving parsing styling and rendering Balancing initial HTML with JavaScript content updates avoids delayed frame presentation AcknowledgementThese great articles have been used as the basis of this article Some explanations have been quoted directly to avoid confusing the reader Interaction to Next Paint INP Optimise Interactions to Next Paint Diagnose slow interactions in the lab Optimise input delay If you need to dive into the subject of INP even more I recommend starting here |
2023-08-11 09:05:43 |
海外TECH |
Engadget |
Google Slides' new tool lets you annotate your presentations |
https://www.engadget.com/google-slides-new-tool-lets-you-annotate-your-presentations-095524960.html?src=rss
|
Google Slides x new tool lets you annotate your presentationsGoogle has introduced a new tool for Slides that can help you make your presentations more interactive and keep your audience s attention The new feature a pen tool lets you write on a slide in real time so you can encircle key figures draw arrows underline important information and just generally scribble anything you want on the presentation while in the middle of a meeting or a report While Slides has long had the ability to turn your mouse arrow into a laser pointer you had to download a third party tool to be able to actually write annotations in the middle of a presentation nbsp Slides new pen tool is built into the program and there s no need to download anything extra To access it you have to open your file in slideshow mode and then mouse over the bottom left side to see the three dot menu From that menu you ll find an option that reads quot Turn on the pen quot You can choose the pen color you want to use ーblack red blue or green ーfrom the panel that shows up and you can also easily switch it off from the same location If you want to erase what you ve written you just need to switch from the pen to the eraser tool in the bottom left corner nbsp Google says the feature will be available to all Workspace customers and users with a personal account but it may take days before it s done rolling out the pen tool to everyone nbsp This article originally appeared on Engadget at |
2023-08-11 09:55:24 |
ニュース |
BBC News - Home |
Harry Kane: Tottenham and England striker to have medical at Bayern Munich |
https://www.bbc.co.uk/sport/football/66276899?at_medium=RSS&at_campaign=KARANGA
|
Harry Kane Tottenham and England striker to have medical at Bayern MunichEngland captain Harry Kane is set to have a medical at Bayern Munich after being given permission to travel to Germany by Tottenham |
2023-08-11 09:25:36 |
ニュース |
BBC News - Home |
PSNI data breach: Ex-officer says incident means sleepless nights |
https://www.bbc.co.uk/news/uk-northern-ireland-66467164?at_medium=RSS&at_campaign=KARANGA
|
breaches |
2023-08-11 09:17:13 |
ニュース |
BBC News - Home |
MP Angus MacNeil expelled by SNP after chief whip row |
https://www.bbc.co.uk/news/uk-scotland-scotland-politics-66470026?at_medium=RSS&at_campaign=KARANGA
|
westminster |
2023-08-11 09:08:30 |
ニュース |
BBC News - Home |
Theresa Villiers: Ex-environment secretary failed to declare Shell shares |
https://www.bbc.co.uk/news/uk-politics-66469317?at_medium=RSS&at_campaign=KARANGA
|
environment |
2023-08-11 09:01:12 |
ニュース |
BBC News - Home |
Niger coup: Ecowas to deploy standby force |
https://www.bbc.co.uk/news/world-africa-66465146?at_medium=RSS&at_campaign=KARANGA
|
intervention |
2023-08-11 09:55:21 |
ニュース |
BBC News - Home |
Liverpool agree British record £111m fee for Caicedo |
https://www.bbc.co.uk/sport/football/66470820?at_medium=RSS&at_campaign=KARANGA
|
caicedo |
2023-08-11 09:48:06 |
ニュース |
BBC News - Home |
Japan 1-2 Sweden: World Cup semi-finals beckon as Arsenal and Man City stars score |
https://www.bbc.co.uk/sport/football/66457723?at_medium=RSS&at_campaign=KARANGA
|
Japan Sweden World Cup semi finals beckon as Arsenal and Man City stars scoreSweden produce a magnificent performance to book a semi final date with Spain and end Japan s dreams of winning the Women s World Cup |
2023-08-11 09:52:08 |
ニュース |
BBC News - Home |
Spain 2-1 Netherlands: Salma Paralluelo winner earns Spanish first Women's World Cup semi-final |
https://www.bbc.co.uk/sport/football/66458146?at_medium=RSS&at_campaign=KARANGA
|
Spain Netherlands Salma Paralluelo winner earns Spanish first Women x s World Cup semi finalTeenage winger Salma Paralluelo scores a th minute winner as Spain beat the Netherlands to reach the Women s World Cup semi finals for the first time |
2023-08-11 09:50:16 |
ニュース |
BBC News - Home |
What caused the Hawaii wildfires? |
https://www.bbc.co.uk/news/world-us-canada-66470118?at_medium=RSS&at_campaign=KARANGA
|
weather |
2023-08-11 09:51:38 |
IT |
週刊アスキー |
3つの最高クラスを実現! ソニーのワイヤレスイヤホン「WF-1000XM5」 |
https://weekly.ascii.jp/elem/000/004/149/4149633/
|
発売 |
2023-08-11 18:30:00 |
海外TECH |
reddit |
Triggered an alarm, now what? |
https://www.reddit.com/r/japanlife/comments/15o3sgb/triggered_an_alarm_now_what/
|
Triggered an alarm now what I was trying to go to a post office today to use the atm and pay a bill Normally it would have been open but I didn t see that it s closed on holidays and I honestly I didn t know mountain day was an actual holiday The door to the atm wasn t locked and when I opened the door the alarm triggered I waited for a policeman he understood it was a mistake and wrote down my name before he let me off He didn t really explain but what usually happens in cases like this will I get a fine for wasting public resources or get this on my record submitted by u Siviel to r japanlife link comments |
2023-08-11 09:12:22 |
コメント
コメントを投稿