AWS |
AWS Japan Blog |
オフィスアワーで会いましょう! – ISV/SaaS 事業者向け個別相談会 質問事例のご紹介 7月号 |
https://aws.amazon.com/jp/blogs/news/isvsaas-office-hour-2022-07/
|
isvsaas |
2022-07-25 10:04:08 |
js |
JavaScriptタグが付けられた新着投稿 - Qiita |
【JavaScript】TypeScriptっぽい構文が書けるようになるTypes as Commentsのティザーサイト紹介 |
https://qiita.com/rana_kualu/items/e9d54f94b0b05b1da7cc
|
javascript |
2022-07-25 19:43:53 |
js |
JavaScriptタグが付けられた新着投稿 - Qiita |
GASからシンプルにLINE Notifyにポストするライブラリを作ってみた #LINEDC #LINENotify |
https://qiita.com/n0bisuke/items/153fa71b22f44c3d4766
|
httpsnotifybo |
2022-07-25 19:26:55 |
js |
JavaScriptタグが付けられた新着投稿 - Qiita |
JavaScriptのテストフレームワークであるJestを使ってみる |
https://qiita.com/koi-ken/items/0567f576eded3755d2e0
|
gettingstarted |
2022-07-25 19:16:45 |
Ruby |
Rubyタグが付けられた新着投稿 - Qiita |
CSSの基礎知識(日本地図) |
https://qiita.com/tomo089/items/4a7532da2a00917aab55
|
ltdivclassmapgtltu |
2022-07-25 19:16:36 |
AWS |
AWSタグが付けられた新着投稿 - Qiita |
【AWS】AWS CLIでCMKを沢山作ってみたら困ったこと |
https://qiita.com/kurono/items/b3362e16a3a396b9b2a7
|
awscli |
2022-07-25 19:36:39 |
golang |
Goタグが付けられた新着投稿 - Qiita |
Goのデバッグ環境をvscodeで構築 |
https://qiita.com/Hiroto0706/items/e6ced9ad3a292677ba1a
|
vscode |
2022-07-25 19:35:54 |
技術ブログ |
Developers.IO |
AWS : Amazon RDS คืออะไร |
https://dev.classmethod.jp/articles/what-is-amazon-rds/
|
AWS Amazon RDS คืออะไร สำหรับท่านที่อยากใช้งานDatabase บนคลาวด์AWS วันนี้เราจะมาแนะนำเครื่องมือDatabase ตัวดังบนคลาวด์AWS |
2022-07-25 10:58:49 |
海外TECH |
DEV Community |
Create a notifications system using in-app (bell icon) and emails |
https://dev.to/novu/create-a-notifications-system-using-in-app-bell-icon-and-emails-5c15
|
Create a notifications system using in app bell icon and emailsIn this article I will guide you through sending notifications in app and via email using Novu in a Node js application We ll first create a Novu project add an email communication channel via the Novu Manage Platform install Novu to an Express app and send in app and email messages using Novu Who is this article for You want to implement product notifications for your users for example in app notifications like the bell icon you have on facebook send an email sms or push notification in a flow A quick example can be Facebook is sending you a notification into your bell icon You have a new friend request and after hour you haven t read it they send you an email Why Novu Novu is the first open source notification infrastructure that manages all forms of communication from email to SMS Push notifications etc It enables you to add several emails and SMS communication channels create shared message templates monitor every activity and switch between different communication channels of your choice Central communication systemOne of the reasons why Novu stands out is the ability to have a central means of communication Novu provides a dashboard where you can monitor and manage all your SMS and email communications With Novu you can easily track communication via several channels on a single dashboard Several communication channels are availableWith Novu you can use as many communication channels as possible and easily switch from one to another without editing the existing code in your application For instance if you use Sendgrid to send emails in your web application but the service becomes unavailable for a moment you can switch to other communication channels until Sendgrid is available without changing your code Novu makes communication with your users easy to use and maintain Content management systemNovu provides every user with a content management system where you can create reusable email and SMS templates that you can share across various software applications With Novu you don t need to worry about the stress of creating dynamic content Novu uses handlebars templating engine to accept dynamic variables thus creating a unique experience for your users Open source softwareNovu is open source software this means that the code is readily available for everyone to modify and improve Novu has a large community of developers and talented contributors constantly maintaining and improving the software As a user you can be sure of getting the best performance when you use Novu You can also request changes to the documentation ask for help and chat with the maintainers when you need help or encounter errors BTW You can become a contributor and get recognized We have created a special page for all our contributors with recognition for their super hard work and badges they can implement on their Github Grab a new issue here Ok enough with the self promotion let s startHere I will guide you through creating a Novu project and setting up Novu for sending emails and in app notifications Create your project folder and open the folder mkdir lt folder name gt cd lt folder name gt Ensure you have Node js installed on your computer then run the code snippet below in your terminal to create a Novu project npx novu initYou will need to sign in with Github before creating a Novu project The code snippet below contains the steps you should follow after running npx novu init Now let s setup your account and send your first notificationWhat is your application name lt Your application name gt Now lets setup your environment How would you like to proceed gt Create a free cloud account Recommended Create your account with Sign in with GitHub️Create your account successfully Now let s setup your account and send your first notificationLooks like you already have a created an account for Development Use arrow keys gt Visit Development Dashboard CancelThe code snippet above opens the Novu Manage Platform in your default browser Novu Dashboard pageCongratulations you ve successfully created an account with Novu Next click the Configure Now button to add an Email provider I will be using Sendgrid in this article How to add Sendgrid email provider to NovuI have choosen Sendgrid but you can easily choose one of Mailgun SES Postmark NodeMailer Mailjet Mandrill SendinBlue and EmailJS If you are missing a provider just open a new issue on Github Let s set up a new Sendgrid account and add it to Novu Open another tab visit the Twilio Sendgrid website and create an account using a work or company email Sign in click Settings on your sidebar and select API Keys to create a SendGrid API key with full access to Mail Send permissions Copy the API key and paste it into the Novu Manage PlatformClick the settings icon beside Twilio Sendgrid in the image above and paste the API Key into the API Key field Go back to your Sendgrid dashboard to create and verify a Sender Identity Paste the email address and the sender name into their fields in the image above ensure it is active and click the Update button Congratulations you have successfully connected your Sendgrid account to Novu and you can start sending emails via Novu Next let s create a workflow showing how we want to send notifications in our Node js application How to create a Novu notification workflowClick Notifications from the sidebar and select the Notification template already created for you by default Select Workflow Editor to create the notification workflow then drag the different notification channels from your right hand side into the large box in the center of the page Ensure the workflow is the same as the image above and click the Update button to save the steps Next let s create an Express app and add Novu to the Node js application Adding Novu to an Express applicationIn this section you ll learn how to set up an Express Node js server and add Novu to the application In the project s folder created in the previous section create a package json file and an index js file the entry point to the Node js application cd lt project folder gt npm init y amp touch index jsInstall Express and Novu SDK for Node js Express js is a fast minimalist framework that provides several features for building web applications in Node js npm install express novu nodeCopy and paste the code snippet below into the index js file to create an Express application const express require express import expressjsconst app express const PORT where the server runsconst path require path allows access to data sent from the client index html fileapp use express urlencoded extended true creates a route that displays an index html file app get req res gt res sendFile path join dirname index html listens to updates made on the project and shows the status of the projectapp listen PORT gt console log ️ server Server is running at https localhost PORT Create the index html file referenced above and copy the code below into the file lt DOCTYPE html gt lt head gt lt title gt Generating Employment Letter lt title gt lt link rel preconnect href gt lt link rel preconnect href crossorigin gt lt link href wght amp display swap rel stylesheet gt lt style gt box sizing border box margin padding font family Poppins sans serif form min height vh width padding px display flex align items center justify content center flex direction column input padding px width outline none border px solid ddd border radius px margin bottom px button width px padding px outline none border none background color color fff cursor pointer margin top px border radius px h margin bottom px container display flex width align items center justify content space between container div width personnel margin top px others div width lt style gt lt head gt lt body gt lt form method POST action sent gt lt h gt Candidate s information lt h gt lt div class container gt lt div gt lt label for candidateFirstName gt Candidate s First Name lt label gt lt input type text name candidateFirstName id candidateFirstName gt lt div gt lt div gt lt label for candidateLastName gt Candidate s Last Name lt label gt lt input type text name candidateLastName id candidateLastName gt lt div gt lt div gt lt div class container id others gt lt div gt lt label for candidateEmail gt Candidate s Email lt label gt lt input type email name candidateEmail id candidateEmail gt lt div gt lt div gt lt label for candidateSalary gt Proposed Salary lt label gt lt input type number name candidateSalary id candidateSalary gt lt div gt lt div gt lt label for candidatePosition gt Proposed Position lt label gt lt input type text name candidatePosition id candidatePosition gt lt div gt lt div gt lt h id personnel gt Official Personnel lt h gt lt div class container gt lt div gt lt label for officialFullName gt Full Name lt label gt lt input type text name officialFullName id officialFullName gt lt div gt lt div gt lt label for officialPosition gt Position Held lt label gt lt input type text name officialPosition id officialPosition gt lt div gt lt div gt lt button id button gt SEND OFFER lt button gt lt form gt lt body gt lt html gt Run the index js file by copying the code below Visit http localhost to view the index html file node index jsNext I will show you how to send emails and in app notifications via Novu by creating a web application that generates offer letters for successful job applicants in an organization The index html file is the web client layout of the application How to send email notifications using NovuHere I will guide you through creating email templates and sending them to users via Novu Go to the Novu Manage Platform select the Notification template and click on Workflow Editor Select Email from the large center box to edit the template Novu allows us to add plain text and custom code using HTML templates with the Handlebars templating engine as email content Copy and paste this as the Subject line of the emailOFFER LETTER FROM NOVU CONGRATULATIONS candidateFirstName Select Custom Code as the content type and copy the code below The email content and the subject line allow us to pass dynamic data into the variables using the Handlebars templating engine lt body gt lt p gt Dear candidateFirstName candidateLastName lt p gt lt p gt This is to inform you that you ve been offered a position at Novu as a candidatePosition with a starting salary of candidateSalary lt p gt lt p gt Kindly sign the attached document lt p gt lt p gt Congratulations once again lt p gt lt br gt lt p gt officialFullName lt p gt lt p gt lt em gt officialPosition lt em gt lt p gt lt body gt You can now save the template Next let me walk you through sending this template via email Import Novu into the index js file To get your API key click on Settings on the Novu Manage Platform select API Keys and copy it into the code below Import and instantiate Novu in the index js fileconst Novu require novu node const novu new Novu lt YOUR API KEY gt Create a sent route that accepts only POST requests in the index js file and copy the code below This route receives all the user s data from the client and logs them to the console app post sent req res gt Gets the inputs from the web client const officialPosition officialFullName candidateEmail candidateSalary candidatePosition candidateFirstName candidateLastName req body Logs the data to the client console log officialPosition officialFullName candidateEmail candidateSalary candidatePosition candidateFirstName candidateLastName Once you ve retrieved the data from the client update the POST route to send the email to the application using the Novu template app post sent async req res gt const officialPosition officialFullName candidateEmail candidateSalary candidatePosition candidateFirstName candidateLastName req body await novu trigger on boarding notification to subscriberId lt YOUR SUBSCRIBER ID gt email candidateEmail payload officialPosition officialFullName candidateSalary candidatePosition candidateFirstName candidateLastName then data gt console log data catch err gt console error err redirects to the sent html file res sendFile path join dirname sent html According to the code snippet above I changed the callback function to an asynchronous one before adding Novu Novu then triggers the email templates via its ID and sends the template to the candidate s email The payload object contains all the dynamic data required by the template To get your Subscriber ID click on Settings on the Novu Manage Platform and copy and paste the Application Identifier Create the sent html file referenced in the code snippet above lt DOCTYPE html gt lt head gt lt title gt Email Sent lt title gt lt head gt lt body gt lt p gt Message sent lt p gt lt body gt lt html gt Start the Node js server by running the code below node index jsTo add attachments to the email messages you can create an attachments array within the payload object or upload the document via the Novu Manage Platform await novu trigger on boarding notification to subscriberId lt YOUR SUBSCRIBER ID gt email candidateEmail payload attachments file fs readFileSync dirname test jpeg name test jpeg mime image jpg then data gt console log data catch err gt console error err The code snippet above attaches an image to the email before sending the email to the recipient Next let s learn how to send in app notifications to the web client How to send in app notifications using NovuIn this section you ll learn how to send in app notifications and display them on the web client of your application Visit the Novu Manage Platform select the template you are using and click on Workflow Editor Select In app from the large center box click the Edit Template button to edit the notification and save the content Update the sent html file to contain the JavaScript code and the bell icon before its closing body tag The JavaScript code displays the in app notification bar when a user clicks the bell icon lt DOCTYPE html gt lt head gt lt title gt Sent lt title gt lt FontAwesome CDN link gt lt script src crossorigin anonymous gt lt script gt lt head gt lt body gt lt p gt Message sent lt p gt lt The elements Novu needs to display the Notification bar gt lt div id notification bell style min height px width gt lt i class fa fa bell gt lt i gt lt span id unseen badge gt lt span gt lt div gt lt script type module gt function n o t i f m n i m init n i c m forEach me gt n i me function n i c push me arguments var elt o createElement f elt type text javascript elt async true elt src t var before o getElementsByTagName f before parentNode insertBefore elt before window document novu script novu init Xr knh UYIPD notification bell subscriberId Xr knh UYIPD email nevo novu co firstName Nevo lastName David lt script gt lt body gt lt html gt NB You can get the bell icon from Font Awesome and ensure the CSS id referenced in the JavaScript code exists in your HTML file Source CodeYou can check the complete source code here This is just the express server to interact with Novu Before you clone the project please run npx novu init ConclusionIn this tutorial you ve learnt what Novu is why you should use it how to create a Novu project how to add Novu to an Express js web application and how to send emails and in app notifications with Novu Novu makes it easy for you to send monitor and manage notifications via various SMS and Email communication channels It enables you to create a rich notification system in your applications thereby providing a great user experience for your users You can also join the community to contribute chat with the maintainers and improve the software Thank you for reading |
2022-07-25 10:34:36 |
海外TECH |
DEV Community |
Resilient microservices with Quarkus and Kotlin - All threads together |
https://dev.to/meikefelicia/resilient-microservices-with-quarkus-and-kotlin-all-threads-together-1e3h
|
Resilient microservices with Quarkus and Kotlin All threads togetherThe second part of this series was all about theory we had a closer look at some helpful resilience design patterns Now it s time to take some action Let s finally bring all threads together and see how we can realize this with Quarkus and Kotlin Do you still remember the shocking scenario for all of this We are doomed cause we live in an area with poisonous snakes and must rely on our own service to be warned about the dangerous animals in time Let me introduce you to the Snake Alarm Detection Fulfilment Scenario where we are going to handle this in a resilient way Imagine small snake detector boxes which can magically detect snakes passing by Sometimes the detectors have false positives with cute and harmless lizards To handle these false positives the snake detector boxes can also send a photo of the detected animal via REST endpoint so it can be evaluated for example by means of machine learning When we are sure that it s a snake we want to send a push notifications to all mobile devices in that area Sadly we have to use an external service for the push notifications and this is pretty expensive We have two options here one service which is very expensive and reliable but a little bit slow and another services which is much cheaper and faster but not so reliable at all The plan is to build a robust roundtrip from a detecting a snake or lizard with the box to b sending a warning push notification to everyone in the area Ideally the push notification goes out fast and we do not spend that much money on sending those push notifications Let s try the snake detector box could make a POST request to a SnakeAlarmEndpoint This could trigger a SnakeAlarmRepository to emit an event into an AMQP messaging channel named snake alarm out Then we subscribe to those events in another snake alarm in channel to be able to scale independently Given the illustration below you can see our SnakeAlarmProcessor which can process new SnakeAlarms coming in from the AMQP channel snake alarms in The SnakeAlarmProcessor itself calls the LizardCheck to verify that we have a snake and not a lizard coming in The LizardCheck has a runtime between s and s Having the runtime measured we can configure our SnakeAlarmProcessor call to the LizardCheck with a timeout of s and a maximum of retries to make most calls succeed in an acceptable time Finally we call the push notification service The primary service of choice will be tried first but fails with a probability of and has an average response time of s We give that a maximum of retries After that we call the secondary service of choice as a fallback which has a probability of and a response time of s Sample output of the running resultHere you find the output of the final result Try to see where we had a false positive and where not Where did we use the expensive push notification service It s all written in the logs INFO de fay sna SnakeAlarmProcessor vert x eventloop thread Received an alarm for snake alarm fulfillment SnakeItems id imageASCIIArtString e False positive Successfully verified a lizard DEBUG io sma rea mes amqp vert x eventloop thread SRMSG Sending AMQP message to address snake alarms FINE pro trace vert x eventloop thread IN CH Disposition role RECEIVER first last settled true state Accepted batchable false FINE pro trace vert x eventloop thread IN CH Transfer handle deliveryId deliveryTag x messageFormat settled false more false rcvSettleMode null state null resume false aborted false batchable false xSs xd x x x x x x x xa xcsnake alarms xa xapplication json xSu xa xc snakes id imageASCIIArtString e snakeVerification Snake could also be a lizard estimatedPushNotificationTimestamp null DEBUG io sma rea mes amqp vert x eventloop thread SRMSG Sending AMQP message to address snake alarms FINE pro trace vert x eventloop thread IN CH Transfer handle deliveryId deliveryTag x messageFormat settled false more false rcvSettleMode null state null resume false aborted false batchable false xSs xd x x x x x x x xa xcsnake alarms xa xapplication json xSu xa xc snakes id imageASCIIArtString e snakeVerification Snake could also be a lizard estimatedPushNotificationTimestamp null FINE pro trace vert x eventloop thread IN CH Disposition role RECEIVER first last settled true state Accepted batchable false INFO de fay sna SnakeAlarmProcessor vert x eventloop thread Received an alarm for snake alarm fulfillment SnakeItems id imageASCIIArtString e False positive Successfully verified a lizard INFO de fay sna SnakeAlarmProcessor vert x eventloop thread Received an alarm for snake alarm fulfillment SnakeItems id imageASCIIArtString e False positive Successfully verified a lizard DEBUG io sma rea mes amqp vert x eventloop thread SRMSG Sending AMQP message to address snake alarms FINE pro trace vert x eventloop thread IN CH Disposition role RECEIVER first last settled true state Accepted batchable false FINE pro trace vert x eventloop thread IN CH Transfer handle deliveryId deliveryTag x messageFormat settled false more false rcvSettleMode null state null resume false aborted false batchable false xSs xd x x x x x x x xa xcsnake alarms xa xapplication json xSu xa xc snakes id imageASCIIArtString e snakeVerification Snake could also be a lizard estimatedPushNotificationTimestamp null DEBUG io sma rea mes amqp vert x eventloop thread SRMSG Sending AMQP message to address snake alarms FINE pro trace vert x eventloop thread IN CH Transfer handle deliveryId deliveryTag x messageFormat settled false more false rcvSettleMode null state null resume false aborted false batchable false xSs xd x x x x x x x xa xcsnake alarms xa xapplication json xSu xa xc snakes id imageASCIIArtString e snakeVerification Snake could also be a lizard estimatedPushNotificationTimestamp null FINE pro trace vert x eventloop thread IN CH Disposition role RECEIVER first last settled true state Accepted batchable false DEBUG io sma rea mes amqp vert x eventloop thread SRMSG Sending AMQP message to address snake alarms FINE pro trace vert x eventloop thread IN CH Disposition role RECEIVER first last settled true state Accepted batchable false FINE pro trace vert x eventloop thread IN CH Transfer handle deliveryId deliveryTag x messageFormat settled false more false rcvSettleMode null state null resume false aborted false batchable false xSs xd x x x x x x x xa xcsnake alarms xa xapplication json xSu xa xc snakes id imageASCIIArtString e snakeVerification Snake could also be a lizard estimatedPushNotificationTimestamp null INFO de fay sna SnakeAlarmProcessor vert x eventloop thread Received an alarm for snake alarm fulfillment SnakeItems id imageASCIIArtString e False positive Successfully verified a lizard DEBUG io sma rea mes amqp vert x eventloop thread SRMSG Sending AMQP message to address snake alarms FINE pro trace vert x eventloop thread IN CH Disposition role RECEIVER first last settled true state Accepted batchable false FINE pro trace vert x eventloop thread IN CH Transfer handle deliveryId deliveryTag x messageFormat settled false more false rcvSettleMode null state null resume false aborted false batchable false xSs xd x x x x x x x xa xcsnake alarms xa xapplication json xSu xa xc snakes id imageASCIIArtString e snakeVerification Snake could also be a lizard estimatedPushNotificationTimestamp null INFO de fay sna SnakeAlarmProcessor vert x eventloop thread Received an alarm for snake alarm fulfillment SnakeItems id imageASCIIArtString e False positive Successfully verified a lizard INFO de fay sna SnakeAlarmProcessor vert x eventloop thread Received an alarm for snake alarm fulfillment SnakeItems id imageASCIIArtString e Danger Successfully verified a snake INFO de fay sna PushNotificationService vert x eventloop thread Push notification estimated in sec INFO de fay sna SnakeAlarmProcessor vert x eventloop thread Received an alarm for snake alarm fulfillment SnakeItems id imageASCIIArtString e False positive Successfully verified a lizardPostman This is an exemplary POST request we are going to use to fire up our services If we make the request right we should receive a Accepted response You will find this as a Postman collection in the Github sources Snake alarm endpoint Our endpoint calls the SnakeAlarmRepository to take care of everything Path snake alarm class SnakeAlarmEndpoint private val snakeAlarmRepository SnakeAlarmRepository POST Consumes MediaType APPLICATION JSON Produces MediaType TEXT PLAIN suspend fun snakeAlarm request SnakeAlarmRequest Response return when snakeAlarmRepository alarm request snakes true gt Response accepted build false gt Response serverError build The SnakeAlarmRepository emits the alarm without verification using an AMQP messaging channel named snake alarms out ApplicationScopedclass SnakeAlarmRepository private val pushNotificationService PushNotificationService Channel snake alarms out private val snakeAlarmEmitter Emitter lt SnakeAlarm gt private val logger Logger suspend fun alarm items List lt SnakeItems gt Boolean val snakeAlarm SnakeAlarm snakes items snakeVerification Snake could also be a lizard estimatedPushNotificationTimestamp null return try snakeAlarmEmitter send snakeAlarm await true catch e Exception logger log Level SEVERE Error while sending snake alarm e false Application PropertiesThat s where we need to configure our loosely coupled AMPQ messaging channels which will run using a Docker image a sample Docker file is provided in the Github sources quarkus log level DEBUGquarkus log category org jboss resteasy min level DEBUG The AMQP broker location and credentialsamqp host localhostamqp port amqp username quarkusamqp password quarkus Configure snake alarm messagingmp messaging incoming snake alarms in connector smallrye amqpmp messaging incoming snake alarms in address snake alarmsmp messaging outgoing snake alarms out connector smallrye amqpmp messaging outgoing snake alarms out address snake alarmsWhen we receive a message from this channel the SnakeAlarmProcessor checks if it really is a snake by using the LizardCheck ApplicationScopedclass SnakeAlarmProcessor private val pushNotificationService PushNotificationService private val lizardCheck LizardCheck private val logger Logger Incoming snake alarms in suspend fun processSnakeAlarm snakeAlarm SnakeAlarm val isVerifiedSnake lizardCheck checkSnakeAlarmValid snakeAlarm val verificationResultText if isVerifiedSnake Danger Successfully verified a snake else False positive Successfully verified a lizard logger info Received an alarm for snake alarm fulfillment snakeAlarm snakes verificationResultText if isVerifiedSnake pushNotificationService announcePrimaryPushNotificationService The LizardCheck has often timeouts Therefor we have configured timeout and retry options by using annotations ApplicationScopedclass LizardCheck Timeout unit ChronoUnit SECONDS Retry maxRetries suspend fun checkSnakeAlarmValid Boolean if Random nextBoolean delay Random nextLong return false return true The PushNotificationServices has a method to announce each notification services The first method has the second method has a fallback If the fallback is used we have a max retry of two attempts for that ApplicationScopedclass PushNotificationService private val logger Logger Fallback fallbackMethod announceSecondaryPushNotificationService fun announcePrimaryPushNotificationService Date val fail Random nextBoolean if fail error Can t reach primary push notification service logger info Push notification estimated in sec return Calendar getInstance apply add Calendar SECOND time Retry maxRetries fun announceSecondaryPushNotificationService Date logger info Push notification estimated in sec return Calendar getInstance apply add Calendar SECOND time Let s re check the logs INFO de fay sna SnakeAlarmProcessor vert x eventloop thread Received an alarm for snake alarm fulfillment SnakeItems id imageASCIIArtString e False positive Successfully verified a lizard DEBUG io sma rea mes amqp vert x eventloop thread SRMSG Sending AMQP message to address snake alarms FINE pro trace vert x eventloop thread IN CH Disposition role RECEIVER first last settled true state Accepted batchable false FINE pro trace vert x eventloop thread IN CH Transfer handle deliveryId deliveryTag x messageFormat settled false more false rcvSettleMode null state null resume false aborted false batchable false xSs xd x x x x x x x xa xcsnake alarms xa xapplication json xSu xa xc snakes id imageASCIIArtString e snakeVerification Snake could also be a lizard estimatedPushNotificationTimestamp null DEBUG io sma rea mes amqp vert x eventloop thread SRMSG Sending AMQP message to address snake alarms FINE pro trace vert x eventloop thread IN CH Transfer handle deliveryId deliveryTag x messageFormat settled false more false rcvSettleMode null state null resume false aborted false batchable false xSs xd x x x x x x x xa xcsnake alarms xa xapplication json xSu xa xc snakes id imageASCIIArtString e snakeVerification Snake could also be a lizard estimatedPushNotificationTimestamp null FINE pro trace vert x eventloop thread IN CH Disposition role RECEIVER first last settled true state Accepted batchable false INFO de fay sna SnakeAlarmProcessor vert x eventloop thread Received an alarm for snake alarm fulfillment SnakeItems id imageASCIIArtString e False positive Successfully verified a lizard INFO de fay sna SnakeAlarmProcessor vert x eventloop thread Received an alarm for snake alarm fulfillment SnakeItems id imageASCIIArtString e False positive Successfully verified a lizard DEBUG io sma rea mes amqp vert x eventloop thread SRMSG Sending AMQP message to address snake alarms FINE pro trace vert x eventloop thread IN CH Disposition role RECEIVER first last settled true state Accepted batchable false FINE pro trace vert x eventloop thread IN CH Transfer handle deliveryId deliveryTag x messageFormat settled false more false rcvSettleMode null state null resume false aborted false batchable false xSs xd x x x x x x x xa xcsnake alarms xa xapplication json xSu xa xc snakes id imageASCIIArtString e snakeVerification Snake could also be a lizard estimatedPushNotificationTimestamp null DEBUG io sma rea mes amqp vert x eventloop thread SRMSG Sending AMQP message to address snake alarms FINE pro trace vert x eventloop thread IN CH Transfer handle deliveryId deliveryTag x messageFormat settled false more false rcvSettleMode null state null resume false aborted false batchable false xSs xd x x x x x x x xa xcsnake alarms xa xapplication json xSu xa xc snakes id imageASCIIArtString e snakeVerification Snake could also be a lizard estimatedPushNotificationTimestamp null FINE pro trace vert x eventloop thread IN CH Disposition role RECEIVER first last settled true state Accepted batchable false DEBUG io sma rea mes amqp vert x eventloop thread SRMSG Sending AMQP message to address snake alarms FINE pro trace vert x eventloop thread IN CH Disposition role RECEIVER first last settled true state Accepted batchable false FINE pro trace vert x eventloop thread IN CH Transfer handle deliveryId deliveryTag x messageFormat settled false more false rcvSettleMode null state null resume false aborted false batchable false xSs xd x x x x x x x xa xcsnake alarms xa xapplication json xSu xa xc snakes id imageASCIIArtString e snakeVerification Snake could also be a lizard estimatedPushNotificationTimestamp null INFO de fay sna SnakeAlarmProcessor vert x eventloop thread Received an alarm for snake alarm fulfillment SnakeItems id imageASCIIArtString e False positive Successfully verified a lizard DEBUG io sma rea mes amqp vert x eventloop thread SRMSG Sending AMQP message to address snake alarms FINE pro trace vert x eventloop thread IN CH Disposition role RECEIVER first last settled true state Accepted batchable false FINE pro trace vert x eventloop thread IN CH Transfer handle deliveryId deliveryTag x messageFormat settled false more false rcvSettleMode null state null resume false aborted false batchable false xSs xd x x x x x x x xa xcsnake alarms xa xapplication json xSu xa xc snakes id imageASCIIArtString e snakeVerification Snake could also be a lizard estimatedPushNotificationTimestamp null INFO de fay sna SnakeAlarmProcessor vert x eventloop thread Received an alarm for snake alarm fulfillment SnakeItems id imageASCIIArtString e False positive Successfully verified a lizard INFO de fay sna SnakeAlarmProcessor vert x eventloop thread Received an alarm for snake alarm fulfillment SnakeItems id imageASCIIArtString e Danger Successfully verified a snake INFO de fay sna PushNotificationService vert x eventloop thread Push notification estimated in sec INFO de fay sna SnakeAlarmProcessor vert x eventloop thread Received an alarm for snake alarm fulfillment SnakeItems id imageASCIIArtString e False positive Successfully verified a lizardIf it is Danger Successfully verified a snake or False positive Successfully verified a lizard inside the log we always know if we verified a snake The push notifications are estimated with second for the faster and less reliable primary version and with seconds in case the secondary fallback version succeeds within the two retries Adding resilience to Quarkus using Kotlin is quite easy cause most of it can be done by using annotations and loose coupling If you want to try the resilience example from above you can find it on Github Have phun and stay curious EpilogSnakes are cool animals The snake detector is just a fun fiction and does not have the intent to support fears when it comes to wild animals Next time I ll choose a scenario helping animals cause we should protect all of them Buy the way Tardigrades and ants are good examples for very resilient animals |
2022-07-25 10:13:47 |
海外TECH |
Engadget |
A chess-playing robot broke its seven-year-old opponent's finger |
https://www.engadget.com/a-chess-playing-robot-broke-a-seven-year-old-prodigys-finger-100733917.html?src=rss
|
A chess playing robot broke its seven year old opponent x s fingerIn something out of Black Mirror meets Queen s Gambit a chess robot accidentally broke the finger of its seven year old opponent during an exhibition in Moscow The Guardian reported The child apparently moved his piece too soon and the robot grabbed his finger and squeezed it causing a fracture before help could arrive quot The robot broke the child s finger quot said Moscow Chess Federation president Sergey Lazarev quot This is of course bad quot nbsp Video shows the robot grabbing the boy s finger and holding it for several seconds a group of people come to free him It s not clear what went wrong but Lazarev said the child had quot made a move and after that we need to give time for the robot to answer but the boy hurried and the robot grabbed him quot He implied that the robot s suppliers may need work on the safety aspects saying the are quot going to have to think again quot nbsp The boy was identified as Christopher and went on to play the next day finishing the tournament His parents however have reportedly contacted the public prosecutor s office Russian chess official Sergey Smagin downplayed the incident calling it quot a coincidence quot and saying the machine was quot absolutely safe quot nbsp In any case the incident can be seen as a modern parable of the dangers of robots even in something as innocuous as chess On a larger scale with things like robotic cars however the stakes are considerably higher nbsp |
2022-07-25 10:07:33 |
医療系 |
医療介護 CBnews |
4回目接種の対象者に医療従事者ら追記-手引き改訂、医療施設の一括申請に柔軟対応を |
https://www.cbnews.jp/news/entry/20220725190649
|
予防接種 |
2022-07-25 19:15:00 |
金融 |
金融庁ホームページ |
「サステナブルファイナンス有識者会議」(第12回)議事録を公表しました。 |
https://www.fsa.go.jp/singi/sustainable_finance/gijiroku/20220610.html
|
有識者会議 |
2022-07-25 12:00:00 |
金融 |
金融庁ホームページ |
「ESG評価・データ提供機関等に係る専門分科会」(第6回)議事録を公表しました。 |
https://www.fsa.go.jp/singi/esg_hyouka/gijiroku/20220519.html
|
評価 |
2022-07-25 11:59:00 |
金融 |
金融庁ホームページ |
「ESG評価・データ提供機関等に係る専門分科会」(第5回)議事録を公表しました。 |
https://www.fsa.go.jp/singi/esg_hyouka/gijiroku/20220411.html
|
評価 |
2022-07-25 11:58:00 |
ニュース |
BBC News - Home |
Cricket Scotland inquiry hears 448 examples of racism |
https://www.bbc.co.uk/news/uk-scotland-62290554?at_medium=RSS&at_campaign=KARANGA
|
concludes |
2022-07-25 10:37:15 |
ニュース |
BBC News - Home |
Ukraine war: Russian investigator says 92 Ukrainians charged |
https://www.bbc.co.uk/news/world-europe-62287502?at_medium=RSS&at_campaign=KARANGA
|
forces |
2022-07-25 10:43:47 |
ニュース |
BBC News - Home |
Eurotunnel and Dover queues: Drivers warned of summer of Channel traffic delays |
https://www.bbc.co.uk/news/uk-62289432?at_medium=RSS&at_campaign=KARANGA
|
channel |
2022-07-25 10:09:25 |
北海道 |
北海道新聞 |
サル痘感染を国内初確認 東京都の30代男性 |
https://www.hokkaido-np.co.jp/article/709971/
|
確認 |
2022-07-25 19:30:00 |
北海道 |
北海道新聞 |
旧統一教会と政界 関係解明の動き拡大 立憲が調査方針 |
https://www.hokkaido-np.co.jp/article/709968/
|
世界平和統一家庭連合 |
2022-07-25 19:29:00 |
北海道 |
北海道新聞 |
「九大CARP」は宗教団体 福岡市、表彰取り消し |
https://www.hokkaido-np.co.jp/article/709948/
|
取り消し |
2022-07-25 19:25:00 |
北海道 |
北海道新聞 |
観光振興機構が初会合 事業や組織見直しへプロジェクトチーム発足 |
https://www.hokkaido-np.co.jp/article/709964/
|
観光振興 |
2022-07-25 19:22:00 |
北海道 |
北海道新聞 |
陸上200~1500メートル パリ五輪で敗者復活を導入 |
https://www.hokkaido-np.co.jp/article/709965/
|
敗者復活 |
2022-07-25 19:23:00 |
北海道 |
北海道新聞 |
健診中に女子児童盗撮容疑 岡山の医師再逮捕 |
https://www.hokkaido-np.co.jp/article/709963/
|
健康診断 |
2022-07-25 19:21:00 |
北海道 |
北海道新聞 |
縄文遺跡の出土品、英に貸し出し ストーンヘンジで特別展 |
https://www.hokkaido-np.co.jp/article/709962/
|
世界文化遺産 |
2022-07-25 19:20:00 |
北海道 |
北海道新聞 |
トヨタ、エネルギー高騰で取引先支援検討 仕入れ価格に反映 |
https://www.hokkaido-np.co.jp/article/709959/
|
高騰 |
2022-07-25 19:19:55 |
北海道 |
北海道新聞 |
生活保護訴訟、二審も困窮訴え 京都判決「コピペ」指摘も |
https://www.hokkaido-np.co.jp/article/709961/
|
引き下げ |
2022-07-25 19:18:00 |
北海道 |
北海道新聞 |
天神祭3年ぶりの陸渡御、大阪 みこし担がず人数制限 |
https://www.hokkaido-np.co.jp/article/709933/
|
大阪天満宮 |
2022-07-25 19:03:20 |
北海道 |
北海道新聞 |
大阪で7785人感染 1人死亡、9人取り下げ |
https://www.hokkaido-np.co.jp/article/709960/
|
取り下げ |
2022-07-25 19:17:00 |
北海道 |
北海道新聞 |
松前で夫婦襲撃のクマ、福島とは別個体 道総研が分析 |
https://www.hokkaido-np.co.jp/article/709957/
|
松前町白神 |
2022-07-25 19:15:00 |
北海道 |
北海道新聞 |
6月の外食売上高19%増 百貨店は4カ月連続プラス |
https://www.hokkaido-np.co.jp/article/709955/
|
外食売上高 |
2022-07-25 19:14:00 |
北海道 |
北海道新聞 |
男子代表、日韓戦へ調整 サッカーE―1選手権 |
https://www.hokkaido-np.co.jp/article/709954/
|
日本代表 |
2022-07-25 19:14:00 |
北海道 |
北海道新聞 |
高齢者、障害者にユニクロ商品を 脱ぎ着しやすさアピール 小樽 |
https://www.hokkaido-np.co.jp/article/709947/
|
衣料品店 |
2022-07-25 19:11:00 |
北海道 |
北海道新聞 |
立川、二子山親方が感染 新型コロナ、同じ勝負審判 |
https://www.hokkaido-np.co.jp/article/709944/
|
二子山親方 |
2022-07-25 19:05:00 |
北海道 |
北海道新聞 |
レンタカーの回送、ITで効率化 北海道運輸局、11月から実証実験 |
https://www.hokkaido-np.co.jp/article/709943/
|
北海道運輸局 |
2022-07-25 19:04:00 |
北海道 |
北海道新聞 |
役人用の「九九早見表」か、京都 木簡に九~五の段 |
https://www.hokkaido-np.co.jp/article/709942/
|
京丹後市 |
2022-07-25 19:04:00 |
北海道 |
北海道新聞 |
デジタル通貨「ビワコ」導入 滋賀県、交流促進狙う |
https://www.hokkaido-np.co.jp/article/709940/
|
地域通貨 |
2022-07-25 19:01:00 |
ニュース |
Newsweek |
ミャンマー、民主活動家など4人へ死刑を執行 遺体の引き渡しすら許さず |
https://www.newsweekjapan.jp/stories/world/2022/07/4-178.php
|
軍政によると死刑は日にヤンゴンのインセイン刑務所で執行されたとしている。 |
2022-07-25 19:50:00 |
IT |
週刊アスキー |
カルビーの「日本を愉しむ」プロジェクト 熊本・天草のレモンを使用したご当地ポテトチップス |
https://weekly.ascii.jp/elem/000/004/099/4099274/
|
熊本県天草市 |
2022-07-25 19:45:00 |
IT |
週刊アスキー |
スマホRPG『とあるIF』×『魔法科リロメモ』合同生放送が、7月27日20時より配信! |
https://weekly.ascii.jp/elem/000/004/099/4099270/
|
魔法科高校の劣等生 |
2022-07-25 19:15:00 |
海外TECH |
reddit |
改めて見るとキモイなこいつ |
https://www.reddit.com/r/lowlevelaware/comments/w7l7y0/改めて見るとキモイなこいつ/
|
wlevelawarelinkcomments |
2022-07-25 10:18:39 |
コメント
コメントを投稿