文档章节

初为程序猿(媛)的你,这些技能可以为你们加持

叶大侠
 叶大侠
发布于 2017/08/28 00:49
字数 2370
阅读 41
收藏 0
点赞 0
评论 0

每个程序员应该精挑细选和打磨他的工具箱,这里推荐的东西都是本人使用频次比较高的,不是奇淫巧技,也不需要花很多时间,但是会让你收益超额的,至少对我来说是这样的。

这是很有诚意的一篇文章,你可以选择一笑而过,也可以默默收藏。

一个自己的博客

笔者从大学就开始写博客,从 WordPress 到自己用 JFinal 写了一个,中间有断了几次,不想再续费服务器,对写的东西也不太满意,索性用 Github Pages + hexo 重新开始写。

个人觉得写博客,首先是为自己而写的,其次可能对他人有帮助。单纯地阅读而不思考收获会大打折扣的,写出来就是一个行之有效的思考整理过程。

我推荐用 Github Pages + hexo 的方式,一开始你可能和我一样写的不好,没什么人看,记住,首先你是给自己写的,坚持原创和记录,你会变的更好,等觉得拿的出手了,可以开始在一些平台上发表,比如掘金,简书。

花半天时间把自己的个人博客给搭建起来吧。

Shadowsocks

不能用 Google,就失去了世界上最大的百科全书的使用权,这个损失是巨大的!每天都会遇到无数问题的我们,学会越过这道墙成了一个必备的技能。

我建议自己买一台国外的服务器,AWS、阿里云等,最低配就可以了,可以几个人一起用,分担一下费用,稳定又安全,还可以在上面折腾点别的,这点投资我觉得是超值的。By the way, AWS 有一年的免费额度,阿里云也在搞活动,¥330 一年的(香港)国外节点。如果还是觉得麻烦,那至少应该去买个账号吧。(真的没收广告费)

搭建一个这样的服务真的超级简单,几行命令就能搞定。

服务端和客户端教程都可以在上面找到,如果有服务器的前提下,大约花你 30 分钟就能使用全球最大的百科全书了。

git & github

git 是个伟大的协作和版本管理工具,这几年经过社区的传播和国内越来越多 git 代码托管平台的崛起,现在 git 应该碾压乌龟 SVN 作为很多团队和公司的首选版本管理工具了,如果你还没有开始使用 git ,很遗憾你已经拖后腿了。

作为全球最大的源(程)代(序)码(员)托(社)管(交)平台 github ,以前我还不知道它有什么用,和很多人一样,注册之后很长时间里面就放了几个 Demo ,然后就不怎么管了。以前写代码就是蒙着写,不会就 Google 一下,不小心就会造一个重复的轮子出来 (SQLiteUtils: 实际是 4 年前写的,后来改了名字重新上传),这样其实是很不好的,闭门造车不仅仅是浪费时间,还可能阻碍了你的认知,自我感觉良好而已。移动互联网的快速发展,尤其是 Android ,涌现了很多优秀的开源作品,大家也开始会用 github 去搜索,收藏一些好的作品,学习并使用到自己的项目中。如果你只去使用那些公认足够 solid,有完整翻译过来的中文文档,百度一搜就有一堆答案的 library 或者 tools,可能你已经落后新生代的程序员一大截了。另外如果你有留意,越来越多的公司都把简历上的技术博客、 github 作为一个非常重要的加分项了,反正我在写 JD 和面试之前真的会去翻看对方的博客和 github 仓库的。

要写出好的文章,阅读大量的优秀文章是必不可少的;要写出优秀的代码亦如此,学会参与到一些开源项目中 ( 使用它;给它提建议和bug;动手修改它,提交你的 PR ),学着自己动手构建一个开源项目和维护它,这件事情需要极大的热情,但你会得到同行的支持和认可,为你的职业生涯添砖加瓦。

打开看到这么多东西,你可能又退回去使用你的乌龟了,我的建议是先注册个 github,简单了解一下 git 的原理和一些简单的命令,常用的命令其实非常少。git 的学习成本相对高,你可能至少花半天的时间去仔细研究一下,并且需要后面不断去总结和精进,当你熟练掌握的那一天,你一定会感激当初的自己。

持续集成(CI)

如果你在搭建自己的小网站,那么第一件事应该是让你的代码一写好然后就能一键发布到服务器上,这个技能就叫持续集成(continuous integration)。当然这个是狭义的解释哈。优秀的程序员应该有一个强烈的意识:dont repeat yourself. 不要做重复的工作。如果你是和我一样的 Java 程序员,每次打包上线重复着:修改配置 -> 打包 war -> 登录 ftp 上传 war 包 -> ssh 登录服务器发布,答应我,从今天开始不要浪费时间做这些重复的动作了。记住,看起来差不多重复的流程都可以通过写一些代码来完成。

在了解 jenkins 前,先看下我常用的一段发布脚本可以帮助你理解这个流程,以下的脚本是在服务器端运行的。

#!/bin/bash

TOMCAT_HOME=~/tools/apache-tomcat-9.0.0.M26

cd ~/sources

// 把项目源代码从 git 上复制下来
if [ ! -d "RAP" ]
then
    git clone https://github.com/YeDaxia/RAP.git
    cd RAP
else
    cd RAP 
    git reset --hard
    git pull
fi

// 切换到发布的分枝
git checkout release
echo "current branch is :"
git branch

// 替换正式环境的配置文件
cp -f ~/deploys/rap/config.properties ~/sources/RAP/src/main/resources/ 

// 打包 war 
mvn clean
mvn package

// 复制 war 到 tomcat 目录下
cp target/*.war  ${TOMCAT_HOME}/webapps/ROOT.war

// 把 tomcat 给停了,因为 shutdown.sh 经常有问题
#kill all java process
ps -ef|grep java|grep -v grep|cut -c 9-15|xargs sudo kill -9

//启动 tomcat
sudo sh ${TOMCAT_HOME}/bin/startup.sh

CI 的过程,就是你提交代码到 github 或者其他代码托管平台,然后触发一个 webhook 请求调用服务器端类似上面的一个过程的代码。

总之 CI 其实就是一件一劳永逸的事情,上面只是举个例子,无论你是 Android 程序员还是 PHP 程序员,你都应该花点时间掌握这个技能,你可能要学习一下一些构建工具,一点 linux 命令,这可能会麻烦一些,但是这是值得的。

Vim

学习vim就像学弹钢琴一样,一旦学会,受益无穷。

不要误会,我自己也是一个 IDE 程序员,除了装B,基本这是程序员绕不过去的一个工具,只要你还想自己搭建个服务器,做点东西。

登录你的 linux 系统,花半个小时跟着玩一下。不要和我一样几年后才意识到去使用那些快捷键,之前都只会愚蠢地使用左右上下,非常低效啊。用进退废,换了 idea 后,eclipse 的快捷键基本就忘的差不多了,我听说有人用 vim + markdown 来写博客的,我现在用的是有道笔记,我觉得这个可操作性还是有的,可以去尝试一下。

命令行窗口

只会用 ↑ ↓ ← →来移动光标真的很低效,很受不了!

ctrl + u : 清除当前行
ctrl + a : 到命令行首
ctrl + e : 到命令行末
tab: 自动完成
↑ ↓: 命令历史

Chrome Bookmark

你用什么来收集那些小的知识点和一些不错的站点呢?我的答案就是 Chrome 自带的书签了。注册一个 Google 账号,它会同步好你的书签,永不丢失。

chrome://bookmarks

用这个命令可以进入书签管理器,定期清理,有价值的留下,这样你的个人知识库了就越来越丰富了。亮一下我的书签:

my bookmark

好吧,就先介绍到这吧,夜已深。


另外,近期打算在 GitChat 做一次分享,手把手教大家去用好上面的工具,如果你有兴趣,可以先加一下这个 Q 群:70948803, 我定用心准备好,不负期待,让大家学到东西,欢迎围观!前 10 名有福利哦 :-) !

© 著作权归作者所有

共有 人打赏支持
叶大侠

叶大侠

粉丝 56
博文 44
码字总数 67312
作品 5
广州
程序员
身边有个漂亮女程序员是种什么样的体验?

程序员,本来就被认为是奇葩的存在了,身上自带光(biao)环(qian),说的好听的就是人傻钱多好管理,还有另一种说法就是挣得多花的少死的早,在这里心疼程序猿们一秒钟。 然而除了程序猿,...

micf435p6d221ssdld2 ⋅ 01/03 ⋅ 0

悠然乱弹:程序猿(媛)们应该这样解读段子

段子手是写成上面的样子的,作为一个程序猿(媛),我们的绝对不能一笑而过,而应该从程序猿(媛)们的视角进行不一样的解读: 从老王的角度看:欠下的总要换的,你以为别人不知道你捣得鬼,...

悠悠然然 ⋅ 2015/08/27 ⋅ 1

那些解释起来很蛋疼的挨踢工种

过年回家,总免不了向家乡父老解释自己的职业,而对互联网行业的极客们来说,向非互联网行业的亲戚朋友说明白自己是干嘛的,也许是比写需求文档和写代码更难完成的任务。 不久前我在极客公园...

酱哥哥 ⋅ 2013/01/28 ⋅ 102

【源资讯 第02期】大大们相爱相杀:谷歌安全有速度,微软“硬件”开源,Apache Hive 性能好

11 月 3 日晚间,一个消息让无数的人特别是程序员们虎躯一震,一夜都没睡着:微信团队宣布小程序开放公测,一大堆干货来袭,程序猿和程序媛们匆匆上车~ 不过虽然一波攻城狮们纷纷不睡觉都想喝...

两味真火 ⋅ 2016/11/04 ⋅ 9

一、信仰根基 2.永生之道

【提要】生命是从神而来,神是生命的源头。今天,基因科学已经揭示生命是一组神奇的密码,正如电脑的程序(这一点,媛媛和猿猿们最有发言权了),见证了一位伟大和有智慧的上帝的作为。而物质...

小小牛奋男 ⋅ 2016/03/02 ⋅ 0

某天醒来,全世界的人都变成程序员......

如果没有程序员,整个虚拟世界都会消失不见。全中国7亿多网民,再也不能愉快滴发自拍,看视频,打游戏,甚至连打电话都成了一种幻想。绝大部分电子设备都会变成废铁,人类的生活将完全倒退到...

csdnsevenn ⋅ 2017/10/25 ⋅ 0

万万没想到程序员也被恶搞了,看完我竟无言以对。。。

现在向我们走来的是程序员方阵! 他们穿着拖鞋,披着毛巾, 左手拿着键盘,右手举着鼠标, 腋下夹着USB转换器。 他们因睡眠不足而显得精神不振, 喊着微弱的口号走过主席台。 主席问候:程序...

我是一个程序猿 ⋅ 2017/11/27 ⋅ 0

女程序员做了个梦,各路大神惊现神级评论!

都说程序猿是地球上比较特殊的物种,而女程序猿(也称程序媛)更是稀缺物种,集万千宠爱于一身。比如,Twitter上的一位女程序员仅仅是做了一个梦,马上引来了一众程序猿的围观起哄,惊现各种...

熊babi ⋅ 2016/03/11 ⋅ 0

女程序员做了个梦,各路大神惊现神级评论

都说程序猿是地球上比较特殊的物种,而女程序猿(也称程序媛)更是稀缺物种,集万千宠爱于一身。比如,Twitter 上的一位女程序员仅仅是做了一个梦,马上引来了一众程序猿的围观起哄,惊现各种...

oschina ⋅ 2016/02/29 ⋅ 33

论程序媛的自我修养(男程序员勿入)

虽然说现在《嘀嗒嘀嗒》的文章写得依然一般,但是还是积聚了很多可爱而善良的读者,所以每篇文章阅读量什么的对于一个新人来说已经是出乎意料的高了。因着我写公众号是池哥(就是 MacTalk 的...

oschina ⋅ 2016/04/20 ⋅ 40

没有更多内容

加载失败,请刷新页面

加载更多

下一页

浅谈springboot Web模式下的线程安全问题

我们在@RestController下,一般都是@AutoWired一些Service,由于这些Service都是单例,所以并不存在线程安全问题。 由于Controller本身是单例模式 (非线程安全的), 这意味着每个request过来,...

算法之名 ⋅ 今天 ⋅ 0

知乎Java数据结构

作者:匿名用户 链接:https://www.zhihu.com/question/35947829/answer/66113038 来源:知乎 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。 感觉知乎上嘲讽题主简...

颖伙虫 ⋅ 今天 ⋅ 0

Confluence 6 恢复一个站点有关使用站点导出为备份的说明

推荐使用生产备份策略。我们推荐你针对你的生产环境中使用的 Confluence 参考 Production Backup Strategy 页面中的内容进行备份和恢复(这个需要你备份你的数据库和 home 目录)。XML 导出备...

honeymose ⋅ 今天 ⋅ 0

JavaScript零基础入门——(九)JavaScript的函数

JavaScript零基础入门——(九)JavaScript的函数 欢迎回到我们的JavaScript零基础入门,上一节课我们了解了有关JS中数组的相关知识点,不知道大家有没有自己去敲一敲,消化一下?这一节课,...

JandenMa ⋅ 今天 ⋅ 0

火狐浏览器各版本下载及插件httprequest

各版本下载地址:http://ftp.mozilla.org/pub/mozilla.org//firefox/releases/ httprequest插件截至57版本可用

xiaoge2016 ⋅ 今天 ⋅ 0

Docker系列教程28-实战:使用Docker Compose运行ELK

原文:http://www.itmuch.com/docker/28-docker-compose-in-action-elk/,转载请说明出处。 ElasticSearch【存储】 Logtash【日志聚合器】 Kibana【界面】 答案: version: '2'services: ...

周立_ITMuch ⋅ 今天 ⋅ 0

使用快嘉sdkg极速搭建接口模拟系统

在具体项目研发过程中,一旦前后端双方约定好接口,前端和app同事就会希望后台同事可以尽快提供可供对接的接口方便调试,而对后台同事来说定好接口还仅是个开始、设计流程,实现业务逻辑,编...

fastjrun ⋅ 今天 ⋅ 0

PXE/KickStart 无人值守安装

导言 作为中小公司的运维,经常会遇到一些机械式的重复工作,例如:有时公司同时上线几十甚至上百台服务器,而且需要我们在短时间内完成系统安装。 常规的办法有什么? 光盘安装系统 ===> 一...

kangvcar ⋅ 昨天 ⋅ 0

使用Puppeteer撸一个爬虫

Puppeteer是什么 puppeteer是谷歌chrome团队官方开发的一个无界面(Headless)chrome工具。Chrome Headless将成为web应用自动化测试的行业标杆。所以我们很有必要来了解一下它。所谓的无头浏...

小草先森 ⋅ 昨天 ⋅ 0

Java Done Right

* 表示难度较大或理论性较强。 ** 表示难度更大或理论性更强。 【Java语言本身】 基础语法,面向对象,顺序编程,并发编程,网络编程,泛型,注解,lambda(Java8),module(Java9),var(...

风华神使 ⋅ 昨天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部