投稿時間:2023-04-06 19:26:55 RSSフィード2023-04-06 19:00 分まとめ(33件)

カテゴリー等 サイト名等 記事タイトル・トレンドワード等 リンクURL 頻出ワード・要約等/検索ボリューム 登録日
IT ITmedia 総合記事一覧 [ITmedia News] SMBCポイントパック、ATM利用のVポイント付与を終了 https://www.itmedia.co.jp/news/articles/2304/06/news177.html itmedianewssmbc 2023-04-06 18:45:00
IT ITmedia 総合記事一覧 [ITmedia Mobile] 楽天コミュニケーションズ、楽天回線のMVNOサービスを提供 法人向けデータSIMが月額363円から https://www.itmedia.co.jp/mobile/articles/2304/06/news176.html itmediamobile 2023-04-06 18:42:00
IT ITmedia 総合記事一覧 [ITmedia ビジネスオンライン] トヨタ、シエンタやポルテなど29万台リコール 2件の火災も https://www.itmedia.co.jp/business/articles/2304/06/news167.html itmedia 2023-04-06 18:40:00
IT ITmedia 総合記事一覧 [ITmedia News] イーロン・マスクやスティーブ・ジョブズと電話ができる? 著名人“AI”と話せるWebサイト「BanterAI 」 https://www.itmedia.co.jp/news/articles/2304/06/news174.html banterai 2023-04-06 18:38:00
IT ITmedia 総合記事一覧 [ITmedia ビジネスオンライン] 英国発祥「コスタコーヒー」 日本で広がるのか https://www.itmedia.co.jp/business/articles/2304/06/news175.html itmedia 2023-04-06 18:37:00
IT ITmedia 総合記事一覧 [ITmedia News] 2022年、キャッシュレス決済利用額が初の100兆円超 経産省が発表 利用率も過去最高36%に https://www.itmedia.co.jp/news/articles/2304/06/news168.html itmedia 2023-04-06 18:23:00
IT ITmedia 総合記事一覧 [ITmedia News] 楽天ペイアプリで、楽天キャッシュを楽天Edyにチャージ可能に https://www.itmedia.co.jp/news/articles/2304/06/news166.html android 2023-04-06 18:03:00
TECH Techable(テッカブル) MacBookのデザインにマッチするラップトップスタンド「Ergon-Reach」が販売開始 https://techable.jp/archives/202472 ergonreach 2023-04-06 09:00:48
python Pythonタグが付けられた新着投稿 - Qiita 【機械学習】WindowsでcuMLとかcuDFを使えるようにしていく【RAPIDS】 https://qiita.com/Clip_1212/items/beaad136216c18a1d2a4 nvidia 2023-04-06 18:54:03
Docker dockerタグが付けられた新着投稿 - Qiita [有料級] Rails7(Turbo), Docker, Bootstrap5を使ったtodoリストの作り方④(Todoリスト一覧表示編) https://qiita.com/streasure0426/items/180e0954a2af402b4a8c railsturbodockerboots 2023-04-06 18:42:36
Docker dockerタグが付けられた新着投稿 - Qiita PostgreSQL on Docker https://qiita.com/NeK/items/15d7dbe20d1ace57ffb8 docker 2023-04-06 18:07:44
Azure Azureタグが付けられた新着投稿 - Qiita 共有ディスク (やUltra ディスク) のついた Azure VM Backup が条件つきでできるようになってた https://qiita.com/aktsmm/items/20eeb01c8b117a54dee9 azure 2023-04-06 18:13:41
Ruby Railsタグが付けられた新着投稿 - Qiita [有料級] Rails7(Turbo), Docker, Bootstrap5を使ったtodoリストの作り方④(Todoリスト一覧表示編) https://qiita.com/streasure0426/items/180e0954a2af402b4a8c railsturbodockerboots 2023-04-06 18:42:36
技術ブログ Developers.IO 【書評】「要点整理から攻略するAWS認定セキュリティ – 専門知識」SCS試験対策にとてもおすすめの一冊 https://dev.classmethod.jp/articles/book-review-certification-scs/ mhashimoto 2023-04-06 09:29:57
技術ブログ Developers.IO IAM権限エラー「AccessDeniedException」や「.. not authorized to perform」に遭遇時、必要な権限を付与するためのエラーの見方を解説 https://dev.classmethod.jp/articles/an-error-occurred-accessdeniedexception-iam/ accessdeniedexception 2023-04-06 09:29:17
技術ブログ Developers.IO 【書評】「要点整理から攻略するAWS認定データベース – 専門知識」DBS試験対策にとてもおすすめの一冊 https://dev.classmethod.jp/articles/book-review-certification-dbs/ mhashimoto 2023-04-06 09:23:45
技術ブログ Developers.IO Amazon CodeWhisperer を IAM Identity Center に統合させて使ってみた https://dev.classmethod.jp/articles/amazon-codewhisperer-iam-identity-center/ amazoncodewhisperer 2023-04-06 09:18:38
技術ブログ Developers.IO Raspberry PiとAWSを繋いでみる ~MQTT のデモ~ https://dev.classmethod.jp/articles/raspberry-pi-to-aws-3/ awsiotcore 2023-04-06 09:04:22
海外TECH DEV Community System design behind a messenger app https://dev.to/titovmx/system-design-behind-a-messenger-app-2268 System design behind a messenger appWe daily use messenger applications such as Whatsapp and Telegram to chat with our friends They all have a few design solutions behind the scene that directly affect user experience In this article I am describing some features visible from a user perspective and explaining tech details under the hood However it is not a complete system design and there are a lot of topics where you could dive much deeper Message delivery statusesAll messengers indicate a state of a message The application provides a user with information on whether the message was sent delivered and read by a recipient This is very good seen on Whatsapp It shows a few stages the message goes through When a user just clicked a Send button the message is sent from a client device to web servers clock icon When the message came to a server it sends a notification back to the client At that moment icon changed to a single check The web server looks for a connection that is established between it and a recipient and sends a message The recipient client device sends back a notification to a server and after that the server can send a notification to the sender that the message was delivered and the icon changed to double check Eventually the recipient opens an application and reads the message His device sends one more notification to the server and the server communicates to the sender that the message was read The icon changed to blue colored double check The scheme below illustrates this process and brings a few more necessary design blocks to the further discussion The messenger app has to handle more than billion messages daily or roughly a million per second The messenger app follows the distributed design to take such a load and the important part of it is Load Balancer LB Load Balancer applies a particular strategy to equally distribute effort between different servers Messenger aims to quickly deliver messages between users and servers Web sockets are used to ensure it Web socket is a protocol providing duplex communication over a TCP connection Keeping a web socket connection is cost cheaper than an HTTP connection The client and server subscribe to each other and wait for new messages That s why all arrows on the scheme are bi directional Different users might be connected to different web servers so we need to have Web Socket Manager This service is responsible for providing information about connections and routing messages to a proper web server If the recipient is offline the message should be stored The database should be optimized for frequent write and delete operations Delete operation performed after the client is online and all messages are delivered to him NoSQL database will be a choice for this case e g some messengers use HBase and Cassandra to solve the task Background data fetching and strong consistencyThe web socket protocol allows messenger apps to keep connections alive for a long time and load messages even if a user is not active right now Mobile apps often stay in the background and are able to load new messages if your device is connected to the network You could notice that you usually see messages immediately after you unblocked the phone and opened the app Let s look at the desktop client that was closed for a long time and there are no background processes In this recording the application opens a web socket connection only after its launch When the connection is established new messages are received from the server It is loaded not in one batch but one by one It follows us to another important requirement of messenger system design It is consistency The sequence of messages is critical It would be strange if a recipient gets messages in order different from the original also messages can t be lost The consistency of this application is to provide messages in a strict order There is a CAP theorem saying that any distributed data store can provide only two of the following three characteristics Consistency Availability and Partition Tolerance The applications must provide Partition tolerance hence they have to choose between Consistency and Availability Messenger services choose Consistency over Availability That s why we see the picture in the figure above when the user has to wait a few seconds for chats to be loaded Downloaded files cachingWe discussed a few aspects of chatting however messengers also allow users to share media files The last bit is about optimizing network bandwidth Files are obviously larger than messages and it would be a nice idea to minimize the times when a user has to upload and download them When the user uploads a file the server stores it and calculates a checksum that is unique for any particular file If a user uploads a file that is already stored on the server the application will look at the checksum and prevent duplication From the user s perspective we can try to repeat the following steps Upload the file I use Telegram Saved messages to check it Remove it and clear the device cache Upload the file again There will be a noticeable difference between the first and second upload attempts the second one is almost immediate Note the speed of checking for duplication could depend on the user s geolocation Distributed systems have a lot of servers around the world so the time of response when we talk about distributed system design we usually use the term latency can be actually higher If a user uploads the duplicate from a location that is different from the origin it might take more time because the closest server doesn t have information about it Another thing to mention is Content Delivery Network CDN CDNs are used to store static content such as images and videos They are based on the network infrastructure and allow to put the files closer to users geographically Hence the content is delivered faster and latency is lower ConclusionWe talked about a few features of messenger applications that you see daily when you are chatting with your friends and now you can have a better understanding of system blocks and design decisions that provide us with such user experience Thank you for taking the time to read this article I would love to see your feedback and favorite app features which internals you would like to know in the comments 2023-04-06 09:21:53
海外TECH DEV Community My first Firefox extension https://dev.to/nfrankel/my-first-firefox-extension-21bf My first Firefox extensionA couple of weeks ago I spent the weekend creating another CFP submission helper in the form of a Firefox extension It was not a walk in the park To help others who may be interested in doing the same and my future self here s my journey ContextI ve written multiple posts about my conference submission workflow To sum up Everything is based on a Trello boardI created an app that registered a webhook on the boardWhen I move a conference from one lane to another it starts or continues a workflow on the app sideI source the board by looking at websites mainly Papercall and Sessionize and manually copying conference data on cards Two automation options are available Automating conference sourcingAutomating a card creationI thought long and hard about the first part If I automate it it will create a long list of Trello cards which I ll need to filter anyway I concluded that it s better to filter them before However I created the card manually by copy pasting relevant data name dates due date CFP link and website It s precisely what a Firefox extension can help one with Requirements and designThe user story is pretty straightforward AS A Lazy developerI WANT TO Automatically add CFP data on Trello while browsing a web page on Papercall or SessionizeSO AS To spend my time doing more fun stuff than copy paste My single user storyMy only requirement is that it needs to work with Firefox My first idea is a button to trigger the creation but I don t care much where it is inside the page as an overlay or somewhere on the browser In the first case it should be a JavaScript injected client side on the other a Firefox extension I chose the second option because I needed to figure out how to achieve the first I also wanted first to create my extension in Rust with WebAssembly Spoiler I didn t A simple Firefox extensionI had no clue about writing a Firefox extension as this was the first time I did write one My first step was to follow the tutorial It explains the basics of an extension structure Then I followed the second tutorial It explains how to create a pop up menu for the extension but not how to interact with the web page At this point I decided to learn by doing a technique that works well for me A Firefox extension starts with a manifest Here s the one from the first tutorial simplified manifest version name Borderify version content scripts js borderify js document body style border px solid red I found the development feedback loop good Imagine that you have followed the tutorial and created all the necessary files above You can go to about debugging runtime this firefox and click on the Load Temporary Add on button Then point to your manifest file Firefox loads the extension it s now active In the above example the JavaScript from the tutorial adds a red border around every web page It s useless we can do better but it shows how it works We can change the script to change the color e g from red to green To make Firefox reload any change including changes to the manifest click on the Reload button on the temporary extension panel Interacting with the extensionAs I mentioned above I want a button to trigger the creation of the Trello Card Firefox allows multiple interaction options direct trigger or opening of a pop up window I don t need to enter any parameter so the former is enough in my case Firefox allows multiple places to add buttons the browser s toolbar a sidebar or inside the browser s URL bar I used the toolbar for no reason than because it was what the second tutorial demoed Ultimately it only changes a little and moving from one to another is easy Adding the button takes place in the manifest browser action default area navbar default icon icons trello tile svg Set the button on the navigation bar For more details on the button location please check the documentationConfigure the icon One can use bitmaps in different formats but it s so much easier to set an SVGAt this point everything was fine and dandy Afterward I lost many hours trying to understand the different kinds of scripts and how they interact I ll make it a dedicated section Scripts scripts everywhereThe default language for scripts in extensions is JavaScript However depending on their location they play different roles Worse they need to talk with one another Let s start with the content script I used in the above manifest json Content scripts are bound to a web page As such they can access its DOM They run when Firefox loads the page The script adds a red border around the web page s body in the tutorial However we need another kind of script one to trigger when we click on the button Such scripts should run along with the extension but can listen to events They are known as background scripts Background scripts are the place to put code that needs to maintain long term state or perform long term operations independently of the lifetime of any particular web pages or browser windows Background scripts are loaded as soon as the extension is loaded and stay loaded until the extension is disabled or uninstalled unless persistent is specified as false You can use any of the WebExtension APIs in the script as long as you have requested the necessary permissions background scriptsLet s create such a script It starts with the manifest as usual background scripts background js We can now create the script itself function foo console log Hello from background browser browserAction onClicked addListener foo Register the foo function as an event listener to the button When one clicks the extension button it calls the foo function Debugging the extensionLet s stop for a moment to talk about debugging I lost several hours because I didn t know what had happened When I started to develop JavaScript years ago we debugged with alert It was not the best developer experience you could hope for More modern practices include logging and debugging Spoiler I didn t manage to get debugging working so I ll focus on logging First things first content scripts work in the context of the page Hence logging statements work in the regular console Background scripts do work in another context To watch their log statements we need to have another Firefox developer console You can open it on the extension panel by clicking the Inspect button Communication across scriptsNow that we know how to log it s possible to go further and describe communication across scripts Here s an overview of the overall flow Let s change the code a bit so that background js sends a message function sendMessage tab browser tabs sendMessage tab id message in from background then response gt console log response catch error gt console error Error error browser browserAction onClicked addListener sendMessage Now we change the code of content js browser runtime onMessage addListener message sender gt return Promise resolve message back from content Getting the contentSo far we have implemented a back and forth flow between the background and the content scripts The meat is to get content from the page in the content script and pass it back to the background via a message Remember that only the content script can access the page The code itself uses the Document API e g document querySelector document getElementsByClassName etc Specifics are unimportant The next issue is that the structure of Sessionize and Papercall are different Hence we need different scraping codes for each site We could develop a single script that checks the URL but the extensions can take care of it for us Let s change the manifest content scripts matches js content common js content sessionize js matches js content common js content papercall js Match different sitesScripts for SessionizeScripts for PapercallCode shared on both sitesAt this point we managed to get the necessary data and send it back to the background script The last step is to call Trello with the data Handling authentication credentialsUsing Trello s REST requires authentication credentials I want to share the code on GitHub so I cannot hard code credentials I need configuration We can configure a Firefox extension via a dedicated options page To do so the manifest offers a dedicated options ui section where we can provide the path to the HTML page options ui page settings options html The page can directly reference the scripts and stylesheet it needs The script needs to Store credentials in the browser storage on saveLoad credentials from the browser storage when the settings page opensIt s pretty straightforward with the provided example My code is quite similar it just needs three fields instead of one function saveOptions e browser storage sync set listId document querySelector list id value key document querySelector key value token document querySelector token value function restoreOptions browser storage sync get then data gt document querySelector list id value data listId document querySelector key value data key document querySelector token value data token error gt console error Error error document addEventListener DOMContentLoaded restoreOptions document querySelector form addEventListener submit saveOptions Uses the Firefox storage APIRead from the storage when the page loadsSave to the storage when the user submits the HTML formWe also need to ask the storage permission in the manifest permissions storage We can now store the Trello credentials as well as the required Trello list id on the settings page We can use the same storage API in the Trello calling code to read credentials At this point I was happy with my setup I just added another round trip from the background to the content to display an alert with Trello s card name and URL ConclusionIt was the first extension I wrote and though the beginning was challenging I achieved what I wanted Now I can navigate to a Papercall and a Sessionize page click the extension button and get the conference on my Trello board It took me a couple of days and was fun it was well worth it I continue working on it to improve it bit by bit The complete source code for this post can be found on GitHub nfrankel conftrello To go further Your first extensionYour second extensionContent scriptsBackground scriptsmanifest jsonwebextensions examplesOriginally published at A Java Geek on April nd 2023-04-06 09:06:00
海外TECH CodeProject Latest Articles Extending Object Behavior with the Decorator Pattern in C# https://www.codeproject.com/Articles/5358474/Extending-Object-Behavior-with-the-Decorator-Patte Extending Object Behavior with the Decorator Pattern in C C decorator pattern allows adding behavior to objects at runtime In this tutorial I show you how to implement the decorator pattern with C in a minimal API 2023-04-06 09:38:00
海外科学 NYT > Science In Pristine Alaska, an Oil Giant Prepares to Drill for Decades https://www.nytimes.com/2023/04/06/climate/willow-alaska-oil-biden.html In Pristine Alaska an Oil Giant Prepares to Drill for DecadesScientists say nations must stop new oil and gas projects to avoid climate catastrophe But after the Biden administration greenlit the billion Willow project ConocoPhillips is racing ahead 2023-04-06 09:00:53
海外科学 NYT > Science It’s Not Just Willow: Oil and Gas Projects Are Back in a Big Way https://www.nytimes.com/2023/04/06/climate/oil-gas-drilling-investment-worldwide-willow.html It s Not Just Willow Oil and Gas Projects Are Back in a Big WayAlaska s controversial Willow project has drawn criticism but a global analysis shows that it s just one of hundreds of investments approved in the past year or so 2023-04-06 09:00:47
海外ニュース Japan Times latest articles SDF chopper goes missing near Okinawa with multiple members aboard https://www.japantimes.co.jp/news/2023/04/06/national/sdf-helicopter-missing-okinawa/ sources 2023-04-06 18:21:16
海外ニュース Japan Times latest articles Roki Sasaki strikes out 11 to help Marines sweep past Fighters https://www.japantimes.co.jp/sports/2023/04/06/baseball/japanese-baseball/sasaki-beats-marines/ march 2023-04-06 18:43:08
ニュース BBC News - Home Macron counting on Xi to 'bring Russia to senses' https://www.bbc.co.uk/news/world-asia-china-65198757?at_medium=RSS&at_campaign=KARANGA ukraine 2023-04-06 09:21:08
ニュース BBC News - Home Rivals Iran and Saudi Arabia hold first high-level talks in seven years https://www.bbc.co.uk/news/world-middle-east-65197717?at_medium=RSS&at_campaign=KARANGA restore 2023-04-06 09:10:00
ニュース BBC News - Home Star Wars: Oscar-winning production designer Norman Reynolds dies https://www.bbc.co.uk/news/uk-england-gloucestershire-65200513?at_medium=RSS&at_campaign=KARANGA iconic 2023-04-06 09:32:20
ビジネス 東洋経済オンライン 「デリカミニ」ついに明らかになったその全貌 180.4万円~、三菱久々のヒット作となるか | 新車レポート | 東洋経済オンライン https://toyokeizai.net/articles/-/664754?utm_source=rss&utm_medium=http&utm_campaign=link_back 東洋経済オンライン 2023-04-06 18:38:00
ニュース Newsweek もしもワニに襲われたらどうすればいい? 究極のサバイバルを学ぶ超・実用書 https://www.newsweekjapan.jp/stories/business/2023/04/post-101255.php プレジデント社書籍編集部田所陽一質問にテキパキと答える応募者は採るな『採るべき人採ってはいけない人採用に悩む小さな会社のための応募者を見抜く技術』著者奥山典昭出版社秀和システム※画像をクリックするとアマゾンに飛びます「なんで、あんな人を採ってしまったのだろう」そう呻きながら、眠れぬ夜を過ごしたことがある中小企業の経営者や採用担当者は少なくないそうです。 2023-04-06 18:02:00
IT 週刊アスキー 『クライマキナ/CRYMACHINA』人類滅亡後の世界を描いた新イラストを公開! https://weekly.ascii.jp/elem/000/004/131/4131841/ crymachina 2023-04-06 18:50:00
IT 週刊アスキー 片手で手軽にバームクーヘン♡ しっとり濃厚なバナナソース、サンドしちゃいました https://weekly.ascii.jp/elem/000/004/131/4131228/ 期間限定 2023-04-06 18:35:00
IT 週刊アスキー PC『ガンダムネットワーク大戦』でイベントバトル「激突!ラフレシア」が開催! https://weekly.ascii.jp/elem/000/004/131/4131836/ 開催期間 2023-04-06 18:15:00

コメント

このブログの人気の投稿

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

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

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