微信小程序開發備忘

小程序開發已經用三脚貓功夫做了一些粗略的實現,接下來就是學習這個技術框架中的細節,并且返工之前粗略、粗糙的地方。今天學習了一下幾個技術技巧: 一、子控件向父控件發送帶參數事件消息 頁面上的button按鈕是我做的一個子控件、這個按鈕是放在panel控件中的。現在我想點擊button按鈕的時候,button按鈕完成響應、并將事件通知給panel,由panel接收並繼續處理事件。 此前的實現非常拙劣,就是只使用panel進行事件的處理: 這樣做的壞處是顯然的:觸摸會發生在整個panel中。而我希望的是觸摸僅由裏面的button受理。改造過程如下: 1、首先panel的頁面層,調整代碼如下: 這樣調整之後,panel不再接受bind:tap消息,而是會接收名爲customEvent的事件,一旦接收到customEvent事件,則進行running執行。此時的customEvent事件將由button發出,所以button的代碼寫成下面的形式: 這樣只要點擊了button,就會運行sendEvent方法,這個方法内實現向父層發出消息的過程,具體js代碼是: 通過triggerEvent發出了一個customEvent事件,父控件因爲綁定了這個事件、接收到並開始處理就可以了。 二、動態成員訪問的方法 類似如下的PHP代碼: 在JavaScript中的實現方式是: 三、控件數據初始化 微信小程序的components控件,似乎沒有(我不確定)如pages頁面那樣的onLoad()方法,儅加載了一個小控件之後,向這個控件中傳入一些初始變量,便沒有辦法找到一個Init()或onLoad()的地方,對這些傳進來的變量進行預處理、以被在頁面上使用。 此時可以使用控件的observers監聽服務,對傳遞進來的變量進行監控,一旦傳遞進來的變量生效,observers服務啓動,以便進行數據的預處理操作。具體代碼如下: 四、頁面中的if/else流控方式 此前頁面中一直是這麽寫: 現在有了更好的方法: 雖然在頁面上的if/else流控寫法我已經瞭解了,但感覺并不如C/C++那樣直觀,總感覺有些奇怪,擔心它的嵌套不準確。不過也不重要,總之今天掌握的,就是這些。

《普林斯顿微积分》第8章学习备忘

这一章很简短,只有2个话题:如何进行隐函数求导、隐函数求导能够完成相关变化率的求解。这两个话题看的我是“一头雾水”,全都能够看懂、给出的例题也都会做,但其中的细节是没有一点儿能搞清楚的,总结就是这一章看的是“似懂非懂”。 一、隐函数求导: 1、什么是隐函数?这就是摆在我面前的第一个困惑,《普》几乎是很快就引入了隐函数求导的方法,而没有说明什么是“隐函数”,它是否是个更基础的、无需多说的知识呢?不得而知; 2、隐函数求导的具体过程。这一点对应着书中的§8.1,不费力气就看明白了。我在阅读这个章节的时候,对“链式求导法则”有了更豁然的理解,这个“豁然”要趁着现在还没有忘记、尽快花时间详细记录一下。否则一旦过段时间,很可能又会忘记掉; 3、具体的隐函数求导例题。没有什么难度,书中给出的例题都能跟着做出来。但诚如上面提到的,因为我不知道什么是“隐函数”,所以例题能做出来是没有意义的,原因在于:如果放在陌生的问题中,我可能很难一眼看出“这是一个隐函数”、“这里应该用隐函数求导去解决问题”; 4、隐函数求二阶导。同样的也可以将例题做出来,但是这里也存在着一个问题:我不理解二阶导的微分符号中,它的“分子”和“分母”中的上标位置区别的具体含义,或者说二阶导的上标符号具体是什么含义我不清楚。虽然能够隐约感觉到答案,但并不明确,所以这里也要再额外花时间推敲一下,形如下面的二阶导微分公式中,上标“2”的位置和具体含义: 二、相关变化率 1、§8.2章节是《相关变化率》的现实应用,以及利用隐函数求导方法求解。能知道说的是什么事情、能完成书中的例题的求解。 2、但是这些例题我自己却不会构建。不会自己构建例题说明自己完全不理解什么是“相关变化率”,不会自己构建例题意味着现实中即便遇到了“相关变化率”的问题或现象,也很难认识他们,知道他们,看得清他们,联想到使用隐函数求导的方式去解决他们; 3、相关变化率的具体概念要再花时间了解、学习。直到自己能够构建出例题、不费力气的就能信口举出例子、自己能够构建出应用场景和应用例题,才算是了解了这个话题。我现在能想到的比较感性的生活场景是人的吃饭、排泄,以及与体重的关系。这样一个生动的例子,如果能够随心所欲的构建出各类例子,并通过隐函数求导解决,应该就算是了解了。 三、小结 1、如上,就是这一章节的学习心得。可见这一章当前只是囫囵吞枣地阅读了、了解了,并不理解; 2、接下来将继续阅读第九章:指数函数和对数函数。

《普林斯顿微积分读本》阅读备忘(2)

一、前六章学习小结 已经将第六章看完了,现在开始阅读第7章的内容。前六章的内容实际上讲解的非常缓慢,都是在介绍什么是极限、什么是导数、什么是微分。我阅读、理解的更慢,断断续续好几个月才看完。却至今还是没有十分明白。 什么是极限? 极限是指某一个函数如,当自变量趋近于某一个定点时,这个函数的结果、也就是因变量将会趋近于的结果。极限是一个明确的结果、是一个明确的数值、是一个明确的“结果数值”。 什么是导数? 导数和上面的极限不同,相对于“极限”而言,导数并不是一个明确的结果数值,而是因变量的变化量与自变量的变化量的比值,也就是当在某一个明确的点(如)上时,的比值。所以它是“比值”、而非“数值”。 什么是微分? 微分是我仍然不理解的概念,上学时不理解、如今重学微分课程还是不理解。微分似乎既不像是上面的数值、也不像是上面的比值,微分什么都不是,微分只是一个“求导的过程”、“求导的方法”、“求导的思想”。微分是一种“细分思想”,利用这种“细分思想”或“微分思想”完成求导的思维方式。 同时,微分还是一个“符号”,使用“导数符号”表示的是比值结果,使用微分符号表现的是求出”比值“之前的”心路历程“。而且使用微分符号因为能够更多的展现出”求导的心路历程和动机目的“,所以在更复杂的求导过程中,利用微分符号可以更明确的将计算细节展现出来,进而使用各种”微分技巧“进行化简、转换、运算,以完成最终的求导、得到想要得出的比值来。 大概就是上面这个印象。也许还要再多花一些时间继续学习,才能有更透彻的理解。 二、额外的与模电联想 在模电中也经常会提到“微分电路”和“积分电路”,这里的两个名词具体含义也整理一下,也许过几天会用到。 微分电路:电路的输出信号与输入信号的导数成正比。换言之,微分电路输出的是输入信号的变化率。 积分电路:输出信号与输入信号的积分成正比。换言之,积分电路输出的是输入信号的累计值。 三、开始学习第七章的内容 接下来的第7章还是进一步对极限、导数、微分进行更多的例题讲解。只不过其中的例题都不再是多项式函数,而是三角函数。 大概翻看了一下后面的章节目录,后面的不同章节中,仍然是对极限、导数、微分进行更多的例题讲解,和第7章的大概方向是一样的,唯有不同的是,后面章节分别再对指数函数、对数函数、双曲函数……等进行求导、微分。 之所以简单的“极限、导数、微分”要如此一轮又一轮的重复,我猜也许是有如下2个原因: 1、不同的函数类型,微分思想虽然都是一样的,但用到的技巧各不相同,所以要区分讲解,从而不断地引入各种新的微分技巧或定理; 2、不同的工科应用领域中,用到的函数不同,例如在计算机行业中,也许就会经常用到三角函数、但很少用到双曲函数,所以不同专业的人可以有取舍的仅对自己行业频繁用到的函数类型进行微分思想练习。 如上是当前的学习小结。

《普林斯顿微积分读本》阅读备忘(1)

数学很差、差到高中数学都已经忘光、总要借助网络或计算器才能得到答案。最近读《普林斯顿微积分读本》,想提升一下自己的基础数学水平,并争取从头到尾将这本书读完。 断断续续看了两个多月,才刚看到§6.6。接下来将继续阅读§6.7-直接画出导函数的图像。 这篇文章目的是做一个之前阅读的备忘,否则过不了几天,也许又是狗熊掰棒子——把前面已经阅读过的内容忘记了。 一、前面章节主要讲的是什么? 主要讲的应该都是高中的数学知识,属于从高中的代数、向着高等数学微积分入门课程的过渡,这个承上启下的“衔接部分”,主要讲了极限、导数的概念,并且通过一些例题解释了如何计算极限和导数。 在介绍导数的基本概念时,大概讲了讲导数的本质——在图像上某一点的导数,就是这一点上的斜线斜率,换言之就是这一点上的最佳线性逼近。 二、我现在还不理解的事情有哪些? 主要是今天在阅读的时候,在“速度和加速度”章节上的“加速度为负数”例题上,有一个知识点不会:求解,或者说对于形如的方程如何求解。 书中只说用“因式分解”可以得到两个实根,并且其中一个是负数在例题的环境下应该舍弃。并没有具体的推导过程,显然是因为一元二次方程求解属于高中数学知识,显然便不展开了。但我已经忘光了,所以不会求解。只好用最笨的方法——观察法,找到了它的解。(幸好这个方程可以通过观察找出解来)。 update 2024.07.04:经过重温一元二次方程求解方法,大概知道了配方法和韦达定理,并且已经用配方法和它推导出的最终直接求根公式,完成了这部分的例题。 三、接下去要继续学习 以上就是最近的读书笔记,接下去,继续看:§6.7-直接画出导函数的图像。

记一个自己学习初等数学“切线”时的困惑

一、我的困惑和不解 函数的图像如下,显然的,在原点处是没有这个函数的切线的。但这里“显然”似乎又不是那么“显然”,切线究竟是什么呢?对于在平面上的曲线的切线,历史上有过多种定义方式,现今对切线的定义与莱布尼茨给出的定义表述是一致的,都是利用极限的思想对切线进行定义。 对于曲线S上的某一点A,在A点外做另一个同样落在曲线S上的点B,这样AB可以构成一条直线L,这条直线L可以称为曲线S的割线。 当B点沿曲线移动、并逐渐向A点接近,也就是B沿曲线S像A点逼近,当时,得到的割线便是经过A点的曲线的切线。 上面的定义本来能够解答下面这个图象的疑问:为什么在图像的原点处,没有切线呢?答:因为如果设原点处为A,可以从图像上看出来,B点在左边和B点在右边两种情况下,当时,得到的“极限L线”不一致,所以原点、也就是A点处的切线是不存在的。 但是上面这个答案、或者说解释,以我现在的数学水平,是无法“透彻理解”的。原因在于: 1、我为什么不能说这一点上有2条切线?为什么偏偏要说这一点上的切线不存在?难道图像上任何一点只能最多只有一条切线吗? 2、并不是,而直线既然是通过A和B两点定义的,那么在时就不是严格的,此时通过极限得到的与时得到的就一定是一样的吗?这里额外的又回到了上面的问题:没有2个点,怎么定义出的直线呢? 不想了,想多了脑袋痛。我觉得想通过“极限”定义出切线,也许还有其他基础知识需要学习。换句话说,我隐约感觉:或者是我的学习脉络不正确;或者是这个定义的脉络不正确。也许应该先有导数的定义,有了导数的定义就有了斜率的概念、有了斜率和点A,就可以通过直线的另一个定义方式——点斜式——定义出直线。 所以如果按“将定义脉络翻过来”的想法来解释,也许就是:图像上某一点要先可导,当它可导时就是有斜率的,从而通过“点斜式直线定义”,这一点就是有一条“点斜式可唯一定义出的直线”的,从而这样一条唯一存在的直线就是该点的“切线”。 二、额外的问题: 在搜索上面的问题及尝试通过互联网找到答案时,看到网上有这么3句话: 1、在数学中,切线是与曲线在某一点相切的直线。更严格地说,曲线上某一点的切线是该点处的最佳线性逼近。切线的定义依赖于“可微性”的概念。如果曲线在某一点处是可微的,那么该点处的切线是唯一的; 2、如果曲线在某一点处不可微,则该点处的切线可能不存在,或者不唯一; 3、如果切线的斜率为无穷大,则切线是垂直的; 上面这三句话令我更加“头晕目眩”了。原本的问题没有得到解答,却又多出来更多的“读不懂且理解不了、想不出具体情形”的表述。我现在对数学学习的感觉就是:不要想太多,能把课后习题做出来,就知足了。

柯西-黎曼方程(C-R条件)学习备忘

一、历史 1、柯西-黎曼方程,也被称为C-R条件,全称是Cauchy-Riemann equations; 2、这是一个由2个偏微分方程组构成的系统,通过这个系统可以验证给定的复变函数是否可微。因为C-R条件用于验证指定方程是否可微,所以是一种“条件验证功能”,因而叫做“C-R条件”; 3、C-R方程最早可能是1752年时,由欧拉(Leonhard Euler)首次发现的,虽然他发现并记录了这个方程组,但并没有将这个“条件方程组”与“复变函数的可微性”联系起来; 4、到了1821年,柯西(Augustin-Louis Cauchy)证明了复变函数可微的必要条件是满足C-R方程; 5、再到1851年,黎曼(Bernhard Riemann)证明了满足C-R方程是复变函数可微的充分条件; 6、经过了上述3个阶段之后,C-R方程正式成为了复变函数可微的充要条件的验证依据。

三极管基极、集电极、发射极三个名称的含义由来

本文仅为个人观点 一、问题 三极管的三个电极各自有自己的名字,分别是:基极(Base)、集电极(Collector)、发射极(Emitter)。对于PNP型、NPN型三极管,他们的图示分别如下: 对于三个电极的命名,我一直比较混乱。虽然能够记住他们,但是脑海中却总是有种“毛毛躁躁”的困惑,说不清、也想不明白,为什么这三个电极要如此命名呢? 二、历史 1、1947年 PNP型三极管和NPN型三极管并不是在同一时间被发明出来的,而是在1947年12月时,NPN型三极管先被发明了出来,它是由William Shockley、Walter Brattain和John Bardeen等人,在AT&T贝尔实验室中发明、制造出NPN型三极管。 2、1948年 之后在1948年时,贝尔实验室的John R. Pierce和Lester Hogan两人在《The Bipolar Transistor – A New Type of Semiconductor Amplifier》论文中,首次使用基极(Base)、集电极(Collector)、发射极(Emitter)这三个名称。 注:这篇文章最初发表在1948年的《Proceedings of the…

解析函数例题1则

一、例题的出现 在《复变函数》最开始的部分,有一道例题,有如下两种表述方式: 例:证明:函数 在z=0点可导,且导数等于0。 或者另外一种表述方式: 例:讨论函数的可导性。 上面两种表述方式其实是一样的,针对的都是相同的函数,研究的课题也是一样的:求出它在点的导数。有趣的是,这两个表述方式都巧妙地避开了“不严谨”。 如果让我出这道题,也许会被写成:计算出的导函数,并求出的值。 按照我的设问方式,实际上也是可以正常进行这道题的求解的,但是“问法”相当于已经默认了这个复变函数是“处处可导”的了。上面的例题使用的设问方式就很“狡猾”,它们知道这个函数并非处处可导、只在时才可导,所以从最初的设问环节开始,就避开了“不严谨”的说法。 所以这道题按照例题的问法,至少应该从以下2个方面完成: 1、深刻的理解导数和导函数是什么,小心地求证原函数是否在指定的点处可导; 2、如果原函数并非处处可导,而只在部分区域上可求导。则要看题目要求的求导点是否在可导区间上(例如本例题要求在点得出导数值),在可求导区域内则进行求导、不在可求导区域内则不存在对应的导数。 二、函数可导、导函数的意义 个人理解:函数可导、有导函数,大意似乎是:这个函数连续、并且拥有连续的渐变光滑性,其中连续的渐变光滑性的意思就是他在图像上的每一个点上都有切线存在。 上面的说法如果正确的话,在实函数上是可以比较方便的通过图像理解的。但是对于复变函数而言,图像上理解起来有一些吃力。我还不知道如何通过图像去理解这个事情(图1、图2)。 例如下图1,就是相关复变函数的图像,从这个图像上能看出函数的确是连续的、并且是渐变的,如果它的导函数也是连续的、渐变的(所有的色彩过度都是渐变衔接),那么这个函数就是有导函数的。但是从图2来看,这个函数的导函数并不是在每一个区域都是渐变的,它只在所有的横坐标上有着渐变色彩,而在任何一个纵坐标的垂直线上,都是“固定单色”,不在拥有色彩的渐变性。因而大概猜测,这个函数的导函数是不存在的。 图像1:函数的图像 图像2:函数的图像 三、除z=0点外,其他地方不可导 “深色教材”的P17页就是上面的例题,但是我还是没有完全理解。整体意思就是它最终得出的结论就是,在除了z=0的点以外的地方,导函数的值都不存在极限,因而也就不可导。具体的求证过程如下: 已知函数 ,此时,由导数定义可知 情况1:当时,上式很容易看出来是趋于0的,所以极限存在、且是0; 情况2:当时,上式的极限将等于。此时第二项中的“分数”是多少呢?这里就要再展开详细的推敲一下,也就是产生了一个新的子问题: 子问题:已知,求 五、当时,求 上面已经将问题转成了新的问题,现在对这个新的问题进行推导。书上这个过程是非常简略的,但是我数学基础差、脑子也不好使,所以展开一点点的推导。…

电容电压计算过程中的小困惑已经解决

一、初期问题 在之前的文章中,我尝试自己推导出电容被充电时,电容上的电压变化过程。 起初因为在等式变换过程中搞错了一个“正负号”,结果无论如何也推导不出来。并且因为这个“正负号”的错误很难看出来,所以一直被卡住。 昨天晚上又仔细地推敲了一遍推导过程,搞清楚了自己把正负号弄错的原因: 等号左边我做了一次分母两项调换、等号右边就应该相应的增加一个“负号”,但是忘记了。等到想起来要在右边增加符号的时候,又想当然的认为应该在等号两边同时增加负号。 这就导致了从一开始左右因数就差了一个“-1”,后来自以为的找到了问题时左右同乘-1后,其实还是左右相差一个“-1”。 所以这就令我误以为:无论是否找到了错误、修正了错误,都无法正确的完成推导。其实本质原因是:我找到了错误,但是修正之后还是错误的。 二、关联问题 在等式存在错误的阶段,我尝试基于错误的等式先完成后面的推导过程。这里其实是存在隐患的:基于错误的等式继续往后做不定积分计算时,只能在常数项在等号右边时,才能令结果与正确结果错得不多、如果将常数项放在等号左边,会令计算结果错的非常离谱。 因为有了上面的结论,我就想当然地认为:纵使今后找到了问题、修正了问题之后,常数项也只能放在等号的右边。 于是我就在上面的“假象”下,认定了:常数项必须放在等号的右边。于是进一步的:我就开始怀疑起原因:为什么常数项只能放在等号的右边呢? 其实上面所有的现象和想法,都是被误导了的。 在真正的找到了那个该死的“负号”错误之后,今天我分别将常数项放在等号左边、放在等号右边,都是可以正常完成推导、计算、得出相同的结论的。 所以这就解释了:不定积分得出的常数项,无所谓放在哪里,都是可以的。

电容跟随电压过程公式推导(1)

一、基尔霍夫电压定律: 在《电容电压跟随电源电压的过程》中给出了电容电压跟随恒定电源电压的公式,但是没有进行具体的推导过程。这个推导过程在参考文章里面有、不过比较简略。在具体推导时,正负号、常数项等细节容易产生错误,所以我还是想比较详细的记录一下推导过程。 首先根据基尔霍夫电压定律知道:沿着闭合回路所有器件两端的电势差(电压)的代数和等于零。也就是说: 在这个电路中有电池、电容、电阻,它们3个电子元件构成了闭合回路,其中电池升压、电容降压、电阻降压。 电容的压降,因为是“压降”,所以取负数。 电阻的压降,同样也是因为在电阻上电压也是“降压”,所以也是取负数。关于正负符号的选取,其实我现在还不是十分的肯定,只是因为参考文献中是这样写,所以就先“强行解释”,但具体的、本质的取负号原因,还要再进一步的推敲。 将以上3个公式合并之后,得到整个环路的基尔霍夫电压计算式。 经过电阻的电流(也是整个电路中的电流)I,这里用到了微分式。这里其实还有一个细节问题,可能需要额外的一篇blog进一步的推敲(为什么电容电压直接用Q/C,而无需加上微分项)。 再次带入,便得到了准备进行求解的方程,如上所示。 经过整理,可被整理成标准的微分方程形式。 此时可以看出来: 1、欲求解的就是Q(t)这个函数,它意味着随着时间t,电容器上积累的电荷量是多少,换言之,也就是随着时间t,电容器上的电压(Vc = Q/C)是多少; 2、虽然现在还没有解出Q(t),但也能看出来Q(t)的变化率是随着t的变化而变化的; 二、推导、求出Q(t)方程: 下面开始具体的求解推导。首先对上式进行变换,得到: 将微分符号dQ(t)和dt分别放在等号的两边,这样便可以分别对左右两边进行积分。注意上面的公式中右边多出来一个负号,是因为在变换等式时,左边的分母中的两项位置进行了调换。之所以左边分母要进行前后项调换,目的是令左边在进行积分时是标准的ln积分式、以方便积分。 两边同时进行积分,左边是“ln积分”,右边是“幂积分”,都是简单形式的积分,可以直接得到结果。 因为两边都是不定积分,所以左、右都是有常数项的,将常量合并成1个、并暂定名K,放在等式右边。这里额外的还有一个困惑:为什么常数项要放在右边?如果将常数项K放在等式的左边,似乎会对最终的结果有影响? 答:上面的“困惑”是不存在的,详见《这篇文章》。 去掉绝对值符号:推敲一下绝对值符号内部,会发现:这个为电容充电的过程,是电源将电荷给予到电容器上,而电容器始终不会“吐出”电荷,所以电源电量始终大于(最终时刻等于)电容电荷量,所以去掉绝对值符号时,绝对值符号内部的减法项要颠倒一下,才能确保正确的符号取值。 求出常量K的值:带入初始条件,开始t=0时刻,电容内电量为0,即Q(0)=0。 求出常量K的值。 将已求得的K值,带回Q(t)的方程中。如上得到一般方程。 将ln表达式合并到等式左侧。 ln表达式“外减”变换成“内除”(这里有没有更准确一些的数学表述呢?)。…