每天都很忙,但是不知道在忙撒。事情非常琐碎,我找不到成就感,这让我觉得很可怕。
技术几乎没什么长进,我明知道很多地方有更好的实现方式,但是,我没有时间停下来去优化。开始的时候我会跟自己说,等这阵子忙过了,再回过头来处理,但我已经渐渐的失去了耐心,因为总是忙不完。
工作三年来,第一次感到迷茫,似乎离我的目标越来越远,应该以怎样的姿态来对待现在的问题?在一个有梦想有激情的团队,自己却觉得没给这个梦想创造多大的价值,这有多郁闷。
今天终于收到了《Google Android SDK 开发范例大全》,迅速的配置好了开发环境,写了一个hello world。
发现这本书完全是围绕示例来写的,完全没有系统的总结,我就把学到的内容加上网上的搜索把一些知识点总结一下,记录再这里,方便自己以后开发的时候查询。
Android 的layout是通过xml配置的(这让我想起了Flex中的界面),而且也有样式表(不是css,也是一个xml)。
一段布局代码:
Android 的布局类型有五种:
再看一个采用TableLayout布局的例子(3行2列):
把页面中的img标签的src设置为“”存在巨大的风险,无论是在html中写入
<img src=”" />
还是在js中写入
var img = new Image(); img.src = “”;
出现一次这样的标签会导致向你的服务器多做一次请求。
在一个访问量不高的网站中,多一个这样的请求也无所谓(甚至可以让你的网站浏览看上去翻番),但在一个千万级访问量甚至更高的WEB站点里,这样会导致你的服务器和带宽的成本显著增加。 另外一个隐患是,重新请求某个页面可能会导致用户的一些信息被无意中修改,例如cookies,或者ajax操作。
我并不这么认为,很多时候这种情况在无意中出现,比如下面这段php代码:
<img src="$imageUrl" >
你原计划是从服务器端读取这个src地址,但是由于某个原因,这个地址还未设置,或者代码的BUG导致读取失败,就会出现空的src标签。
好消息是,在IE中只有image标签有这个问题。坏消息是,在Chrome, Safari, 和 Firefox中<script src=""> 和<link href="">都会导致出现一个新的请求。
可以从两方面着手,一是尽量避免这种坏的编程方式,不要出现空的src标签。另外,可以从服务器端着手,在发现时这种无意义的请求时不要返回任何东西给客户端。
<?php
//Works for IE only when using path URLs and not file URLs
//get the referrer
$referrer = isset($_SERVER['HTTP_REFERER']) ? $_SERVER['HTTP_REFERER'] : '';
//current URL (assuming HTTP and default port)
$url = "http://" . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'];
//make sure they're not the same
if ($referrer == $url){
exit;
}
?>
原文网址:
综合了多个框架的优势,希望能给各位开发人员带来更大的方便。
由于框架刚发布,会存在很多不足之处,我们会在后续不断推出新的版本,也希望大家有任何意见或建议与我们联系。
Email/Gtalk/MSN: KevinComo@gmail.com
昨天晚上一口气读完了。书很薄,只有十万字左右。但是写的非常不错,翻译的也很流畅。作者以一个工程师平实的语言、从局内人的视角,描述了这个传奇的web2.0网站初期的爆炸性发展。
如果自己缺乏创业的能力,能有幸见识并亲身体验到一个伟大公司的诞生也是一段值得回忆的事。而其中对“寻梦”这个主题的描述,我觉得对想要创业的年轻人会非常有用,对那些对自己的职业规划不清晰的人也非常有用。
以下内容节选自“《从零到百亿Facebook创业故事》”
“要想找到属于自己的创业梦想,要么从头做起,要么发现一个刚刚起步但却前程似锦的创业团队。
发现这样一个创业团队需要两个要素:运气和判断。我是非常幸运的,因为是Facebook找上了我。不过正如人们所说的那样,幸运之神只眷顾有所准备的人:我一直是LinkedInr的忠实用户。而判断这部分,对我来说也很容易:因为Facebook在很多大学校园里已经相当流行了,显然,它也会很快在其它校园里流行起来。我真的希望你也能像我这样容易地找到你的创业梦想。
1.在我之前加入Facebook的每个人,同扎克之间都是很知根知底的。从这里你该学到,要紧跟你那些才华横溢的朋友,并且鼓励他们去成功!
2.紧跟所有有才华的朋友并不现实,所以要能够明智地取舍。如果某个朋友恰好有个让你激动万分的创意,你就该好好想想,自己怎样才能不遗余力地帮助他实现这个创意。
3.一旦你加入了团队并且感觉良好的话,要努力让自己变得对团队不可或缺。团队的创始人所需要的,是能够完全信赖的高效的执行者,是能够了解其心意的人。开创一个新的公司,有太多的事情要做。创始人头脑中的想法——如果你能够很好的实施的话——才是最有价值的。相比之下,你对公司应该怎样动作的想法,只会是不合时宜的捣乱。
4.要有很强的适应力。熟悉掌握那些最需要的技能——不论它是什么。年轻人在这方面有绝对的优势,而且是得天独厚的优势。达斯汀还在“睡在我上铺的兄弟”时代就成了扎克的左膀右臂。是他把站点扩张到了所有的校园,一路上披荆斩棘,学习一切需要的东西,包括编程和各中技术。
5.行胜于言。不要空谈,也不要质疑。只管去做。创业团队需要用最快的速度完成很多事情——不管是用什么方式。
“只管去做”这句话意味深长,它所体现的是一种态度,它意味着快速地做出抉择,并矢志向前直到达到目标;它还意味着不要无休止地询问应该怎样做,就按你认为是最佳的办法去做吧。没有多少时间可以留给完美主义;你的激情的态度才是关键。理智的人会考虑实际情况,特别是时间上的限制。
检验能够成功的标准:
那么,在你众多朋友们的好主意里,哪一个会成长为下一个巨无霸公司呢?
第一个检验标准就是激情。你的朋友要坚信他的主意是最好的,并准备投入自己的毕生精力。
第二个检验标准是未来的宏图能通过简单的几个小步骤来实现。一个创意,应该不需要很长的时间或大量的工作,就能够成为现实。即使再复杂的构思,也必须从一个易于理解和完成,单纯、简单的项目开始。如果这种从简单创意到宏伟图景的阶梯非常清晰的话,那是好迹象。相反,如果你的领头羊还不清楚首先要做什么以及最终完成的是什么,那就比较糟糕了。
第三个检验标准是能否得到参与者迅速、有力的支持。不同于艺术——一些艺术家们或许在生前从不被理解——流行的网站大多是在早期就获得了成功,并拥有一批真正理解和追随其宏图远景的铁杆支持者。第四人检验标准是低用户流失率和用户使用率的增长”
今天有个朋友问我一个小学生的奥数题,酒1元钱1瓶,2个空瓶子可以换一瓶酒,问20块钱可以喝多少瓶酒。我OUT了,我被鄙视了。
我不会,但是谁让我是写代码的呢,写了个小程序用来鄙视他。告诉他,我不仅知道20块能买多少酒,你就是20000块我也能算出来。
var allWine = 0; // 20块钱可以买20瓶酒
var otherBottle = 0;
//递归函数,瓶换酒
function bottleExchangeWine(bottle)
{
if(bottle % 2==1){ //保证瓶子的数量为偶数
if(otherBottle>=1){//若不为偶数,且之前有剩余的空瓶子
bottle += 1;//加一个瓶子
otherBottle -= 1;
}else{
bottle -= 1
otherBottle +=1;
}
}
var newWine =bottle/2;
allWine +=newWine ;
if(newWine>=1)
{
bottleExchangeWine(newWine);
}
return;
}
function getWine(){
otherBottle = 0;
allWine = parseInt(document.getElementById("txtMoney").value);
bottleExchangeWine(allWine);
alert("共有:"+allWine+"瓶酒,共有:"+otherBottle+"个空瓶子还没有换!");
}
Gif格式图片的特点:
透明性
Gif是一种布尔透明类型,既它可以是全透明,也可以是全不透明,但是它并没有半透明(alpha 透明)。
动画
Gif这种格式支持动画。
无损耗性
Gif是一种无损耗的图像格式,这也意味着你可以对gif图片做任何操作也不会使 得图像质量产生损耗。
水平扫描
Gif是使用了一种叫作LZW的算法进行压缩的,当压缩gif的过程中,像素是由上到下水平压缩的,这也意味着同等条件下,横向的gif图片比竖向的gif图片更加小。例如500*10的图片比10*500的图片更加小
间隔渐进显示
Gif支持可选择性的间隔渐进显示
由以上特点看出只有256种颜色的gif图片不适合照片,但它适合对颜色要求不高的图形(比如说图标,图表等),它并不是最优的选择,我们会在后面中看到png是最优的选择。
Jpeg
透明性
它并不支持透明。
动画
它也不支持动画。
损耗性
除了一些比如说旋转(仅仅是90、180、270度旋转),裁切,从标准类型到先进类型,编辑图片的原数据之外,所有其它操作对jpeg图像的处理都会使得它的质量损失。所以我们在编辑过程一般用png作为过渡格式。
隔行渐进显示
它支持隔行渐进显示(但是ie浏览器并不支持这个属性,但是ie会在整个图像信息完全到达的时候显示)。
由上可以看出Jpeg是最适web上面的摄影图片和数字照相机中。
Png
类型
Png这种图片格式包括了许多子类,但是在实践中大致可以分为256色的png和全色的png,你完成可以用256色的png代替gif,用全色的png代替jpeg
透明性
Png是完全支持alpha透明的(透明,半透明,不透明),尽管有两个怪异的现象在ie6(下面详细讨论)
动画
它不支持动画
无损耗性
png是一种无损耗的图像格式,这也意味着你可以对png图片做任何操作也不会使 得图像质量产生损耗。这也使得png可以作为jpeg编辑的过渡格式
水平扫描
像GIF一样,png也是水平扫描的,这样意味着水平重复颜色比垂直重复颜色的图片更小
间隔渐进显示
它支持间隔渐进显示,但是会造成图片大小变得更大
更多关于PNG
PNG8
256色PNG的别名
PNG24
全色PNG的别名
PNG32
全色PNG的别名
其它图片格式与PNG比较
众所周知GIF适合图形,JPEG适合照片,PNG系列两种都适合。
相比GIF
PNG 8除了不支持动画外,PNG8有GIF所有的特点,但是比GIF更加具有优势的是它支持alpha透明和更优的压缩。所以,大多数情况下,你都应该用PNG8不是GIF(除了非常小的图片GIF会有更好的压缩外)。
相比JPEG
JPEG比全色PNG具有更加好的压缩,因此也使得JPEG适合照片,但是编辑JPEG过程中容易造成质量的损失,所以全色PNG适合作为编辑JPEG的过渡格式.
Png8的在ie中的怪异表现:
1.半透明的png8在ie6以下的浏览器显示为全透明。
2.Alpha透明的全色PNG(png32)在ie6中会出现背景颜色(通常是灰色)。
由上面可以总结:
(a)全透明的png8可以在任一浏览器正常显示(就像gif一样)。半透明的png8在除了ie6及其以下的浏览器下错误的显示成全透明,其它浏览器都能正常显示半透明。这个bug并不需要特殊对待,因为在不支持半透明的浏览器下只是显示为全透明,对用户体验影响不大,它反而是透明gif的加强版。
(b)第二个bug没有什么好的方法解决,只能通过影响性能的方法AlphaImageLoader与需要加特殊标签(VML)。
因此得出结论就是:请使用PNG8。
Png8的软件问题
1.Photoshop只能导出布尔透明的PNG8。
2.Fireworks既能导出布尔透明的PNG8,也能导出alpha透明的PNG8.
3.pngquant与pngnq这两个命令行软件可以转换全色png为256色的png8。
例认为打印出girl 和boy结果是什么?
boy ====> ["johu",['male',22]]
girl ====> ["lily",['male',22]]
为什么名字相互之间没有影响,而性别和年龄之间有影响呢?这是因为该列表中的第一个元素是一个字符串,是一个不可变的对象,一旦对其修改,就会独立生成一个新的对象。因此当拷贝的时候,字符串被显示的拷贝了,而列表只是拷贝了一个引用。
那么,如何实现深拷贝?
在copy模块,有一个deepcopy()方法,可以轻松实现深拷贝。
由于公司的服务器端用的是Python,所以决定抽点时间熟悉一下,也好在以后的工作中能和其他同事有比较好的配合。
我主要是把Python和其他语言(特别是Javascript和c#,因为我熟悉)一些不一样的特性列出来。
首先说一下对Python的大体印象,Python和Javascript一样是解释性的语言,也是弱类型的语言。同时也是面向对象的一种语言,一切皆是对象:甚至字符串,变量,函数,都是对象。Python的设计也非常酷,用起来很灵活,习惯使用Javascript的人,一定会爱上Python
这里 range(obj1,obj2)为内建函数。obj1不提供默认为0,obj2不提供默认为1,返回一个从obj1到obj2的数组
今天先到这里,未完待续
12/29 更正:感谢butterinsect ,我确实没有弄清楚,python是强类型的语言,确切的说是,python是隐式类型的强类型语言。也就是说,在声明变量的时候,不需要显式说明它的类型,但是在Python里,是有明确的类型的概念,而且不同类型的对象不能相互替代和操作,比如:
>>> 10 + '20'
会出现错误 TypeError: unsupported operand type(s) for +: ‘int’ and ’str’
Taobao DPL
最近评论