Soft_Job 板


LINE

好读版 http://jintin.github.io/blog/2016/02/28/monthly-github/ 当工程师好几年了,但一直都只专注写Java,虽然对Java没什麽特别不满意的地方, 但偶而也想多试试其它语言来增加自己的视野,於是大概在半年前开始给自己一个挑 战,每个月用一个不熟的语言写个小工具分享到github上,很快地累积了好几个小专 案,分享自己的心得也顺便介绍这些工具给大家,希望对大家有所帮助。 jgit (Ruby) git是个很高效好用的版本控制工具,但如果同时有多个专案使用上有点不方便。jgit 就是想要解决这个情境,对git做扩展,解决在任意目录下查询任意一个或多个专案 的git状态,简单说就是把git command分配到很多个目录下执行。 比如说 jgit status 可以取得目前群组的所有专案之 git status 的结果,如果同 时要开发或维护多个专案的时候很方便。 范例如下: --- $ jgit ls A: /Users/Jintin/Downloads/sample/sampleA B: /Users/Jintin/Desktop/sample/sampleB $ jgit status - Task:A On branch master nothing to commit, working directory clean - Task:B On branch master Changes not staged for commit: (use "git add <file>..." to update what will be committed) (use "git checkout -- <file>..." to discard changes in working directory) modified: newFile.json no changes added to commit (use "git add" and/or "git commit -a") --- 心得: 写ruby一开始的时候蛮不习惯的,少了型别、不用compile、语法也很不习惯。 但慢慢觉得动态语言在小型专案下真的可以很方便解决很多问题,gem 的设计很棒, 不用compile习惯後开发速度也提升不少。 更多资讯可以参考 https://github.com/Jintin/jgit transai (JavaScript) transai 是处理Android, iOS多国语言的工具,可以在Terminal把这二个平台的语言档 解析出来合并为csv格式,等翻译完了之後再转回各自的资料夹中。 范例如下: --- $ transai load -a ~/android -i ~/ios --from en --to de -c ~/strings.csv $ transai save -a ~/android -i ~/ios --from en --to de -c ~/strings.csv --- 心得: JavaScript跟Ruby一样是动态但语法平易近人多了,而且 npm 、 node 的设计 又更完善方便,是很好入门的一款语言,在各领域也都有很好的发挥机会,虽然不想承 认但的确是最有机会统一程式语言的语言。 更多资讯可以参考 https://github.com/Jintin/transai andle (Python) Android Studio问世之後,大家一定很喜欢可以把dependency设定在build.gradle的特 性,但相对的这个档案的管理就变成一门学问了,你知道哪些library有更新的版本吗 ?就算知道如果你有十个专案你要一个一个改吗? andle 就是帮你解决dependency version的工具,可以直接在Terminal更新所有 library为最新版本,如果你比较严谨也可以加上 -d 只会列出新版版号不会修改。 范例如下: --- $ andle update -d -g -r check ./build.gradle com.android.tools.build:gradle: 2.0.0-beta4 -> 2.0.0-beta6 check ./A/build.gradle com.android.support:cardview-v7: 23.1.1 -> 23.2.0 check ./B/build.gradle ok check ./C/build.gradle com.android.support:support-v4: 23.1.1 -> 23.2.0 com.android.support:design: 23.1.1 -> 23.2.0 check ./gradle/wrapper/gradle-wrapper.properties ok --- 心得: 又是一门动态语言,Terminal几乎都是动态语言的天下,语法上最大不习惯就是 用缩排取代括弧,其他结构上跟Ruby有点类似,有点痛苦是Python2.X跟Python3.X有大 改版,所以要二种都测试过比较保险,这种新版本一直出来,旧的版本又不能放弃的感 觉跟Android实在是太契合了。 更多资讯可以参考 https://github.com/Jintin/andle Swimat (Objective-C) Swift是我除了Java以外很喜欢的一个语言,也是我接触iOS开发的第一个语言。但Xcode 对它的支援其实还蛮不足的,除了很慢连个基本的自动排版都没有。 Swimat就是一个简单的Swift排版工具,可以安装在Xcode里,支援Tab或Space缩排、可 以存档自动排版。 心得: 原本排版Swift的程式,应该要用Swift写,但因为要给自己挑战选了不熟的 Objective-C,虽然没什麽问题但写起来真的很赘,无法支援 command line 也是一大败笔 ,之後要找时间换回Swift也是一个大工程。 更多资讯可以参考 https://github.com/Jintin/Swimat DroidLane (Groovy) 写完了Xcode的plugin後,就开始想是不是也可以帮Android这边也写一个。因为自己写 太多小app,上架其实很麻烦所以就决定写个自动上传的工具。安装後就不用打开浏览器 可以在Android Studio里直接上传apk。 心得: Groovy其实就是Java的加强版,带来一些好处也带来一些缺点,我觉得最大缺点 就是速度慢还要多包一些Groovy的library。 更多资讯可以参考 https://github.com/Jintin/DroidLane aliasme (Shell) 身为工程师就是要用 command line 啊,但其实大家都不喜欢打字,切换目录的时候如 果太远其实很不方便,aliasme就是要解决这样的需求,让大家可以很方便的切换目录。 范例如下: --- $ al add A ~/dirA/subA/A $ al add B ~/dirB/subB/B $ al A $ pwd /Users/Jintin/dirA/subA/A $ al B $ pwd /Users/Jintin/dirB/subB/B --- 心得: 跟写Object-C一样会感觉到时代的眼泪,如果可以用高阶语言写的就尽量用高阶 语言写吧… 更多资讯可以参考 https://github.com/Jintin/aliasme --



※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 111.249.35.214
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Soft_Job/M.1456751055.A.553.html
1F:推 dojay: 推 02/29 21:23
2F:推 rubyk: 好像有点猛 推推 02/29 21:48
3F:推 ntddt: 推 这样就对惹...XD 02/29 22:12
4F:推 dali17dali17: 推了再上 02/29 22:49
5F:推 singoboy: 谢谢分享 02/29 22:51
6F:推 ah7675: 第一个google有写一个python tool叫repo 02/29 23:24
7F:推 abc0922001: 推,第一个感觉很有趣 02/29 23:53
8F:推 MoonAndEye: 推 03/01 01:59
9F:推 johnny94: 推个耐心! 03/01 02:31
10F:推 Ladizman: 猛猛的 感谢分享 03/01 03:50
11F:→ LinJohn: repo好像蛮像的 不知道可不可以用group的方式 03/01 08:35
12F:→ LinJohn: 还是一定要写 [<PROJECT0> <PROJECT1> <PROJECTN>] 03/01 08:36
13F:→ Baternest: repo有manifest file在管控project 03/01 12:27
14F:推 chchwy: 抓个小错误 那个语言叫做Objective-C...不是Object-C 03/01 12:32
15F:推 michael1436: 最後一个似乎没有autojump 好用 03/01 13:03
16F:→ LinJohn: 谢谢大家的支持与建议 如果有方向可以改得更好一点 03/01 21:17
※ 编辑: LinJohn (111.249.35.214), 03/01/2016 21:17:51
17F:→ LinJohn: aliasme未来也可以朝把整串command记起来的方向前进 03/01 21:18
18F:→ LinJohn: 不知道大家觉得这样有比较好吗? 03/01 21:19
19F:→ LinJohn: Objective-C已改 chchwy感谢指正 03/01 21:20
20F:→ LinJohn: 如果大家有兴趣一起改得更好也可以来信讨论 03/01 21:22
21F:→ LinJohn: 目前想到的有transai web介面 swimat改swift 03/01 21:24
22F:→ LinJohn: andle custom repository, jgit 支援tab 03/01 21:26
23F:→ LinJohn: DroidLane可以把截图的功能也补上 03/01 21:28
24F:推 kewang: 推推!!! 03/01 23:28
25F:→ LinJohn: 每篇文章都会让楼上抓到 真是太强了 03/02 08:33
26F:推 tear0216: 推 03/02 09:21
27F:推 eric0609: push 03/02 13:03
28F:→ ah7675: 整串command记起来不就变ubuntu的history XD? 03/02 20:24
29F:→ LinJohn: 我的意思是可以把一行或几行指令转成'al XXX' 这样 03/02 22:26
30F:→ ah7675: ubuntu history 只要用"!${index}"就可以执行曾经敲过的co 03/03 11:06
31F:→ ah7675: mmand 03/03 11:06
32F:推 slrune1049: 推 03/03 12:51
33F:→ LinJohn: 我的意思不是叫出历史指令 而是想要取代复杂指令 03/03 20:35







like.gif 您可能会有兴趣的文章
icon.png[问题/行为] 猫晚上进房间会不会有憋尿问题
icon.pngRe: [闲聊] 选了错误的女孩成为魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一张
icon.png[心得] EMS高领长版毛衣.墨小楼MC1002
icon.png[分享] 丹龙隔热纸GE55+33+22
icon.png[问题] 清洗洗衣机
icon.png[寻物] 窗台下的空间
icon.png[闲聊] 双极の女神1 木魔爵
icon.png[售车] 新竹 1997 march 1297cc 白色 四门
icon.png[讨论] 能从照片感受到摄影者心情吗
icon.png[狂贺] 贺贺贺贺 贺!岛村卯月!总选举NO.1
icon.png[难过] 羡慕白皮肤的女生
icon.png阅读文章
icon.png[黑特]
icon.png[问题] SBK S1安装於安全帽位置
icon.png[分享] 旧woo100绝版开箱!!
icon.pngRe: [无言] 关於小包卫生纸
icon.png[开箱] E5-2683V3 RX480Strix 快睿C1 简单测试
icon.png[心得] 苍の海贼龙 地狱 执行者16PT
icon.png[售车] 1999年Virage iO 1.8EXi
icon.png[心得] 挑战33 LV10 狮子座pt solo
icon.png[闲聊] 手把手教你不被桶之新手主购教学
icon.png[分享] Civic Type R 量产版官方照无预警流出
icon.png[售车] Golf 4 2.0 银色 自排
icon.png[出售] Graco提篮汽座(有底座)2000元诚可议
icon.png[问题] 请问补牙材质掉了还能再补吗?(台中半年内
icon.png[问题] 44th 单曲 生写竟然都给重复的啊啊!
icon.png[心得] 华南红卡/icash 核卡
icon.png[问题] 拔牙矫正这样正常吗
icon.png[赠送] 老莫高业 初业 102年版
icon.png[情报] 三大行动支付 本季掀战火
icon.png[宝宝] 博客来Amos水蜡笔5/1特价五折
icon.pngRe: [心得] 新鲜人一些面试分享
icon.png[心得] 苍の海贼龙 地狱 麒麟25PT
icon.pngRe: [闲聊] (君の名は。雷慎入) 君名二创漫画翻译
icon.pngRe: [闲聊] OGN中场影片:失踪人口局 (英文字幕)
icon.png[问题] 台湾大哥大4G讯号差
icon.png[出售] [全国]全新千寻侘草LED灯, 水草

请输入看板名称,例如:WOW站内搜寻

TOP