start (Debug中)Pluveto's Blog

From: https://www.c-sharpcorner.com/blogs/date-and-time-format-in-c-sharp-programming1

FormatResult
DateTime.Now.ToString("MM/dd/yyyy")05/29/2015
DateTime.Now.ToString("dddd, dd MMMM yyyy")Friday, 29 May 2015
DateTime.Now.ToString("dddd, dd MMMM yyyy")Friday, 29 May 2015 05:50
DateTime.Now.ToString("dddd, dd MMMM yyyy")Friday, 29 May 2015 05:50 AM
DateTime.Now.ToString("dddd, dd MMMM yyyy")Friday, 29 May 2015 5:50
DateTime.Now.ToString("dddd, dd MMMM yyyy")Friday, 29 May 2015 5:50 AM
DateTime.Now.ToString("dddd, dd MMMM yyyy HH:mm:ss")Friday, 29 May 2015 05:50:06
DateTime.Now.ToString("MM/dd/yyyy HH:mm")05/29/2015 05:50
DateTime.Now.ToString("MM/dd/yyyy hh:mm tt")05/29/2015 05:50 AM
DateTime.Now.ToString("MM/dd/yyyy H:mm")05/29/2015 5:50
DateTime.Now.ToString("MM/dd/yyyy h:mm tt")05/29/2015 5:50 AM
DateTime.Now.ToString("MM/dd/yyyy HH:mm:ss")05/29/2015 05:50:06
DateTime.Now.ToString("MMMM dd")May 29
DateTime.Now.ToString("yyyy’-‘MM’-‘dd’T’HH’:’mm’:’ss.fffffffK")2015-05-16T05:50:06.7199222-04:00
DateTime.Now.ToString("ddd, dd MMM yyy HH’:’mm’:’ss ‘GMT’")Fri, 16 May 2015 05:50:06 GMT
DateTime.Now.ToString("yyyy’-‘MM’-‘dd’T’HH’:’mm’:’ss")2015-05-16T05:50:06
DateTime.Now.ToString("HH:mm")05:50
DateTime.Now.ToString("hh:mm tt")05:50 AM
DateTime.Now.ToString("H:mm")5:50
DateTime.Now.ToString("h:mm tt")5:50 AM
DateTime.Now.ToString("HH:mm:ss")05:50:06
DateTime.Now.ToString("yyyy MMMM")2015 May
  1. d -> Represents the day of the month as a number from 1 through 31.
  2. dd -> Represents the day of the month as a number from 01 through 31.
  3. ddd-> Represents the abbreviated name of the day (Mon, Tues, Wed, etc).
  4. dddd-> Represents the full name of the day (Monday, Tuesday, etc).
  5. h-> 12-hour clock hour (e.g. 4).
  6. hh-> 12-hour clock, with a leading 0 (e.g. 06)
  7. H-> 24-hour clock hour (e.g. 15)
  8. HH-> 24-hour clock hour, with a leading 0 (e.g. 22)
  9. m-> Minutes
  10. mm-> Minutes with a leading zero
  11. M-> Month number(eg.3)
  12. MM-> Month number with leading zero(eg.04)
  13. MMM-> Abbreviated Month Name (e.g. Dec)
  14. MMMM-> Full month name (e.g. December)
  15. s-> Seconds
  16. ss-> Seconds with leading zero
  17. t-> Abbreviated AM / PM (e.g. A or P)
  18. tt-> AM / PM (e.g. AM or PM
  19. y-> Year, no leading zero (e.g. 2015 would be 15)
  20. yy-> Year, leading zero (e.g. 2015 would be 015)
  21. yyy-> Year, (e.g. 2015)
  22. yyyy-> Year, (e.g. 2015)
  23. K-> Represents the time zone information of a date and time value (e.g. +05:00)
  24. z-> With DateTime values represents the signed offset of the local operating system's time zone from

    Coordinated Universal Time (UTC), measured in hours. (e.g. +6)

  25. zz-> As z, but with leading zero (e.g. +06)
  26. zzz-> With DateTime values represents the signed offset of the local operating system's time zone from UTC, measured in hours and minutes. (e.g. +06:00)
  27. f-> Represents the most significant digit of the seconds' fraction; that is, it represents the tenths of a second in a date and time value.
  28. ff-> Represents the two most significant digits of the seconds' fraction in date and time
  29. fff-> Represents the three most significant digits of the seconds' fraction; that is, it represents the milliseconds in a date and time value.
  30. ffff-> Represents the four most significant digits of the seconds' fraction; that is, it represents the ten-thousandths of a second in a date and time value. While it is possible to display the ten-thousandths of a second component of a time value, that value may not be meaningful.
  31. fffff-> Represents the five most significant digits of the seconds' fraction; that is, it represents the hundred-thousandths of a second in a date and time value.
  32. ffffff-> Represents the six most significant digits of the seconds' fraction; that is, it represents the millionths of a second in a date and time value.
  33. fffffff-> Represents the seven most significant digits of the second's fraction; that is, it represents the ten-millionths of a second in a date and time value.

《现代化和历史教科书》批驳及历史教科书的客观性问题

对作者观点的概述

​  全文较长,我总结如下:

​  作者认为,我们有责任将历史真实告诉我们的青少年,但我国中学历史教科书存在歪曲历史的行为。作者分析了教科书所写的火烧圆明园事件的起因和经过、义和团事件等。

​  战争起因:法国马神甫在广西犯法被知县处死;广州水师缉拿中国商船“亚罗号”的海盗并带走水手。英法于是挑起战争,炮轰广州,发动第二次鸦片战争。

​  作者认为一方面,马神甫被杀与否并无定论。另一方面,马氏的确违反条约,但处死马氏,同样违反《黄埔条约》。按照法学中方理亏,教科书的评述不提中方理亏,不够准确。

​  同时,作者认为,教科书有意忽略引发战争的两条根本原因:一是《江宁条约》清政府没有忠实履行,二是《望厦条约》清政府同样拖延。三是广州反对英国人入城的斗争。这一点,中国教科书也有意避而不谈。

​  在之后的例子,作者总结道:

  1. 教科书没有提及义和团敌视现代文明和盲目排斥外国人以及外来文化的极端愚昧的行为
  2. 教科书也没有谴责清政府高级官员及义和团乱杀无辜,烧杀抢掠的野蛮、残忍的罪行
  3. 教科书对慈禧的专制淫威惹来滔天大祸竟只字不提
  4. 教科书对一些史料的运用也很不严肃

​  总之就是,中国教科书为了引导人民的爱国精神,存在盲目煽动民族情绪的做法。而这不妥,应当冷静、客观、全面地看待和处理一切涉外矛盾。

​  “说到底,这是把革命粗鄙化的流毒。”作者认为,天平天国和义和团不配称为革命,否则就是对革命的粗鄙化。这往往会导致如“文化大革命”一般的恶果。作者认为,教科书呈现出的思路的共同点是:

  1. 现有的中华文化至高无上。
  2. 外来文化的邪恶,侵蚀了现有文化的纯洁。
  3. 应该或可以用政权或暴民专制的暴力去清除思想文化领域的邪恶。

​  作者对此感到不满,认为“为了培育理性的有法治观念的现代公民”,必须纠正这些错误。

我的观点和思考

​  为了考证作者的引述,我专门找到了初中历史教科书八年级上册,由于网上有效信息太少,只找到了新编的人教版教科书,不过相关内容应该并无变化,在第八页的“相关史事”一处可以看到。

​  同样,新版教科书并未提及中方也有所理亏,这一点上,袁伟时陈述的是事实。

​  有趣的是,教科书上写到:

问题思考:如果没有“亚罗号事件”和“马神甫事件”,第二次鸦片战争会不会发生?

​  可以,这很历史唯物主义。

​  下面先说我的观点:教科书确实没有呈现完整详细的历史事实,但是教科书的对相关事件的评判,对历史进程的把握并无不妥,甚至还过于保守过于羞涩了。反倒是如果按照袁伟时先生所说的,把那些内容完完整整地写上去,未必能让这本教科书实现它的使命

​  我反对袁伟时在本文中的多数观点。有人说,观点无对错,你怎么能批判别人的观点呢?我想说,作为社会化的人,观点有对错,对错的标准就在于是否合乎我们人民的长远利益,无论是经济的利还是道德的益。再这样的框架下,我们的讨论和批判,不在于攻击对方的人身,但也不否认攻击对方的观点,我们在矛盾中寻找同一性,这种同一性就是为了群体的利。袁伟时先生虽然是大教授大权威,但是我们不能以尊重之名就全盘接受,奉为圭臬。这些废话不多说了,下面进入正题。

批判之一

​  袁伟时的错误之一:忽视了历史必然性对于历史细节的压倒性影响

​  其实教科书的那句话就把事情戳穿了。如果没有“亚罗号事件”和“马神甫事件”,第二次鸦片战争会不会发生?照我看,不是会不会的问题,而是早晚的问题。如果没有两个事件,或许第二次鸦片战争不会叫第二次鸦片战争,但是它必然会发生。(不要和我扯不发生的可能性的存在性,我们这里的逻辑是归纳强度,在相关性面前,个例或者微小的可能性,永远都无法对比例和整体相关性进行反驳,对于我这里所说的“必然”不要抬杠,一律指那种发生的可能性远远盖过不发生的可能性。)再说作者所提的火烧圆明园可能就不会发生——这恐怕只是作者地一厢情愿罢了,也许不会“火烧”,不过圆明园里地宝贝被侵略者抢走是必然的,就算不是圆明园也会有下一个xx园。

​  从细节上看,矛盾的两方必然会有理亏的地方。我们来看一个故事:

​  狼来到小溪边,看见小羊正在那儿喝水。
​  狼非常想吃小羊,就故意找碴儿,说:“你把我喝的水弄脏了!你安的什么心?” 小羊吃了一惊,温和地说:“我怎么会把您喝的水弄脏呢?您站在上游,水是从您那儿流到我这儿来的,不是从我这儿流到您那儿去的。”
​  狼气冲冲地说:“就算这样吧,你总是个坏家伙!我听说,去年你在背地里说我的坏话!”
​  可怜的小羊喊道:“啊,亲爱的狼先生,那是不会有的事,去年我还没有生下来呐!”
​  狼不想再争辩了,龇着牙,逼近小羊,大声嚷道:“你这个小坏蛋!说我坏话的不是你就是你爸爸,反正都一样。”说着就往小羊身上扑去。  

​  这个故事摘自苏教版小学课本二年级上册,相信大家上小学应该都听说过这个故事。它最初是出自伊索寓言。羊喝水把水弄脏,这固然是客观事实,固然造成了羊的理亏。但是羊如果因此就认为错误在己,因此就愿意接受条约——让狼瓜分自己的血肉,这无疑是愚蠢了。狼的生物本性、狼羊之间的强弱,决定了无论羊是否有错,都必然要遭到狼的捕杀。固然总羊能逃过一劫,但生物定律并未因此失效。列强瓜分中国在当时是历史必然,在如今也已成为历史事实。袁伟时认为,中国当时不要反抗条约太激烈,就能减少无畏的伤亡。在这一点上,对于个例的事件,袁伟时是非常正确的。但是从历史的主流来看,列强对中国的侵略从不是浅尝辄止,更不会讲究礼数。中国人的反抗,也不是偶然的昏了头脑。袁伟时似乎并未意识到,在当时涌现出一批爱国的、痛恨外国人的群众,同样是历史的必然。在这样的背景下,帝国主义侵略者可以找到无数的借口发动战争。

​  选择妥协,你固然可以逃脱几次被抓住把柄的机会,但是总有一次侵略者会找到把柄。此所谓历史必然。

批判之二

​  袁伟时的错误之二,在于天真地以为可以通过妥协换来和平之后,当时的中国就可以发展自己壮大自己

​  袁先生说:

​  国际条约是有法律效力的。人们可以指责这些规则和条约是列强主导下形成的,不利于弱国和贫苦民众。人们应该不断批判和揭露它的谬误,通过各种力量的博弈,形成新的规则,修订新的条约。可是,在没有修改以前,我们仍然不得不遵守它,否则就会造成不应有的混乱,归根到底不利于弱国和多数民众。

​  关于妥协能不能换来和平,这里我引用毛泽东的一句话:

​  斗争是团结的手段,团结是斗争的目的。以斗争求团结则团结存,以退让求团结则团结亡。(《目前抗日统一战线中的策略问题》一九四○年三月十一日)

​  当然,我个人不完全认为就不能妥协。妥协有不同的层次和不同的方式,如果认为无论何时,无论何地,只要妥协,必然失败,这也是教条主义。袁先生的问题在于认为:可以通过国内的改革发展自己,最后改变局面,并且这是唯一的道路。他说:

​  作为弱势的大清帝国一方,明智的选择是严格执行现有条约,避免与之正面冲突,争取时间,改革和发展自己。

​  改变被动局面的惟一道路,是向西方列强学习,实现社会生活的全面现代化。成败的关键在国内的改革。

​  如果当时选择向侵略者妥协,换来和侵略者之间的“和平”,中国就能发展壮大了吗?要论国内改革之开始的可能性,岂止可能,自 1840 年开始中国就已经在“师夷长技以制夷”,洋务运动搞得轰轰烈烈,当时的人何尝不知道自己强大了就没人敢欺负了。但是可能性只是开始的可能,而不是长久持续的可能。为什么继续下去没有可能?根本原因在于封建制度和传统思想之不除。封建官僚只在乎自己统治阶级的利益,腐败无能。比如危难当前,本应用于发展现代技术和传播现代思想的经费,被用来大办皇帝婚礼、修建颐和园。这样的政府,纵有李鸿章等相对先进分子,也是必败无疑。可以说,在当时的社会土壤下,再给中国三十年,中国也很难发展壮大。不妨看看旁边的印度,中国如果当初学印度当顺民,今天的发展恐怕与印度差不多。

​  参考苏联当初的辉煌和当今中国的成就、并比较非洲和拉美的发展,已经说明了,只有通过暴力推翻封建的清帝国和蒋介石的资产阶级旧中国,才能让有先进管理治理能力的社会主义党派执掌政权,推动中国的发展和壮大。如果选择妥协,搞绥靖政策,必死无疑。

批判之三

​  袁伟时的错误之三,在于全盘否定了义和团运动的积极意义。他是这样写的:

​  回头再看义和团,对内,它是与社会前进方向背道而驰的反动事件。对外,乱杀洋人不但是反人道、反文明的罪行,也是极端愚蠢危害中国自身利益的暴行。

​  义和团事件对外使中国在被奴役的附属国的道路上继续沉沦,对内则举目皆是国破家亡的图景

​  义和团的行为是不是反人道、反文明?必须承认确是如此。但是,在一场毫无人性的,八国联军与一群群众之间战争之间,“反人道、反文明”这样的词来描述我们的伤亡几十万的同胞百姓的抗争,对正面影响只字不提,恐怕有失偏颇。为什么义和团运动能够引来清政府和八国联军的联合剿灭?这恰恰显示出义和团运动对帝国主义侵略者的巨大震颤,是的,这场运动有数不尽的污点,有无数自己人害自己人的惨剧,对清政府而言,这场义和团运动加速了自己的毁灭,毁坏了文物财宝,破坏了经济,死伤人民无数,是不折不扣的灾难。但是,把历史串起来看,对渴望救亡图存的中国人而言,义和团运动,也产生了对于巨大的影响。人们终于发现了清政府的腐朽懦弱的本质,打破了一切改良的幻想——它再也不是那个高高在上不可撼动的强大帝国,也不是可以通过改革挽救的帝国,人们也发现了帝国主义侵略者并不是无所不能的,从当时的民谚“洋鬼子怕老百姓”可见一斑。民族意识就此觉醒了。

关于历史教科书的客观性问题

​  其实作者举的各个例子,核心观点就是一句话:在历史教科书中,应当以理性的态度分析一切,冷静、客观、全面地看待和处理一切涉外矛盾

  现代化的基本精神就是理性化。如果我们认同这个基本观点,就应该引导中国人往这条道上走,让理性、宽容内在化,成为中国人的国民性,以利各国人民和各种文化和谐共处。在全球化迅猛发展的时代,企业之间和国家之间的利益冲突不可能泯灭;理性地认识和化解矛盾对任何国家和企业都是最好的选择。如果一涉外就是“反帝”、“反霸”,非把事情弄砸不可。

​  我个人认为,这样的观点完全正确,这不正是我们所大力宣扬的“实事求是”精神吗?但是,要考虑到读者的接受能力问题。我没有做过调查和实验,我不知道如果我们编写了这么一本“客观、全面、理性”的历史教科书之后,历史教科书还能否发挥其作用。

​  一味地追求“理性、中立、客观”,真的有利于中国人吗?袁先生在其文章中大力夸奖了香港学生使用的教科书,不知今天他看到当时那些香港学生如今成为或者正在成为信仰“自由民主神教”的暴徒作何感想?究竟什么样的教科书是好的?我并不否认历史教科书具有政治作用,我也不认为历史教科书掺杂政治因素或者故意少写我方的负面信息一定不好。我认为,对中国人而言,一本好的历史教科书应该达到以下目的:

  1. 对于普通学生,应该在了解历史的同时激发起他们的爱国热情。
  2. 对于更优秀的学生,能够让学生学会使用唯物主义的方法分析问题。
  3. 应该对其思想道德进行引导,根本上要有利于人民的生活安定幸福。

​  要我说,无论是谁写的历史书,尤其是教科书,都不可能存在真正的“理性、中立、客观”。理性人假设永远只能是假设。历史课本的受众是谁?是人。而且是情绪最容易被煽动的青少年。所谓“理中客”教育,其结果出来的往往是自由主义和个人主义

​  我们都期望人与人之间能够相互包容,相互理解,相互帮助。但是如果其他国家的人对其青年进行情绪煽动式教育,培养大量香港废青这样的狂徒,而我们的孩子却从小接受“理中客”教育,我们是否能够在舆论场上获得胜利?如果爆发了战争,我们的敌人是不亚于希特勒的人们所煽动制造的铁骑,我们的士兵都是“理中客”教化出生,我们是否能在战场上立于不败之地?

​  其实,生存是首要的问题,我们在历史书中有意加入意识形态的引导,因此也是必要的,否则必将无法和敌人抗衡,必亡。

​  原因在于,把“理中客”奉为圭臬的教育,基本都变成了变相的个人主义教育。

​  我们在对生活的归纳可以发现:

  1. 社会中人群的利己主义倾向远大于利他主义倾向。
  2. 生存是个体的第一需要,情绪煽动或思想教育可以高效地将人的生存需要转换为追求心理满足。

​  假设人绝对理性,他就会计算出:只有整体保全,自己才能保全。因此他会做出利他主义行为,以维持自己的生存。但是,生存是个体的第一需要,所以个体在面临危机的时候,牺牲集体,就能保全自己,那么理性的必然选择就是保全自己。这样的人在历史上数不胜数,甚至人们逐渐形成了道德观念:利他好,自私坏。这是自然选择的长期结果,所有个体都“理性”的那些种群,早已消失在进化的长河中

​  如果我们动用所谓“理中客”教育,那么假设教育出来的是理中客者,那么他们在面临国家或民族的危难的时候,必然首先选择保全自己的利益,这就是朝代末期的贪官所想的——或者保持自己的生存存在,这就是汪精卫等汉奸在日本来势汹汹之时所想的,毕竟,这么做最符合理性。同时,不放看看二战时期,知识文化水平都顶尖的热爱自由民主的法国人民,是如何面对接受纳粹极端教育的德国侵略者的。

​  德国纳粹时期的历史教育和我国文化大革命时期的政治教育又走向了另一个极端——民粹主义社会灾难。这也正是袁先生所极其厌恶的,但是袁先生厌恶之后,就对这种存在煽动行为的教育嗤之以鼻,全盘否定,认为毫无益处。我则认为,一方面,为了生存,为了和平,为了能在战争或者疫情这样的危难时刻迅速将众人的心与力组织起来,在政治和历史的教育中,对社会个体成员进行具有一定偏向的思想引导,是必要的。原因就在于,情绪煽动或思想教育可以高效地将人的生存需要转换为追求心理满足。我们的思想引导,爱国主义教育,集体主义教育,能够让不少人在面对个人利益与总体利益的抉择的时候,为了心中的那份“主义”,为了同胞、为了民族、为了国家,毅然选择牺牲自己。为什么当年共产主义的幽灵能让资本主义国家为之胆寒,关键就在于这种情绪+逻辑的双重教育,成为了凝聚起民众的催化剂。而我们只要能控制好这股力量,我们就拥有了一个强大的抵抗侵略、谋求发展的武器。正如刘慈欣《三体》所写的:“失去人性,失去很多,失去兽性,失去一切。”

总结

​  历史教科书要追求客观吗?这是必须要的。但是客观中立虽好,如果周围的人都和你玩下三滥的,你的过分客观中立只会变成自己的致命弱点。没有了社会基础秩序的存在,没有了命,理性、客观、中立、自由、民主都是笑话。

​  历史教科书不能通过引导情绪来激起学生的爱国热情吗?我看未必。情感、意识形态的教育是必须的,这一点,不但中国在做,自诩客观公正的西方国家也在做,他们表面说一套自由民主客观,实际上在搞双重标准、控制舆论、煽动情绪,不但对他们自己的下一代这么搞,还对我们的香港市、台湾省的年轻人这么搞。在历史的客观公正上,我们其实做得远远比他们好。

​  我们也要对自己的教育体制有自信,这是世界上少有的较为公平的教育体系,连我这个家境普通的人也能靠努力,花很少的钱上好的大学。但是,在下一代的培养上,我们的爱国主义、马克思主义的宣传的方法还不够先进,往往还停留在低效的形式主义和填鸭式灌输式教育的阶段,必须改进。我们的唯物主义历史观、马克思主义社会经济学,不是教条的,而是有逻辑和前因后果的,也是在不断发展的,而国外的所谓“民主自由”的洗脑口号,其说服力未必比得上我们的唯物主义和我们社会主义的民主自由观,所以我们的教育不断改革,相信能产生更大的生命力,塑造更好的教育体系。

题外话

​  最近,特朗普作为一个国家的领导人,大肆宣扬种族主义,张口闭口“华人病毒”,我们必须看到,他这样做,实际上一方面,是在转移美国政府治理疫情糟糕的表现之国内矛盾,另一方面是在毫无底线地用民粹主义的方法煽动和迎合选民。我们必须打破对西式民主制的幻想,同时时刻当心美国如今的暴民政治趋势对我们的不利影响。

​  毛泽东给我们分享过经验了:

​  我们中国人曾经这样说过,如果帝国主义硬要打仗,我们也只有横下一条心,打完仗再建设。如果我们天天怕战争,战争来了怎么办?我们不是帝国主义的参谋长,又不能决定什么时候打,在什么地方打。我们怕也不管用。与其天天怕不如索性不怕。对这个问题,既要藐视它,又要认真对待它。从藐视这点讲,原子弹是纸老虎,跟帝国主义是纸老虎一样,我们战略上藐视它,战术上重视它。这没有机会主义,也没有冒险主义。

​  同样的,无论是国民教育的比拼,还是贸易和舆论的战争,我们必须认真对待,奉陪到底。


本文是形势与政策作业。写于 2020年3月22日 02:26:45。

第一章 电路模型和电路定律

【例子】

image-20200317215258437

(1) u, i 的参考方向是否关联?

(2) u, i 的乘积表示什么功率?

(3) 若(a)图 $u>0, i<0$, (b) 图 $u>0, i>0$, 元件是发出还是吸收功率?

关联参考方向

$+-$表示电势, 箭头表示电流方向:

$+\to-$ 或者 $-\leftarrow +$ 就是关联参考方向.

$-\to+$ 或者 $+\leftarrow-$就是非参考关联方向.

说白了就是电流方向是否和电压方向一致(相关), + 表示相关, - 表示反相关.

答案: (a) 关联, (b) 不关联.

吸收功率和发出功率,功率平衡

电压电流方向相关(关联参考方向)时, 自然元件就要做功, 要做功就要耗能, 耗能就是吸收功率.

$P = k\cdot UI$ 其中 $k$ 表示是否关联, 是取 $1$, 不是取 $-1$. 如果 $P>0$ 就是在消耗能量, 吸收功率. 反之则是提供能量, 发出功率. 当一个完整电路的所有元件,吸收功率等于发出功率时,称其功率平衡

答案: 关联时乘积表示吸收功率. 不关联时乘积表示发出功率. 吸收功率为负值, 说明发出功率. 发出功率为负值, 说明吸收功率.

(3) (a) 中 $P = k\cdot UI = 1\times ui < 0$ 发出功率.(b) 中 $-1ui<0$ 发出功率.

这里正负搞不清楚的, 就把功率两个字看作"用电", 发出功率就是发电, 吸收功率就是耗电. 这样就不会记混了.

【例子】写出下面各个元件的$u,i$约束方程:

image-20200317225703263

约束方程

$u,i $ 约束方程其实就是 $u, i$ 之间的关系式(注意参考方向!!影响正负). 当然根据原件不同会牵扯进其它物理量, 比如时间 $t$.

比如 (a) 是一个电阻, 那么约束方程为 $u = -iR = - 1.0\times10^4 i$

常见元件

电阻

这两个都是电阻, 左边一般是中苏画法, 美国人喜欢画成右边那种.

image-20200317230319124

电感

image-20200317230851811

图 (b) 这种绕圈圈的元件就是电感. 注意不要和美式电阻混淆. 电感的实物图和符号很像:

image-20200317230436453

对于电感我们只要知道一句话: 它只阻碍电流的变化

现在盯着上面这个绕圈圈的电感, 每个圈圈都会对应一个磁通量($\phi$), 把各个圈圈磁通量的总和叫做 磁链 记作 $\Psi$ (psi) :

$$ \Psi = N \phi $$

N 是匝数也就是有几个圈圈.

根据高中学过的电磁感应定理 $E_L = -\frac{d\Psi}{dt}$, $E_L$ 是自感电动势. 总磁通量的变化率$d\Psi/dt$就是电动势的大小, 没毛病. 负号说明是 阻碍作用 (和关联参考方向相反).

科学家做实验发现, 自感电动势的大小和电流的变化率成正比(记住这句话, 非常重要):

$E_L = k \frac{dI}{dt}$ 这个比例系数和线圈本身相关, 所以就拿来定义了物理量自感 $L$:

$$ E_L = -L\frac{dI}{dt} $$

为啥又来了负号呢? 这是因为一般感应电动势$E_L$ 是负的, 所以这么一定义, $L$ 就是正的了, 就可以少写一个负号了(大雾).

image-20200317230851811

我们回过头看这道题, 就很容易得到答案, 约束方程为: $u = - 20\times 10^{-3}\frac{di}{dt}$

电容

电容高考考得够详细了, 大家都比较熟悉平行板电容器的电容:

$$ C = \frac{Q}{U} $$

我一般记 $Q = CU$ .$See\ you$ 什么的, 听起来比较好记啦. 两边对时间求导得到

$$ i = C \frac{du}{dt} $$

这就是电容元件的约束方程. 对于题 (c) 就是 $u=-20 \times 10^{-3} \frac{\mathrm{d} i}{\mathrm{d} t}$

(下面均指理想恒流源恒压源)

电压源

电压源是一个理想中的, 没有电阻的电源. 对于本题约束方程为 $u = -5V$.

电流源

电流源是理想中的, 能提供常量值的电流的电源. 对于本题, 约束方程为: $i = 2A$

电流源有内阻吗?

如果你像我一样脑洞大开想到这个问题, 你就会翻书, 发现上面说: 电流源的内阻无穷大.

然后我就纳闷了:

  • 电流源内阻无穷大
  • 电流源提供电流
  • 内阻无穷大的电路电流为 0

这**不是个悖论吗?

别急, 你可以想象一个电源, 它的伏安特性曲线这样:

伏安特性曲线

可以发现, 当电压到达一定值之后, 输出电流几乎不变. 它的斜率的导数, 也就是电阻, 阻值几乎是无穷大. 这就说得通了.

功率平衡

求题图1-6所示电路的电压 $U_{ab}$。

image-20200316144017297

复杂电路求电势方法, 基尔霍夫定律

(a) 我们要求 ab 之间的电压, 就要知道 a 点电势和 b 点电势; 要求电势, 就要知道电流; 要求电流, 就要知道总电压; 如何求总电压?

首先, 我们取一个点作为零势点:

image-20200316151240639

然后取顺时针为正方向. 绕着走. 一开始我们的电势是 0.

沿着电流方向

遇到这样从大变小的电源符号, 就降低电势

image-20200316151400897

遇到这样从小变大的电源符号, 就升高电势

image-20200316151424910

所以走了一圈之后

image-20200316151507602

电势的变化是$u =0 -25 + 15 + 10 + 20 = +20(V)$

普通电阻的话不分正反, 所以全部加起来就是 $r=1 + 2 + 3 + 4 = 10(\Omega)$

因此电流就是 $i = u/r = 20/10 A = 2A$

知道了电流, 怎么求任意一点的电势呢?

我们都知道, 电流遇到阻碍, 电压会降低, 称为电压降.

image-20200316151922981

2A 的电流流过这个 $1\Omega$的电阻, 电压降低了 $u_1 = 2A \cdot 1 \Omega = 2V$

由于导线上各处电势相等, 流过后电势变为 $0-2V= -2V$, 所以$a$ 处电势是 $-2V$

image-20200316152109808

我们再来看零势点的另一边:

image-20200316152353332

电势从一个值 $u_b$ 上升$10V$, 然后遇到电阻下降$2\cdot 4V = 8V$, 遇到电源再上升$20V$, 来到零势点, 写成算式就是:$u_b+10-8+20 = 0$, 我们容易得到 $u_b = -22V$

根据电势差的定义$u_{ab} = u_a - u_b = -2V--22V = -2V + 22 V = 20V$, 这样就得到了最终答案.

这是一种分而治之的做法. 我们还可以用基尔霍夫电压定律(KVR), 规定 $b$ 为零势点, 那么就有

$u_{ab} = u_a - 0 = u_a = 0 + 10V - 8V + 20V - 2V = 20V$ ,结果是一样的:

image-20200316153105507

电流源和电压源

image-20200316153337821

下面来做第二题, 这道题看上去更复杂了. 首先我们认识电压源:

中间的杠和两边导线平行的是电压源. 它能提供电压, 让两边电压永远维持在一个值.

image-20200316153506018

image-20200316153549160

中间的杠和两边导线垂直的是电流源. 它能提供电流, 让通过它的导线的电流永远维持在一个值.

image-20200316153616664

好, 我们来看这个局部电路:

image-20200316154153309

显然, 电流源提供 $4A$ 电流, 那么$3\Omega$ 电阻, $10\Omega$ 电阻通过的电流是多少呢?

这个问题当时很困扰我, 奇怪的是我看了几本书都没有在本章正文直视这个问题, 正文全是简单串联电路, 然后一到习题部分就出现这种复杂电路(╯‵□′)╯︵┴─┴

书上的做法是 $4\times3$ , 难道说4A电流源可以向并联的元件提供4A电流? 错!!!

其实真相是这样的:

image-20200316162559446

下面我们纵观全局:

image-20200316153337821

这里其实有两个回路:

image-20200316162953112

标出各段的电压降(中间$10\Omega$为啥是$0V$? 因为它身上没有通过电流!):

image-20200316163235315

要求$u_{ab}$, 所以我们不妨把$b$ 当作零势点

所以从$b$点绕到$a$ 点, 列KVL:

$0 - 15V - 50V +0V + 12V = u_a = -53V$

var dateString = moment.unix(value).format("yyyy-mm-dd"); // 以秒记
var day = moment(1318781876406);//毫秒记
moment("2010-10-20 4:30", "YYYY-MM-DD HH:mm"); // parsed as 4:30 local time

出错

export const AdminLayoutRoutes: Routes = [
    {
        canActivate: [AuthGuardService], 
        children:
            [
                { path: 'dashboard', component: DashboardComponent },
                { path: 'user', component: UserComponent },
                { path: 'table', component: TableComponent },
                { path: 'typography', component: TypographyComponent },
                { path: 'icons', component: IconsComponent },
                { path: 'maps', component: MapsComponent },
                { path: 'notifications', component: NotificationsComponent },
                { path: 'upgrade', component: UpgradeComponent }
            ]
    }
];

改成


export const AdminLayoutRoutes: Routes = [
    { path: 'dashboard', component: DashboardComponent },
    { path: 'user', component: UserComponent },
    { path: 'table', component: TableComponent },
    { path: 'typography', component: TypographyComponent },
    { path: 'icons', component: IconsComponent },
    { path: 'maps', component: MapsComponent },
    { path: 'notifications', component: NotificationsComponent },
    { path: 'upgrade', component: UpgradeComponent }
];

解决方法:
找到node_modules/@angular-devkit/build-angular/src/angular-cli-files/models/webpack-configs/browser.js
找到
node: false
改成
node: {crypto: true, stream: true}

WPF DataGridComboBoxColumn 的复杂数据绑定问题 (显示文本和值分离)

今天遇到了同样的问题, 奈何网上资料全不说在点子上. SOF 有一问: WPF DataGridComboBoxColumn displaying text string for values 可惜还是不明不白的.

暴力地穷举试错之后, 我找到了解决方案. 下面记叙.

今有一类 StockStatusWrapper, 其有二属性, Value Text . 定义如下

public class StockStatusWrapper
    {
        public StockStatus Value { get; set; }
        public string Text
        {
            get
            {
                switch (Value)
                {
                    case StockStatus.InStock:
                        return ("在库中");
                    case StockStatus.TakenOut:
                        return ("带出");
                    case StockStatus.InHospital:
                        return ("存医院");
                    case StockStatus.Saled:
                        return ("已销售");
                    case StockStatus.Lost:
                        return ("丢失");
                    case StockStatus.Deleted:
                        return ("删除");
                    default:
                        return "错误";
                }
            }
        }
        public StockStatusWrapper(StockStatus status)
        {
            this.Value = status;
        }
}

我们要实现这么一个效果:

  1. DataGridComboBoxColumn 的选择框可以从文本中选择
  2. 选中更改之后修改的是值
  3. 载入数据后, 显示是文本.

好. 为了实现多个中选一个, 我们定义一个 AllStatus 于视图模型.

public ObservableCollection<StockStatusWrapper> AllStatus { get; set; }
                = new ObservableCollection<StockStatusWrapper>()
                {
                    new StockStatusWrapper(StockStatus.Deleted),
                    new StockStatusWrapper(StockStatus.InHospital),
                    new StockStatusWrapper(StockStatus.InStock),
                    new StockStatusWrapper(StockStatus.Lost),
                    new StockStatusWrapper(StockStatus.Saled),
                    new StockStatusWrapper(StockStatus.TakenOut),
};

最后, XAML 这么写

<materialDesign:DataGridComboBoxColumn
                            MinWidth="150"
                            DisplayMemberPath="Text"
                            Header="状态"
                            ItemsSourceBinding="{Binding RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type DataGrid}}, Path=DataContext.AllStatus}"
                            SelectedItemBinding="{Binding Status, Mode=TwoWay}"
                            SelectedValueBinding="{Binding Status.Value}"
                            SelectedValuePath="Value" />

解释一下:

DisplayMemberPath 表示显示的文本来自于那个成员. 这里是 Status.Text, 只写Text

ItemsSourceBinding 表示选择范围那里来, 这里是 VM.AllStatus, 为了引用方便, 我们采用了 RelativeSource

SelectedItemBinding 表示绑定的对象. 自然是 Status

SelectedValueBinding 表示绑定到的值. 这里是 Status.Value

SelectedValuePath 表示选择的范围(AllStatus) 中的每个对象绑定到那个值. 如果绑定的到 Value, 那么传递给这的格子数据值就是 Value.

MySQL 启动卡在“systemctl start mysql.service”的解决

今天登上我那年久失修的辣鸡腾讯云服务器。然后果然数据库密码忘了,由于服务器上没一个网站,所以也找不回密码。于是一番操作之后要启动 mysql。

➜  systemctl start mysql.service  
^C

彻底卡住了。

重启当然试了,没有用。

参考了网页:

https://serverfault.com/questions/345951/cant-restart-mysql/345958

https://stackoverflow.com/questions/40997257/mysql-service-fails-to-start-hangs-up-timeout-ubuntu-mariadb

https://bugs.launchpad.net/ubuntu/+source/mysql-5.1/+bug/932021

https://dba.stackexchange.com/questions/119367/mysql-hangs-with-nothing-in-error-log

https://askubuntu.com/questions/455029/mysql-server-start-failed

https://forums.mysql.com/read.php?73,677115

全部没有用。

果然还是要靠自己。一番摸索找到一个日志文件“/var/log/mysqld/mysqld.log”

200310 21:01:14 mysqld_safe Logging to '/var/log/mysqld/mysqld.log'.
200310 21:01:14 mysqld_safe Starting mysqld daemon with databases from /data/mysql
2020-03-10 21:01:14 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
2020-03-10 21:01:14 0 [Note] /usr/sbin/mysqld (mysqld 5.6.47-log) starting as process 22716 ...
/usr/sbin/mysqld: File './mysql-bin.index' not found (Errcode: 13 - Permission denied)
2020-03-10 21:01:14 22716 [ERROR] Aborting

2020-03-10 21:01:14 22716 [Note] Binlog end
2020-03-10 21:01:14 22716 [Note] /usr/sbin/mysqld: Shutdown complete

200310 21:01:14 mysqld_safe mysqld from pid file /var/run/mysqld/mysqld.pid ended

关键 " File './mysql-bin.index' not found (Errcode: 13 - Permission denied)"

这么一看就好办了, 执行

touch /usr/sbin/mysql-bin.index
chown mysql /usr/sbin/mysql-bin.index

问题解决.

吴思:《血酬定律——中国历史中的生存游戏》读书笔记

之前看了 Bilibili 的一套视频《吴思:中国历史的一种分析框架》(视频中有一些危险发言,迟早会被删除。评论区不用看了,没有一个人理解到点子上)

这个视频的观点很是新颖,所以专门了解了一下吴思这个人,顺便找了这本书来看。

在书中,作者的观点比较中肯,分析的对象主要是帝王、官员、土匪、农民等。他并没有刻意抨击任何一个群体,而是把他们一视同仁地作为自私的人来看,类似经济学的理性人假设。他也谈到了中国的党国制度(这不是本文的重点),不过并不是像一些公知那样无脑抨击,而是将其视为一种平常的制度,冷静地分析。

对于唯物史观的观点,作者大多是继承了,但并没有全盘接受,比如“生产力决定生产关系,经济基础决定上层建筑”,作者并不完全赞同,其核心观点是一切社会规则由暴力最强的集团说了算

此处摘录总结书中观点,作为笔记。


在序言中,作者提出了元规则的概念。

元规则

定义:决定规则的规则。

现象

一是《大明律》和《大诰》的制定。

制订 《大明律》的时候,几个大儒参照唐朝的法律,一条一条地修订,一条一 条地草拟,朱元璋又一条一条地品评,修改,改了又改,最后立为天下法。 但是皇帝本人并不遵行,另外编撰了一套个人色彩浓重的严刑苛法《大 诰》。朱元璋死后,他的孙子即位,放弃了《大诰》,随后被自己的叔叔打 败,夺了帝位。新皇帝上台,又恢复了《大诰》。

二是成吉思汗征服欧亚大陆,推行自己的法规。

三是汉武帝采纳董仲舒的建议。董仲舒向汉武帝论证儒术合乎皇家的根本利益,因此武帝才决定使用儒术,同时内心并不信服:“汉家自有制度,本以霸王道杂之,奈何 纯任德教,用周政乎?”,儒术只是做了工具。

分析结论

元规则的决定者:暴力竞争的胜利者(往往是暴力的最强者)。


在第一章,作者提出血酬概念,并且认为血酬的最大化影响暴力集团的行为决策。

血酬

定义:人们为了逃避或减轻暴力向暴力集团支付的报酬。

现象和分析

一是土匪种地。这说明土匪和农民两个身份之间不是割裂的。

王阳明说,各贼探知官府练兵,准备进剿的消息后,“将家属妇女什 物俱各寄屯山寨林木茂密之处,其精壮贼徒,昼则下山耕作,夜则各遁山 寨。”

二是土匪保民和土匪害民。在自己的地盘里,严厉打击犯罪,甚至自己人都杀。在外面的地盘则烧杀抢掠。这说明土匪和统治者之间也不是割裂的。

三是四川土匪播种时不扰民,收货时才抢掠。

作者认为,决定这些的根本是血酬的最大化

血酬的最大化,可以解释匪变官,官变匪,匪变民,民变匪,统治者变法改制的现象。


在第二章,作者研究了“命价”的问题。

命价

清朝雍正十二年(1734 年),户部(财政部)和刑部(近似司法部)
奏请皇帝批准,颁布了不同身份的人赎买死罪的价格:三品以上官,银
12000 两;四品官,银 5000 两;五六品官,4000 两;七品以下、进士、
举人,2500 两;贡生、监生,2000 两;平人 1200 两。

9·11 事件后,
联邦赔偿基金确定的遇害者赔偿办法据说有很大差别:如果遇害者是家庭
妇女,她的丈夫和两个孩子能得到 50 万美元的赔偿。如果遇害者是华尔
街经纪人,他的遗孀和两个孩子却能得到 430 万美元。

人命是无价的吗?

人命从事实上是不平等的:

如何看待官定命价的巨大价差呢?在当代人看来,蕴涵了人命不平等
观念的法规不是很可恶么?这要看怎么说。一二品贪官犯了死罪,法定赎
金是 12000 两银子,如果坚持“与民同罪”,1200 两银子即可赎命,岂不
是纵容大贪官犯罪?清朝督抚一级的大员,每年合法的养廉银就有1万两,
够他们赎八条命了。反过来,寻常百姓每年收入 20 两银子,也要 12000
两赎金,这条法规便形同虚设。

人命的交易

以军队为例,买主:暴力集团。卖主:士兵。购买人命的称为“血本家”


在第三章,作者研究了正式规则为何向潜规则转化。

潜规则和正式规则

正式规则代表的是官方的利益,潜规则代表的是当事的双方的利益。作者认为,当正式规则的收益低于潜规则的收益的时候,或者正式规则的伤害高于潜规则,当事人就会选择执行潜规则。

合法伤害权

作者认为,官员“可杀可放,可轻可重”,这就是“合法伤害权”,是潜规则形成的基础。而最终的根据在于对暴力的掌控。

加害者则可以单方面
控制局面,因为加害只须依赖对方的恐惧。任何人都有恐惧,但不是任何
人都有良心。

刘瑾潜流

作者认为,历史上的以刘瑾为代表的贪官,敛财靠的是一套潜流机制,有干渠支渠,分层收受贿赂。当皇帝清查国库的时候,各级“抽水机”就会加速运转,最后征收的,自然是农民的“血酬”。

巨量财富的去向

作者发现:“修建颐和园花费的巨额银两,转个身就变成了手工艺品制造者、木匠、油漆匠、泥瓦匠、土木小工等平民的工钱,从他们手里再转个身,又变成了粮农菜农小商小贩的收入。”因此少数人拥有巨量财富,也是有好的一面的,但是对于刘瑾而言,其造成的灾难远大于好处。

等到这些世界级富翁走近生命的终点时,洛克菲勒用自己的财富建立
了基金会,资助教育等社会福利事业,卡内基用自己的财富修建了
等到这些世界级富翁走近生命的终点时,洛克菲勒用自己的财富建立
了基金会,资助教育等社会福利事业,卡内基用自己的财富修建了 2811
座图书馆,盖茨也表示将来要做类似的事情。这就是说,在我们所能追踪
到的个人财富源流的尽头处,这笔巨量财富又开始为人类知识的积累和传
播服务。

灰牢考略

现象

1997 年湖北省监利县县长逼迫农民朱长仙交税,将其关入学习班,最后农民自杀。

2000 年湖北省监利县七名干部逼迫熊华品交费,将其办殴打后关入学习班,最后农民自杀。

2000 年冬湖北省监利县干部带着打手来到农民李启栋家逼迫缴费。李交不出,被关入小黑屋,冻死。

嘉庆五年(1800),山西捐输有一县派至10 万两,勒限催交,其未能措交者,即行掌责,甚至锁闭班房,名曰‘黑窑’。

遇罗克的弟弟遇罗文在《我家》一书中记载,1968 年春节后,他被关入北京半步桥监狱。1968年 9 月底的一天,三辆卡车把他们拉到了北郊的北京市第一少管所。

延安时期的学者朱鸿召:当时常用的一个方法,就是把人扣下开会学习,不转变立场不放人。

韦君宜在《思痛录》中说她的丈夫“杨述被关在整风班里(1942 年),但天天凌晨要他们整队到无定河边去冒着寒风干活。”

清朝末年,浙江省南浔镇的乡绅自发设立了“洗心迁善局”,将一些不够绳以官法的“故家不类、市井无赖、镇之不逞者”禁锢其中。

文革时期,有牛棚,学习班等。

道光年间,四川班房,全省每年在灰牢里关死一二千人,灰色处决是合法处决十倍以上。

分析

作者认为,根本目的在于额外征收税费。

以中国官员为例,额外征收的税费用于官员建设办公楼,购买小轿车,还高利贷,总而言之就是为了人的私利。

在征收出现困难,上级政府又严厉督催的时候,基层干部经常向亲朋好友借高利贷垫付,有的干脆自己借自己的钱。2000 年,监利的县、乡、区、村四级债务约 10 亿元,为此,全县每年支付利息约 2 亿元,而全县合理的农民负担不过 1.7 亿元,还不够还高利贷的。每到收款的季节,乡村干部就拼命收钱,截留下来偿还自已经手的高利贷。

从这个方面看,私设灰牢是有害的,但作者认为也有有利的一面。

一位河北农村的朋友告诉我,他们那里对付超生游击队的主要办法,就是把潜逃孕妇的公婆或父母抓起来,锁在小黑屋里冻着饿着,同时放出话去,让孕妇拿着流产证明来赎。

这个例子中,可以看出灰牢确保了政策在基层的实施,这一方面,从反而维护了公众利益。


之后的几章基本是在讲故事。不罗列了。

最后

我直接照搬作者的最后一段话吧:

总之,千年帝国安身立命的小农经济基础,已经被中国共产党领导下的工业化成就破坏了;千年帝国生存的闭塞环境,已经被西方文明带来的竞争破坏了;帝国体制解决自身利益分配失衡和人口问题的希望,已经被数十次徒劳的王朝循环破坏了。面对这些无法挽回的破坏,即使纯粹出于自身利益,旧体制合乎逻辑的最佳选择也是自我改革,为福利生产集团创造一个可控制因而可靠可信的、低成本的、高效的政治法律环境,挽救社会母体于危难之中。不过,这个选择恰恰意味着千年帝国的自我终结。在这个意义上,党国是帝国的最高阶段,党国是帝国的掘墓人。

2000 年

然后说说自己的想法:

作者其实就是把那些大家都明白的道理挑明了说,就我而言,我完全赞同他的观点。

SSLEngine On
SSLCertificateFile /etc/httpd/conf/ssl/acgmuse.com.cert.pem
SSLCertificateKeyFile /etc/httpd/conf/ssl/acgmuse.com.key
SSLCertificateChainFile /etc/httpd/conf/ssl/acgmuse.com.chain.pem

CERT 就是 CHAIN 的第一段.

{
    // Place your global snippets here. Each snippet is defined under a snippet name and has a scope, prefix, body and 
    // description. Add comma separated ids of the languages where the snippet is applicable in the scope field. If scope 
    // is left empty or omitted, the snippet gets applied to all languages. The prefix is what is 
    // used to trigger the snippet and the body will be expanded and inserted. Possible variables are: 
    // $1, $2 for tab stops, $0 for the final cursor position, and ${1:label}, ${2:another} for placeholders. 
    // Placeholders with the same ids are connected.
    // Example:
    // "Print to console": {
    //     "scope": "javascript,typescript",
    //     "prefix": "log",
    //     "body": [
    //         "console.log('$1');",
    //         "$2"
    //     ],
    //     "description": "Log output to console"
    // }
    "public static function": {
        "scope": "php",
        "prefix": "psf",
        "body": [
            "public static function $1()",
            "{",
            "   $2",
            "}"
        ]
    },
    "var": {
        "scope": "php",
        "prefix": "v",
        "body": "$"
    },
    "insert": {
        "scope": "php",
        "prefix": "ins",
        "body": "App::\\$db->insert(self::table, $1);"
    },
    "select": {
        "scope": "php",
        "prefix": "select",
        "body": "App::\\$db->select(self::table, $1);"
    },
    "get": {
        "scope": "php",
        "prefix": "get",
        "body": "App::\\$db->get(self::table, $1);"
    },
    "retId": {
        "scope": "php",
        "prefix": "retid",
        "body": "return App::\\$db->id();"
    },
    "data": {
        "scope": "php",
        "prefix": "todb",
        "body": ["${CLIPBOARD/\\$(\\w+)/\n\t\t\t'$1' => $$1/g},",
            "\t'createdAt'=>time(),",
            "\t'updatedAt'=>time()\n"]
    }
}