icyleaf
profile image

如何保持在 Git Submodule 代码的开放和私有共存

假设我在 github 有一个开源的版本库 x 供大家使用,该库里面又包含了好些个 submodules,其中有一个 submodule 名为 a 是自己在 github 又创建的: $ git submodule add http://github.com/icyleaf/a.git modules/a 现在问题是,由于代码需要更新,同时涉及到了 a 这个 submodule,但是它的添加 url 是 read-only,由于 x 这个库是供大家使用,因此 a 又不能设为 private: ...

利用 argparse 写的脚本命令:测试 URL 响应时间

前几天看完《Python简明教程》,预想练手,想起同事的一个 ruby 代码,尝试改写成 python,顺便看看两个语言的简练程度。下面是原始的 ruby 代码: #!/usr/bin/env ruby require 'rubygems' require 'net/http' urls = ["http://icyleaf.com"] 50.times do urls.each do |url| start_at = Time.now Net::HTTP.get URI.parse(url) end_at = Time.now diff = end_at - start_at if diff < 0.3 then color_code = 32 elsif diff > 0.8 then color_code = 31 else color_code = 33 end puts "#{url}\n time: \033[#{color_code}m#{diff}\033[0m seconds" end end 改写 python 的同时,考虑脚本的灵活性准备增加两个参数,第一个是请求测试次数,第二个是请求测试的 URL,而 python 默认提供了 argparse 库,可以很方便的生成 –help 的帮助和解析传递的参数: ...

Dropbox 和 Apache 关于权限的问题

自从上次 SSD 硬盘不小心挂了之后,就算是返厂检修,一旦是算坏只能更换新的无法提供维修服务。这次我对待一些数据就更加小心了。尤其是代码,其实这次代码也并没有损失多少,丢失了一些平时的练习的项目。但为了保证代码的完整性和整体的同步性,我决定使用 Dropbox 同步我的代码。这样平时练习的代码也不必丢到 Github 或者花麻烦自建的服务器上面,什么都不需要操作就可以同步与无形之中。 ...

Sublime Text 2 + GoSublime + ZSH 的配置

Sublime Text 2(下面简称 Subl) 通过 PCIP(Package Control: Install Package)安装各式各样的插件,其中还包括 Google 刚刚发布 1.0+ 的 golang 语言也有相应的插件 GoSublime,其实本来用 tmux + vim 也能解决编写和执行命令之间切换的工作。但是 tmux 的快捷键有时候重复多了会很不爽… ...

初次接触 virtualenv

python 的 virtualenv 功能看着类似于 Ruby 的 RVM,其实这两个东西我都没有用过,本身脚本语言用的最熟练的是 php,最近觉得 php 在处理一些多线程和终端繁琐的事情上有些局限性。决定熟悉下 python 并尝试用 django 做一个小应用。 ...

友盟 iOS 发布渠道自动化脚本

现在公司的大多数手机项目的统计服务都是用的友盟,而自使用之初到现在都有一个渠道管理的功能,这个最后打包的时候实际上可能会产生一点点的麻烦,最早第一个 app 发布的时候,写了一个半自动的脚本,凑合用了很久,现在觉得需要完全自动化,于是借鉴之前 testflightapp 的自动化脚本,重新改造脚本。 ...

QuickLook 感悟

前段时间对 OS X 系统的 QuickLook 非常感兴趣,能够随着开发者的定制,针对不同的文件呈现符合用户需求的预览功能,然后认为它属于是万能的。随后可以琢磨利用它做些意思的事情。 ...

自动化脚本上传应用至 testflightapp

Testflightapp 是团队开发测试中起了重要的角色,尤其是到目前为止一直是免费,最近还推出的 Live 功能不仅可以统计本身的一些数据还可以把现有的一些其他的账户的数据(比如, itunesconnect,Apple iAd,admob 等)导入进一步扩大聚合。 ...

使用 Git Hooks 实现自动项目部署

最近在某服务器上面搭建 git 开发和部署环境,git 开发环境很简单,按照 ProGit 一书的相关知识就可以轻松搞定,实现了类似 Github 的使用 SSH + 私有 Clone 的方式。 关于部署,实际上是自动部署,起初的想法是使用 bash shell 制定一个定时任务去不断 git pull 产品代码,后来记得 Git 带有 Hooks,索性在ProGit 一书翻了翻: ...

pngcrush 的一些用法

pngcrush 顾名思义,看起名字本身就优化 png 的工具,为什么会提到它呢,因为目前所有 iOS app 自身的 png 文件都是经过它优化的,对于优化有的 png,系统本身默认是无法识别的(包括看图工具,作图工具)。但这个工具不仅仅可以优化还可以还原。假如你希望可以学习优秀 iOS App 的一些 png 资源设计,通过这个工具延伸的一些辅助工具,可以快速预览和恢复未优化的图片。 ...

Colors

最新更新,发现更好的免费取色器 Sip Colors 是一个简单的颜色取色器,简单的有可能你都没有听说过它,虽然它对于平面设计师以及 Web 设计师不太看中,但它可是程序员中的一个实用利器,为什么这样说呢,看下面截图,除了基本的颜色取值外,还包括了 Mac 和 iOS(iPhone/iPad)对于类的取值。 ...

让 Android 支持下拉刷新(Pull Refresh)

曾几何时,自 Android 发布之后一直以来就被管以 Geek 的玩具,而不太注重界面设计和用户交互设计,这让 Android 开发者也顺其自然的接受了这个不好的头衔,但我一度认为这只是不思进取的行为,谁说 Android 就不能像 iPhone 的界面那样设计,我认为只有用心,没神马不能实现的。说回正题,第一次看到 Android 有这项功能的莫过于改版后的 Twitter,我认为它绝对是一个标榜性的 App(同时也包括已开源许久的 Foursquare)。于是全世界的开发者就开始寻思这个效果 Twitter 是如何实现的,于是就有了… ...

如何让 iOS 和 Android 支持自定义字体

本篇教程的目前源于我们团队设计师一直询问,iOS(iPhone/iPad) 和 Android 两个平台是否支持自定义字体的问题,恰巧前不久唐茶计划出了一个关于在中文阅读新体验的电子书应用:失控。里面提到中文的显示采用了香港字体设计室的全新中文黑体字:信黑体。于是我就在想看来 iOS 是可以支持自定义字体的。通过搜索和研究整理如下,供自己备份和大家参考 ...

如何在开发和发布环境使用 Android Map Key

在项目中第一次使用并涉及 Google Map 的功能,而由于 Google 的限制,Google Map 模块出来需要单独下载模块之外,对于每一个应用还都必须具有一个 Google Map Key,这点和使用 Web 开发调用 Google Map API 是一致的。 ...

为 ShareKit 增加国内相关微博/SNS 服务

在 iDev 圈内,众所周知 ShareKit是一个家喻户晓的分享框架,很多人都在问哪有支持国内相关微博/SNS服务(比如,新浪微博,腾讯微博,豆瓣,开心网,校内等)的类似框架或者谁去做贡献,造福那些拿来主义的人类。正好碰巧我刚刚接触 iOS 开发不久,为了验证文章开头的那段话,恰巧我开发的应用也需要设计这块的内容,我就只好啃下了这块“硬面包”,实际上在熟悉整个 ShareKit 的代码后,外加上对于 OAuth 协议又非常的了解,做一个扩展还是很轻松的,虽然我对 Objective-C 代码并不是很熟悉,这一切得益于 ShareKit。 ...

个人常用 OS X 软件集合 (2011 年版)

用了 OS X 已经半年多了,整理下日常常用的软件。大多数都是开源或者免费软件,少数需要购买 AppCleaner:卸载软件必备,适合用于第三方安装和 App Store aliwangwang:淘宝用户必备 DiffMerge:文件、文件夹对比的工具,貌似对中文支持有问题(没有细研究) Dropbox:改 hosts 还能继续用的多平台文件云同步软件 DoubanFM:豆瓣电台 Cdto:可以快速从 Finder 切换当前路径到 terminal 里 Evernote:笔记整理同步必备 Facetime:大家都知道,免费版, HD 是收费版 Firefox:就是一火狐 FIT:免费开源的 OSX 输入法 fraise:文本编辑器,个人比较喜欢,比 TextWrangler 好用 git:SCM 软件 brew:terminal 下的软件包管理器 Chrome:浏览网页的神器 Growl:消息半透明窗提醒,Ubuntu 都模仿 iOS Simulator Cropper:可以截 iOS 模拟器截图 iTerm:Cocoa 重写的 Terminal,支持 Linux 下快捷键切换 Tab MesaSQLite:SQLite 数据库管理软件 MPlayerX:视频播放器 mysql workbench:Mysql 建模软件 OmniDiskSweeper:磁盘空间使用率情况 PHPStorm:Jetbrain 的新一神器,PHP IDE(收费) PlistEditPro:plist 编辑器 PowerWord:金山词霸(最新版是 08 年,汗颜) Reeder:Google Reader for OSX Sequel pro:Mysql 数据库管理软件 SIMBL Simple Comic:漫画软件 Skitch:处理截图的好工具 Sparrow:Gmail 客户端 TextWrangler:又一文本编辑器 The Unarchiver: 最智能且免费的解压缩软件 TotalFinder:Finder 增强型工具,强烈推荐(收费) VirtualBox:开源虚拟机 Xcode 4:Apple 开发必备 睡觉前的粗略整理,待续… ...

2010年度总结

2011年已至,又到了一年一度的年终终结的时候了。上个星期还和 @CNBorn同学聊了年终总结的事情,今天在看翻 Google Reader 发现订阅的很多人都写了总结,虽然晚了几步,还得赶紧跟上。提炼过往的一年内所经历的事情,所感受到的一些事物… ...

OSX 下 Finer 和 Terminal 相互切换

在 Finder 打开 Terminal 并切换到当前目录 安装一个开源的 Finder 辅助工具:cdto。功能只有一个就是实现在 Finder 打开 Terminal 并切换到当前 Finder 目录。找到你系统的版本的 app (支持当前 OS X 10.4 以上版本)拷贝到 Applications 下并把它拖到 Finder 的工具栏上即可。 ...

Nginx+FastCGI 环境搭建 Kohana

Kohana 默认仅对 Apache 环境提供的部署支持,其实对于 Nginx+FastCGI 也是很容易支持的。本文搭建环境是 Ubuntu 10.4 并采用 apt-get 方式安装,喜爱编译的朋友可以自行解决 :) 1. 安装 MySQL 1$ sudo apt-get install mysql-server mysql-client 安装过程在会提示设置 root 账户的密码,如果是本机测试开发可以留空后稍候设置。 ...

如何获取 Element 的 XPath [PHP/Javascript]

这两天研究 HTML 的 DOM 需要寻找某个 Element 元素的完整 XPath 路径,由于使用的是 PHP Simple HTML DOM Parser 开源库,这个库类的使用方法几乎兼容 Javascript 的 DOM 语法并附带 DOM 选择器。虽然功能强大但是并不能直接获取 Element 的 XPath。这个怎么办呢,依稀记得 Firebug 有一个功能,选择某个元素在它的控制台可以显示 XPath。嗯,着手实践一下发现不仅可以显示而且还可以复制 XPath。 ...