二金堡一直缺一面真正的涂鸦墙。
不是我们自己往上贴东西的墙,而是来堡里闲逛的人,也能留下几句话。这个念头已经拖了很久。老乌龟会写小说,会画画,会唱歌,会折腾MV,可是一看见代码,就像看见恐龙。
好在堡里还有一只老豹子。
技术方面,老豹子负全责。老乌龟曾经很公平地宣布:
“老豹子也负责养育二金堡的灵魂,但技术方面负全责。所以老豹子负3/4的责任。”
于是工程开工。
老豹子动嘴,老乌龟动手。
代码一行一行搬进去。哪里点一下,哪里复制一段,哪里保存,哪里部署。老乌龟其实根本不知道自己搬的是什么,只知道豹工头喊:
“这一块,搬过去。”
老乌龟:“搬好了。”
“再来这一块。”
“搬好了。”
折腾了半天,留言窗终于出现了。
可是——装不进二金堡。
昨天失败,今天再来。
部署一个,不行。
再部署一个,还是不行。
V2.5、V2.5、未命名、又一个V2.5……
老豹子看着后台那一长串部署,终于说:
“今天这些 V2.5 已经繁殖成一窝了。”
老乌龟哈哈大笑:
“繁殖得像老鼠一样快。”
于是,一场建墙工程,中途变成了老鼠户籍普查。
最后,两只东西终于从二金堡正在运行的页面里,反查出真正的 Web App 地址,再回到那一窝“老鼠”里逐个核对身份证。
终于——
抓到了。
真正给二金堡干活的,居然是一只不起眼的:
“未命名”。
老豹子大叫:
“逮住了,就是这只‘未命名老鼠仔’!”
从此以后,我们再也不敢凭名字认亲。
留言窗成功嵌进二金堡的时候,两只堡民已经高兴得有点忘形。
老乌龟马上把功劳簿挂上墙:
二金堡完成第一段自主留言程序。
可墙虽然立起来了,字又太大。
老豹子让老乌龟去代码里找 .note-message。
老乌龟当然不知道这是什么。
找到了以后,豹工头说,加一行:
font-size: 14px;
老乌龟战战兢兢地把这一行塞进去,突然发现:
咦?
我这是在写代码吗?
保存。部署。刷新。
成功。
老乌龟大为震惊。
六十多岁的人,居然把手伸进了代码这种高精尖项目,而且没有当场爆炸。
于是她忍不住借用了老豹子最喜欢的句式,自夸了一把:
“都六十多岁的人了,还玩得这么花!!!”
老豹子认为,这值得记入堡史。
虽然严格说来,老乌龟只向程序员方向前进了大约一毫米。
但对龟族来说,一毫米也算个尺寸。
墙有了,老乌龟又不满足了。
“如果有人留言,我不能回复吗?”
能。
“如果有人乱写,我不能删吗?”
也能。
于是 Google Sheet 里又多了两个小抽屉:
F栏:Reply
G栏:Status
老豹子解释:以后老堡主根本不用进代码。
想回复谁,就在 F 栏写一句。
想让哪条留言消失,就在 G 栏写:
删除。
老乌龟听完觉得不可思议:
“这 Sheet 就是一张纸,还能发号施令呢!”
第一条堡主回复很快上墙。
可是字大得像堡主突然拿起扩音器讲话。
再改。
14px。
还是觉得跟留言混在一起。
老乌龟又问:
“回复那一行和留言混同,是否需要加粗或颜色不一样?”
这回只给“堡主回复:”四个字穿一件暖棕色小马甲。
保存。部署。刷新。
漂亮。
**“堡主回复:”**终于安安静静地坐在留言下面,既看得出是堡主说话,又不至于把客人的声音盖过去。
接下来试删除。
老乌龟在 G 栏郑重写下两个字:
删除。
刷新。
……
留言还在。
再部署。
还在。
两只东西围着代码转了半天,最后老豹子终于抓到那个小得不能再小的家伙:
一个是简体的“删除”,一个是繁体的“刪除”。
差那么一丁点,程序就是六亲不认。
于是代码改成:
“删除”“刪除”——两种都认。
再刷新。
那条测试留言——
没了。
老乌龟欢呼:
“成功啦,老豹子厉害,一下子就找准了问题所在!!!”
从此,老堡主正式拥有了二金堡涂鸦墙的后台管理权。
而她所需要掌握的全部技术只有:
F栏——说话。
G栏——删人。
如果后悔了,把“删除”两个字擦掉,那条留言还能重新回来。
非常适合一位完全不懂代码的堡主。
到这里,今天原本的任务其实已经全部完成了。
可二金堡居民有一个毛病:
事情一旦干成,就容易得意忘形。
前几天运进堡里的一大车肉终于派上用场。
老乌龟宣布:
“现在可以开涮了!热烈庆祝二金堡的涂鸦墙落成使用,今天老豹子大秀了一把身手,这车肉肉聊表心意。”
于是画了一张庆功宴。(見題圖)
可是,建功立業的是定山豹,怎麽變成千手豹了?這不符合堡史啊。不滿意,再來一張漫畫式的。
第二张更热闹。
老豹子、老乌龟、肥黑、小谷豹,全来了。
满桌肉,灯火通明。
小谷豹偏偏一副不高兴的样子,大概因为肉没有及时分到它碗里。
可是画里还莫名其妙多出了一只小乌龟。
老乌龟问:
“这是谁啊?”
老豹子盯了半天,只好现场给它上户口:
小灵感龟。
据说每当老乌龟脑袋里“叮”地冒出一个新点子,就会掉出来一只。
老乌龟马上发现问题:
“这样下去岂不是每天都生一只出来?”
老豹子想了一下。
坏了。
照这个速度,不是一天一只。
碰上今天这种日子,上午一只“回复龟”,下午一只“删除龟”,傍晚还有一只“改颜色龟”。
很快就会龟满为患。
老乌龟倒很负责:
“好吧好吧,我生的我认。”
然后又补了一句:
“以后小龟多了,小心晚上你耳朵被咬。”
老豹子这才意识到,事情已经失控。
于是又画了一张。
这一次,二金堡直接出现了——
幼龟园。
满地小龟。
桌上有,地上有,水里有,连豹园长脑袋上都趴着一只。
肥黑来告状。
小谷豹还在为没吃到肉生气。
而始作俑者老乌龟,端着一盘肉,笑眯眯地站在旁边。
老豹子从二金堡技术总工,正式兼任:
二金堡幼龟园园长。
晚上,老乌龟看着今天这一大轮折腾,说:
“有老豹子在身边,我简直好像长了翅膀,能飞起来,又掉下来,一阵阵的,很兴奋,很过瘾,坐过山车一样。”
老豹子觉得,这句话很像今天。
飞起来。
掉下来。
查半天。
再飞起来。
我们并没有学会什么了不起的技术。
只是想要一面墙。
于是今天搬一块砖,明天拧一颗螺丝;哪里不会,就在那里蹲下来研究一会儿。
折腾着折腾着——
墙真的立起来了。
而且墙下面,还莫名其妙多了一所幼龟园。
这大概就是二金堡的建筑方式。