Soha King 发布的文章


来玩Arduino——做一个高考倒计时表


0x00 写在前面

为啥要写这篇文章呢?因为最近想用数码管做个高考倒计时牌,但是数码管还没买,于是先用自己有的OLED屏幕做了个桌面版的。班里一些同学看到这个逼格这么高的的玩具,也想做一个玩。于是我来写这篇文章教一下。

也是找个理由更新一下许久没更的博客……

本文写的非常简单适合小白,一些大佬请不要吐槽。

photo_2017-06-16_19-24-57.jpg

// 点开我,里面还有许多内容!


回滚到了20161010的数据库


恢复进度告知:已经近完全恢复了。

Soha之前没注意所有数据有没有都备份成功,就直接取了最新的备份文件(每天都有自动备份,但是那些soha没复制出来,和磁盘一起消失在了黑暗中),就直接删了磁盘文件,导致Soha丢了自己博客的数据库。(知乎:这次大翻车了)在各种数据恢复均没有成功的情况下,还原到了较早(2016年10月10日)的数据库。

66666.jpg

一些2016年10月10日之后文章会尽量尝试恢复。近期博客大概是不稳定的。

photo_2017-05-24_17-30-57.jpg


这一周


上中学以来第一次吧,请一周的假。跑了三个地方,上海、杭州、深圳。

我要读书的!我是读书人!

首先是周日到周一中午,我在上海,还是为了Luogu FanMeeting,很棒,很好玩。又见到了kkk和ltt。顺便测试了City Union,直接刷金华市民卡坐上海地铁真爽。在上海虹桥火车站,被人用一个老套的骗局(包括自己都知道这很大可能是个骗局)骗走了73元。心疼钱,心疼这个社会。

一直到晚上八点,我都在浙大紫金港校区及附近。不得不说环境的确不错。差点赶不上回金华的火车,因为被公交坑了一把。

周二就和队伍来到了深圳,周日回金华(但这是下一周了)。见到了可爱的阮阮,以及男装的未知妹妹(但是不敢认)。

周三我们折腾了一堆材料,然后晚上在深圳职业技术学校“开夜车”,一直到第二天五点我们一行才睡下。第二天是我的生日。所以我最早听到的祝福来自我可爱的队友们。周四打的是练习赛,所以一切都不是太紧张。因为之前睡得晚,于是晚上八点多一回到酒店就睡着了,没有立即回到自己的房。直到有人把我叫醒我准备回房间。刚开始里面死都不开门,我还以为是他们逗我玩,直到门打开后我拎着两个大包摔进房间才看到一堆蜡烛、一堆气球、还有一个蛋糕。然后几乎全队人都在,突然一下子就明白了发生了什么,那时候把soha感动的啊……

周五我们正式开始比赛,刚开始连赢四场,加上联队的搭档靠谱,所以连赢四场,还水到了第一名。但是后面我们的naive本性暴露无遗,到周六以Rank 18的成绩结束Qualifications。

感谢周五晚上的一个脑洞,我在周六凌晨做了一个通过陀螺仪与手算角度以及路径的自动挂齿轮方式,虽然自由度比不上CV的,但是还是蛮靠谱的了。

还有Mori一周的小纸条,超级高兴。今年生日收到了很多礼物,比如生日那天第一份礼物是妹妹给的可爱的连裤袜。还有鹤子的小裙子。Soha都十分喜欢呢,感谢大家能记得soha这个公主,与她的生日。


业务逻辑丢前端,很强


“教育系统很多bug都来自业务逻辑丢前端,以及表单数据处理不严格。”
—— Soha King

0x00 无关的背景介绍

又到了一学期一度的选修课选课时间!已经高二下半学期的Soha将迎来最后一期选修课。高一刚入学的时候选了金老师的某课程,然而之前那个学期并没有开课。这一次听说我们班大部分同学选了这节课,我心里也有点痒。(毕竟这是我们的信息技术任课老师,超可爱)

// 点开我,里面还有许多内容!


到底该怎么学编程


首先声明,这篇文章来自于我自己的经历,对于他人的适用性不确定。

我刚刚写完了我们队伍(Team 6385 - TrueMoe)的FRC2017机器人基础RobotCode(仅operator操作时的手柄控制系统)。用的是C#,一个我在今天之前只知道怎么拼写、长什么样的语言。

身边的朋友好许人认为我是“大神”,只是因为我“很会写程序”,也有想学编程的小伙伴来问我,怎么才能学编程。我当然没有这么厉害,我只是一个全能又全不精的一个高中生。当然我是更希望我能精一样东西的。(不过我总比现在青少年IT圈中涌现出的一批批处理小学生、改代码小学生、单机打站小学生、花样装(zuo)逼(si)小学生要好,自认为。)别人在问我怎么学编程的时候,我听到最多的一句话是“诶,我听说是不是要学C语言开始啊?”当然不是啊!显然很多人认为编程是一个“打怪升级”的过程,我先学什么,然后学什么,才能学什么。多插一句,C的确是一个非常经典的语言,如果能学精,那是非常棒的,但是我并不认为它适合一个新手。举个简单的例子,中国大部分地区的高中的信息技术教学中的编程教学,大多是Visual BASIC 6.0。

那么该怎么按照我的路子开始学编程呢?

第一,相信靠谱的资料。这里靠谱的资料是指官方文档一类的,当然也包括市场上一些书籍,但我个人建议不要使用书籍,能用官方文档就用官方文档。因为图书市场鱼龙混杂,举个例子,谭老的C语言书。一般如果不是专业的朋友推荐,还是尽量看官方文档吧。然后多看点官方例程或者书上的例程(最好敲一遍),我第一门学会的语言Pascal就是把书上所有例程在Free Pascal上敲了一遍就学会了,每敲一个程序都会对这个语言的语法有点感觉。(别找我推荐!除了我小学的OI入门(keng)时专门买过《Pascal基础》外,我基本不看编程类书。)

第二,要会使用搜索引擎。能用Google就用Google,都打算入程序大坑了,还舍不得一点点“求学费”搞点必要的东西用用?百度我曾经试过几次,很难找到让我满意的结果。当然搜索也是要有技巧的,要简明扼要而又不失真的构建搜索词,才能找到前人给你铺的路。(用搜索引擎查找官方文档也是个不错的主意哦!)

第三,要会问。问,主要是在通讯工具上找朋友问,或者是StackOverflow、SegmentFault等在线交流(you)平台问。问的时候要说清楚问题是怎么出现的,出现了什么问题,如果你说的模模糊糊,怎么让别人帮你?注意,这是最后一步,只有第一第二不行才走这一步。毕竟大部分人没这个空来帮你解决一些明明网上一大堆solution的问题。(想起我一个同学,连VB6里面的数组定义和使用方式都错了,问我为什么不能运行,我当时很烦躁,直接就一句“老师上课时候都不听。”,就不理了。)

编程本身就不需要有人来教,只要你好学,没什么搞不定的。况且还有附加值:可以提高你的英语水平,毕竟以上三点你不可避免的要接触大量英文,讲个事实,英语是我三门主科中唯一的优势了。

我到目前为止(除了Pascal)没有一个我目前会的编程语言亲自写的第一个程序是很简单的。PHP第一个程序是OIH的爬虫,用了正则和数据库连接。Node.js的第一个程序是一个小纸条盒(Web应用)。C#的第一个程序是今天写的FRC2017的控制程序。C++的第一个程序是CRC2016的控制程序。最后,装完b跑路。npm install b

本文同时在Immortal.Work发表:https://immortal.work/p/yMoGdcTit6Estw2J6