IT |
気になる、記になる… |
Appleの整備済み商品情報 2023/6/6 − M1/M2チップ搭載モデル多数追加 |
https://taisy0.com/2023/06/06/172670.html
|
apple |
2023-06-06 09:59:28 |
IT |
ITmedia 総合記事一覧 |
[ITmedia Mobile] ついに「iPhone 8」のOSバージョンアップ打ち切り これから“安いiPhone”を選ぶならどれ? |
https://www.itmedia.co.jp/mobile/articles/2306/06/news198.html
|
apple |
2023-06-06 18:44:00 |
IT |
ITmedia 総合記事一覧 |
[ITmedia News] エーザイがランサムウェア被害に サーバが暗号化される 被害状況は調査中 |
https://www.itmedia.co.jp/news/articles/2306/06/news197.html
|
itmedia |
2023-06-06 18:30:00 |
IT |
ITmedia 総合記事一覧 |
[ITmedia ビジネスオンライン] オニツカタイガー、新幹線のようなシューズ発売 兵庫の観光キャンペーンと連動 |
https://www.itmedia.co.jp/business/articles/2306/06/news130.html
|
itmedia |
2023-06-06 18:29:00 |
IT |
ITmedia 総合記事一覧 |
[ITmedia News] Google、Wordspaceでもパスキー利用可能に(オープンβとして) |
https://www.itmedia.co.jp/news/articles/2306/06/news195.html
|
google |
2023-06-06 18:24:00 |
IT |
ITmedia 総合記事一覧 |
[ITmedia ビジネスオンライン] 三重県松阪市に「MEGAドン・キホーテ」がオープン 食品売り場を1.3倍に |
https://www.itmedia.co.jp/business/articles/2306/06/news193.html
|
itmedia |
2023-06-06 18:09:00 |
TECH |
Techable(テッカブル) |
スタートアップ必見。組織の特徴別に考える30名規模までの失敗しないオフィス選び |
https://techable.jp/archives/211017
|
選び |
2023-06-06 09:41:11 |
TECH |
Techable(テッカブル) |
スタートアップにも人気!ますます多様化するフレキシブルオフィスと内装付きオフィスの今 |
https://techable.jp/archives/211005
|
規模 |
2023-06-06 09:40:35 |
TECH |
Techable(テッカブル) |
ドローンで行う薬剤散布作業を適正化。農業向けアプリ「ドローン・アシスト」登場 |
https://techable.jp/archives/210165
|
無人航空機 |
2023-06-06 09:00:35 |
AWS |
AWS - Japan |
第三十回 ちょっぴりDD - 15分でちょっぴり知る、AWS Summit Tokyo ソフトウェア / SaaS 事業会社向け特集 |
https://www.youtube.com/watch?v=HeI3MZBL1Sw
|
第三十回ちょっぴりDD分でちょっぴり知る、AWSSummitTokyoソフトウェアSaaS事業会社向け特集第回年月日ちょっぴりDDでは、AmazonVPCLattice、AWSSummitTokyoやMarketplaceについて、ちょっぴりDiveDeepしました。 |
2023-06-06 09:08:24 |
AWS |
AWS - Japan |
第三十回 ちょっぴりDD - AWS Marketplace を活用したソフトウェアの利用と販売方法について |
https://www.youtube.com/watch?v=IPoYfWe-4UA
|
第三十回ちょっぴりDDAWSMarketplaceを活用したソフトウェアの利用と販売方法について第回年月日ちょっぴりDDでは、AmazonVPCLattice、AWSSummitTokyoやMarketplaceについて、ちょっぴりDiveDeepしました。 |
2023-06-06 09:07:01 |
AWS |
AWS - Japan |
第三十回 ちょっぴりDD - Amazon VPC Lattice × EKS で実現するアプリケーションネットワーキング |
https://www.youtube.com/watch?v=GMx397pMXsk
|
第三十回ちょっぴりDDAmazonVPCLattice×EKSで実現するアプリケーションネットワーキング第回年月日ちょっぴりDDでは、AmazonVPCLattice、AWSSummitTokyoやMarketplaceについて、ちょっぴりDiveDeepしました。 |
2023-06-06 09:05:59 |
AWS |
AWS - Japan |
第三十回 ちょっぴりDD - hacomono というバーティカル SaaS を支えるアーキテクチャとその変革 |
https://www.youtube.com/watch?v=zrS2kPZPimU
|
第三十回ちょっぴりDDhacomonoというバーティカルSaaSを支えるアーキテクチャとその変革第回年月日ちょっぴりDDでは、AmazonVPCLattice、AWSSummitTokyoやMarketplaceについて、ちょっぴりDiveDeepしました。 |
2023-06-06 09:04:30 |
AWS |
AWS - Japan |
第三十回 ちょっぴりDD - SAの今月のお勧め 5 分間アップデート |
https://www.youtube.com/watch?v=Pdy0QAoqlRo
|
第三十回ちょっぴりDDSAの今月のお勧め分間アップデート第回年月日ちょっぴりDDでは、AmazonVPCLattice、AWSSummitTokyoやMarketplaceについて、ちょっぴりDiveDeepしました。 |
2023-06-06 09:02:43 |
Ruby |
Rubyタグが付けられた新着投稿 - Qiita |
RubyでAtCoder ABC304(A, B, C)を解いてみた |
https://qiita.com/shoya15/items/c2f5d5bb961592301ae2
|
atcoder |
2023-06-06 18:34:28 |
Linux |
Ubuntuタグが付けられた新着投稿 - Qiita |
[Hyper-V]Ubuntuにログイン後、フリーズする場合の対処・回避策 |
https://qiita.com/bakuchikutt/items/19b3d58fb9f9092c8632
|
hyperv |
2023-06-06 18:46:31 |
AWS |
AWSタグが付けられた新着投稿 - Qiita |
Amazon CodeCatalystについてざっくりまとめてみる |
https://qiita.com/hot-and-cool/items/3625d719f1292bc77c67
|
amazoncodecatalyst |
2023-06-06 18:18:11 |
Docker |
dockerタグが付けられた新着投稿 - Qiita |
Next.js + Railsの開発環境をdocker-composeで構築してみる |
https://qiita.com/shinKoala99/items/5c1f21996b7f3980cc06
|
dockercompose |
2023-06-06 18:31:47 |
Ruby |
Railsタグが付けられた新着投稿 - Qiita |
Next.js + Railsの開発環境をdocker-composeで構築してみる |
https://qiita.com/shinKoala99/items/5c1f21996b7f3980cc06
|
dockercompose |
2023-06-06 18:31:47 |
技術ブログ |
Mercari Engineering Blog |
GoによるSQLクエリテストの取り組み |
https://engineering.mercari.com/blog/entry/20230605-54fdbbe550/
|
hellip |
2023-06-06 10:00:26 |
海外TECH |
MakeUseOf |
What AVerMedia's HDMI 2.1 Capture Cards Mean for Streamers |
https://www.makeuseof.com/avermedia-hdmi-2-1-capture-cards-for-streamers/
|
glory |
2023-06-06 09:35:27 |
海外TECH |
DEV Community |
How to Create a Beautiful Particle Animation with HTML Canvas |
https://dev.to/cruip_com/how-to-create-a-beautiful-particle-animation-with-html-canvas-n22
|
How to Create a Beautiful Particle Animation with HTML Canvas Live Demo Download In this tutorial we will utilize the power of HTML canvas to create a mesmerizing particle animation resembling a magnificent galaxy of stars We will delve into the development process behind Stellar our latest landing page template built with Tailwind CSS What sets this animation apart is its interactivity as the stars will gracefully respond to the movement of your mouse cursor The interaction will come alive through the magic of JavaScript allowing us to manipulate the canvas and bring our stellar vision to reality We will also demonstrate how to create components with TypeScript support for both Next js and Vue frameworks enabling you to integrate this mesmerizing animation seamlessly into your web app Quick navigationHTML VersionNextjs VersionVue Version Create an HTML canvas animation with pure JavaScriptTo make things easy and easily understandable we will start with a simple HTML document where we will reference an external JS file that will contain the code we re going to write lt DOCTYPE html gt lt html lang en gt lt head gt lt meta charset utf gt lt title gt Particle Animation lt title gt lt meta name viewport content width device width initial scale gt lt script src gt lt script gt lt head gt lt body class font inter antialiased gt lt main class relative min h screen flex flex col justify center bg slate overflow hidden gt lt div class w full max w xl mx auto px md px py gt lt Particles animation gt lt div class absolute inset pointer events none aria hidden true gt lt canvas data particle animation gt lt canvas gt lt div gt lt div gt lt main gt lt script src particle animation js gt lt script gt lt body gt lt html gt We have created a very simple structure that you can modify according to your preferences and needs Here are the important points to know in this step We have inserted a canvas tag within our HTML document which will be our reference element for creating the animation We will add the data particle animation attribute to the element which will be used to invoke the animation from our JS file It is not necessary to define the width and height of the canvas as the dimensions will be inherited via JS from the parent container which in our case is the div tag with the class absolute inset pointer events none We have inserted a script tag within our HTML document which references the JS file we will write We have used the aria hidden true attribute on the canvas container to hide the animation from screen readers as it is not relevant for accessibility purposes Create a JavaScript class for the animationNow that we have created the HTML structure we can proceed to write the JS code First let s create a new JavaScript file named particle animation js and place it in the same folder as our HTML document For our animation we want to create a JavaScript class called ParticleAnimation which we will initialize as follows new ParticleAnimation canvas options The class will accept two parameters canvas which is our HTML canvas element created in the HTML document options which we will add in a later phase is an object that will contain the options for our animationLet s create our class Particle animation class ParticleAnimation constructor el this canvas el if this canvas return this init init Initialize canvas Init ParticleAnimation const canvasElements document querySelectorAll data particle animation canvasElements forEach canvas gt new ParticleAnimation canvas We have created an init function that will be called inside the constructor of the class In this function we will define all the functionalities we need to initialize the animation Also we have created a forEach loop that allows us to initialize the class for each canvas element found in our HTML document Set the canvas sizeFirstly we need to define the dimensions of the canvas which will be inherited from its container To achieve this let s create a resizeCanvas method inside our class that will be invoked on page load and whenever the user resizes the browser window class ParticleAnimation constructor el this canvas el if this canvas return this canvasContainer this canvas parentElement this context this canvas getContext d this dpr window devicePixelRatio this canvasSize w h this initCanvas this initCanvas bind this this resizeCanvas this resizeCanvas bind this this init init this initCanvas window addEventListener resize this initCanvas initCanvas this resizeCanvas resizeCanvas this canvasSize w this canvasContainer offsetWidth this canvasSize h this canvasContainer offsetHeight this canvas width this canvasSize w this dpr this canvas height this canvasSize h this dpr this canvas style width this canvasSize w px this canvas style height this canvasSize h px this context scale this dpr this dpr The resizeCanvas method calculates the dimensions of the canvas and assigns them to the canvas itself and its container Additionally it defines the canvas scale factor which is necessary to make it sharp on high resolution screens In other words assuming that the browser window has dimensions of xpx and we are viewing the document on a retina display this function will transform our canvas element as follows lt canvas data particle animation width height style width px height px gt lt canvas gt Define the animation optionsFor our canvas we want to define some options that allow us to customize the animation To do this let s create a settings object within our constructor and define the default options constructor el quantity staticity ease this canvas el if this canvas return this canvasContainer this canvas parentElement this context this canvas getContext d this dpr window devicePixelRatio this settings quantity quantity staticity staticity ease ease this canvasSize w h this initCanvas this initCanvas bind this this resizeCanvas this resizeCanvas bind this this init The options we have defined are as follows quantity the number of particles we want to display staticity the speed of particle movement when the user moves the mouse a higher value means slower movement ease the smooth effect we want to apply to the particle movement a higher value means smoother movement Additionally let s adjust how we invoke the class by adding the options const canvasElements document querySelectorAll data particle animation canvasElements forEach canvas gt const options quantity canvas dataset particleQuantity staticity canvas dataset particleStaticity ease canvas dataset particleEase new ParticleAnimation canvas options This way we can define the options directly in our HTML document using the data attributes For example if we want to modify the number of particles we can add the data particle quantity attribute to our canvas element lt canvas data particle animation data particle quantity gt lt canvas gt In the example above we have set the number of particles to Similarly we can modify the staticity and ease options using the data particle staticity and data particle ease attributes respectively Draw the particlesIt s time to create the particles in our canvas To do this let s start by creating an empty array this circles inside our constructor This array will hold all the particles we create Next let s create a method called circleParams which will allow us to define the properties of each particle circleParams const x Math floor Math random this canvasSize w const y Math floor Math random this canvasSize h const translateX const translateY const size Math floor Math random const alpha parseFloat Math random toFixed const dx Math random const dy Math random const magnetism Math random return x y translateX translateY size alpha dx dy magnetism This function allows us to randomly define The size of the particles between and pixels in diameter The position of the particles between and the width height of the canvas The opacity of the particles between and The movement speed of the particles between and The attraction force of the particles between and These values defined as x y translateX translateY size alpha dx dy magnetism will then be passed to another function responsible for drawing the particles on the canvas This function is called drawCircle and is defined as follows drawCircle circle update false const x y translateX translateY size alpha circle this context translate translateX translateY this context beginPath this context arc x y size Math PI this context fillStyle rgba alpha this context fill this context setTransform this dpr this dpr if update this circles push circle We won t go into detail about everything this function does For now it s enough to know that this function draws a circle on the canvas using the properties we defined earlier The last step is to create a method called drawParticles which will be responsible for invoking the drawCircle function for each particle we have defined drawParticles const particleCount this settings quantity for let i i lt particleCount i const circle this circleParams this drawCircle circle At this point in the tutorial we have created a canvas and drawn static particles inside it Here s the complete code we have written so far Particle animation class ParticleAnimation constructor el quantity staticity ease this canvas el if this canvas return this canvasContainer this canvas parentElement this context this canvas getContext d this dpr window devicePixelRatio this settings quantity quantity staticity staticity ease ease this circles this canvasSize w h this initCanvas this initCanvas bind this this resizeCanvas this resizeCanvas bind this this drawCircle this drawCircle bind this this drawParticles this drawParticles bind this this init init this initCanvas window addEventListener resize this initCanvas initCanvas this resizeCanvas this drawParticles resizeCanvas this circles length this canvasSize w this canvasContainer offsetWidth this canvasSize h this canvasContainer offsetHeight this canvas width this canvasSize w this dpr this canvas height this canvasSize h this dpr this canvas style width this canvasSize w px this canvas style height this canvasSize h px this context scale this dpr this dpr circleParams const x Math floor Math random this canvasSize w const y Math floor Math random this canvasSize h const translateX const translateY const size Math floor Math random const alpha parseFloat Math random toFixed const dx Math random const dy Math random const magnetism Math random return x y translateX translateY size alpha dx dy magnetism drawCircle circle update false const x y translateX translateY size alpha circle this context translate translateX translateY this context beginPath this context arc x y size Math PI this context fillStyle rgba alpha this context fill this context setTransform this dpr this dpr if update this circles push circle drawParticles const particleCount this settings quantity for let i i lt particleCount i const circle this circleParams this drawCircle circle Init ParticleAnimation const canvasElements document querySelectorAll data particle animation canvasElements forEach canvas gt const options quantity canvas dataset particleQuantity staticity canvas dataset particleStaticity ease canvas dataset particleEase new ParticleAnimation canvas options Note that this circles length has been added inside the resizeCanvas method This allows us to empty the circles array each time the canvas is resized preventing the particle count from multiplying with each resize As we previously said the particles are currently static meaning they don t move in space and there s no interaction effect with the mouse To achieve this we need to add some more code Animate the particlesNow things get a bit more complicated but don t worry we ll explain step by step what needs to be done For the animation we will create a method called animate and we will use requestAnimationFrame inside it to execute the function at each animation frame animate Things to be done window requestAnimationFrame this animate This way the function will run in a loop and we can update the properties of the particles on each frame For each frame we need to clear the canvas first and then redraw the particles To do this let s create a new method called clearContext clearContext this context clearRect this canvasSize w this canvasSize h And let s call it inside the animate method animate this clearContext window requestAnimationFrame this animate Then let s loop through the circles array and redraw each particle on every frame animate this clearContext this circles forEach circle i gt Handle the alpha value const edge circle x circle translateX circle size distance from left edge this canvasSize w circle x circle translateX circle size distance from right edge circle y circle translateY circle size distance from top edge this canvasSize h circle y circle translateY circle size distance from bottom edge const closestEdge edge reduce a b gt Math min a b const remapClosestEdge this remapValue closestEdge toFixed if remapClosestEdge gt circle alpha if circle alpha gt circle targetAlpha circle alpha circle targetAlpha else circle alpha circle targetAlpha remapClosestEdge circle x circle dx circle y circle dy circle gets out of the canvas if circle x lt circle size circle x gt this canvasSize w circle size circle y lt circle size circle y gt this canvasSize h circle size remove the circle from the array this circles splice i create a new circle const circle this circleParams this drawCircle circle update the circle position else this drawCircle circle x circle x y circle y translateX circle translateX translateY circle translateY alpha circle alpha true window requestAnimationFrame this animate The first thing we re doing in the animate function is handling the opacity of each particle By default particles have an opacity of on page load and on each frame it increases by until it reaches the targetAlpha value Additionally we want the opacity of the particles to decrease as they get closer to the edges of the canvas So when the distance from the edge is less than px the opacity of the particle gradually starts to decrease using the remapValue function which remaps the closestEdge value from to distance from the edge to to particle opacity remapValue value start end start end const remapped value start end start end start start return remapped gt remapped In the last part of the animate method we update the position of each particle and if a particle goes outside the canvas we remove it from the circles array and create a new one If the particle is still within the canvas we redraw it using the drawCircle method Fantastic We have created an animation of particles moving in space on their own Now we want these particles to be attracted to the mouse cursor Add mouse interactionTo add mouse interaction we first need to know its coordinates relative to the canvas Let s start by adding a mouse property to the constructor which will hold the coordinates this mouse x y Next let s create an onMouseMove method that updates the coordinates when the mouse moves init this initCanvas this animate window addEventListener resize this initCanvas window addEventListener mousemove this onMouseMove Great At this point we want the particles to be attracted to the mouse While we used the x and y properties for the natural movement of the particles we ll use the translateX and translateY properties for the mouse attraction This way the particles will move independently of their natural movement and won t lose their trajectory Let s update the animate method to ensure that we update the position of each particle based on its distance from the mouse The value added or subtracted to the translateX and translateY properties will be the distance from the mouse particles closer to the mouse will move faster than those farther away Particles movement will be affected by staticity magnetism and ease parameters too circle translateX this mouse x this settings staticity circle magnetism circle translateX this settings ease circle translateY this mouse y this settings staticity circle magnetism circle translateY this settings ease Reassembling the codeAnd here is the final JS code for our canvas animation Particle animation class ParticleAnimation constructor el quantity staticity ease this canvas el if this canvas return this canvasContainer this canvas parentElement this context this canvas getContext d this dpr window devicePixelRatio this settings quantity quantity staticity staticity ease ease this circles this mouse x y this canvasSize w h this onMouseMove this onMouseMove bind this this initCanvas this initCanvas bind this this resizeCanvas this resizeCanvas bind this this drawCircle this drawCircle bind this this drawParticles this drawParticles bind this this remapValue this remapValue bind this this animate this animate bind this this init init this initCanvas this animate window addEventListener resize this initCanvas window addEventListener mousemove this onMouseMove initCanvas this resizeCanvas this drawParticles onMouseMove event const clientX clientY event const rect this canvas getBoundingClientRect const w h this canvasSize const x clientX rect left w const y clientY rect top h const inside x lt w amp amp x gt w amp amp y lt h amp amp y gt h if inside this mouse x x this mouse y y resizeCanvas this circles length this canvasSize w this canvasContainer offsetWidth this canvasSize h this canvasContainer offsetHeight this canvas width this canvasSize w this dpr this canvas height this canvasSize h this dpr this canvas style width this canvasSize w px this canvas style height this canvasSize h px this context scale this dpr this dpr circleParams const x Math floor Math random this canvasSize w const y Math floor Math random this canvasSize h const translateX const translateY const size Math floor Math random const alpha const targetAlpha parseFloat Math random toFixed const dx Math random const dy Math random const magnetism Math random return x y translateX translateY size alpha targetAlpha dx dy magnetism drawCircle circle update false const x y translateX translateY size alpha circle this context translate translateX translateY this context beginPath this context arc x y size Math PI this context fillStyle rgba alpha this context fill this context setTransform this dpr this dpr if update this circles push circle clearContext this context clearRect this canvasSize w this canvasSize h drawParticles this clearContext const particleCount this settings quantity for let i i lt particleCount i const circle this circleParams this drawCircle circle This function remaps a value from one range to another range remapValue value start end start end const remapped value start end start end start start return remapped gt remapped animate this clearContext this circles forEach circle i gt Handle the alpha value const edge circle x circle translateX circle size distance from left edge this canvasSize w circle x circle translateX circle size distance from right edge circle y circle translateY circle size distance from top edge this canvasSize h circle y circle translateY circle size distance from bottom edge const closestEdge edge reduce a b gt Math min a b const remapClosestEdge this remapValue closestEdge toFixed if remapClosestEdge gt circle alpha if circle alpha gt circle targetAlpha circle alpha circle targetAlpha else circle alpha circle targetAlpha remapClosestEdge circle x circle dx circle y circle dy circle translateX this mouse x this settings staticity circle magnetism circle translateX this settings ease circle translateY this mouse y this settings staticity circle magnetism circle translateY this settings ease circle gets out of the canvas if circle x lt circle size circle x gt this canvasSize w circle size circle y lt circle size circle y gt this canvasSize h circle size remove the circle from the array this circles splice i create a new circle const circle this circleParams this drawCircle circle update the circle position else this drawCircle circle x circle x y circle y translateX circle translateX translateY circle translateY alpha circle alpha true window requestAnimationFrame this animate Init ParticleAnimation const canvasElements document querySelectorAll data particle animation canvasElements forEach canvas gt const options quantity canvas dataset particleQuantity staticity canvas dataset particleStaticity ease canvas dataset particleEase new ParticleAnimation canvas options As previously mentioned you just need to include the above code in a JavaScript file and include it in your project Then you can use particle animations anywhere on the HTML page by simply adding a data particle animation attribute to the canvas tag and optionally specifying other desired parameters For example lt canvas data particle animation data particle quantity data particle staticity data particle ease gt lt canvas gt The above code will create a canvas element with a particle animation that will have particles a staticity of and an ease of Create a Next js particle animation componentNow let s see how to create a React component for this particle animation that can be used in a Next js app We want to create a component that integrates the JavaScript functionality but with TypeScript support and is reusable allowing optional parameters to be passed as props The component we are about to build is available in our GitHub repository that collects all Next js tutorials Create the component structureCreate a new file called particles tsx in the components folder of our Next js project Let s set up the structure where we will later insert the code created in the previous sections use client import React useRef useEffect from react interface ParticlesProps className string quantity number staticity number ease number export default function Particles className quantity staticity ease ParticlesProps const canvasRef useRef lt HTMLCanvasElement gt null const canvasContainerRef useRef lt HTMLDivElement gt null const context useRef lt CanvasRenderingContextD null gt null const circles useRef lt any gt const mouse useRef lt x number y number gt x y const canvasSize useRef lt w number h number gt w h const dpr typeof window undefined window devicePixelRatio return lt div className className ref canvasContainerRef aria hidden true gt lt canvas ref canvasRef gt lt div gt The important things to note in this first step are as follows We have defined the props that the component accepts className quantity staticity and ease with default values We have defined the same const variables that we used in the JavaScript code with useRef Since we are using TypeScript we have defined an interface for the props to provide type checking The component returns not only the canvas but also the wrapping lt div gt element from which it inherits the dimensions and to which we can pass desired CSS classes Create a new component for mouse position trackingTo obtain the mouse position within the client we will create a new component specifically designed to return the mouse coordinates This component will enhance modularity and reusability Let s create a new file called mouse position tsx and insert the following code import useState useEffect from react interface MousePosition x number y number export default function useMousePosition MousePosition const mousePosition setMousePosition useState lt MousePosition gt x y useEffect gt const handleMouseMove event MouseEvent gt setMousePosition x event clientX y event clientY window addEventListener mousemove handleMouseMove return gt window removeEventListener mousemove handleMouseMove return mousePosition This component is very simple but quite useful Essentially whenever the mouse moves within the client the component returns the mouse coordinates Additionally the component takes care of removing the event listener when unmounted Once we import the MousePosition component into our Particles component using import MousePosition from utils mouse position we can define a new constant variable that will hold the mouse coordinates We can then use this variable as a dependency in the watch function that executes the onMouseMove function In simpler terms the onMouseMove function will be executed every time the mouse moves const mousePosition MousePosition useEffect gt onMouseMove mousePosition x mousePosition y Add the component logicLet s proceed with adding the previously defined methods from the JavaScript class to the component It s a simple copy and paste but with some modifications For example in the React component each function is defined as a const variable instead of a class method We have also added TypeScript annotations const initCanvas gt resizeCanvas drawParticles const onMouseMove gt if canvasRef current const rect canvasRef current getBoundingClientRect const w h canvasSize current const x mousePosition x rect left w const y mousePosition y rect top h const inside x lt w amp amp x gt w amp amp y lt h amp amp y gt h if inside mouse current x x mouse current y y const resizeCanvas gt if canvasContainerRef current amp amp canvasRef current amp amp context current circles current length canvasSize current w canvasContainerRef current offsetWidth canvasSize current h canvasContainerRef current offsetHeight canvasRef current width canvasSize current w dpr canvasRef current height canvasSize current h dpr canvasRef current style width canvasSize current w px canvasRef current style height canvasSize current h px context current scale dpr dpr type Circle x number y number translateX number translateY number size number alpha number targetAlpha number dx number dy number magnetism number const circleParams Circle gt const x Math floor Math random canvasSize current w const y Math floor Math random canvasSize current h const translateX const translateY const size Math floor Math random const alpha const targetAlpha parseFloat Math random toFixed const dx Math random const dy Math random const magnetism Math random return x y translateX translateY size alpha targetAlpha dx dy magnetism const drawCircle circle Circle update false gt if context current const x y translateX translateY size alpha circle context current translate translateX translateY context current beginPath context current arc x y size Math PI context current fillStyle rgba alpha context current fill context current setTransform dpr dpr if update circles current push circle const clearContext gt if context current context current clearRect canvasSize current w canvasSize current h const drawParticles gt clearContext const particleCount quantity for let i i lt particleCount i const circle circleParams drawCircle circle const remapValue value number start number end number start number end number number gt const remapped value start end start end start start return remapped gt remapped const animate gt clearContext circles current forEach circle Circle i number gt Handle the alpha value const edge circle x circle translateX circle size distance from left edge canvasSize current w circle x circle translateX circle size distance from right edge circle y circle translateY circle size distance from top edge canvasSize current h circle y circle translateY circle size distance from bottom edge const closestEdge edge reduce a b gt Math min a b const remapClosestEdge parseFloat remapValue closestEdge toFixed if remapClosestEdge gt circle alpha if circle alpha gt circle targetAlpha circle alpha circle targetAlpha else circle alpha circle targetAlpha remapClosestEdge circle x circle dx circle y circle dy circle translateX mouse current x staticity circle magnetism circle translateX ease circle translateY mouse current y staticity circle magnetism circle translateY ease circle gets out of the canvas if circle x lt circle size circle x gt canvasSize current w circle size circle y lt circle size circle y gt canvasSize current h circle size remove the circle from the array circles current splice i create a new circle const newCircle circleParams drawCircle newCircle update the circle position else drawCircle circle x circle x y circle y translateX circle translateX translateY circle translateY alpha circle alpha true window requestAnimationFrame animate Finally we use the useEffect hook to initialize the canvas animate it and update it whenever the window size changes useEffect gt if canvasRef current context current canvasRef current getContext d initCanvas animate window addEventListener resize initCanvas return gt window removeEventListener resize initCanvas Great the Next js component is complete Here s how it looks use client import React useRef useEffect from react import MousePosition from utils mouse position interface ParticlesProps className string quantity number staticity number ease number export default function Particles className quantity staticity ease ParticlesProps const canvasRef useRef lt HTMLCanvasElement gt null const canvasContainerRef useRef lt HTMLDivElement gt null const context useRef lt CanvasRenderingContextD null gt null const circles useRef lt any gt const mousePosition MousePosition const mouse useRef lt x number y number gt x y const canvasSize useRef lt w number h number gt w h const dpr typeof window undefined window devicePixelRatio useEffect gt if canvasRef current context current canvasRef current getContext d initCanvas animate window addEventListener resize initCanvas return gt window removeEventListener resize initCanvas useEffect gt onMouseMove mousePosition x mousePosition y const initCanvas gt resizeCanvas drawParticles const onMouseMove gt if canvasRef current const rect canvasRef current getBoundingClientRect const w h canvasSize current const x mousePosition x rect left w const y mousePosition y rect top h const inside x lt w amp amp x gt w amp amp y lt h amp amp y gt h if inside mouse current x x mouse current y y const resizeCanvas gt if canvasContainerRef current amp amp canvasRef current amp amp context current circles current length canvasSize current w canvasContainerRef current offsetWidth canvasSize current h canvasContainerRef current offsetHeight canvasRef current width canvasSize current w dpr canvasRef current height canvasSize current h dpr canvasRef current style width canvasSize current w px canvasRef current style height canvasSize current h px context current scale dpr dpr type Circle x number y number translateX number translateY number size number alpha number targetAlpha number dx number dy number magnetism number const circleParams Circle gt const x Math floor Math random canvasSize current w const y Math floor Math random canvasSize current h const translateX const translateY const size Math floor Math random const alpha const targetAlpha parseFloat Math random toFixed const dx Math random const dy Math random const magnetism Math random return x y translateX translateY size alpha targetAlpha dx dy magnetism const drawCircle circle Circle update false gt if context current const x y translateX translateY size alpha circle context current translate translateX translateY context current beginPath context current arc x y size Math PI context current fillStyle rgba alpha context current fill context current setTransform dpr dpr if update circles current push circle const clearContext gt if context current context current clearRect canvasSize current w canvasSize current h const drawParticles gt clearContext const particleCount quantity for let i i lt particleCount i const circle circleParams drawCircle circle const remapValue value number start number end number start number end number number gt const remapped value start end start end start start return remapped gt remapped const animate gt clearContext circles current forEach circle Circle i number gt Handle the alpha value const edge circle x circle translateX circle size distance from left edge canvasSize current w circle x circle translateX circle size distance from right edge circle y circle translateY circle size distance from top edge canvasSize current h circle y circle translateY circle size distance from bottom edge const closestEdge edge reduce a b gt Math min a b const remapClosestEdge parseFloat remapValue closestEdge toFixed if remapClosestEdge gt circle alpha if circle alpha gt circle targetAlpha circle alpha circle targetAlpha else circle alpha circle targetAlpha remapClosestEdge circle x circle dx circle y circle dy circle translateX mouse current x staticity circle magnetism circle translateX ease circle translateY mouse current y staticity circle magnetism circle translateY ease circle gets out of the canvas if circle x lt circle size circle x gt canvasSize current w circle size circle y lt circle size circle y gt canvasSize current h circle size remove the circle from the array circles current splice i create a new circle const newCircle circleParams drawCircle newCircle update the circle position else drawCircle circle x circle x y circle y translateX circle translateX translateY circle translateY alpha circle alpha true window requestAnimationFrame animate return lt div className className ref canvasContainerRef aria hidden true gt lt canvas ref canvasRef gt lt div gt You can import and use it like a regular React component For example lt Particles className absolute inset pointer events none quantity gt Creating a similar component for VueLet s now see how we can create a perfect clone of the Next js component for Vue First let s create a new Vue component The component we are about to create is available in our GitHub repository which includes all the examples from the Cruip tutorials Vue component setupWe will be using the Composition API script setup syntax and TypeScript So create a file called Particles vue and set up the component structure as follows lt script setup lang ts gt import ref onMounted onBeforeUnmount reactive watch from vue const canvasRef ref lt HTMLCanvasElement null gt null const canvasContainerRef ref lt HTMLDivElement null gt null const context ref lt CanvasRenderingContextD null gt null const circles ref lt any gt const mouse reactive lt x number y number gt x y const canvasSize reactive lt w number h number gt w h const dpr window devicePixelRatio interface Props quantity number staticity number ease number const props withDefaults defineProps lt Props gt quantity staticity ease lt script gt lt template gt lt div ref canvasContainerRef aria hidden true gt lt canvas ref canvasRef gt lt canvas gt lt div gt lt template gt As in the React version we have created a functional component that accepts the props quantity staticity and ease We have also defined the same const variables used in the JavaScript code but in this case we have defined them as ref variables so that we can use them within the Vue component Create a helper function for mouse trackingWe don t have to come up with anything new We can simply adapt the code from the React component to create a Vue component that allows us to track the mouse movement Let s create a new file called MousePosition ts and copy the following code into it import ref onMounted onBeforeUnmount from vue export default function useMousePosition const mousePosition ref lt x number y number gt x y const handleMouseMove event MouseEvent gt mousePosition value x event clientX y event clientY onMounted gt window addEventListener mousemove handleMouseMove onBeforeUnmount gt window removeEventListener mousemove handleMouseMove return mousePosition This component can be imported in Particles vue and used to trigger other functions whenever the mouse moves using a watcher For example import useMousePosition from utils MousePosition const mousePosition useMousePosition watch gt mousePosition value gt onMouseMove Complete the Vue ComponentNow we just need to complete the Vue component by adding the functions with TypeScript annotations const initCanvas gt resizeCanvas drawParticles const onMouseMove gt if canvasRef value const rect canvasRef value getBoundingClientRect const w h canvasSize const x mousePosition value x rect left w const y mousePosition value y rect top h const inside x lt w amp amp x gt w amp amp y lt h amp amp y gt h if inside mouse x x mouse y y const resizeCanvas gt if canvasContainerRef value amp amp canvasRef value amp amp context value circles value length canvasSize w canvasContainerRef value offsetWidth canvasSize h canvasContainerRef value offsetHeight canvasRef value width canvasSize w dpr canvasRef value height canvasSize h dpr canvasRef value style width canvasSize w px canvasRef value style height canvasSize h px context value scale dpr dpr type Circle x number y number translateX number translateY number size number alpha number targetAlpha number dx number dy number magnetism number const circleParams Circle gt const x Math floor Math random canvasSize w const y Math floor Math random canvasSize h const translateX const translateY const size Math floor Math random const alpha const targetAlpha parseFloat Math random toFixed const dx Math random const dy Math random const magnetism Math random return x y translateX translateY size alpha targetAlpha dx dy magnetism const drawCircle circle Circle update false gt if context value const x y translateX translateY size alpha circle context value translate translateX translateY context value beginPath context value arc x y size Math PI context value fillStyle rgba alpha context value fill context value setTransform dpr dpr if update circles value push circle const clearContext gt if context value context value clearRect canvasSize w canvasSize h const drawParticles gt clearContext const particleCount props quantity for let i i lt particleCount i const circle circleParams drawCircle circle const remapValue value number start number end number start number end number number gt const remapped value start end start end start start return remapped gt remapped const animate gt clearContext circles value forEach circle i gt Handle the alpha value const edge circle x circle translateX circle size distance from left edge canvasSize w circle x circle translateX circle size distance from right edge circle y circle translateY circle size distance from top edge canvasSize h circle y circle translateY circle size distance from bottom edge const closestEdge edge reduce a b gt Math min a b const remapClosestEdge parseFloat remapValue closestEdge toFixed if remapClosestEdge gt circle alpha if circle alpha gt circle targetAlpha circle alpha circle targetAlpha else circle alpha circle targetAlpha remapClosestEdge circle x circle dx circle y circle dy circle translateX mouse x props staticity circle magnetism circle translateX props ease circle translateY mouse y props staticity circle magnetism circle translateY props ease circle gets out of the canvas if circle x lt circle size circle x gt canvasSize w circle size circle y lt circle size circle y gt canvasSize h circle size remove the circle from the array circles value splice i create a new circle const newCircle circleParams drawCircle newCircle update the circle position else drawCircle circle x circle x y circle y translateX circle translateX translateY circle translateY alpha circle alpha true window requestAnimationFrame animate And finally the onMounted hook to initialize the canvas and the animate function to start the animation onMounted gt if canvasRef value context value canvasRef value getContext d initCanvas animate window addEventListener resize initCanvas onBeforeUnmount gt window removeEventListener resize initCanvas The Vue component is also ready and here is the complete code lt script setup lang ts gt import ref onMounted onBeforeUnmount reactive watch from vue import useMousePosition from utils MousePosition const canvasRef ref lt HTMLCanvasElement null gt null const canvasContainerRef ref lt HTMLDivElement null gt null const context ref lt CanvasRenderingContextD null gt null const circles ref lt any gt const mousePosition useMousePosition const mouse reactive lt x number y number gt x y const canvasSize reactive lt w number h number gt w h const dpr window devicePixelRatio onMounted gt if canvasRef value context value canvasRef value getContext d initCanvas animate window addEventListener resize initCanvas onBeforeUnmount gt window removeEventListener resize initCanvas watch gt mousePosition value gt onMouseMove const initCanvas gt resizeCanvas drawParticles const onMouseMove gt if canvasRef value const rect canvasRef value getBoundingClientRect const w h canvasSize const x mousePosition value x rect left w const y mousePosition value y rect top h const inside x lt w amp amp x gt w amp amp y lt h amp amp y gt h if inside mouse x x mouse y y const resizeCanvas gt if canvasContainerRef value amp amp canvasRef value amp amp context value circles value length canvasSize w canvasContainerRef value offsetWidth canvasSize h canvasContainerRef value offsetHeight canvasRef value width canvasSize w dpr canvasRef value height canvasSize h dpr canvasRef value style width canvasSize w px canvasRef value style height canvasSize h px context value scale dpr dpr type Circle x number y number translateX number translateY number size number alpha number targetAlpha number dx number dy number magnetism number const circleParams Circle gt const x Math floor Math random canvasSize w const y Math floor Math random canvasSize h const translateX const translateY const size Math floor Math random const alpha const targetAlpha parseFloat Math random toFixed const dx Math random const dy Math random const magnetism Math random return x y translateX translateY size alpha targetAlpha dx dy magnetism const drawCircle circle Circle update false gt if context value const x y translateX translateY size alpha circle context value translate translateX translateY context value beginPath context value arc x y size Math PI context value fillStyle rgba alpha context value fill context value setTransform dpr dpr if update circles value push circle const clearContext gt if context value context value clearRect canvasSize w canvasSize h const drawParticles gt clearContext const particleCount props quantity for let i i lt particleCount i const circle circleParams drawCircle circle const remapValue value number start number end number start number end number number gt const remapped value start end start end start start return remapped gt remapped const animate gt clearContext circles value forEach circle i gt Handle the alpha value const edge circle x circle translateX circle size distance from left edge canvasSize w circle x circle translateX circle size distance from right edge circle y circle translateY circle size distance from top edge canvasSize h circle y circle translateY circle size distance from bottom edge const closestEdge edge reduce a b gt Math min a b const remapClosestEdge parseFloat remapValue closestEdge toFixed if remapClosestEdge gt circle alpha if circle alpha gt circle targetAlpha circle alpha circle targetAlpha else circle alpha circle targetAlpha remapClosestEdge circle x circle dx circle y circle dy circle translateX mouse x props staticity circle magnetism circle translateX props ease circle translateY mouse y props staticity circle magnetism circle translateY props ease circle gets out of the canvas if circle x lt circle size circle x gt canvasSize w circle size circle y lt circle size circle y gt canvasSize h circle size remove the circle from the array circles value splice i create a new circle const newCircle circleParams drawCircle newCircle update the circle position else drawCircle circle x circle x y circle y translateX circle translateX translateY circle translateY alpha circle alpha true window requestAnimationFrame animate interface Props quantity number staticity number ease number const props withDefaults defineProps lt Props gt quantity staticity ease lt script gt lt template gt lt div ref canvasContainerRef aria hidden true gt lt canvas ref canvasRef gt lt canvas gt lt div gt lt template gt You can import and use it as a regular Vue component For example lt Particles class absolute inset pointer events none quantity gt We have reached the end of this tutorial We hope you ve found it helpful and have got a clear idea of how to apply this fantastic effect to your layouts to impress your visitors and add dynamism to your designs Remember that in our tutorial we applied this effect to a hero section but feel free to get creative and replicate it anywhere else in your apps websites and landing pages If you enjoyed the tutorial don t forget to check out the other Tailwind CSS tutorials on our website and tag or mention us if you share our content on Twitter |
2023-06-06 09:34:38 |
海外TECH |
DEV Community |
Toxic Work environment |
https://dev.to/kristiyan_velkov/toxic-work-environment-3jc8
|
Toxic Work environment What is a toxic work environment When hostile bullying or other unpleasant behavior is ingrained in the workplace s culture it is said to be toxic Employees are under stress communication is hindered there is a prevalent blaming culture and bad attitudes and behavior are encouraged subtly or overtly in toxic work environments Signs of a toxic work environment may include Lack of support When managers or coworkers fail to offer sufficient support employees may experience emotions of loneliness and discouragement High levels of stress A stressful environment is a result of ongoing pressure improbable deadlines and excessive workloads Negative communication A toxic environment is fostered by management or coworkers who frequently criticize minimize or act disrespectfully Lack of trust Tension arises and collaboration is hampered when there is a lack of trust between team members or between employees and management Favoritism or discrimination Favoritism or discrimination can lead to an unfavorable work environment where certain employees feel sidelined or devalued A lack of work life balance When job obligations routinely interfere with personal time it can cause burnout and employee discontent High turnover rates If a lot of employees are frequently departing the organization it can be a sign that there are problems with the working environment If you find yourself in a toxic work environment it s essential to take steps to protect your well being Record incidents Keep a log of any occurrences of abusive or poisonous conduct including the dates times and details of what happened Seek support Share your experiences and feelings with close friends family members or trusted coworkers They could provide guidance and help Speak with management If it makes you feel more at ease discuss your worries with your supervisor or the HR division Give particular examples and if you can offer remedies Exercise self care Take part in leisure activities that will help you unwind and lower your stress levels Put your healthーboth physical and mentalーfirst Establish limits To maintain a healthy balance and safeguard your needs establish distinct boundaries between your job and personal lives Consider other options If the situation doesn t get better or gets too bad think about looking for a new job or moving to a different department within the organization Remember that every situation is unique and it s important to prioritize your well being If you are facing severe or ongoing mistreatment consider seeking legal advice or contacting relevant authorities to address the situation appropriately If you like my work and want to support me to work hard please donate via Revolut website payment or use the QR code above Thanks a bunch for supporting me It means a LOT |
2023-06-06 09:02:55 |
海外TECH |
Engadget |
Twitter's ad sales have reportedly dropped by 59 percent since last year |
https://www.engadget.com/twitters-ad-sales-have-reportedly-dropped-by-59-percent-since-last-year-092543851.html?src=rss
|
Twitter x s ad sales have reportedly dropped by percent since last yearTwitter s advertising revenue is down percent during a five week stretch between April st and early May compared to the same period last year The New York Times has reported It regularly falls short of sales projections and things aren t likely to change soon apparently despite the arrival of new CEO Linda Yaccarino according to Twitter employees and documents seen by the NYT nbsp Musk previously said that Twitter was on track to post billion in revenue compared to billion in Last March he stated Twitter was worth billion less than half the billion he paid for it In a Twitter Space last week Musk said half our advertising disappeared blaming advertisers in Europe and North America who have put extreme pressure on the company They are trying to drive Twitter bankrupt he added However Twitter s ad sales staff is worried that advertisers have been scared off by a rise in hate speech and pornography along with a surfeit of ads for things like online gambling and marijuana products Since Musk took over Twitter he has taken actions like firing key sales executives and reinstating banned users That prompted ad agencies and brands including GM and Volkswagen to pause ad spending nbsp Other advertisers including Apple Amazon and Disney have reportedly been spending less on advertising than last year employees told the NYT It cited an example of large banner ads used to promote things like events or new movies that can cost up to for hours going unsold Six agencies said clients have limited ad spending on Twitter over inconsistent support confusion over changes and the presence of misinformation and toxic content They re also concerned about Musk s tweets like one that compared billion George Soros ーa frequent target of antisemites ーto X Men comic book villain Magneto Earlier this month Twitter head of safety and content moderation Ella Irwin left the company after the person previously in that role Yoel Roth departed in November of It s not all bad news though as some large media buyers have recently advised clients to return to Twitter the report states When Linda Yaccarino was appointed CEO last month Musk said that she ll focus primarily on business operations while I focus on product design and new technology She may also be able to help Twitter smooth over troubled relationships with advertisers and resolve issues around moderation for hate speech pornography and more nbsp For a period we weren t even sure who to get on the phone with to talk to one media exec told the NYT With Linda coming in that could change that in a big way At the same time he acknowledged that it may be a tall order for Yaccarino to deal with the volatile environment Musk has created This article originally appeared on Engadget at |
2023-06-06 09:25:43 |
海外TECH |
WIRED |
Spoutible's Low-Budget, Audacious Quest to Be the Next Twitter |
https://www.wired.com/story/christopher-bouzy-spoutible-race-to-unseat-twitter/
|
Spoutible x s Low Budget Audacious Quest to Be the Next TwitterWhen Elon Musk s reign of toxic chaos began Christopher Bouzy didn t just go looking for a rival place to post He joined the crowded race to create one It got difficult |
2023-06-06 10:00:00 |
海外TECH |
WIRED |
People Let a Startup Put a Brain Implant in Their Skulls—for 15 Minutes |
https://www.wired.com/story/precision-neuroscience-brain-implant/
|
People Let a Startup Put a Brain Implant in Their Skullsーfor MinutesPrecision Neuroscience s brain computer interface sits on top of the brain not in it That could make it easier to implant and less likely to damage tissue |
2023-06-06 10:00:00 |
医療系 |
医療介護 CBnews |
エーザイがランサムウェア被害-情報流出は「調査中」 |
https://www.cbnews.jp/news/entry/20230606185031
|
情報流出 |
2023-06-06 18:45:00 |
金融 |
金融庁ホームページ |
「デジタル・分散型金融への対応のあり方等に関する研究会」(第11回)議事次第を公表しました。 |
https://www.fsa.go.jp/singi/digital/siryou/20230606.html
|
Detail Nothing |
2023-06-06 09:30:00 |
海外ニュース |
Japan Times latest articles |
CDP submits censure motion in bid to delay immigration bill |
https://www.japantimes.co.jp/news/2023/06/06/national/politics-diplomacy/cdp-censure-motion-immigration-bill/
|
coalition |
2023-06-06 18:25:03 |
海外ニュース |
Japan Times latest articles |
Abrupt closure of upscale Tokyo international preschool stuns parents |
https://www.japantimes.co.jp/news/2023/06/06/national/chateau-school-closure-controversy/
|
Abrupt closure of upscale Tokyo international preschool stuns parentsParents have been left to deal with the fallout of a dispute between the Chateau School s owner and the landlord of its building in ritzy |
2023-06-06 18:19:23 |
海外ニュース |
Japan Times latest articles |
Injury-hit Nishioka exits French Open with loss to Etcheverry |
https://www.japantimes.co.jp/sports/2023/06/06/tennis/nishioka-french-open-exit/
|
Injury hit Nishioka exits French Open with loss to EtcheverryThe No seed from Japan aggravated a groin strain during a tough first set tiebreak loss before limping through the second and third sets |
2023-06-06 18:05:34 |
海外ニュース |
Japan Times latest articles |
Saudi Arabia’s solo oil production cut is a risky strategy |
https://www.japantimes.co.jp/opinion/2023/06/06/commentary/world-commentary/saudi-arabia-oil/
|
crude |
2023-06-06 18:01:38 |
ニュース |
BBC News - Home |
Gonorrhoea and syphilis sex infections reach record levels in England |
https://www.bbc.co.uk/news/health-65810160?at_medium=RSS&at_campaign=KARANGA
|
englandthere |
2023-06-06 09:39:55 |
ニュース |
BBC News - Home |
Paul Oakenfold: DJ denies sexual harassment claim |
https://www.bbc.co.uk/news/entertainment-arts-65818563?at_medium=RSS&at_campaign=KARANGA
|
rights |
2023-06-06 09:19:41 |
ニュース |
BBC News - Home |
New Tottenham manager: Ange Postecoglou named Spurs boss |
https://www.bbc.co.uk/sport/football/65819185?at_medium=RSS&at_campaign=KARANGA
|
New Tottenham manager Ange Postecoglou named Spurs bossTottenham confirm the appointment of Ange Postecoglou as their new manager with the Australian leaving Celtic to take over at the Premier League club |
2023-06-06 09:46:36 |
ニュース |
BBC News - Home |
Ukraine war: What we know about Kakhovka dam attack |
https://www.bbc.co.uk/news/world-europe-65818705?at_medium=RSS&at_campaign=KARANGA
|
kherson |
2023-06-06 09:24:49 |
ビジネス |
不景気.com |
福岡の酒類卸「原武商店」が自己破産申請、負債33億円 - 不景気com |
https://www.fukeiki.com/2023/06/haratake.html
|
原武商店 |
2023-06-06 09:07:24 |
GCP |
Google Cloud Platform Japan 公式ブログ |
Cloud Run でサイドカーのデプロイが可能に - モニタリング エージェントやプロキシなどに最適 |
https://cloud.google.com/blog/ja/products/serverless/cloud-run-now-supports-multi-container-deployments/
|
アプリケーションのモニタリング、ロギング、トレーシングを行うアプリケーションコンテナの前面でNginx、Envoy、またはApacheをプロキシとして使用する認証や承認用のフィルタを追加する例OpenPolicyAgentアウトバウンド接続用のプロキシを実行するAlloyDBAuthプロキシなど同じインスタンス内のコンテナはすべて同じネットワーク名前空間を共有し、「localhostport」という形式で互いに通信できますポートには、各コンテナがリッスンしているポート番号を指定します。 |
2023-06-06 09:50:00 |
GCP |
Google Cloud Platform Japan 公式ブログ |
Google Cloud 上の Confluent Cloud と Neo4j でグラフデータをストリーミング配信する |
https://cloud.google.com/blog/ja/products/data-analytics/keep-graph-data-updated-on-google-cloud-using-confluent--neo4j/
|
confluentapikeycreateresourcelkcrrzここで、以下を実行して、このクラスタでメッセージを生成使用するためのトピックを作成しましょう。 |
2023-06-06 09:40:00 |
GCP |
Google Cloud Platform Japan 公式ブログ |
画像で学ぶ: メディア企業がクラウドベースの NFS キャッシュを使用して高速かつ低コストでレンダリングする方法 |
https://cloud.google.com/blog/ja/products/media-entertainment/gunpowder-uses-knfsd-caching-to-help-media-customers-use-cloud/
|
これまで、クラウドを使用して既存のコンピューティングをスケールしたいケースでは、GoogleCloudで稼働している「レンダリングワーカー」がオンプレミスのNFSファイルサーバーをマウントし、そこから直接ファイルを読み取っていました。 |
2023-06-06 09:30:00 |
GCP |
Google Cloud Platform Japan 公式ブログ |
新しいフロンティア: 量的調査とリスク シミュレーションのためのハイ パフォーマンス コンピューティング |
https://cloud.google.com/blog/ja/topics/financial-services/hpc-for-quant-research-and-risk-simulation/
|
代替のデータソースが増加し、「クオンタメンタル戦略」が普及した結果、資産運用会社は、信頼性が高くスケーラブルなストレージ、コンピューティングリソース、MLなど、アナリストのワークロードを処理するHPCの利用にますます依存するようになっています。 |
2023-06-06 09:20:00 |
GCP |
Google Cloud Platform Japan 公式ブログ |
複数の VPC なしでネットワーク仮想アプライアンス(NVA)をデプロイする - 技術詳解 |
https://cloud.google.com/blog/ja/products/networking/policy-based-routing-network-patterns-for-virtual-appliances/
|
このようにすると、このポリシーベースルートが適用されているインスタンスから送信されたすべてのトラフィックが内部TCPUDPロードバランサに送られることに留意してください。 |
2023-06-06 09:10:00 |
ニュース |
Newsweek |
ウナギ10人前が61%オフ...牛めし・カレー32食セットは57%オフ...松屋の食品がお買い得!【Amazon タイムセール】 |
https://www.newsweekjapan.jp/stories/world/2023/06/10613257.php
|
ウナギ人前がオフ牛めし・カレー食セットはオフ松屋の食品がお買い得【Amazonタイムセール】人気商品が日替わりで登場するAmazon「タイムセール」。 |
2023-06-06 18:50:00 |
ニュース |
Newsweek |
「銀行らしさ」からどう脱却するか...堅い銀行でイノベーションを実現させた「みんなの銀行」に学ぶ |
https://www.newsweekjapan.jp/stories/business/2023/06/post-101797.php
|
失敗とはほとんどの場合、成功が何であるかを会得していくプロセスである」と語っていたことと同じですね。 |
2023-06-06 18:09:00 |
ニュース |
Newsweek |
プーチンはもうロシア軍の惨状を知らされていない!? |
https://www.newsweekjapan.jp/stories/world/2023/06/post-101825.php
|
|
2023-06-06 18:00:53 |
IT |
週刊アスキー |
PayPay、QRコード認証によるアカウントの引継ぎに対応。セキュリティーを強化 |
https://weekly.ascii.jp/elem/000/004/139/4139812/
|
paypay |
2023-06-06 18:30:00 |
IT |
週刊アスキー |
Pinterest、コラージュやデジタルアートが表現できるアプリ「Shuffles」を日本でも展開開始 |
https://weekly.ascii.jp/elem/000/004/139/4139814/
|
pinterest |
2023-06-06 18:30:00 |
海外TECH |
reddit |
【角煮R】ついに来たApple Vision Proは「なんとかR」じゃなくて「空間コンピューター」だった |
https://www.reddit.com/r/newsokunomoral/comments/1429pw7/角煮rついに来たapple_vision_proはなんとかrじゃなくて空間コンピューターだった/
|
ewsokunomorallinkcomments |
2023-06-06 09:08:20 |
GCP |
Cloud Blog JA |
Cloud Run でサイドカーのデプロイが可能に - モニタリング エージェントやプロキシなどに最適 |
https://cloud.google.com/blog/ja/products/serverless/cloud-run-now-supports-multi-container-deployments/
|
アプリケーションのモニタリング、ロギング、トレーシングを行うアプリケーションコンテナの前面でNginx、Envoy、またはApacheをプロキシとして使用する認証や承認用のフィルタを追加する例OpenPolicyAgentアウトバウンド接続用のプロキシを実行するAlloyDBAuthプロキシなど同じインスタンス内のコンテナはすべて同じネットワーク名前空間を共有し、「localhostport」という形式で互いに通信できますポートには、各コンテナがリッスンしているポート番号を指定します。 |
2023-06-06 09:50:00 |
GCP |
Cloud Blog JA |
Google Cloud 上の Confluent Cloud と Neo4j でグラフデータをストリーミング配信する |
https://cloud.google.com/blog/ja/products/data-analytics/keep-graph-data-updated-on-google-cloud-using-confluent--neo4j/
|
confluentapikeycreateresourcelkcrrzここで、以下を実行して、このクラスタでメッセージを生成使用するためのトピックを作成しましょう。 |
2023-06-06 09:40:00 |
GCP |
Cloud Blog JA |
画像で学ぶ: メディア企業がクラウドベースの NFS キャッシュを使用して高速かつ低コストでレンダリングする方法 |
https://cloud.google.com/blog/ja/products/media-entertainment/gunpowder-uses-knfsd-caching-to-help-media-customers-use-cloud/
|
これまで、クラウドを使用して既存のコンピューティングをスケールしたいケースでは、GoogleCloudで稼働している「レンダリングワーカー」がオンプレミスのNFSファイルサーバーをマウントし、そこから直接ファイルを読み取っていました。 |
2023-06-06 09:30:00 |
GCP |
Cloud Blog JA |
新しいフロンティア: 量的調査とリスク シミュレーションのためのハイ パフォーマンス コンピューティング |
https://cloud.google.com/blog/ja/topics/financial-services/hpc-for-quant-research-and-risk-simulation/
|
代替のデータソースが増加し、「クオンタメンタル戦略」が普及した結果、資産運用会社は、信頼性が高くスケーラブルなストレージ、コンピューティングリソース、MLなど、アナリストのワークロードを処理するHPCの利用にますます依存するようになっています。 |
2023-06-06 09:20:00 |
GCP |
Cloud Blog JA |
複数の VPC なしでネットワーク仮想アプライアンス(NVA)をデプロイする - 技術詳解 |
https://cloud.google.com/blog/ja/products/networking/policy-based-routing-network-patterns-for-virtual-appliances/
|
このようにすると、このポリシーベースルートが適用されているインスタンスから送信されたすべてのトラフィックが内部TCPUDPロードバランサに送られることに留意してください。 |
2023-06-06 09:10:00 |
コメント
コメントを投稿