zoukankan      html  css  js  c++  java
  • CodeSnippet.info 开源说明 和 环境搭建 (第一版)

    Github开源声明

    本网站的代码开源,开源的目的如下

    • 技术分享
    • 希望业内同行贡献代码
    • 希望能够让网站更加安全

    开源地址:
    CodeSnippet开源地址

    关于代码贡献

    任何人都可以贡献代码,一般在 1-3个工作日内会确认合并
    代码请进行测试后提交。
    现在需要如下的代码贡献

    • 移动端自适应和响应式 (前端高手)
    • 检索结果的处理 (ElsaticSearch高手)
    • MarkDown的分析 (MarkDown和正则表达式高手)
    • 好的意见和建议 (每一个人的力量)

    (初版,所以可能会有错误信息,如果开发环境有任何问题,请在评论里告诉我,我会随时修改本文)

    开发环境的搭建

    1. 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

  • 相关阅读:
    人员考勤,MySQL数据库一个表自动生成3表筛选人员迟到早退缺勤
    Thinkphp中js报错,Uncaught SyntaxError: Unexpected token }
    Invalid ON UPDATE clause for 'create_date' column
    mysql创建某个数据库中的某张表 只读用户
    iOS开发 iOS9横屏后状态栏隐藏处理
    iOS开发 个别页面是否支持页面旋转
    iOS开发 点击某处横屏竖屏切换
    iOS开发 QQ粘性动画效果
    iOS开发 贝塞尔曲线
    iOS开发 获取状态栏的点击事件
  • 原文地址:https://www.cnblogs.com/TextEditor/p/5465905.html
Copyright © 2011-2022 走看看