分类目录归档:程序设计

mac下crontab不保存的解决方案

在mac下使用crontab -e编辑crontab,并不保存,crontab -l显示列表仍然是空的:

$ crontab -e
crontab: no crontab for username – using an empty one
crontab: “/usr/bin/vi” exited with status 1

$ crontab -l
crontab: no crontab for username

解决办法:
是因为权限问题。需要使用root权限来操作。
$ sudo su –

编辑username的crontab
$ crontab -u username -e

列出username的crontab,查看编辑后的数据
$ crontab -u username -l

gradle学习总结

gradle和maven类似,是管理项目依赖和编译发布的工具。可以一理解为maven的升级版
首先推荐书籍:
https://dongchuan.gitbooks.io/gradle-user-guide-/content/tutorials/index.html

安装运行安卓项目一般是两步:
在项目目录下执行:
./gradlew clean assembleDebug
./gradlew installDebug

命令后面的clean installDebug等都是task,更多task在这里:http://tools.android.com/tech-docs/new-build-system/user-guide

gradlew在android studio中新建项目是会自动创建,是Gradle Wrapper的简称,也就是封装了一下gradle,对目录、环境变量、编译参数等进行了设置。文件最后就是调用了类 org.gradle.wrapper.GradleWrapperMain。这个类会解析gradle的配置文件,下载依赖文件等,最后由android插件生成apk文件。

连接aws ec2提示Operation timed out的解决办法

ssh连接aws ec2时提示:
ssh: connect to host amazonaws.com port 22: Operation timed out

官方给出的解决办法在这里:
http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/TroubleshootingInstancesConnecting.html#TroubleshootingInstancesConnectionTimeout

我的原因是因为安全组设置不正确。用的这个解决方案里的第一条解决办法。
1、打开管理控制台 https://console.aws.amazon.com/ec2/.
2、在左侧选择实例,然后选中右侧有问题的实例。
3、下面会出现几个TAB,选描述,在这个描述里的右侧偏上的地方,有一个“安全组:default. 查看规则”,点击default
4、在出现的页面里,选中一个安全组,查看下面TAB中的入站规则,我的这里没有22端口,所以连接不上。点击“编辑”,弹出窗口中选“添加规则”
5、类型选”ssh”,协议TCP,端口22,来源选任何位置,当然如果自己有固定IP,可以选择“我的IP”
6、提交
7、在SSH重新连接试试看好没。