IT |
ITmedia 総合記事一覧 |
[ITmedia ビジネスオンライン] ディップ、求人応募時の年齢入力を選択可に 多様な就業機会を創出 |
https://www.itmedia.co.jp/business/articles/2302/17/news141.html
|
itmedia |
2023-02-17 17:53:00 |
IT |
ITmedia 総合記事一覧 |
[ITmedia ビジネスオンライン] ハイデイ日高、最高45万円の「特別感謝金」を正社員などへ支給 |
https://www.itmedia.co.jp/business/articles/2302/17/news144.html
|
itmedia |
2023-02-17 17:50:00 |
IT |
ITmedia 総合記事一覧 |
[ITmedia News] au PAYが5%還元 マクドナルドの「モバイルオーダー」と「マックデリバリー」で |
https://www.itmedia.co.jp/news/articles/2302/17/news169.html
|
aupay |
2023-02-17 17:30:00 |
IT |
ITmedia 総合記事一覧 |
[ITmedia News] 注目集める「AIコスプレイヤー」の作り方を調べてみたら、“無規制地帯”が見つかった イラスト生成のダークサイド |
https://www.itmedia.co.jp/news/articles/2302/17/news168.html
|
itmedia |
2023-02-17 17:29:00 |
TECH |
Techable(テッカブル) |
プロも愛用!ハンドル交換可能で一生使える包丁「極」シリーズがCAMPFIREで先行予約中 |
https://techable.jp/archives/195924
|
campfire |
2023-02-17 08:00:16 |
IT |
情報システムリーダーのためのIT情報専門サイト IT Leaders |
NEC、サポート終了後も修正パッチを作成・提供する「PostgreSQLサポートサービス」 | IT Leaders |
https://it.impress.co.jp/articles/-/24469
|
itleadersnec |
2023-02-17 17:39:00 |
python |
Pythonタグが付けられた新着投稿 - Qiita |
Stable Diffusion web UI の初期値を設定したい |
https://qiita.com/ganessa/items/c80c0e2ae45efb69a540
|
diffusers |
2023-02-17 17:48:20 |
Program |
CodeZine |
Infomatica、企業のデータ戦略に関する調査結果を発表 |
http://codezine.jp/article/detail/17386
|
Infomatica、企業のデータ戦略に関する調査結果を発表米Infomaticaは、企業のデータ戦略の最新動向に関するグローバル調査「CDOInsightsHowtoEmpowerDataLedBusinessResiliency年度CDO調査データ主導型のビジネス強化について」の結果を、月日に発表した。 |
2023-02-17 17:30:00 |
AWS |
AWSタグが付けられた新着投稿 - Qiita |
AWSCLI+ShellScriptでクラウド基盤構築を効率化する |
https://qiita.com/kazushi_ohata/items/a6ceb7762ac39f43c569
|
awscli |
2023-02-17 17:09:46 |
Docker |
dockerタグが付けられた新着投稿 - Qiita |
【Rails+dynamodb-local】dynamodb-localのテスト環境をつくりたい |
https://qiita.com/does_not_exist/items/46c8f8e5b35f94cd6ec8
|
dynamodblocal |
2023-02-17 17:41:13 |
Git |
Gitタグが付けられた新着投稿 - Qiita |
Gitの運用フローを変えるために勉強会を開いたら、意外と好評だったのでそのまま記事にしてみた |
https://qiita.com/ukyo-takahashi-lvgs/items/00c7c18830e83415ca9f
|
思いのほか |
2023-02-17 17:05:51 |
Ruby |
Railsタグが付けられた新着投稿 - Qiita |
【Rails+dynamodb-local】dynamodb-localのテスト環境をつくりたい |
https://qiita.com/does_not_exist/items/46c8f8e5b35f94cd6ec8
|
dynamodblocal |
2023-02-17 17:41:13 |
技術ブログ |
Developers.IO |
【テクニカルサポート心得】カスタマーペインという考え方について |
https://dev.classmethod.jp/articles/cusotmer_pain/
|
藤本 |
2023-02-17 08:46:52 |
海外TECH |
MakeUseOf |
Get These Awesome Jabra Earbuds at Amazing Prices |
https://www.makeuseof.com/jabra-earbuds-deal-february/
|
earbud |
2023-02-17 08:03:14 |
海外TECH |
DEV Community |
#refineweek: Adding Realtime Collaboration |
https://dev.to/refine/refineweek-adding-realtime-collaboration-23k8
|
refineweek Adding Realtime CollaborationIn this post we implement realtime broadcast and subscription of pixels updates in our refine based Pixels app We do this with the liveProvider prop on lt Refine gt and Supabase s Realtime servers Applying a PubSub feature allows us to receive instant updates in one part of our app for database changes triggered from another part or by a different client Here s a quick rundown of the features we ll work on Allow multiple users to draw pixels on a canvas All contributors can see realtime updates on the canvas This is Day in the series titled refineWeek refineWeek is a quickfire tutorial guide that aims to help developers learn the ins and outs of refine s powerful capabilities and get going with refine within a week refineWeek seriesDay Pilot amp refine architectureDay Setting Up the Client App OverviewOn Day Three we implemented CRUD operations using Supabase dataProvider methods and the resources prop which leveraged RESTful routes in the routerProvider object under the hood Today we are going to explore the liveProvider prop as we implement realtime collaboration on a canvas so that pixels drawn on a canvas by one user is instantly seen by anyone else viewing it from another client There are two parts to our endeavor in this post one in the Supabase backend and one in our refine app Spin up Realtime servers from Supabase dashboard for the resource we want to publish changes for and subscribe to Registering the liveProvider prop inside lt Refine gt component and enabling subscription with liveMode auto refine has already added the implementation code for Supabase Realtime provider in the liveProvider object it created for us during project initialization We will mostly play the laymen role here as we tour around the underlying principles and the magic at work behind the scenes Let s start by first making sure Realtime servers are set up for the pixels table in the Supabase backend Setting Up Supabase RealtimeIn order to make drawing collaborative between our users we have to run Supabase Realtime servers and create channels for our pixels resource We can do this from the Supabase dashboard for the database we created If you haven t already please go ahead and select Enable Realtime for the pixels table from its editor Behind the scenes Supabase spins up globally distributed Realtime servers that facilitate low latency communication between our app and Supabase database tables Supabase s Realtime feature spares a channel for each resource to be broadcasted Any change in the resource is published in the channel and clients that subscribe to the channel receive updates as soon as the change is made We are using Supabase Realtime s PostgreSQL Change Data Capture feature which will now allow our app to publish mutation events to the pixels channel and also listen to those changes from a subscriber component This means mutation hooks such as useCreate can now publish events to the pixels channel and consumer hooks like useList are able to get instant updates for any change to pixels lt Refine gt s liveProvider PropNow it s time to move our attention back to the lt Refine gt component in our app We already have the liveProvider prop passed in with the liveProvider function from pankod refine supabase App tsx lt Refine liveProvider liveProvider supabaseClient gt And that s it The channel for pixels resource that was specified above in Supabase will broadcast all mutations on the pixels table And any subscriber will be able to receive real time updates about the changes Now let s try opening the app in two browsers one with Google account and one with GitHub Navigate to a canvas page the same one in both and try adding some pixels from each We ll see that pixels created in one are displayed in the other in real time This is obnoxious because we don t know how this is happening And very pleasant because create refine app already generated the code that handles the PubSub logic for Supabase PostregSQL CDC Let s have a look to see what s happening in the Supabase liveProvider object refine s Supabase liveProvider Objectrefine s liveProvider object has the following signature const liveProvider subscribe channel params ids types callback gt any unsubscribe subscription gt void publish event gt void In pankod refine supabase version at the time of publishing this article the liveProvider consists of only the subscribe and unsubscribe methods Its implementation looks like this Supabase data providerconst liveProvider supabaseClient SupabaseClient LiveProvider gt return subscribe channel types params callback object RealtimeSubscription gt const resource channel replace resources const listener payload SupabaseRealtimePayload lt any gt gt if types includes types includes liveTypes payload eventType if liveTypes payload eventType created amp amp params ids undefined amp amp payload new id undefined if params ids map String includes payload new id toString callback channel type liveTypes payload eventType date new Date payload commit timestamp payload payload new else callback channel type liveTypes payload eventType date new Date payload commit timestamp payload payload new const client supabaseClient from resource on supabaseTypes types listener types slice map item gt client on supabaseTypes item listener return client subscribe unsubscribe async subscription RealtimeSubscription gt supabaseClient removeSubscription subscription Both methods are concerned with subscription to the changes That s because the publishing the event is done by mutation methods In our case it is done from the useCreate hook we invoke to create a pixel Let s have a look BroadcastingIf we look inside our lt CanvasShow gt component that is rendered at canvases id we have a lt CanvasItem gt component which basically displays all pixels that belong to the canvas item being visited lt CanvasItem gt is also the component from where a pixel is created so let s look at that now src pages components canvas item tsximport React from react import Typography from pankod refine antd import Pixel Canvas from types import DEFAULT SCALE PIXEL SIZE from utility constants const Text Typography type CanvasItemProps canvas Canvas pixels Pixel scale number border boolean active boolean onPixelClick x number y number gt void export const CanvasItem React FC lt CanvasItemProps gt canvas id name width height pixels scale DEFAULT SCALE border true active true onPixelClick gt return lt div gt Array from length height map i gt lt div key row i style display flex gt Array from length width map j gt lt div key row i col j gt lt div onClick gt if onPixelClick amp amp active onPixelClick j i style cursor active pointer undefined width PIXEL SIZE scale height PIXEL SIZE scale border border px solid rgba undefined background pixels find el gt el x j amp amp el y i color transparent gt lt div gt lt div gt active amp amp lt Text className canvas name text gt name id lt Text gt lt div gt The most relevant thing to look in the component above is the onPixelClick click event handler It is a prop received by the lt CanvasItem gt from the lt CanvasShow gt component It s original value is the onSubmit function defined inside the lt CanvasShow gt component We d like to focus on this onSubmit event handler because it is what facilitates the creation of a pixel src pages canvases show tsxconst mutate useCreate const onSubmit x number y number gt if identity return push login if typeof x number amp amp typeof y number amp amp canvas id mutate resource pixels values x y color canvas id canvas id user id identity id successNotification false As we can see with the call to mutate method of the useCreate hook a new entry is being added to the pixels table upon every click on the canvas And since we enabled realtime for the pixels table each successful create action broadcasts the change to the pixels channel for subscribers to pick refine usePublish HookThe exact way it happens looks like this useCreate hook is called from the consumer component useCreate behind the scenes uses the live usePublish hook to publish the created event to the pixels channel on Supabase Realtime servers The published event for pixels create action produces an object with the following signature channel resources pixels type created payload ids id of created pixel date new Date Feel free to go through the live hooks docs for details about how live publishing is supported by useCreate and other mutation hooks SubscriptionThe changes to the pixels table can be subscribed by consumer components with the useList hook We are showing the pixels inside the lt CanvasShow gt component itself but they are fetched inside the lt DisplayCanvas gt render props component The useList hook inside lt DisplayCanvas gt looks like this src components canvas display tsxconst data useList lt Pixel gt resource pixels liveMode auto config filters field canvas id operator eq value id sort field created at order desc hasPagination false metaData select users id full name avatar url Among the loads of arguments and options passed to the useList hook we have used the liveMode auto property which allows us to subscribe to the Realtime channel for the pixels resource With liveProvider disabled in the lt Refine gt component useList acts as a normal dataProvider hook With liveProvider activated under the hood useList banks on refine s useResourceSubscription live hook to communicate with the pixels channel refine useResourceSubscription HookThe actual subscription is done by the liveProvider subscribe method The subscribe method is called from inside the useResourceSubscription hook in order to subsribe to the pixels channel If you want to dive into the details please feel free to do so in the liveProvider docs here SummaryIn today s part we implemented real time collaboration for drawing pixels on canvas items using lt Refine gt component s liveProvider prop and its supporting hooks for publishing and subscribing to Supabase s Realtime servers The subscribe method on Supabase s liveProvider object allows us to subscribe to a channel created for a resource Subscription for the resource is triggered by the useResourceSubscription hook called from data hooks that support live subscription the useList hook in our example Broadcasting in turn is initiated by the usePublish hook called from a supported mutation hook for our resource the useCreate hook in this case We implemented real time collaboration very effortlessly due to the out of box solutions provided by refine s pankod refine supabase package With this now we have enabled multiple users to draw on a canvas at the same time and receive updates instantly |
2023-02-17 08:37:35 |
海外TECH |
DEV Community |
Empower your CSS skills by using these 3 selectors |
https://dev.to/hellonehha/empower-your-css-skills-by-using-these-3-selectors-477f
|
Empower your CSS skills by using these selectorsIn CSS we have a lot of selectors which empowers the devs productivity helps in optimisation of DOM and usage of classes Child combinator gt The CSS child combinator selector is represented by the greater than symbol gt and is used to select only the immediate child elements of a parent element The selector on the left side of the greater than symbol represents the parent element while the selector on the right side represents the immediate child element In below code our requirement p and h should have specific style coming inside the div but not of those inside section lt div gt lt h gt Iron Man lt h gt lt p gt ron Man is a superhero appearing in American comic books published by Marvel Comics The character was co created by writer and editor Stan Lee lt p gt lt a href gt Read more lt a gt lt h gt Super Man lt h gt lt p gt Clark Joseph Kent best known by his superhero persona Superman is a superhero in the DC Extended Universe series of films based on the DC Comics character lt p gt lt a href gt Read more lt a gt lt section gt lt h gt Collection lt h gt lt h gt all years collections is in lt h gt lt a href gt Read more lt a gt lt p gt The most valuable copy of this issue ever sold was a NM M sold in for lt p gt lt section gt lt div gt Now if you would use div p color div h color this will applies the style to all p H as well as those too inside the section which is not the requirement So how shall we achieve this The answer is child combinator greater sign gt It will select all the direct child of the parent div gt p color div gt h color Here it will only implement the style on h and p which are direct child of the div and not of the section Adjacent Sibling selector The adjacent selector in CSS is a selector that selects an element that is immediately adjacent i e comes right after to another element The adjacent selector is represented by the plus sign and is used to select the first element that immediately follows the specified element Eg All the a followed by p style would get implement color red border dotted However in collection section the a tag won t get that style implemented as there is h element coming in between lt div gt lt h gt Iron Man lt h gt lt p gt ron Man is a superhero appearing in American comic books published by Marvel Comics The character was co created by writer and editor Stan Lee lt p gt lt a href gt Read more lt a gt lt h gt Super Man lt h gt lt p gt Clark Joseph Kent best known by his superhero persona Superman is a superhero in the DC Extended Universe series of films based on the DC Comics character lt p gt lt a href gt Read more lt a gt lt section gt lt h gt Collection lt h gt lt p gt The most valuable copy of this issue ever sold was a NM M sold in for lt p gt lt h gt all years collections is in lt h gt lt a href gt Read more lt a gt lt section gt lt div gt div gt h color blue p a color red border px dotted ccc padding px General Sibling selector The general sibling selector in CSS is represented by the tilde symbol and is used to select all sibling elements that come after the first element the selector on the left and that share the same parent element In this even the tags will come between as long as they are children of the same parent the style will be implemented Here all the a tag followed by the p tag will tag styled color red border dotted Irrespective of there is another element coming between in the collection section lt div gt lt h gt Iron Man lt h gt lt p gt ron Man is a superhero appearing in American comic books published by Marvel Comics The character was co created by writer and editor Stan Lee lt p gt lt a href gt Read more lt a gt lt h gt Super Man lt h gt lt p gt Clark Joseph Kent best known by his superhero persona Superman is a superhero in the DC Extended Universe series of films based on the DC Comics character lt p gt lt a href gt Read more lt a gt lt section gt lt h gt Collection lt h gt lt p gt The most valuable copy of this issue ever sold was a NM M sold in for lt p gt lt h gt all years collections is in lt h gt lt a href gt Read more lt a gt lt section gt lt div gt div gt h color blue p a color red border px dotted ccc padding px Follow me at twitterHappy learning |
2023-02-17 08:27:58 |
金融 |
金融庁ホームページ |
職員を募集しています。(育児休業中の職員の代替となる職員(任期付職員)) |
https://www.fsa.go.jp/common/recruit/r4/soumu-12/soumu-12.html
|
育児休業 |
2023-02-17 10:00:00 |
ニュース |
@日本経済新聞 電子版 |
NISA拡充 狙いはいいがタイミングが悪い(澤上篤人)
https://t.co/RUZR4h5y55 |
https://twitter.com/nikkei/statuses/1626496904828944385
|
澤上篤人 |
2023-02-17 08:20:55 |
海外ニュース |
Japan Times latest articles |
Zelenskyy eager to join G7 online summit following Kishida invitation |
https://www.japantimes.co.jp/news/2023/02/17/national/zelenskyy-g7-online-summit/
|
ukraine |
2023-02-17 17:23:31 |
ニュース |
BBC News - Home |
Home secretary wants answers over Bulley health disclosures |
https://www.bbc.co.uk/news/uk-england-lancashire-64671261?at_medium=RSS&at_campaign=KARANGA
|
details |
2023-02-17 08:46:52 |
ニュース |
BBC News - Home |
EDF's UK profits soar after electricity price hikes |
https://www.bbc.co.uk/news/business-64647854?at_medium=RSS&at_campaign=KARANGA
|
nuclear |
2023-02-17 08:25:37 |
ニュース |
BBC News - Home |
Storm Otto hits with damaging 80mph winds |
https://www.bbc.co.uk/news/uk-scotland-64662300?at_medium=RSS&at_campaign=KARANGA
|
england |
2023-02-17 08:15:48 |
ニュース |
BBC News - Home |
Train crash 'our Chernobyl' say Ohio town residents |
https://www.bbc.co.uk/news/world-us-canada-64671893?at_medium=RSS&at_campaign=KARANGA
|
disaster |
2023-02-17 08:04:46 |
ニュース |
BBC News - Home |
The murdered rapper once 'destined for greatness' |
https://www.bbc.co.uk/news/world-africa-64660840?at_medium=RSS&at_campaign=KARANGA
|
durban |
2023-02-17 08:37:36 |
ニュース |
BBC News - Home |
New Zealand v England: First Test poised after Tom Blundell hundred |
https://www.bbc.co.uk/sport/cricket/64658998?at_medium=RSS&at_campaign=KARANGA
|
New Zealand v England First Test poised after Tom Blundell hundredEngland s first Test against New Zealand is fascinatingly poised after Tom Blundell s superb century keeps the hosts afloat on day two in Mount Maunganui |
2023-02-17 08:42:27 |
ビジネス |
東洋経済オンライン |
香港の幼稚園が「少子化加速」で未曾有の苦境 出生率0.77、今後1年で100カ所以上が廃業も | 「財新」中国Biz&Tech | 東洋経済オンライン |
https://toyokeizai.net/articles/-/651954?utm_source=rss&utm_medium=http&utm_campaign=link_back
|
biztech |
2023-02-17 17:30:00 |
マーケティング |
MarkeZine |
ルグラン、気象連動型サイネージ広告の運用を開始 西新宿エリアでゴンチャとサブウェイの広告を配信へ |
http://markezine.jp/article/detail/41325
|
開始 |
2023-02-17 17:30:00 |
マーケティング |
MarkeZine |
ショート動画をマーケティングに活用する方法 おすすめの用途や効果的なクリエイティブは?【視聴無料】 |
http://markezine.jp/article/detail/41408
|
視聴 |
2023-02-17 17:15:00 |
IT |
週刊アスキー |
サンワダイレクト、厚めの本を両手で抑えたままスキャンできる専用フットペダル「400-CAMFTP」発売 |
https://weekly.ascii.jp/elem/000/004/125/4125375/
|
camftp |
2023-02-17 17:50:00 |
IT |
週刊アスキー |
2022年9月にリニューアルオープンした横浜マリンタワー、「第24回 神奈川イメージアップ大賞」を受賞 |
https://weekly.ascii.jp/elem/000/004/125/4125327/
|
横浜マリンタワー |
2023-02-17 17:40:00 |
IT |
週刊アスキー |
1000人の奴隷を救え!Switch版『オッドワールド』配信開始 |
https://weekly.ascii.jp/elem/000/004/125/4125386/
|
microids |
2023-02-17 17:40:00 |
IT |
週刊アスキー |
WD、USB 3.2接続の外付けHDD「My Book」に22TBモデルを追加 |
https://weekly.ascii.jp/elem/000/004/125/4125371/
|
mybook |
2023-02-17 17:30:00 |
IT |
週刊アスキー |
『オクトラ 大陸の覇者』全てを授けし者編がついに完結へ! |
https://weekly.ascii.jp/elem/000/004/125/4125373/
|
octopathtraveler |
2023-02-17 17:15:00 |
マーケティング |
AdverTimes |
「どうする家康」ロゴなどを手がけたデザインユニットGOO CHOKI PARの新作展 |
https://www.advertimes.com/20230217/article411616/
|
clinic |
2023-02-17 08:19:32 |
コメント
コメントを投稿