1 |
|
IOS设置固定大小的图片
`固定图片大小
UIImage * img = [UIImage imageNamed:@"doorlogo"];
CGSize itemSize = CGSizeMake(60, 60);
UIGraphicsBeginImageContext(itemSize);
CGRect imageRect = CGRectMake(0, 0, itemSize.width, itemSize.height);
[img drawInRect:imageRect];
cell.imageView.image = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();`
苹果软件发布问题汇总
苹果软件发布问题汇总
上传程序不能在可选列表中显示出来怎么办?
检查开发者帐号的邮箱,会把是什么原因导制的通过邮件发过来。比较奇怪是上传过程不会有任何提示,ituneconnect帐号中也不会提示。比较挫。
出现上面的情况,一般都是程序里面的权限设置问题。
发布硬件配合的程序
发布程序的时候最好配一个联机演示的视频。不然的话,他后面会让你补上,浪费时间。
xcode打包的地方上传不了
遇到过这种情况,这里怎么也传不了,一直正在进行,不完成。可以从xcode的那个菜单里面调出一个独立的工具出来。这个工具一般比较好用。
遇到过 遇小化那个上传界面,然后恢复。就会提示已上传完成。其实根本就没有成功上传,完全是骗人的。
Hexo 使用相关
安装与配置
据说每个从wordpress转过来blog都会有篇文章,这个就是。
windows
两个前提和条件
- 首先要安装 Node.js
- 当然了还要安装 git
然后在Windows命令行输入
安装hexo
1
npm install -g hexo
初始化一个blog,这里名字就叫 hexo
1
hexo init hexo
进入hexo目录
1
cd hexo
安装依赖文件
1
npm install
部署形成文件
1
hexo generate
mac
还没有测试过如何弄。
linux
还没有测试过如何弄。
发布
本地预览
1 | hexo s |
就能打开一个本地服务器,通过提示的地址可以看效果。
怎么发布到Github的空间中去
首先得有github帐号,肯定有了,不说了。还有就是要在本机配置好如何能push到github上去。github官方有说明,windows还有点复杂,这里暂时不说了。
如何写文章
Draft
在文件夹的source目录下面有个_drafts目录,这里面都是没有Post。
publish
在文件夹的source目录下面有个_post目录。这里面都是已经post了的。
插件
要工作,有些插件必须要有。
- 发布到github上需要一个插件。
- 把wordpress内容导入到hexo也需要一个插件。
- 有个hexo admin的插件可以成倍的减少用hexo的难度。(我正在用)
使用心得
next主题很不错,要另外安装。默认的比较丑。
ssh 通过证书建立信任关系(转)(备用)
建立SSH信任
将A主机做为客户端(发起SSH请求 ip:192.168.200.170)
将B主机作为服务器端(接收ssh请求 ip:192.168.200.149)
以上以主动发起SSH登录请求的主机和接收请求的主机进行分类
A主机生成公,私钥证书
1 | [root@buddytj-10 .ssh]# ssh-keygen -t rsa #rsa算法的证书 |
将A主机生成的公钥传递给B主机
1 | [root@xyh .ssh]#scp id_rsa.pub 192.168.200.149:/root/.ssh/ |
至此从A主机远程SSH B主机的工作即告完成
IOS widget学习入门
一篇不错的文章,收藏:
tmux使用:复制与粘贴
拷贝与粘贴
tmux不同的配置,快捷键会存在较大的差异。也就是说,可以定义不同的快捷键来实现复制与粘贴。详细的说明可以在 tmux 的手册中找到。
但对于其默认的设置中这样的:
使用 “ctrl-b [“ 进入拷贝模式,使用空格键(space)开始内容选取,回车键(Enter)进行拷贝,然后使用 “ctrl-b ]” 进行粘贴。
Good luck.
编写Dockerfile的原则
一篇文章的总结:原文在这里
1. 使用统一的 base 镜像
有些文章讲优化镜像会提倡使用尽量小的基础镜像,比如 busybox 或者 alpine 等。我更推荐使用统一的大家比较熟悉的基础镜像,比如 ubuntu,centos 等,因为基础镜像只需要下载一次可以共享,并不会造成太多的存储空间浪费。它的好处是这些镜像的生态比较完整,方便我们安装软件,除了问题进行调试。
2. 动静分离
经常变化的内容和基本不会变化的内容要分开,把不怎么变化的内容放在下层,创建出来不同基础镜像供上层使用。比如可以创建各种语言的基础镜像,python2.7、python3.4、go1.7、java7等等,这些镜像包含了最基本的语言库,每个组可以在上面继续构建应用级别的镜像。
3. 最小原则:只安装必需的东西
很多人构建镜像的时候,都有一种冲动——把可能用到的东西都打包到镜像中。要遏制这种想法,镜像中应该只包含必需的东西,任何可以有也可以没有的东西都不要放到里面。因为镜像的扩展很容易,而且运行容器的时候也很方便地对其进行修改。这样可以保证镜像尽可能小,构建的时候尽可能快,也保证未来的更快传输、更省网络资源。
4. 一个原则:每个镜像只有一个功能
不要在容器里运行多个不同功能的进程,每个镜像中只安装一个应用的软件包和文件,需要交互的程序通过 pod(kubernetes 提供的特性) 或者容器之间的网络进行交流。这样可以保证模块化,不同的应用可以分开维护和升级,也能减小单个镜像的大小。
5. 使用更少的层
虽然看起来把不同的命令尽量分开来,写在多个命令中容易阅读和理解。但是这样会导致出现太多的镜像层,而不好管理和分析镜像,而且镜像的层是有限的。尽量把相关的内容放到同一个层,使用换行符进行分割,这样可以进一步减小镜像大小,并且方便查看镜像历史。
6. 减少每层的内容
尽管只安装必须的内容,在这个过程中也可能会产生额外的内容或者临时文件,我们要尽量让每层安装的东西保持最小。
比如使用 –no-install-recommends 参数告诉 apt-get 不要安装推荐的软件包
安装完软件包,清楚 /var/lib/apt/list/ 缓存
删除中间文件:比如下载的压缩包
删除临时文件:如果命令产生了临时文件,也要及时删除
7. 不要在 Dockerfile 中修改文件的权限因为 docker 镜像是分层的,任何修改都会新增一个层,修改文件或者目录权限也是如此。如果修改大文件或者目录的权限,会把这些文件复制一份,这样很容易导致镜像很大。
解决方案也很简单,要么在添加到 Dockerfile 之前就把文件的权限和用户设置好,要么在容器启动脚本(entrypoint)做这些修改。
8. 利用 cache 来加快构建速度
如果 Docker 发现某个层已经存在了,它会直接使用已经存在的层,而不会重新运行一次。如果你连续运行 docker build 多次,会发现第二次运行很快就结束了。
不过从 1.10 版本开始,Content Addressable Storage 的引入导致缓存功能的实效,目前引入了 –cache-from 参数可以手动指定一个镜像来使用它的缓存。
9. 版本控制和自动构建
最好把 Dockerfile 和对应的应用代码一起放到版本控制中,然后能够自动构建镜像。这样的好处是可以追踪各个版本镜像的内容,方便了解不同镜像有什么区别,对于调试和回滚都有好处。
另外,如果运行镜像的参数或者环境变量很多,也要有对应的文档给予说明,并且文档要随着 Dockerfile 变化而更新,这样任何人都能参考着文档很容易地使用镜像,而不是下载了镜像不知道怎么用。
tmux配置:用鼠标切换窗口、调节大小
以下内容来自这里:HERE
其实就这么几行配置:
1 | setw -g mouse-resize-pane on |
这几行的作用分别是:
1 | 开启用鼠标拖动调节pane的大小(拖动位置是pane之间的分隔线) |
这几行配置加到 ~/.tmux.conf 中,然后在tmux里面按 C-b : 执行 source ~/.tmux.conf 即可生效 (也可以直接将这几行放在 C-b : 的输入行去执行,每次执行一行,不过 tmux重启后还得再来一遍)。
IOS获取当前时间并转换成可显示字符串的方法
本来很简单的时,在IOS上涉及到的东西还挺多。
1 |
|