首页 文章 精选 留言 我的

精选列表

搜索[using],共5488篇文章
优秀的个人博客,低调大师

iOS:using Segue in Popover

今晚被一个问题搞半天,如果你使用segue时,正常的执行顺序是,先执行源ViewController的prepareForSegue,再执行目标VC的ViewDidLoad,所以你可以在prepareForSegue对目的VC的相关属性进行设置,进而达到传值的目的。但是当你segue是使用在Popover的场合时,情况就不一样了,系统是先调用目的的ViewDidLoad再调用源VC的prepareForSegue,颠倒过来了,所以刚刚说的赋值传值的方法就行不通了(特别是你在目的的ViewDidLoad就要用到该属性进行一些逻辑的时候)。 解决方法:方法1、放弃segue,直接代码添加popover。 destinationVC =[storyboardinstantiateViewControllerWithIdentifier:@"destinationVC"]; destinationVC.mmm = @"hello zhan!"; popover = [[UIPopoverControlleralloc]initWithContentViewController:destinationVC];//运行这句会才调到目的的ViewDidLoad ....... 方法2、把你在viewDidLoad的逻辑放在一个函数中,在源VC的prepareForSegue掉用改逻辑。这个stackoverflow也有提到http://stackoverflow.com/questions/8838160/prepareforsegue-is-not-called-after-performseguewithidentifier-with-popover-st 本文转自老Zhan博客园博客,原文链接:http://www.cnblogs.com/mybkn/archive/2012/12/02/2798757.html,如需转载请自行联系原作者

优秀的个人博客,低调大师

docker private registry using rados beckend

前提: docker 下载镜像需要连接到 docker.io, 网络原因, 可能被其他国家限制, 也可能由于网速慢, 会导致异常 因此, 常常需要创建一个私有的 docker private registry 用于保存私有镜像或官方镜像, 提供更加方便快捷的下载方法, 省时省力. A. 主机说明 主机 ip地址 作用 sh-storage-128204.sh.vclound.com 10.198.128.204 docker registry sh-storage-128200.sh.vclound.com 10.198.128.200 ceph sh-storage-128201.sh.vclound.com 10.198.128.201 ceph sh-storage-128202.sh.vclound.com 10.198.128.202 ceph sh-storage-128203.sh.vclound.com 10.198.128.203 ceph B. ceph 重要配置 (ceph 创建过程[略] 请参考之前的 ceph 文档) 1. 创建 dellpools ceph osd create pool dellpools 1600 1600 2. ceph 用户授权 第一次授权 ceph auth get-or-create client.docker mon 'allow r' osd 'allow class-read object_prefix rbd_children, allow rwx pool=dockerpools' 假如用户已经存在修改授权方法 ceph auth caps client.cinder mon 'allow r' osd 'allow class-read object_prefix rbd_children, allow rwx pool=dockerpools, allow rwx pool=cephpools' 3. 导出 keyring ceph auth export client.docker > /etc/ceph/ceph.client.docker.keyring C. docker 配置 载入官方 registry 镜像 docker 后端 registry 官方镜像支持多种后端存储, 其中 v1 版本支持 swift, s3, ceph-s3 (radosgw) 等等, 不进行每个详细列举 当前使用的是 v2 版本, 其中对应 ceph 存储的 ceph-s3 接口应该已经不再支持, 如果希望使用 radosgw 方法需要指定 s3 驱动, 另外增加了 volumes (cephfs), rados 模块的支持, 该文档不进行 s3, volumes 测试 镜像 可以利用官方直接下载最新版本的镜像 docker pull registry 载入私有镜像 创建私有镜像的方法参考另外一个文档, 下面 rhel7_7.1.1503.tar, 是我自己创建的私有镜像 常见私有镜像载入前都是 tar 结构 载入私有镜像方法如下 [root@sh-storage-128204 export]# docker load --input rhel7_7.1.1503.tar 查询载入后的镜像 [root@sh-storage-128204 export]# docker images REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE test 7.1.1503 fab4b1df8eb1 2 days ago 227.6 MB 重命名私有镜像 在上传镜像前, 需要对私有镜像进行 tag 标签 [root@sh-storage-128204 docker]# docker tag fab4b1df8eb1 10.198.128.204:5000/centos:7.1.1503 [root@sh-storage-128204 ~]# docker images REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE test 7.1.1503 fab4b1df8eb1 2 days ago 227.6 MB registry 2 b2c682ed7e4c 4 weeks ago 224.5 MB 10.198.128.204:5000/centos 7.1.1503 fab4b1df8eb1 2 days ago 227.6 MB rados 配置文件 创建 rados.yml 配置 version: 0.1 log: level: debug formatter: text fields: service: registry loglevel: debug storage: rados: poolname: dockerpools username: docker http: addr: :5000 headers: X-Content-Type-Options: [nosniff] 创建 ssl key 在镜像上传时候, 需要调用 ssl key , 否则会遇到 https 连接错误 openssl genrsa -out ca.key 2048 openssl req -new -key ca.key -out docker.csr openssl x509 -req -days 365 -in docker.csr -signkey ca.key -out docker.crt D. docker 启动 docker -D run -d -p 5000:5000 -e CEPH_CONF=/etc/ceph/ceph.conf -v /var/lib/ceph:/var/lib/ceph -v /etc/ceph:/etc/ceph -v /root/docker/rados.yml:/etc/docker/registry/config.yml -v /etc/docker/certs.d:/certs -e REGISTRY_HTTP_TLS_CERTIFICATE=/certs/docker.crt -e REGISTRY_HTTP_TLS_KEY=/certs/ca.key -d registry:2 常见大坑说明 1 registry 镜像无法读取 ceph.conf 配置, 因此需要带参数 -v /etc/ceph:/etc/ceph 2. registry 镜像无法获得 ceph health 状态, 因此需要带参数 -v /var/lib/ceph:/var/lib/ceph 3. 常见 https 连接错误, 由 docker.crt, ca.key 解决 4. 常见 registry 无法连接到 pools, 要么没有授权, 要么无法读取 docker 用户 keyring

优秀的个人博客,低调大师

OpenStack 系列之Manila install and using the Virtualenv

今天继续分享下Manila系列文章知识,之前两篇博文一个是Manila详解,一个是Manila for Centos的安装部署,今天呢我们采用Python Virtualenv的模式来安装Manila服务:)。 什么是Virtualenv? Virtualenv是Python的虚拟环境可以使一个Python程序拥有独立的库library和解释器interpreter,而不用与其他Python程序共享统一个library和interpreter。虚拟环境的好处是避免了不同Python程序间的互相影响(共同使用global library和interpreter),例如程序A需要某个库的1.0版本,而程序B需要同样这个库的2.0版本,如果程序B执行则A就不能执行了。 为什么使用Virtualenv? 很多人会问为什么会采用Manila for Virtualenv,因为避免不了有时候OpenStack组件版本不一致的情况,之所以这样是因为Manila L版本功能开始逐渐健全并完善的,而云平台OpenStack组件版本相较于L版来说老一些,毕竟生产环境还是不能跟随社区版本发布而更新的,求稳为主,所以这时候就出现了现在的需求,由于版本不一致有些Python依赖以及OpenStack组件依赖版本不同,如果不采用分离的话会导致组件失效等问题。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 安装部署: 1.创建Manila数据库. mysql-uroot-p CREATEDATABASEmanila; GRANTALLPRIVILEGESONmanila.*TO 'manila' @ 'localhost' IDENTIFIEDBY 'password' ; GRANTALLPRIVILEGESONmanila.*TO 'manila' @ '%' IDENTIFIEDBY 'password' ; 2.创建Manila用户、服务等. openstackusercreate--password-promptmanila openstackroleadd--projectservice--usermanilaadmin openstackservicecreate--namemanila--description "OpenStackSharedFilesystems" share openstackendpointcreate\ --publicurlhttp: //X .X.X.X:8786 /v1/ %\(tenant_id\)s\ --internalurlhttp: //X .X.X.X:8786 /v1/ %\(tenant_id\)s\ --adminurlhttp: //X .X.X.X:8786 /v1/ %\(tenant_id\)s\ --regionRegionOne\ share 3.安装依赖. yum-y install libxslt-devellibxml2-devellibxml2-pythonpostgresql-devel\ python-greenlet-develpython-develpython-greenletlibffi-devel 4.下载Manila源码. gitclonehttps: //github .com /openstack/manila .git cd manila 5.创建Virtualenv环境. 由于Manila源码里面自带tools所以这里直接就采用了tools pythontools /install_venv .py 6.进入 env 环境安装Manila. source .venv /bin/activate pythonsetup.pybuild pythonsetup.py install 7.安装Manilaclient. pip install python-manilaclient>=1.4.0 8.创建Manila目录从Manila源码目录拷贝配置文件等. mkdir /etc/manila cp -r /root/manila/etc/manila/ * /etc/manila/ 9.编辑配置manila.conf文件 [之前的Manila for Centos部署文档里面详细说明了,这里就不在详细赘述。] 10.同步数据库 manila-managedb sync 11.启动Manila服务. nohup su -s /bin/sh -c "/opt/manila/.venv/bin/python/opt/manila/.venv/bin/manila-api--config-file/etc/manila/manila.conf" > /var/log/manila/manila-api .log& nohup su -s /bin/sh -c "/opt/manila/.venv/bin/python/opt/manila/.venv/bin/manila-scheduler--config-file/etc/manila/manila.conf" > /var/log/manila/manila-scheduler .log& nohup su -s /bin/sh -c "/opt/manila/.venv/bin/python/opt/manila/.venv/bin/manila-share--config-file/etc/manila/manila.conf" > /var/log/manila/manila-share .log& 本文转自Devin 51CTO博客,原文链接:http://blog.51cto.com/devingeng/1752186

优秀的个人博客,低调大师

自定义字体| Using a custom typeface in Android

Android SDK 对应的平台下面有相应的字体,可以了解一下: XXX\android-sdk-windows\platforms\android-X\data\fonts DroidSans.ttf:英文正常显示字体 DroidSans-Bold.ttf:英文正常显示字体(粗体) DroidSerif-Italic.ttf:英文正常显示字体(斜体) DroidSansMono.ttf:英文正常显示字体(等宽体) DroidSerif-Bold.ttf:英文备用显示字体(粗体) DroidSerif-BoldItalic.ttf:英文备用显示字体(粗斜体) DroidSerif-Regular.ttf:英文备用显示字体(印刷体) DroidSansFallback.ttf:中文正常显示字体 ..... Android提供三种“sans”(default),“serif”,“monospace”字体供选择,在XML布局文件中,可以使用typeface属性进行设置,但是有时候提供的字体并不能满足我们的需求,比如有关时钟,计时器的应用时,我们就希望使用液晶数字字体,使界面更加美观,这时候可以通过自定义字体: 我没有去研究Android中使用的ttf文件是否和Windows中是否通用,从Windows系统中拷贝的字体是否能正确显示。 拿到ttf文件后,拷贝到项目下assets文件夹中,可以新建文件夹,注意加载资源时路径正确就ok了。 关键代码: TextViewtextViewTime=(TextView)findViewById(R.id.textViewTime); //Loadfontresourceandsettypeface. TypefacelcdFont=Typeface.createFromAsset(getAssets(),"xxx.ttf"); textViewTime.setTypeface(lcdFont); 我这里做了一下改进,显示当前时间: 对应的xml: <?xmlversion="1.0"encoding="utf-8"?> <LinearLayoutxmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent"android:layout_height="fill_parent" android:gravity="center"> <TextViewandroid:text="TextView"android:id="@+id/textViewTime" android:layout_width="wrap_content"android:layout_height="wrap_content" android:layout_gravity="center"android:textSize="45sp"></TextView> </LinearLayout> 完整代码: /** *@authorBrant *@decription */ publicclassMainextendsActivity{ privateThreadmWorkThread; privatefinalstaticSimpleDateFormatTIMESTAMP_Format=newSimpleDateFormat( "HH:mm:ss");//时间戳格式 @Override protectedvoidonCreate(BundlesavedInstanceState){ super.onCreate(savedInstanceState); setContentView(R.layout.test); final TextViewtextViewTime=(TextView)findViewById(R.id.textViewTime); //Loadfontresourceandsettypeface. TypefacelcdFont=Typeface.createFromAsset(getAssets(),"digifaw.ttf"); textViewTime.setTypeface(lcdFont); mWorkThread=newThread(newRunnable(){ @Override publicvoidrun(){ while(true){ runOnUiThread(newRunnable(){ @Override publicvoidrun(){ textViewTime.setText(TIMESTAMP_Format .format(newDate(System.currentTimeMillis()))); } }); try{ Thread.sleep(1000); }catch(InterruptedExceptione){ e.printStackTrace(); } } } }); mWorkThread.start(); } @Override publicbooleanonKeyUp(intkeyCode,KeyEventevent){ switch(keyCode){ caseKeyEvent.KEYCODE_BACK: mWorkThread.interrupt(); finish(); returntrue; } returnsuper.onKeyUp(keyCode,event); } } 效果截图: 附件是相应的字体文件。 附件:http://down.51cto.com/data/2358957 本文转自 breezy_yuan 51CTO博客,原文链接:http://blog.51cto.com/lbrant/671358,如需转载请自行联系原作者

资源下载

更多资源
Mario

Mario

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

腾讯云软件源

腾讯云软件源

为解决软件依赖安装时官方源访问速度慢的问题,腾讯云为一些软件搭建了缓存服务。您可以通过使用腾讯云软件源站来提升依赖包的安装速度。为了方便用户自由搭建服务架构,目前腾讯云软件源站支持公网访问和内网访问。

Rocky Linux

Rocky Linux

Rocky Linux(中文名:洛基)是由Gregory Kurtzer于2020年12月发起的企业级Linux发行版,作为CentOS稳定版停止维护后与RHEL(Red Hat Enterprise Linux)完全兼容的开源替代方案,由社区拥有并管理,支持x86_64、aarch64等架构。其通过重新编译RHEL源代码提供长期稳定性,采用模块化包装和SELinux安全架构,默认包含GNOME桌面环境及XFS文件系统,支持十年生命周期更新。

Sublime Text

Sublime Text

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。

用户登录
用户注册