手机浏览 RSS 2.0 订阅 膘叔的简单人生 , 腾讯云RDS购买 | 超便宜的Vultr , 注册 | 登陆
浏览模式: 标准 | 列表2024年09月的文章

IOS设置横竖屏

本标题其实是指在开发中,如何限制自己的APP只能横屏或者竖屏。

在xcode的工程中,目前已经能够选择APP是否使用横屏还是竖屏了,但其实APP还是可以进行横竖屏切换。有几个办法

1、代码法:

 

C++代码
  1. - (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation{    
  2.        //看下面的,自己可以调整,以达到你想要的效果,比如只能横屏显示,只能竖屏显示,或者直接返回YES,表示可以支持任何方向的旋转.   
  3.     return (interfaceOrientation == UIInterfaceOrientationPortrait);    
  4. }    

当然这段return中其实有很多判断:

C++代码
  1. return (toInterfaceOrientation==UIInterfaceOrientationLandscapeLeft) || (toInterfaceOrientation==UIInterfaceOrientationLandscapeRight);  
  2.   
  3. //这里是支持哪个方向的转动  
  4.   
  5. return (toInterfaceOrientation == UIInterfaceOrientationPortrait)  
  6.         || (toInterfaceOrientation==UIInterfaceOrientationLandscapeLeft)  
  7.         || (toInterfaceOrientation==UIInterfaceOrientationLandscapeRight)  
  8.         || (toInterfaceOrientation==UIInterfaceOrientationPortraitUpsideDown);  

2、其实还可以在代码之外操作:

 

设置应用程序的横竖屏显示很简单,默认新建的工程,是支持左横屏,右横屏,竖屏三种方式的,若不希望横屏显示,只需要在工程的配置文件中删除掉横屏的两个item即可。

记得在:Supported interface orientations 有三个项的,items0,如果你要固定横、竖屏,记得将items0展开看一下,如果不是自己需要,就删除吧。我在设置横屏的时候,就不需要这个items0。于是将它删除了

Tags: ios

转:vps备份方案的选择--dropbox

最近在:http://mosir.org/ 的网站上发现一些好文章。比如这篇我要转的这篇。毕竟我现在用的就是VPS,用VPS的话,你也知道,最担心的是什么?有几点?

1、服务器的母机会突然挂掉(当然任何机器都会有这种情况)。怎么样快速转移,或者是有备份机?(小网站可能就是在等待了)

2、母机商跑路。这个嘛,在大家的VPS经历里还是会遇到过的。现在都是推荐选择大一点的供应商,比如virtualhost/linode/ovh等。我现在尽量不选择太便宜的,贵就贵一点,稳定。。。

3、备份,你总不能完全相信说服务器商对你说的,都是用的raid1服务器吧?总有万一的时候,这时候怎么办?

其实早些年都有一些脚本在网上流传,比如,mysql定时备份,自动发邮件到自己邮箱。(小网站都没问题,mysql最多也就上百M,每天增量的话,也没多少,就算全量,现在的mail其实也完全可以。大不了再压缩一下。大不了再切割一下,总能解决),对于代码什么的,现在都会想着是git发布/svn发布等,代码也能够保存在本地。然后附件直接存储到第三方。所有的就都解决了。但毕竟这样是存储在多个地方了。

于是这才是我转贴本文的原因,原文来自:http://mosir.org/html/y2012/use-dropbox-backup-vps.html

XML/HTML代码
  1. vps的定期备份是一件很必要的工作。大多数idc并没有提供免费的vps备份空间,这就需要我们自己来完成这个工作了。  
  2.   
  3. 一般情况下,得自己打包需要备份的数据,然后下载到本地,但这太麻烦。也有人通过lftp及脚本工具将需要备份的数据上传到某些ftp服务器上,但这也不稳妥。想找个稳妥的方法似乎只能出钱买备份空间了。  
  4.   
  5. 还好Dropbox提供了比较大的免费空间来让我们备份数据,申请了帐号后,只有2G空间,但可以很容易的扩展到20G左右,用来备份vps上的程序和数据也够了。如果需要更大的空间,可以考虑购买。  
  6.   
  7. 当然,靠谱的网盘有不少,但使用起来方便的并不多。这里就只考虑dropbox了。  
  8.   
  9. 在vps里的安装方法很简单,官方的说明在这里:https://www.dropbox.com/install?os=lnx  
  10.   
  11. 步骤如下:  
  12.   
  13. cd ~ && wget -O - "https://www.dropbox.com/download?plat=lnx.x86" | tar xzf -  
  14. 这会在vps服务器上当前用户目录下创建.dropbox-dist目录并解压所有所需文件。  
  15.   
  16. 接下来运行dropboxd  
  17.   
  18. ~/.dropbox-dist/dropboxd  
  19. 它会自动在用户目录下创建Dropbox目录。  
  20.   
  21. 然后你会看到不断出现类似这样的提示:  
  22.   
  23. This client is not linked to any account...  
  24. Please visit https://www.dropbox.com/clilink?hostid=6a57828b2191161aea851e72a48f8451&cl=en_US to link this machine.  
  25. 不要中断dropboxd的运行,将https://xxx链接复制出来,打开浏览器登录你的dropbox帐号,再把这个链接复制到浏览器打开,将vps机器加入到你的帐号中。  
  26.   
  27. 然后,有什么需要备份的打包后丢到~/Dropbox目录下即可。  
  28.   
  29. 因为dropboxd大约要占用2XM~1xxM的内存,所以同步完成后,按Ctrl-C中止其运行即可。  
  30.   
  31. 也就是说需要备份时运行dropboxd,备份完就中止它。  
  32.   
  33. 如果vps内存充足,也可以把它作为一个服务运行。可以下载官方的控制脚本:https://www.dropbox.com/download?dl=packages/dropbox.py,编辑rc.local,加入  
  34.   
  35. /yourpath/dropbox.py start  
  36. 这样,vps启动后就会自动运行dropbox,保证只要有新的备份文件被放到Dropbox目录就立即被同步到dropbox网络存储空间里去。  
  37.   
  38. 如果只希望同步dropbox目录下的某个子目录,或不希望同步某些子目录,可以自己参考修改dropbox.py,大约在1105行,这里有个排除列表的函数及使用说明。  
  39.   
  40. 完成。  
赞。过两天试试

 

Parallels Desktop 7将不支持Mac OS X Mavericks

收到这封邮件的时候,心都碎了。

--- 

MAC PARALLELS DESKTOP 7 用户紧急服务通知:

如果您打算升级到即将发布的Mac OS X Mavericks (10.9),请注意Parallels Desktop 7将不支持Mac OS X Mavericks(10.9)。您将无法启动您的Windows虚拟机,或者在Parallels Desktop 7上直接使用您的文件。

在您安装OS X Mavericks之前;请升级到Mac的Parallels Desktop 9,因为它是现今唯一可用于Mavericks的版本。

立即升级Mac Parallels Desktop 9。

---EOF

心真的是哇凉哇凉的呀

Tags: pd

hostname的笔记

重启apache的时候报错:

/etc/init.d/apache2 restart
[....] Restarting web server: apache2apache2: apr_sockaddr_info_get() failed for (none)
apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1 for ServerName
 ... waiting apache2: apr_sockaddr_info_get() failed for (none)
apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1 for ServerName
. ok
 
看到这个(none),让我想起,我的ssh的登录路径:root@(none):~#
 
OK,在老鬼的提示上,用hostname函数进行了设置。问题解决:
root@(none):~# hostname
(none)
root@(none):~# hostname neatstudio.com
root@(none):~# hostname
neatstudio.com
 
--做个笔记 

[转]Think2Go戈登营首期review

关于think2go的介绍,我自己是写了一篇,但因为第一次写的内容不慎消失,后面是重写的。心情和精力都不佳了。

当然我写的已经不是原汁原味的,而是我自己的体会,因此给其他朋友的借鉴功能可能就会小很多,这不,有人就写了详细的:Think2Go戈登营首期review
 
以下是部分内容,详细的话,还是去点击上面的链接吧。。。
摘选 :

首先是谢大闪亮登场,为我们分享他用Go语言在盛大的CDN系统中的应用,大家鼓掌。

我觉得讲的主要内容上可以分两大块来看,一部分是从中心结点到IDC的文件分发过程,另一部分是用户请求到达之后的调度设计。

主要应用场景像什么游戏客户端的分发之类的。先说中心结点服务器到IDC服务器的分发过程。

谢大在讲这些东西时还给我们展示了一下代码,很赞!

上一部分的内容基本是内部传输部分,从中心服务器分发到IDC。接下来是另一部分,调度器的设计部分。

调度器设计就是要考虑,根据网络情况,地理位置,当前各个服务器负载等等,来一个下载请求,决定取哪一台机器给用户提供下载服务。

CDN的基本技术,就是通过用户的IP段,查找他属于哪个网络,电信,网通?然后分配相应网络的服务器给用户提供下载。他们以前的做法是,只要找到同网络的服务器后,随机分配一台给用户提供服务。随机分配存在的问题是,服务器的负载不均衡,可能有的机器忙不过来了,而另一些却闲着。

盛大有个IP库,记录了各个IP段所处的网络,对应的分配服务器。这个在代码中谢大是用treap数据结构体存的,treap是一个kv数据结构,通过二叉树进行查找,通过一个随机权值保证树的平衡。我尚不明白这里为什么选用treap数据结构。使用treap数据结构的结点权值,和服务器负载之间是否有关系?不是吧(期间我去WC了,这里漏了一些内容)。

现在添加了负载分配的部分,会给服务器加上状态。比如优先挑选同网络服务器上负荷较低的机器,如果各个机器负荷都是中等的,则随机挑选一个。如果都到满负荷了,这时则不局限于同网络了,从全局服务器中随机挑一个,总不至于给用户返回404吧。

据谢大称,用Go语言实现以后,目前的系统相比以前的传输速度大大提升,传大文件速度是几乎原来的十倍了,小文件的提升也有30%。用户下载也明显变快了。最后谈到了下阶段可做的优化。其中有一点就是处理上行和下载之间的带宽。有时候几十G的文件任务啪一下就过来了,目前是没有限制的,这样会占用大量带宽,对已在进行中的用户服务造成影响。

接着是邵天宇带来的分享。其实我个人觉得他分享的内容跟Go语言的主题并不算太搭,个人觉得他项目中做的很多事情选择别的语言,别的开源库可能会做得更好,并没有突出Go语言的优势,选择Go只是他强烈的个人偏好而已,这个我持保留态度。这是这位同学第一次做这种分享,不管怎么样,即然使用了Go也算是Go语言的实践了,并且内容方面我认为还是比较精彩的。

微博数据分析中,我觉得可以分以下部分看吧,先是数据源的获取,接着是数据存储,然后是数据分析。

他先给我们介绍了他的开源库的选型。数据源的获取中,他是自己写的爬虫抓取微博的数据,给我们展示了Go的interface在这里的使用,一个url加一个handler。分词和索引方面之前他尝试用wukong的Go语言开源库,但是这个库有个问题是不做持久化,数据全部存放在内存的。内存占用量非常大,在与作者沟通并没得到满意的解决之后,转而使用Es..search(名字记不清了)【是:Elasticsearch + IK 。列举了好多的开源项目,相信他是做了不少的调研工作。

还提到了他们以前系统是用php做的,硬件用的16核CPU,32G内存,而现在改用Go语言之后只用普通的PC机就能跑了。他还列举了好多数据,微博的活跃用户数啦,抓取的记录数啦,各种...反正是用数据说话,不明觉历啊,呵呵。【在这里我要提一下,他说原来是用python的

golang与高强度在线服务

由韩拓给我们分享的,标题临时换了一下,他坦承"golang与高强度在线服务"这个标题有点太装B了。这个分享就比较高度抽象了,没有谈具体的项目,算是一些Go的使用经验吧。

中间有很多,我能记得的包括他们公司的panic是不能抛到进程级别的,必须在goroutine捕获。

像内存使用方面,不使用Go做大内存(大于1G)的服务。合适的东西做合适的事,这是我的感触,比如Go+memcached。主要是Go的垃圾回收不算完善,大量内存分配,回收时会卡。而C语言写的像memcached什么,肯定更专业。

http作为最基本的通信协议。

cgo是尽量避免不要使用的,即使像音频视频转码这类的,只有C的库,他们的做法是用C程序写成服务了让Go去调。

还有什么内存对齐,大多都是七牛公司踩过坑之后约定的一些使用习惯。给我印象比较深的是他们的log处理,他们重写了log的包,提供程序log和事务log两类日志。

---

更详细的请看上述链接。比我写的好多了啦 。