看了一本书《数学之书》,英文名叫《The Math Book》,翻译得惨不忍睹,不过里面还是有一些有趣的之前没听过的东西,记在这里了。
CoffeeScript就是JavaScript的语法糖,写起来效率更高,也去掉了一些晦涩的语法,这里记录其简单用法。
有些正则表达式的不经常用到就会忘记,整理一下,再用到的时候也好便于查询。
花了一下午的时间看了这本《认知与设计》,一本从认知角度去讲解设计理论和设计原则的书,隔行如隔山,虽然程序员和设计师打交道不少,但真要去了解其中的内容,发现「设计」还真是另有玄机。
本来对这种书名的书向来是不感冒的,但是在V站书单推荐里看到了几次这本书之后查了一下,豆瓣评分9.0,趁着囤书的机会就买了看了一遍,说实话,读完之后感觉7.5-8.0还是可以的,9.0感觉有些夸张了,可能是大家考虑到是面向小孩子理财的,才打了高分?
凑单买了一本叫《IT简史》的书,一下午的时间翻了一遍,书本身没什么亮点,非常浅,也没有编著者的个人观点,感觉就是一本简版的Wiki百科的集合,不过翻一下也还好,有些事件和概念还是以前不知道了,就当补充计算机历史知识了。
闲着没事儿在书架上找书看,又看到了翻得有些旧的《C专家编程》拿起来又翻了一遍,大二买的书,前后看了四遍,这是第五遍,每次看看都能有一点儿新的收获。
在写上一篇博客之前,我一直对URL编码没什么概念,看到网页链接上一串百分号加数字的字符串时会短暂的想想,因为工作中也不涉及到具体的URL编码的部分,一直也没深入过,而促使我写下来记录就是上一篇博客中markdown解析的时候出了一点小问题(markdown链接是放在小括号里面的,然后放在小括号的链接本身也包含小括号,这时markdown解析出了问题),然后查问题的时候就查到了URL编码的相关知识,这几天又查阅了资料,简要写在这里,深化一下记忆。
和同事讨论Java 8的lambda表达式,然后就说起了闭包
,然后发现在不在少数的人对闭包的理解就是闭包就是个匿名函数,甚至就认为这二个是互通的。
岁数越来越大,回老家过年也感觉越来越没意思,今天闲得没事儿,在旧柜子里面翻腾,找到了这二个东西 – 当年超级奢侈带电池可以保存进度的FC游戏卡带:
之前用Git都是直接使用SourceTree这个开源的Git图形界面的客户端,输入log,提交,从远程pull更新,都是点几下按钮,从来没有在命令行里面操作过Git,开始bugcodeCalendar这个项目之后,开始尝试完全用命令行进行Git的操作,四月份开始的这个小项目,一直到现在,断断续续的业余时间也有几个月了,现在命令行里操作Git算是『行动自如』了,这里对这几个月的使用总结一下,也算备忘吧。
几个C语言的特性和tricky,平时不常用到,却很有用,这里记录一下。
不同系统对“换行”的表示,详情可以看这里。
每个月都会写些流水帐,也不知道文字能力还能不能借此挽救一下。前几个月是没时间写,而现在是太闲了,惰性说来就来。迷糊着突然发现地铁上的人突然多了起来,恍然,九月都来了,学生都开学了,学生时代,恍惚间感觉离自己好久远一样。好吧,就迷糊着在九月记录一下八月吧~
Bash的简单入门,不介绍复杂的语法,只有基本的语法构成,看完可以写出简单的shell脚本,根据learnxinyminutes的入门画的脑图,不常写会经常忘记,画下来做为备忘,条理清晰些。
最新一版的Typora支持画流程图了,用的flowchart.js,直接可以用代码的形式来描述流程图,然后直接就会通过flowchart.js渲染出实时的流程图,之前对这些没了解过,记录在此。
Swift 3已经实现的变动提案,粗略翻译一下,自己顺便也了解记录,原文地址:https://apple.github.io/swift-evolution/
每次写这种记录就是胡言乱语的流水帐,之后再回去看一眼时候,感觉当时心情是千军万马,火急火燎的。至少有半个月没有碰这个小(ji)博(shi)客(ben)了,趁端午节的调休假记录一下这二个月。
一个月内一直在各种忙,项目马上上线,各种问题都来了,虽然不是身居要职但是问题也特别多,说焦头烂额也不为过,每天处于各种加班状态中感觉时间过得特别快。端午节没休息,国内游戏行业好像都是这个状态,一言不合就疯狂加班😂。
前几天Swift发布3.0预览版,改动的还不小,不兼容Swift2.2,加了诸多特性,也去掉了不少语法,看到的第一个就是在Swift3.0里去掉了Function Currying(函数柯里化)的语法声明形式,具体可以看这里。之前从来没有了解过这个术语,只知道大致的意思,这里记录一下。
现在的版本管理工具都有相当人性化的GUI版本,无论是免费的收费的,都做得相当好,点几个按钮,选几个文件,提交,回退,更新,一步就完成了,但是最近在公司的Mac下(低配Mac mini,你懂的…),很多GUI版本的工具都非常慢,卡顿非常严重,而且对SVN的外链(external)支持不好(像CornerStone这个SVN的GUI工具),也就是在版本管理工具的内部的文件视图里,看不到external属性下的文件,只能看到最上级的目录,而实际的目录中却有对应的文件,只是不能在GUI的版本工具中进行操作,这个情况下就只能在对应的外链目录下通过终端进行提交了。一段时间下来,发现一堆命令都忘了,只会在GUI工具上点来点去,一旦遇到上面那种情况,就得傻眼半天,这里记录一下常用的SVN命令行命令。
经常在Mac在安装操作Android真机,但是Mac对于Android的设备支持,没有Windows那么方便,经常把文件copy来copy去就为了把文件放到Android手机里,特别不方便,现在知道了Android sdk的adb(Android Debug Bridge),这里面的adb push 和adb pull命令特别好用,直接可以用Android真机连Mac把文件从电脑push到Android,或者使用pull命令把Android机拉到Mac机上。这里记录一下其他的adb命令,在调试真机的时候还真是特别有用,可以在电脑上全面操作Android真机。安装不需多说,直接把对应的adb所在目录加到环境变量里就行。
Pyinstaller是用于对Python脚本打包成可执行文件的工具。
Android菜鸟,距离上次长时间调试Android平台下的游戏是一年前了,最近几乎都没调试过Android上的东西,特别还是这种需要跨平台的游戏,各种JNI调用,各种动态库齐上,各种渠道各种接。尤其是类似那种AnySDK的一站式的接入SDK的,不出问题皆大欢喜,只要出了一个问题就够排查上半天,因为游戏和渠道SDK的中间又多了一层中间层代码,这样问题排查起来更麻烦。非常菜的问题,长时间不用就会忘记,这里记录一下,都是零碎的小知识。
又一个六一儿童节
真就像段子里说得,是不是只有我们这个年代的人才天天嚷嚷着过六一,来北京的第三个儿童节,早晨起来就听到旁边的小学已经在诗朗诵了。晚上算是给我们这些”大孩子”过个儿童节,早下班了一会儿☹️,这就是福利了么?(手动哭脸)
好久没有用Python的,昨天写一个简单的Alred workflow的时候,突然用到了三元运算符,只记得刚学的时候,是用的类似于Lua的那种三元运算的实现方式(Lua没有原生的三元运算符,使用了二个逻辑运算来实现),然后在google上找了一下,这里做一下记录。
类的属性
相当于其他编程语言中的类成员变量,在Swift中叫做属性。
Fexo的主题的评论数量显示的Hexo默认的评论系统disqus,国内还是用多说的多一些,Fexo主题集成了多说插件(其实就是内嵌的一段js代码),但是并不是用的这个路径下的themes/fexo/layout/_partial/duoshuo.ejs而包含的component中的duoshuo.ejs,对web前端不了解,尝试修改了一下,因为查看多说的官方文档的时候,说评论数依据的是data-thread-key(标识文章的唯一ID),一个样式表中的class的名字,而Fexo真正包含的那个duoshuo.ejs并没有设置data-thread-key的值,所以手动改一下,我改成了page.path,文章的路径用来做唯一key(年月日加文章名,重复的机会不太大),这样重新hexo clean再hexo g,就能生成唯一data-thread-key值了。
5.1在家宅了三天,每天都会打二次羽毛球,好久没这么运动过了,出出汗的感觉真好,当了码农都快坐成一个胖子了-_-!,尤其是忙成狗的时期,一坐就是几个小时,总感觉自己像个佛爷!
针对Note1进行细节补充。
Swift简要记录 - 值,类型
用Mac也有一段时间了,无论是开发还是日常总有一些快捷操作,写在这里算是备忘,备忘持续更新。
最近Blog迁移到了Hexo ,开始全用Markdown这种标记语言进行记录,Markdown好处不再多说,自行参照Markdown Wiki,由于最近频繁使用,这里对Markdown语法进行简要记录。
上一篇说的是java的本地调用,即使用jni完成java调用c/c++编写的代码,这回仍然是使用jni,不过是倒过来,使用c/c++调用java编写的代码。本次使用环境是:centos5.4,gcc4.9.0,jdk1.6_45。
因为adnroid项目中用到了获取mac地址做为唯一码的功能,c和c++在android却没有对应的api,还好有jni这个东西,用java写好获取mac地址的代码,用c/c++调用代码就可以直接获取mac字符串了。
偶然看到一本书上写umask(掩码)的计算,说是用户的实际文件(夹)权限是通过默认文件(夹)权限与掩码相减得到的。感觉不太对。
首先说为什么要清理子进程(由父进程),在Unix系统中经常会听到一个词“僵尸进程”(Zombie Process[可不是植物大战僵尸^_*]),而“僵尸进程”就是由子进程而来的。
接上文,控制语句下来就是一门语言不可或缺的一部分—函数。
Lua简要笔记。
归并排序笔记,记录下来也希望可以帮助他人,尽可能说得明白。
快速排序原理记录及实现,用了几张图示,虽然是篇笔记,但尽力让所有人明白。
网上最近一直在说Clang这个编译器,说FreeBSD已完全使用Clang为默认编译器,Mac下也是这个编译器,“据说”编译速度比Gcc快出很多,生成出来的可执行文件也比Gcc生成的要小那么几个KB,还有错误提示也要友好很多,更还有各方“大家”对此嗤之以鼻。但是不管如何,做为一个喜欢瞎折腾的码农,不管各个大家是怎么说,自己一定要上手试试的。因为在Windows下没有Clang的二进制包,本着自己动手丰衣足食的原则,决定自己构建一个尝尝鲜(虽然这个’鲜’已然过去很久了), 其实构建过程很简单,官网上的getting started说得很明确了,这里也只是再用中文重复一下:
c99标准也就是C语言在99年修订的最新标准,想一下99年我还在上小学-_!,虽然只是一个c99某些新特性的笔记,尽量写清楚,做笔记的同时,也可以对大家有帮助。
如果想在一个makefile中引用其他的文件,也就是包含进其他的makefile文件到此Makefile文件,像C语言一样儿,使用include命令
接上文,假如有如下一个Makefile其中一部分是这样的:
在Windows下有诸如vs这样儿“强大”的工具来组织与管理工程,文件层次组织,代码编写,包括选项的设置,编译,链接,都可以在一个窗口中完成(其实背后也是有一个make工具)。Linux下,Unix的哲学,多个不同功能的小工具,组合到一起组成强大的功能,一些小小的文件,我们可以gcc –XXFlags XXOO.c –o XXOO,这样儿来做,但是要是几十个文件,几百个文件呢?还去挨个的输入命令编译?这就是是马上要介绍的make工具,使用make工具,只需要一个命令,就可以构建你的工程。当然,代价就是编写Makefile,make工具就是靠解释Makefile文件来对整个工程进行编译和链接。
在java里,x += 1与x = x + 1相同,但是是有一点区别,只不过容易被忽略。如下例:
对于文本的编辑器,适合自己才是最好的。
一个已经快出到烂的面试题,如何检测到链表中存在环,如果有环,找出环入口点。