A Journal Through My Activities, Thoughts, and Notes
internet和ChatGPT都很有用,但它们代替不了学校,因为人天生是懒而不自律的。学校有更大的可能性把一个人培养成一个学习者。
driven attitude 就是“进取心”.
Your hard work and driven attitude make a difference. #english
Your hard work and driven attitude make a difference. #english
我在会见犯罪嫌疑人的时候说的最多的就是如实供述,不要听警察的,包揽不属于自己的犯罪行为,这样不会让你在警察那里得到好感,只会让你遭受不白之冤。#网摘
实事求是,是就是是,不是就不是。然而这样简单几个字,世间能做到的人有几多?
不诚实有不诚实的回报,诚实有诚实的回报。我希望更多的人选择做一个诚实的人。
实事求是,是就是是,不是就不是。然而这样简单几个字,世间能做到的人有几多?
不诚实有不诚实的回报,诚实有诚实的回报。我希望更多的人选择做一个诚实的人。
#网摘
我仰慕的大多数程序员都有一个很少被谈论的特质:无所畏惧。
他们无所畏惧地面对未知的代码库和未知的任务,尽管不知道如何完成,毅然开始着手做某事。让自己变得无所畏惧,是我发现的最好的学习加速器之一。
-- 《成为专业程序员10周年的感悟》
我仰慕的大多数程序员都有一个很少被谈论的特质:无所畏惧。
他们无所畏惧地面对未知的代码库和未知的任务,尽管不知道如何完成,毅然开始着手做某事。让自己变得无所畏惧,是我发现的最好的学习加速器之一。
-- 《成为专业程序员10周年的感悟》
#网摘
常有母亲对即将离巢的儿女说:“妈妈相信你。”但这不是理解。因为前面还有半句话 ——“ 虽然我搞不懂”。“虽然我搞不懂,但妈妈相信你,因为那是你想做的事。”这不是理解,而是相信。这种相信的基础是爱。这种耿直的爱正是父母能够给予孩子的最大的礼物。」
上野千鹤子《始于极限 》
常有母亲对即将离巢的儿女说:“妈妈相信你。”但这不是理解。因为前面还有半句话 ——“ 虽然我搞不懂”。“虽然我搞不懂,但妈妈相信你,因为那是你想做的事。”这不是理解,而是相信。这种相信的基础是爱。这种耿直的爱正是父母能够给予孩子的最大的礼物。」
上野千鹤子《始于极限 》
#csharp
## 用途
在.NET应用程序中,默认情况下会添加多个日志提供程序,例如控制台、调试、EventSource和EventLog等。这些提供程序会在应用程序运行时记录日志信息。如果开发者希望自定义日志记录的行为或只使用特定的日志提供程序,可以通过调用
在这个示例中,首先清除了所有默认的日志提供程序,然后仅添加了控制台日志记录提供程序。这种做法可以帮助开发者避免日志输出的冗余,并确保只使用特定的日志记录方式,提升日志的管理和可读性12。
Citations:
1 https://learn.microsoft.com/zh-cn/dotnet/core/extensions/logging-providers
2 https://learn.microsoft.com/zh-cn/aspnet/core/fundamentals/logging/?view=aspnetcore-8.0
builder.Logging.ClearProviders();
这一行代码的主要作用是清除当前日志记录构建器中所有已注册的日志提供程序。这通常用于在创建新的日志记录配置时,确保不使用默认的日志提供程序。## 用途
在.NET应用程序中,默认情况下会添加多个日志提供程序,例如控制台、调试、EventSource和EventLog等。这些提供程序会在应用程序运行时记录日志信息。如果开发者希望自定义日志记录的行为或只使用特定的日志提供程序,可以通过调用
ClearProviders
来移除所有默认的提供程序,然后添加所需的提供程序,例如:builder.Logging.ClearProviders();
builder.Logging.AddConsole();
在这个示例中,首先清除了所有默认的日志提供程序,然后仅添加了控制台日志记录提供程序。这种做法可以帮助开发者避免日志输出的冗余,并确保只使用特定的日志记录方式,提升日志的管理和可读性12。
Citations:
1 https://learn.microsoft.com/zh-cn/dotnet/core/extensions/logging-providers
2 https://learn.microsoft.com/zh-cn/aspnet/core/fundamentals/logging/?view=aspnetcore-8.0
#flutter #markdown
行内代码
1. 行内code也要包在一个
2. 行内code的样式不能有
3. 行内code的样式不可以直接用
鸣谢Master Markdown and Multi-line Selection in Flutter: A Step-by-Step Tutorial
行内代码
inline code
不能选中复制的问题终于解决了,要怪自己当初抄作业的时候没有抄全。几个要点:1. 行内code也要包在一个
Container
里2. 行内code的样式不能有
backgroundColor
3. 行内code的样式不可以直接用
style: preferredStyle
鸣谢Master Markdown and Multi-line Selection in Flutter: A Step-by-Step Tutorial
#jenkins How to write comments in a Jenkins pipeline
/*
for block comments
*/
// for single line comment
sh '''
npm tst
# this is a comment in sh
'''
#oracle: how to find a table's name if you only know part of its name?
SELECT owner, table_name
FROM all_tables
WHERE table_name LIKE '%KYC%';
The following c# code splits the
### Explanation
1.
- This uses the
- It transforms the
-
-
2.
- The
-
-
3.
- This converts each group (or chunk) into a list.
4.
- This final
### Alternative
Claude.AI suggests a better way to achieve the same goal, which has better simplicity and readability.
#csharp #tips
clientIds
into smaller lists, each containing up to 100 elements.var listOfClientIdLists = clientIds
.Select((v, i) => new { Value = v, Index = i })
.GroupBy(g => g.Index / 100, gi => gi.Value)
.Select(chunk => chunk.ToList())
.ToList();
### Explanation
1.
Select((v, i) => new { Value = v, Index = i })
:- This uses the
Select
method with an overload that provides both the element (v
) and its index (i
).- It transforms the
clientIds
collection into a new collection of anonymous objects, each containing:-
Value
: the original element (v
).-
Index
: the position of the element in the original list (i
).2.
GroupBy(g => g.Index / 100, gi => gi.Value)
:- The
GroupBy
method organizes the elements into groups.-
g => g.Index / 100
: This lambda expression determines the group key by dividing the index by 100. This effectively groups the elements into chunks of 100.-
gi => gi.Value
: This specifies that only the Value
part of the anonymous object should be included in the groups.3.
Select(chunk => chunk.ToList())
:- This converts each group (or chunk) into a list.
4.
ToList()
:- This final
ToList
converts the collection of lists into a list of lists.### Alternative
Claude.AI suggests a better way to achieve the same goal, which has better simplicity and readability.
var listOfClientIdLists = clientIds
.Chunk(100)
.Select(chunk => chunk.ToList())
.ToList();
#csharp #tips
30 歲仍未長大的人大有人在,可見成為一個獨立的人有多難,教育的重要性有多高。
#flutter
如果只有 AppBar 需要根据状态变化更新,那么你可以只在 AppBar 上使用 Consumer。这样做的好处是,仅当状态变化时,AppBar 会重新构建,而不会影响其他部分的 UI,从而提升性能。
如果只有 AppBar 需要根据状态变化更新,那么你可以只在 AppBar 上使用 Consumer。这样做的好处是,仅当状态变化时,AppBar 会重新构建,而不会影响其他部分的 UI,从而提升性能。