老罗,锤子科技和他的情怀

昨天晚上把老罗的锤子科技rom发布会的官方视频看了下,跟之前的报道感觉完全不一样。图文的报道根本体现不出老罗的情怀。

老罗说的好,在可以和人文的路上,我只看到了乔布斯的坟墓孤零零的立在那里。iPhone的出现,改变了我们的生活,改变了手机行业,改变了审美,改变了设计,也改变了我的人生。如果不是对iphone的喜欢,我估计还不知道去做什么。之前也尝试过做安卓的开发,但是,写了个hello world以后就放弃了。可以说给ios系统写程序也是一种享受。 阅读全文;

Comments

Git 常用命令备忘

Git配置

git config --global user.name "robbin"   
git config --global user.email "fankai@gmail.com"
git config --global color.ui true
git config --global alias.co checkout
git config --global alias.ci commit
git config --global alias.st status
git config --global alias.br branch
git config --global core.editor "mate -w"    # 设置Editor使用textmate
git config -l  # 列举所有配置
用户的git配置文件~/.gitconfig

		
		阅读全文;
	
Git
Comments

Vim插件配置

看到别人的博客介绍Vundle之前,我用Pathogen管理插件。Pathogen还算方便,只需要把相应插件,放在bundle目录下即可,不需要很复杂的设置,管理起来也一目了然,而且当第一次使用vim的时候,你会觉的很容易上手。 阅读全文;

Comments

不想装逼的傻逼不是好二逼(转)

原文
你受过良好的教育,有意无意间说起自己的大学,旁人无一例外纷纷投来艳羡目光。你工作光鲜,不是四大就是4A,不是垄断国企就是全球500强;在一个都是中国人的公司里互相叫对方英文名。你衣食无忧,三个月工资买一LV包;你生活清闲,上班时就像神九的航天员,明明啥事没干还要装出一副很忙的样子;你格调不俗,业余时间不是昆曲就是话剧,不是民谣专场就是妈妈咪呀;你善良正义,身处斗室,胸怀天下,每天吃饱饭就刷刷微博拯救中国。 阅读全文;

Comments

Ios 系统目录描述


1、【/Applications】
常用软件的安装目录 内建软体及JB软体存放位置
2、 【/private /var/ mobile/Media /iphone video Recorder】
录像文件存放目录
3、【/private /var/ mobile/Media /DCIM】
相机拍摄的照片文件存放目录
4、【/private/var/ mobile /Media/iTunes_Control/Music】
iTunes上传的多媒体文件(例如MP3、MP4等)存放目录,文件没有被修改,但是文件名字被修改了,直接下载到电脑即可读取。
5、【/private /var/root/Media/EBooks】
电子书存放目录 这一项iOS4应该不需要了!
6、【/Library/Ringtones】
系统自带的来电铃声存放目录(用iTunes将文件转换为ACC文件,把后缀名改成.m4r,用iPhone_PC_Suite传到/Library/Ringtones即可)
7、【/private/var/ mobile /Library/AddressBook】
系统电话本的存放目录。
8、【/private /var/ mobile/Media /iphone Recorder】
录音文件存放目录
9、【/Applications/Preferences.app/zh_CN.lproj】
   【/Applications/Preferences.app/zh_TW.lproj】
  

软件 Preferences.app的中文汉化文件存放目录
10、【/Library/Wallpaper】
系统牆纸的存放目录
11、【/System/Library/Audio/UISounds】
系统声音文件的存放目录
12、【/private/var/root/Media/PXL】
ibrickr上传安装程序建立的一个数据库,估计和 windows的uninstall记录差不多。
13、【/bin】
和linux系统差不多,是系统执行指令的存放目录。
14、【/private/var/ mobile /Library/SMS】
系统短信的存放目录
15、【/private/var/run】
系统进程运行的临时目录? (查看这裡可以看到系统启动的所有进程)
16、【/private/var/logs/CrashReporter】
系统错误记录报告、
17.这个电池图标存放
使用Winterboard的朋友,在自用的主题目录下,/var/stash/Themes.xxxxx /自用主题目录/Bundles/com.apple.springboard/目录内上传BatteryBG1-17.png图片即可,如无com. apple.springboard目录,请自建。 (Themes.xxxxx每个人都是不一样的,故用xxxxx表示) 不用的也可以直接替换/System/Library/CoreServices/SpringBoard.app 图标替换路径 WB相关主题 直接放在Library/Themes裡面
注意修改权限
18、充电图标:
System/Library/CoreServices/SpringBoard.app/BatteryBG
1.png    
一直到BatteryBG17.png ,Batteryfill.png   18个图标为充电图标 
19、手机信号图标: \System \Library\CoreServices\SpringBoard.app\下Default
0Bars.png   一直到Default5Bars.png 和  FSO0Bars.png–FSO5Bars.png   10个图标为信号图标 
20、 Wifi信号图标:
\System\Library\CoreServices\SpringBoard.app \Default
0AirPort.png—Default3AirPort.png   和  FSO0AirPort.png— FSO3_AirPort.png   
8个图标为wifi信号图标 
21、Edge信号图标:
\System\Library\CoreServices\SpringBoard.app\ Default_EDGE_ON.png和FSO_EDGE_ON.png    2图标为Edge信号图标 
22、日期美化图标:
\System\Library\CoreServices\SpringBoard.app|FSO_LockIcon.png 
23、待机播放器图标:
\System\Library\CoreServices\SpringBoard.app|nexttrack.png , pause.png , play.png, prevtrack.png   
4个图标为待机播放器图标 
24、IPOD播放信号
\System\Library\CoreServices\SpringBoard.app\FSO_Play.png ,Default_Play.png 
25、闹钟信号
\System\Library\CoreServices\SpringBoard.app\Default_AlarmClock.png ,FSO_AlarmClock.png 
26、震动图标
\System\Library\CoreServices\SpringBoard.app\silent.png ,hud.png ,ring.png 
27、滑块图标:
\System\Library\PrivateFrameworks\TelephonyUI.framework 目录下  
Bottombarknobgray.png(待机解锁滑块图标)  
bottombarknobgreen.png(待机状态下移动滑动来接听滑块图标)  
Bottombarknobred.png(关机滑块 图标) 
28、待机时间字体:
/System/Library/Fonts/Cache/LockClock.ttf 
29、待机时间背景:
system/library/Frameworks/UIKit.framework/Other.artwork 
30、滑块文字变为闪光字:
\System\Library\PrivateFrameworks\TelephonyUI.framework/bottombarlocktextmask.png 
32、解锁滑条路径:
\System\Library\PrivateFrameworks\TelephonyUI.framework/\topbarbkgnd.png ,bottombarbkgndlock.png 
33、 修复系统菜单
删除文件  
/private/var/mobile/Library/Caches /com.apple.mobile.installation.plist,  
然后重新启动iPhone 
34、运营商名称
移动:改彩色的文件名为:Default_CARRIER_CHINAMOBILE.png
改黑白的文件名为:FSO_CARRIER_CHINAMOBILE.png
联通:改彩色的文件名为:Default_CARRIER_CHINAUNICOM.png
改黑白的文件名为:FSO_CARRIER_CHINAUNICOM.png

Comments

.net微信公众平台接口代码

using System;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using System.IO;
using System.Xml;
using System.Text;
using System.Data.SqlClient;
using System.Data;

namespace Web.UI { public partial class Weixin : System.Web.UI.Page { const string Token = "token"; //你的token protected string strJson = ""; protected string DefaultOrganise; Lib.SqlHelper sqlHelper = new Lib.SqlHelper(); string Connectionstring = @"Data Source=192.100.60.122;Initial catalog=appdevtestdb;UID=sa;pwd=ZBJT0049admin;";//替换 protected void Page_Load(object sender, EventArgs e) { string postStr = ""; // Valid(); //验证通过后可删除此行代码 if (Request.HttpMethod.ToLower() == "post") { Stream s = System.Web.HttpContext.Current.Request.InputStream; byte[] b = new byte[s.Length]; s.Read(b, 0, (int)s.Length); postStr = Encoding.UTF8.GetString(b); if (!string.IsNullOrEmpty(postStr)) { ResponseMsg(postStr); } } } /// /// 返回信息结果(微信信息返回) /// /// private void ResponseMsg(string weixinXML) { //回复消息的部分:你的代码写在这里 XmlDocument doc = new XmlDocument(); doc.LoadXml(weixinXML); XmlNodeList list = doc.GetElementsByTagName("xml"); XmlNode xn = list[0]; string FromUserName = xn.SelectSingleNode("//FromUserName").InnerText; string ToUserName = xn.SelectSingleNode("//ToUserName").InnerText; string content = ""; content = xn.SelectSingleNode("//Content").InnerText; //string content = "";// doc.GetElementsByTagName("content").Item(0).ToString(); if (content.Equals("Hello2BizUser")) { content = "欢迎关注!"; } else { content = "现在是北京时间:" + string.Format("{0:f}", DateTime.Now); } string strresponse = ""; strresponse = strresponse + "<![CDATA[" + FromUserName + "]]>"; strresponse = strresponse + "<![CDATA[" + ToUserName + "]]>"; strresponse = strresponse + "" + DateTime.Now.Ticks.ToString() + ""; strresponse = strresponse + "<![CDATA[text]]>"; strresponse = strresponse + "<![CDATA[" + content + "]]>"; strresponse = strresponse + "0"; strresponse = strresponse + ""; WriteLog("postStr:" + content); Response.Write(strresponse); } /// /// /// 写日志(用于跟踪) /// private void WriteLog(string strMemo) { if (!Directory.Exists(Server.MapPath(@"logs\"))) { Directory.CreateDirectory(Server.MapPath(@"logs\")); } string filename = Server.MapPath(@"logs/log.txt"); StreamWriter sr = null; try { if (!File.Exists(filename)) { sr = File.CreateText(filename); } else { sr = File.AppendText(filename); } sr.WriteLine(strMemo); } catch { } finally { if (sr != null) sr.Close(); } } /// /// 验证微信签名 /// /// * 将token、timestamp、nonce三个参数进行字典序排序 /// * 将三个参数字符串拼接成一个字符串进行sha1加密 /// * 开发者获得加密后的字符串可与signature对比,标识该请求来源于微信。 /// private bool CheckSignature() { string signature = Request.QueryString["signature"].ToString(); string timestamp = Request.QueryString["timestamp"].ToString(); string nonce = Request.QueryString["nonce"].ToString(); string[] ArrTmp = { Token, timestamp, nonce }; Array.Sort(ArrTmp); //字典排序 string tmpStr = string.Join("", ArrTmp); tmpStr = FormsAuthentication.HashPasswordForStoringInConfigFile(tmpStr, "SHA1"); tmpStr = tmpStr.ToLower(); if (tmpStr.Equals(signature)) { return true; } else { return false; } } /// /// 验证 /// private void Valid() { string echoStr = Request.QueryString["echoStr"].ToString(); if (CheckSignature()) { if (!string.IsNullOrEmpty(echoStr)) { Response.Write(echoStr); Response.End(); } } } } }
Comments

Github+octopress+vim–像黑客一样写博客(1)

年前闲来没事,就在github上尝试搭建了下博客,然后发现了octopress,最早接触博客是在新浪。后来不再满足,然后尝试了自己的个人站点,配合wordpress。因为,虚拟空间的费用等问题,一年左右就搁浅了。今天我就介绍下怎么在github上搭建博客,因为网上已有很多教程,但是我在搭建中遇到很多问题,所以,我根据自己的对别人的文章进行了一些修改。

首先你要拥有个人github账号 具体怎么申请和配置,可以在www.github.com上自己看。

登陆github,创建一个个人账号。假设叫做:rubyonchina。

然后回到ubuntu或者Mac里面,仍然是在终端里面,输入:

[[ -f ~/.ssh/id_rsa.pub ]] || ssh-keygen -t rsa 按照默认提示一路确认,生成密钥之后,将生成的信息复制到github页面中,如下所示:

[[ -f ~/.ssh/id_rsa.pub ]] && cat ~/.ssh/id_rsa.pub | xclip 然后在浏览器中打开页面:

https://github.com/account/ssh

点击,Add another public key,粘贴前面步骤复制的信息,请格外注意,不要在Title中填写内容,直接将复制的内容粘贴到Key中,然后点击:Add Key即可。

配置octopress个人博客

cd ~/dev/ git clone git://github.com/imathis/octopress.git rubyonchina.github.com cd ~/dev/rubyonchina.github.com 修改默认的.rvmrc文件的内容为:

rvm use 1.9.2@rails31 安装相应的gem:

bundle update 然后生成模版文件:

rake install 分发到github上。分发之前,假设你已经注册用户名为rubyonchina的github.com账号,已经创建名为rubyonchina.github.com项目。

cd ~/dev/rubyonchina.github.com git remote add rubyonchina git@github.com:rubyonchina/rubyonchina.github.com.git 新增一篇测试博客:

rake new_post[“post title”] 生成静态站点:

rake generate 配置octopress与github的连接:

rake setup_github_pages 按照提示填入你的github项目网址,比如,本示例是:

git@github.com:rubyonchina/rubyonchina.github.com.git 分发到github上:

rake deploy 第一次运行时,会询问是否建立对github的授权,输入:yes。然后将站点更新的内容推送到github上。

git push -u rubyonchina master 尝试浏览,

http://rubyonchina.github.com

OK!成功!然后,此时,再创建一个新的github的source分支,用于保存写作的md源文件等。

git add . git commit -m “some changes” git push rubyonchina source 现在,你就拥有了一个强大的个人站点。

Comments

正式安家

过年期间,由于闲的蛋疼,开始各种折腾,很早看到有人在github上搭建博客,然后就开始各种尝试,终于经过不懈的努力,弄好了。感觉像搬新家一样的兴奋。我会在这里给大家分享技术,生活,各种事情。

Comments