手动移除QQ2013广告 [更新解决弹出错误]
作者:V君 发布于:2013-12-14 18:31 Saturday 分类:折腾手记
手贱乱搞把用着的搞塌了 登录不能 逐重装, 又要再一次手动去广告了让Windows中的CMD可以用Linux命令ls和tail
作者:V君 发布于:2013-12-12 15:38 Thursday 分类:折腾手记
V君一边玩树莓一边用Windows 经常搞混shell和cmd的命令
其实是dir敲起来没有ls顺手啦 (pia
一步步在Windows2003安装Subversion服务端
作者:V君 发布于:2013-11-30 13:36 Saturday 分类:折腾手记
公司一直使用一个叫做sourcegear的源码管理
这货是基于SQL的, 客户端插件界面略丑, 签出/入操作会将界面卡死, 偶尔还会拖垮SQL服务器
找了个机会将SVN介绍给它们, 得到许可后在服务器上安装配置顺便写下这篇博文
由于V君在树莓上已成功配置起SVN, 整个过程轻车熟路~
[原创]基于文件系统的轻量级单机数据库引擎
作者:V君 发布于:2013-11-27 15:16 Wednesday 分类:折腾手记
V君一直在对单机桌面小程序数据存储纠结, 你说.net自带的序列化吧, 由于封装过度不灵活, 实体结构改变的话不晓得会发生什么问题...
你说SqlCe吧, 这货支持Linq2sql确实不错, 但... 这货在建表之后不能改字段名称(至少设计器不行...) 最要命的是平台依赖, 不能跨平台到mono...
再说SQLite吧, 这货足够“适用”了吧? 我的答案是 -- 还不行! 对于V君这个用贯了Linq查询的无脑码农来说, 手写SQL什么的早就不想玩啦... 试过套上 DbLinq 来操作, 结果发现 DbLinq 还有很多不完善的地方, 像子查询什么的直接爆出“未实现” (什么? 你说上SqlServer? 拜托! 一个小程序你扯这么重量级的玩意...)
够了! 自己写一个吧!! 能用Linq的跨平台的单机数据库!!!
构思做一套自己的wiki系统 (元芳快来告诉我你的看法!)
作者:V君 发布于:2013-8-31 18:17 Saturday 分类:折腾手记
V君老早就想建一个属于自己的wiki了,
用于刊登各种电脑故障解决方法和操作技巧以及各种概念提纯什么的
因为V君人际圈中太多小白, 每次都要从头开始解释, 这让v君略不耐烦
你可能会问为什么要自己做?
因为V君的树莓派服务器跑不动MediaWiki... V君很喜欢MediaWiki的页面布局
查找对比了很多个wiki引擎都不满意
干脆自己捏一个吧! 使用完全静态页面, 每逢内容更新就生成一遍.
概要设计:
+ 自己组织的内容
* 使用数据库或者直接打散到文件系统
* 维基百科有的定义可以直接外链引用
+ 使用以上内容生成静态HTML
* 仿照MediaWiki布局
+ 贡献内容
* 开设一个投稿入口, 审核后采用
- 详细设计 -
预定义目录结构
WebRoot
|-resources //公共资源
...|-theme.css
...|-common.js
...|-sprite.png
|-index.html //首页(手动指定特色条目/分类导航/最近更新)
|-entry1 //条目1
...|-index.html //条目1内容
...|-image.jpg //条目1附件
|-entryn.html
...|-index.html
...|-image.jpg
实体:条目
名称
标题(消歧义)
内容(exRTF)
附件(dic[key,mime]=blob)
分类(NullableRef)
最后编辑时间(DB/allFT)
实体:分类
名称(唯一)
简介(exRTF)
父类(NullableRRef)
定义:exRTF
创造一种类似wiki标记语言的轻量级富文本格式
语法参照UBB或直接裸写HTML
最终生成HTML达到wiki条目页面效果
细节:
引用附件
[att key]
链接
条目内链,照搬
[[xxx]]
外链,照搬固定
[http://xxxremark]
特定目标图标
[wiki-ref[name]]引用维基百科条目
目录,照搬自动提取到头部 先不做还不知道用不用得上
==xxx==
===xxx===
底部注释(上下跳转) 先不做还不知道用不用得上
[summary-0[xxx]http://]
维护
找被引用但出未撰写的条目以补充
数据库
<x>SQLCE
<!>不跨平台
<*>FSDB
文件夹实体
方案1
ini
<!>WINAPI不跨平台
<!>自行实现略不易
exRTF
方案2
打散属性到文件(kvp)?
<!>注意IO/WA
<*>架构扩展十分方便
<?>SQLite
略(貌似没什么问题,只是扩展略麻烦)
经过许多考虑,选择采用打散文件系统的形式存储已整理的资料
应用程序根目录
|-cwBaseLib.dll //共用功能类库 cw = Coder Wiki
|-cwGenerate.exe //主程序 - 完整生成
|-cwPreview.exe //预览程序 - 关联.wiki-entry 文件实现双击启动
|-cwMaintenance.exe //维护程序 - 代劳各重复活~
|-templates
...|-entry.template //这里存放模板吧
...|-(略) //尽管还可能有更多东西, 用了打散就方便扩展~
|-categories
...|-category1
......|-name.kvp //键值对, 存储分类名称 可选-不存在时使用文件夹名称
......|-parent.kvp //同上, 存储父类名称, 可选 没有就当做root级分类
......|-summary.exrtf //同上, 存储简介, 使用前面说的exRTF格式
|-entries
...|-entry1
......|-entry.wiki-entry //空文件, 可以双击预览生成结果
......|-title.kvp //键值对, 存储标题, 可选-不存在时使用文件夹名称
......|-body-content.exrtf //主体内容, 使用前面说的exRTF格式
......|-attament.lst //附件列表, 使用类INI格式 key=mime
......|-key.attachment //附件, 可以是任意文件供主体内容引用
......|-type.kvp //同上, 存储所属分类名称
......|-xxx.kvp //还可以轻松地增加实体属性
...|-entry2
......|-同上结构
|-output //输出文件夹, 见上面预定义的结构
...|-index.html
...|-entry1
......|-...
|-output.7z //生成内容的打包 方便部署到服务器
内容解析/HTML生成器作成一个类库
这货供主程序、预览程序以及维护程序调用
主程序(控制台):
双击弹出控制台显示进度, 生成内容到输出文件夹, 完成后自动打包
预览(也是一个控制台, 懒得拖控件!):
双击wiki-entry文件, 生成选定内容到输出文件夹, 直接打开浏览器呈现结果
当然, 还有各种完整性检查:
被引用的附件不存在
所属分类不存在
维护(还是一个控制台?加参数呗~)
数据完整性检查/修复
繁琐的重复活(如类名更改,批量转移,找出未撰写条目等等)
这堆文件夹结构难记?其实可以集成到右键菜单嘛!
向SVN/git学习,右键初始化wiki库
自动创建目录结构~~
元芳你怎么看?
blogger
Google Web Translator
热门日志
随机日志
最新日志
最新评论
- V君
@Quartz:(出现)... - Quartz
怎么不见人了呢... - V君
@Soar:DHCP 协议相... - V君
@Soar:当然是非... - Soar
@V君:谢谢 有空... - Soar
搞一个 1230v3+B85... - V君
@Soar:另外,也可... - V君
@Soar:iscsi服务端... - Soar
难怪这么卡,尤其... - Soar
clone了源码,提示...
分类
存档
- 2024年5月(1)
- 2023年7月(1)
- 2023年5月(1)
- 2022年11月(1)
- 2022年10月(1)
- 2022年9月(1)
- 2022年8月(1)
- 2022年7月(1)
- 2022年6月(1)
- 2022年5月(2)
- 2022年4月(1)
- 2022年3月(1)
- 2022年2月(1)
- 2022年1月(1)
- 2021年12月(1)
- 2021年11月(1)
- 2021年10月(1)
- 2021年9月(1)
- 2021年8月(1)
- 2021年7月(1)
- 2021年6月(1)
- 2021年5月(1)
- 2021年4月(1)
- 2021年3月(1)
- 2021年2月(1)
- 2021年1月(1)
- 2020年12月(1)
- 2020年11月(1)
- 2020年10月(2)
- 2020年9月(1)
- 2020年8月(1)
- 2020年7月(1)
- 2020年6月(1)
- 2020年5月(1)
- 2020年4月(2)
- 2020年3月(3)
- 2020年2月(1)
- 2020年1月(1)
- 2019年12月(1)
- 2019年11月(1)
- 2019年10月(1)
- 2019年9月(1)
- 2019年8月(2)
- 2019年7月(1)
- 2019年6月(1)
- 2019年5月(1)
- 2019年4月(1)
- 2019年3月(1)
- 2019年2月(1)
- 2019年1月(2)
- 2018年12月(2)
- 2018年11月(1)
- 2018年10月(3)
- 2018年9月(4)
- 2018年8月(6)
- 2018年7月(4)
- 2018年6月(1)
- 2018年5月(2)
- 2018年4月(2)
- 2018年3月(3)
- 2018年2月(1)
- 2018年1月(1)
- 2017年12月(1)
- 2017年10月(2)
- 2017年9月(1)
- 2017年8月(2)
- 2017年7月(1)
- 2017年6月(5)
- 2017年5月(2)
- 2017年4月(2)
- 2017年3月(3)
- 2017年2月(2)
- 2017年1月(2)
- 2016年12月(3)
- 2016年11月(2)
- 2016年10月(3)
- 2016年9月(4)
- 2016年8月(2)
- 2016年7月(4)
- 2016年6月(3)
- 2016年5月(1)
- 2016年4月(4)
- 2016年3月(3)
- 2016年2月(1)
- 2016年1月(5)
- 2015年12月(4)
- 2015年11月(5)
- 2015年10月(1)
- 2015年9月(6)
- 2015年8月(4)
- 2015年7月(1)
- 2015年6月(6)
- 2015年5月(3)
- 2015年4月(3)
- 2015年3月(2)
- 2015年2月(1)
- 2015年1月(3)
- 2014年12月(1)
- 2014年11月(1)
- 2014年10月(1)
- 2014年9月(3)
- 2014年8月(1)
- 2014年7月(1)
- 2014年6月(1)
- 2014年5月(3)
- 2014年4月(1)
- 2014年3月(1)
- 2014年2月(2)
- 2014年1月(1)
- 2013年12月(2)
- 2013年11月(2)
- 2013年10月(1)
- 2013年9月(3)
- 2013年8月(14)
- 2013年7月(7)
- 2013年4月(1)
- 2013年3月(4)
- 2013年2月(6)
- 2013年1月(6)
- 2012年12月(8)
- 2012年11月(6)