友人C - 文字
type: channel
link: https://www.ihewro.com/tag/文字/
items: 提醒事项与微软ToDo的比较
items: 全设备markdown写作使用指南
items: 30分钟写一个简单QQ自动回复机器人
items: 终端与shell的区别
items: 2019北邮考研我的个人经历
items: 巧用excel表格计算平均GPA
items: 怎么学JavaScript？
items: 正确使用『番茄土豆』APP的姿势

提醒事项与微软ToDo的比较
type: item
date: 2019-11-08T21:22:00+08:00
description: 苹果IOS/Ipad OS 10.13 OSX10.15 全系列更新后，有一个内置软件变化很大，那就是「提醒事项」。使用Android设备，尝试了无数款规划类的应用，比如什么四象限类型的。但没能坚持下来规划任务。但是Microsoft Todo 还是留在了我的Android手机上，虽然也没怎么使用。换了iphone之后，也是在研究生生活中，每天其实有很多琐碎的事情，如果不记录下来，简直一团糟（和本科混吃等死很不一样）ToDo 在iPhone上同样适用，与此同时微软时隔几年之后在Mac也上架了ToDo,使得这款应用成为一个跨平台的利器。但随着不断使用中，发现了一些我很不喜欢的地方，新版本的「提醒事项」，有着ToDo的影子，所以考虑是否切换到该内置应用。下面是两款软件的对比，也可以给大家做一些参考：ToDo设计问题「我的一天」「我的一天」这个微软介绍的截图中的“特性”。但却很有问题。对任意一个任务可以选择「添加到我的一天」，但是「我的一天」和「已计划的日程」却是完全独立的。「我的一天」里面的任务却不会出现在「已计划的日程」，除非你再次给这个日程添加一个「截止日期」/「提醒日期」为今天。这看起很复杂。如果我需要安排今天的任务，而且希望今天的任务也出现在「已计划的日程」中，则必须操作两次……对于「提供我的一天的建议」这个功能似乎很酷，但，其实就是显示一些未完成的清单列表嘛…… 我几乎没使用过这个功能。「任务」到底是什么任务？很早，ToDo 是没有文件夹分类清单，只能添加清单一级。所以「任务」这一栏就显示了所有的任务。后来增加了清单文件夹📂这一个功能，「任务」里面只会显示“未归类的任务”。对于我来说，「任务」这一栏就是空的，因为我所有的任务都会归属某个清单。这个功能就很……截止日期和提醒日期对于每个任务，ToDo 有两个时间设置。看起来，这两个时间的定义不同，但是实际操作起来却没什么必要。一个任务提醒你需要去完成了，为什么这个时间点不是截止时间呢。除非这个任务是时间跨度很长。但非常不建议添加这样模糊的任务到清单中。每一个任务尽量是具体的、可以很快执行完毕的，如果是长期任务一定要进行划分，否则这样的模糊的任务很大可能是无法进行的。我在使用ToDo的时候设置这两个时间完全就是跟随心情，有时候点截止日期，有时候点提醒日期，这让我很迷茫，尽管这两种方式都会让任务出现在「已计划日程」中。容易误触「已完成」在IOS上，如果选择「隐藏已完成任务」，在任务清单中，选中 一项未完成的任务 的「完成按钮」，这项任务就会立即消失在这个列表中。天知道，我已经很多次的误触这个「完成按钮」，导致不知道把哪个任务不小心给点「已完成」了。正确的体验应该是，点击已完成，不会立即消失，而是再次刷新列表的时候再去消失这一项。优点优点也有一些。跨平台，Android、IOS，Mac，Linux（虽然用不到）。但是我偶尔会用我的旧Android手机睡觉前看新闻（嘿嘿就是focus软件），偶尔也会记录一些突然想起来的任务。动画很不错。很多操作都有动画，比如任务消失，显示在清单列表中，列表的显示等排序的方式很多一些小细节做的比较完善一点，我喜欢的是这个：选择「提醒时间」的时候，会有「今日晚些时候」，而对于「明天」、「下周」这样的选项也会有一个默认的时间（不仅仅是日期）。因为很多时间，我的任务并不是精确到某个时间点，而是某天内完成都可以的，自己再去选择一个时间就有点麻烦和纠结了。对于今天超时的任务，选择「今日晚些时候」就很方便的再拖一会儿。提醒事项设计优点几乎ToDo的设计缺陷（我认为的）都修正了。「今天」的任务列表是“提醒时间为今天”的任务列表，没有对任务进行「添加到今天」这一步多余步骤。「全部」类似于ToDo的「任务」的功能，但是这里会“按照清单”分别显示所有的任务只有提醒日期一个时间设置，更简单IOS上，对任务点击已完成，不会立即消失。（但是Mac上也会立即消失，好在可以command+z 撤销操作）上面最膈应我的四个问题，「提醒事项」都修复了。除此之外还有一些亮点：能够对自然语言进行解析，这个Android 版本的Todo也是支持的，但是到了苹果平台就没有了，可能还来得及迭代。和电脑端可以使用「接力」任务提醒自动关联日历的日程中会在日历📅的小部件中显示，系统提醒非常及时和准确。但自身仍然也有一些问题。缺点提醒我，需要手动指定一个时间没有想ToDo那样的默认时间，就有点麻烦了！没有指定时间的任务如果一个任务的提醒时间只指定日期，但不指定时间，这个任务不会自动添加到日历的日程中，也不会有弹窗提醒。不提醒可以理解，但好歹应该加到日历中的日程中吧。同样的在IOS 13.12中，联系人的生日如果只选择日期，不选择年份不会添加到日历的日程中，在新版本中修复了这个问题。所以有理由相信这个设…

全设备markdown写作使用指南
type: item
date: 2019-10-05T17:21:00+08:00
description: 我的选择Mac端：mweb 2.0移动端 ： 1writer这样我的跨平台写作流程是：在iCloud里面设置一个文件夹 写作文档。电脑端使用mweb的外部模式，打开该文件夹，进行写作。同时iCloud会进行同步。移动端使用1writer 打开外部文件夹，可以继续写作。[album type='photos'][/album]其他同类型应用使用体验一点吐槽首先统一吐槽一些软件，非得自己搞什么“文档库”，文档都不知道被软件存储到什么位置，然后必须使用软件内部的iCloud同步才能跨平台写作。最关键的是文件也不知道存储在iCloud的什么位置。我个人觉得写作软件：首先做好显示外部文件夹层次和文件就可以了。现在手机、电脑设备的文件系统都比较完善了。没必要搞什么应用内部的文档库，给我一种不安全感，因为我不知道文件存哪了其次应用内部也完全没必要搞iCloud同步，如果软件本身就支持打开iCloud外部文件夹，同步问题就自然解决了。而不是把用户的文档数据转成应用内部的数据，然后再用iCloud同步，这不是多此一举吗。评分标准满分100分。写作软件只要有以下优点，我个人就觉的是一款完美的软件：价格合理（20分）细节处理（比如主题切换、空格习惯设置、实时预览等等）（20分）支持对文件夹、标题和内容快速搜索，搜索结果呈现简单明了（10分）显示外部文件夹的层次结构以及相应的内容（20分）markdown解析流畅，对中文支持好，支持大部分的markdown语法（10分）对图片的上传有一个合理的方式（10分）至于能够同步博客、medium之类的功能对于我个人来说可有可无（5分）ui颜值不错，太丑的界面实在让人觉得 ...当然习惯了可能就好了吧（5分）除此之外的什么聚焦模式，打字机模式，有则优，没有其实根本也不影响写作体验。（0分）bear（移动端）（75分）[album][/album]字段价格(20')细节处理(20')支持外部文件夹(20')搜索功能(10')markdown解析(10')图片上传(10')第三方服务同步(5')UI界面(5')说明10元/月各种小功能考虑的比较好不支持支持内容、标题解析的样式好看，可以换主题 不支持同步博客之类的不是ios原生那种，但却是很精致得分1020010101005但是单就不支持外部文件夹对于我来说已经不会使用了。ia writer（移动端）（38分）因为我先用了ia writer，觉得差强人意，于是决定在移动端使用这款软件，没想到用户体验几乎为0。而且售价60，我不知道谁给他的勇气。[album][/album]字段价格(20')细节处理(20')支持外部文件夹(20')搜索功能(10')markdown解析(10')图片上传(10')第三方服务同步(5')UI界面(5')说明60元/买断自带markdown小键盘，有聚焦模式不支持支持搜索内容、标题，但搜索结果只有标题，没有匹配的内容差强人意，不支持公式如果是iCloud的文档，图片会自动放到iCloud里面，本地文档是无法上传图片的无不说了得分1015085500缺点：界面劝退，线条蓝色图标，我感觉像是上世界的Android风格，完全没有iOS的界面元素不支持外部文件夹打开，只支持外部某个文件打开，劝退1writer（移动端）（76分）[album][/album]字段价格(20')细节处理(20')支持外部文件夹(20')搜索功能(10')markdown解析(10')图片上传(10')第三方服务发布(5')UI界面(5')说明30元/买断有markdown工具条，还有一些个性化的设置我在iOS平台唯一看到的支持外部文件夹的软件只支持搜索标题差强人意会把图片自动放到相同文件夹类，无法自己设置无中等偏上，有改进的空间，虽然用了一些iOS设计风格，但整体上还是不够iOS得分20152055803ulysses（移动端）（45分）[album][/album]字段价格(20')细节处理(20')支持外部文件夹(20')搜索功能(10')markdown解析(10')图片上传(10')第三方服务发布(5')UI界面(5')说明28元/月，太贵了，iCloud一个月才6月呢这个软件打开你就能感受到花了很多功夫不支持支持内容、标题搜索，搜索界面也很好看不支持表格，样式还是很好看的没找到本地图片上传，只找到一个附件，但是和文章是分离开来的支持wp,ghost,mediumios原生界面，完美得分5200105055ia writer（电脑端）（66分）因为有试用期，我就下载了。基本功能还行，流畅性不够，尤其是右侧的编辑器区域，滚动起来就是不流畅，就是不流畅。而且聚焦模式用起来很……很不舒服。（可能我不习惯这个聚焦模式，内容始终显示在中间，上面还会有空白）语法高亮对…

30分钟写一个简单QQ自动回复机器人
type: item
date: 2019-09-19T23:22:00+08:00
description: 环境要求mac OS/linux（其他操作系统类似）酷Qdocker+CoolQ HTTP API 插件NoneBotdocker如果是windows服务器或者电脑也可以安装酷Q，mac linux/linux服务器只能装酷Qdocker（推荐docker安装）!> 也可以直接使用「CoolQ HTTP API 插件」作者集成的docker镜像包，这样就无需配置「CoolQ HTTP API 插件」了。简单介绍简单介绍一下原理是什么。在酷Q中登录你的QQ账号，「酷Q」接管你的消息，并将QQ的所有消息请求和发送进行封装成一些接口，供“插件”进行进一步接管和调用。酷Q的插件后缀都是.cpk，需要安装在酷Q的内部。「CoolQ HTTP API 插件」作用就是专门针对“http请求以及信息处理”方面的插件，使用的语言当然是与酷Q一致的（易语言好像是）会易语言的开发者还是蛮少的吧...emmm「NoneBot」就像一个翻译官，将「CoolQ HTTP API 插件」的插件全部转变成“Python的方法”。「CoolQ HTTP API 插件」有很多个不同语言的翻译官，方便使用不同语言的开发者直接处理酷Q的信息。这样，我们直接写Python文件，就能直接接收或者发送QQ消息啦！开始开始安装！#1. 安装docker brew install docker #2. 安装酷Q+http插件集成镜像 docker pull richardchien/cqhttp:latest #3. 安装nonebot pip3 install nonebot 我们在docker中先启用酷Qdocker run -ti --rm --name cqhttp-test -v $(pwd)/coolq:/home/user/coolq -p 9001:9000 -p 5701:5700 -e COOLQ_ACCOUNT=123456 -e CQHTTP_POST_URL=http://example.com:8080 -e CQHTTP_SERVE_DATA_FILES=yes richardchien/cqhttp:latest 上面的命令如果需要改，就改9001和5701就可以了，其它的不用修改。其中：9001端口号就是登录酷Q的端口号5001端口号是HTTP API 插件开放的端口，这个不用管。如果需要启用多个酷Q，保证这个端口号和容器名称cqhttp-test不重复即可启动之后，打开127.0.0.1:9001，如果部署到Linux服务器上面就是ip地址:9001打开页面之后，会要求输入密码，密码默认是MAX8char。进入之后就是一个类似QQ登录界面，输入账号密码即可。（第一次登录可能要输入验证码）此时，酷Q其实就是以一个安卓手机的身份登录了你的QQ，并接管了你的所有消息处理。「CoolQ HTTP API 插件」同时也在开放接口供其他插件进行调用。接下来，我们需要使用nonebot 模块，使用Python代码接管QQ消息的接收和发送。在coolq/data/app/io.github.richardchien.coolqhttpapi/config/里面有<你的登录的QQ号>.json 文件，打开，并修改（如果没有则增加）三个变量为对应的值{ "ws_reverse_api_url": "ws://127.0.0.1:9999/ws/api/", "ws_reverse_event_url": "ws://127.0.0.1:9999/ws/event/", "use_ws_reverse": true }!> 如果docker部署电脑上的，把 127.0.0.1 改成host.docker.internal!> 如果docker是部署在Linux服务器上的，把127.0.0.1改成172.17.0.1这个操作就是让「CoolQ HTTP API 插件」把接收信息和发送的信息借给noneboot 模块来接管。所以，开始通过noneboot模块，使用Python开发吧。可以用pycharm ide，当然也可以直接新建一个文件夹，使用命令行启用。我们直接用命令行来启动。cd ~/Document mkdir qqboot_test touch boot.py cd qqboot_test & mkdir plugin 第一条指令cd切换到指定目录，后面的指令，你可以完全一样。打开boot.py，我们复制粘贴下面的代码：import nonebot from os import path if __name__ == '__main__': nonebot.init() nonebot.load_plugins( path.join(path.dirnam…

终端与shell的区别
type: item
date: 2019-04-19T14:59:00+08:00
description: 当我从Linux转换开始使用macOS的时候，我发现macOS的终端很丑，它长这样：于是我找到这样一篇文章：Mac OS 终端 iTerm2 并配置 zsh。所以什么是终端，什么是zsh。终端很久很久以前，终端这个概念是这样的：是一种硬件，是一种输入输出设备，用于和计算机交换信息。终端的工作：用户通过终端输入命令，终端将命令传入计算机，执行后，并把结果输入到终端上显示。从这个概念不难可以看到电传打印机符合这个概念：但是现在计算机硬件一体化程度越来越高，硬件质量也越来越强，输入输出设备完全没必要单独用一个硬件和计算机进行交换信息了，取而代之使用软件终端和计算机进行交互信息。这就是终端模拟器 (Terminal Emulator)，也就是我们现在所讨论的终端。除了它不是硬件，它符合终端的概念和工作流程。举个例子，下面这些软件都是终端：1GNU/Linux：gnome-terminal、Konsole；macOS：Terminal.app、iTerm2；Windows：Win32 控制台、ConEmu 等。shell我之前很迷惑一个问题是，有终端就够了嘛，输入命令，执行并把结果输出，要shell干什么。更让人抓狂的shell还有很多种类，bash,cshell,zsh。这些到底是做什么的？所以需要明确下终端负责的工作。终端的工作范围：接收用户的输入，显示传过来的输出。（此外还提供一些优化用户体验的功能，比如支持文字复制粘贴、软件背景颜色的调整等）终端的工作其实是很少的哦，简单来说3点：GUI软件界面、接收输入、显示输出。而shell的核心工作就是操控计算机内核（如新建文件等等），即访问操作系统中的某个具有一定功能、可以处理具体事务的文件(二进制文件 ---- 此类文件经常被称作工具)、或包含一定内容的文件(文本文件)2shell分为：图形化 shell（图形化的桌面环境），如Windows Explorer （文件管理器）、 Linux的桌面环境有：KDE、GNOME、CDE、 XFCE等。命令行 shell。如bash 、sh 、csh 、ksh我们一般讨论shell都是指命令行shell。shell为什么叫做命令解释器不管是GUI shell 还是命令行 Shell，其实都是在解释命令，只不过GUI shell隐藏解释命令细节，用户通过点击鼠标的操作操作内核命令。shell为什么叫做壳如上图，shell通过解析命令调用 系统调用和相关API操作内核命令，进而读写硬件完成任务。shell是最外的一层的接收用户操作，像一层壳一样裹在整个调用过程中。为什么有这么多命令行shellshell与shell脚本语言并不完全相同的概念。shell除了包括对命令的语法规范（shell语言）和对命令解析，还包括一些额外的功能（如命令补全、主题等等）。shell语言和我们学习的任何其他高级语言c,python,java没有太大区别。不同的shell语言可以看做java语言的不同版本。不同shell的区别主要是两方面：脚本语言语法有差异功能、外观、自定义美化上有差异脚本语言早期的sh甚至不支持给长命令设置别名的语法。3zsh虽然完全兼容bash的语法，但还有一些语法差异，具体可以看Zsh和Bash，究竟有何不同 坑很深自定义功能配置除非我们需要编写shell脚本，普通用户一般很难发现不同shell脚本语言差异。对文件操作ls、pwd等等这些常用命令所有shell都一样支持。所以我们普通用户更关注是细节、外观、功能上的差距。这一点zsh做的格外的优秀。比如色彩高亮、命令提示、智能补全、快速跳转等等附加功能。4我们在讨论配置终端的时候，实际上是在讨论配置shell。为什么zsh如此受欢迎？这个较新的shell与bash兼容，但包括更多的功能。 zsh shell提供内置的拼写校正，改进的命令行完成，充当shell插件的可加载模块，允许您在命令行上别名文件名或其他任何东西的全局别名，而不仅仅是命令，以及更多主题支持。 它像bash，但有很多附加功能，附加功能和可配置选项，你可能会喜欢，如果你在命令行上花费大量的时间。3总结： 终端就是软件，是最外层的，shell = shell脚本语言解析器+编辑、外观等额外功能不同shell的切换输入cat /etc/shells，可以查看本机上的所有shell：临时切换比如切换bash，直接输入bash，即可切换到bash环境下，输入exit，复原默认shell环境。默认切换5#使用系统自带的 zsh：输入密码成功切换，重启终端即可使用 zsh。 chsh -s /bin/zsh #使用第三方的 zsh，如从 brew 安装的 zsh。 sudo chsh -s /usr/local/bin/zsh 命令行界面 (CL…

2019北邮考研我的个人经历
type: item
date: 2019-03-31T12:46:00+08:00
description: [scode type="red" size="simple"] （网络计算研究院2020年被合入了计算机学院）关于网研1组的名额的事情我是完全不清楚，抱歉[/scode]本来这篇文章是很早之前写的，写到一半写不下去。现在上岸了，我打算完结这篇文章。可能是写的心情不一样吧。知乎上初试学习方法帖子很多，我的初试成绩也不高，所以我只打算一些我曾经迷惑的问题。报考：北京邮电大学 网络技术研究院 计算机科学与技术 {人工智能、网络智能化、人机交互}研究方向笔记集合[post cid="916" size="small" /]初试总分： 342(101)思想政治理论：58(201)英语一：66(301)数学一：100(803)计算机学科基础综合：118我希望我的一些文字能让你更轻松的面对考研。当我回过头来看，我们作为大学四年的成年人，我们不应该再和高三一样，把考研当做人生的一道坎，或者当做一个特殊而重大的任务。我们应该把考研当做生命的一种经历，一个过程，一个体验。就像我之前说的，我觉得人生不应该是工作、放假、工作、放假这样的循环。不管是很累的工作、还是放松下来的假期，我们都应该坦然的去经历。去年这个时候我还待在家里，考研我一无所知，我不知道怎么报名，我当然还幻想可能可以保研，也不知道考研只能报一首学校，以及如果学习准备我也一无所知。所以我想说的是2020年考研的小伙伴完全来的及，先不必急。我当时只是心里有点着急，但实际上什么也没做。不知道考研是自己看书还是听视频。正式备考（7月份）之前，也随大流的一样的每天拿的数学训练册做几题玩一会手机，又或是看看课本，根本都不做题。到了8月份时候，我发现我之前看的高数，线代，概率论，我彻底彻底忘了，我看到一些概念，我甚至不知道什么意思。因为我没做题。我回答一下可能疑惑的一些问题，这也是我当年困惑的问题：考研累吗累，但是别无选择。我是7月份开始备考的，当时夏天天气最炎热的时候。一开始学习效率不高，第一个月还偶尔去看电影。不是很紧张。学习过程中看手机。但是我很快调整过来的，因为时间太紧了。我觉得可以从这几个方面缓解：首先，自己为什么考研？我自己考研首先我的专业课知识学的太不扎实，考研前，我的计网一塌糊涂，数据链路层我没理解这个链路到底什么意思？一条路吗？所以我没办法找工作。其次，我希望我在研究生中能学到更深层次的理论知识，如果一旦工作，基本很少有学习时间和自己的空闲时间的，我觉得我没办法很快接受这样的环境。其次，给自己复习订一个整体时间规划：我当时规划是这样，7-8月看完数学课本，7-9两个月看完4门专业课。10-12月每个月大概完成什么任务。每天也要有每天需要完成的计划，我一开始总是每天计划内容太多，导致完成不了，所以计划一定要合理。计划需要定期根据你的进度调整，这样你心里有数，你的进度到哪了。ps：也不至于网上说的不洗头，没必要，该整理自己还是要整理的干干净净的，头要洗，不然头发都没了每天学多长时间我每天早上9点醒，10点才开始起床学习。10-11：50 上午学习13：00 - 17：50 下午19：00 - 22：00 晚上这样一天也有10个小时了，到了10月份之后，晚上学到22：30左右。对于我来说，可以了。我早上起的很晚，大家可以根据自己作息安排，保证一天任务量能够完成即可。我也尝试过早起7点或者8点。试了几天，发现上午特别困，都快睡着了，根本学不进去，就索性放弃了。学习时候带手机吗不带。我一开始带。到了10月份之后就彻底不带，因为时间彻底不够了。有人说，查单词啊，要用手机……我觉得没必要，张剑的英语黄皮书，赠送了一个词汇本，遇到单词用这个查并标记好就行了，上面查不到的单词就没必要管。当然个人有不同安排，但是我建议不带。因为真的学习过程中很枯燥的，尤其是前期，不是太紧张的话很容易松懈。跨考计算机难度大吗我今天问了室友才知道三跨是什么意思。跨专业、跨省、跨学校。其实难度最大的应该是跨专业。跨专业的同学认为自己底子差，和计算机专业同学没办法竞争。老实说，本科学校交给我们的实在是太少太少，而且本科上课不积极，不认真。计算机网络、组成原理本科学的时候我也没有学明白，只是为了应付考试，做了一些题目，获得不错的分数。这些专业课知识都是我在考研期间才学的更仔细了一些。我是学渣，我摊牌了本科上课学的语言C / C++/ Java，其实都是学的很浅。C的语言我忘了差不多了，C++ 没仔细学，主要用的最多是java。语言你学了一门，你会发现语言是很有基础语法是差不多，所以跨考的同学熟练掌握一门语言我认为可以了，在这个基础上，再了解别的语言不会花费很多时间。(我个人认为java是门很容易基本使用的语言，因为很多方法都是jdk提供的，比如动态数组、list，当然c++也有，我更喜欢java)所以跨考学生不必要担心和别的…

巧用excel表格计算平均GPA
type: item
date: 2017-02-22T22:12:00+08:00
description: 建议直接脱到最后食用更佳。今天班群里面通知：申请实验班的同学需要把GPA报给团支书。实验班是小班教学，一个班只有30多人，老师也是很厉害的，不仅如此，氛围肯定是不一样的想当初大一下学期刚开始的时候，就有机会报名实验班，据说面试的是我们授课老师，很好过，一些GPA3.0左右的都进了，当时我GPA3.63，可是当时害怕报不上就没报！以至于，大二上学期《数据结构》蹭了大半个学期的实验班的课（我们老师讲的实在太快），造成了很大的负担。这次有机会了，可是上一学期考的并不理想，不知道这次能否成功，不过不管了！先申请再说。接下来是如何使用excel表格快速计算平均GPA。GPA公式是这样的：每一科的学分*绩点之和/所有科目的学分之和这里需要这个函数：sumproduce，sum指的是求和，product是求积。组合在一起就是乘积之和。先把教务网的成绩直接复制到excel表格中。如上图所示，学分栏G3-G28，绩点栏H3-H28每一科的学分绩点之和 公式就是：SUMPRODUCT(G3:G28,H3:H28)所有科目学分之和公式就是：SUM(G3:G28)最后公式就是：=SUMPRODUCT(G3:G28,H3:H28)/SUM(G3:G28)最后结果是：大一第一学期 3.63大一第二学期 3.64 大一第三学期 2.78大二第一学期 3.24 大二第二学期 3.38大二第三学期 3.55大三第一学期 3.36综合(所有)3.44不要问我为啥大一第三学期GPA这么低，因为那是小学期啊！小学期，是夏天最热的时候，只有两门课，一共10多天，大家基本都无心上课，导致多核程序设计学的一塌糊涂！！！惨痛的教训这么简单一个公式，我居然能写这么多文字！学期学年学分绩点课程名称成绩课程性质22015-201634数据结构与算法（I）91专业必修22015-201643.33大学英语B82公共基础必修22015-201663.67高等数学(Ⅱ)85公共基础必修22015-20162.54离散数学(Ⅰ)92专业必修22015-201613.33金工实习B+实践环节必修22015-201633.67思想道德修养与法律基础86公共基础必修22015-20161.54普通物理实验(Ⅰ)A公共基础必修22015-201643.33普通物理(Ⅰ)84公共基础必修32015-201622.33多核程序设计C+专业选修32015-201613.67程序设计实训A-实践环节必修12015-201644程序设计基础A专业必修12015-201622.67计算机科学导论B-专业必修12015-201643.33大学英语C83公共基础必修12015-20163.54线性代数93公共基础必修12015-201664.33高等数学(Ⅰ)96公共基础必修12015-201622.67中国近现代史纲要76公共基础必修12015-201612.33军事理论72公共基础必修12015-201613军事训练B实践环节必修22016-20173.54.33操作系统原理95专业必修22016-20173.52.67数字逻辑76专业必修22016-20172.53.33数论与组合数学B+专业选修22016-20173.53.67概率论与数理统计88公共基础必修22016-201724计算方法A专业选修22016-201763.67毛泽东思想和中国特色社会主义理论体系概论85公共基础必修22016-201721形势与政策合格公共基础必修32016-201723.33认识实习B+实践环节必修32016-201714操作系统原理课程设计A实践环节必修12016-201714数据结构课程设计A实践环节必修12016-20172.54数据结构与算法（II）94专业必修12016-201743电路与电子技术81专业必修12016-201743.33大学英语A84公共基础必修12016-20172.53.33离散数学(Ⅱ)83专业必修12016-201733马克思主义基本原理78公共基础必修12016-20171.53.67普通物理实验(Ⅱ)A-公共基础必修12016-201742.67普通物理(Ⅱ)75公共基础必修12017-20182.53.67Linux和Unix编程基础87专业选修12017-20182.53.67面向对象程序设计A-专业选修12017-20182.54Java程序设计A专业选修12017-20183.53编译原理80专业必修12017-20184.53计算机组成原理80专业必修12017-20183.53.67数据库原理86专业必修12017-201813.67数据库原理课程设计A-实践环节必修12017-201813计算机组成原理课程设计B实践环节必修12017-201833.67移动互联…

怎么学JavaScript？
type: item
date: 2017-01-17T23:49:00+08:00
description: 怎么学JavaScript？JavaScript 我也学了一段时间，可是每次写起代码来总是入门级别，很是苦恼。这篇文章中说把整本书给敲下来未尝不是一个好办法，我很有体会，有时候看不进代码，敲下来的过程中就在慢慢的吸收代码的精髓，觉得很受益处，遂转载之。转载原文：统一回复《怎么学JavaScript？》鉴于时不时，有同学私信问我(老姚，下同)怎么学前端的问题。这里统一回复一下，如下次再遇到问我此问题同学，就直接把本文链接地址发给你了。首先说句题外话。关于有人管我叫大神的事情。个人感觉这跟你买东西时，人家管你叫帅哥一样，你答应与否都无妨。正题开始，前端怎么学，应该因人而异，别人的方法未必适合自己。就说说我的学习方法吧。我把大部分时间放在学习js上了。因为这个js的学习曲线，先平后陡。项目实践和练习啥的，我不说了，主要说下工作之外的时间利用问题。我是怎么学的呢，看书，分析源码。个人这几天统计了一下，前端书籍目前看了50多本吧（点击我）。大部分都是js的。市面上的书基本，差不多都看过。第一个问题是，看书有啥好处？好处应该是不言而明的，书看多了，基础会逐渐夯实起来。看多了，自己的判断力，自然就上来了。看别人的文章，就能很快判断出，对方每块儿讲得对不对，哪块儿又是自己不清楚的，模棱两可的。当然也为看源码，分析源码提供了基础。10本书读2遍的好处，应该大于一本书读20遍。10本书的交集，那就是基础知识的核心，而并集那就是所有的知识。好书当然要多读，反复读。但是只读一本是不行的。因为每本书的侧重点都不一样。从不同的侧面，去理解一个知识点，是很有意义的。所以特别佩服印度人，他跟你讲英文，你一个词语没听懂，他会蹦出n个同一意思的单词，你听懂一个，就ok了。看书也是这样的，某一块讲得不透彻，不用担心，其他书籍可以帮助你来了解。第二个问题是，书籍推荐。个人觉得不错的，没事可以翻翻的。书籍如下：《javascript面向对象编程指南》，风格轻松易懂，比较适合初学者，原型那块儿讲得透彻，12种继承方式呢。《js权威指南》、《js高级程序设计》，这两本书经典是经典，但是太厚，适合把其中任意一章都当成一本书来读。洋洋洒洒，很难一口气看完。比较适合当做参考书。《你不知道的javascript》狙击js核心细节，闭包、原型、this讲得都还清楚。目前《中册》也出了，还在看。《js设计模式与开发实践》js设计模式也是要学的，此书把js的设计模式讲得非常清晰，一点不晦涩，看起来没多少难度。《正则指引》，分析源码时，如果正则表达式不懂，没法进行下去的。此书相对来说讲得比较清晰。《基于MVC的JavaScript Web富应用开发》，看完后，基本能写出自己的mvc框架了。是本好书。《javascript函数式编程》，js是一门函数式语言，此书是函数式编程一个入门，函数是一等公民那是非常重要的。《js忍者秘籍》，jq作者写的，没有传说中的那么难读，话说就算你看完并理解所有知识点，也不会达到世界高手级别的。因为你还没有做到随心所欲。《javascript框架设计》，如果初看此书，会觉得此书有罗列代码之嫌。在我看来，此书讲究的是框架的全局观。以上书籍是我认为是成就高手之路上必须看的，也需要反复看。css相关的书籍，说实话我看得比较少，总共有六七本吧。有两本必须推荐一下：《css权威指南》，css基础知识点那是讲得非常清楚的。什么层叠优先级、line-height啥的。不是随便一本书都敢叫“权威指南”的。《css揭秘》此书我也是不断的看，此书才不屑于全面讲css3各属性呢。css规范文档能讲的，它只会讲你最不在意的。此书解决的47问题，解决思路和解决方案同等重要，很有启发性。以上各书你都可以不买，至少买本此书吧。第三个问题，怎么看。想必很多同学，都想看书，但是很难看下去。文字部分相对来说还能看看，一遇到代码，头皮就发麻了。此问题一开始时我也遇到的。说一个学习理论。比如说学英语，有个开水理论。词汇量必须达到6000才行，如果没达到，英文水平不会上去的，这跟烧开水一样，没事烧烧，放着凉凉，从来没烧到100度，那么此水是永远不能喝的。一旦煮沸过，就可以随时喝了。20本书你看不下去，说明什么呢？任何一本书，你都没看完过。熟悉的，永远只是前三章。别笑，我原先也是这样的。那么现在的问题是，怎么把一本书看完呢？很简单，敲。《基于MVC的JavaScript Web富应用开发》这本书我看时，就是这样，终于有一天，我下定决心要把此书从头到尾敲一遍。文字加代码都敲，然后就一章一章得看完了。代码敲一遍后，你会发现，没之前看起来的那么难。如果你属于一看书就犯困那种同学。强烈建议你把《javascript面向对象编程指南》此书从头到尾敲一遍。坚持看完一本书后，信心就上来了。先保证看完一本再说。看完3本后…

正确使用『番茄土豆』APP的姿势
type: item
date: 2016-11-14T13:43:45+08:00
description: 可能你听过番茄土豆，很可能你以为这是一款零食（什么鬼？）。然而，这是一款帮助你高效学习工作APP。这款APP基于“番茄工作法”番茄工作法（英语：Pomodoro Technique）是一种时间管理法方法，在上世纪八十年代由Francesco Cirillo创立。[1] 该方法使用一个定时器来分割出一个一般为25分钟的工作时间和5分钟的休息时间，而那些时间段被称为pomodori，为意大利语单词 pomodoro（中文：番茄）之复数。(来自维基百科)『番茄土豆』APP 分为高级版和免费版，免费版能满足大部分需求，高级版有教育优惠，学生每月只要4.9元。下面来总结一下正确使用方法，你准备好了吗？番茄土豆主要由两个部分构成，分别是『番茄』和『土豆』。『土豆』就是指你的目标，比如“背完今天100个单词”。与其他任务管理软件不同的是，我们不建议你将远期的计划放入土豆中。最佳的土豆应该是一周内就会完成的事务，每个土豆最好能通过10个以内的番茄完成。『番茄』指的就是每25分钟的一个工作周期。认真工作25分钟。等到时间结束后，番茄土豆会提醒你记录下25分钟的工作内容。如果此时土豆已经完成，可以点击土豆前面的圈将土豆勾选完成，这时土豆内容将被自动补全到番茄描述中；如果土豆并未完成，可以通过点击其文字部分，将描述补充到番茄中；在番茄时间内保持专注是番茄工作法的核心要义，因此番茄土豆并不提供暂停番茄的功能，当你受到打扰需要转移到其他事务中就必须放弃这个番茄。另外，我们还提供了一些统计和分析供你了解你的工作情况，包括最佳工作日、最佳工作时间和日平均番茄数。一般情况下，一天完成8个番茄就是一个相对不错的数字了。我们认为，合理的减少工作时间，有助于提高你的工作效率。如果你使用高级版，我们还有每周的周报通过邮件发送给你。我已经买了一个月的高级版啦！现在开始，高效工作吧。部分内容来自如何使用番茄土豆 (Pomotodo)?