CodeSnippet.info 开源说明 和 环境搭建 (第一版)
Github开源声明
本网站的代码开源,开源的目的如下
- 技术分享
- 希望业内同行贡献代码
- 希望能够让网站更加安全
开源地址:
CodeSnippet开源地址
关于代码贡献
任何人都可以贡献代码,一般在 1-3个工作日内会确认合并
代码请进行测试后提交。
现在需要如下的代码贡献
- 移动端自适应和响应式 (前端高手)
- 检索结果的处理 (ElsaticSearch高手)
- MarkDown的分析 (MarkDown和正则表达式高手)
- 好的意见和建议 (每一个人的力量)
(初版,所以可能会有错误信息,如果开发环境有任何问题,请在评论里告诉我,我会随时修改本文)
开发环境的搭建
- ElasticSearch 2.2.1
使用NEST操作ElasticSearch进行全文检索
(使用默认的9200端口 全文检索和标签识别用 IK中文识别包)
如何检验IK安装结果是否正确:
启动ElasticSearch,然后在浏览器中访问链接
http://localhost:9200/_analyze?analyzer=ik&pretty=true&text=我是中国人
返回结果如下:我是中国人 的分词结果:
{
"tokens" : [ {
"token" : "我",
"start_offset" : 0,
"end_offset" : 1,
"type" : "CN_CHAR",
"position" : 0
}, {
"token" : "中国人",
"start_offset" : 2,
"end_offset" : 5,
"type" : "CN_WORD",
"position" : 1
}, {
"token" : "中国",
"start_offset" : 2,
"end_offset" : 4,
"type" : "CN_WORD",
"position" : 2
}, {
"token" : "国人",
"start_offset" : 3,
"end_offset" : 5,
"type" : "CN_WORD",
"position" : 3
} ]
}
2.MongoDB 3.2.4
使用默认的28030端口。具体配置任意。
MongoDB应用总结(C#)
3.IDE
由于使用了C#6的语法,ASP.NET MVC5框架,VisualStudio2015是推荐的IDE。
项目结构
- BlogDataSimulator 测试数据的模拟做成工具
- BlogSystem 博客业务逻辑
- CodeSnippet WebSite代码
- Infrastructure.* 各种功能库
关于web.config
DEBUGMODE true 的时候,网站调试模式开启。
Image:
- Mongo:使用MongoDB保存图片
- FileSystem : 使用文件系统图片
- QiNiu : 使用七牛保存图片
Github OAuth :Github 第三方验证用数据(敏感数据,测试时候不需要)
QQ OAuth :QQ 第三方验证用数据(敏感数据,测试时候不需要)
QiNiu Storage :七牛用数据(敏感数据,测试时候不需要)
Search Method:全文检索方式
- MongoTextSearch MongoDB 内置功能(不支持中文)
- ElasticSearch
源代码中,没有Web.config文件,而是WebConfig.dummy文件。请注意修改文件名称。
<?xml version="1.0" encoding="utf-8"?>
<!--
For more information on how to configure your ASP.NET application, please visit
http://go.microsoft.com/fwlink/?LinkId=301880
-->
<configuration>
<appSettings>
<add key="webpages:Version" value="3.0.0.0" />
<add key="webpages:Enabled" value="false" />
<add key="ClientValidationEnabled" value="true" />
<add key="UnobtrusiveJavaScriptEnabled" value="true" />
<add key="URLBASE" value="http://codesnippet.info" />
<add key="DEBUGMODE" value="true" />
<!--<add key="DEBUGMODE" value="false" />-->
<!-- Image-->
<!--<add key="Image" value="Mongo" />-->
<add key="Image" value="FileSystem" />
<!--<add key="Image" value="QiNiu" />-->
<!-- Thumbnail -->
<!--<add key="Thumbnail" value="Mongo" />-->
<add key="Thumbnail" value="FileSystem" />
<!--<add key="Thumbnail" value="QiNiu" />-->
<!-- Github OAuth -->
<add key="GITHUB:ClientSecret" value="123456" />
<add key="GITHUB:ClientID" value="123456" />
<add key="GITHUB:AppName" value="codesnippet" />
<!-- QQ OAuth-->
<add key="QQ:AppID" value="123456" />
<add key="QQ:AppKey" value="123456"/>
<add key="QQ:CallBack" value="http://www.codesnippet.info/Home/QQOAuth"/>
<add key="QQ:AuthorizeURL" value="https://graph.qq.com/oauth2.0/authorize" />
<!-- QiNiu Storage -->
<add key="QINIU:AK" value="123456" />
<add key="QINIU:SK" value="123456" />
<add key="QINIU:BUCKET" value="gridfilesystem" />
<add key="QINIU:URLBASE" value="123456" />
<!-- Search Method -->
<!--<add key="SearchMethod" value="MongoTextSearch" />-->
<add key="SearchMethod" value="ElasticSearch" />
</appSettings>
</configuration>
第一次启动 和 数据模拟器
请确保MongoDB服务和ElasticSearch服务已经启动。
整个系统是完成空的,为了有个直观的影响,请先做一些模拟数据。
这里的模拟数据采集于博客园(www.cnblogs.com)
BlogDataSimulator 项目的Sample文件夹中保存着这些数据
Article.txt
the article title is :"margin塌陷现象"div盒子嵌套盒子外边距合并现象 - goweb - 博客园
the article title is :"拍牌神器"是怎样炼成的(二)--- 键鼠模拟之AutoIt - 鼻涕鱼 - 博客园
the article title is :"拍牌神器"是怎样炼成的(三)---注册全局热键 - 鼻涕鱼 - 博客园
the article title is :"拍牌神器"是怎样炼成的(一)--- 键鼠模拟之WinAPI - 鼻涕鱼 - 博客园
the article title is :#001 博客园的 MarkDown 代码样式如何设置 - 那年、仲夏 - 博客园
the article title is :#001 如何组织JS代码 - 那年、仲夏 - 博客园
the article title is :#Linux学习笔记# 自定义shell终端提示符 - lienhua34 - 博客园
the article title is :#VSTS 日志# TFS 2015 Update 1 发布 – Git和TFVC代码库可以混合使用了 - 北京的201个蓝天 - 博客园
the article title is :#VSTS定制#全新的模版定制能力 - 北京的201个蓝天 - 博客园
the article title is :#VSTS日志# TFS 2015 Update 2 RC2新功能 - 北京的201个蓝天 - 博客园
the article title is :( 译、持续更新 ) JavaScript 上分小技巧(二) - 野兽' - 博客园
the article title is :( 译、持续更新 ) JavaScript 上分小技巧(三) - 野兽' - 博客园
the article title is :( 译、持续更新 ) JavaScript 上分小技巧(四) - 野兽' - 博客园
the article title is :( 译、持续更新 ) JavaScript 上分小技巧(一) - 野兽' - 博客园
the article title is :(9)分布式下的爬虫Scrapy应该如何做-关于ajax抓取的处理(一) - 爱吃猫的鱼 - 博客园
the article title is :(C/C++)基于SharpUI控件库的插件式框架开发--第三篇框架基础服务库 - w.xp - 博客园
the article title is :(Frontend Newbie)JavaScript基础之常见数据类型 - tbingooo - 博客园
the article title is :(Frontend Newbie)JavaScript基础之函数 - tbingooo - 博客园
the article title is :(Frontend Newbie)Web简史 - tbingooo - 博客园
the article title is :(Frontend Newbie)Web三要素(二) - tbingooo - 博客园
the article title is :(Frontend Newbie)Web三要素(三) - tbingooo - 博客园
运行模拟程序之前,请确保MongoDB和ElasticSearch处于运行状态。
根据需要选择模拟项目,一般是“全选”。
后面的几个路径,请根据个人的开发环境进行修改。
设定结束后,按下 初始化NEST 按钮(和ElasticSearch建立连接,一定要等到出现消息对话框才表示连接建立,大约 5-10秒)。
按下模拟数据按钮,开始模拟数据的做成(根据数据量不同,耗费时间不同,最大耗时为20分钟)
模拟程序将自动生成的用户
- 第一个设定为管理员
- 第二个设定为编辑
- 剩余的随机分配为作者,编辑,普通
(如果你使用DEBUGMODE启动网站,网站会出现模拟管理员登录,模拟编辑登陆,模拟普通用户登录,这三个按钮就对应了第一个,第二个,第三个用户)
每个用户一个文集,所有文章在一个文集里面。所有的文章,被随机为首页,私有,审核状态也进行了各种随机处理。
BUG的提交
本项目使用 https://www.bugclose.com/ 进行BUG的内部管理。
如果你发现BUG,可以在Github项目中提交Issue
CodeSnippet.info 开源说明 和 环境搭建 (第一版)的更多相关文章
- PaaS平台– Google App Engine的开源实现AppScale环境搭建
搭建好开发环境介绍: 硬件平台:HP Z800 工作站 内存:24GB 硬盘:1TB 虚拟化环境:XenServer 6.2.0 VM1:Ubuntu 12.04 amd64 server ...
- Webgis开源解决方案之环境搭建(三)
前两篇文章介绍了开源GIS服务器Geoserver的安装以及开源数据库Postgres的安装,这篇文章介绍开源前端udig软件的安装,使用在后续篇幅中介绍 开源前端目前主流的是QGIS或者udig,网 ...
- WebGIS开源解决方案之环境搭建(二)
续上篇,本文主要介绍开源GIS数据库产品postgres的安装, 从postgis官网下载安装文件,下载地址http://postgis.net 本文一postgresql-9.4.4-3-windo ...
- WebGIS开源解决方案之开发环境搭建(一)
工欲善其事,必先利其器,本文主要讲述WebGIS开源解决方案之环境搭建--geoserver的安装 安装方式一:tomcat环境下安装 从tomcat官网下载tomcat环境,下载链接:http:// ...
- Kotlin——最详细的环境搭建
众所周知,Kotlin出来已经有一段时间了.Kotlin有着众多优势,不管是用于Android开发中,还是Java开发,都能缩减很大的代码量,大大提高了工作效率.而小生本人也是才从忙碌的个工作中抽身出 ...
- Kotlin——初级篇(一):最详细的环境搭建
众所周知,Kotlin出来已经良久了.Kotlin有着众多优势,不管是用于Android开发中,还是Java开发,都能缩减很大的代码量,大大提高了工作效率.而小生本人也是才从忙碌的个工作中抽身出来,有 ...
- 使用github上的开源框架SlidingMenu环境的搭建,以及getSupportActionBar方法不能找到的问题
http://blog.csdn.net/lovexieyuan520/article/details/9814273 使用github上的开源框架SlidingMenu环境的搭建,以及getSupp ...
- 【Slickflow学习】.NET开源工作流环境搭建(三)
第一次自己写博客文章,大家多多指教.写博客主要记录一下学习的过程,给初学者提供下参考,也留给自己做备忘. Slickflow .NET开源工作流-环境搭建 在VS2010中使用附加进程的方式调试IIS ...
- Eclipse + CDT + YAGARTO + J-Link,STM32开源开发环境搭建与调试
Eclipse+CDT+YAGARTO+J-Li:开源开发环境搭建与调试:作者:Chongqing:邮箱:ycq.no1@163.com:文档版本:V1.0:发布日期:2014-08-04:前言:此文 ...
随机推荐
- MySQL主键设计
[TOC] 在项目过程中遇到一个看似极为基础的问题,但是在深入思考后还是引出了不少问题,觉得有必要把这一学习过程进行记录. MySQL主键设计原则 MySQL主键应当是对用户没有意义的. MySQL主 ...
- Spring Trasnaction管理(3)- 事务嵌套
问题导读 Spring 如何管理嵌套的事务 Spring事务传播机制 Nested 和 RequireNew 有何区别 事务传播机制 事务的传播机制应该都比较熟悉 在日常开发中会遇到需要事务嵌套的情况 ...
- Java-继承,多态练习0922-06
编写一个Shape类,具有属性:周长和面积: 定义其子类三角形和矩形,分别具有求周长的方法. 定义主类E,在其main方法中创建三角形和矩形类的对象, 并赋给Shape类的对象a.b,使用对象a.b来 ...
- 第2讲 Redis常用命令与高级应用
目录 一.redis数据类型 5. sorted sets类型和操作 二.Redis常用命令 1.键值相关命令 2.服务器相关命令 三. redis高级应用 1. 给redis服务器设置密码 2.持久 ...
- Atitit 图像处理 公共模块 矩阵扫描器
Atitit 图像处理 公共模块 矩阵扫描器 1.1. 调用说明对矩阵像素遍历处理调用1 2. 矩阵扫描器主题结构1 2.1. 主要说明 从像素点开始填充矩阵1 2.2. 得到模板中心点所对应的图像坐 ...
- Struts2学习笔记 - HelloWorld总结
相信网上已经有很多关于struts2的HelloWorld可参考,我这里就不重复了,没个学struts2的人都会做过很多个HelloWorld,而我这里就总结一下一个简单的HelloWorld 我在一 ...
- MongoDB修改器总结
1"$set":用来制定一个字段值,若不存在,则创建: 一般用于点加一个字段 db.users.update({name:"joe"},{" ...
- 行集函数:OpenRowSet 和 OpenQuery
在SQL Server中,行集函数是不确定性的,这意味着,每次调用,返回值不总是相同的.返回值是不确定的,这意味着,对于相同的输入值,不保证每次返回的值都是相同的.对行集函数的每次调用,行集函数都是单 ...
- 大型.NET商业软件代码保护技术 技术与实践相结合保护辛苦创造的劳动成果
列举工作以来遇到的各种类型的软件所采用的代码保护技术,只讲原理不涉及技术细节实现,以避免产生法律问题.有些朋友说直接把代码放在Github开源下载,开源可以促进技术交流与进步,然而值钱的代码都积压在硬 ...
- OpenCascade Modeling Algorithms Fillets and Chamfers
Modeling Algorithms Fillets and Chamfers 造型算法——倒圆与倒角 eryar@163.com 一.倒圆Fillet Constructor 1. BRepFil ...