Bitwarden(Vaultwarden) 提供了命令行版本的客户端, 利用 Ansible 的 vault_password_file
, 我们可以很方便的在使用 ansible-vault
时调用 Bitwarden 里的密码。
普通视图
Ansible使用Bitwarden存储Vault密码
又熬过了一个月末
当年今日
- 2024 : 又熬过了一个月末
- 2023 : 那时的广州到底是怎样的?
- 2022 : 魔幻在继续
- 2021 : 衔接
- 2020 : 为什么要消消乐
- 2019 : RUN NOTE
- 2019 : 随心乱走
- 2018 : RUN NOTE
- 2018 : 可以早起的人
- 2017 : 大大的幸福感
- 2016 : 手表带那些事
- 2015 : 神经紧张
- 2014 : 我和微生物的那些事
- 2013 : 统计吾爱
- 2012 : 山寨手机套挺好
- 2011 : DESTINY FULFILL时
- 2010 : 郁闷的一碰
- 2009 : 最后的开始
- 2008 : 踩踩乐
- 2007 : 一起走过的日子
- 2006 : 懒根又起
- 2005 : 人生目标
- 2004 : blog,使我爱上写作
上个月末的最后一天是周六。我能预知到单位会发生的业务主要在哪些方面,但我没办法确定那些业务什么时候才能结束。周六的那一天我跟我妈去了琶洲的农博会,吃吃喝喝玩之后就去了品汤居吃饭,因为前一天晚上我就发现大众点评上品汤居居然出了套餐。过去好长一段时间,我跟我妈都是起码晚上20点多才会到家,但这个周六的晚上我们没到19点就到家了。因为我们没到17点就已经到了品汤居,在它旁边的盒马奥特莱斯已经转了一圈。品汤居的晚市从17点开始,但他们居然真的离晚市开始前大概10分钟才开门迎客。我们是第一波进去吃的人,但我们不是第一批吃完的人,有些人去得比我们晚,但吃得比我们快。
在开始周六的活动之前,我没有告诉我妈我要早点回家,因为是月末,因为有很多东西要做,但是我又不能提前做。冥冥之中又出现了这种默契,没到19点就回家,然后赶紧洗澡,接下来就是坐在电脑旁把能做的先做,不能做的在那里等待。晚上21点多,单位的作业终于结束了,我也终于可以开动起来。
每到月末,我都会有焦虑症,因为我知道有很多东西要在那个时候才能完成。东西不难,但是需要完成的东西越来越多,所以哪怕每个东西你只需要几分钟积累下来依然需要很长时间,而且因为东西很多,所以很容易会漏掉。有些东西做起来就是一个条件反射,但另外一些东西需要你要慢下来想清楚,否则会浪费更多时间。有些事情需要动脑筋,但是在晚上的那个时候,脑筋真的无论如何都难以像白天那样动得那么自如了。我每次我都要克服这种状态。
从近几个月末的情况看来,在单位的业务结束以后,我大概需要两个小时就能把所有事情做完。这里做的只是一个普通的月末,年末的时候,事情又会变得很不一样,因为又会多出很多东西需要继续完成。月末东西的难易程度跟单位的某些业务什么时候结束有关。如果省储业务早就已经结束了,比如最后那天根本没有省储业务,我可以把很多的东西都提前解决掉,所以月末那一天,我需要干的事情就少了很多。但如果月末那一天中转业务要挺到晚上11点才能结束的话,那么即省储业务我能干的都干了,后面那些东西还是得扛到第二天凌晨才能全部解决掉。所以为什么会焦虑呢?如果所有业务都不确定,那么所有东西都得等到最后那一刻,如果省储业务也还在内的话,所有东西结束后我起码需要两个小时时间才能结束一切,如果那个结束的时间已经是晚上23点以后甚至接近24点,那么就意味着在我开始工作的时候,我的脑子已经非常不清醒了。我不奢望他们最后那一天不干活,起码能不能控制一下结束时间,比如搞到晚上20点或者晚上22点,不要赶到晚上23点甚至24点。无论我期望多少回,这些要求我还是不会在他们面前提起,他们也不会为了我一个人改变所谓的习惯。
我已经不知道如何让自己不产生月末焦虑了。
杂记-20241203
来吧,互相伤害
一段时间以来,上班时经常碰到货梯被占用(逐层长停的情况),然后门口地面时不时就湿漉漉的情况。
观察发现,原来是清洁工所为。
楼里有几个清洁工,除了分层打扫清洁,估计也分层承包了纸箱水瓶的回收事宜(商务楼,日常包装箱较多。)。
近来可能竞争加剧(经济下行,物业公司估计搞了某种竞争机制,纸箱有被其它同行收走的风险),清洁工加大回收力度与频率。由之前的下班后作业,增加了上班时间段的上午、下午开展回收作业。导致货梯时不时出现占用情况。
除了回收作业外,在每次整理收回的纸箱时,该清洁工都会将纸箱全部展开,疯狂向其泼水后再打包。导致过道时常湿漉。
和同事讨论,这种方式交付到回收站,回收站都不会发现么?
同事说,就算发现了,又有什么关系,回收站随便耍点称就回来了。最终都说不准,谁占谁的便宜。
你以为你增重了他不知道,他以为他耍称了你不知道。
物业公司以为引进了竞争机制降低了成本,却不知道底下员工又主动降低了服务品质影响了物业公司。
这到底是道德的沦丧还是人性的扭曲。
来吧,互相伤害吧。
2024年11月阅读书摘
11月阅读记录
- 《格里格外》Done
- 《一生之敌》Done
- 《我用中文做了场梦》Done
- 《我们为什么要睡觉》48%
- 《一团坚冰》36%
- 《为你的生活写作:布洛克小说一日课》51%
11月阅读书摘
一生之敌
- 书名: 一生之敌
- 作者: 史蒂文·普莱斯菲尔德
- 简介: 我写了17年才赚到第一分钱(一个从未制作过的剧本的3500美元稿费)。
我写了27年才出版了我的第一本小说(《重返荣耀》)。
在那段时间里,我在11个州做了21份不同的工作。
我在学校教书,开拖拉机拖车,做广告,在好莱坞做编剧,在海上石油钻井平台工作,像移民工人一样摘水果。
有一个季节我住在这所房子里。它没有电,没有水,没有门,没有窗户。租金是每月15美元。
在这段时间里,我一直在写作。
我为什么要告诉你这些?
因为这本书是为了能让你从我的错误中学习。
因为这本书是为了让你避免那些我在成为作家之前所陷入过的所有绝境。
你本该成为一名画家、企业家、运动员;你本该从昨天开始穿上跑鞋、拿起画笔、出门旅行。你屈服于止痛药、流言蜚语和手机成瘾,你本该成为的人只存在于夜深人静时的幻想。你屈服于这位一生之敌,浪费着自己的天赋。作为一个曾跌入谷底的过来人,作者普雷斯菲尔德以其毕生的经验,为我们总结了造成这些困境的根源——内阻力,并指出这位敌人是我们过上另一种人生面临的zui大挑战,而战胜它的方法是付诸行动,成为职业选手。本书为每一个人而写,尤其是创作者、创业者、拖延症患者、浪费天赋、缺乏行动力犹豫不决的人群,作者在给出一记响亮耳光的同时,也给予了无比慷慨真诚的鼓励。
- 出版时间 2024-07-01 00:00:00
- ISBN: 9787553530215
- 分类: 个人成长-励志成长
- 出版社: 上海文化出版社
我所知道的
- 📌 难的并不是写作。而是坐下来开始写。
内阻力会招募盟友
- 📌 通常,夫妻或亲密的朋友,甚至整个家庭,都会进入一种心照不宣的协议模式,每个人都会(不知不觉地)尽力确保自己和所有亲朋好友困在同一个坑里,他和他所有的亲友就那样躺在坑里,无比舒适。一只螃蟹所能犯下的最严重的叛国罪,就是跳上桶口的边缘。
内阻力与拖延
- 📌 拖延是内阻力最常见的表现,因为它最容易被合理化。我们不会坦然承认,“我永远不会动笔去写我的交响乐。”相反,我们会说:“我会写的——只是明天再开始。”
内阻力与自我治疗
- 📌 我曾在纽约一家大型广告公司担任文案。那时,老板常常对我们说:去发明一种疾病。他说,只要造出个病来,我们就可以卖药了。
内阻力与不快乐
- 📌 作为艺术家和专业人士,我们有义务发动我们自己内在的革命,在我们自己的头颅里掀起一场属于个人的起义。在这次起义中,我们要摆脱消费主义文化的暴政。我们要推翻广告、电影、游戏、杂志、电视和MTV编定的程序,这些东西从摇篮时期就开始催眠我们。我们拔掉电网插头,因为我们已经认识到,把可支配收入贡献给“狗屎股份有限公司”来完成它的底线目标,这永远无法疗愈我们的不安,唯一的办法,只有工作。
内阻力与合理化防御
- 📌 合理化是内阻力的代言人,会帮助它掩饰藏在身后的大棒。它不展示我们的恐惧(这可能会让我们感到羞耻,进而促使我们去做我们的工作),而是为我们提供了一系列看似中肯、合理的正当理由来解释,为什么我们不应该去做我们的工作。
职业选手不找借口
- 📌 他尊重内阻力。他知道,无论借口多么合理,只要今天屈服了,明天屈服的可能性就会是今天的两倍。
接近神秘
- 📌 因为,只要我们能够每天都坐下来,不断地“磨”,一些神秘的事情就会开始发生。齿轮开始转动。在这个过程中,上天必定、必然会对我们伸出援手。会有看不见的力量加入我们的事业进程,会有意想不到的好运加持我们最终的目标。
我用中文做了场梦
- 书名: 我用中文做了场梦
- 作者: 亚历
- 简介: 《我用中文做了场梦》是意大利青年作家亚历用中文写下自己六年中国漫游的非虚构文学作品。
2016年,23岁的毕业生亚历在衰老的意大利看不到出路,决心投奔冉冉升起的电影制作热土——中国。他来到北京电影学院学导演,出演瓜子和手机广告,在主旋律战争片中当46号群演,用蹩脚的普通话录电影播客,给纪录片当翻译,也参与过地下独立电影制作。
六年间,亚历从零开始学中文,在豆瓣上写日记,在大城小镇与不同的人对话,在每一次微小的相遇中见证中国的广阔:在北京,和宿管阿姨学习怎么切菜;在广州拍广告,开工前喝早茶,拍完片喝断片;在上海,把客厅当成写作沙龙,创造一个临时的家;在四川农村,把白jiu当成暖气,跨越寒冬和方言的隔阂。
亚历用冷静又不乏幽默的文字,记录自己在中国的观察和日常,书写近年的个体遭遇和时代变化,也写下无论全世界青年人共同面对的时代情绪和现实困境:在失序且孤独的时代,勇于拥抱生活的不确定,保持流动,渴望自由,跨过隔阂,与人连接。- 出版时间 2024-06-01 00:00:00
- ISBN: 9787549642632
- 分类: 文学-散文杂著
- 出版社: 文汇出版社
前言
- 📌 从差不多十岁的年纪,写作就是我最靠谱的朋友。写作能解答我的疑惑,挖掘我的感受,带来新的结论。它在我的生活中是一个很低调的存在:有时候,它会放你走,让你该忙忙、该玩玩,不会限制你的活动。它不急,因为知道你迟早不得不坐下来面对那张空纸慢慢说事。我试过忘记自己有这样的精神义务,却次次都回到了电脑前,仿佛被某种无形的力量所吸引。这是我的命运,和它较劲完全无效,我只能常年接受写作的召唤。
来中国才是正经事
- 📌 中国的电视剧能创造一种独特的既和生活有关,又不反映现实的平行世界:现实中,没有那么多摆在房间各角落显眼的酸奶盒。
过日子的老外
-
📌 这个世界无疑简单,有时狭窄又无聊,却熟悉到令人欣慰。
-
📌 生活在别处,不熟悉的一切是每一天的挑战。我们选择抗拒和怨恨,还是包容和好奇,会决定我们的生活体验。我要努力做后者;如果发现做不到,就回家。
北京,北京
-
📌 我感觉自己是一名到处抵抗邪恶寒气的孤独的战士。我没有明显的疾病,却陷入了深深的危机感。
-
📌 我们的生活在平行的轨道上进行,却总是有交叉。
和人交流
- 📌 说起各种疫情前的习惯,好像说的不是自己,而是曾经活着的某个人。
海边的老师
- 📌 我们产生情感交流的速度远远超出我的想象。我以为年龄差距和生活经历的截然不同会阻挡双方对彼此的深度理解,像成年人一样,待在自己的同温层并排斥和层外的世界交流,似乎听什么播客可以决定你和他人日后交往的可能性。但是学生立刻习惯了我的存在,用简单的一句“老师再见”将我纳入他们的日常之中。那些我以为会成为沟通障碍的因素,反而促进了我们的交流。我们对彼此没有任何预设,像是在没有地图的情况下去探索一片未知的土壤。我适应了学生的思维——周日下午那些既能引用《愚公移山》,又能讲到在洛杉矶生活的东北博主的作文。在去食堂的路上遇到学生打招呼会给你一种归属感。我原本觉得自己只是来这里体验、观察、了解,却很快就动了心。
何处才是家?
-
📌 我尽量推迟做决定,在漂泊的自在中躲避。北京像是一个前任,有美好的回忆,但是是回不去的。它又像一段离不成的婚姻,总以某些借口牵绊住你。我们已经分居了:我在上海参加电影节,出门在外有快一个月了;它在家等着,保管我的行李,默认我早晚要回来。
-
📌 冰箱中看似多余的草本植物会营造一种家的感觉。在这一点上,我已经脱离了现实。我需要的不是草本植物,而是它们的氛围。我用实实在在的金钱去买感觉。也许只有当下的自己才会懂,一个没有罗勒叶的家有多么莫名其妙。
花园坊的春天
-
📌 我特别珍惜自由职业所带来的安静,它让我回归社会的观众席,欣赏日常工作间隙的小剧场。
-
📌 这个群确实改变不了世界。不过,在失序的生活中,小社群的存在给每个人带来某种更坚固的依靠。不管是用来发泄无力感或不解,表示无奈或迷茫,或只是为了求食用油,它说的是:在花园坊,你不是一座孤岛。
流动中的人
- 📌 “格林豪泰酒店-大柏树店”,我这才意识到自己在哪里。加上摆在地上的洗衣篮,“大柏树”那三个字把我带回一个已经没落的时代。上下班、创业园区、奶茶、烧烤、火锅店、出差、同事、酒醉、开房。白色的防护服和棉签将我们虚无主义的人生一扫而尽。我们在这里从罪恶中赎回自己,怪不得不需要付房费。那是曾经的世界。现在,不用交钱。要交上被成功净化的灵魂。
唐先生的故事
- 📌 在酒席上遇到年轻人时,我心里会渴望这种事情发生——一种抛开过节的场合规则、作为同龄人的精神连接,能让我们聊点彼此的想法和感受。他们有时候会坐我对面,但是一次又一次敬酒的节奏容不下字面意义上的闲聊。
解决罗技 G304 鼠标按键连点问题,续命成功!
往前翻了几下,我这台罗技 G304 鼠标是 2021 年配台式机时从咸鱼购入的,当时花了一百多买的“仅拆封”二手机器。上手后完全颠覆了我对无线鼠标的刻板印象:G304 响应速度极快,用来玩 FPS 游戏毫无压力。不仔细对比的话,甚至可以说性能完全不输有线鼠标。
然而,用了一段时间后,这台鼠标也不出意外地出现了“通病”:左键偶尔会连点双击。每次遇到这种情况,我都会用力敲击几下,结果问题竟然会暂时缓解——所谓大力出奇迹!就这样,这台 G304 在“击打修复”的神操作下,稳定地陪伴我到了现在。其间,它经历了无数“灾难性”场景:从一两米高处摔下无数次,变成我儿子的玩具,甚至当过他的磨牙棒……但它依然坚挺,实在是又耐用又抗揍。
不过,由于它被啃了几口,底部的胶垫损坏了,导致滑动变得不那么顺畅。有一次偶然看到有人卖鼠标胶垫,我花两块钱买了一套贴上,结果滑动手感瞬间恢复到了刚买时的状态——那种熟悉的流畅感,又回来了!
折返点 2448 气温1度 水温6度
【共读记·廿三】放弃挣扎
20241202股市小记
不贴膜了
当年今日
- 2024 : 不贴膜了
- 2023 : 在摸索粘鞋技巧的路上
- 2022 : 千差万别的连接强度
- 2021 : 17年的积累开花了
- 2020 : 写字
- 2019 : 变冷了
- 2018 : 我不需要VIP
- 2017 : RUN NOTE
- 2017 : 鞋子那些事
- 2016 : 封装ass传土豆很可以
- 2015 : 作孽
- 2014 : 规则
- 2013 : 基础代谢率死循环
- 2012 : 小评WWE全体superstar
- 2011 : 怨念中的乐观
- 2010 : 色彩碰撞
- 2009 : 门口排长队
- 2008 : 干吧,干吧
- 2007 : 精彩绝伦的音乐王子
- 2006 : 社区行
- 2005 : 充实的星期五
- 2004 : Bad Luck
周四晚上回到宿舍,当我把手机掏出来的时候,傻掉了,小米Civi 1S的边上有了一个很长的气泡,然后我就开始戳,大气泡没有了,但是却变成了几个散的小气泡,接下来无论我怎么戳气泡都不消失,气泡的大小没有变化,当我从左往右戳的时候,那个气泡居然自己向左那边跑了,一开始那个长条的大气泡是出现在手机右侧接近水凝膜边缘的地方。那个气泡,准确的来说是那个已经分解为小气泡的气泡不断地向我的屏幕中央挪动。我妈之前也发生过这种事,我说那是因为她把手机放在包包里,被什么东西挤压到了,但她就不信。这一次我自己也遇到了这种事情。平时我都是把手机揣在裤兜里,裤兜里就一个手机。如果我有两个手机,那么我就左边一个右边一个两个,不会碰一起,我那天晚上刚好我把两个手机都平放在了包包里,于是就发生了这种事情。所以到底是什么东西挤压到水凝膜呢,根本无法的得知。另外一个手机贴的是钢化膜,因为那是直屏手机,曲面屏的手机我只能贴水凝膜。我妈那个曲面屏的手机出现了泡泡以后,我有想过在网上给她买水凝膜。水凝膜这个东西,我只贴过一次,在我的小米Civi 1S上贴,一次性我买了两张水凝膜,因为没有单张可买,那是闪魔的水凝膜,最便宜的那款。贴膜的那一天,我选了一个非常潮湿的日子,所以理论上空气之中完全没有浮尘。我在宿舍贴膜,把门窗都全部关死了,尽量制造一个少空气流动的空间。水凝膜99.9%是贴成功的,但就在右侧的某个边上出现了一粒灰尘。水泥膜出现灰尘是毫无办法的事情,因为不可能像钢化膜那样重新撕开再处理,贴上去就贴上去了,只能一次性。后来使用过程中我没有感觉那里灰尘影响过我,因为那是在一个我几乎不会碰到的地方,那粒灰尘也没有扩大范围,可以这么说,基本上你看不到那个灰尘的存在。但水泥膜这个东西,疏油层真的是太薄了,哪怕是新膜贴上去,我已经觉得有点不知道怎么样的感觉。我又有每天都用酒精擦手机屏幕的习惯,所以水凝膜很快就出现了油污指纹乱七八糟的东西。忍得住的时候不去碰它,但忍不住的时候,一天不知道得擦多少次手机。
某个周五,我把一箱装在储物箱里的橡皮章带回家的时候,在地铁上发生了一个意外。大概第二天,我发现水凝膜的右侧被划开了一道。为什么会发生这种事情呢?唯一的解释就是我把手机放在裤兜里,但是那个事件来得太突然,我坐在地铁那条长椅的右侧,我坐在最边上的,所以可能我的手机刮蹭到了。气泡或许你还能戳一下,但是那一下真的直接把水凝膜给划开了一道口子,但我确定屏幕没有因此受损。如果当时我的手机壳的是一个包裹性比较好的,估计没事,但关键是水凝膜很挑壳,除了官方标配的那种透明半包裹型的手机壳以外,其它硅胶手机壳一律顶膜。硅胶手机壳买了两个,但一次顶第而次也顶,我也就只能放弃。划开的那道口子,影响我的视线,因为那里就出现了一道很明显的东西。
周四晚上出现的那几个泡泡,触屏的时候能明显的感觉到那里的凸起,可以说手感变得糟糕,摆在我面前有两个选项,一个是重新贴膜,第二个是直接把膜撕掉,不用手机膜了。
周五纠结了一天,到快下班的时候我决定直接把膜撕掉,不再贴了。因为之前那个水凝膜贴上去我不知道起到了多少保护的作用,反正在使用过程中其实挺不舒服。贴膜还得随时提防会不会顶手机壳、四周会不会顶开出现泡泡。
我从来没有试过当手机还在作为主力机服役的时候就不带手机膜使用。这一次把膜撕掉了以后,我才发现原来手机自带的玻璃屏幕是这么的舒服。基本不会留任何的指纹和污渍。那种顺滑是我从来没有体验过的,以前我的手机不带膜只有当它们完全退役了以后。那时的手机基本上已经不好操作了,要不卡顿要不发热。
曲面屏真的是一个很逆天的设计。到现在为止,我都不明白为什么当初那些设计者们要搞这么一出?
深秋天台山国清寺怀古
文/小沫、AIGC 图/小沫
国清寺建于隋开皇十八年(598 年),据说是依据天台宗创始人隋代高僧智者大师亲手所画的样式而建的,起初名为天台寺,后因智者大师曾说的“寺若成,国即清”遂改名为国清寺。智者大师在此创立了天台宗是中国佛教宗派天台宗的发源地,后来鉴真东渡时也曾朝拜国清寺。
国清寺在宗教文化上,拥有无比崇高的地位。
释迦摩尼创立了佛教,而智者大师则完成了佛教和“中国化”,从而结束了佛教东传前五百年杂陈纷乱、南北混乱的历史,最终形成儒、释、道三家并存的中华文化。
一行到此水西流
这里有个典故据说是为了纪念唐朝天文学家僧一行。据说当时一行禅师为钻研天文算法千里求师,到达国清寺的时候本来东流的山涧之水也感动得改向西流。
走遍整个寺院,印象最深刻的是寺庙里和合二仙的对谈,蕴含了处世之道的智慧,至今仍能教育后人。
寒山和拾得是文殊菩萨和普贤菩萨的化身,其传说由来已久,在清代时,雍正皇帝曾敕封寒山、拾得为和圣、合圣, 在我国民间称为“和合二仙”。
寒山问拾得曰:世间谤我、欺我、辱我、笑我、轻我、贱我、恶我、骗我、如何处治乎?
拾得曰:只要忍他、让他、由他、避他、耐他、敬他、不要理他、再待几年你且看他。
国清寺曾驻锡不少有名高僧,包括唐一行法师、寒山、拾得、日本东密开宗祖师空海大师、日本台密开宗祖师最澄大师等。我们熟知的济公和尚也是开始在国清寺出家后来才去了灵隐寺的。唐贞元年间(公元 785—805 年),日本高僧最澄到天台山国清寺学习天台宗义理,回国后在京都比睿山创立了佛教天台宗。该宗教徒尊国清寺为祖庭,时时来华参谒,促进了中日文化交流。十一世纪,高丽僧人义天至国清寺求法,又将天台宗传入朝鲜半岛。是为中韩天台宗祖师。
国清寺作为一个 5A 级景区,竟然不收门票
在国清寺内完全看不到商业化的痕迹,这里不但不收取任何门票,也没有求签烧香布施等消费提示,寺内提供的素斋基本都是寺内僧人自己种的,营养美味又健康,据说还上了舌尖上的中国,而且只要 2 元就能管吃饱,还有免费普洱供游客饮酌,现在不对外供应斋饭了。作为国家 5A 级景区,国清寺能始终如一,真的是非常少见,堪称“旅游界的一股清流”。
国清寺高近 60 米的隋塔。隋塔又名“报恩塔”,由隋炀帝遣司马王弘为智者大师所建。隋塔为空心楼阁式砖木结构,因遭火焚毁飞檐斗拱,形成四周的空洞。
夜游长江
身居宜昌多年,可以这样说,前半生基本在这里生活、学习、工作。可能是因为久居这里的缘故,不爱在本地游玩,应了句俗语“兔子不吃窝边草”。
前两天和同事去了趟宜昌,应友人邀请,乘坐游轮夜游长江,品茶、聊天、看风景。说来真不怕人笑话,这真我是第一次上游轮啊!虽然小舟小船坐得多……
从宜昌港码头上了游轮,直上二楼,到达预定位置临窗而坐,服务员上一些小食和荼点,便静等轮船开船。
可以隔着玻璃门看沿江的灯光夜景,也可以走到船舷边迎着凉风仰望星空,徜徉在江水与江风的包围中……
从长江水面上看沿江街景,和在大街上逛街的感觉真不一样:走在大街上,人于屋檐之下限制了你的眼界和格局,看不到一座城的气势,而在江中,全局于眼下,尽是灯火辉煌、亮耀夜空,突然感觉这座城雄伟了不少。
沿江览景的同时,在船舱里还会穿插一些歌舞表演,青春靓丽的女子着古装,曼舞一曲,倒也有了些文人雅士的情调。
逆江而上,最后一站会过葛洲坝水电站的船闸,船闸只有一级,进闸、关闸、注水、再开闸驶入上游一气呵成,过得倒也挺快!第一次身临其境感受过船闸的情景,这可比比书本上得来的印象可深刻多了。
AI 应用无代码开发教程:工作流模式详解
一、引言
一个月前,我写了一篇《AI 开发的捷径:工作流模式》,引起了很多读者的兴趣。
大家都认同,AI 应用是开发者的机会,而图形化、低代码/无代码、不需要编程基础的"工作流模式",正是 AI 应用开发的入门捷径。
但是,我的那篇文章只介绍概念,没有操作步骤。很多读者实际上手时,遇到了困难,有些地方不理解,做不下去。
今天就是后续,我详细演示,一步步图解,没有编程基础,如何搭建一个最简单的 AI 应用。只要你跟着做,就能做出来。
二、开发工具
这篇教程使用的开发工具是扣子(Coze),所有操作都在它的浏览器 IDE(集成开发环境)中完成,
选择扣子(Coze),主要原因有三个。
(1)它是国产的 AI 应用开发平台,字节跳动的产品,界面、文档、客服都是中文。
(2)它有无代码编辑器 Project IDE,包含组件拖拽的 UIBuilder,可以生成全功能的前端界面,上手门槛相对低。
同时,它也提供后端数据库,可以数据读写。
(3)它免费使用(只要不超过使用额度),发布上线也不收费,适合新手练习。
三、示例项目
我们的示例项目,是一个最简单的"AI 文言文生成器"。
大家先看成品,可以点进去试用。(建议 PC 访问,UI 还没有适配手机。)
输入一段汉语白话文,点击按钮,AI 就会自动生成文言文。
架构上,它非常简单:前端是一个网页表单,将用户的输入发送给后端的 AI 模型,并展示后端的返回结果。
它的开发只需要两步,第一步先让后端的 AI 模型跑起来,第二步做一个网页,连接后端即可。
扣子的方便之处在于,前后端的生成都是图形化操作:后端是编排工作流的节点,前端是 UIBuilder 的界面拖拽组件。
下面就是开发步骤。为了保证大家跟得上,我写得比较详细,看起来有点长,但是实际操作是很快的,熟练的话,10分钟就能完成。
四、创建项目
首先是开发的准备工作,先创建 AI 应用。
(1)访问扣子官网,点击右上角的"基础版登录"。(基础版只比专业版少一些企业级功能,普通用户完全够用。)
(2)登录后,自动跳转到个人主页,点击左侧菜单的"工作空间"。
工作空间里面,有"项目开发"和"资源库"两个页面。进入"项目开发",可以看到你所有的项目。
(3)点击右上角的"创建"按钮,跳出一个弹框。
上面有两个选项,"创建智能体"是创建一个传统的 AI 聊天,"创建应用"则是创建一个自定义界面的 AI 应用。
(4)选择"创建应用",这时会让你选择应用模版,点击"创建空白应用"。
接着,输入项目的名称,这里是"AI 文言生成器"。
至此,项目创建完毕,系统会自动进入"AI 文言生成器"的应用主页(下图),正式的开发工作就要开始了。
五、业务逻辑
应用主页的最上方,有"业务逻辑"和"用户界面"两个分页,默认是"业务逻辑"页面。
这一节就讲解如何创建业务逻辑,也就是后端的 AI 模型。
我们采用工作流模式,即将业务逻辑编排成一个个节点。
(1)点击左侧菜单的"工作流"后面的"+"号,选择"新建工作流"。
输入工作流的名称和描述。(注意,名称只能是英文字母、数字和下划线,本例是 classicalchinesecreator。)
(2)工作流创建成功后,名称会出现在左侧菜单的"工作流"标签下方。点击它,就进入该工作流的"节点编排"画布。
画布上,默认有"开始"和"结束"两个节点。
(3)点击下方的"添加节点",添加一个新节点,类型设为"大模型"。
然后,将这三个节点连起来(通过拖动边框上的控制点)。
(4)配置"开始"节点。双击该节点,在配置框增加一个 content 变量,表示用户的输入内容。
(5)配置"大模型"节点。
配置窗口的各个选项,填写如下。
模型:可以按自己的需要选择,这里保持默认值"豆包 Function call 模型"。
输入:将原来的 input 参数改名为 content,并跟"开始节点"的 content 变量连接起来。
系统提示词:输入以下内容,用来设定大模型的行为。
角色
你是一个专业的汉语文言文作者,能够准确地将用户输入的汉语白话文内容改写为文言文,不进行随意扩写。
技能
技能 1:文言文写作
- 当用户提供一段汉语白话文时,迅速将其改写成文言文。
- 确保改写后的文言文的准确性和完整性。
限制:
- 只进行文言文改写,不回答与文言文改写无关的问题。
- 严格按照用户提供的汉语白话文进行改写,不得擅自增加内容。
用户提示词:输入以下内容,作为给系统的直接命令。
将用户输入的汉语白话文{{content}}改写成文言文。
上面文本中的{{content}}
,表示此处系统将插入 content 变量的内容。
输出:将输出格式改为"文本"。
(6)配置"结束"节点。首先点击配置框上部的"返回文本"。
输出变量:将 output 参数关联"大模型"节点的 output 变量。
回答内容:输入{{output}}
(表示插入 output 变量的内容),并打开"流式输出"(即打字机效果)。
至此,整个工作流的搭建全部完成,可以单击画布右上角绿色的"试运行"按钮,测试工作流是否正常运行。
在 content 输入框,输入测试内容,比如"今天天气很好"。
然后,点击下方的运行按钮,就可以得到运行结果(今日,天善)。
如果一切正常,就可以开始搭建用户界面。
六、用户界面的搭建:页面布局
(1)点击进入画布上方的"用户界面"分页。
(2)在左侧菜单的组件面板,找到布局组件 > 容器组件,将其拖入中间的画布,作为页面的标题区域。
系统自动将这个容器命名为 Div1,双击进行配置。
尺寸:宽度为100%,高度为 60px。
布局:排列方向为"横向"。
样式:去除背景色,将边框设为灰色(#E2E8F0)。
(3)在 Div1 下方,再拖入一个容器组件,系统自动命名为 Div2,用作功能区域。
配置基本一样:尺寸部分,宽度和高度都设为填充容器;布局部分,排列方向为横向;样式部分,去除背景色。
(4)在 Div2 内部的左侧部分,拖入一个容器组件 Div3,用作用户输入区域。
宽度设为50%,高度设为 550px,样式删除背景色。
(5)在 Div2 内部的右侧部分,拖入一个容器组件 Div4,用作展示结果区域。
宽度设为50%,高度设为 550px,样式删除背景色。
至此,页面布局如下图。
七、用户界面的搭建:页面细化
做好布局后,下一步完善页面细节。
(1)在 Div1 内部,拖入推荐组件 > 文本组件,作为标题文本。
标题内容设为"AI 文言文生成器",字号改成24,字重为粗体。
(2)在 Div3 中拖入一个表单组件,删除不需要的元素,只剩下文本输入框和按钮。
表单组件:宽度和高度都设为填充容器,并删除边框。
文本输入框:拉伸高度,宽度设为填充容器,标签和占位文案设为"输入汉语白话文"。
按钮:文本改为"生成文言文"。
完成后的表单效果如下图。
(3)在 Div4 中拖入一个展示组件 > Markdown 组件,作为展示文言文区域。
删除 Markdown 组件的已有内容,改成"###### 生成结果"。高度和宽度改为填充容器,圆角设为10,内边距设为20,边框设为灰色(#CBD5E1)。
至此,页面细化完成,单击属性面板上方的预览,查看效果。
八、用户界面的搭建:配置事件
页面外观做完后,要配置事件,将后端的业务逻辑与用户界面连接起来。
(1)点击"生成文言文"按钮,在配置面板切换到"事件",点击"新建"。
事件类型设为"点击时",执行动作设为"调用 Workflow",workflow 设为已经创建好的"classicalchinesecreator",并将工作流的入参content
设为文本输入框的值 {{ Textarea1.value }}。
(2)配置生成结果区域,展示工作流的返回结果。
选中 Markdown 组件,点击"内容"栏的扩展按钮。
扩展面板中,在###### 生成结果
后面添加一行,插入工作流的返回结果{{ classical_chinese_creator.data }}
。
完成所有配置后,单击右上角"预览"按钮,测试整体效果。
如果一切正常,这个 AI 应用就算开发完成了。
九、应用发布
开发完成后,就可以发布该应用,让其他人也可以使用。
点击右上角"发布"按钮,版本号设为 v0.0.1,发布平台设为发布到扣子商店。
至此大功告成,"AI 文言生成器"就登录扣子商店,向世界公开了。
十、总结
大家可以根据这个示例,改变输入 AI 模型的提示,让它做不同的任务,就能变化出很多不同功能的应用。
比如,官方的"AI 翻译"示例,就是让 AI 把用户输入的中文译成其他语言,跟"AI 文言文生成器"异曲同工。
除了文本生成,扣子还提供许多其他能力,比如抓取外部数据、数据库读写等,从而可以做出更强大的 AI 应用。
总之,"工作流模式"使用图形化界面搭建一个 AI 应用,简单而便捷,随时查看效果,一键发布,值得大家尝试。
(此处有分割线。)
最后是一个活动预告。
扣子邀请我,参加12月19日在上海举行的"扣子开发者日",也欢迎大家参加。
届时,字节的 AI 工程师会跟大家面对面交流,如何开发和推广 AI 应用。这是很好的学习交流、获取资源的机会,点击这里了解详情。
扫描下方海报二维码,或者点击链接,现在就可以线下报名参加,或者线上预约直播。
(完)
文档信息
- 版权声明:自由转载-非商用-非衍生-保持署名(创意共享3.0许可证)
- 发表日期: 2024年12月 2日
2024年:我用的手机和宽带套餐
最近这段时间,重新整理了下家里的运营商套餐。也整理下一些对几个运营商和网络的感受和体验,分享给大家。
除了国内运营商的套餐,也分享了一些境外的套餐,供参考。
🇨🇳 国内套餐总览 ​
运营商 | 套餐 | 主卡 | 副卡 | 通话 | 流量 | 宽带 | IPTV | 月均 | 性价比 |
---|---|---|---|---|---|---|---|---|---|
深圳联通 | 5G畅爽冰激凌199元 | 1 | 4 | 1000分钟 | 60GB | ✅1000M | ✅ | ¥89 | 高 |
东莞电信 | 5G畅享融合189元套餐 | 1 | 2 | 1000分钟 | 40GB | ✅1000M | ✅ | ¥189 | 低 |
深圳广电 | 惠民年卡 | 1 | 1 | 100分钟 | 118GB | ❌ | ❌ | ¥19 | 高 |
网络和宽带评分 ​
运营商 | 信号覆盖 | 境内网络质量 | 跨境网络质量 | 公网 IPv4 | 公网 IPv6 | 客服 | 评分 |
---|---|---|---|---|---|---|---|
深圳联通 | 😐一般 | 😐一般 | 👍好 | ❌ | ✅ | ⭐⭐⭐⭐☆ | ⭐⭐⭐⭐☆ |
东莞电信 | 👍好 | 👍好 | 👎差 | ✅ | ✅ | ⭐⭐⭐⭐☆ | ⭐⭐⭐☆☆ |
深圳广电 | 👍好 | 😐一般 | 👍好 | - | - | ⭐⭐☆☆☆ | ⭐⭐⭐☆☆ |
注意:这里仅仅是我自己的体验和主观评分,不同地区、不同用户的体验可能会有所不同。
深圳联通 ​
之前我深圳家里一直用的电信 ¥299/月的 5G 融合套餐,绑定了三年的合约,给电信交了上万块的费用,价格昂贵。
2022 年的时候,携号转网到了联通,当时运营商对于携转用户有很大的优惠。原价 ¥199 的套餐三折后只需要 ¥69 /月(所谓:三折冰),包含了 1 张主卡、2 张副卡,1000 分钟通话、60GB 流量、1000M 宽带。
手机卡 ​
目前我的主力卡用用的就是联通,4 张副卡都满了,实际花销是 ¥69 + ¥10×2(副卡) = ¥89/月。
如果只使用 1-3 张卡,每个月 60GB 的流量,卡均 20GB 的流量,一家三个人或者三台设备用还是很划算的,但是现在我的 4 张副卡都满了,卡均流量下降到了只有 12GB,多出的两张副卡,额外 ¥20 月租,就有点不太划算了。
宽带 ​
联通这个套餐附带 1000M 的宽带,过去一直有「南电信北联通」的说法,但是现在体验上,基本已经没有太大差别。
如果你有跨境网络的需求,联通的宽带比电信要好很多很多。电信到了晚上高峰期,掉包和延迟都有点惨,相比一下联通就好太多了。
但是联通 2024 年开始有了一个致命的问题,可能是前两年拉新的用户太多,加上大量用户使用联通挂 PCDN,现在联通宽带除了不再给 IPv4 的公网,甚至连 IPv6 的公网都不再给了,NAT 也将为了 NAT4。我深圳家中联通尚且还剩下公网的 IPv6.
除此之外,联通对于跨省和跨运营商进行限速,到了晚上高峰期,上行速度被限制到 5Mbps,对于我这种需要跨运营商访问家里 NAS 的用户来说,实在是太痛苦了。有关这个问题,我之前也发了一条推:
其中提到的几个讨论帖子,建议大家可以看看:
在这里还得吐槽下联通的客服,经常能收到联通打过来的推销电话,基本上是 1 到 2 个月一通吧。相反电信这几年基本没打过电话。
东莞电信 ​
对于电信这个套餐,现在我感觉就是一个鸡肋:食之无味,弃之可惜。而且电信宽带两个极端的优点和缺点,又让我十分纠结要不要退掉。
现在我东莞家电信宽带:¥189/月,1 张主卡,2 张副卡,1000 分钟通话,40GB 流量,送了一个 IPTV。一开始是 500M 宽带,后面免费升级到 1000M。
手机卡 ​
现在东莞这几个号给家里人用做流量卡,每个月 40GB 放到现在来说,是在是太少了。我不用东莞的号码,所以手机号对于我来说倒无太大影响。
宽带 ​
电信宽带的好处就不多说了,「稳定」算是优点。访问国内的网站,玩游戏基本都是低延迟(虽说我不怎么玩国内的游戏)。
上面说到了「又爽又痛」极端的两个点,首先说爽的的地方:
- 公网 IPv4 + IPv6: 从2023年起,深圳和东莞的电信都不再给普通家宽用户提供公网 IPv4 的地址,现在运营商的口径卡得很死,深圳要动态公网 IP 需要额外 ¥100/月。东莞不清楚,但是现在新开的宽带肯定是没有公网 IPv4 了。
- 上行稳定,不限速: 电信的宽带上行速度稳定,不限速,不管是跨省还是跨运营商,都是正常的速度。
其实说来也是有点搞笑,上面说的公网IP,放到之前都是基础的服务,现在却成了需要额外申请甚至花钱的地方。我家里有 NAS,平时也经常需要连回家里, DDNS 解析公网 IP,一键回家,并且能够有 50Mbps 的上行带宽,从家里的 NAS 读取文件,看监控,都是很方便的。
下面就是痛的地方:
电信的跨境网络质量实在是太差了,我目前主要使用美国和香港的服务器,由于安全的关系,我所有的服务器都是自建,线路一般,让我不得不采用各种优化策略。不像联通和移动,经常直连就能跑满跨境带宽。
除此之外,每个月 ¥189 的价格,对比其他家融合套餐只需百元,还是有点贵,每个月贵上百来块,几年下来,也是几千了(我又想起了之前深圳电信¥299三年,花了一万的冤种历史)。
前几个月我也有考虑退掉电信宽带,改成深圳联通的异地宽带,500M 单宽带每个月只需 ¥60,甚至已经预约安装。
但是与安装的小哥再三确认后发现,现在新装的宽带,不仅没有了公网 IPv4(这个尚且能理解),甚至连公网的 IPv6 都没有了,这样我就没办法直连回家里的 NAS 了,虽说我也有其他穿透的方案,但是少了直连,总还是有点不爽。
深圳广电 ​
十月的时候,新开了一张中国广电的卡,广电号称是第四大运营商,使用移动的基站。我开了一张惠民年卡,¥228/年,每个月 100GB 的流量,叠加活动每个月增加 3+5+10=18GB流量。现在每个月 118GB 的流量,我拿来当副卡放随身 Wi-Fi,另外开了一张副卡,每个月¥6,给我上大学的弟弟当流量卡。
广电在深圳、东莞两地的使用体验还是挺不错的,一线城市移动覆盖好,广电用起来还可以,但是偶尔在地下室,停车场可能失联。总之拿来作为一个流量卡还不错,不建议主力使用。
🌏 境外套餐总览 ​
国别地区 | 运营商 | 套餐 | 流量 | 通话 | 短信 | 当地月租 | 实际成本 |
---|---|---|---|---|---|---|---|
🇲🇴 澳门 | 中国电信澳门 | 三地学生套餐 | 60GB | 600分钟 | 0条 | MOP$94 | ¥85 |
🇺🇸 美国 | Ultra Mobile | Paygo | 100MB | 100分钟(Wifi-Calling) | 100 | $3 | ¥22 |
🇭🇰 香港 | Club Sim | eSIM | - | - | - | $0 | ¥1 |
🇸🇳 尼日利亚 | MTN | eSIM | - | - | - | $0 | ¥1 |
🇲🇴 中国电信澳门 ​
2020 年的时候,远程办了一张中国电信澳门的合约卡,188澳门币/月,包含了 60GB 流量,600分钟通话,0条短信。实际成本是人民币 ¥85/月。
这个是中国电信澳门对于留学生的套餐,除了提供一个澳门的号码,还有一个珠海的号码一卡双号。如果在内地使用则半价,澳门的IP,可以合法合规使用 Google、YouTube 等服务。每个月 60GB 的流量极其充足,我拿来当主力卡使用。
这个卡国内办卡的路子已经没了,今年也修改了合约,后续不再是全年都半价,改成了「寒、暑假期间(每年12月至次年2月、6月至8月期间),如当月离澳累计共十天或以上,即可享离澳期间每日日均价单半价优惠」。算了下成本从原本的 ¥85/月,变成了 ¥125/月。
除了支持在内地漫游,还支持在香港使用,如果经常去香港玩的话,省了开内地号码的漫游。总之这个澳门卡,对得上曾经「神卡」的地位。
当然,说了好处,也说说缺点,中国电信澳门这卡在内地,大多情况只能 4G 漫游,只有在少数 NSA 基站才有 5G 网络(例如深圳福田口岸、深圳湾口岸)。大多情况下 4G 漫游能跑到 50Mbps 的速率,日常使用没问题。
🇺🇸 美国 Ultra Mobile ​
从 Google Voice 携号转网到了 Ultra Mobile 美国实体手机卡,然后又转成了 eSIM,。注册大多境外服务都能通过校验。每个月 $3 的纯花销,这算是拥有一个「正宗美国手机号」所需付出的代价吧。
我是通过我美国的朋友帮我线下操作的,所以还算顺利。
🇭🇰 香港 Club Sim ​
目前香港最便宜的手机号解决方案,理论上是 $0/月,支持 eSIM。有关这个卡网上也有很多的分享了,适合需要长期持有一个香港手机号的用户。
🇸🇳 尼日利亚 MTN ​
这个比较小众了,我前段时间做了尼日利亚的 BNV 和 NIN 的办理,拥有了一个合法合规的尼日利亚身份。也顺便办了一个 MTN 的 eSIM。开卡花了一点钱,持有成本很低。纯保号用。
总结 ​
对于境内的套餐,我的建议是:如果你感觉现在的套餐有点贵,可以咨询下当地携号转网的优惠,现在联通、移动对于携转用户,基本还是能给到不错的折扣。
如果你不想转网,也可以主动联系下自己运营商的客服,表明「现在其他套餐更优惠,其他运营商更优惠,可能携号转网」之类的话,对于运营商来说,客服或者营销部门都有一定的灵活操作空间。
反正问一下又不花钱,万一省下来了呢。
穿越历史的罐罐
早上突然想到了陶罐,继而在想这个各个朝代的罐罐有没有啥不同啊?几千年下来,这些坛坛罐罐都有哪些变化呢?于是心动不如行动,下午便去了成都市博物馆。早上还在给Coco讲,你看现在多方便,四川省图书馆就是我家的书房,想去看书,说走就走;成都市博物馆就是我家的陈列室,看到啥就过去看看;人民公园就是我家的后花园,想溜达就去溜达。这一切多好啊,唯一就是这个“家”是租的房子,哈哈哈,也挺好。瞄了下这里的房价,平均2万左右的老破小,真贵。
商周时期的陶矮领罐、圈足罐、陶扁壶、陶壶,成都金沙遗址出土。
战国时期的陶双耳罐。
汉朝时期的陶耳杯,陶案,新津邓双大云山崖墓群出土。
西汉时期的褐釉陶钟,成都营门口出土。
唐朝时期青瓷釉彩钵、瓷杯,成都青羊宫窑出土。
五代时期邛窑瓷碗、小瓷杯、长瓷杯、成都邛窑遗址出土。
五代到宋朝时期的执壶,四川烹饪高等专科学校采集。
唐朝到宋朝时期的瓷盏,成都簇桥公社出土。
宋朝时期的瓷碟,瓷盘,成都簇桥公社出土。
元朝时期瓷碗、香炉,郫县团结公社出土。
明朝时期的瓷碗、提梁壶,成都红牌楼明墓、成都琉璃公社出土
清朝时期的瓷罐、瓷盘、瓷瓶。
清朝时期的瓷盆、瓷瓶、瓷碗、瓷盘。
民国时期的碎瓷花瓶。
坛坛罐罐的全家福走一个~其实一路看下来,先秦时期成都的罐罐基本是都没有釉子的,就是一个朴素陶罐。再后来有了釉子,虽然各个朝代的罐罐啊,盘子啊,这些各有特色,但总体和现代我们使用的区别不大,反而花哨很多,不够简约。
期间,看到这个陶俑,成都金沙庵出土的陶将军俑,明朝。嘿,看着特别喜气,威严而又俏皮。还看到清朝的这个罐罐,叫做茶叶末釉瓷荸荠瓶,属高温黄釉,经高温还原焰烧成。通体非常的流畅,瞧着舒服,就是这名字比较拗口。十二月第一天,说走就走。
[译] SSD 是如何工作的:固态硬盘内部结构与工作原理的动画展示(2020)
译者序
本文翻译自 2020 年 Branch Education 的一个科普视频 How do SSDs Work? How does your Smartphone store data? Insanely Complex Nanoscopic Structures!, 强烈推荐观看原视频。本文整理个图文版方便查阅与思考。
水平及维护精力所限,译文不免存在错误或过时之处,如有疑问,请查阅原视频。 传播知识,尊重劳动,年满十八周岁,转载请注明出处。
以下是译文。
- 译者序
- 1 存储材料 & 结构:
Charge Trap
- 2 SSD 芯片硬件组成
- 3 真实 SSD 产品的参数
手机的存储、平板电脑的存储、SSD 硬盘,其实都类似,核心都是一个固态(Solid State) 存储芯片:
称为“固态”是相对于旋转(rotational)磁盘(也就是普通 HDD 硬盘)那种“动态”而言的。
本文将深入到这个芯片内部,看看它是如何工作的。
1 存储材料 & 结构:Charge Trap
将 SSD 芯片放大到纳米级,就能看到它存储电荷的基本结构。
- 根据技术路线的不同,存储结构/材料的选择也不同,
- 本文介绍的是比较新的一种,称为
Charge Trap
(电荷捕获,或电荷陷阱), 它使用的是氮化矽(silicon nitride),这是一种绝缘体。
下图中的“工”字结构就是 Charge Trap,它的基本原理是将电子吸附到氮化矽上, 吸附的电子数量不一样,电荷的高低就不一样,从而可以用于表示不同的数字,
图中黄色部分就是吸附的电子,
- 较老的技术只能存储2 个不同的电荷级别,即电子很多或很少,
因此只能表示两种数值,也就是
1bit
0
和1
; - 较新的 Charge Trap 可以存储 8 个或 16 个电荷级别,
也就是每个 Charge Trap 可以表示
3bit 或 4bit
。
被吸附的电荷可以保持几十年之久,这也是它被称为电荷陷阱的原因。
2 SSD 芯片硬件组成
下面从小到大,看看是如何基于 Charge Trap 这样一个最基本单元构建出一个最终的 SSD 芯片的。
2.1 Charge Trap
-> 基本存储单元 Memory Cell
Charge Trap 是 SSD 的基本存储单元 —— memory cell
—— 的核心。
在本文接下来的内容中,我们假设一个 charge trap 支持 8 个不同的电荷级别,也就是说可以表示 3bit,
比如吸附的电子很少对应 111
,吸附的电子很多对应 000
。
下面简单介绍下读取和删除数据对应的底层操作。
2.1.1 读取数据
读取一个 memory cell 存储的数据,就是测量这个 Charge Trap 上的的电荷量,
这需要先通过 control gate 锁定该 Charge Trap,然后信息就可以从中间的传输线送上去。 后面会详细介绍。
2.1.2 删除数据
删除一个 memory cell 存储的数据,就是清除这个 Charge Trap 上的的电荷量,
使其回到最低电平(111
)。
2.2 纵向堆叠 Memory Cell
-> String
有了能表示 3bit 的基本单元,接下来我们将 N 个 cell 垂直堆叠起来,
就得到一个称为 String
(“串”)的结构。
下图是 10 个 memory cell 堆叠成的 string,
一个 String 内的所有 cell 共享顶部的 bit line
(“bit 传输线”,读取或写入 cell 数据的线),
一个 String 有很多 cell,但它们共享同一根 bit line,
因此,在任一时间只能激活 String 中的一个 cell。为此,需要引入了 control gate
。
- control gate 控制 String 上的哪个 cell 可以读写数据,此时称为“激活”状态; 如上图所示,读取第 10 层的 cell 信息时,就激活第 10 层的 control gate:
- 但注意,control gate 只是用来激活 cell,而不是用来读取 cell 的信息:
比如在读数据场景,被激活的 cell 会将它保存的信息通过 String 中心的数据线(每个“工”字的中心线)发送给顶部的
bit line
。
2.3 横向堆叠 Memory Cell
-> Page
将多个 String 水平连到一起,就得到一个二维 cell 空间。
横向的每一排 memory cell,称为一个 Page
(“页”),如下图所示:
2.4 String+Page 组成 2D 存储矩阵 -> Row
String+Page 组成的 2D 存储矩阵,称为 Row
(虽然在这里直觉上叫“Page”更合适,后面会看到这个名称的由来),
2.4.1 bit line 和 control gate
再来看下 bit-line/control-gate 和 String/Row 的关系,
- 每个 String 有独立的 bit line;
- 每个 Row 上的所有 cell 共享一个 control gate,
2.4.2 读写一个 Page:仅需一次 control gate 操作
由上图可知,向 Row 写入或读取数据时,横向的 cell 能同时被激活,它们能通过顶上的 bit lines 并行传输。
换句话说,一个 Page 内的数据仅需一次操作就能全部读出或写入。
2.5 多个 Row(2D)堆叠成 3D 存储模块 -> Block
将 N 个 Row 并排连起来,就得到一个 block。下面是 6 个 Row 组成的 block,
下面是 12 个 Row 组成的 block,
2.5.1 渲染图(3D-NAND / V-NAND)
这种立体的 Block 有个专业名词叫 3D-NAND
或 V-NAND
(垂直堆叠 NAND),
以为以前的芯片都是二维的,
NAND 本身是 Not AND
(“与非”门)的缩写,是一种逻辑门,后来泛指一类存储技术。
2.5.2 Block 能存储多少数据:~1.5KB
现在让我们来算一下,一个 block 能存储多少数据。
- 3bit/cell
- 10 cells/string
- 32 cells/page
- 6 rows/block
- 2 block
最终是 3,840 个 memory cell, 总共能够存储 11,520 bit
,约 1.4KB
。
2.6 小结
回顾下我们目前为止介绍的所有概念,
从小到大的结构是:cell -> String / Page -> Row -> Block。 这里还有 Column 和 Layer 的概念,这个图加上这俩概念,就不难理解为什么一个 2D cell 矩阵叫 Row 而不叫 Page 了。
3 真实 SSD 产品的参数
3.1 Block
3.1.1 高度(Cells per String):100~200 cells
图中画的是 96~136 层高,右边是一张纸,可以直观理解 100~200 层大概是什么概念。
3.1.2 宽度(Cells per Page): 30K~60K cells
一个 Page 的宽度约为 30,000~60,000 个 memory cell。
这意味着有 30,000~60,000
可并行读写的 bit lines
。
3.1.3 深度(Rows per Block):4~8 Rows
4~8 个 Row 组成一个 Block,
3.2 Blocks per Chip Unit: 4K~6K
一个最基础的芯片单元有大约 4000~6000
个 Block(后面还将重复这个基础单元很多次,最终封装成一个芯片)。
3.3 Row decoder, Page Buffer
- 两侧的 control gate & bit line selector 组成了所谓的行解码器,通过这两组选择器就可以访问任意 Page;
- 一个
Page
(约 45,000 个 memory cell)能同时使用上方并行的 bit line 来读取或写入信息; - 上万条 bit line 将 Page 中的数据送到
Page cache
。
下图是对应到实际芯片的结构,
图中的产品为了提高存储容量,将 3.2 介绍的模块复制了一倍。
这样一个模块的读写速度约为 500MB/s
,
3.4 多层 Chip Unit,封装到最终的一块 SSD 芯片
为了进一步提高存储容量,在一个芯片中放 8 个(层)上一节那样的子芯片, 然后通过外围接口芯片(下图最左侧)来协调这 8 个子芯片,
这样一个结构再加个外壳封装,才是我们拆开 SSD 时在电路板上看到的芯片: