阅读视图

发现新文章,点击刷新页面。

2023 一蓑烟雨

2023,我以结束隔离而开始,也许从此刻就埋下了这一年步步坎坷的伏笔。

2023 是我既 2019 之后的又一次重启人生之旅。上一次是我单打独斗,这一次变成了拖家带口。疫情的后两年,我没有写年终总结,关注我已久的朋友可能会觉得断档了,但这也确实是如现实生活所演,地理空间的隔断让生活也变得局促。我到底是也没闲着,偷摸着当了人夫也作了人父,“时间就像一头野驴”,横冲直撞到我自己都不敢相信。

探亲之旅

就先从隔离说起吧,我有幸作为最后一批入境隔离的同学,在隔离酒店度过了我 2022 年最后的几天。我至今也没想明白,在香港呆了三年都没阳过的我,是如何在入住隔离酒店三天内就喜提红码。幸亏娃的身体很棒,高烧只持续了一两天,没有让我们担心太久。本来龟腚:“必须同房间内所有人健康码转绿,才能结束隔离”,但幸运的是,在隔离期间遭遇大赦,于是隔离期满就被放出来了,好在没有影响之后的行程。

其实这次回去,是我的探亲访友之旅,我们的行程安排的很满,因为马上就要远渡重洋了,所以想在走之前把所有的亲朋好友都见一遍。我只请了一个月的假,几乎每周都要转场到另一个城市。从光怪陆离的香港职场,一下回到内地亲朋好友安排的大鱼大肉中,实在是乐不思蜀。第一次在山东过年,顿顿白酒也是让我领略了什么是好客山东。

亲情这个词,单拎出来讲显得矫情,但冠以三年的间隔就显得弥足珍贵。

忙碌的二月

假期结束我就马不停蹄回到了工作,猛赶了几天工作量就是为了把之后的时间都匀出来。因为这个月我们要收拾行李、搬家、很多 p...

Continue to read

2018 平淡无奇

原文地址:https://geekplux.com/2019/01/05/2018-summary

2018 年对我来说是平淡无奇的一年,没什么让自己满意的成绩,有种辜负了时光的感觉。以前的总结都是以人生阶段为单位的:

不曾想,学生生涯又结束了一次,以后打算以年为单位去总结,絮叨一下今是昨非。

整个 18 年,我以忙乱的搬家为始,又以慌乱的搬家为终。依稀记得 2017 年 12 月 31 号晚上我看着李亚鹏版的《笑傲江湖》跨年,一直颓废到第二天晚上,同学们都回家了,于是百无聊赖的我一个人出去吃了顿火锅,非常有仪式感地度过了元旦。2 号一大早我就出发,去云栖小镇开启找房看房之路。一天时间敲定租哪,又一天时间搬家,脚步匆忙,都没来得及和实验室的小伙伴道别就直接搬到了工作所在地,紧接着我就入职了阿里云。

工作

要说拿到 offer 是在去年的秋招,当时我投了两家小公司的前端岗位练手,同时找师兄师姐内推了腾讯阿里和网易。没敢投国外大公司,主要是对自己英语和算法不自信。当时的想法也很简单,如果我进不了这三家公司,那我的研究生就是彻彻底底的败局。读研之前的工作对于当时的我来说已经算不错了,如果一直工作的话,三年的时间我相信我也可以跳槽进这些大厂。而我选择了另一条读研之路,如果连这些大厂都没进去,就更别妄图抹平其他沉没成本了。

说实话我很讨厌面试,参加过的所有面试都没有花特别多的时间去准备,一般都是去面试...

Continue to read

2019 柳暗花明

原文地址:https://geekplux.com/2020/01/06/2019-summary

2019 过的比 2018 年更快一些,不知道是因为经历的少了还是因为年纪大了,翻看年初的朋友圈真是言犹在耳。很多事情求而不得又阴差阳错,如果用一句常被人道的诗来形容我的 2019,那便是:柳暗花明又一村。

旅行

先从喜闻乐见的旅行说起。以前觉得漫无目的的旅行就是浪费时间,今年觉得只有漫无目的地走才能有偶遇的惊喜。经常是瞧到一处景,踱过一座桥,或伫足片刻,或按下快门,或呆坐一下午。总是时隔很久才发现,原来那个阳光明媚的下午竟然不经意间打卡了某个网红景点/餐厅。没有目的的感觉,真好。

云南 江西

2019 年的第一天,彼时我在春城昆明。当时和女友及好友一行四人在昆明呆了四天。石林吃马肉,滇池喂海鸥。云南美食的口味较重,略辣,在朋友的盛情款待下,吃了正宗的米线与两个印象最深的食物:大救驾和豆粉。

这次旅行我带了唯一的拍照设备 OSMO pocket ,大疆刚发布我就买了,小且轻,装兜里没感觉,开机迅速,可拿出来直接拍,优秀的防抖治愈了我年迈的双手。当时拍了很多海鸥吃食的慢动作视频,写到这的时候翻出来看了看,真回味无穷。自从有了 OSMO pocket,我的硬盘愈发吃紧,之后可能得配一台 NAS 才能存下这些视频格式的记忆碎片。

踏春之际,探访江西。印象最深的是婺源漫山遍野的油菜花中间点缀着一些徽派建筑。最后一天登了久仰大名的滕王阁,不大,上去之后可以俯瞰赣江源远流长,我想它的气场大概都是由《滕王阁序》支撑起来的罢。

![](https://geekpluxblog....

Continue to read

即将失明,还能继续做程序员吗

今天早上我照例打开 Hacker News 看看有什么新奇的东西。头条的标题一下子吸引了我:I'm a software engineer going blind, how should I prepare?,一个即将失明的小哥,还想继续做程序员。这个帖子大概是我 2020 年读到最温情的文字了。

帖子里说明了情况,小哥两年前被诊断出患有 Usher综合症,可能导致聋哑、眼部病变至完全失明等。他提出了几个真诚的问题:询问是否还能继续做前端程序员,有没有什么更适合视障人士的工种,有什么趁手的工具和哪些公司在招聘像他这样的程序员。

Screen Shot on Hacker News

下面的评论中,很多人给出了建议和鼓励,我在此列举一下:

  • 有天生失明的程序员出来现身说法,使用 NV Access(免费开源的屏幕阅读器)阅读一切和完成电脑操作,他提到没有什么是不能通过阅读器完成的,阅读 python(一种编程语言)更不是问题。下面还有人说可以用 Dragonfly 可以语音创建指令。
  • 有人说有失就有得,熟练掌握工具后阅读速度会比普通人快很多,记忆力,空间想象力会大幅提升。
  • 有从贝尔实验室出来的前辈通过曾经同事的例子鼓励他,即使失明也能创造出伟大的代码。
  • 有从 Apple 公司出来的程序员说当时 Apple 里面有不少失聪失明或瘫痪的工程师。
  • 有同样确诊 Usher 综合症的程序员,虽然没做过前端工作,但仍能开发后端代码。
  • 有人提议,可以从现在起在屏幕前遮一块布开始工作
  • 有人提议应...
Continue to read

2020 恍如隔世

原文地址: https://geekplux.com/2021/01/05/2020-summary

往年的总结,总是很多可讲,今年的却不知从何下笔。2020年是不平静的一年,是跌宕起伏的一年。疫情就像一场浩劫,压缩了我的空间和时间,回头看年初的照片,好似还在昨天,回顾一年做了什么,却怎么也想不起来,好像没有活过,好像只过了一天。如果不是相册里的照片,和我琐碎的日记,我真的怀疑这一年缩水了。

Standing on a peak

前两天用 1SE 这个 APP,生成了一段我的 2020 review vlog,它自动把我每天拍的视频抽 1 秒出来,然后按日期再组合,竟还有点意思。我加了个配乐发布到了 B站YouTube,有兴趣的同学可以前去观看。

生活,无常

2020 年,我的开局很美好。年初决定把家里人接到香港过年,想圆我自己带外婆旅游的梦想。外婆离不开轮椅,第一次坐飞机就是境外,可能有些兴奋也有些疲惫。我自然也是兴高采烈,带着他们逛了我工作的地方、中环、尖沙咀、铜锣湾等地方。因为外婆行动不便,母亲甚是疲累,也因为我对香港还不熟悉,所以就没有去太多的地方。在香港的那几日,新闻里已经开始报道内地疫情的爆发,我们当时出门都戴上了口罩。运气好的是,我 27 号刚从机场送走家里人,紧接着香港就开始陆续封关。

和内地的朋友们一样,年假结束后,我也开始了在家办公的日子。本来规律的上下班...

Continue to read

复式记账、财报、量化与图论

不会记账何以变富。

如果你去搜索“为什么记账”,大概会有无数条理由。大多数会提到:记录自己的开支、寻找可削减的开支等。但我认为记账的功效不止于此,它其实是量化自己的一步,也是自身财务管理的一步。如果你想要投资炒股,那记账更是你理解公司财报的重要一步。

如果说金融业的本质是合理资源配置(通俗来说就是“让钱去该去的地方”)的话,那记账就是自己财富资源配置的基础。

复式记账

先简单说说我的记账史:我大三开始记账,一开始用一款叫 Toshl 的 APP,多端同步、界面大方(现在这家公司仍活的挺好,登录上还能看到我几年前的账单)。当时它没有自动同步功能,我靠纯手动记账坚持了大概一年半。直到我的信用卡多起来,可以自动同步信用卡账单的网易有钱进入我的视线,我在安全和便捷的博弈中倾向了便捷。靠网易有钱一直坚持记账了两年多。这期间不仅记余额、日常花销,还包括基金、股票的仓位等,让我对资产负债表慢慢有了概念。

Beancount

到后来我遇到 Beancount,发现这才是适合我这种强迫症的终极大杀器。同时我也接触到了复式记账这种更科学的记账方式,对资产=负债+权益也有了充分的理解。

珠玉在前,关于什么是 beancount、什么是资产、为什么用 beancount 记账、为什么要采用复式记账等等,都在 Beancount複式記賬Beancount —— 命令行复式簿记等文章中有详细介绍,我这里简单概括一下:

复式记账就是保证每笔账都要有至少两个(复数个)账户,且这些账户的和为零的记账方式。

简单举个例子:我们去便利店买了一瓶可乐,那么如果按普通的记账方式,账单上的记录...

Continue to read

给想转行作程序员的人泼一盆冷水

原文地址:https://geekplux.com/2019/04/02/advice-for-who-wanna-switch-to-programmer

最开始想写一篇《现在转行作程序员还来得及吗》,因为有不少朋友问我这个问题,但写着写着发现我一直在劝退,索性改了题目。

**本文针对的是那些想要转行找到工作的同学,而不是纯粹兴趣想学编程的同学*。

所以现在转行到底来不来得及?我觉得:来得及,但风险很大。有的朋友动力足,现在已经转行成功入职 BAT,有的半工半学,还在挣扎中;有的去了培训班,马上毕业了;有的问完继续走原路……但绝大部分都失败了

转行做程序员的好处我相信你已经充分了解,要不然也不会有转行的想法,所以我就不赘述了,这里主要说几点风险(前方劝退,谨慎阅读)。

学习成本低,不意味着就没有成本

编程难么?说实话还是挺难的,这里我是针对大部分没有基础的人来说的,不排除有天才、大神能无师自通。很多人对编程的印象来自于电影,即使现实中有程序员朋友,你也很难 get 到他每天到底在电脑前干啥。为什么用键盘输入一句话,电脑就开始自动帮你干活了,这些你没有自己写代码之前,是没有体感的。隔行如隔山,就跟我读别的行业的文章跟天书一样,想转行,是需要付出很多的。

上手门槛低,反而更难找到工作

已经有水泥搅拌机了,你还需要学怎么用铁锹么?

没错,现在的编程门槛越来越低了:以前建个网站可能要 LAMP 一条龙,现在只需要拖拖拽拽一键生成;美国倡导全民编程,App Store 里也有很多少儿编程教学 App,按部就班就能开发属于自己的程序,一切看起来 so easy。但是,掌握越是容易的东西,你的竞争力就越低,大家都会的东西为什么还要给你高薪。“世之奇伟瑰怪非常之观,常在于险远,而人之所罕至焉“。

所以“学会”编程,和找到工...

Continue to read

Android 开发如何入门

这是我在知乎上的一个回答(原文链接


绝大部分人说官方文档和范例是最好的教程,如果你英语好,且有 Java 和 XML 基础,那按照官方的Training一路下来就算入门了。

如果英语不好,可以看一些视频入门,如 Mars 的《Android 视频教程》的。最起码得先把开发平台搭建起来吧。再结合视频做一些小练习,最基础的布局先练好,不要急。

当然,看视频的话虽然通俗易懂,但是进度可能比较慢(即使我视频调至 2 倍速看),所以必须结合看书。但是,市面上的书大部分都跟不上 Android 最新的脚步。 不过还是推荐两本:

Continue to read

Web 前端中的增强现实(AR)开发技术

本文作者 GeekPlux,首发于前端外刊评论-Web 前端中的增强现实(AR)开发技术,博客地址:http://geekplux.com/2018/01/18/augmented-reality-development-tech-in-web-frontend 。注明作者和地址即可转载。

增强现实(以下简称 AR)浪潮正滚滚而来,Web 浏览器作为人们最唾手可得的人机交互终端,正在大力发展 AR 技术。很多 Web 前端工程师也在寻求职业转型,于是我把我近半年的相关调研结果在此汇结成文。本文力求把目前前端方向的 AR 技术都罗列一遍,细节不赘述(_保证文章篇幅不过长_),只做概括和科普(_因此文章中的链接很多_),零零散散写了一个多月(拖延症),欢迎已经在从事该领域或研究的道友前来纠正补充。

Web AR 初音未来

AR 可以简单的理解为一种实时将虚拟图像叠加在现实场景中的技术,且能交互[1]。我个人觉得 AR 比 VR 要有前景,主要因为:

AR 的优势在于把目之所及的现实场景变成了背景,并将现实世界和数字世界无缝连接。

当然这个“无缝”目前还谈不上,不过一直在进步。在谈 Web 前端如何做 AR 前,有必要先了解一下 AR 实现的 2 种主要方式和其关键技术:

AR 实现的方式和关键技术

AR 的主要实现方式有 2 种[2][3]:光学透视式 (Optical see-...

Continue to read

数据可视化基础——数据模型

本系列「数据可视化基础」文章共三篇,介绍可视化中最基础、最重要的一些概念、理论。这篇为第二篇,主要介绍数据模型,另两篇则主讲可视化流程视觉编码,建议从可视化流程看起。 原文地址:http://geekplux.com/2017/01/02/basics-of-data-visualization-data-model

数据说白了就是一组可定性或可量化的值。随着计算机存储能力的大幅提高,人们对于数据的关注与日俱增,「大数据」一词近几年来也被人们频频提及。而数据可视化的主要任务是将数据转换为易于感知的图形。因此,为了更准确更形象的表达数据,我们需要了解一些数据相关的概念。

数据模型与概念模型

为什么数据能代表我们的世界?要回答这个问题,我们得先了解数据和概念两个模型。

数据模型是一组数字或符号的组合,它包含数据的定义、类型等,可以进行各类数学操作等。概念模型描述的是事物的语义或状态行为等。

现实 => 概念 => 数据

现实世界可以用概念模型来描述,而概念模型又可以用数据模型来描述。经过两层抽象,数据便可以描述我们的现实生活中的方方面面。

数据类型

一个东西具体归为哪一类,取决于我们用什么标准划分,数据亦然。

从数据在计算机中...

Continue to read

数据可视化基础——可视化流程

本系列「数据可视化基础」文章共三篇,介绍可视化中最基础、最重要的一些概念、理论。这篇为第一篇,主要介绍可视化流程,另两篇则主讲数据模型视觉编码。 原文地址:http://geekplux.com/2017/01/01/basics-of-data-visualization-the-process-model

很多人认为数据可视化非常简单,无非是输入几组数据,生成简单的条形图、直线图等等。然而,这未免有点管中窥豹。其实数据可视化大致可分为信息可视化科学可视化可视化分析三大类,刚才提到的简单图表只是信息可视化中最常见的几种。一旦数据量增大,可视化目标改变,可视化系统的复杂度可能就会超出我们的想象。本文中涉及到的可视化流程模型适用于信息可视化和科学可视化。可视化分析的流程模型略有不同,本文暂时不进行讨论。

通用的可视化流程

做任何事都有一个流程,可视化也不例外。

数据可视化流程总览

一图以蔽之。可...

Continue to read

数据可视化基础——视觉编码

本系列「数据可视化基础」文章共三篇,介绍可视化中最基础、最重要的一些概念、理论。这篇为第三篇,主要介绍视觉编码,另两篇则主讲可视化流程数据模型,建议从可视化流程看起。 原文地址:http://geekplux.com/2017/01/03/basics-of-data-visualization-visual-encoding-principles

终于来到了最后一篇,前两篇的铺垫可能有点长,但是不种苗浇水怎能开枝散叶。可视化编码是可视化中的核心内容,本文会对其进行详细的讲解,尤其是视觉编码视觉通道两个概念,如果其中遇到晦涩之处,不要心急,可囫囵吞枣直接往下看。

什么是视觉编码(visual encoding)

很多人可能看到题目的时候就有这个疑问,到底什么是视觉编码。其实视觉编码很简单,用一句话就能概括:

视觉编码描述的是将数据映射到最终可视化结果上的过程。

这里的可视化结果可能是图片,也可能是一张网页等等。

编码二字,如果说是指设计、映射的过程,那么码呢?其实指的是一些图形符号。

图形能告诉我们什么

在介绍各类图形符号之前,我们先谈谈:图形能告诉我们什么。

![](https://gee...

Continue to read

如何绑定独立域名

前天把博客搭好之后总觉得得搞个独立域名才算「高端大气上档次」。今天把绑定的经验分享一下。


购买域名

域名,就是你网站的网址(标识和入口),比如我的是 geekplux.com。不是说没有这一串字母就不能访问你的网站,只是用 IP 访问的话,谁愿意记那一堆数字。相比之下,还是记字母简单。

免费的域名有很多,但是免费的顶级域名真不多。据我所知,.tk是很不错的。如果你决定要长期写下去,也想让别人独一无二的网址访问你的博客,那还是买一个吧。

域名提供商很多,国内有万网等,国外有nameGoDaddy等。不过还是推荐你购买国外厂商的,因为国内要备案,提交各种材料等审核(_国外难道没有监管机制吗?呆在天朝就是安全_),我们只是为了有个博客,没必要这么兴师动众的。我用的是 GoDaddy 的,因为可以用支付宝支付。买的时候看个人喜好,我用的是.com的,也有人追求个性用.me.us等(不信可以搜 www.fuck.me )。不推荐.info的,以这个结尾的大部分是垃圾网站,容易被搜索引擎屏蔽,我想宅男都懂。

在 GoDaddy 选好你的域名之后,一路点 continue,到支付页面选支付宝,价钱跟你域名的好坏有关了(BTW,我在支付前特地 Google 了一下 GoDaddy 有没有优惠,结果真搜到了 GoDaddy 的优惠码,6 折买的)。。。接下来要将你的域名和 IP 绑定起来,这里涉及到一个叫DNS的东西。

配置 DNS

DNS 可以理解成一个专门破译密码的侦探,把你的域名解析成 IP 地址,所以只要把你刚买的域名在 DNS 里设置成指向你的 IP,别人就能通过域名访问你的网站了。DNS 具体的工作方式太复杂,我是小白,讲不清楚。

GoDaddy 默认提供了 DNS 服务,但是很不稳定,具体原因。。。这个。。。在...

Continue to read

人总要有点盲目的自信

You can do everything. 没错,每个人都可以做到任何事情。

写这个标题完全是我一时兴起,因为我今天突然想到一个问题: 程序员这个职业给我们最大的好处是什么

我能想到的答案有很多。比如

  • 爆棚的好奇心
  • 不断学习的习惯
  • 批判精神
  • 能自我反省
  • 有耐心
  • 话少专一长得帅(程序员里会打扮的多了去了,你们不要被他们的自黑所蒙骗)

以上等等。但最大的好处,莫过于让我们相信了 没有解决不了的问题 。如果说以上列举的几点给了程序猿们不断进步的武器,那这最后一点则是在程序猿心中撒了一颗种子,让他们逐渐强大。这点我和其他程序员交流过,大家都深有同感(但只有我不要脸的写出来了)。

在我图样图森破的时候,但凡遇到完全没有头绪的难题,我总会觉得这根本没什么解决方案。但是 Google 之后,或是请教高手之后,我又总会感叹原来 tm 这样也可以!为什么我没有想到?为什么在还没绞尽脑汁的时候就下了「无法解决」的定论?后来每当我再遇到这类情况,就不停的告诉自己是可以搞定的,即使我暂时还没什么进展,静下心来想一想总会有突破的。

可能是因为这种心理暗示起了作用,也有可能是 Bug 见多了,还有可能是深深折服于前人留下的知识瑰宝,总之我慢慢的觉得自己无所不能。再到后来 Boss 问我「这个功能能实现吗?」我总是回答能,感觉特别难的我会加一句「可能需要点时间」。

无所不能的心态慢慢从编程转移到了生活的方方面面。我刚开始把这种视为 盲目的自信, 有时候我都感觉自己变得可怕,竟然想做很多以前想都不敢想的事情。比如我练 Ukulele 时,无名指和中指特别不灵活,怎么也按不了 G 和弦。搁我以前,肯定早就放弃了,然而这次却坚持了下来,每天练十几分钟,也不求多。大概过了两个多月,突然就可以按到 G 了。

所以这种盲目的自信挺好的,他可以让我们迎难而上。做成一些事之后又反过来增强你的这种信心,最后形成一个正循环。而且就像上面我练琴的那个例子,它还让我学会了坚持到底。后来我每当想放弃一件事的时候,我...

Continue to read

十年博客折腾历史

断断续续写博客也多年了,如果从当年的 QQ 空间算起,那估计是有 10 年了。想以一篇流水账记录我折腾博客的历史。

生命在于折腾

第一代博客 - QQ 空间

当时我还是一个沉迷于如何把 QQ 空间打扮的更好看的人,不过偶尔也写几篇贻笑大方的文章。所以 QQ 空间是我的第一代博客,后来大学毕业决定告别社交网络,就把所有文章备份,然后把它彻底关闭了。

第二代博客 - Farbox

大约是大二,读到了一篇《为什么你应该(从现在开始就)写博客》,随即又准备起来,当时瞄准了一个工具 Farbox,是基于 Dropbox 的,只要把文章写好,托进 Dropbox 里,博客就自动更新了。它还提供了二级域名,这样其他人就能很方便的通过域名访问你的博客。

当时 dropbox 还没被封,是最好用的网盘,虽然上面的步骤看起来简单,但我还是折腾了很久,而且最大的收获是学会了 markdown,了解了什么是标记语言。随后我也写了两篇博客记录了一下:写博客就用 FarBox, 如何绑定独立域名,不知道现在 Farbox 还能不能这么用。

第三代博客 - Hexo

我慢慢觉得 Farbox 太小白了,不够 Geek,于是我又萌生折腾的想法。我先是 Google 了一大圈,然后去知乎提了个问题:[如何拥有一个完全免费的博客?](https://www.zhihu....

Continue to read

尝试改变微信公众账号消息的推送方式

之前我自己运营的微信公众账号一直是以「图文消息」的模式推送,今天我尝试换成「文字+关键字回复」的模式。

我的出发点是这样的:现在使用手机查看公众平台订阅内容的分为两种,一种WiFi党,一种流量党。而我的推送有时候一篇内容会夹杂着大量的图片,WiFi的当然无所谓,流量党的童鞋就苦了,可能为了看一篇文章要付出几M的流量。如果换成「文字+关键字回复」的模式就可以在推送时加上必要的说明,比如图多杀流量、篇幅较长、重口味慎入等等。

但是,用户反馈中大部分认为没有之前的体验好。有的说WiFi已经普及了,有的说文字模式他必须全部读完那一坨文字,他更喜欢图文模式的一目了然,还有的说我纯粹是多虑了(貌似确实-_-!)。。。但这会不会是反对的人更倾向于反馈感受,而喜欢的人可能就默默接受,觉得没必要反馈了。。。所以我觉得单单从今天的用户反馈来说是无法判断到底哪个模式好的,况且还有部分人说他就喜欢文字推送,清爽!

从我自己的角度看,图文模式整体美观,排版清晰,唯一的缺点是稍微费流量,当然还造成了像我这种有强迫症每条必点、不点不爽的痛苦。而文字模式虽简单直接,但排版不太好。用户惰性又相当高,很多用户不愿意去主动选择自己所需的内容,更倾向于被动接受。即使是愿意选择,也可能因为要多一个「回复」的操作步骤而错过了内容

那么从整体上看,应该是图文模式能吸引更多的流量。互联网里掌握了流量就掌握了一切。。。好吧,一次简单的尝试果然会收获不同的领悟,得记录下来。

Continue to read

Windows8.1 下 Cocos2d-x 环境搭建

Cocos2d-x 是一个开源的 2d 游戏引擎,基于 Cocos2d-iPhone 设计,MIT 许可证下发布。其最明显的特点是跨平台,只需要编写一次代码,就可以无缝地部署在包括 iOS、Android、Windows、OSX 在内的许多主流游戏平台上。在移动终端多样化的今天,跨平台是大势所趋。接下来开始正题:如何搭建 Cocos2d-x 开发环境。

准备

  • 正确安装 Visual Studio 2012(2010 也可以,以下简称 VS)
  • 官网下载 Cocos2d-x(本文使用的是 C++2.2 版本)

步骤

  • 解压 Cocos2d-x 压缩包:将下好的引擎解压到你认为合适的地方,比如说 D 盘或者 E 盘。
  • 打开解压后的 Cocos2d-x 引擎的目录,可看到如下文件:

如果你装的是 VS2010,则打开 cocos2d-win32.vc2010.sln;如果你装的是 VS2012,则打开 cocos2d-win32.vc2012.sln,如上图红色框表示的。此时会自动打开 VS2012(或 VS2010),稍等片刻后你会看到 Cocos2d-x 自带的例子都已经自动加载到 VS 的工程目录下了。如下图:

  • 加载完毕后,在 Solution 'cocos2d-win32.vc2012' (解决方案) 处右击鼠标,选择“Build solution”(生成解决方案),如下图...
Continue to read

CoffeeScript 笔记

原文地址:https://geekplux.com/2014/05/15/coffeescript_note

最近读了《CoffeeScript程序设计》的前半部分「核心 CoffeeScript」。对 CoffeeScript 也是有了初步的了解,本文只是我的随手笔记,并没有非常系统的总结 CoffeeScript 语法,想学习语法的同学可以看以下两份中文材料:

为什么要用 CoffeeScript?

  • 采用了 JavaScript 中的 Good Parts,符合 JS 最佳实践
  • 代码简洁清晰,有很多语法糖

一些特性

1.有意义的空格

CoffeeScript 移除了所有的大括号和分号。

JS 会自动在行尾添加;,但它又没有纯粹的设计为一款不需要加分号的语言,所以有时候会引起一些蛋疼的Bug。而 CoffeeScript 会在编译出的 JS 代码里每行都加;,很方便。

CoffeeScript 和 Python、Ruby 一样,采用强制缩进(Coffee的很多地方与 ruby 类似),这种简洁,可读性又很强的代码,让人大爱。

2.变量作用域的控制

JS 中的变量作用域一直让人诟病。

CoffeeScript 把编译生成的 JS 封装在一个匿名函数中:

(function(){
  // 这里是编译生成的代码
}).call(this);

这样就巧妙避免了全局作用域的污染。同时,CoffeeScript 始终在编译生成的 JS ...

Continue to read

CoffeeScript 编码风格指南(译)

这份指南阐述了一些 [CoffeeScript][coffeescript] 的最佳实践和编码惯例。

这份指南是社群驱动的,非常鼓励大家来贡献内容。

请注意这还是一份正在完善的指南:仍有很多地方可以改进,有些已制定的准则也不一定是社区惯用的(基于此,在适当的情况下,这些有待斟酌的准则将有可能被修改或删除。)

灵感

本指南中的很多细节受到了几份现有的风格指南和其他资源的启发。特别是:

  • [PEP-8][pep8]: Style Guide for Python Code
  • Bozhidar Batsov's [Ruby Style Guide][ruby-style-guide]
  • [Google's JavaScript Style Guide][google-js-styleguide]
  • [Common CoffeeScript Idioms][common-coffeescript-idioms]
  • Thomas Reynolds' [CoffeeScript-specific Style Guide][coffeescript-specific-style-guide]
  • Jeremy Ashkenas' [code review][spine-js-code-review] of [Spine][spine-js]
  • The [CoffeeScript FAQ][coffeescript-faq]

目录

Continue to read
❌