One day or day one. It is your decision

我想为我的 One Day Telegram 频道找一个合适在头像, 东搜西搜, 发现了这样一句格言:

One day or day one. It is your decision. 或者说 One day or day one. You decide.

这里 One day 指将来某天,暗示一种不确定的等待或者拖延。有一天我会做,等条件成熟了我就做。而 day one 指采取行动的第一天,意味着立即开始,不再等待。

选择权在你,是明日复明日,还是择日不如撞日,今天就开始行动。 愿大家都成为“今天就开始行动”一族。

[solution] mcr.microsoft.com/dotnet/aspnet:8.0-alpine couldn't recognize windows time zone ID

ENV DOTNET_SYSTEM_GLOBALIZATION_INVARIANT false
RUN apk add --no-cache icu-libs tzdata

Reference

By the way, my devops colleague told me if you can, changing the windows time zone id with its standard equivalent is the more preferred way. He said "its not good to set that environment variable to false"

How to Skip a Collection Run in Postman Based on Response Conditions

When working with Postman to automate API testing, you might encounter scenarios where you want to conditionally skip the execution of subsequent requests in a collection. This can be useful if a certain condition isn't met in your API responses. Here's a guide on how to achieve this using Postman's scripting capabilities.

Scenario

Imagine you have a collection where the first request returns a response like this:

{
    "content": "True",
    "statusCode": 200,
    "message": "Global value got from DbConfig!"
}

You want to skip all subsequent requests if the content field is "False".

Step-by-Step Guide

  1. Set Up Your Collection: Ensure your collection is organized with the request you want to evaluate placed at the beginning.

  2. Write a Post-Request Script: In the test script section of the first request, you'll write a script to check the content field and decide whether to continue the collection run.

    // Parse the response
    let response = pm.response.json();
    
    // Check the content value
    if (response.content === "False") {
        pm.execution.setNextRequest(null); // Skip the remaining requests
    }
    

    This script checks if the content is "False". If it is, pm.setNextRequest(null) stops all subsequent requests from running.

  3. Test the Flow: Run your collection to see the logic in action. If the condition is met (i.e., content is "False"), the collection run will halt after the first request.

Explanation

  • pm.response.json(): This method parses the JSON response from your request.
  • pm.setNextRequest(null): This function is used to stop further requests in the collection run. If the condition isn't met, the collection continues with all remaining requests in their original order.

Benefits

  • Efficiency: Avoid unnecessary API calls when certain conditions aren’t met, saving time and resources.
  • Control: Gain greater control over your testing workflows by dynamically determining execution paths.

Conclusion

Using pm.execution.setNextRequest(null) in a test script provides a straightforward way to control the flow of your Postman collection runs based on specific conditions in your API responses. This technique can be a powerful tool in optimizing your automated testing processes.

Feel free to customize the logic to fit your specific needs!

详解:import { ref, onMounted, watch } from 'vue'

一个朋友说 Gemini最近的进步已经挺大了,于是我就试验了一下。 我问Gemini:你能否用简洁的汉语详细解释一下import { ref, onMounted, watch } from 'vue'这一语句import的这三个对象?它们是什么,做什么用,好的实践是什么?

Gemini的回答令我非常满意,因此我把它发表在这里。它的回答是:

好的,我来详细解释一下这段代码中导入的三个对象:

import { ref, onMounted, watch } from 'vue'

解释:

  • import:

    • 这是 JavaScript 中的导入语句,用于从其他模块(这里就是 Vue.js)中引入需要的功能。
    • 想象一下,你在搭建积木,import 就相当于你从积木盒里拿出特定的积木块。
  • ref, onMounted, watch:

    • 这些都是 Vue.js 提供的三个核心功能:

      • ref:

        • 作用: 创建一个响应式的引用。
        • 比喻: 想象一个盒子,你把一个数据放进去,这个盒子就变成了一个 ref。当盒子里面的数据发生变化时,Vue 会自动追踪到,并触发相应的更新。
        • 使用场景: 用于创建响应式的基本数据,比如一个计数器、一个输入框的值等。
      • onMounted:

        • 作用: 在组件挂载到 DOM 后执行一次回调函数。
        • 比喻: 就像一个新房子建好了,你就可以搬进去开始装修了。onMounted 就是在你搬进去之后执行的第一个动作,比如打开窗户通风。
        • 使用场景: 用于执行一些初始化操作,比如获取数据、设置定时器等。
      • watch:

        • 作用: 监听一个值的改变,并在值改变时执行回调函数。
        • 比喻: 就像你设置了一个监控摄像头,一旦监控到有物体移动,就会触发报警。watch 就是这个监控摄像头,它会持续监控一个值,一旦值发生变化,就会执行你设定的操作。
        • 使用场景: 用于实现一些复杂的逻辑,比如根据数据的变化动态更新视图、进行表单验证等。

总结:

  • ref 用于创建响应式数据。
  • onMounted 用于在组件挂载后执行初始化操作。
  • watch 用于监听数据的变化并执行相应的操作。

好的实践:

  • 合理使用 ref: 不要过度使用 ref,只对需要响应式的数据进行包裹。
  • 在 onMounted 中进行异步操作: 将获取数据、设置定时器等异步操作放在 onMounted 中,确保组件已经挂载到 DOM 中。
  • watch 的使用场景: watch 更适合监听复杂逻辑或需要深度比较的情况。对于简单的计算属性,可以使用 computed

示例:

import { ref, onMounted, watch } from 'vue'

const count = ref(0)

onMounted(() => {
  // 在组件挂载后获取数据
  fetch('/api/data')
    .then(response => response.json())
    .then(data => {
      // 更新数据
      count.value = data.count
    })
})

watch(count, (newValue, oldValue) => {
  console.log('count has changed:', newValue, oldValue)
})

更深入的学习:

如果你想更深入地了解这些概念,可以参考 Vue.js 的官方文档。

希望这个解释能帮助你更好地理解这三个对象的作用和用法。如果你还有其他问题,欢迎随时提出。

我觉得AI非常善于把概念性的事情用简洁准确的方式说清楚,在这一点上,真可以说它的智慧出于人类而胜于人类了。

HappyNotes Privacy Policy

HappyNotes is committed to protecting your privacy and ensuring the security of your personal information. This privacy policy explains how we collect, use, and safeguard your data when you use our note-taking application.

Information We Collect

Personal Information:

  • Account details (email address, username) for registration purposes
  • User-generated content (notes, tags)

Usage Information:

  • Device information (operating system, device type)
  • App usage statistics (features used, frequency of use)

Cloud Storage: We offer cloud storage to sync your notes across devices. Your notes are encrypted in transit and at rest.

How We Use Your Information

We use the collected information to:

  • Provide and improve our services
  • Sync your notes across devices
  • Analyze app usage to enhance user experience
  • Communicate important updates

Data Sharing and Third Parties

Telegram Sync: If you choose to sync notes with Telegram, your notes will be shared with Telegram according to your specified rules. Please review Telegram's privacy policy for information on how they handle your data.

Public Notes: Notes marked as public may be visible to other users of the app. Exercise caution when sharing sensitive information publicly.

Data Security

We implement industry-standard security measures to protect your data:

  • Encryption for data in transit and at rest
  • Regular security audits
  • Limited employee access to user data

User Rights

You have the right to:

  • Access your personal information
  • Correct inaccuracies in your data
  • Delete your account and associated data
  • Export your notes

Changes to This Policy

We may update this privacy policy periodically. We will notify users of any significant changes via the app or email.

Contact Us

If you have any questions or concerns about this privacy policy, please contact us at happynotes.now at gmail.com

By using HappyNotes, you agree to the terms outlined in this privacy policy.

Last updated: 28-Aug-2024