Misuzi's Nest

Never believe in fate but keeping trapped by Karma

Home Categories About Link

We can't find the internet

Attempting to reconnect

Something went wrong!

Hang in there while we get back on track

Misuzi's Nest

Tag: Ukagaka

1 published posts

03 Mar

搞定偽春菜

2011-03-03 · 102 comments

下午用了3个小时左右搞定,最近除了看连续剧外,花了比较多的时间在整理英语写作中的常见错误。下一个准备搞的就是可分类整理的豆知识笔记。主要参考TWITTER的模式,以可分类TAG的形式写TWITTER来可随时更新整理自己的豆知识。TWITTER对于交流,广告还有××来说还是很不错的,对于这种用途就显得有些局限了。虽然LIST和FAVORITE可以解决一部分问题,不过还是显得有些麻烦。

伪春菜的实现还是比较简单的,前台直接抄用了WP插件的CSS和主体布局。仅仅重写了JS加载部分和后台的JSON FEED部分。目前仅仅剩下安装后自动初始化春菜的一个CONFIG没有完成。因为短期内不打算把BLOG抽象化出来,所以暂时不着急补充。源代码估计也会在RAZERBLOG彻底完成后一起放出来。

这里仅仅做一个简单的记录。

JSON传输形式:

publicMessages:[],

ukagakaList:[],

returnData:{},

ukagaka:{defaultMessage:"Welcoming Here!",

title:"Ukagaka",

image:"/static/Ukagaka/images/default.png",

messageList:["Welcoming Here!","Go Mavs!"]},

 

这是传输过程中的主体传输部分。WP的插件大致看了下,往返传输的对象包括春菜名成,春菜图片地址和春菜的MESSAGE LIST。本身想仿照那个来写,后来因为考虑到可能在未来的应用上加上SOAP应用,所以最终放弃了原计划,写成了如上的形式。

这里不仅感慨下,DJANGO的GENERAL FOREIGNKEY真是好用,后台ADMIN如果再用JS来简化一下操作的话,就更是PERFECT了。

顺便感慨下,数组解析这个API,实在是太方便了。这个语句

defaultMpu=Ukagaka.objects.get(pk=1)

defaultMpu={"defaultMessage":defaultMpu.default_message,"title":defaultMpu.title,"description":defaultMpu.description,"image":defaultMpu.image.url,    "privateMessages":[msg.text for msg in defaultMpu.privatemessage_set.all()]}

 

如果用JAVA来写的话,至少需要走1个循环而且包括很多看着麻烦的赋值语句。代码数量和复杂度要比这两行要复杂的多。而这两行却包括了下列内容:

第一句比较简单,通过DJANGO包装的ORM取回了一个UKAGAKA对象,也就是一个春菜对象。

因为前后台数据传输是JSON数据,第二行通过一个简单的字典解析对第一句取回的春菜对象进行了重构,取出了需要传输的部分 。

下面简单说一下:

外面的大括号代表返回的是一个字典对象。其中defaultMessage,title等等都是字典的KEY,冒号后面的值是字典解析过程中的变量。这样一次字典解析就可以把一个复杂的对象还原成一个可通过JSON简单读取处理的可SERIALIZE对象。而其中的privateMessages的 VALUE部分则应用了数组解析的技巧,外面一个[]说明返回的是一个数组,同时内部数组解析走了一次循环,同样的技巧还可以包括一个或多个IF语句来进行属性判定,来筛选最后返回的数据。

不管是 看起来还是写起来,PYTHON只给人一种感觉,那就是EASY BETTER THAN DIFFICULT,CONCISE BETTER THAN VERBOSE。 对于METATYPE的动态元类,自己还掌握的不够,有时间去读一读PYTHON的源码,估计会有一些感受。

 

还有,过一阵还得把GALLERY的功能从POST里分离出来,现在这个管理图片太麻烦了。。。。。

 

Search

Feeds

All posts Comments

Recent posts

  • 2026,复活
  • Dualwan(Tomato)或DDWRT上架设pwx-dns-proxy
  • 新年祝福——附恋物语随笔(剧透有)
  • 论坛微博化的一种实现的可行性
  • Ninjakit for safari修改版本

Categories

  • Anime
  • Galgame
  • Games
  • GeekTools
  • Language_Learning
  • Life
  • Literatures
  • Mavericks
  • Private
  • Technology
  • Uncategorized
  • WPFriend

Tags

2011交易截止 Air Aria2atom Bilidown Birthday Bite_me! Bookmarks Complain Django EP Emotion English Falcom GFW GM_Script Gal JSMC Life Links MACOS MCATOM Mavericks Mavs Milestone Music NBA OPENFIRE PAC PSP Python RazerBlog RazerGallery Razerblog Reading Rhetoric Study_Plan TORA Timestamp Tools Tora Travel Tunnelier UBUNTU Ukagaka Wordpress XMPP Xmarks ajax aria2c bt delimiter.us dreamhost goDaddy ipv6 linux perl scripts ssh vps web  日本語 ぐち ガールゲー ゲーム ツッコミ パッす守り ミパ ムンケーキ 中二病 主机 伏見 参った 发布 哲学なんで大嫌いだ! 年度总结 废柴命 悲しい 愚痴 憂鬱 技術ファーマー 撒花 教程 日本語 日記 漫罵 生命 绿坝 習俗 翻译 语言 趣味 轻小说 頭痛い

Copyright © 2010–2012 Misuzi's Nest

Powered by Phoenix. Designed and created for the RazerBlog archive.

Feeds Email