各类开源项目,不是同一个项目,内涵多种项目。 !!!一目十行---保证头疼!!!
2024-04-26 15:51:29 37KB
1
什么是ZooKeeper ? ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和Hbase的重要组件。它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、域名服务、分布式同步、组服务等。 ZooKeeper的目标就是封装好复杂易出错的关键服务,将简单易用的接口和性能高效、功能稳定的系统提供给用户。 Rabbit ZooKeeper Extensions 该项目使用了 Apache ZooKeeper .NET async Client 组件,除提供了基本的zk操作,还额外封装了常用的功能以便让.net开发者更好的使用zookeeper。 提供的功能 session过期重连 永久watcher 递归删除节点 递归创建节点 跨平台(支持.net core) 使用说明 创建连接 IZookeeperClient client = new ZookeeperClient(new ZookeeperClientOptions         {             ConnectionString = "172.18.20.132:2181",             BasePath = "/", //default value             ConnectionTimeout = TimeSpan.FromSeconds(10), //default value             SessionTimeout = TimeSpan.FromSeconds(20), //default value             OperatingTimeout = TimeSpan.FromSeconds(60), //default value             ReadOnly = false, //default value             SessionId = 0, //default value             SessionPasswd = null //default value         }); 创建节点 var data = Encoding.UTF8.GetBytes("2016"); //快速创建临时节点 await client.CreateEphemeralAsync("/year", data); await client.CreateEphemeralAsync("/year", data, ZooDefs.Ids.OPEN_ACL_UNSAFE); //快速创建永久节点 await client.CreatePersistentAsync("/year", data); await client.CreatePersistentAsync("/year", data, ZooDefs.Ids.OPEN_ACL_UNSAFE); //完整调用 await client.CreateAsync("/year", data, ZooDefs.Ids.OPEN_ACL_UNSAFE, CreateMode.PERSISTENT_SEQUENTIAL); //递归创建 await client.CreateRecursiveAsync("/microsoft/netcore/aspnet", data, CreateMode.PERSISTENT); 获取节点数据 IEnumerable data = await client.GetDataAsync("/year"); Encoding.UTF8.GetString(data.ToArray()); 获取子节点 IEnumerable children= await client.GetChildrenAsync("/microsoft"); 判断节点是否存在 bool exists = await client.ExistsAsync("/year"); 删除节点 await client.DeleteAsync("/year"); //递归删除 bool success = await client.DeleteRecursiveAsync("/microsoft"); 更新数据 Stat stat = await client.SetDataAsync("/year", Encoding.UTF8.GetBytes("2017")); 订阅数据变化 await client.SubscribeDataChange("/year", (ct, args) => {     IEnumerable currentData = args.CurrentData;     string path = args.Path;     Watcher.Event.EventType eventType = args.Type;     return Task.CompletedTask; }); 订阅子节点变化 await client.SubscribeChildrenChange("/microsoft", (ct, args) => {     IEnumerable currentChildrens = args.CurrentChildrens;     string path = args.Path;     Watcher.Event.EventType eventType = args.Type;     return Task.CompletedTask; }); FAQ 什么时候会触发 "SubscribeDataChange" 事件 ? 在以下情况下会触发通过 "SubscribeDataChange" 方法订阅的事件: 节点被创建 节点被删除 节点数据发生改变 zk连接重连成功 什么时候会触发 "SubscribeChildrenChange" 事件 ? 在以下情况下会触发通过 "SubscribeChildrenChange" 方法订阅的事件: 节点被创建 节点被删除 节点子节点发生改变 zk连接重连成功 如何在 "xxxxChange" 事件中区分节点的状态 ? 在事件触发参数会有个类型为 "EventType" 的属性 "Type",通过该属性可以清楚的区分出节点变更的原因。 为什么要写这个程序,它与 "ZooKeeperEx" 有什么区别 ? 官方提供的组件,只提供了基本的api,在正常的zk使用情景中需要做非常复杂的事情,滋生出很多额外的代码并且不能保证其执行的正确性。 在java语言中也有对官方zk进行封装的包 ZKClient,当前组件也是参考了这个项目。具体组件包提供了什么功能请参考 "提供的功能" 这一节。   更新介绍,详见作者博客:http://www.cnblogs.com/ants/p/6209773.html    标签:.net
2024-04-24 09:19:55 29KB 开源项目
1
聊天机器人开源项目iChat。本开源框架用于快速部署聊天机器人。本项目运行于windows10平台,分为python开发的服务器端框架iChat和java开发的客户端ChatInterface两部分。
2024-04-23 11:23:04 212KB 应用工具
1
Wordman 沃德曼(Wordman)是一个移动端的背单词应用,下载。 特性 简约模式能够达到意想不到的成效,Less is More! 计划:不多不少,持之以恒 科学:艾宾浩斯记忆,渐进式增强 沃德曼 坚毅的你 = 词典人,HOHO~ 功能 内置多个常用词库 开始选定一个词库学习时设置每天学习的词数,后续就按照该词数进行该词库的学习/复习 学习每一个单词时拼写一遍,正确的话到下一个词 艾宾浩斯记忆:第 1 天、第 2 天、第 4 天、第 7 天和第 15 天提醒,拼写后到下一个词,过完这课后重复错词,直到没有错词才进入下一课复习 生词本:记不住的词随时回顾 截图 主界面 学习   生词本    实现  架构  概述   1.0.0:实现客户端应用 Wordman 以及服务端词库工具 Word,Wordman 自带词库包 2.0.0:实现服务端服务程序 Words,更新 Wordman 实现和 Words 的交互,可在线下载词库 客户端 客户端使用 Cordova 进行开发,通过 AngularJS 实现 SPA(Single-page Application)。 核心框架/库: PhoneGap/Cordova 3.4.0 jQuery 1.10.2 Async.js 0.8.0 AngularJS 1.2.16 服务端 Express Jade MongoDB 数据 单词表 word_${classId} phon:音标 pron:语音路径 para:释义 build:构词法 example:JSON 格式例句 应用端的单词表是通过下载词库包导入的,一个词库对应一张单词表,表名:词库 word_12,例如 word_12。 词库表 class size:单词总数 state:0: 未下载;1:已下载未安装;2:已安装 times:第几次学习该词库 selected:当前是否选定,0:未选定;1:选定 learned:完成学习(尚未完成所有复习轮)的单词数 finished:完成所有复习轮的单词数 学习计划表 learn_plan 在用户添加一个词库后会生成对这个词库的学习计划,默认每天 20 个词。 wordIds:今天需要学习的单词 id date:计划学习开始日期 done:实际学习结束日期 复习计划表 review_plan 在用户添加一个词库后会生成对这个词库的学习计划,默认每天 20 个词。 roundId:因为同一课需要复习 5 次(艾宾浩斯),这 5 次的复习计划属于同一轮,轮 id 一样 wordIds:今天需要复习的单词 id date:计划复习开始日期 done:实际复习结束日期 词库包 一个词库包是一个 SQL zip 文件,下载到应用端后导入到应用端本地库。目前已有的词库包: 初始化 用户安装 Wordman 后首次启动时进行初始化: 生成 UUID,用于标识该 Wordman 应用(2.0.0 后用于上报 Words) 将词库 SQL.zip 逐个导入 Web SQL 数据库 计划生成 当用户选定了一个要学习的词库后,使用默认的 20 个单词为一课/天生成学习计划(对于同一词库,一天只能学习一课,默认是 20 个单词) 选定:第一次选择词库时询问用户是否开始学习该词库,用户确定的话认为选定了该词库。 用户每天学习一个词库时使用一开始选定词库时设置的词数进行一课的学习,后续复习也是用这个词数 如果学习/复习进度有延误,比如计划是昨天应该学习/复习这课的,但实际上是今天才学习/复习,那么今天至少要学习两课(昨天延误的和今天的) 第一次学习某课结束后将用当天时间生成该课的复习计划( 1、2、4、7、15 天) 第 3、4 两点表达的是一个策略:当天的时间如果大于等于计划的就开展学习或复习。这样设计主要是要“逼迫”用户把学习/复习任务按照制定的计划进行。 开发 安装 Cordova:npm -g install [email protected] 安装目标平台(例如 Android),在 wordman 目录下执行:cordova platform add android --verbose 安装 SQLite 插件,在 wordman 目录下执行:cordova plugin add https://github.com/brodysoft/Cordova-SQLitePlugin 构建时不要使用 NetBeans IDE 的构建,而要使用 cordova build 注意 JSZip/JSZipUtils 不支持中文,所以词库 zip 包名使用数字,里面的 SQL 脚本统一命名为 class.sql Wordman 1.0.0 使用 Web SQL 作为数据库,存在兼容性以及数据量问题,后续需要考虑使用 SQLite 插件1.1.3 版本已经使用 SQLite 插件实现     标签:背单词
2024-04-16 20:33:01 2.74MB 开源项目
1
OpenNMT 是一个由 Harvard NLP (哈佛大学自然语言处理研究组) 开源的 Torch 神经网络机器翻译系统。OpenNMT 系统设计简单易用,易于扩展,同时保持效率和最先进的翻译精确度。特性:简单的通用接口,只需要源/目标文件。快速高性能GPU训练和内存优化。提高翻译性能的最新的研究成果。可配对多种语言的预训练模型(即将推出)。允许其他序列生成任务的拓展,如汇总和图文生成。快速开始:OpenNMT 包含三个命令1) 数据预处理th preprocess.lua -train_src data/src-train.txt -train_tgt data/tgt-train.txt -valid_src data/src-val.txt -valid_tgt data/tgt-val.txt -save_data data/demo2) 模型训练th train.lua -data data/demo-train.t7 -save_model model3) 语句翻译th translate.lua -model model_final.t7 -src data/src-test.txt -output pred.txt 标签:OpenNMT
2024-04-12 14:25:16 4.64MB 开源项目
1
WinObjC 是 Windows 开源的 Winodws 到 iOS 的“桥梁”。Windows Bridge for iOS (WinObjC) 为 Visual Studio/Windows 提供一个 Objective-C 开发环境。此外,WinObjC 提供对 iOS API 兼容的支持。目录结构:bin/ : Various prebuilt toolsbuild/ : Projects/solutions to build the SDKdeps/ : Open source dependenciesprebuilt/ : Prebuilt binaries for various architecturesFrameworks/ : Implementation of iOS-style Frameworksinclude/ : SDK headers (including headers for iOS-style Frameworks)Platform/ : Headers for Windows Objective-C bindings for various OS versionsmsvc/ : Visual Studio integration filessamples/ : Assorted samplestools/ : Source code to tools 标签:WinObjC
2024-03-11 04:53:58 36.93MB 开源项目
1
基于OSGi的企业级快速开发平台——JXADF 1、基于OSGi、J2EE 2、插件集市(http://osgi.jxtech.net)中有丰富的插件。 3、前端代码(界面、CSS、JS、图片等)、后端代码(JAVA业务逻辑、SQL脚本【只需要提供一种数据库脚本,在安装时会根据数据库类型自动转换】)全部打包在一个Bundle(JAR)中,分发、测试、积累、部署都十分方便。 4、支持热部署、多数据库、多皮肤、国际化。 5、支持多种工流引擎,包括:健新科技自己研发的工作流引擎、Activiti、Oracle BPM,可根据需要集成自己的工作流引擎。 6、桌面端、移动端自己适应,开发一次,即可支持多种终端。 7、学习成本低、效率高。 8、有丰富的文档,参见:(http://osgi.jxtech.net) 9、演示地址:http://demo.jxtech.net 用户名:admin 密码:123456 这是目前国内唯一个基于OSGi提供插件集市的企业级快速开发平台。 标签:JXADF  J2EE框架
2024-03-04 00:04:24 84.04MB 开源项目
1
Mole 是纯python实现的一个极其轻量级的wsgi web框架。适合于喜欢DIY的人士,自己组装或者搭配web各个模块 (如:前端模板引擎,后端数据ORM,后端基础架子等等),代码参考了开源项目Bottle,Mole虽小但“五脏俱全”, 本身不依赖于任何第三方模块。可以极其快捷和轻便地搭建一个demo Web系统。如果自己扩充功能模块再搭配其他 服务器后端(Nginx、Apache或uv-web)可以实现高性能应用。 特性 轻量级,web基础东西都具备 代码模块结构清晰,方便扩展或改造 部署方便,只需将包放入能import的地方 支持搭配各种前端模板引擎(如jinja2) 使用 from mole import route, run @route('/') def index(): return 'Hello Mole!' if name == "__main__": run(host='localhost', port=8080) 部署在uv-web运行的方法 if name == "__main__": run(server='uvweb',host='0.0.0.0', port=8033) 案例 PyRedisAdmin,一个用于在线查看和管理Redis数据的web应用 计划 下一步将加入Websocket支持和方便的扩展接口 加入一个扩展框架模块SpeedReport 用于快捷的数据查询和报表构建 标签:Mole
2024-01-14 09:49:40 43KB 开源项目
1
mk.js是一个使用HTML5 canvas和JavaScript创建的简单格斗游戏。该游戏是开源的,源码托管在Github上。 演示:http://mk.mgechev.com/ mk.js共有三种游戏模式: 基本模式:只能操纵一个角色 多人模式:允许两个玩家在一台电脑上对战 网络模式:允许两个玩家在网络上对战 对于网络模式,需要先安装服务器: git clone git@github.com:mgechev/mk.js cd mk.js/server npm install node server.js 然后访问http://localhost:55555开始游戏。 介绍内容来自 iteye
2023-12-20 16:23:54 1.76MB 开源项目
1
这是一个windows phone 手机平台的开源软件,展示全世界15个国家的一些特色菜谱,所有代码已经全部开放并托管到GitHub上面了,学习windows phone 手机开发的同学可以下载来看看。 标签:世界菜谱大全
2023-12-01 09:43:32 26KB 开源项目
1