如何优雅地连接ssh

作为一个开发者,经常要面对管理一大堆服务器的情况,对unix类服务器,我们一般用ssh连接来管理。那么你一般怎么连接ssh,输入密码?弱爆了,既难得记,又不安全。现在俺们都用证书来连接

使用证书来管理连接至少有如下两个好处

  1. 安全,目前生成证书的方式不管是RSA还是DSA无论从位数上还是加密方式上都比自己生成的密码安全许多。
  2. 方便,有了证书以后你就不用再记忆密码了,系统会自动使用证书跟服务器接驳,这一过程不需要人工干预

继续阅读

如何低成本推广你的App

下面是一下App推广的总结,矮穷挫的方式,高大上,大投资,大手笔的方式请出门左转再右转,不要回头:)

  1. 建个微站。市面上有这样工具(看我的另一篇BLOG),不用费太多功夫。把App store的链接放上去,微站图片醒目一下,逼格高点。

2.  写博客,App是那个方面的就写那个方面的,自己不会找别人写。没事提一提你的App。

3. App内置社交分享功能,这是基本功能,不多说。

4. 拍段搞笑点的视频,跟你的App有关的,放到视频网站上去。

5. 去一些App review的网站登记你的App(148apps, appstoreapps类似网站),一旦碰大运,被提及,肯定有效。

6. 找那些在App所在行业的专家或是博主,玩家,让他们的发言中提到你。

7. 找机会收集用户email,如用户注册,抽奖等,群发推广。

8. 参加这个行业的论坛,找机会发言,刷存在感。

剩下的等评论内容补充,呵呵。

 

 

社交和群组-为你的App搭上腾飞的翅膀[搭建Xmpp服务器]

大众创业,万众创新[第二弹]

App上线了,页面也美观了,动画也有一些了,但是始终还是显得比较乏味,用户粘着度不高。如果你这时候去请教App运营高人,一般开的药方都是加入社交和群组概念。就像你问IT电脑坏了怎么办,一般都会让你重启一样:)

通常把点赞,评分,消息推送,IM,群组管理都看成是App社交的一部分。这里的提到的XMPP一般用于IM,消息推送,群组管理。有人说XMPP已经Out啦,有人说他太重啦,牛人会让你自己去用RabbitMQ,或是干脆上二进制私有协议算了,听上去逼格就高,让人不明觉厉。但是,那还是等商业模式验证的差不多了,有几杆好枪了再议吧。

XMPP你免费获得的是,强大的社区支持,各种扩展协议已经实现。用户管理,好友管理,上下线管理,离线消息,文件传输,私有数据存储,等等。You get free!

未完待续

零成本搭建你的App Rest服务器端

大众创业,万众创新[第一弹]

抱歉,标题党了。免费的午餐只有妈妈那里有。

本文讲述低成本搭建你的App的Rest服务器端。

移动互联网事业如火如荼,Boss说了大众创业,万众创新哈。今天给大家带来一篇小文,让急于验证自己创业想法的你低成本上路。

其实目前市面上有多种比这里提到的更加快餐式的选择,如Parse,Leancloud,七牛等。他们业务模式基本上都是给你一点点免费的流量或是API call次数,多了收钱。也许你认为100W次API call一个月对我那个小咪咪的App已经够了,高高兴兴的去使用了。但是,在竞争激烈,草莽丛生的中国互联网创业环境,有一种黑市叫DDOS攻击,150块,20G流量包打死,你懂的。那么这种情况下如果没有防护100W次,就是1000W次,1亿次,然并卵。

本着做大做强,拉练队伍的思路,自己通过PAAS平台实现小而可控的服务器API就必不可少了:)

闲言少叙,主角上台。

继续阅读

NSMutableAttributedString在iOS8上性能Bug的解决方法

今天在使用NSMutableAttributedString的时候发现,一段简单的HTML markdown的标题都需要数秒时间来加载,相同的代码在iOS7上工作正常。搜罗了一下,问题在WWDC2014的时候就有人提出来了,Apple也认为是个问题。但是居然一直没有修复。😓

目前的解决方法是用第三方库DTCoreText来代替实现,性能相对可以接受。就其原因,NSMutableAttributedString底层需要用到WebKit来做HTML radering,所以是用的高射炮打蚊子了,欠雅观。

#import "DTCoreText.h"

NSString *html = @"<p>Some Text</p>";
NSData *data = [html dataUsingEncoding:NSUTF8StringEncoding];

NSAttributedString *attrString = [[NSAttributedString alloc] initWithHTMLData:data documentAttributes:NULL];
NSLog(@"%@", attrString);

tinypnghttps://tinypng.com/

图片的大小影响UI性能,保证质量的情况下压缩大小很重要。tinypng,用过都说好:)

The Best of What’s New in Swift

swiftApple made a lot of interesting announcements at WWDC this year about the release of Swift 2 and the new features in it, in among various other announcements of little interest. In addition to the announcement that Swift will be made open source, which is a huge deal all by itself, Swift 2 contains a lot of great new features which significantly improve the language. Today I’m going to talk about the most important ones, what they are, and why they’re useful.

Function Pointers

This is my favorite new Swift feature by far. It’s a relatively small but important feature that closes the last big hole remaining in Swift’s bridging to C.

继续阅读