Haotian Zheng

总结(1)

 • 

之前在Ulysses里存的一篇草稿里写过 翻看这一年在网络上的发言 很明显我所言及的事物越来越笼统与抽象 并且因此不可避免地被他人认为 是空洞 轻率 甚至说是无聊也不为过的
这个原因很容易理解 一个是圈子广了 利益相关也多了 一个是圈子广了 特定事物的受众面相对减少了 发出去实际上是污染其他人的时间线 最后一个就是 对特定事物发牢骚 一般是无用的 还不如发些笑话

有了些总结 但我也只能泛泛而谈 毕竟我不可能指名道姓地说 哪些人干了什么事情 我从哪些人上面吸取了教训 和上面是一样的道理

避免少见多怪

少见多怪是一个很常见的现象
这一年我见了不少人 事物刚出现的时候 他们觉得做不成 不愿参与 然后事物继续发展 最后他们不得不承认事物的可行性
对事物发展的判断失误并不是一个令人尴尬的事情 每个人都有可能出现判断上的失误 但是规律总是存在的 如果一个人并没有足够的经验 就不能够进行足够的分析 进而会产生错误的判断
在没有外力作用的时候 少见多怪的人经常会陷入一种循环 因为少见多怪而不愿意尝试新事物 甚至大加诋毁 因此失去了改变成见的机会 变得更加少见多怪
所以 在不确定自己的经验是否足够的时候 判断就不成判断 或者说 自己就应该感觉到不够信服 因此最好的方法就是自己实践一遍 判断只是一种减少损失的过程 如果没有生产活动 只判断来判断去终究没有什么结果
当然这又引入了 自己如何知晓自己的经验是否足够的问题 这个就看个人了

避免准入标准低的活动

什么是准入标准低的活动?我说的这个问题限于知识领域 准入标准低的定义就是 每个人都可以进入 可以评论的活动 这种活动是毫无意义的
如果你的意愿是社交 那么准入标准低的活动或许更适合 因为准入标准决定参入人数 但是对于知识获取来说 任何人都可以进入的平台一般是低智甚至反智的 比如微博 别妄想从微博上能学到什么东西
知乎现在也有同样的趋势 毕竟人变多了 很难保证整个社区的水平 看过群体行为的人 应该懂是个什么一种状况
准入标准有一些具体的表现 比如邀请制度 比如注册码 比如入会费 这些用于隔离的事物 不止反映了组织的准入标准 还反映了由意愿加入的人士的价值观
对于普通大众来说 会费或许太贵了 普通大众只是想进入游览下 并不愿意为此付费 而邀请制度更是让他们无从进入 但对于有需求的人来说 会费 和进入组织能获得的资源相比 又算是什么呢 别忘了 普通大众和有需求的人士 对于知识的价值的评估 是不同的
所以 不要把时间花在准入标准低的活动上 有Dribbble的邀请码就不要再去国内的设计网站 有英文阅读能力就不要再去看国内的教程 高标准的活动和普通的活动 知识密度是不一样的 对待知识的态度也是不一样的 要记住这点
话说回来 就算不是知识类网站 凡是信息资源类网站 都遵循以上规律 有高清资源需要的人 自然会购买PT站的注册码 有影视后期资源需要的人 自然会花大价钱购买模版 有真正游戏制作需要的人 也不会吝啬买模型的那些钱

再反方向看下 目前这些神神叨叨的创业大赛 甚至每个班都要求去一个队伍 准入标准够低了 水准自然大家都懂

世纪城

 • 

在肯德基外面和栋栋告了别 然后等待梓康从里面出来的时间里 我在世纪城的广场上 站了一会
暑假的世纪城关灯比平时早了很多 灭了一大片 我看着慢悠悠来去的人 想起来高中的时候 到这里看电影 和朋友吃饭 或者是 给女生买蛋糕或者奶茶 接着想起了寝室楼下面 心仪的女生接过奶茶时候 模糊的身影

过的真快啊。

100

 • 

100
自从考完试 开始做一个外包项目后 我的生活几乎就停滞了 白天睡觉 下午醒来 敲点代码 然后吃晚饭 接着夜幕降临 白天因为睡眠而压抑的精力在晚上开始释放出来 敲到凌晨五六点 然后睡觉 周而复始
现在的问题是 我做的部分只差些小东西 但是我又没有办法完成 — 对方迟迟没有解决掉产品名字和域名的问题 导致我很多地方都没有办法推进 图标是我设计的 但是名字一旦确定下来 我不确定图标是否还能和产品名称相符合 名字没有确定下来 还间接导致我没有办法做应用上架的宣传图 所有需要显示产品名称的图片 都不能做 — 谁想改来改去呢 至于域名的问题 和我关系倒不大 只是一旦开始备案 负责Web的崇哥和锋哥就要等很长时间了
我的iOS推进还算顺利 我想早点结束这个事情 但目前受制于对方 现在没办法上架 所以我现在超级清闲 但又没办法结束掉我的部分 实在是有点烦躁

无题

 • 

想起来 和朱聊天 谈到小时代 我说还是看过前三部的 然后她发来了“哈哈哈哈哈哈” 说意料不到 我还会去看这种电影
我倒觉得挺正常的 我看电影 不是看电影主题三观对不对 而是看整个电影有不有趣
讲真 这个世界上无聊又空洞的东西才是真的可怕
就比如某些国产喜剧片 缺乏想象力 又想着极力推销笑点 那种刻意并且兜售的笑点 简直就像是 去电脑城 一进门就有一堆人和你说“帅哥 装机嘛 帅哥 买电脑嘛” 这种 主动兜售笑点的电影 都不好笑 更不有趣
高中的时候看新知 忘了哪一期 里面有篇文章 当时我很喜欢 说的是了不起的盖茨比 文末也提到了小时代 当然是以一种碾压的文笔谈了一番两者层次不在一个地方云云
当时还是有一种自视清高的态度 觉得不能去看小时代 blablabla 现在看我当时也是中二 看个电影都跟阶级斗争一样还要绷紧弦 也是逗
话说回来 了不起的盖茨比 自然是小时代不能比的 不过偶尔看下小时代 也能看出不少内容 虽然人物大部分时候言谈都很矫情 这在了不起的盖茨比里也有对应 就是黛西梦呓一样的话语 其实 现在的中国 和了不起的盖茨比中的黄金年代的美国 也差不多了 至少是在戏剧化的方面 这很有趣
而且 在整个社会都戏剧化的时候 矫情的话语反倒有可能是最现实性的 了不起的盖茨比是这样 小时代亦然 当然 这个有可能就要因观者而异了

setSelected:(BOOL)selected执行多次的问题

 •  Filed under iOS

呐 就是自定义Cell的时候 实现文件会有这个

- (void)setSelected:(BOOL)selected animated:(BOOL)animated {}

我在这个里面写了

CarDetailTableViewController *OneCarDetailVC = [[CarDetailTableViewController alloc] init];
    OneCarDetailVC.CarID = CarIDLabel.text;
    [[self viewController].navigationController pushViewController:OneCarDetailVC animated:YES];

结果我发现在iPhone模拟器上一般不会出现什么奇怪的现象
但是在iPad上 几乎百分百要出现NavigationController在点击cell后 快速Push两次同一个OneCarDetailVC 然后就会有奇奇怪怪的BAD_EXC_ACCESS
开NSZombie后Log出的是

[CarDetailTableViewController respondsToSelector:]: message sent to deallocated instance 0x7ff794556400

然后Stackoverflow上这个说明了问题...

Since cells are reused when you scroll through a large table view, the table view has to keep the list of selected cells separate. Not only that, but whenever it reuses a cell it has to set its selected property, because it may be using an old, invalid selected state from a previous incarnation.

所以说 就是从:

- (void)setSelected:(BOOL)selected animated:(BOOL)animated {  
[super setSelected:selected animated:animated];
if (selected == YES) {
    CarDetailTableViewController *OneCarDetailVC = [[CarDetailTableViewController alloc] init];
    OneCarDetailVC.CarID = CarIDLabel.text;
    [[self viewController].navigationController pushViewController:OneCarDetailVC animated:YES];
}
}

变为

- (void)setSelected:(BOOL)selected animated:(BOOL)animated {  

//多加一行这个
if (self.selected == selected) return;

[super setSelected:selected animated:animated];
if (selected == YES) {
    CarDetailTableViewController *OneCarDetailVC = [[CarDetailTableViewController alloc] init];
    OneCarDetailVC.CarID = CarIDLabel.text;
    [[self viewController].navigationController pushViewController:OneCarDetailVC animated:YES];
}
}

使用MFMailComposeViewController发邮件

 •  Filed under iOS

因为担心有API格式改了但是我不知道的情况 目前在做的软件里面设置了一个无法解析就提示发邮件的功能 因此学习了下MFMailComposeViewController

准备:
添加MessageUI.framework

#import <MessageUI/MessageUI.h>

Delegate:

@interface FirstTabListTableViewController ()<MFMailComposeViewControllerDelegate>

实现:

//这个SendParseErrorEmail是自定义的
- (void)SendParseErrorEmail
{
    if ([MFMailComposeViewController canSendMail])
    { // 用户已设置邮件账户
        // 邮件服务器
        MFMailComposeViewController *mailCompose = [[MFMailComposeViewController alloc] init];
        // 设置邮件代理
        [mailCompose setMailComposeDelegate:self];
        
        // 设置邮件主题
        [mailCompose setSubject:@"报告软件错误"];
        
        // 设置收件人
        [mailCompose setToRecipients:@[@"邮箱地址"]];
        
        /**
         *  设置邮件的正文内容
         */
        NSString *emailContent = @"请填写:\niOS系统版本:\n手机软件版本:\n详细描述:\n我们将尽快解决,谢谢反馈!";
        // 是否为HTML格式
        [mailCompose setMessageBody:emailContent isHTML:NO];

        // 添加附件 这里我的日志叫做ErrorLog
        NSData *txt=[NSKeyedArchiver archivedDataWithRootObject:self.ErrorLog];
        [mailCompose addAttachmentData:txt mimeType:@"text/plain" fileName:@"Log.txt"];
        
        // 弹出邮件发送视图
        [self presentViewController:mailCompose animated:YES completion:nil];
        
    }
    else
    //没有登录邮箱的话 就弹我博客
    {
        [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"http://www.justzht.com"]];
    }
        
}

- (void)mailComposeController:(MFMailComposeViewController *)controller
          didFinishWithResult:(MFMailComposeResult)result
                        error:(NSError *)error
{
    switch (result)
    {
        case MFMailComposeResultCancelled: // 用户取消编辑
            NSLog(@"Mail send canceled...");
            break;
        case MFMailComposeResultSaved: // 用户保存邮件
            NSLog(@"Mail saved...");
            break;
        case MFMailComposeResultSent: // 用户点击发送
            NSLog(@"Mail sent...");
            break;
        case MFMailComposeResultFailed: // 用户尝试保存或发送邮件失败
            NSLog(@"Mail send errored: %@...", [error localizedDescription]);
            break;
    }
    
    // 关闭邮件发送视图
    [self dismissViewControllerAnimated:YES completion:nil];
}

XAMPP: Another web server is already running

 •  Filed under XAMPP

今天在一台VPS上面安装XAMPP v5.6.8 (PHP 5.6.8)
此前VPS启用了NGINX占用了80端口 于是

vim /opt/lampp/etc/httpd.conf

修改了80 --> 1234
但是

/opt/lampp/lampp startapache  

时仍然提示XAMPP: Another web server is already running

解决

vim /opt/lampp/lampp

if testport 80
then
$GETTEXT -s "fail."
echo "XAMPP: " $($GETTEXT 'Another web server is already running.')

把80 --> 1234

原来这个是写Hard Code进去的....改了80成自定义端口后 这样启动就不会fail

XAMPP

DISQUS识别微信分享参数的解决

 •  Filed under DISQUS

~~OK 现在我已经从多说切换回到DISQUS ~~

我还是保留了多说 因为DISQUS被墙了 作为个人站点 不是有很多技术圈的人看 因此有能力翻的也没几个 还是算了 换回多说

情况说明

因为我用的是onevcat大大提供的Vno主题 而这个主题默认是用DISQUS的
我去年搭建博客的时候换到了多说上面 主要原因是因为当时发现DISQUS默认没有参数识别的选项 例如:
我们知道微信分享会在网页后面加上?from=timeline&isappinstalled=0这个玩意
在多说平台很好解决 只消在后台设置忽略网址“?”后面的参数 这个地方加上from就可以 这样即便是abc.com/ABCabc.com/ABC?from=timeline&isappinstalled=0多说也能显示同一个评论内容
但是DISQUS默认后台没有...当时我是小白 也不会看文档 于是只能切换到多说了 多说系统除了不太稳定 以及难看些(逃 其实还不错啦

然后我发现是有这个选项的....

看这个 disqus_url

While the window.location.href is used in absence of disqus_url, we highly recommend defining this variable. If a user visits your page at the URL http://example.com/helloworld.html?123, Disqus may in fact load a different thread than if the user came from http://example.com/helloworld.html.

所以其实是有disqus_url这个东西的 只要加进去就好了
所以针对Vno主题 就是comments.hbs

var disqus_shortname = 'justzht'; // required: replace example with your forum shortname

下面加上:

var disqus_url = '{{url absolute="true"}}';

导入多说数据

duoshuo-migrator by JamesPan 感谢 JamesPan 我是从他的博客看到的 试了下很强大

export.json --> a.xml

migrator

切换回来后

一个问题就是...很多微博绑定的账号都只能显示为默认账户了 这个问题略蛋疼 比如:
多说系统有微博绑定
duoshuo
但导入到DISQUS就只显示默认了
disqus
DISQUS 不支持微博账户是个蛋疼的事情... ╮(╯_╰)╭

About Stillness.

 •  Filed under 试验品

Stillnessicon

简介

Stillness是我目前在做的一个小游戏 主要目的是试验下BuildBox和Admob 第一个版本创建于2015.5.30 制作了一个星期 就提交了 所以比较简陋 等待暑假进行完善

目前状态

现已上架 App Store

风格

我想把Stillness做成一个实验性质的东西 用来试验Motion Graphic风格怎么用到游戏里面 而BuildBox的光影效果又非常赞 绝对的扁平长投影 让我可以做出一些效果 这部分略长 考完再写

Todo

1.配乐换掉
2.适配iPad
3.减少粒子碰撞
4.做成TRON一样的荧光效果
5.元素更精细些