Register  |  Login

杂项

对DNN及其相关本网站的一些琐碎事情。

通过Google AppEngine搭建代理登录Twitter

好久没更新这里的博客了, 实在抱歉, 也一直在研究DNN, 也有些心得和经验可供分享,不过困于自己的懒惰和懈怠, 有时想着想着就忘了,哈哈 :) 今天在此声明一下, 以后可能本博客将稍微改变一下方向, 就是不再只关注技术,有时也不妨分享一些自己的生活感想和其他非技术的, 将有点杂七杂八。生活本该丰富多彩嘛  :)

其实这段时间都在折腾twitter来着, 因为这些好东东都被国内和谐了, 无奈有些翻墙或代理也不怎么管用, 有时也罢工来着, 终于在昨日找到一个目前觉得最合适的方式,通过Google AppEngine搭建代理(不妨参考这篇文章Google AppEngine搭建代理,我都是照猫画虎给整上的),速度不错,而且长期有效并有可控性(都是自己的东西)。不过唯一缺陷是没法直接登录Twitter, 权宜之计就是借助一些国外可以直接访问的第三方客户端,比如ShareBox, 手机也是可以直接上twitter。通过Google AppEngine搭建的代理服务器,你还可以在博客里边部署一些关于twitter的插件,比如实时的Twitter消息, Retweet按钮等等。全力推荐,值得信赖。

好了,今天就聊聊几笔,算是重新开始博客的征程了。随便推荐一下这篇关于如何写博客, 特别是技术的文章博客二三事, 本人基本同意其观点。 还有这篇有点炒作但有些看点的文章腾讯做互联网之水:从马化腾多元化遇挫说起,看看想想,保留意见 :)

分享jQuery技巧

jQuery: Write Less, Do More.

分享一些在项目用到的jQuery小技巧, 对自己做个记录,对别人也许有些帮助, 比如判断所获取的文档节点(element)是否存在, 如何判断Checkbox是否选中, 如何进行下拉框或下拉菜单(dropDown, select)等的相关操作等等。

黑暗的艺术: CSS Hack

何谓CSS hack ? 由于不同的浏览器,比如IE6,IE7,Mozilla Firefox等,对CSS的解析原理不一致导致生成的页面效果千差万别,此时我们需要生成不同的样式让其兼容不同的浏览器,并得到理想的效果。在此分享一些CSS Hack,希望对大家有所帮助。

简洁代码之哲学(摘录)

作为开发人员,我们的首要任务是写出能够工作的代码。但是,仅仅“能够工作”还不足矣,为了能够持续提供真正的价值,代码一定要简洁。

什么是简洁代码

简洁代码不仅仅是人们所希望的,并且是必须的。如果代码不简洁,开发的速度就会越来越慢。直到有一天,修改代码所引发的不确定性、痛苦感和挫败感会使团队宁愿重写所有代码。但是,如果重写的代码不能比原来的代码更简洁,那么同样的问题还会存在,几年后整个团队依然会在开始的地方打转。

每个人对简洁代码的理解会有些许不同。但其中仍有共通之处:简单、无重复、易读、优雅。具有这些特征的代码易于维护,可以打破开发速度下降然后重写的怪圈,并能够持续提供真正的价值。

简洁代码哲学

“问题不在于代码是否简单,而在于代码能够在多大程度上脱离上下文仍能表达意图。”

“作为代码的作者,我们的目的是让代码尽可能的易于理解。我们希望读者能够快速阅读我们的代码,而不是细细地研究。我们希望读者能够通过代码直接理解我们的想法,而不是辛苦的挖掘代码背后的含义。”

“编写函数的第一个原则是,函数要短小;第二个原则是函数要更短小。”

“不要害怕使用较长的命名,有意义的长命名要好于莫名其妙的短命名,同时也好于冗长的注释。”

“好名字的价值如何估计都不为过,记住Ward原则:当每一个子程序都只做它应该做的,你就拥有了简洁代码。编写简洁代码过程中,有一半的任务是为短小的函数选择正确的命名,函数越短小、越内聚,就越容易给它起一个有意义的好名字。”

“副作用其实就是说谎,你的函数本来要做一件事,但是却偷偷做了其他的事”

“编程的艺术一直就是语言设计的艺术,编程大师将系统看成是故事而不是程序,他们使用他们选择的编程语言来创建一个更复杂更具有表达性的语言,来讲述这个故事。”

(转载)掌握JavaScript语言的思想前提

对于JavaScript的学习,可能最重要的还是要从思想上认识到JavaScript不是玩具语言。JavaScript的作用远不止增加点表单验证,我们可以看看GMail、看看Google Maps,如果开发者们没有对JavaScript足够尊敬,是不大可能写出如此优秀的Web应用的。

jQuery插件开发: equalizeCols Plugin

在开发web应用中, 自从我们抛弃了基于Table的页面布局后, 创建同等高度栏目或内容盒子的视觉效果(多是处于UI美观的考虑)已然是一个挑战, 在此推荐一个jQuery插件, 使得在同一个容器里“平衡”盒子的高度成为一件很简单的事情,从而修正了浏览器之间的差异, 还一个漂亮的UI.

SunBlog更新:增加3D Tag Clouds插件

wp

如果你用过WordPress的博客应该都知道有一个很著名的插件WP-Cumulus WordPress plugin, 这也是一个3D Tag Coulds插件, 它通过Flash+js来展现Tag或目录的标签云效果, 超炫且极为实用, 而这也是我偶然发现, 觉得效果不错并对SunBlog有借鉴意义, 因为之前我也曾有JQuery来实现有些动画效果的标签云插件, 故现在手痒把Flash也整合进来, 如此用户就有更多的选择和效果呈现了, 经过一个晚上的努力终于把这一插件开发出来, 无缝的整合到SunBlog里边, 目前发布了Beta版本做个Demo, 即将开发的功能包括:

1) 用户可设置标签云呈现相关选项, 比如宽度, 高度, Tag颜色等等 (已完成, 更新于2009-02-15)

2) 整合JQuery Flash Plugin, 不用默认的SWF Object脚本, 简洁方便.

3) 独立成一个控件组件,  也许DNN其他模块也可以用到.

4) 更好的支持中文Tag呈现

SunBlog 3D Tag Coulds插件 Demo

相关链接:

Wordpress标签云插件: WP Cumulus

3D Flash 标签云插件 WP-Cumulus

3D Tag Clould 插件的实现技术描述:http://www.roytanck.com/2008/05/19/how-to-repurpose-my-tag-cloud-flash-movie/

如何使WP-Cumulus插件支持显示中文标签云

Javascript版本的StringBuilder

众所周知, C#或其他一些纯粹的面向对象编程语言都存在StringBuilder这一类型, 这是因为字符串在内存中是不可变的。这意味着, 如果为了得到第三个字符串而连接两个字符串时, 在一个短暂的时间内, CLR将会在内存中维护三个字符串的实例。为了缓解这种因字符串连接而带来的性能问题, 同时为了给字符串连接操作给予编程工具支持, .NET框架提供了一个名为StringBuilder的类。通过使用StringBuilder类来动态创建可变长字符串, 可以避免因CLR中的字符串的不可变性而带来的问题, 如此编写的代码通常会更容易阅读。而今天我们要提到的是解释型语言javascript下的StringBuilder, 大家都应该知道javascript只有原生类型String, 而并没有StringBuilder, 在此我想分享的就是扩展的StringBuilder版本。

如何借助JQuery封装HTML SELECT操作?

最近一直在开发Asp.Net MVC项目, 对DNN稍有松懈, 不过由于所有技术都有相通和借鉴之处, 故在学习MVC框架的同时也对DNN有了更深的认识, 由于MVC模式对UI和前端界面的交互有更多的掌握, 需要你更多控制界面上的HTML元素, 包括布局控制和如何呈现等等. 在此想分享一点JQuery在MVC模式下(当然你在其他项目也是可以用到的, 比如DNN或传统的Asp.Net form)如何操作HTML SELECT元素。

jQuery插件开发: Watermark Plugin

最近在研究SunBlog和jQuery的整合, 不敢说有很多成就, 到此为止算是刚入门吧。jQueryjQuery最让我欣喜的是其插件式的开发模式, 这一点几乎和 DNN的模块概念同出一辙。我将陆续写些文章阐述DNN和jQuery, 比如如何开发插件(jQuery Plugin), 如何利用Ajax方式调用Webservice,如何优化UI等等, 今天就简单说说如何开发jQuery插件。

DotNetNuke最新架构图

分享一下最新版本的DNN架构图, 这是Dang最新设计的design, 顺便Show一下本站点"SunBlog"最新应用的facebook模态窗口的效果(如果你经常上开心网或facebook等SNS网站的话就会发现类似效果的窗口). 关于DNN架构的应用请查看我之前的文章:DNN Object Hydrator -- CBO解析
初始:(点击查看清晰图)

最新:(点击查看清晰图)

(转载)上SNS,是社交,还是玩游戏?

原文地址: http://longthi.blog2.cnool.net/Article/2008/11/15/305897.html SNS,已经不是一个什么新鲜的词语。社会性网络服务:通过网络帮助人们建立社交关系的网络载体,可以说是web2.0时代最优秀的产物,应用“六度空间”理论创造的可以建立社交关系,维持社交关系的平台。 从大方向上来讲,SNS是很重要的使网络走向真实化的网络服务,但是,在几个月内,这么好的环境被马上破坏了,甚至有人开始质疑SNS可能就是昙花一现。 从SNS,我得到了很多! 个人接触SNS算是比较晚的了,从今年年初才加入了校内的行列。刚开始在短短的一周内,通过校内就联系上了很多的老同学,老朋友,我感谢SNS给我的帮助,并且通过SNS,能够维持好身在异地的朋友间的交流和感情。 每天谢谢日志,分享下PP,随便书写下心情,交流下情感,这是个不错的环境,从维持社交关系上讲,SNS的确比任何其他服务更具有优势。 有时,大家会为了一个话题争论不休,从各自朋友的评论中,又可能发现志同道合的朋友,并建立起新的社交圈。群组,圈子,聚会,等等这些,借助SNS的平台发挥着相比博客更大的力量。 小游戏充斥了SNS 自从5月左右开始,小游戏等娱乐性组件就开始充斥着各大SNS,甚至成为一种趋势,每天本来更新好友日志的地方,刷屏一样的更新游戏动态,本身只有好友邀请和留言回复的通知,开始刷新出几十几百的游戏邀请通知,甚至到了你今天不接受邀请,明天就会同样出现几十个的同款游戏的邀请。 朋友们更新的日志数量开始减少,上的PP也少了,每天上SNS的目的仅仅是为了今天车子停够时间了,换个位置收下钱,或者上来打个工,别明天付不起房租,或者就是挑逗一下买来的好友,赚点小费...无聊,弱智...当然也有没这么傻瓜的,各大网页游戏商打入的第三方组件直接联系上各自的网页游戏,SNS也成了网页游戏玩家最重要的来源途径。 是的,小游戏,第三方组件等等的引入的确在一定时间内激起了用户对SNS的新鲜感,但是这种新鲜感降低后,带来的是给SNS更沉重的打击,原有忠实用户流失更加严重,新用户因为抱着社交的目的来到这里却发现被骗来玩小游戏便失去兴趣,根本不会再次光顾。 社交功能被淡化,SNS发展模式问题严重 当我们的开发商正在积极的开发成百上千的组件应用时,是否有分析过用户的心理,用户的需求?的确,组件是个不错的方式,可以创造各种 ...

About the author
Baldwin's Status
 Contact Me
Baldwin Sun
Senior Developer for dnn solution & founder of SunBlog module...
网站主页
dnnsun
最新评论
  1. Re: "暴力"解决DNN无法登陆的问题

    你好 有个问题 我改了登录界面后能登录 但是一点注册 就跳到了HOME页 这个怎么解决

    --zl24622

  2. Re: 你的dnn站点慢了么?

    需要你把旁边的checkbox勾选上再执行 :)

    --Baldwin

  3. Re: 你的dnn站点慢了么?

    为什么,我将你的代码copy到host>sql中去执行之后,报错呢,语句是不是有问题哦?

    --claire

  4. Re: 剖析DNN架构-开篇之作

    很好

    --vling83

  5. Re: SunBlog更新:增加3D Tag Clouds插件

    在以上评论已说明, SunBlog已经是一个成熟的商业模块,如果需要授权或下载请邮件联系我们, 感谢你的关注, 我们即将推出一个demo的站点(这周之内).

    --Baldwin

  6. Re: SunBlog更新:增加3D Tag Clouds插件

    这个没地方下载的吗,要怎么才能下载到,谢谢

    --Sun key

  7. Re: SunBlog更新:增加3D Tag Clouds插件

    已经电邮您了,请注意查收

    --sunny0315

  8. Re: 如何添加DNN模块的自定义权限

    你只要设置好该节点即可, 比如:DnnSun.SunBlogNuke.Business.InterfaceController, DnnSun.Modules.SunBlogNuke 其他的请再详细看看本文,我觉得说得蛮清楚的 :)

    --Baldwin

Blog搜索
Rss Feed
feedsky
抓虾
pageflakes
newsgator
哪吒
相册库
更多照片请查看相册库
我们的服务
  • DotNetNuke 咨询
  • Web设计及其模块开发
  • 免费建站
  • 电子商务
  • 开拓市场
我们致力于开发定制的web 2.0 ,所服务的客户主要包括小中型企业,社区俱乐部及其非盈利机构组织。我们将利用开源的DNN作为我们核心的系统机制,更多相关信息...
版权声明
本站任何言论仅代表个人观点,与作者所在的公司没有任何关系,所有贴子皆以“现状”提供且没有任何担保,同时也没有授予任何权利。