《克克焦焦计较而不知,故电子表格之道鲜矣》

可萨汗国在行动:「保持饥饿,保持愚蠢Stay Hungry, Stay Foolish」这种话,从乔布斯嘴里说出来,与从一堆乔某嘴里说出来,感觉是不一样的。

fanhan-inside

也就是关于如何运用电子表格在日常生活中计算摄入营养成分,在这全球遭瘟全国戒严的大好局势下,好日子还在后头呢。

前情提要见「日志#262」,此处仅进行技术探讨。

相关图片备份如下:

范某扫描备份于此
范某截图备份于此
fanhan-inside

补充今天的素材:

范某摄影备份于此
范某截图备份于此

首先是「一盒自热火锅加两条咸鱼」套餐,参考「前情提要」结尾部分,以及本篇讨论中如图所示,只要仔细安排菜码,两条咸鱼是可以放进火锅上盒并盖上盒盖的。下面是热好之后的样子,一盒菜上面两条咸鱼⸺对照「一碗方便面加一条咸鱼」套餐,刚好覆盖碗底的圆形面饼上盘着对折的一条咸鱼⸺这种场景是典型的「一袋三条太多,分两次刚好够加餐」的日常应用问题,来自「百姓日用而不知」的日常生活,而不是拜占庭《学说汇纂》当中占据主要部分的那种架空法律纠纷。

于是问题「(粉丝/鲜粉丝)公式选项」「不足一份的数量指定」就应景出现了。

与此同时,还吃了一大袋十个当中的四个小袋装「法式小面包」,表格当中既有「净含量」总数,又有「小包装」总数,指定是否需要除法?在整个业务流程都弄明白之前,设计数据库都要谨慎⸺但是日常生活不会等自己花了几个月时间熟悉《启示录》全套四季大戏⸺走一步看一步是肯定的。

简单说,两条咸鱼指定200克,四个小面包指定80克就行了,就当物流运输期间集装箱木板箱托盘塑封乃至大口袋小纸箱……都破了于是散货稀里哗啦洒了一地⸺没必要一律「正规化」非得弄出「(德谟克利特流)原子」单品模型出来。

顺便,与昨天那盒火锅热好了倒碗里连汤都吃掉于是底料营养计入结果不一样,今天由于咸鱼的盐全煮进汤了,本身就着面包吃并不咸,但泡汤的粉丝藕片土豆片木耳……就有燕么虎饲料风格了⸺于是按照人民群众的共识「谁连火锅底料都吃吖」,盒底那点咸汤就直接倒了,当然对应的这些营养没有计入。

或问了,如此灵活已经有心理准备了,若是咸鱼面包不那么凑巧,个性化差异明显一头大来一头小难以精确定量分析,或者虽然个性化差异不明显,但数字不够凑巧导致重量及个数刚好除不尽咋办?

答曰:夹边沟大学古拉格分校期末考试的标准答案告诉我们说,当你这条咸鱼只想要一块面包的时候,委座或曰校长就认为你不值一块面包,《齐奥塞斯库版罗马尼亚民族营养指南》是《人类群丑争芳斗艳时》的「下限」晓得伐?毕竟命是你自己的,真饿了的时候,各种「料敌从宽」「严于律己」的手段极大充沛,你自己看着办。

范狂夫注曰:十步一岗五步一哨夜不闭户路不拾遗兲子脚下首善之区国际一流和谐宜居之都城乡结合部吉普赛社区幼儿园及中小学的灵魂工程师谆谆教导预备塔利班说,「保持饥饿,保持愚蠢」(Stay Hungry, Stay Foolish)这种话,从乔布斯嘴里说出来,与从那小子户口本上超链接指向的那一堆乔某嘴里说出来,给听众造成的感觉是不一样的。

fanhan-inside

先摘抄两段日记。

关于午饭:

囧斋起居注・日记

额外买了一杯酸辣粉,是为了泡咸鱼用的,单独吃着又酸又辣,粉丝就那么一点,还不如「反客为主退位让贤」给咸鱼⸺正如之前两盒自热火锅那样,把粉丝及配料自身当成「菜码」以衬托咸鱼配面包的「家常便饭」。其实还有一杯应该一起买了,本来想买「螺蛳粉」来着,上次买了发现里面有「笋」「豆角」两个蔬菜包,但是今天没有了。

……以后日记当中会注意措辞,毕竟剧情已经逐步与现实融合了,以户主身份居住在自己的户口所在地的我当然理直气壮。

十二点吃一袋「旺旺・黑米雪饼」充饥,共84克,但是包装上写着每100克黑米含3克食用纤维,并且配料表当中大米占46%而黑米占12%……总之先以「粗粮」补充帮闲,然后于十二点一刻泡了一杯「统一・汤达人・酸酸辣辣豚骨面」于是钦定主角龙傲天「精粮」粉墨登场。

对了,刚才还单独买了一卷卫生纸,说本来六月中旬只剩半卷的,结果俩月都没用完,这几天开吃之后尤其是昨天山楂罐头吃完,嘿,真对得起消化道⸺粗粮帮闲就是干这个用的。然后发现,卫生纸没装袋带回来……只能先用半包面巾纸放卫生间了,室内桌上还剩一整包。

谈及「美食」够不够损?读者们若是觉得还有待提高的话,笔者会继续推敲。

关于晚饭:

囧斋起居注・日记

下午三点十分上床睡觉,晚八点半起。除了下半身肿胀得比较疼之外,左前额脑壳有些疼,有点像7月12日左右开始的那一个礼拜连同左眼在内的头疼⸺虽然那段时间的日记已经被毁,但是基本印象和记忆还在。

泡一碗「今麦郎・大汤面・日式豚骨拉面」。从打开包装之后的样子观察,菜包有一个,先放;汤包有一个,后放,应该是「统一・汤达人・日式豚骨拉面」的「缩水加面」版。索性连「汤达人」一起泡了,杯装当中还多了一片肉。

这种「竞品对标」还是要比供应链,货源及加工是否到位,保证品质所必须的成本不能省⸺比方说我在家吃泡面,没有渠道如超市菜市场购买其它配菜,若是小卖部没有卤蛋小香肠或其它「零嘴」菜码,就只能吃面喝汤了,包装里没有的就是没有⸺其它成本是否可削减。

于是把昨天买的「瓦罐带鱼」搬出来,玻璃罐头瓶子里面装了一堆带鱼段,可以根据情况夹出若干块出来。这种「现实应用场景」也是普通家庭「百姓日用而不知」的司空见惯的样子。于是先把今天这碗面的汤头尝尝,有个基本概念之后可以「加菜」了,其它没尝过和尝过的方便面也可以如此办理。于是化整为零「估算」每次食用的份量而不是按照标注「每份/每餐」计算,这个「电子表格应用场景」也出现了。

然后是补图:

范某扫描备份于此
范某摄影备份于此
范某截图备份于此

这份「营养成分表」当中运用了条件格式,凡是不等于「每100克」默认单位的另类,都会突出显示。

另一方面,估算的时候通常会就近碰瓷,比方说「今天晚上吃了大约100克带鱼」这种,对比产品包装上「每份410克」的净含量,果然 「除不尽」是吧?

顺便,表中就这么千八百的数字,没什么意外,用户输入的笔误都罕见,可以「先乘后除」了,不用担心中间结果「突破上限」之类老迈年高情报工学从业者谆谆教导的甚么可怕后果了也。

再顺便,包括非整数的食物份数在内还只是输入,而输出呢?整个「营养成分表」当中项目不少呢。

这就需要抄一段前几天的日记了:

囧斋起居注・日记

然后开始考虑同步电子表格的方式,既然已经决定不再继续于日记中备份营养成分表,那么就可以以此为例做实验。

  • 最简单的纯文本表格,也是流传最广的数据交换格式,是CSV文件或文本块/流,这个都知道了。
  • 不过呢,为了能在浏览器当中用着方便,通常都用JSON交换数据,相关脚本和库极大充沛,于是各种依赖浏览器引擎的编辑器肯定会考虑到,能用就用。
  • 而我自己更熟悉XML,已经体现在方方面面了,从客户端到浏览器都用过,包括但不限于已经在站上的几个测试页面。

其中「几个测试页面」罗列如下:

fanhan-inside

攒够一天的记录,有个完整的例子了:

范某截图备份于此

在「LibreOffice Calc」页面当中随便划拉划拉就能「合计」,统计一天之内摄入的营养,应该是不走脑子也能在半昏迷状态之下完成的任务。

然后就可以与Markdown格式的日记同步更新了:

囧斋起居注・日记

除了不能合并单元格之外(这点不如reStructuredText),基本显示都差不多,至少自己能看明白:今天摄入蛋白质200克略多,勉强达到了「营养不良性浮肿急救方案」标准『每日每公斤体重补充2-4克蛋白质』……

下一步,或曰「NeXTStep」,想必资深读者们都猜到了:

「下一步」(“NeXTStep”)

既然这个老谋深算老奸巨猾一向求全责备有备无患不打无把握之仗不做无准备之事的孤苦伶仃可怜废柴草根文盲矬胖老穷光棍汉精神病仆街写手不入流码农数学渣宅男黑客活雷锋烟枪酒鬼饭桶缩卵怂货窝囊废都特意提到「reStructuredText」了,那么其中一定蕴含着充沛的政治和意识形态内容丙引领了激烈的政治和意识形态斗争新动向,排版引擎「Sphinx」也是「Jupiter Book」依赖的技术,并且「.ipynb」的重点就在于「文档内执行代码」以及「互动」……这些「合计」,可以直接在「日记」文档之内算出来。